小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

談NAND Flash的底層結(jié)構(gòu)和解析

 happy123god 2013-04-08

轉(zhuǎn)自: http://blog.sina.com.cn/s/blog_4b4b54da01016rx3.html

這里我想以一個(gè)純玩家的角度來談?wù)勱P(guān)于NAND Flash的底層結(jié)構(gòu)和解析,可能會(huì)有錯(cuò)誤的地方,如果有這方面專家強(qiáng)烈歡迎指正。


NAND Flash作為一種比較實(shí)用的固態(tài)硬盤存儲(chǔ)介質(zhì),有自己的一些物理特性,需要有基本的管理技術(shù)才能使用,對(duì)設(shè)計(jì)者來說,挑戰(zhàn)主要在下面幾點(diǎn):

1.需要先擦除才能寫入。
2.損耗機(jī)制,有耐久度限制。
3.讀寫時(shí)候造成的干擾會(huì)造成數(shù)據(jù)出錯(cuò)。
4.數(shù)據(jù)的保存期。
5.對(duì)初始和運(yùn)行時(shí)候的壞塊管理。

只有至少滿足這些基本的管理技術(shù),才能讓NAND Flash成為一款可以使用的固態(tài)存儲(chǔ)介質(zhì)。(這里還沒有談到任何關(guān)于性能的地方,因?yàn)槟鞘沁@些基本條件滿足后的事。)

當(dāng)滿足了上面的5點(diǎn)后,才該談到穩(wěn)定,性能,耐久度,影響這些的5大因素為:

1.SLC和MLC
2.平衡磨損算法
3.透過壞塊管理技術(shù)確保數(shù)據(jù)的完整性。
4.使用錯(cuò)誤檢測和校正技術(shù)
5.寫入放大


只有滿足了這些條件,才能得到一款理想中的完美的固態(tài)硬盤。



-----------------------------------------------------------------------


Flash全名叫做Flash Memory,屬于非易失性存儲(chǔ)設(shè)備(Non-volatile Memory Device),與此相對(duì)應(yīng)的是易失性存儲(chǔ)設(shè)備(Volatile Memory Device)。關(guān)于什么是非易失性/易失性,從名字中就可以看出,非易失性就是不容易丟失,數(shù)據(jù)存儲(chǔ)在這類設(shè)備中,即使斷電了,也不會(huì)丟失,這類設(shè)備,除了Flash,還有其他比較常見的如硬盤,ROM等,與此相對(duì)的,易失性就是斷電了,數(shù)據(jù)就丟失了,比如大家常用的內(nèi)存,不論是以前的SDRAM,DDR SDRAM,還是現(xiàn)在的DDR2,DDR3等,都是斷電后,數(shù)據(jù)就沒了。

Flash的內(nèi)部存儲(chǔ)是金屬-氧化層-半導(dǎo)體-場效晶體管(MOSFET),里面有個(gè)懸浮門(Floating Gate),是真正存儲(chǔ)數(shù)據(jù)的單元。

1.jpg 


數(shù)據(jù)在Flash內(nèi)存單元中是以電荷(electrical charge) 形式存儲(chǔ)的。存儲(chǔ)電荷的多少,取決于圖中的控制門(Control gate)所被施加的電壓,其控制了是向存儲(chǔ)單元中沖入電荷還是使其釋放電荷。而數(shù)據(jù)的表示,以所存儲(chǔ)的電荷的電壓是否超過一個(gè)特定的閾值Vth 來表示。

1.對(duì)于NAND Flash的寫入(編程),就是控制Control Gate去充電(對(duì)Control Gate加壓),使得懸浮門存儲(chǔ)的電荷夠多,超過閾值Vth,就表示0。

2.對(duì)于NAND Flash的擦除(Erase),就是對(duì)懸浮門放電,低于閥值Vth,就表示1。


NAND Flash的架構(gòu):

2.jpg 



如上圖所示,這是一個(gè)8Gb 50nm的SLC顆粒內(nèi)部架構(gòu)。

每個(gè)page有33,792個(gè)單元,每個(gè)單元代表1bit(SLC),所以每個(gè)page就是4096Byte + 128Byte(SA)。
每個(gè)Block有64個(gè)page組成,所以每個(gè)Block容量為262,114Byte + 8192Byte (SA)

