主導(dǎo)閃存發(fā)展的關(guān)鍵技術(shù)
閃存幾乎無(wú)處不在,特別是在移動(dòng)設(shè)備中。閃存具有各種外形尺寸,隨著成本的不斷降低以及容量和工作壽命的不斷增加,閃存不斷地推動(dòng)著越來(lái)越多的平臺(tái)中硬盤驅(qū)動(dòng)器的發(fā)展。
NAND和NOR閃存主導(dǎo)著固態(tài)非易失性存儲(chǔ)器(NVM)市場(chǎng),但是這些閃存并不是唯一可用的技術(shù)。不會(huì)明確地暴露閃存的外形尺寸是使用非閃存技術(shù)來(lái)替代的可能目標(biāo)。比如,非閃存產(chǎn)品正在串行存儲(chǔ)領(lǐng)域中暫露頭角。
圖1:閃存具有各種外形尺寸,包括SecureDigital(a)、MicroSD(b)、Sony記憶棒(c)、緊湊型閃存(d)和mSATA(e)。它們一般都采用NAND閃存
非易失性固態(tài)存儲(chǔ)器
一方面是一次性可編程(OTP)存儲(chǔ)器?,F(xiàn)在,OTP存儲(chǔ)器一般用來(lái)保存安全密鑰或網(wǎng)絡(luò)ID。它是采用諸如熔絲、反熔絲和浮柵等各種技術(shù)實(shí)現(xiàn)的。這種存儲(chǔ)器還可以采用標(biāo)準(zhǔn)CMOS技術(shù)來(lái)實(shí)現(xiàn)。
帶動(dòng)NVM規(guī)模的是各種多次可編程(MTP)存儲(chǔ)器技術(shù),這類技術(shù)可以寫入上百次甚至上千次。MTP存儲(chǔ)器一般用來(lái)實(shí)現(xiàn)很少更改的啟動(dòng)代碼。與OTP一樣,MTP一般是采用CMOS技術(shù)實(shí)現(xiàn)的,這樣就可以用在數(shù)字邏輯中。
浮柵EEPROM已經(jīng)在數(shù)據(jù)存儲(chǔ)中得到普遍的應(yīng)用。由于具有寫入單字節(jié)的能力、良好的耐力和數(shù)據(jù)保持能力,浮柵EEPROM已經(jīng)相當(dāng)流行,但是閃存技術(shù)在密度上遠(yuǎn)勝于浮柵EEPROM。EEPROM仿真常常被視為某些閃存實(shí)現(xiàn)方案的一種功能,它可以隱藏閃存的塊擦除要求,以便能夠?qū)懭雴蝹€(gè)字節(jié)。
其他的非易失性技術(shù)正在不斷地提升閃存的優(yōu)勢(shì),包括磁阻RAM(MRAM)、鐵電RAM (FRAM)、相變存儲(chǔ)器(PCM)以及前途無(wú)量的NVM技術(shù)。與NAND和NOR閃存等其他NVM技術(shù)相比,這些技術(shù)都具有更高的總體性能,包括寫入速度、電壓要求、缺少頁(yè)面擦除周期、長(zhǎng)期耐用性、數(shù)據(jù)保持能力和可擴(kuò)展性。
這些技術(shù)開始是針對(duì)利基市場(chǎng),在這種市場(chǎng)中,成本高一點(diǎn)并沒有什么問題(至少在初期階段是這樣),其優(yōu)勢(shì)相當(dāng)明顯。它們甚至?xí)l(fā)SRAM與DRAM之間的激烈競(jìng)爭(zhēng)。
德州儀器(TI)公司的16位MSP430FR57xx系列以其高達(dá)16 kB的用于數(shù)據(jù)存儲(chǔ)和程序存儲(chǔ)的FRAM而著稱。該系列存儲(chǔ)器具有代表性地融合了SRAM、閃存和EEPROM存儲(chǔ)器。單個(gè)方案就可以降低庫(kù)存單位(SKU)數(shù),并簡(jiǎn)化開發(fā)人員的工作,使他們不再需要應(yīng)付程序存儲(chǔ)的RAM要求。
今后,這些可供選擇的NVM技術(shù)將在更多的設(shè)計(jì)中得到應(yīng)用。不過(guò)現(xiàn)在,閃存仍是主導(dǎo)的NVM技術(shù)。
閃存技術(shù)
閃存實(shí)現(xiàn)方案可以分成NAND和NOR方案,不同的供應(yīng)商提供的方案各有不同。他們一般采用浮柵晶體管。這兩種技術(shù)都表明了晶體管是如何連接和使用的,而不是將晶體管作為數(shù)字邏輯的一部分與FPGA或定制邏輯整合在一起。
NOR閃存晶體管接地和位線,這樣就可以訪問單個(gè)位。與NAND閃存相比,它具有更好的耐寫性能。NOR閃存一般用在有代碼和數(shù)據(jù)的應(yīng)用中。帶片上閃存的微控制器一般都會(huì)整合NOR閃存。
NAND閃存晶體管一般是成組連接至字線。這就可以實(shí)現(xiàn)比NOR閃存更高的密度。NAND閃存一般用于面向塊的數(shù)據(jù)存儲(chǔ)器。從晶體管的角度來(lái)看,NAND閃存不如NOR閃存可靠,因此NAND存儲(chǔ)平臺(tái)就需要使用錯(cuò)誤檢測(cè)和校正硬件或軟件。NAND閃存一般用于高容量數(shù)據(jù)存儲(chǔ)。
閃存使用擦寫周期。擦除本質(zhì)上是將閃存設(shè)置為1。寫入則是將位設(shè)置為0,只要現(xiàn)有的1被改為0,就可以寫入不同的數(shù)據(jù)。由于允許在沒有長(zhǎng)時(shí)間的耗電擦除周期的情況下執(zhí)行操作,因此閃存文件系統(tǒng)可以充分利用這種特性。NAND閃存一般工作在塊級(jí)別,而NOR可訪問更加精細(xì)的級(jí)別。
閃存從單級(jí)單元(SLC)數(shù)據(jù)編碼開始,每個(gè)存儲(chǔ)晶體管對(duì)1或0進(jìn)行編碼。多級(jí)單元(MLC)閃存一般是指每單元存儲(chǔ)2位(而不是1位)信息的能力。在晶體管級(jí),所有的信息都是模擬的,不過(guò)與構(gòu)建MLC閃存所需要的四級(jí)檢測(cè)電路相比,構(gòu)建一個(gè)兩級(jí)檢測(cè)電路更加簡(jiǎn)單。
同樣,對(duì)MLC單元進(jìn)行編程需要有產(chǎn)生四個(gè)不同級(jí)的能力。三級(jí)單元(TLC)閃存則更進(jìn)了一步,這種閃存將3位或八級(jí)裝入單個(gè)存儲(chǔ)單元中,比如美光(Micron)公司的3位34nm NAND閃存芯片。
MLC或TLC存儲(chǔ)器的明顯優(yōu)勢(shì)是密度更高。其通常會(huì)在性能上作出折衷,尤其是耐寫性能方面。
典型的SLC NAND閃存的可寫次數(shù)為10萬(wàn)次,而SLC NOR閃存的可寫次數(shù)為100萬(wàn)次。MLC閃存的可寫次數(shù)則僅為上述次數(shù)的10分之一,TLC閃存的可寫次數(shù)則更少。隨著技術(shù)的進(jìn)步,這些可寫次數(shù)在不斷地增加。SLC具有更好的耐寫性能,而MLC和TLC的成本效益將更高。
閃存系統(tǒng)的使用壽命取決于多重因素,包括其托管方式。如果一個(gè)區(qū)域出現(xiàn)耗損時(shí)(即出現(xiàn)寫入失敗,無(wú)法保存正確的信息的情況時(shí)),非托管型閃存就會(huì)出現(xiàn)問題。錯(cuò)誤檢測(cè)系統(tǒng)有助于確定何時(shí)出現(xiàn)這種情況,不過(guò)一旦出現(xiàn)這種情況,設(shè)備一般也毫無(wú)用處了。更糟糕的是,其失效可能會(huì)導(dǎo)致相當(dāng)多的問題。這也就是為什么帶有內(nèi)置閃存(無(wú)法跟蹤耗損情況)的微控制器等器件依賴于可寫次數(shù)較高的NOR閃存的原因。
有多種方法可以用來(lái)提高總系統(tǒng)壽命,比如耗損均衡。這種方法需要重新映射信息位置的能力。該方法對(duì)于面向塊的器件最有效,盡管它可以應(yīng)用到塊大小的單個(gè)字中。實(shí)現(xiàn)耗損均衡會(huì)引起開銷,因此塊尺寸較大的話,效率就會(huì)更高。
耗損均衡可將寫入操作分布在存儲(chǔ)設(shè)備中。系統(tǒng)的使用壽命可以視為系統(tǒng)的總寫入容量,而不是單個(gè)塊的最大值。耗損均衡需要跟蹤塊寫入使用情況以及記錄和利用該信息的能力。如果出現(xiàn)缺陷的話,塊的使用壽命往往會(huì)縮短至不到其建議的寫入壽命。
在這種情況下,如果存儲(chǔ)器被超額配置的話,則可以使用重新映射機(jī)制。額外的塊或扇區(qū)在硬盤驅(qū)動(dòng)器上很常見,對(duì)閃存可以采用同樣的方法。唯一的區(qū)別是,如果在規(guī)則的塊中檢測(cè)到不可校正的錯(cuò)誤,那么就會(huì)使用額外的塊。
使用耗損均衡之后,所有的塊往往就都是存儲(chǔ)池的一部分。如果系統(tǒng)是以軟件方式實(shí)現(xiàn)的,也可以根據(jù)系統(tǒng)所需的使用壽命來(lái)選擇邏輯設(shè)備尺寸。邏輯尺寸越小,出現(xiàn)的“額外”塊越多。
像FRAM、MRAM和PCM等其他一些技術(shù)不會(huì)出現(xiàn)與閃存一樣的耐寫能力問題。但是仍然可以使用諸如存儲(chǔ)器過(guò)度配置和重新映射等技術(shù),特別是在硬件缺陷等其他錯(cuò)誤可能比較常見的大型設(shè)備中。
閃存軟件和控制器
對(duì)閃存的受控訪問使軟件可以忽略從擦除要求到耐寫能力等一系列支持閃存的問題。在哪里以及以何種方式實(shí)現(xiàn)這種控制差別很大。
閃存文件系統(tǒng)是開發(fā)人員處理原始閃存的一種方法。這些系統(tǒng)是可訪問閃存芯片接口的設(shè)備驅(qū)動(dòng)器。明顯地,相對(duì)于操作系統(tǒng)和應(yīng)用而言,驅(qū)動(dòng)器處理所有的閃存常規(guī)工作,如錯(cuò)誤檢測(cè)、耗損均衡和壞塊重新映射。它可以將部分閃存用于內(nèi)部表,并負(fù)責(zé)說(shuō)明閃存擦除和寫入特性。
驅(qū)動(dòng)器可以提供一定的文件和目錄管理功能,或者只代表一個(gè)低級(jí)邏輯塊器件。這兩種方法有各自的優(yōu)勢(shì),需根據(jù)具體的應(yīng)用環(huán)境來(lái)選擇。
采用硬件方案時(shí),一般會(huì)提供塊級(jí)接口。由于軟件方案一般無(wú)法提供硬件加速,因此硬件方案還可以整合更具魯棒性的糾錯(cuò)和映射系統(tǒng)。早期階段出現(xiàn)過(guò)眾多閃存控制器公司,不過(guò)現(xiàn)在它們都已經(jīng)被致力于提供集成度更高的方案的閃存公司收購(gòu)了。
將閃存放在硬件控制器后面可以起很大的作用。比如,它可以簡(jiǎn)化設(shè)備接口、提供諸如降低功耗(包括各種休眠模式)等更加先進(jìn)的功能,并實(shí)現(xiàn)混合存儲(chǔ)系統(tǒng)。
混合系統(tǒng)可在同一封裝中整合不同類型的存儲(chǔ)器。這種方法可以通過(guò)在混合系統(tǒng)中增加RAM,從而使NAND閃存等塊設(shè)備能夠在比特級(jí)或文字級(jí)進(jìn)行訪問。三星(Samsung)的OneNAND將SRAM與其NAND閃存控制器整合在一起。該方案可使系統(tǒng)用作程序存儲(chǔ)器,并根據(jù)需要在SRAM中對(duì)塊設(shè)備進(jìn)行緩存。
此外,RAM的速度也比閃存快,特別是寫入速度方面。它也不受閃存耐寫能力限制的影
評(píng)論