閃存壽命是個妖怪:很恐怖但不真實
王振 發(fā)表于:13年07月09日 10:25 [編譯] DOIT.com.cn
大家都知道,固態(tài)硬盤有個缺點就是寫入壽命太短。我以前寫過文章曾淺顯地分析過受限于寫入壽命的基于閃存的固態(tài)硬盤怎樣在基于RAID的數(shù)據(jù)保護系統(tǒng)中出現(xiàn)問題。從理論上來說,多個擁有相同寫入壽命問題的固態(tài)硬盤可能會在同一時刻出現(xiàn)問題,引起數(shù)據(jù)損失。但是我個人并不覺得這是個大問題。下面我就進一步分析一下閃存寫入壽命的問題,以及它深層的原因。
一個閃存單元是由一個浮置柵極來控制的,在浮置柵極旁邊則是兩層硅氧化物電介質和絕緣層。當對浮置柵極充電或放電來寫入或擦除信息時,單元通道內的電荷會通過電介質層,會對其造成一定的損害。
久而久之,電介質層就會出現(xiàn)一些問題,要不就是不允許通道通過,導致數(shù)據(jù)存儲在閃存單元中保持0狀態(tài),要不就是高電壓使得氧化層被破壞,數(shù)據(jù)無法存儲,一直保持1狀態(tài)。
不同閃存技術的閃存單元寫入-擦除壽命是不同的。一般來說,SLC閃存可進行100000次寫入-擦除循環(huán),MLC可進行10000次,而eMLC可進行30000次。
廠商閃存產品的等級一般會按照最低保障時間和規(guī)定的平均故障間隔時間來定,排名第一和第五的不同,實際上也是用失效率百分比來表示的。在規(guī)定的寫入-擦除循環(huán)周期中,芯片中會有百分之幾的單元失效,在當下的寫入-擦除循環(huán)中的失效比例會繼續(xù)出現(xiàn)在今后的循環(huán)中,廠商們會建議你更換新的閃存。
當提到固態(tài)硬盤時,英特爾,美光和東芝就像日產或福特那樣。汽車廠商會宣稱汽車的同步齒帶的壽命是使用60000英里,而閃存商們會宣稱閃存的壽命是支持30000次寫入-擦除循環(huán),但汽車廠商并不是說在行駛到61000英里的時候,同步齒帶就壞了,它們只是說,行駛完60000英里之后,同步齒帶有壞掉的可能。同理,對于閃存來說,就是說超過了廠商宣稱的使用壽命之后,有可能存不了新的數(shù)據(jù),但更多的閃存還會堅持一段時間,不過我可不是那個能找出精確的損壞時間的那個人。
也就是說,閃存設備不可能在到了額定的使用次數(shù)之后就立即一命嗚呼。隨著閃存逐漸老化,閃存單元逐漸失效,寫入的錯誤率也在逐漸上升。閃存控制器能采用糾錯碼和數(shù)字信號處理器技術來應對單個閃存單元失效,只要失效單元不是很多,控制器就能改正錯誤,保證單元可以被繼續(xù)使用。
最后,錯誤率上升到連控制器都無能為力的程度,這時候,控制器就會提示這個單元壞了。
一個典型的企業(yè)級固態(tài)硬盤在被使用的時候容量會有所保留,比如說它的容量是256GB,用戶可以訪問200GB或更多一些,處理器可以利用剩余的閃存單元來代替失效的單元。這雖然會影響固態(tài)硬盤的整體性能,但是能避免固態(tài)硬盤整體失效。當剩余的閃存單元代替失效單元被用盡時,整個固態(tài)硬盤就失效了,不過即便如此,固態(tài)硬盤中的數(shù)據(jù)還是可以讀取的。
如今的半導體生產工藝已經(jīng)是令人難以置信地精確了,但是當說到20納米或更小的閃存時,用戶不可能用到整個芯片的每個模塊,每個單元,更不要說上千塊同時使用,總會有一些多出來的單元用于代替失效單元,所以整體來看,失效率還是很低的。
東芝或美光的研究人員宣稱其閃存產品的氧化層有170個原子那么厚,這是指平均值。有一些可能有150個原子那么厚,其它的可能有200個原子那么厚,隨著氧化層的損耗,有一些單元會比其它的單元更早失效。
實際上,測試閃存設備以求出它的失效變量,這個工作沒有意義,花了大量的時間,最后還毀掉了大堆的芯片,我還沒有見到有研究向人們揭示失效率的變量是怎樣的。經(jīng)過和閃存,固態(tài)硬盤及陣列廠商的交流,我覺得我們不需要太擔心固態(tài)硬盤的損耗,應該多想想如何重建。
考慮到固態(tài)硬盤的重建速度是機械硬盤的5到10倍,而且新一代的固態(tài)硬盤速度更快,容量也更大。當我把這些因素考慮進來的時候,我覺得固態(tài)硬盤的損耗問題實際上是一個妖怪:很恐怖,很嚴重,但是不真實。
你還擔心閃存寫入壽命嗎?因為這個你是否會考慮不采用閃存?我希望得到你的反饋,在下面寫下你想說的話吧。
Posted by Howard Marks