張偉東,董振興,朱 巖,安軍社
(1.中國科學(xué)院復(fù)雜航天系統(tǒng)電子信息技術(shù)重點(diǎn)實(shí)驗(yàn)室(中國科學(xué)院國家空間科學(xué)中心),北京 100190; 2.中國科學(xué)院大學(xué),北京 100190)
隨著國內(nèi)航天事業(yè)的高速發(fā)展,衛(wèi)星搭載的有效載荷種類和數(shù)量日益增多,對(duì)星上數(shù)據(jù)存儲(chǔ)管理提出了更高要求.星載固態(tài)存儲(chǔ)系統(tǒng)作為衛(wèi)星的數(shù)據(jù)中心,承載著有效載荷數(shù)據(jù)的存儲(chǔ)與發(fā)送[1].NAND FLASH因其存儲(chǔ)密度高、非易失等特點(diǎn)已成為當(dāng)前星上數(shù)據(jù)的主要存儲(chǔ)介質(zhì).
固態(tài)存儲(chǔ)系統(tǒng)一般由主機(jī)、閃存轉(zhuǎn)換層及FLASH芯片組成.閃存轉(zhuǎn)換層是位于主機(jī)和FLASH芯片間的中間軟件層,目前針對(duì)FTL的研究大多集中在商用FLASH存儲(chǔ)系統(tǒng)中,對(duì)于航天環(huán)境下固態(tài)存儲(chǔ)算法的研究成果較少.基于商用FLASH系統(tǒng)設(shè)計(jì)的FLT算法管理復(fù)雜、處理器性能要求高、接口速率存在瓶頸,不適用于航天任務(wù)[2];傳統(tǒng)星載FTL算法[3-5]大多采用頁級(jí)地址映射方式和固定分區(qū)的文件管理模式,其優(yōu)點(diǎn)是實(shí)現(xiàn)簡單、可靠性高,但存在主機(jī)占用率高、系統(tǒng)響應(yīng)時(shí)間長以及沒有充分考慮FLASH芯片的磨損均衡等問題.因此,基于衛(wèi)星型號(hào)任務(wù)實(shí)際應(yīng)用,提出一種適用于星載固態(tài)存儲(chǔ)系統(tǒng)數(shù)據(jù)驅(qū)動(dòng)的自適應(yīng)超級(jí)塊FTL(Data-driven adaptive superblock FTL ,DASFTL)算法,以解決傳統(tǒng)星載存儲(chǔ)系統(tǒng)存在的主機(jī)占用率高、系統(tǒng)響應(yīng)時(shí)間慢以及FLASH芯片磨損不均衡等問題.
星載固態(tài)存儲(chǔ)系統(tǒng)采用NAND FLASH作為主存儲(chǔ)器介質(zhì),現(xiàn)場(chǎng)可編程邏輯陣列(Field Programmable Gate Array, FPGA)作為FLASH控制器,并配備中央處理器(Central Processing Unit, CPU)單元負(fù)責(zé)地址管理和系統(tǒng)維護(hù).一種典型星載固態(tài)存儲(chǔ)系統(tǒng)結(jié)構(gòu)見圖1.
圖1 典型星載固態(tài)存儲(chǔ)系統(tǒng)結(jié)構(gòu)框圖
衛(wèi)星有效載荷產(chǎn)生的數(shù)據(jù)首先進(jìn)入合路輸入模塊,數(shù)據(jù)按格式打包后送入存儲(chǔ)控制單元,同時(shí)存儲(chǔ)控制單元向主控CPU單元請(qǐng)求寫數(shù)據(jù)頁地址.FLASH控制模塊收到源包數(shù)據(jù)后,進(jìn)行RS編碼(Reed-solomon codes),并送入隨機(jī)存取存儲(chǔ)器(Random Access Memory, RAM)中進(jìn)行緩存.當(dāng)RAM緩存的數(shù)據(jù)達(dá)到FLASH一頁大小時(shí),將緩存數(shù)據(jù)寫入主控CPU單元預(yù)分配的頁地址.回放數(shù)據(jù)時(shí),主控CPU單元向存儲(chǔ)控制單元發(fā)送回放塊地址和回放指令,存儲(chǔ)控制單元在收到回放指令和地址后,將數(shù)據(jù)從存儲(chǔ)區(qū)讀出并解碼,最后將數(shù)據(jù)加載至復(fù)接輸出單元[6].
閃存轉(zhuǎn)換層作為中間軟件層位于主控CPU單元中,完成地址映射、垃圾回收和負(fù)載均衡等功能[7].地址映射將主控CPU單元中應(yīng)用的邏輯地址轉(zhuǎn)換為FLASH芯片中的物理地址.垃圾回收為當(dāng)收到數(shù)據(jù)寫入請(qǐng)求時(shí),F(xiàn)TL尋找一個(gè)空頁用于寫入數(shù)據(jù),若不存在空頁或空余頁余量不足,將會(huì)觸發(fā)垃圾回收并選擇一個(gè)完整的塊作為回收對(duì)象.垃圾回收通過擦除過時(shí)的數(shù)據(jù)塊來釋放存儲(chǔ)空間.負(fù)載均衡是在FLASH芯片的使用過程中,使其內(nèi)部塊的磨損程度盡可能均衡.
頁級(jí)FTL[8]、塊級(jí)FTL[9]和頁塊混合級(jí)FTL[10]是目前FTL設(shè)計(jì)中三種主要映射方案.頁級(jí)FTL以頁為單位將一個(gè)邏輯地址映射到一個(gè)物理地址,其優(yōu)點(diǎn)為轉(zhuǎn)換效率高,但存儲(chǔ)在RAM中的地址映射表較大.塊級(jí)FTL以塊為單位進(jìn)行邏輯地址到物理地址的映射,其基本思想是邏輯塊中的邏輯頁偏移量與物理塊中物理頁的偏移量相同.相比之下,塊級(jí)FTL的映射表要比頁級(jí)FTL映射表小得多,但塊級(jí)FTL的轉(zhuǎn)換效率較低.頁塊混合級(jí)FTL使用塊級(jí)映射技術(shù)來獲得相應(yīng)的物理塊地址,使用頁級(jí)映射技術(shù)來定位可用的物理頁,頁塊混合級(jí)FTL在較長時(shí)間的極限工況下表現(xiàn)出較好的地址轉(zhuǎn)換效率[11].
Jung等最先提出基于超級(jí)塊的閃存轉(zhuǎn)換層算法[12],其比塊級(jí)FTL算法更進(jìn)一步,它將多個(gè)連續(xù)的邏輯塊組合成一個(gè)超級(jí)塊.例如,超級(jí)塊的大小為4,那么邏輯塊編號(hào)為0,1,2,3的4個(gè)邏輯塊構(gòu)成了超級(jí)塊0.雖然超級(jí)塊閃存轉(zhuǎn)換層算法能在塊級(jí)FTL算法上進(jìn)一步減少RAM的占用空間,但其只是由幾個(gè)連續(xù)的邏輯塊組合而成,無法根據(jù)實(shí)際系統(tǒng)中數(shù)據(jù)的運(yùn)行特點(diǎn)進(jìn)行調(diào)整.因此,提出了一種數(shù)據(jù)驅(qū)動(dòng)的自適應(yīng)超級(jí)塊FTL算法(DASFTL),其地址映射機(jī)制見圖2.
圖2 DASFTL地址映射機(jī)制
超級(jí)塊映射表SMT和頁地址映射表PMT組成兩級(jí)映射,其中超級(jí)塊映射表SMT為一級(jí)映射,頁地址映射表為二級(jí)映射.超級(jí)塊映射表SMT由超級(jí)塊號(hào)SBN進(jìn)行索引,每個(gè)超級(jí)映射表項(xiàng)由邏輯塊號(hào)LBN、頁映射表PMT和邏輯塊權(quán)重WRecy組成.與Superblock FTL不同,在DASFTL中,超級(jí)塊不是由幾個(gè)連續(xù)的邏輯塊簡單組合而成,而是根據(jù)系統(tǒng)中數(shù)據(jù)運(yùn)行的特點(diǎn)動(dòng)態(tài)組合而成.每個(gè)超級(jí)塊中所擁有的邏輯塊數(shù)為K,K的取值范圍從0到存儲(chǔ)系統(tǒng)中所有有效物理塊的個(gè)數(shù).這K個(gè)邏輯塊可以是連續(xù)的邏輯塊也可以是不連續(xù)的,并且不同超級(jí)塊的K值可能不同.具體哪些邏輯塊組合成為一個(gè)超級(jí)塊由塊回收權(quán)重WRecy決定.在超級(jí)塊內(nèi)部采用頁級(jí)映射,超級(jí)塊中每一個(gè)映射表項(xiàng)都可以映射至其對(duì)應(yīng)的實(shí)際物理頁上.PMT被分為S個(gè)頁映射子表(PMST1、PMST2、…、PMSTs),由頁映射表索引PMTI進(jìn)行索引.頁映射表索引的內(nèi)容為物理頁碼,頁映射子表的內(nèi)容由物理頁碼PPN和頁熱度Hpage兩部分組成,其中S的值可由OOB區(qū)的大小和邏輯塊數(shù)計(jì)算得到.假設(shè)每個(gè)物理塊包含α個(gè)物理頁,每個(gè)OOB區(qū)可以存儲(chǔ)m(0 LBN=LPN÷α, (1) PMToffset=α×SBO+LPN%α. (2) 式中:LBN為邏輯塊號(hào),LPN為邏輯頁號(hào),α為每物理塊中的物理頁數(shù),SBO為超級(jí)塊偏移量,PMToffset為頁地址映射表偏移量. 每個(gè)FLASH塊中含有的物理頁數(shù)α是固定的,因此邏輯塊號(hào)可以由邏輯頁號(hào)LPN除以物理頁數(shù)計(jì)算得到.之后查找超級(jí)塊映射表可以得到其所在的超級(jí)塊號(hào)SBN和此超級(jí)塊偏移量SBO,利用式(1)~(2)就可以計(jì)算得到該邏輯頁號(hào)在所對(duì)應(yīng)的頁地址映射表偏移量PMToffset.根據(jù)得到的PMToffset查找頁地址映射表PMT就可以得到相應(yīng)的物理頁地址.在DASFTL算法中,每個(gè)頁映射子表PMST都將在FLASH寫操作過程中,寫入到最新分配的物理頁OOB區(qū).在邏輯地址轉(zhuǎn)換物理地址的過程中,可以通過讀取PMTI所指示物理頁的OOB區(qū)來直接獲得PMST.這種分級(jí)映射方式通過維護(hù)兩個(gè)短的映射鏈表來實(shí)現(xiàn)地址轉(zhuǎn)換,避免了維護(hù)一個(gè)很長的地址鏈表所造成的搜索時(shí)間長和RAM占用率高等缺點(diǎn),從而提高系統(tǒng)的響應(yīng)速度并減少主機(jī)的占用,適用于RAM空間有限和實(shí)時(shí)性強(qiáng)的嵌入式系統(tǒng). 星載固態(tài)存儲(chǔ)系統(tǒng)主要工作在連續(xù)讀/寫模式下.傳統(tǒng)星載存儲(chǔ)系統(tǒng)大都采用頁級(jí)FTL映射方案,其中每次讀/寫操作都需向主機(jī)請(qǐng)求地址,當(dāng)存儲(chǔ)系統(tǒng)連續(xù)寫入數(shù)據(jù)時(shí)會(huì)造成存儲(chǔ)系統(tǒng)大量占用主機(jī)資源,并且隨著讀寫請(qǐng)求的不斷累積系統(tǒng)響應(yīng)時(shí)間將會(huì)變長.為此,DASFTL算法將超級(jí)塊作為讀/寫操作的最小單位,當(dāng)存儲(chǔ)控制單元接收到數(shù)據(jù)并向主控CPU單元產(chǎn)生寫請(qǐng)求時(shí),主控CPU單元會(huì)一次性將塊回收權(quán)重WRecy最小的超級(jí)塊地址分配給存儲(chǔ)控制單元,若一次寫請(qǐng)求將整個(gè)超級(jí)塊地址都分配之后仍未完成則向主控CPU單元請(qǐng)求新的超級(jí)塊,若還有部分地址未分配則該超級(jí)塊的地址分配信息存儲(chǔ)在存儲(chǔ)控制單元中待下次寫請(qǐng)求繼續(xù)使用. 對(duì)給定超級(jí)塊的第一個(gè)寫請(qǐng)求是由該超級(jí)塊的第一個(gè)空閑邏輯塊來提供服務(wù).當(dāng)一個(gè)物理塊被選中分配給該邏輯塊之后,物理塊中的頁將按順序執(zhí)行寫操作.當(dāng)其中一個(gè)物理頁被分配之后,首先從該頁的OOB區(qū)讀出其相對(duì)應(yīng)的頁映射子表,將頁映射子表中的PPN更新為將寫入的新頁面的PPN.然后將新的PMST寫入到OOB區(qū)域、數(shù)據(jù)寫入到DATA區(qū)域.寫操作響應(yīng)Twr時(shí)間為 Twr=Twrask+Trdoob+Twrpg. (3) 式中:Twrask為發(fā)出寫請(qǐng)求到主機(jī)返回寫地址的系統(tǒng)響應(yīng)時(shí)間,Trdoob為讀取OOB中舊PMST的時(shí)間,Twrpg為寫入一頁數(shù)據(jù)和更新OOB區(qū)PMST的時(shí)間. 對(duì)于讀操作,主控CPU單元會(huì)給定起始邏輯頁LPN,然后LPN被翻譯成邏輯塊號(hào)LBN和超級(jí)塊偏移量SBO.通過LBN和SBO可以計(jì)算得到此邏輯頁所對(duì)應(yīng)的頁映射子表PMST及其所在的物理塊號(hào),之后讀取PMST可以得到其所對(duì)應(yīng)的物理頁碼.讀操作響應(yīng)時(shí)間Trd為 Trd=Trdask+Trdoob+Trdpg. (4) 式中:Trdask為發(fā)出讀請(qǐng)求到主機(jī)返回讀地址的系統(tǒng)響應(yīng)時(shí)間,Trdoob為讀取OOB中舊PMST的時(shí)間,Trdpg為讀取一頁數(shù)據(jù)的時(shí)間. 當(dāng)存儲(chǔ)系統(tǒng)沒有足夠的空閑塊來響應(yīng)寫請(qǐng)求時(shí),將會(huì)觸發(fā)垃圾回收.衛(wèi)星處于地面接收站的范圍內(nèi)時(shí),會(huì)將存儲(chǔ)系統(tǒng)內(nèi)的數(shù)據(jù)下傳至地面,隨后數(shù)據(jù)就會(huì)被標(biāo)記為“冷數(shù)據(jù)”.當(dāng)觸發(fā)垃圾回收機(jī)制時(shí)將優(yōu)先回收冷數(shù)據(jù)塊.星載存儲(chǔ)系統(tǒng)中,對(duì)于冷數(shù)據(jù)的回收只執(zhí)行擦除操作.傳統(tǒng)星載存儲(chǔ)系統(tǒng)大都基于固定分區(qū)的文件管理策略[5],分區(qū)內(nèi)部采用順序回收機(jī)制.由于不同分區(qū)的數(shù)據(jù)熱度和輸入速率不同,會(huì)導(dǎo)致某些物理塊的擦寫次數(shù)不斷攀升,直到該塊的擦寫次數(shù)到達(dá)上限變?yōu)闊o效塊.為此,DASFTL算法不采用分區(qū)的文件管理策略,而將所有文件進(jìn)行動(dòng)態(tài)管理,其中超級(jí)塊作為擦除的最小單位.在超級(jí)塊內(nèi)部,同一分區(qū)的邏輯地址是連續(xù)的但是其對(duì)應(yīng)的物理地址不一定是連續(xù)的. 在DASFTL中,為兼顧存儲(chǔ)系統(tǒng)的性能和使用壽命,引入數(shù)據(jù)頁熱度Hpage和物理塊擦除次數(shù)Nearse來作為目標(biāo)擦除塊的選擇因素.Hpage由式(5)計(jì)算得到.其中,f為一段時(shí)間內(nèi)回放次數(shù),fk+1-fk為第k次及第k+1次觸發(fā)垃圾回收時(shí)該頁的回放次數(shù).頁回放次數(shù)越多則該頁的熱度越大. (5) (6) (7) 在DASFTL算法中,塊回收權(quán)重WRecy將作為超級(jí)塊組成單位的度量單位.存儲(chǔ)系統(tǒng)初次使用時(shí),每個(gè)邏輯塊的初始?jí)K回收權(quán)重都為0.隨著存儲(chǔ)系統(tǒng)的運(yùn)行,超級(jí)塊映射表SMT會(huì)計(jì)算并保存每個(gè)邏輯塊的塊回收權(quán)重.塊回收權(quán)重WRecy相同的邏輯塊將被組合成為一個(gè)超級(jí)塊,即使這些邏輯塊所對(duì)應(yīng)的物理塊地址是離散的.圖3為DASFTL算法垃圾回收流程圖.當(dāng)超級(jí)塊映射表SMT中沒有足夠的空閑塊來響應(yīng)寫操作時(shí)將觸發(fā)垃圾回收.與響應(yīng)寫操作相同,主控CPU單元在響應(yīng)垃圾回收操作時(shí),將塊回收權(quán)重最大的整個(gè)超級(jí)塊下發(fā)給存儲(chǔ)控制單元.存儲(chǔ)控制單元會(huì)按照順序依次回收超級(jí)塊內(nèi)的邏輯塊.在完成一次回收之后超級(jí)塊映射表SMT將更新塊回收權(quán)重和新的映射索引. 圖3 DASFTL垃圾回收流程圖 為評(píng)估本文提出的DASFTL算法,設(shè)計(jì)并搭建了星載固態(tài)存儲(chǔ)系統(tǒng)硬件測(cè)試平臺(tái),見圖4. 圖4 星載固態(tài)存儲(chǔ)系統(tǒng)測(cè)試平臺(tái) 測(cè)試平臺(tái)選用龍芯1E作為主控CPU,龍芯1E是以WH1770為核心的高性能應(yīng)用處理器.軟件工作在內(nèi)嵌的VxWorks操作系統(tǒng)上,用于存儲(chǔ)系統(tǒng)的任務(wù)管理與調(diào)度、中斷與異常管理以及閃存轉(zhuǎn)換層算法.CPU內(nèi)存采用三片ISSI公司IS45S163型支持EDAC的SDRAM,容量為3 Gb.CPU程序存儲(chǔ)器選用復(fù)旦微電子生產(chǎn)的JFM29LV64型號(hào)NOR FLASH,容量為64 Mb.FPGA選用Microsemi公司M2GL150T FPGA芯片,完成大容量固態(tài)存儲(chǔ)管理、數(shù)據(jù)接收、復(fù)接及部分邏輯粘合功能.大容量固態(tài)存儲(chǔ)器采用兩片珠海歐比特公司VDNF64G08型NAND FLASH,單片容量64 Gb,總?cè)萘繛?28 Gb.FLASH芯片參數(shù)和內(nèi)部編程時(shí)間見表1. 基于測(cè)試平臺(tái),對(duì)DASFTL算法與傳統(tǒng)星載FTL算法在主機(jī)占用率、讀/寫響應(yīng)時(shí)間和FLASH塊擦除次數(shù)進(jìn)行測(cè)試.在主機(jī)占用率測(cè)試中,共進(jìn)行300 000次I/O請(qǐng)求,其中0~ 100 000次存儲(chǔ)系統(tǒng)只進(jìn)行寫數(shù)據(jù)操作;之后對(duì)存儲(chǔ)區(qū)數(shù)據(jù)進(jìn)行全擦除,將存儲(chǔ)系統(tǒng)設(shè)置在寫數(shù)據(jù)與讀數(shù)據(jù)同時(shí)工作模式下,進(jìn)行100 000次I/O請(qǐng)求實(shí)驗(yàn);最后重置存儲(chǔ)區(qū),工作模式設(shè)置為最大工況,存儲(chǔ)系統(tǒng)同時(shí)進(jìn)行寫、讀、擦操作.記錄每次I/O操作時(shí)主機(jī)占用率,為排除系統(tǒng)其它部分占用主機(jī)資源對(duì)實(shí)驗(yàn)造成干擾,屏蔽系統(tǒng)內(nèi)其他功能并以每25 000次I/O為一組計(jì)算主機(jī)占用率的平均值,實(shí)驗(yàn)結(jié)果見圖5. 表1 FLASH芯片參數(shù)及編程時(shí)間 圖5 傳統(tǒng)星載FTL算法與DASFTL算法主機(jī)占用率 Fig.5 Host occupancy rate of traditional spaceborne FTL and DASFTL algorithms 系統(tǒng)上電后,主控CPU單元會(huì)遍歷整個(gè)存儲(chǔ)區(qū)并建立索引表,此時(shí)兩者主機(jī)占用率都在80%左右.當(dāng)進(jìn)行寫操作時(shí),DASFTL主機(jī)占用率迅速下降并維持在31.2%左右,而傳統(tǒng)星載FTL算法維持在60.5%左右.當(dāng)同時(shí)進(jìn)行讀寫操作時(shí),DASFTL算法的主機(jī)占用率維持在39.7%左右,傳統(tǒng)星載FTL算法上升至75.0%左右.最大工況下,DASFTL算法占用率穩(wěn)定在44.8%左右,傳統(tǒng)星載FTL算法則上升至86.1%.綜上,采用超級(jí)塊地址映射機(jī)制的DASFTL算法相比于傳統(tǒng)星載FTL算法在主機(jī)占用率上平均降低51.7%. 分別獨(dú)立進(jìn)行100 000次讀、寫操作實(shí)驗(yàn),通過龍芯CPU記錄每次收到讀/寫請(qǐng)求至返回讀/寫地址的系統(tǒng)響應(yīng)時(shí)間(Twrask/Trdask),通過式(3)~(4),計(jì)算得每次讀、寫操作的響應(yīng)時(shí)間Trd和Twr.對(duì)Trd和Twr進(jìn)行累和求均值,測(cè)試結(jié)果見圖6. 傳統(tǒng)星載FTL算法讀/寫操作平均響應(yīng)時(shí)間分別為206 μs和408 μs,其中系統(tǒng)響應(yīng)時(shí)間Trdask為90 μs、Twrask為115 μs.DASFTL算法讀/寫操作平均響應(yīng)時(shí)間分別為159 μs和344 μs,其中系統(tǒng)響應(yīng)時(shí)間Trdask為43 μs、Twrask為51 μs,相比于傳統(tǒng)星載FTL算法讀/寫操作的系統(tǒng)響應(yīng)時(shí)間下降了46.1%. 模擬衛(wèi)星工作模式,設(shè)置三路輸入數(shù)據(jù)分別為文件1、文件2和文件3.文件1數(shù)據(jù)輸入速率為100 Mbps,文件2輸入速率為150 Mbps,文件3輸入速率為50 Mbps.實(shí)驗(yàn)剔除75塊初始無效塊,實(shí)際有效物理塊為32 693塊.設(shè)置實(shí)驗(yàn)運(yùn)行時(shí)間為當(dāng)存儲(chǔ)控制單元共執(zhí)行326 930次擦除操作時(shí)停止.實(shí)驗(yàn)結(jié)果見圖7. 圖6 傳統(tǒng)星載FTL算法與DASFTL算法讀/寫響應(yīng)時(shí)間 Fig.6 Read/Write response time of traditional spaceborne FTL and DASFTL algorithms 圖7 傳統(tǒng)星載FTL算法與DASFTL算法物理塊擦除次數(shù)分布 Fig.7 Distribution of physical block erasure times of traditional spaceborne FTL and DASFTL algorithms 基于固定分區(qū)的傳統(tǒng)星載FTL算法因各文件輸入速率的差異,造成不同物理塊的擦除次數(shù)呈現(xiàn)顯著差異,文件2分區(qū)的物理塊擦除次數(shù)高于文件1和文件3分區(qū).DASFTL算法的擦除塊選擇策略只與當(dāng)前塊的熱度和擦除次數(shù)相關(guān),相同實(shí)驗(yàn)條件下,DASFTL算法的各物理塊擦除次數(shù)相比于傳統(tǒng)星載FTL算法更加均衡,有效避免了部分物理塊過早磨損. 綜上,DASFTL算法相比于傳統(tǒng)星載FTL算法在主機(jī)占用率、系統(tǒng)響應(yīng)時(shí)間以及FLASH磨損均衡等方面均有明顯的性能提升.DASFTL算法的實(shí)際測(cè)試結(jié)果與預(yù)期結(jié)果吻合,證明了該算法的可行性和實(shí)用性. 針對(duì)傳統(tǒng)星載閃存轉(zhuǎn)換層算法存在的問題,提出了一種數(shù)據(jù)驅(qū)動(dòng)的自適應(yīng)超級(jí)塊FTL算法,采用了基于超級(jí)塊的地址映射策略,并引入動(dòng)態(tài)塊回收權(quán)重作為目標(biāo)回收塊選擇的標(biāo)準(zhǔn).實(shí)驗(yàn)結(jié)果表明,DASFTL算法相比于傳統(tǒng)星載FTL算法在主機(jī)資源占用率由81.4%下降至44.8%、系統(tǒng)讀/寫響應(yīng)時(shí)間由206 us/408 us提升至159 us/344 us,響應(yīng)時(shí)間提升46.1%.FLASH芯片磨損均衡性能方面DASFTL算法在長時(shí)間工作下,各物理塊擦除次數(shù)更加均衡,可有效避免部分物理塊的過早磨損,提升FLASH芯片的使用壽命.但DASFTL算法仍存在代碼實(shí)現(xiàn)復(fù)雜、后期維護(hù)困難等問題.2.2 讀寫地址管理
2.3 垃圾回收
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)平臺(tái)搭建
3.2 實(shí)驗(yàn)結(jié)果與分析
4 結(jié) 論