page是NAND Flash上最小的讀/寫單位(一個(gè)page上的單元共享一根字符線Word line),塊是最小的擦除單位(。不同廠牌不同型號(hào)顆粒有不同的page和block大小。

下圖是個(gè)8Gb 50nm的SLC顆粒。

3.jpg 



4KB的頁尺寸,256KB的塊尺寸。圖中4096字節(jié)用于存儲(chǔ)數(shù)據(jù),另外128字節(jié)用來做管理和ECC用。


SLC 和 MLC 區(qū)別:

SLC主要針對(duì)軍工,企業(yè)級(jí)應(yīng)用,有著高速寫入,低出錯(cuò)率,長耐久度特性。
MLC主要針對(duì)消費(fèi)級(jí)應(yīng)用,有著2倍容量于SLC,低成本,適合USB閃盤,手機(jī),數(shù)碼相機(jī)等儲(chǔ)存卡。如今也被用于消費(fèi)級(jí)固態(tài)硬盤上。

4.jpg 



由上圖可以看到,MLC和SLC雖然使用相同的電壓值,但是電壓之間的閥值被分成了4份,直接影響了性能和穩(wěn)定性。主要有下面幾點(diǎn):

1.相鄰的存儲(chǔ)電荷的懸浮門間會(huì)互相干擾,造成懸浮門里的電荷不穩(wěn)定出現(xiàn)bit錯(cuò)誤,MLC由于閥值相比SLC更接近,造成出錯(cuò)幾率更大。
2.MLC讀寫性能降低,寫入更是降低50%以上,因?yàn)樾枰_認(rèn)充入電荷的量,這需要更精確的處理。SLC只有0和1,也就是有和沒有,而MLC會(huì)有00,01,10,11 4個(gè)狀態(tài),在充入電荷后還要去判斷是哪個(gè)狀態(tài),自然就慢了。
3.因?yàn)樯厦嬲f的,造成額外的讀寫壓力,所以功耗明顯增大。
4.因?yàn)轭~外的讀寫壓力,造成閃存的寫入耐久度和數(shù)據(jù)保存期受到影響。

eMLC和eSLC的耐久度提升是用犧牲了數(shù)據(jù)保存期和增加讀寫時(shí)間換來的。(也就是性能會(huì)更差點(diǎn))

-------------------------------------------------------------------

挑戰(zhàn)1:需要先擦除才能寫入。

5.jpg 



當(dāng)今的NAND Flash可以讀/寫一個(gè)page,但是必須以block大小擦除。

擦除操作就是讓塊中所有的bit變?yōu)?,從一個(gè)干凈的“已擦除”狀態(tài)的block重新開始。當(dāng)里面的頁變?yōu)?后,只有擦除整個(gè)塊才能讓這個(gè)頁變?yōu)?。為了盡量減少擦除的次數(shù),成熟的塊管理技術(shù)必不可少。


挑戰(zhàn)2:讀/寫干擾。

NAND Flash的電荷非常不穩(wěn)定,在讀/寫中很容易對(duì)鄰近的單元造成干擾,干擾后會(huì)讓附近單元的電荷脫離實(shí)際的邏輯數(shù)值,造成bit出錯(cuò),因?yàn)殚y值接近的關(guān)系,MLC相對(duì)SLC來說更容易受到干擾。

6.jpg 


讀取干擾

7.jpg 


寫入干擾

讀取干擾指的是在讀取某個(gè)page時(shí),鄰近的bit會(huì)受到升高電壓的干擾,造成bit出錯(cuò)。寫入干擾指的是,某個(gè)page在寫入時(shí),鄰近bit的電壓也被升高了,造成bit出錯(cuò)。相對(duì)寫入干擾來說,讀取干擾明顯小的多。在讀/寫干擾中,可能造成某些bit被改變,結(jié)果造成數(shù)據(jù)出錯(cuò)。所以需要在返回?cái)?shù)據(jù)給主機(jī)前,用ECC/EDC算法來糾正這些bit的錯(cuò)誤。隨著閃存工藝的提升,同樣大小的晶片上被封裝入更多的單元,造成干擾越來越厲害,所以需要更強(qiáng)大的ECC/EDC來糾正bit。


挑戰(zhàn)3:數(shù)據(jù)保存期限

