成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

談一談閃存存在的問題

存儲 存儲軟件
閃存塊(Block)具有一定的壽命,不是長生不老的。前面提到,當一個閃存塊接近或者超出其最大擦寫次數時,可能導致存儲單元的永久性損傷,不能再使用。隨著閃存工藝不斷向前,這個擦寫次數也變得越來越小。

 談談閃存的一些特點,或者說它作為存儲介質面臨的挑戰。

[[240891]]

閃存塊(Block)具有一定的壽命,不是長生不老的。前面提到,當一個閃存塊接近或者超出其***擦寫次數時,可能導致存儲單元的***性損傷,不能再使用。隨著閃存工藝不斷向前,這個擦寫次數也變得越來越小。

圖1-1 閃存損壞狀態

在閃存當中的存儲單元中,先天就有一些是壞掉的,或者說不穩定的。并且隨著閃存的不斷使用,壞的存儲單元越來越多。所以,用戶寫入到閃存的數據,必須有ECC糾錯碼保護,這樣即使其中的一些比特發生反轉,讀取的時候也能通過ECC糾正過來。一旦出錯的比特超過糾錯能力范圍,數據就丟失,對這樣的閃存塊,我們應該廢棄不再使用。

閃存先天有壞塊,也就是說有出廠壞塊。并且,用戶在使用的時候,也會新添壞塊,所以用戶在使用閃存的時候,必須有壞塊管理機制。

第二個問題是讀干擾(Read Disturb)。什么意思?從閃存讀取原理來看,當你讀取一個閃存頁(Page)的時候,閃存塊當中未被選取的閃存頁控制極都會加一個正電壓,以保證未被選中的MOS管是導通的。這樣問題就來了,頻繁的在一個MOS管控制極加正電壓,就可能導致電子被吸進浮柵極,形成輕微的寫,從而最終導致比特翻轉。但是,這個不是***性損傷,重新擦除閃存塊還能正常使用。注意的是,讀干擾影響的是同一個閃存塊中的其它閃存頁,而非讀取的閃存頁本身。

圖1-2 讀干擾原理

第三個問題是寫干擾(Program Disturb)。除了讀干擾會導致比特翻轉,寫干擾也會導致比特翻轉。還是要回到閃存內部的寫原理上來。

圖1-3 寫干擾原理

我們寫一個閃存頁的時候,數據是0和1混合的。由于對擦除過的閃存塊,其所有的存儲單元初始值就是1,所以寫的時候,只有寫0的時候才真正需要寫。如圖3-48所示,方框里的單元是寫0,需要寫的,圓圈里的單元的代表寫1,并不需要寫操作。我們這里把方框里的單元稱之為Programmed Cells,圓圈里的單元叫Stressed Cells。寫某個閃存頁的時候,我們是在其 WordLine的控制極加一個正電壓(圖3-48是20V)。對于Programmed Cells所在的String,它是接地的;不需要寫的單元所在的String,它是接一正電壓(圖3-48為10V)。這樣最終產生的后果是,Stressed Cell也會被輕微寫。與讀干擾不同的是,寫干擾影響的不僅是同一個閃存塊當中的其它閃存頁,自身閃存頁也受影響。相同的是,都是不期望的輕微寫導致比特翻轉,都非***性損傷,經擦除后,閃存塊還能再次使用。

第四個問題是存儲單元之間的耦合影響(Cell-to-Cell interference)。前面提到,浮柵極閃存存儲電荷的是導體,因此存儲單元之間存在耦合電容,導致存儲單元內的電荷發生意外變化,最終導致數據讀取錯誤;

還有個問題是電荷泄漏。存儲在閃存存儲單元的電荷,如果長期不使用,會發生電荷泄漏。同樣是非***性損傷,擦除后閃存塊還能使用。

上面說的這些,是所有閃存面臨的問題,包括SLC,MLC和TLC,這些問題的處理方法,在后面的FTL章節會進行介紹。不同商家的閃存,不同制成的閃存,以及2D/3D閃存,還有其特有的問題,用戶在使用時需要用固件克服或者緩解這些問題。

壽命

我們大家生活在人間,祖祖輩輩和周圍觀察到的生靈告訴我們一個道理:所有的人和生物都不能像神仙一樣長生不老。其實不只是生物,所有的存儲器件都是有壽命的。

圖1-4 SLC電壓分布(來源:Inside NAND Flash Memory)

我們再來看圖3-49這張0和1的分布圖,橫軸是電壓,縱軸是存儲單元的數量。0的區域表示被寫過的那些單元電壓分布區間,1的區域是被擦過的那些單元電壓分布區間。所以說,如果要正確地讀到數據,0和1這兩個區間要盡量分割清楚,保證它們的主峰有足夠遠的距離。

除了0和1靠近之外,閾值電壓也不能太偏。回憶一下讀數據的原理。

圖1-5 讀操作電壓示例

