HET-MLC/SSDの寿命

Intel のSSD DC S3700 Series が発売になりました。
新型のコントローラを搭載しており、高耐久版MLC「HET-MLC」が特徴です。

HET-MLCは、Intel SSD 710でも採用されていましたが、、「1日10回書き換えても5年間は運用できる」というスペックは今回が初です。

SSD S3700の400Gスペックシート100Gのスペックシートでは、
 耐久性評価 (書き込み上限数):10 drive writes per day for 5 years
となっています。

SSD 710の仕様は、300GBの場合3PB消去・書き込みするまでとなっています。
これは、1日10回書き換えると、2.7年で寿命が来ることを意味します。
710の100GBモデルは、3PBまでですので、1日10回書き換えると寿命は5.4年です。

SSD S3700は容量によらず5年で、710は容量によって2.7年から5.4年ですので進歩しているようです。

SSDの寿命がつきる原因

NANDフラッシュの構造.PNG

寿命は、トンネル酸化膜の劣化が原因です。

記録を電子として蓄えておく浮遊ゲートは、酸化膜により絶縁されています。

読み書きをしなければ、浮遊ゲートは、電子を10 年以上保持することができるそうです。

しかし、書き込みや消去の際に高い電圧をかけてセルに電子を送り込んだり、引き出したたりする毎に少しづつトンネル酸化膜の絶縁性が損なわれていきます。

消去・書き込み時の電圧は20ボルト程度であっても、絶縁ゲートは10ナノ程度と薄いので、数百万ボルト/cmになります。

電子を注入する際(下図右)のプログラム電圧は、20V程度です(内部の昇圧回路で1.8V 程度の電源から作ります)。
20Vを10nmの膜に印加するので、20V÷10nm=20千万ボルト/cm になります。
発電所からの送電線に送られる超超高電圧(UHV)110万ボルトの18 倍以上の電圧が1㎝の隙間に加わる状態です。
NANDフラッシュ.PNG

このような高電圧で消去・書き込みをするため、読み書きのたびに電子トラップの欠陥が増え、ダメージとして蓄積していきます。

酸化シリコンの劣化.png

消去・書き込みのたびに、少しづつ増えてゆく欠陥が、電子の通り道を形成し、絶縁性が低下し、やがては導体となります。

データの蒸発

書き込み、消去をしなければ良いかといえば、そうでもありません。

ほったらかしにしておくと、わずかリークでいずれ中身が消えてしまいます。新品で劣化していない場合で保持期間は、10年程度。劣化が進んでいればその半分程度でデータが蒸発します。

したがって、SSDのデータ保持期間が5年から10年です。
電源入れないまま数年保管しておくとデータが蒸発します。

だたし、SSDは、使ってさえいれば、ウエアレべリングによる書き換えが行われるので蒸発の心配はありません。

しかし、同じフラッシュメモリを使うUSBメモリ、SDメモリなどに写真を保存したまま、長期保存しておくのは危険です。

数年ぶりに昔の写真を見ようとおもって電源入れたらディスクが真っ白ということもありえます。



寿命を延ばす対策

(1) 酸化膜を丈夫にする

NANDフラッシュの酸化膜を厚く丈夫にして寿命を延ばします。

酸化膜を厚くすると、欠陥ができても発生する電子の漏れは小さくなり、寿命は延びます。
厚くすることにより、ヒビが入っても、漏れる量が少なくなりますし、完全に割れてしまうまでに時間がかかるようになり長寿命になります。

酸化膜を厚くすると、消去・書き込み時に電子が通りにくくなるので、酸化膜に高誘電率(High-k)の材料を使い、厚くても電子の通りやすい酸化膜を作ります。

高誘電率(High-k)の材料として、窒素添加ハフニウムシリケート膜(HfSiON膜)を、シリコン酸化膜(SiO2 膜)の代わりに使う例が多いようです。

シリコン酸化膜(SiO2 膜)を使ったフラッシュメモリーの消去/書き込みは、SLCで10万回程度、MLCで5千から1万回程度の消去・書き込みが上限と言われていましたが、HfSiON膜を使った場合、SLCデバイスでは30万回程度、MLCでは3万回程度の消去・書込サイクルが実現できているそうです。

SSD S3700の場合、1、2万回程度の消去・書き込みが可能なNANDフラッシュを使用しているようです。

ウエアレベリングにより、消去/書き込みを完全に平均化すると、デバイスの寿命が尽きるまでに消去/書き込みができる容量は、SSD の容量と NAND フラッシュメモリの書き込み寿命の積になります。

SSD S3700 100GBモデルを1日10回、5年間書き換え続けると書き込み容量は、1.8PBです。
  100GB x 10回 x 365日 x 5年 = 1.8PB

容量は100GBなので、 [NAND フラッシュメモリの書き込み寿命]は1.8万回になります。
  デバイス 寿命(1.825PB) = SSD 容量(100GB)  x  [フラッシュメモリの書き込み寿命]
  1,825PB=100GB x  [フラッシュメモリの書き込み寿命]
  18,250 = [ フラッシュメモリの書き込み寿命]