數(shù)據(jù)保存期指的是當(dāng)完全斷電后,數(shù)據(jù)能在NAND Flash里保存多久。NAND單元必須保證一個(gè)穩(wěn)定的電壓水平,來保證數(shù)據(jù)是有效的。典型的SLC一般為10年。電荷從懸浮門里漏出,我們叫做電子遷移,當(dāng)隨著時(shí)間的流逝,電荷泄漏到一定程度,改變了NAND單元里懸浮門的電壓對(duì)應(yīng)的邏輯值,這樣就造成bit出錯(cuò)。

8.jpg 



數(shù)據(jù)保存期會(huì)隨著擦寫次數(shù)的增加而明顯降低,而且從上面的原理中看出,MLC的數(shù)據(jù)保存期明顯會(huì)比SLC少。(更容易被干擾)


挑戰(zhàn)4: 壞塊

NAND Flash里有2種壞塊類型:

1,出廠壞塊:由于為了保證產(chǎn)量和控制成本,出廠的NAND Flash某些就會(huì)有壞塊。廠商保證SLC出廠壞塊低于2%,MLC出廠壞塊低于5%。
2,積累壞塊:在多次的寫入/擦除循環(huán)中,某些NAND單元的電荷電壓被永久性的改變了,那就意味著包含這個(gè)NAND單元不可用了。

所以固態(tài)硬盤需要有壞塊管理才能使用,主控制器用壞塊表來映射出廠壞塊和積累壞塊到壞塊區(qū)內(nèi),出廠時(shí),顆粒的第一個(gè)塊Block 0廠商會(huì)保證是可用的(至少ECC后可用)。



挑戰(zhàn)5:擦寫次數(shù)限制

造成NAND Flash有擦寫次數(shù)限制的主要有2個(gè)因素:

1,電荷被困在氧化層,不能進(jìn)入懸浮門。
2,氧化層結(jié)構(gòu)被破壞。

9.jpg 



如圖,一旦氧化層損壞到達(dá)一定程度,造成電荷越來越難在P-substrate和懸浮門之間交流。電荷被困在氧化層造成懸浮門中的電壓到不了閥值,所以說這個(gè)NAND單元就要被放入壞塊區(qū)了。

當(dāng)前主流SLC的P/E為10萬次,50nm MLC為1萬次,3xnm的MLC為5000次。到了這個(gè)數(shù)字并不意味著就不能用了,這個(gè)只是代表平均壽命,也就是說到了這個(gè)次數(shù)后,壞塊就會(huì)開始大量增加了。

隨著工藝提升,ECC的要求越來越高,50nm的SLC顆粒,三星規(guī)定1bit ECC的就夠了,而50nm MLC要4bit ECC,到了3xnm要求達(dá)到24bit ECC。


-----------------------------------------

附; ECC

影響NAND Flash穩(wěn)定性和耐久度的一個(gè)主要因素就是ECC能力,目前最常用的三種算法是:

1.Reed-Solomon。2.Hamming。3.BCH (Bose, Ray-Chaudhuri, Hocquenghem)

不管何種ECC算法,何種主控,檢測錯(cuò)誤的方式是相同的:


10.jpg 


1.每當(dāng)一個(gè)page寫入NAND Flash,數(shù)據(jù)會(huì)通過ECC引擎,創(chuàng)造獨(dú)特的ECC簽名。
2.數(shù)據(jù)和對(duì)應(yīng)的ECC簽名存都存放在NAND Flash里,數(shù)據(jù)放在數(shù)據(jù)區(qū),ECC簽名放在 SA區(qū)。
3.當(dāng)需要讀取數(shù)據(jù)時(shí),數(shù)據(jù)和ECC簽名一起被送往主控制器,此時(shí)新的ECC簽名被生成。
4.此時(shí)主控把2個(gè)簽名對(duì)照,如果簽名相同,說明數(shù)據(jù)沒有錯(cuò)誤,數(shù)據(jù)就會(huì)被送往主機(jī)。如果簽名不同,數(shù)據(jù)就會(huì)先放在主控里,而不是直接送往主機(jī)。

某些主控會(huì)把改正后的數(shù)據(jù)再次寫回閃存,另一些則不會(huì),因?yàn)檎l也不知道下次讀取會(huì)不會(huì)再出錯(cuò)。

ECC的能力直接關(guān)系到NAND Flash的耐久度,數(shù)據(jù)保存期。當(dāng)NAND Flash的P/E數(shù)到了之后,錯(cuò)誤數(shù)會(huì)越來越多,ECC弱的直接就報(bào)壞塊并標(biāo)記退休,如果ECC能力足夠強(qiáng),就能挖掘出Flash所有潛力。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多