分布式測試系統(tǒng)中數(shù)據(jù)存儲管理系統(tǒng)研究
3.1 存儲管理數(shù)據(jù)特征
在本分布式測試系統(tǒng)實驗時,所要存儲管理的沖擊波、水聲信號等數(shù)據(jù)的大小、存儲順序都一定,是其典型特征。因此存儲數(shù)據(jù)時可以按順序方式存儲,把每一類數(shù)據(jù)分別以一個文件的形式存儲,用文件名把沖擊波與水聲信號等進行區(qū)別,并且每一文件有其唯一的編號ID。采集參數(shù)信息(如時間、通道、頻率、點數(shù)、觸發(fā)延時信息等)作為每個文件的頭信息保存,事后數(shù)據(jù)分析處理時可先讀取文件存儲狀態(tài)(包括所有存儲文件的頭信息),然后可為事后分析處理數(shù)據(jù)提供便利。
3.2 文件系統(tǒng)的設(shè)計
文件系統(tǒng)的具體設(shè)計是根據(jù)系統(tǒng)資源環(huán)境和應(yīng)用需求而定的,因此在具體的應(yīng)用系統(tǒng)中文件系統(tǒng)會有不同的實現(xiàn)形式。
結(jié)合本課題的存儲器特征:NAND Flash(Samsung K9F1208)是以頁為單位存儲、以塊為單位擦除,寫入速度快(典型200μs)、擦除速度慢(典型2 ms)。存儲數(shù)據(jù)特征:文件大小是確定的,存儲過程是順序存儲,且存儲之后不會對數(shù)據(jù)進行再寫入和隨機讀取與修改。NAND Flash構(gòu)建一種基于塊設(shè)備存儲的文件系統(tǒng),適合對本課題多次重復(fù)性實驗數(shù)據(jù)進行有效存儲與管理?;趬K設(shè)備存儲的文件系統(tǒng)是磁盤存儲器常用的文件系統(tǒng),典型的是FAT文件系統(tǒng)。FAT文件系統(tǒng)技術(shù)成熟、結(jié)構(gòu)簡單、系統(tǒng)資源開銷小,結(jié)合本系統(tǒng)使用的NAND Flash特性,易于在本系統(tǒng)硬件平臺(Atmel ATmega162單片機與Xilinx XC2C256-7 CPLD為核心控制)上實現(xiàn)。
由于NAND Flash不同于一般的磁盤存儲器,在出廠時允許有一定數(shù)量的壞塊,需對通用FAT文件系統(tǒng)做相應(yīng)的修改,方可運用于本系統(tǒng)。在NAND Flash中建立無效塊表,在該表內(nèi)把所有塊的狀態(tài)標示出來(如可用0x00表示壞塊、0xff表示有效塊),這樣在之后的數(shù)據(jù)存儲過程中,可防止把數(shù)據(jù)寫到壞塊,提高數(shù)據(jù)存儲的可靠性。本文件系統(tǒng)由以下幾部分組成:系統(tǒng)記錄區(qū)、無效塊表、文件登記表區(qū)、數(shù)據(jù)區(qū)。
本系統(tǒng)所用的NAND Flash是K9F1208,生產(chǎn)廠商設(shè)定的存儲空間的第1區(qū)塊必定是有效塊。在設(shè)計時,將第1區(qū)塊作為存儲器的系統(tǒng)記錄區(qū),同時在此區(qū)塊中建立無效塊表、文件分配表、文件登記表。
?、傧到y(tǒng)記錄區(qū):存放最重要的文件系統(tǒng)信息,如Flash存儲器的類型、容量、版本信息等。
②無效塊表:標示所有塊的狀態(tài)。無效塊表存儲在第1區(qū)塊的第1頁到第8頁(共8頁,每頁512字節(jié),512×8=4 096,可把FLash所有塊狀態(tài)標示出來)。系統(tǒng)調(diào)試結(jié)果如圖4所示。
?、畚募怯洷恚捍鎯γ恳粋€文件的文件頭信息,存儲在無效塊表之后。K9F1208每頁有512字節(jié),每頁存儲一個文件的文件頭信息。現(xiàn)每一文件頭信息占30字節(jié)(其余系統(tǒng)可擴展使用),主要包括文件名、ID號、長度、以及該文件存儲在NAND Flash中的起始、結(jié)束塊號物理地址。文件登記表的建立為系統(tǒng)查看所有存儲數(shù)據(jù)提供便利,方便數(shù)據(jù)管理。根據(jù)文件登記表中文件存儲在NAND FLash的首尾物理塊地址信息,可隨機讀取少量文件數(shù)據(jù)分析,為系統(tǒng)因無線傳輸大量數(shù)據(jù)的瓶頸提供另一種解決方案。調(diào)試結(jié)果如圖5所示。
?、軘?shù)據(jù)區(qū)域:用于存放數(shù)據(jù),文件系統(tǒng)中,數(shù)據(jù)分配的最小單位是Flash存儲器的一個基本擦除單元,即一個物理區(qū)塊(16 KB)。
評論