この数字は、消去/書き込みの完全な平均化が可能であり、かつ、予備領域の確保をしていない場合の数字です。
不完全な平均化は寿命を縮め、予備領域は寿命を延ばします。

書き込みサイクルの上限は、企業秘密のようで、公開されていません。
Intelは、「耐久性は、その耐用年数内に SSD に書き込めるデータの量として定義されます。」と言っており、SSD S3700のスペックシートでは、
  耐久性評価 (書き込み上限数):10 drive writes per day for 5 years
という表現を使っています。
これが、「1日10回書き換えても5年間は運用できる」という宣伝文句になっています。


(2) 予備領域を増やす

エラーブロックの退避先となる予備領域(フリーブロック)をあらかじめ多めに確保しておきます。

Intel 710シリーズの場合容量の20%程度が予備として確保されているようです。
100GBモデルなら120GBのフラッシュを実装しておいて、20GBは予備になります。

予備容量が多ければ多いほど、寿命は延びますが、コストは増します。
市販されているSSDは、10%前後あるいはそれ以下の予備領域を持っていることが多いようです。100GBのSSD 710が649ドルという高値だった理由の1つは大きめ予備領域が確保されていることだろうと思われます。

利用中に予備領域を使い果たしてしまうと、書込を受け付けず、読取だけができるリードオンリーモードになるSSDもあります。

予備領域の残りを「S.M.A.R.T.(Self-Monitoring, Analysis and Reporting Technology)」で確認可能なSSDもあります。

(3) 制御ロジックの改善

読み書きのつど劣化していくフラッシュ・メモリを長持ちさせるためにコントローラがやっていることは主に3種類

  1. 同じセルに書き込みが集中しないようにする - ウェアレベリング
  2. エラーが発生したら読み出し電圧を変えて、劣化に追随する
  3. 正確なチャージと、正確な読み取り

(3-1) 読み書きを集中させない - ウェアレベリング

消去/書き込みサイクルをすべてのメモリブロック、バイス全体に分散することにより、データの"ホットスポットを防ぎ、デバイスとしての寿命をのばす手法は、ウェアレベリングと呼ばれています。

消去/書き込みを平均かすると、デバイスの寿命は、SSD の容量と NAND フラッシュメモリの書き込み寿命の積になります。

平均化するロジックもいくつかあります

  • スタティック
    書き込み回数をカウントしておいて、読み書きが少ないセルを使うことにより、読み書きを平均化する
    書き込み回数超過となったブロックを予備領域にマッピングして退避する製品もあります。
  • ダイナミック
    読み書き回数とは関係なく、未使用セルを使っていく

(3-2) 劣化への追随

絶縁が劣化していると、電荷が抜けているので、読み出しの時電圧が下がるのはわかっています。
そこで、エラーが発生したら、読み出し電圧を下げて再度読み出してみて、エラーが発生しなければそのまま使います。

普通は、エラーが発生したら即ブロックを退避し予備のブロックと置換する場合と比べ、予備(フリーブロック)の消費が抑えられるので、ドライブとしての寿命が長くなります。

(3-3) 正確な書き込みと読み出し

書き込み時の印加する電圧を正確にして、チャージされる電荷のばらつきを少なくすることと、

読み出し時に、正確に電圧を読むことにより、エラーを減らしています。

(4) エラー発生対策

エラーが発生した場合のリカバリーのために、エラー訂正コード(ECC)を使用して補償しています。

隣のセルに書き込む時に隣接セルの電荷に干渉してしまうなど、劣化の他にも、エラーが発生しますので、ECCによる保証は必須です。


(5) 高耐性テクノロジー(HET)

Intelによれば、 High Endurance Technology (HET) は、厳選されたNAND フラッシュメモリーと SSD システム管理技術を組み合わせて、SSD の耐久性を拡張する技術だそうです。

eMLC:Enhanced MLCとか、eMLC:enterprise MLCなどと同じ手法だと思われます。


平均故障間隔(MTBF)

SSD S3700のスペックシートではMTBFは、200万時間、22年というとんでもなく長い期間になっています。
Intel SSD 335 シリーズでも120万時間という長さです。

SSDは、可動部品が無いので、データの読み書きをしなければ、MTBFはこのように長くなります。

しかし、頻繁に読み書きした場合のSSDドライブとしての寿命は3から5年程度です。

Intelは、Minimum Useful Life/Endurance Ratingで最低有効寿命を表記しています。
有効寿命の最小値は、SSD 335シリーズで3年、SSD 520シリーズで5年です。
SSD S3700のスペックシートにMinimum Useful Life/Endurance Ratingの記載はありません。

MTBFは使わない前提での値です。


最近のブログ記事

SORACOM,HLR持ちeSIM対応
SORACOMが自前のHLRを持ち、自…
準天頂衛星4機体制に
h2{ font-size:12…
Windows 10 mobile終了
Windows 10 mobileの新機…
カスタム検索

月別 アーカイブ