關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于閃存的星載大容量存儲器的研究和實(shí)現(xiàn)

基于閃存的星載大容量存儲器的研究和實(shí)現(xiàn)

作者: 時(shí)間:2010-01-08 來源:網(wǎng)絡(luò) 收藏

1.2 無效塊的管理

本文引用地址:http://butianyuan.cn/article/202575.htm


三星芯片在使用過程中會出現(xiàn)無效塊。無效塊是指一個(gè)塊中存在一個(gè)或多個(gè)無效位,其可靠性不能得到保證,必須加以標(biāo)識和旁路(當(dāng)然無效塊不會影響到其它塊的有效性)4并進(jìn)行數(shù)據(jù)備份。為了對無效塊實(shí)現(xiàn)管理,可以建立一張無效塊到冗余區(qū)有效塊的映射表。映射表結(jié)構(gòu)如圖2所示。映射原理如下: 開始是一張初始無效塊映射表,這張表可以根據(jù)三星公司技術(shù)手冊給出的算法建立起來。按照圖示的映射數(shù)據(jù)結(jié)構(gòu)對整個(gè)存儲區(qū)進(jìn)行編號,并根據(jù)這個(gè)編號對映射表進(jìn)行排序。進(jìn)行寫操作時(shí),按照上述的映射結(jié)構(gòu)將寫地址與映射表進(jìn)行比較,比較到塊級即可。如果是無效塊,將待寫入的數(shù)據(jù)寫到被映射到的塊;如果不是,則直接寫入該塊。如果在寫某塊的某頁時(shí)出現(xiàn)編程錯(cuò)誤,則將該塊添加進(jìn)無效塊映射表(當(dāng)編程出錯(cuò)時(shí)就表明出錯(cuò)頁對應(yīng)的塊無效),同時(shí)從該出錯(cuò)頁開始,將該塊后面的頁數(shù)據(jù)都寫入到對應(yīng)的映射塊。這樣,在數(shù)據(jù)讀出時(shí),可將讀地址與映射表比較,并且需要比較到頁級以確定每一頁的確切存放位置。如果該頁編程正確,則直接讀出;如果錯(cuò)誤,則到被映射的塊的對應(yīng)頁讀數(shù)據(jù),并且該頁之后的頁也從被映射塊中讀數(shù)據(jù)。根據(jù)三星的技術(shù)資料,對無效塊進(jìn)行讀操作是允許的,即對于編程出錯(cuò)頁前面的那些編程正確的頁是可以正確讀出的,而對無效塊進(jìn)行編程和擦除的操作是不推薦的,因?yàn)橛袝r(shí)這些操作會使鄰近的塊也失效4。所以讀操作要查找到每一頁的對應(yīng)存放位置,而寫操作只要查找到塊就行。查找時(shí)采用二分查找算法。擦除完后,將擦除出錯(cuò)的塊也添加進(jìn)無效塊映射表。無效塊映射表需要不斷維護(hù)和更新。


構(gòu)成的系統(tǒng)實(shí)現(xiàn)方案2.1 系統(tǒng)的組成


該實(shí)現(xiàn)方案將上述關(guān)鍵問題的解決方法融合進(jìn)來,系統(tǒng)由存儲區(qū)模塊、接口模塊、數(shù)據(jù)緩沖模塊及主控模塊四部分組成,系統(tǒng)原理圖如圖3所示。


2.1.1 存儲區(qū)模塊


為了實(shí)現(xiàn)并行和流水技術(shù),整個(gè)存儲區(qū)模塊按如下方式構(gòu)成:由4片K9K1G08U0M型三星芯片組成一個(gè)子模塊,8個(gè)子模塊組成8級流水的大模塊,而這個(gè)大模塊即是整個(gè)存儲區(qū),其總?cè)萘繛椋常玻牵猓椋簟o效塊備份的冗余區(qū)可以設(shè)在每個(gè)子模塊內(nèi)部,即從子模塊的每塊芯片中預(yù)留出一部分空間。這種模塊化管理的方式既便于系統(tǒng)擴(kuò)展,又可以在不影響系統(tǒng)正常工作的情況下旁路已損壞的存儲塊。


2.1.2 接口模塊


系統(tǒng)與外部的接口有兩個(gè)。一是與CPU的接口,主要完成系統(tǒng)的初始化、外部命令和地址的輸入以及內(nèi)部狀態(tài)參數(shù)的輸出,同時(shí)CPU 還要對存儲區(qū)完成管理:無效塊的管理、地址的譯碼和映射等;二是與外部高速數(shù)據(jù)源的接口,主要完成外部高速數(shù)據(jù)的接收和發(fā)送。這里選用了1394高速總線作為數(shù)據(jù)源總線。


2.1.3 數(shù)據(jù)緩沖模塊


這一模塊包括數(shù)據(jù)輸入FIFO、數(shù)據(jù)輸出FIFO和一個(gè)作為數(shù)據(jù)備份的SRAM。由于閃存的寫入速度比較慢,如果沒有數(shù)據(jù)緩沖區(qū),外部的高速數(shù)據(jù)很有可能會丟失,而且數(shù)據(jù)回放時(shí)也需要一個(gè)緩沖區(qū)使內(nèi)外的數(shù)據(jù)率匹配。考慮到編程出錯(cuò)時(shí)需要重新加載數(shù)據(jù),按照流水線的工作方式,如果不進(jìn)行數(shù)據(jù)備份,可能會出現(xiàn)出錯(cuò)時(shí)的數(shù)據(jù)丟失,因此選用了一個(gè)SRAM進(jìn)行數(shù)據(jù)備份。當(dāng)將輸入FIFO的數(shù)據(jù)寫入FLASH時(shí),同時(shí)也將數(shù)據(jù)寫入到SRAM進(jìn)行備份;當(dāng)需要重新編程時(shí),再從SRAM中將相應(yīng)的備份數(shù)據(jù)重新寫入FLASH。


2.1.4 主控模塊


這一模塊完成整個(gè)系統(tǒng)的內(nèi)部控制,是核心控制機(jī)構(gòu),連接著存儲區(qū)、數(shù)據(jù)緩沖以及外部接口三個(gè)模塊,完成它們之間的數(shù)據(jù)、命令、地址、狀態(tài)的相互傳遞、轉(zhuǎn)換和處理。主控模塊又分為三個(gè)子模塊,即存儲區(qū)控制子模塊、存儲區(qū)數(shù)據(jù)子模塊和1394接口控制子模塊,分別由三片FPGA(現(xiàn)場可編程邏輯陣列)完成。



關(guān)鍵詞: 閃存 大容量 存儲器 星載

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