- 相關(guān)推薦
基于閃存的星載大容量存儲器的研究和實(shí)現
摘要:就閃存應用于星載大容量存儲器時(shí)的寫(xiě)入速度慢、存在無(wú)效塊等關(guān)鍵問(wèn)題探討了可行性解決方案,并在方案討論的基礎上論述了一個(gè)基于閃存的大容量存儲器的演示樣機的實(shí)現。空間飛行器的數據記錄設備是衛星上的關(guān)鍵設備之一。自20世紀90年代初起,各航天大國開(kāi)始研制固態(tài)記錄器(Solid State Recorder,簡(jiǎn)稱(chēng)SSR)。由于SSR使用半導體存儲芯片作為存儲介質(zhì),所以其存儲密度高、無(wú)轉動(dòng)部件、可靠性高、體積小、重量輕,因而逐漸成為空間飛行器的數據記錄器的主流方案。閃速存儲器(簡(jiǎn)稱(chēng)閃存)作為一種新興的半導體存儲器件,以其獨有的特點(diǎn)得到了迅猛的發(fā)展,其主要特點(diǎn)有:(1)具有非易失性,掉電時(shí)數據不丟失,可靠性高;(2)功耗小,不加電的情況下可長(cháng)期保持數據信息;(3)壽命長(cháng),可以在在線(xiàn)工作情況下進(jìn)行寫(xiě)入和擦除,標準擦寫(xiě)次數可達十萬(wàn)次;(4)密度大、成本低,存儲單元由一個(gè)晶體管構成,具有很高的容量密度,且價(jià)格也在不斷降低;(5)適應惡劣的空間環(huán)境,具有抗震動(dòng)、抗沖擊、溫度適應范圍寬等特點(diǎn)。由于閃存的這些特點(diǎn),使它受到了航天領(lǐng)域研究人員的關(guān)注。20世紀90年代中期,Firechild公司就曾為F-16偵察星成功設計了SSR?2?,使用的主要存儲芯片就是閃存;國內的FY-2衛星也曾采用閃存作為該星的固態(tài)存儲器的存儲介質(zhì)。雖然有這些成功的應用案例,但是閃存也存在一些明顯的缺點(diǎn),如寫(xiě)入速度較慢、使用過(guò)程中會(huì )出現無(wú)效塊等。本文將探討如何解決和突破這些缺點(diǎn),并依此給出一個(gè)具體的系統實(shí)現方案。
1 閃存構成星載大容量存儲器的關(guān)鍵問(wèn)題
1.1 寫(xiě)入速度問(wèn)題
目前閃存有多種技術(shù)架構,其中以NOR技術(shù)和NAND技術(shù)為主流技術(shù)?3?。NOR型閃存是隨機存取的設備,適用于代碼存儲;NAND型閃存是線(xiàn)性存取的設備,適用于大容量數據存儲?4?。NAND型閃存有一定的工業(yè)標準,具有一些統一的特點(diǎn),現以三星公司的K9K1G08U0M型芯片為例進(jìn)行介紹。該芯片容量為1Gbit,由8192個(gè)塊組成,每塊又由32個(gè)頁(yè)組成,一頁(yè)有(512+16)×8bit,該片的8位I/O總線(xiàn)是命令、地址、數據復用的。讀寫(xiě)操作均以頁(yè)為單位,擦除操作則以塊為單位,寫(xiě)入每頁(yè)的典型時(shí)間為200μs?4?,平均每寫(xiě)一個(gè)字節約需400ns,即約20Mb/s。這樣的寫(xiě)入(編程)速度對于要求高速的應用場(chǎng)合來(lái)講是難以滿(mǎn)足的,因此必須采取一定的技術(shù)措施。
1.1.1 并行總線(xiàn)技術(shù)
并行總線(xiàn)技術(shù)亦稱(chēng)寬帶總線(xiàn)技術(shù),即通過(guò)拓寬數據總線(xiàn)的帶寬實(shí)現數據宏觀(guān)上的并行操作。比如,由四片K9K1G08U0M型閃存芯片組成一個(gè)32位寬的閃存子模塊,它們共用相同的控制信號,包括片選信號、讀寫(xiě)信號、芯片內部地址等。子模塊總是被看做一個(gè)整體而進(jìn)行相同的操作,只是數據加載的時(shí)候是不同的數據。這樣,數據量將是使用單獨一塊芯片時(shí)的4倍,所以理論上速度也將是非并行時(shí)的4倍。
1.1.2 流水線(xiàn)技術(shù)
借鑒現今高性能計算機中的流水線(xiàn)操作原理,可在時(shí)間片上實(shí)現微觀(guān)并行。針對閃存的寫(xiě)入速度慢的問(wèn)題,可以對其進(jìn)行流水處理。K9K1G08U0M型閃存的寫(xiě)入操作可分為三個(gè)步驟:(1)加載操作,即完成命令、地址和數據的載入工作;(2)自動(dòng)編程操作,即由閃存芯片自動(dòng)完成編程操作,將載入到頁(yè)寄存器的數據寫(xiě)到內部存儲單元的;(3)檢測操作,即在自動(dòng)編程結束后檢測寫(xiě)入的數據是否正確。如果不正確,需要重新編程;如果正確,繼續下一步的操作。寫(xiě)流水原理圖如圖1所示。由圖1可以看到,流水線(xiàn)運行起來(lái)后,在任一時(shí)間片上總有若干小操作在同時(shí)進(jìn)行,即在時(shí)間片上實(shí)現了復用,因此從整體上看速度將會(huì )提高。
1.2 無(wú)效塊的管理
三星閃存芯片在使用過(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ú)效塊映射表需要不斷維護和更新。
2 閃存構成星載大容量存儲器的系統實(shí)現方案
2.1 系統的組成
該實(shí)現方案將上述關(guān)鍵問(wèn)題的解決方法融合進(jìn)來(lái),系統由存儲區模塊、接口模塊、數據緩沖模塊及主控模塊四部分組成,系統原理圖如圖3所示。
【基于閃存的星載大容量存儲器的研究和實(shí)現】相關(guān)文章:
閃存存儲器的浮柵耦合電位研究03-07
閃存在大容量數據采集系統中的應用03-07
基于SIP協(xié)議的forking功能的研究和實(shí)現03-21
基于主機的3D網(wǎng)絡(luò )應用的研究和實(shí)現03-03
基于單片機和大容量存儲器組合的特定消諧式電動(dòng)車(chē)用變壓變頻系統03-20
基于ASP網(wǎng)絡(luò )銷(xiāo)售系統的實(shí)現與研究03-23