<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

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

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

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

1.2 無(wú)效塊的管理

本文引用地址:http://dyxdggzs.com/article/202575.htm


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


構成的系統實(shí)現方案2.1 系統的組成


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


2.1.1 存儲區模塊


為了實(shí)現并行和流水技術(shù),整個(gè)存儲區模塊按如下方式構成:由4片K9K1G08U0M型三星芯片組成一個(gè)子模塊,8個(gè)子模塊組成8級流水的大模塊,而這個(gè)大模塊即是整個(gè)存儲區,其總容量為32Gbit。無(wú)效塊備份的冗余區可以設在每個(gè)子模塊內部,即從子模塊的每塊芯片中預留出一部分空間。這種模塊化管理的方式既便于系統擴展,又可以在不影響系統正常工作的情況下旁路已損壞的存儲塊。


2.1.2 接口模塊


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


2.1.3 數據緩沖模塊


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


2.1.4 主控模塊


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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>