當(dāng)前位置:首頁 > 智能硬件 > 智能硬件
[導(dǎo)讀] 摘要:就閃存應(yīng)用于星載大容量存儲(chǔ)器時(shí)的寫入速度慢、存在無效塊等關(guān)鍵問題探討了可行性解決方案,并在方案討論的基礎(chǔ)上論述了一個(gè)基于閃存的大容量存儲(chǔ)器的演示樣機(jī)的實(shí)現(xiàn)。 無效塊空間飛行器的數(shù)據(jù)記錄設(shè)備是

   摘要:就閃存應(yīng)用于星載大容量存儲(chǔ)器時(shí)的寫入速度慢、存在無效塊等關(guān)鍵問題探討了可行性解決方案,并在方案討論的基礎(chǔ)上論述了一個(gè)基于閃存的大容量存儲(chǔ)器的演示樣機(jī)的實(shí)現(xiàn)。

  無效塊空間飛行器的數(shù)據(jù)記錄設(shè)備是衛(wèi)星上的關(guān)鍵設(shè)備之一。自20世紀(jì)90年代初起,各航天大國開始研制固態(tài)記錄器(Solid State Recorder,簡稱SSR)。由于SSR使用半導(dǎo)體存儲(chǔ)芯片作為存儲(chǔ)介質(zhì),所以其存儲(chǔ)密度高、無轉(zhuǎn)動(dòng)部件、可靠性高、體積小、重量輕,因而逐漸成為空間飛行器的數(shù)據(jù)記錄器的主流方案。閃速存儲(chǔ)器(簡稱閃存)作為一種新興的半導(dǎo)體存儲(chǔ)器件,以其獨(dú)有的特點(diǎn)得到了迅猛的發(fā)展,其主要特點(diǎn)有:(1)具有非易失性,掉電時(shí)數(shù)據(jù)不丟失,可靠性高;(2)功耗小,不加電的情況下可長期保持?jǐn)?shù)據(jù)信息;(3)壽命長,可以在在線工作情況下進(jìn)行寫入和擦除,標(biāo)準(zhǔn)擦寫次數(shù)可達(dá)十萬次;(4)密度大、成本低,存儲(chǔ)單元由一個(gè)晶體管構(gòu)成,具有很高的容量密度,且價(jià)格也在不斷降低;(5)適應(yīng)惡劣的空間環(huán)境,具有抗震動(dòng)、抗沖擊、溫度適應(yīng)范圍寬等特點(diǎn)。由于閃存的這些特點(diǎn),使它受到了航天領(lǐng)域研究人員的關(guān)注。20世紀(jì)90年代中期,Firechild公司就曾為F-16偵察星成功設(shè)計(jì)了SSR?2?,使用的主要存儲(chǔ)芯片就是閃存;國內(nèi)的FY-2衛(wèi)星也曾采用閃存作為該星的固態(tài)存儲(chǔ)器的存儲(chǔ)介質(zhì)。雖然有這些成功的應(yīng)用案例,但是閃存也存在一些明顯的缺點(diǎn),如寫入速度較慢、使用過程中會(huì)出現(xiàn)無效塊等。本文將探討如何解決和突破這些缺點(diǎn),并依此給出一個(gè)具體的系統(tǒng)實(shí)現(xiàn)方案。


1 閃存構(gòu)成星載大容量存儲(chǔ)器的關(guān)鍵問題


1.1 寫入速度問題


