手機快閃記憶體和固態硬碟為什麼擦除多了會損壞?

在我們快閃記憶體系列文章中多次提到,構成手機存儲和固態硬碟SSD的基本存儲單元的NAND快閃記憶體,它的壽命是由擦除次數來決定的。準確的來說,是由Program/Erase(P/E)次數來決定的。有很多朋友留言問其中的具體原因,今天我就專門撰文來詳細討論一下其中的原理。本文專註於NAND Flash,有些原理有可能同樣適用於NOR Flash,但本文並不關心。如果不做特殊說明,下文快閃記憶體(Flash)指代NAND Flash。如果有朋友對NOR Flash感興趣,見此專門文章:

老狼:雜談快閃記憶體二:NOR和NAND Flash?

zhuanlan.zhihu.com圖標

快閃記憶體的工作原理

快閃記憶體價格節節攀升,讓三星大賺特賺。其實它的基本原理在1980年代之後基本就沒有變化過。它的構成和場效應管(MOSFET)十分類似:

它由:源極(Source)、漏極(Drain)、浮動柵(Float Gate)和控制柵(Control Gate)組成。相對場效應管的單柵極結構,快閃記憶體是雙柵極結構。浮動柵是由氮化物夾在二氧化硅材料(Insulator)之間構成。

我們的寫操作(Program)是這樣:

在控制柵加正電壓,將電子(帶負電)吸入浮動柵。在此後,由於浮動柵上下的二氧化硅材料並不導電,這些電子被囚禁(Trap)在浮動柵之中,出不去了。這樣無論今後控制柵電壓有否,這個狀態都會保持下去,所以快閃記憶體可以掉電保存數據。注意寫操作完畢後,該快閃記憶體單元存儲的是0,後面我們將會介紹為什麼。

我們的擦除操作(Erase)剛好相反:

在源極加正電壓利用浮空柵與漏極之間的隧道效應,將注入到浮空柵的負電荷吸引到源極,排空浮動柵的電子。這時讀取的狀態是1。

那為什麼有電子是0,沒電子是1呢?以為讀取的時候,需要給控制柵加一個低的讀取電壓,對於被Program過的快閃記憶體單元來說,被囚禁的電子可以抵消該讀取電壓,造成源極和漏極之間是處於被關閉的狀態:

如果是被擦除過的就剛好相反,源極和漏極在控制柵的低電壓作用下,處於導通狀態:

也就是說通過向控制柵加讀取電壓,判斷漏極-源極之間是否處於導通狀態來讀取快閃記憶體單元的狀態,如果被Program過的,就是處於關閉OFF狀態,為0;而被Erase過的,就是處於導通狀態ON,為1。

理論上來說,快閃記憶體可以每個單元來單獨擦除和編程。但是為了節省成本,實際上作用在控制柵上的擦除電壓是整個塊(Block)連接在一起的,這就是為什麼擦除要以塊為單位了。

為什麼快閃記憶體會損壞

每次電子在包圍浮動柵的二氧化硅上進進出出,都會造成它的老化:

長此以往,浮動柵就不能很好的鎖住電子,電子會流失造成漏極-源極之間是否處於導通狀態錯誤,進而數據讀取錯誤。快閃記憶體控制器通過校驗發現錯誤後會將其標為不可用,而在OP空間找一塊來替代,並在FTL表裡改變對應關係。

老狼:雜談快閃記憶體三:FTL?

zhuanlan.zhihu.com圖標

而 SLC(Single-Level Cell)的省錢版:MLC(Multi-Level Cell) 和 TLC(Triple-Level Cell) 的引入讓這個問題更加嚴重。原來SLC只有ON/OFF兩種狀態,現在的TLC要有8種狀態:

主要靠精確控制浮動柵裡面的電子來實現,老化會讓這種控制很容易出錯。這樣就是為什麼MLC和TLC相比SLC,生命周期更短的原因:

注意圖中的P/E Cycle。

結論

快閃記憶體單元的損壞是個不可逆的過程,壞了就是壞了,人死不能復生,節哀順變吧。幾個壞塊不會產生多大問題,OP空間完全可以罩得住,問題是只要產生壞塊,慢慢壞塊會越來越多,寫放大也會越來越嚴重,慢慢的就會產生讀寫錯誤,或者速度嚴重下降。這時我們一定要考慮換塊SSD了。

也許僅僅依靠抽象的判斷速度對普通用戶並不是很好掌握。就像買西瓜都要拍一下,實際上估計很多人都是做個樣子而已。真正科學判斷SSD的狀態要靠SMART(Self-Monitoring Analysis and Reporting Technology)等工具,我們可以藉助SSD廠家提供的工具來查看SSD的健康情況,今後我會專文寫寫相關內容。

其他快閃記憶體相關文章:

老狼:雜說快閃記憶體一:關公戰秦瓊之 UFS VS NVMe?

zhuanlan.zhihu.com圖標老狼:雜談快閃記憶體二:NOR和NAND Flash?

zhuanlan.zhihu.com圖標老狼:雜談快閃記憶體三:FTL?

zhuanlan.zhihu.com圖標老狼:雜說快閃記憶體四:快閃記憶體硬碟介面大比拼?

zhuanlan.zhihu.com圖標老狼:雜說快閃記憶體番外:SSD硬碟如何進行日常維護和Trim?

zhuanlan.zhihu.com圖標老狼:雜說快閃記憶體番外:傲騰Optane與NAND快閃記憶體?

zhuanlan.zhihu.com圖標老狼:雜說快閃記憶體番外:我們的數據存在固態硬碟上安全嗎??

zhuanlan.zhihu.com圖標老狼:雜說快閃記憶體番外:手機為什麼越用越卡和快閃記憶體寫放大?

zhuanlan.zhihu.com圖標老狼:128G的固態硬碟為什麼有的標120G,有的標100G?固態硬碟容量背後的秘密?

zhuanlan.zhihu.com圖標老狼:神秘消失的固態硬碟空間去哪了??

zhuanlan.zhihu.com圖標

歡迎大家關注本專欄和用微信掃描下方二維碼加入微信公眾號"UEFIBlog",在那裡有最新的文章。同時歡迎大家給本專欄和公眾號投稿!

用微信掃描二維碼加入UEFIBlog公眾號


推薦閱讀:

一個固態硬碟可以用多久?
怎麼判斷固態硬碟質量以及今年的固態硬碟排行趨勢如何?

TAG:固態硬碟 | 電腦知識 | 計算機技術 |