要讀的單元柵極加 0V電壓,這時擦過的晶體管閾值電壓是-Vt,導通,溝道有電流,Bitline端的傳感器能夠檢測到,讀到“1”。而經過寫的晶體管閾值電壓是+Vt,不導通,溝道電流很小,讀為“0”。隨著擦寫次數的增加,會發生三種故障:

  • 擦過的晶體管閾值電壓變大,從-Vt向0V靠近,這樣讀的時候溝道電流變小,傳感器檢測不到,讀出錯。
  • 寫過的晶體管閾值電壓變小,從+Vt向0V靠近,有可能會被誤檢測為擦過的狀態。
  • 寫過的晶體管閾值電壓變大(如圖3-50,>5V,即使控制極加5V電壓,它也是截止的),有可能在其他的單元讀的時候,把整個Bitline都給關了,一個死蒼蠅害了一鍋粥。

浮柵晶體管對浮柵極下面的絕緣層(Tunnel氧化物)很敏感,該氧化物厚度變薄(制程不斷減小導致的)或者老化(Degradation,擦寫次數多了)對浮柵極里面的電荷影響大。我們之前介紹了Charge Trap晶體管,其實隨著擦寫次數增多,浮柵晶體管的氧化層漸漸老化,產生不少Charge Trap,這些陷阱會吃掉電子。導致寫之后,進入浮柵的電子數量會減少,最終的結局就是0和1兩個區間不斷靠近。

如圖,上面是寫后的閾值電壓,下面是擦除后的閾值電壓,很明顯,擦除后的閾值電壓在擦很多次之后顯著變高。所以,一般擦除之后會做校驗,方法是把所有的Wordline設為0V,再去檢測每個Bitline的電流。如果某個Bitline電流是0,就意味著有個單元的擦除閾值電壓接近0V,導致晶體管關斷。所以這個閃存塊應該標為壞塊。

圖1-6 閾值電壓變化圖(來源:Inside NAND Flash Memory)

了解了閃存壽命的原理之后,我們再來看看固態硬盤設計實踐中怎么解決這個問題。一般有以下方法:

Wear Leveling:通過磨損平衡算法,讓所有的閃存塊均衡擦寫,避免少數閃存塊先掛掉,導致固態硬盤容量下降。

降低寫放大:寫放大越低,固態硬盤的磨損速度越慢。

用更好的糾錯算法:糾錯能力更強,容許的出錯率更高,可以延長使用壽命。談談閃存的一些特點,或者說它作為存儲介質面臨的挑戰。

 

責任編輯:武曉燕 來源: SSDFans
相關推薦

2021-02-19 09:19:11

消息隊列場景

2021-07-28 20:12:17

WindowsHeap內存

2022-02-14 22:22:30

單元測試Junit5

2014-07-17 10:11:53

Android LAPI谷歌

2022-07-04 10:51:27

數據中臺數據倉庫

2015-03-27 15:07:55

云計算IaaS平臺Docker

2016-07-08 13:33:12

云計算

2017-11-21 14:32:05

容器持久存儲

2021-05-11 08:48:23

React Hooks前端

2021-11-23 09:45:26

架構系統技術

2021-03-15 22:42:25

NameNodeDataNode分布式

2019-01-30 10:59:48

IPv6Happy EyebaIPv4

2011-07-28 09:22:56

Oracle WDPOracle數據庫

2020-06-19 15:32:56

HashMap面試代碼

2019-11-12 08:40:03

RocketMQ架構

2018-08-28 06:42:06

邊緣計算SDNMEC

2020-11-20 10:22:34

代碼規范設計

2018-09-05 15:15:58

來電顯示來電顯示欺詐身份

2011-07-28 09:49:04

Oracle數據庫服務Oracle實例

2018-01-11 09:51:34

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品一区国语对白 | 国产精品高潮呻吟久久 | 一区二区精品 | 精品免费国产一区二区三区四区 | 日韩在线精品 | 国产一区二区三区久久久久久久久 | 国内精品视频一区二区三区 | 欧美一区二区三区在线观看 | 国产成人精品久久 | 欧美黄色网 | av在线成人 | 在线免费观看视频黄 | 国产91久久久久久 | 国产成人精品亚洲日本在线观看 | 九九久久99 | 亚洲欧美在线观看 | 国产免费一区二区 | 在线观看视频中文字幕 | 精品一区二区三区在线观看国产 | 国产精品激情 | 精品国产鲁一鲁一区二区张丽 | www.47久久青青| 欧美国产视频 | 国产精品一区二区在线播放 | 在线观看www视频 | 黄色片a级| 欧美一级片在线看 | 国产精品成人一区二区三区 | 91精品国产麻豆 | 亚洲一二三区免费 | 日韩1区2区 | 久久久激情视频 | av在线一区二区三区 | 国产 欧美 日韩 一区 | 激情影院久久 | 91精品国产综合久久婷婷香蕉 | 免费一区二区 | 日韩一区三区 | 欧美一区二区 | 91色综合 | 台湾佬久久 |