• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      存儲測試系統(tǒng)中FLASH的存儲可靠性技術(shù)研究

      2017-09-25 23:07:12高陽王代華王曉楠
      現(xiàn)代電子技術(shù) 2017年18期

      高陽+王代華+王曉楠

      摘 要: NAND FLASH存儲器具有非易失性、存儲容量大和讀寫速度快等優(yōu)點,在存儲測試領(lǐng)域的應(yīng)用越來越廣泛。由于NAND FLASH存儲器中不可避免會出現(xiàn)無效塊,傳統(tǒng)的管理方法是將無效塊映射表存放在FLASH存儲器中,可靠性低,對數(shù)據(jù)存儲速度和可靠性都會造成不利影響。針對這些問題,提出了基于外置存儲數(shù)據(jù)位的無效塊快速檢索架構(gòu),將無效塊映射表存放在可靠性高的鐵電存儲器中;引入計算機(jī)網(wǎng)絡(luò)中的滑動窗口原理,建立了基于滑動窗口的無效塊預(yù)匹配機(jī)制,在不影響FLASH存取速度的情況下可無時延地生成有效塊地址。經(jīng)分析和論證,這種架構(gòu)對NAND FLASH存儲數(shù)據(jù)的可靠性和存取速度有很大的提升,提高了存儲測試系統(tǒng)的整體性能。

      關(guān)鍵詞: NAND FLASH; 無效塊管理; 存儲測試; 鐵電存儲器

      中圖分類號: TN911?34; TM932 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)18?0131?04

      Research on stored reliability technology of FLASH in storage testing system

      GAO Yang, WANG Daihua, WANG Xiaonan

      (MOE Key Laboratory of Instrumentation Science and Dynamic Measurement, North University of China, Taiyuan 030051, China)

      Abstract: The NAND FLASH has versatile features such as nonvolatile, large storage capacity and fast read?write speed, and is widely used in the field of stored measurement, but the low reliability of the invalid block mapping table has a bad influence on storage speed and reliability because invalid blocks may ineluctably appear in NAND FLASH memory and the traditional invalid block management methods put the table in the FLASH memory. For these problems, invalid block information fast retrieval architecture based on external storage data bits is proposed, with which the invalid block mapping table can be put in high?reliability FRAM. The sliding window principle is imported into computer network to establish an invalid block pre?matching mechanism based on the sliding window, by which the effective block address can be generated without delay while FLASH storage access speed does not be affected. The analysis and argument results indicate this architecture can improve the reliability and access speed of NAND FLASH stored data greatly, and the overall performance of storage testing system.

      Keywords: NAND FLASH; invalid block management; storage testing; FRAM

      存儲測試特指在惡劣環(huán)境和緊湊空間下完成的高可靠性動態(tài)參數(shù)測試,用于實時、高速地采集和記錄被測對象的數(shù)據(jù)信息[1?3]。隨著采集數(shù)據(jù)精度的提高以及記錄時間的延長,需要存儲的數(shù)據(jù)量急劇增大。同時,存儲測試設(shè)備大多數(shù)情況下工作在極為惡劣的環(huán)境中,強(qiáng)烈的沖擊、持續(xù)的高溫以及設(shè)備碰撞時產(chǎn)生的高幅值的應(yīng)力波可能會引起設(shè)備內(nèi)部電路板的破壞、電子元件的變形等,這些現(xiàn)象都會造成數(shù)據(jù)存儲模塊功能的失效,導(dǎo)致數(shù)據(jù)不能正?;刈x[4]。NAND FLASH存儲器具有功耗低、無噪聲、重量輕、體積小、抗振動能力強(qiáng)、工作溫度范圍寬等優(yōu)點,廣泛地應(yīng)用在高性能的存儲測試系統(tǒng)中[5?6]。NAND FLASH存儲器記錄系統(tǒng),在溫度變化大、振動頻繁、寫入速率高、數(shù)據(jù)記錄量大、對體積、功耗、重量以及發(fā)熱量要求苛刻的惡劣環(huán)境中,測試系統(tǒng)仍然可以可靠工作。然而,由于生產(chǎn)工藝和降低生產(chǎn)成本的原因,NAND FLASH在出廠時就含有無效塊,并且無效塊的數(shù)量會隨著使用次數(shù)逐漸增加,由此引發(fā)數(shù)據(jù)丟失[7]。為了更好地使用NAND FLASH存儲器,本文針對存儲器內(nèi)部無效塊問題展開研究,設(shè)計了相應(yīng)的無效塊管理方案,實現(xiàn)了識別和管理無效塊,防止了數(shù)據(jù)的誤讀寫。同時將無效塊表存放在鐵電存儲器中,提高了系統(tǒng)的整體可靠性。

      1 NAND FLASH內(nèi)部組織結(jié)構(gòu)

      在研究如何使用NAND FLASH之前,首先要對NAND FLASH的結(jié)構(gòu)和特性進(jìn)行詳細(xì)了解。本文以三星公司生產(chǎn)的K9WBG08U0M SLC NAND FLASH芯片為例進(jìn)行分析,K9WBG08U0M的內(nèi)部存儲陣列組織如圖1所示。endprint

      NAND FLASH存儲器容量如下所示: [1 Page=4 KB+128 B1 Block=4 KB+128 B×64 Pages=256 KB+8 KB]

      [1 Devices=4 KB+128 B×64 Pages×8 192 Blocks =16 896 Mb]

      該芯片的總?cè)萘繛?6 896 Mb,共有8 192個塊(即213),塊間尋址需要13位地址線;每個塊有64頁(即26),頁間尋址需要6位地址線;每頁容量為(4 K+128)B(即212+27)。因此頁內(nèi)尋址需要13位地址線,其中128 B為擴(kuò)展存儲區(qū),用來存儲該頁的無效塊信息、ECC信息以及其他自定義信息。每片F(xiàn)LASH存儲器的有效容量為8 192 Block×64 Page/Block×4 KB/Page=2 048 MB,尋址需要32位地址線。

      2 NAND FLASH無效塊管理

      NAND FLASH存儲器由于目前制作工藝的缺陷和節(jié)約生產(chǎn)成本的需要,在出廠時都含有無效塊,并且無效塊的數(shù)量會逐漸增加。因此基于NAND FLASH建立存儲測試系統(tǒng)就需要制定相應(yīng)的無效塊管理方案,防止對無效塊進(jìn)行讀/寫操作。管理方案主要包括對無效塊的識別和管理[8?9]。

      2.1 無效塊識別

      NAND FLASH廠家會在每個塊的特定頁中存儲一個無效塊標(biāo)志位。不同廠家不同型號的無效塊標(biāo)志位的存儲位置可能不同。一般規(guī)定,當(dāng)標(biāo)志位為“FFh”時,表示此塊為正常塊,當(dāng)標(biāo)志位為非“FFh”時,表示此塊為無效塊。K9WBG08U0M的無效塊標(biāo)志放置在擴(kuò)展區(qū)第1塊的第1頁和第2頁中。

      無效塊識別的首要一步是無效塊掃描,無效塊掃描的本質(zhì)是讀取塊中的頭兩頁,判斷其標(biāo)志位是否是“FFh”,若是,則將其加入到無效塊列表中;若不是,則累加塊地址,直到讀出存儲器中所有塊是否有效的標(biāo)志位,從而建立該存儲器的無效塊列表。圖2為無效塊掃描流程圖。

      2.2 無效塊管理技術(shù)

      目前常用的無效塊管理方法有以下兩種:

      (1) 無效塊跳過法。該方法需要在運(yùn)行前先建立一個無效塊信息標(biāo)記表,運(yùn)行時將待操作塊地址與標(biāo)記表比對,如果當(dāng)前待操作是無效塊則跳過該塊,操作塊地址累加至下一塊,并繼續(xù)與標(biāo)記表比對;如果在使用過程中檢查出現(xiàn)無效塊,則將數(shù)據(jù)存儲在無效塊的相鄰有效塊里[10?11]。這種方法實現(xiàn)起來簡單,一般適用于順序存儲的情況,但不能實現(xiàn)無效塊的透明化管理。

      (2) 塊保留區(qū)替換法。該方法同樣要在進(jìn)行無效塊管理之前建立一個無效塊信息標(biāo)記表。這種方法將所有塊區(qū)分為數(shù)據(jù)塊區(qū)和保留塊區(qū);數(shù)據(jù)塊區(qū)用于正常的數(shù)據(jù)存儲,保留塊區(qū)作為數(shù)據(jù)塊區(qū)產(chǎn)生無效塊后的備份存儲區(qū)。當(dāng)NAND FLASH存儲器在使用過程中產(chǎn)生了無效塊就將該無效塊地址映射到保留塊區(qū)的有效塊地址上。保留塊區(qū)替換法中數(shù)據(jù)塊區(qū)和保留塊區(qū)的起始位置和數(shù)量必須明確給出。這種方法實際上是兩個區(qū)物理地址之間的替換,十分便于修改。以上兩種方法均需要建立一個邏輯地址和無效塊地址映射的信息標(biāo)記表,并存放在FLASH存儲器的有效塊中。由此可見,無效塊地址映射表是整個存儲器中無效存儲單元的“身份證”,映射表自身的穩(wěn)定性對整個測試系統(tǒng)的存儲安全性至關(guān)重要。然而,存放地址映射標(biāo)記表的有效塊經(jīng)過一定次數(shù)的擦寫操作后有可能變成無效塊,映射表存放的可靠性低[12]。并且隨著存儲器使用次數(shù)的增長,映射表會日益冗雜,導(dǎo)致檢索時間變長,因此不適合在高速數(shù)據(jù)采集系統(tǒng)中使用。

      2.2.1 無效塊快速匹配架構(gòu)

      為了保證對采集數(shù)據(jù)的存儲可靠性和無效塊的快速匹配,本系統(tǒng)擬采用如下架構(gòu):首先建立無效塊信息標(biāo)記表(無效塊表),無效塊對應(yīng)的標(biāo)志位用二進(jìn)制數(shù)“1”表示,有效塊用“0”表示。這樣很大程度上縮小了無效塊信息標(biāo)記表的占用空間。面對有相同存儲容量的NAND FLASH存儲器,如8 192個存儲塊,傳統(tǒng)的管理技術(shù)下建立的無效塊表大小為:12 b×8 192×2=12 KB;本系統(tǒng)的無效塊表大小為:1 b×8 192=1 KB。更為重要的是無效塊表不會隨無效塊數(shù)量的增加而增大,大大縮短了檢索時間。

      通過控制模塊將此表存放在FRAM(鐵電存儲器)中。FRAM作為一種非易失性存儲器,在繼承了傳統(tǒng)非易失性存儲器的優(yōu)點外,還具有成本低、讀寫速度快以及可以無限次讀寫的優(yōu)點,掉電后可以將數(shù)據(jù)有效保存10年以上[13],對無效塊信息表這類需可靠存儲的重要數(shù)據(jù)而言非常適用。本系統(tǒng)采用CYPRESS公司的16位高速并行存儲器FM22L16。無效塊掃描模塊對NAND FLASH中物理塊的掃描結(jié)果經(jīng)過識別后拼接成16位二進(jìn)制數(shù),隨后控制模塊將此數(shù)作為一次數(shù)據(jù)寫入FRAM中。設(shè)計結(jié)構(gòu)如圖3所示。

      FM22L16有18位地址線,為了縮短檢索時間,存儲結(jié)構(gòu)如圖4所示,NAND FLASH無效塊物理地址為17位,在高13位地址前補(bǔ)零,增至18位,作為鐵電存儲器的地址線;將低4位作為鐵電存儲器地址中16位數(shù)據(jù)位的索引位,在16位二進(jìn)制數(shù)據(jù)位中將該無效塊對應(yīng)的數(shù)據(jù)位置“1”,其余位清“0”。例如塊地址為“54B0H”~“54B7H”,共17位,地址為“54B3H”的塊為無效塊,對應(yīng)的二進(jìn)制數(shù)為“00101010010110011B”。將該塊地址的高13位前補(bǔ)零5位為“000000010101001011B”,作為FRAM的寫入地址;后4位“0011”對應(yīng)FRAM數(shù)據(jù)位“0~15”位中的“2”這一位。將該位置“1”,即FRAM在地址“000000010101001011B”下的8位無效塊信息數(shù)據(jù)為“0000000000000100B”。

      這種結(jié)構(gòu)中,由于FRAM和NAND FLASH對于FPGA是并行的,可以根據(jù)NAND FLASH的物理地址實時地匹配到FRAM中的地址和無效塊信息。相比直接在NAND FLASH中存放并索引無效塊表更方便和安全。endprint

      2.2.2 基于窗口的無效塊預(yù)匹配機(jī)制

      NAND FLASH在操作時的塊物理地址要根據(jù)無效塊表實時生成。如果將鐵電存儲器中的無效塊信息表一次性讀到FPGA中會大量占用內(nèi)部RAM。為了解決這一問題,本文引入計算機(jī)網(wǎng)絡(luò)中的滑動窗口機(jī)制。

      圖4 無效塊表數(shù)據(jù)位結(jié)構(gòu)

      計算機(jī)網(wǎng)絡(luò)中的滑動窗口協(xié)議表明,在任意時刻發(fā)送方都維持著一個連續(xù)的允許發(fā)送的窗口,當(dāng)發(fā)送方收到接收方回饋的確認(rèn)信息后,發(fā)送窗口向前滑動[14]。接收方可以根據(jù)自己對數(shù)據(jù)處理速度,通過反饋控制發(fā)送方的發(fā)送速度?;瑒哟翱谀軌蛴行岣邤?shù)據(jù)傳輸效率,防止擁塞的發(fā)生[15]。FRAM存儲器相比FLASH存儲器,讀寫速度非???,F(xiàn)LASH存儲器作為地址的接收方,可以無時差地接收有效的塊地址。本系統(tǒng)是基于滑動窗口機(jī)制的基本原理,結(jié)構(gòu)如圖5所示。

      圖5 滑動窗口預(yù)匹配結(jié)構(gòu)

      由圖5可知,首先在FRAM的無效塊信息表上創(chuàng)建一個16位的數(shù)據(jù)窗口,在系統(tǒng)初始化階段讀取無效塊信息中的首位數(shù)據(jù),若該位數(shù)據(jù)為“0”則表示該塊為有效塊,可以生成一個有效的偏移地址,在對NAND FLASH塊進(jìn)行操作時,控制器根據(jù)偏移地址和初始地址生成有效塊物理地址,控制存儲器進(jìn)行讀寫;若為“1”則表示該塊為無效塊,跳過此塊。預(yù)匹配模塊在收到NAND FLASH發(fā)出的忙狀態(tài)信號后,根據(jù)當(dāng)前的數(shù)據(jù)窗口生成下一個有效的地址,再和當(dāng)前物理地址計算出下一個有效塊的物理地址。FPGA綜合出的內(nèi)部邏輯電路可以讓預(yù)匹配模塊與FLASH的操作模塊并行工作。因此FLASH存儲器可以無時延地獲得有效塊物理地址。

      2.2.3 地址映射

      上述的結(jié)構(gòu)和機(jī)制表明,根據(jù)FRAM中的無效塊信息表,可以動態(tài)無延時地生成邏輯地址與物理地址的映射表。這種方法可以不在FPGA中存儲邏輯地址與物理地址映射表,不但可以節(jié)省存儲空間,而且消除了因加載和查詢映射表造成的延時,顯著提高了系統(tǒng)性能。圖6為無效塊表和無效塊的對應(yīng)關(guān)系。圖7為在本機(jī)制下邏輯地址與物理地址映射表的動態(tài)產(chǎn)生過程。地址發(fā)生器根據(jù)FRAM中的無效塊表信息和初始地址,動態(tài)地產(chǎn)生有效塊的物理地址,即動態(tài)地產(chǎn)生了邏輯塊地址和物理地址的替換映射。

      3 實驗結(jié)果與分析

      3.1 實驗條件

      為了驗證快速檢索和可靠存儲的正確性,搭建硬件試驗平臺對快速檢索架構(gòu)進(jìn)行測試。系統(tǒng)使用1片三星K9WBG08U0M,容量為2 GB,含8 192塊,每塊64頁,每頁4 KB+128 B。FRAM使用CYPRESS公司FM22L16鐵電存儲器,容量為4 Mb。FPGA采用Xilinx公司的SPARTAN?6 XC6SLX9芯片,各模塊采用VHDL硬件語言設(shè)計。

      3.2 實驗結(jié)果與分析

      在2.2.1節(jié)中提到的地址“54B3H”是實際掃描到的無效塊地址。圖8為無效塊掃描時序采樣圖。

      圖8中可以看出在掃描存儲器的塊地址“00000101010010110011B”(即54B3H)時,第一頁的無效塊標(biāo)記位為“11011111B”(即DFH),表明此塊為無效塊,此時無效塊標(biāo)記(invalid_num)置“1”,發(fā)送給FRAM中無效塊信息表的地址為“0000000010101001011B”,該地址中的數(shù)據(jù)位為“0000000000000100B”,即第3塊為無效塊。

      2.2.2節(jié)中無效塊預(yù)匹配機(jī)制仿真如圖9所示。

      由于NAND FLASH存儲器中不可能同時存在許多連續(xù)的無效塊,因此僅在仿真軟件中模擬給出連續(xù)的無效塊數(shù)據(jù)以驗證無效塊預(yù)匹配機(jī)制的可行性。預(yù)匹配地址為“000000010101001011B”(即54BH),無效塊信息表中的16位數(shù)據(jù)為“0010010000100100”,即第14,11,6,3塊為無效塊。從圖8中可以看出,在窗口中遇到值為“1”的數(shù)據(jù)位時,自動跳過該塊,同時無效塊提示信號block_signal跳變?yōu)椤?”。

      4 結(jié) 論

      NAND FLASH的性能發(fā)揮始終受到無效塊問題的限制。本系統(tǒng)用硬件方式實現(xiàn)了無效塊管理,設(shè)計了相應(yīng)的管理方案,實現(xiàn)了基于位索引的無效塊信息快速檢索結(jié)構(gòu),提出了基于外置存儲數(shù)據(jù)位的無效塊快速檢索架構(gòu),結(jié)合了安全性能更高的鐵電存儲器,保障了存儲測試中的數(shù)據(jù)存儲可靠性和讀/寫速度,提高了存儲測試系統(tǒng)工作在各種惡劣環(huán)境下的適應(yīng)性。

      注:本文通訊作者為王代華。

      參考文獻(xiàn)

      [1] 王代華,宋林麗,張志杰.基于ICP傳感器的存儲式?jīng)_擊波超壓測試系統(tǒng)[J].傳感技術(shù)學(xué)報,2012,25(4):478?482.

      [2] 安建軍,張志杰,王文廉.爆炸沖擊波現(xiàn)場存儲測試技術(shù)的研究[J].科技信息,2006(12):100.

      [3] 馬鐵華,祖靜.沖擊波超壓存儲測試技術(shù)研究[J].儀器儀表學(xué)報,2004,25(z1):134?135.

      [4] 徐鵬,范錦彪,祖靜.高g值沖擊下存儲測試電路模塊緩沖保護(hù)研究[J].實驗力學(xué),2005,20(4):610?614.

      [5] 舒文麗,吳云峰,趙啟義,等.NAND FLASH存儲的壞塊管理方法[J].電子器件,2011,34(5):580?583.

      [6] 楊博,李波.基于NAND FLASH的嵌入式系統(tǒng)啟動速度的研究[J].計算機(jī)測量與控制,2010,18(8):1869?1871.

      [7] 趙忠文,王魁.基于NAND FLASH的高速大容量固態(tài)記錄器設(shè)計[J].計算機(jī)工程與應(yīng)用,2009,45(專刊):323?326.

      [8] GAL Eran, TOLEDO Sivan. Algorithms and data structures for FLASH memories [J]. ACM computing surveys, 2005, 37(2): 138?163.

      [9] KIM J, KIM J M, NOH S H, et al A space efficient flash translation layer for compact flash systems [J]. IEEE transaction on consumer electronics, 2002, 48(2): 366?375.

      [10] 張勝勇,高世杰,吳志勇,等.基于FPGA的NAND FLASH壞塊處理方法[J].計算機(jī)工程,2010,36(6):239?240.

      [11] MYERS D. On the use of NAND FLASH memory in high?performance relational databases [D]. USA: MIT, 2007.

      [12] 徐永剛.基于NAND FLASH的嵌入式圖像記錄技術(shù)[D].北京:中國科學(xué)院,2013:46?48.

      [13] 王煉紅,章兢,全惠敏.FRAM在DSP開發(fā)系統(tǒng)中的應(yīng)用[J].微計算機(jī)信息,2006,22(17):159?161.

      [14] 黃遠(yuǎn)峰,宗平.基于UDP的滑動窗口協(xié)議的設(shè)計與實現(xiàn)[J].南京郵電大學(xué)學(xué)報(自然科學(xué)版),2007,27(4):80?84.

      [15] 王栩,李建中,王偉平.基于滑動窗口的數(shù)據(jù)流壓縮技術(shù)及連續(xù)查詢處理方法[J].計算機(jī)研究與發(fā)展,2004,41(10):1639?1644.

      额济纳旗| 松原市| 凌海市| 阜阳市| 周至县| 宜阳县| 兴仁县| 周至县| 天台县| 福泉市| 武川县| 卓尼县| 金门县| 湘西| 广昌县| 建始县| 安阳县| 英山县| 二连浩特市| 辽阳县| 射阳县| 牙克石市| 明水县| 公主岭市| 克什克腾旗| 石景山区| 泽普县| 凤冈县| 武宁县| 清苑县| 邛崃市| 武强县| 玉环县| 达州市| 长垣县| 墨竹工卡县| 星子县| 望谟县| 专栏| 海阳市| 深泽县|