康 旺 張有光 金令旭 王名邦
(北京航空航天大學(xué) 電子信息工程學(xué)院,北京 100191)
因閃存(Flash memory)具有非易失性、高密度、高存儲(chǔ)速度、低功耗、防震等諸多優(yōu)良特性而備受人們青睞,隨著移動(dòng)通信的發(fā)展以及便攜式設(shè)備的普及,閃存的應(yīng)用也越來(lái)越廣泛,成為當(dāng)前市場(chǎng)上最主流的固態(tài)存儲(chǔ)器之一.閃存通常由若干閃存塊(block)組成,閃存塊由若干物理頁(yè)(page)組成,而物理頁(yè)又由若干基本的存儲(chǔ)胞元(cell)組成.閃存根據(jù)胞元內(nèi)部結(jié)構(gòu)的不同可分為“或非(NOR)”型和“與非(NAND)”型兩種,而根據(jù)胞元可存儲(chǔ)比特(bit)數(shù)目的不同又可以分為SLC(Single-Level Cell)型和MLC(Multi-Level Cell)型兩種,SLC型Flash的胞元狀態(tài)只有兩個(gè),只能存儲(chǔ)一個(gè)比特信息,而MLC型胞元狀態(tài)有多個(gè)(4~256或者更多),可以存儲(chǔ)多個(gè)比特信息[1].本文只討論 MLC NAND Flash.
NAND Flash以頁(yè)為單位進(jìn)行讀寫(xiě)操作,且在重寫(xiě)之前需對(duì)目標(biāo)區(qū)域進(jìn)行擦除,而以塊為單位進(jìn)行擦除,且擦除次數(shù)是有限的(SLC為10萬(wàn)次左右,MLC為1萬(wàn)次左右),因此,提高Flash的生命周期是當(dāng)前研究熱點(diǎn)之一,也是Flash大規(guī)模普及面臨最嚴(yán)重的挑戰(zhàn)之一.目前的研究方案有很多,涉及不同的層次,其中采用磨損均衡的方式以平衡各個(gè)塊的擦除次數(shù)主要是考慮設(shè)計(jì)一個(gè)良好的文件系統(tǒng),該方案易于操作也比較有效,但是其會(huì)帶來(lái)額外的數(shù)據(jù)擦除[2];而采用存儲(chǔ)編碼(storage coding)通過(guò)對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行編碼,以控制存儲(chǔ)狀態(tài)轉(zhuǎn)移,從而提高存儲(chǔ)單元的重寫(xiě)次數(shù),減小塊的擦除次數(shù),如 floating codes[3],buffer codes[4], multidimensional Flash codes[5], rank modulation[6]等,其同樣會(huì)帶來(lái)系統(tǒng)設(shè)計(jì)上的難度,目前難以應(yīng)用于實(shí)際系統(tǒng);另外……