乳尖春药H糙汉共妻,国产成人无码精品亚洲,少妇肉欲系列1000篇,免费永久看黄神器

技術學堂

手機閃存和固態硬盤為什么擦除多了會損壞?

作者:admin 日期:2023-08-25 瀏覽:

手機閃存和固態硬盤為什么擦除多了會損壞?

  點擊上方“公眾號” 可以訂閱哦!

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

  閃存的工作原理

  閃存價格節節攀升,讓三星大賺特賺。其實它的基本原理在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表里改變對應關系。

  而 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的健康情況,今后我會專文寫寫相關內容。

  電話咨詢

<abbr id="ehohq"><form id="ehohq"><small id="ehohq"></small></form></abbr>
  • <menu id="ehohq"><dl id="ehohq"></dl></menu>

    1. <bdo id="ehohq"><span id="ehohq"></span></bdo>
        主站蜘蛛池模板: 全椒县| 博罗县| 辽阳市| 乌拉特中旗| 金寨县| 汉川市| 洛南县| 互助| 诸城市| 肃北| 聊城市| 同仁县| 集安市| 焦作市| 喜德县| 石景山区| 成武县| 攀枝花市| 交口县| 山东省| 新兴县| 宜都市| 于田县| 洛南县| 色达县| 射阳县| 云林县| 六盘水市| 分宜县| 贵南县| 丰城市| 皋兰县| 方正县| 布拖县| 滁州市| 宜昌市| 太和县| 赞皇县| 沙湾县| 内江市| 阿鲁科尔沁旗|