目前閃存有多種技術(shù)架構(gòu),其中以NOR技術(shù)和NAND技術(shù)為主流技術(shù)?3?。NOR型閃存是隨機(jī)存取的設(shè)備,適用于代碼存儲(chǔ);NAND型閃存是線性存取的設(shè)備,適用于大容量數(shù)據(jù)存儲(chǔ)?4?。NAND型閃存有一定的工業(yè)標(biāo)準(zhǔn),具有一些統(tǒng)一的特點(diǎn),現(xiàn)以三星公司的K9K1G08U0M型芯片為例進(jìn)行介紹。該芯片容量為1Gbit,由8192個(gè)塊組成,每塊又由32個(gè)頁組成,一頁有(512+16)×8bit,該片的8位I/O總線是命令、地址、數(shù)據(jù)復(fù)用的。讀寫操作均以頁為單位,擦除操作則以塊為單位,寫入每頁的典型時(shí)間為200μs?4?,平均每寫一個(gè)字節(jié)約需400ns,即約20Mb/s。這樣的寫入(編程)速度對于要求高速的應(yīng)用場合來講是難以滿足的,因此必須采取一定的技術(shù)措施。


1.1.1 并行總線技術(shù)


并行總線技術(shù)亦稱寬帶總線技術(shù),即通過拓寬數(shù)據(jù)總線的帶寬實(shí)現(xiàn)數(shù)據(jù)宏觀上的并行操作。比如,由四片K9K1G08U0M型閃存芯片組成一個(gè)32位寬的閃存子模塊,它們共用相同的控制信號(hào),包括片選信號(hào)、讀寫信號(hào)、芯片內(nèi)部地址等。子模塊總是被看做一個(gè)整體而進(jìn)行相同的操作,只是數(shù)據(jù)加載的時(shí)候是不同的數(shù)據(jù)。這樣,數(shù)據(jù)量將是使用單獨(dú)一塊芯片時(shí)的4倍,所以理論上速度也將是非并行時(shí)的4倍。


1.1.2 流水線技術(shù)


借鑒現(xiàn)今高性能計(jì)算機(jī)中的流水線操作原理,可在時(shí)間片上實(shí)現(xiàn)微觀并行。針對閃存的寫入速度慢的問題,可以對其進(jìn)行流水處理。K9K1G08U0M型閃存的寫入操作可分為三個(gè)步驟:(1)加載操作,即完成命令、地址和數(shù)據(jù)的載入工作;(2)自動(dòng)編程操作,即由閃存芯片自動(dòng)完成編程操作,將載入到頁寄存器的數(shù)據(jù)寫到內(nèi)部存儲(chǔ)單元的;(3)檢測操作,即在自動(dòng)編程結(jié)束后檢測寫入的數(shù)據(jù)是否正確。如果不正確,需要重新編程;如果正確,繼續(xù)下一步的操作。寫流水原理圖如圖1所示。由圖1可以看到,流水線運(yùn)行起來后,在任一時(shí)間片上總有若干小操作在同時(shí)進(jìn)行,即在時(shí)間片上實(shí)現(xiàn)了復(fù)用,因此從整體上看速度將會(huì)提高。


1.2 無效塊的管理


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


2 閃存構(gòu)成星載大容量存儲(chǔ)器的系統(tǒng)實(shí)現(xiàn)方案2.1 系統(tǒng)的組成


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


2.1.1 存儲(chǔ)區(qū)模塊


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


2.1.2 接口模塊


系統(tǒng)與外部的接口有兩個(gè)。一是與CPU的接口,主要完成系統(tǒng)的初始化、外部命令和地址的輸入以及內(nèi)部狀態(tài)參數(shù)的輸出,同時(shí)CPU 還要對存儲(chǔ)區(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ù)很有可能會(huì)丟失,而且數(shù)據(jù)回放時(shí)也需要一個(gè)緩沖區(qū)使內(nèi)外的數(shù)據(jù)率匹配??紤]到編程出錯(cuò)時(shí)需要重新加載數(shù)據(jù),按照流水線的工作方式,如果不進(jìn)行數(shù)據(jù)備份,可能會(huì)出現(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è)存儲(chǔ)器系統(tǒng)的內(nèi)部控制,是核心控制機(jī)構(gòu),連接著存儲(chǔ)區(qū)、數(shù)據(jù)緩沖以及外部接口三個(gè)模塊,完成它們之間的數(shù)據(jù)、命令、地址、狀態(tài)的相互傳遞、轉(zhuǎn)換和處理。主控模塊又分為三個(gè)子模塊,即存儲(chǔ)區(qū)控制子模塊、存儲(chǔ)區(qū)數(shù)據(jù)子模塊和1394接口控制子模塊,分別由三片FPGA(現(xiàn)場可編程邏輯陣列)完成。

3 系統(tǒng)的基本工作原理下面以閃存的寫(編程)操作為線索,闡述系統(tǒng)的基本工作原理。


3.1 寫操作的準(zhǔn)備和啟動(dòng)


1394高速總線上的串行數(shù)據(jù)通過一定的接口芯片變換成并行數(shù)據(jù)。當(dāng)大容量存儲(chǔ)器接收到外部1394高速總線上的數(shù)據(jù)存儲(chǔ)握手信號(hào)時(shí),1394接口控制子模塊利用握手信號(hào)產(chǎn)生一定的時(shí)鐘和控制信號(hào),控制高速數(shù)據(jù)緩存入32位的輸入FIFO。當(dāng)輸入FIFO的存儲(chǔ)量達(dá)到一次8級(jí)流水運(yùn)行的數(shù)據(jù)量時(shí),就向CPU發(fā)出中斷,申請寫操作啟動(dòng)。


3.2 寫流水操作的加載和自動(dòng)編程


存儲(chǔ)區(qū)的尋址采用內(nèi)存尋址方式,即為FLASH存儲(chǔ)區(qū)分配一段內(nèi)存空間,CPU象訪問內(nèi)存一樣對其進(jìn)行尋址,大小為2M,共21根地址線,其中高3位是子模塊選擇,選擇8級(jí)流水中的某一級(jí);低18位是子模塊的每塊芯片的頁(行)地址。對于芯片內(nèi)的列地址,由于向每一頁寫入數(shù)據(jù)時(shí),總是從頁的起始處開始寫,即列地址(頁內(nèi)編程起始地址)是固定的,因此可以直接由FPGA給出。當(dāng)CPU接收到寫操作啟動(dòng)的中斷申請時(shí),給出寫操作命令,并進(jìn)行地址譯碼。存儲(chǔ)區(qū)控制子模塊將CPU給出的命令和地址經(jīng)過一定的邏輯轉(zhuǎn)換成片選、命令、地址及控制信號(hào),依次對8級(jí)存儲(chǔ)子模塊進(jìn)行片選并完成各級(jí)命令和內(nèi)部地址的加載工作。然后再由存儲(chǔ)區(qū)控制子模塊產(chǎn)生一定的控制信號(hào),控制輸入FIFO啟動(dòng)對8級(jí)存儲(chǔ)子模塊的數(shù)據(jù)加載工作:首先對第一級(jí)進(jìn)行片選,數(shù)據(jù)流由輸入FIFO經(jīng)存儲(chǔ)區(qū)數(shù)據(jù)子模塊驅(qū)動(dòng)后輸入第一級(jí)存儲(chǔ)子模塊,經(jīng)過512個(gè)寫周期后(頁有效數(shù)據(jù)),完成對四片并行的FLASH芯片的頁加載,加載完成后由存儲(chǔ)區(qū)控制子模塊給出自動(dòng)編程的起始指令10H,第一級(jí)子模塊的四片芯片就開始將加載到頁寄存器的數(shù)據(jù)寫入到芯片內(nèi)部,進(jìn)行自動(dòng)編程工作。頁編程操作時(shí)序圖如圖4所示,這時(shí)它們的片選可以無效。然后使第二級(jí)片選信號(hào)有效,開始對第二級(jí)進(jìn)行數(shù)據(jù)加載。依次下去,完成8級(jí)存儲(chǔ)子模塊的數(shù)據(jù)加載。


3.3 檢驗(yàn)寫流水操作是否成功


第一級(jí)存儲(chǔ)子模塊在完成了數(shù)據(jù)加載后開始自動(dòng)編程,待到8級(jí)的數(shù)據(jù)加載都完成后,其自動(dòng)編程已接近尾聲。此時(shí)不斷檢測該級(jí)四片芯片的忙/閑端口,一旦它們都處于“閑”狀態(tài)時(shí),說明自動(dòng)編程都已經(jīng)結(jié)束。這時(shí)由存儲(chǔ)區(qū)控制子模塊的控制邏輯產(chǎn)生片選信號(hào),選通第一級(jí)存儲(chǔ)子模塊并發(fā)讀狀態(tài)命令70H,通過采樣四片芯片的I/O端口的“0”狀態(tài)來檢測編程是否成功,并將檢測結(jié)果鎖存進(jìn)FPGA內(nèi)部的寄存器;然后按同樣的方式對第二級(jí)存儲(chǔ)子模塊進(jìn)行檢測,依次下去,直到“記錄”下8級(jí)存儲(chǔ)子模塊的編程成功與否的狀態(tài)信息后,向CPU申請中斷并將這些狀態(tài)值返回給CPU。CPU則根據(jù)這些狀態(tài)值更新無效塊映射表,并將無效塊映射到冗余區(qū),對編程出錯(cuò)的存儲(chǔ)子模塊重新編程。重新編程與正常編程的工作原理是一致的? 只不過數(shù)據(jù)是由SRAM輸出給FLASH,且不能進(jìn)行流水操作。

4 采用并行及流水技術(shù)后速率的估算根據(jù)上述實(shí)現(xiàn)方案以及三星閃存芯片的時(shí)序和各項(xiàng)性能指標(biāo)參數(shù),可以對采用四片并行和8級(jí)流水技術(shù)后的寫速率做一個(gè)理論上的大致估算,整個(gè)流水操作完成所需的時(shí)間應(yīng)以最后一級(jí)流水完成的時(shí)間為準(zhǔn)。估算方法如下:令FLASH芯片中一頁的數(shù)據(jù)量為a? 并行操作的芯片數(shù)為b? 流水的總級(jí)數(shù)為c,命令、地址和數(shù)據(jù)的加載時(shí)間為d? 芯片自動(dòng)編程時(shí)間為e,檢測時(shí)間為f,需重新編程的級(jí)數(shù)為g,正常寫速率為S1,重新寫入時(shí)的寫速率為S2,則:


S1=(a×b×c)/(d×c e f)


S2=(a×b×c)/[(d×c e f) (d e f)×g]


采用并行和流水技術(shù)前后的寫速率比較如表1所示??梢钥闯觯捎迷摲桨负蟮乃俾瘦^采用前有了大幅度的提高。即使考慮到硬軟件的延遲及其它一些因素,這個(gè)速率的提升仍然是可觀的,說明這個(gè)設(shè)計(jì)方案是可行的。


表1 采用并行和流水技術(shù)前后的寫速率比較


 

(寫入)正常情況

重新寫入


編程典型時(shí)間200μs

編程最大時(shí)間500μs

編程典型時(shí)間200μs

編程最大時(shí)間500μs


采用前

18.11Mbps

7.78Mbps

9.05Mbps

3.89Mbps


采用后

320.80Mbps

184.98Mbps

206.48Mbps

106.15Mbps

  隨著空間技術(shù)的不斷進(jìn)步,要求空間飛行器上的大容量存儲(chǔ)器件朝著更大容量、更高速度、更低功耗、更小的重量和體積、更合理有效的存儲(chǔ)區(qū)管理以及更高可靠性的方向發(fā)展。從商業(yè)領(lǐng)域發(fā)展而來的閃存,存儲(chǔ)密度大、功耗小、可靠性高、體積小、重量輕且成本也在不斷降低。對于其寫入速度慢及存在無效塊等主要缺點(diǎn),可以通過其自身工藝技術(shù)的不斷發(fā)展及融合其它領(lǐng)域的思想和技術(shù),如本文所述的并行技術(shù)、流水線技術(shù)等得到解決,因而有著良好的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