メディア
特集
» 2006年04月01日 00時00分 公開

――書き換え回数を正確に見積もる:半導体ストレージの耐久性評価 (1/2)

半導体ストレージの性能測定法はサプライヤによって異なる。どの製品がユーザーの電子機器に適しているかはすぐには判断できない。選択に時間がかかるのも不思議ではない。

[Gary Drossel(米SiliconSystems社),EDN]

 半導体ストレージを使用する設計者は、その信頼性を正確に評価できる基準を必要としている。耐久性はそのような基準の1つであり、これを正確に評価できれば正しい選択も可能になる。「耐久性」は、製品が損耗するまでの書き換え可能回数で評価できるだろう。しかしそれだけではない。製品の耐久性は、メディアとコントローラ技術の組み合わせで初めて決定されるものだ。たとえば、磁気メディアはNAND型フラッシュよりも信頼性の点で劣るが、ハードディスクのコントローラ技術でこの欠点を十分にカバーできる。

 書き換え可能な回数に基づいた耐久性だけを見ても、その測定方法はベンダーによってまちまちである。物理ブロックレベルの仕様を定義しているベンダーもあれば論理ブロックレベルとしているベンダーもあり、かと思えばカードレベルやドライブレベルで定義しているベンダーもある。耐久性はデータの記録能力とも関係するため、データ保持要件が低いほど耐久性は高くなる。つまり、データシートに記載されている書き換え可能な回数を見ただけで、耐久性を比較することは非常に困難だ。

 耐久性を厳密に評価するには、ストレージメディアのタイプ、劣化レベル均一化(wear-leveling)アルゴリズム、誤り訂正機能、の3つの観点で比較する必要がある。使用可能な予備セクターの容量や、ストレージデバイスがファイルシステムと論理ブロック直接アドレッシングのどちらを使用して書き込みを行うかといったことも耐久性を左右する。しかしこれらの要素は、全体的な耐久性の一端を担っているかもしれないが、測定結果の値に占める影響は、先の3つの基準による影響に比べるとはるかに小さい。

ストレージメディアのタイプ

 適切な半導体ストレージメディアを選ぶための最初のステップは、NOR型フラッシュとNAND型フラッシュを含めたメディアタイプの比較である。現在のNOR技術は、携帯電話機などのチップオンボードアプリケーションに実装されているケースがほとんどだ。これらのアプリケーションはNOR型を採用することで、XIP(execute-in-place)、ブート、データストレージの機能を1つのチップで実現している。不揮発性半導体ストレージには、NOR型よりも大容量で高密度のNAND型が適している。

 NAND技術には、バイナリベースのSLC(single-level cell)とMLC(multi-level cell)の2つの構造がある。SLCでは各セルにつき1ビットが格納されるが、MLCでは2ビット以上が格納される。通常、SLC NAND型は1ビットのECC(error correction code)を含めて1ブロックにつき10万回の書き換えが可能であるのに対し、MLCはECCを含めて1万回までしか書き換えができない。MLCデバイスのデータシートには必要なECCのレベルが記載されていない場合があるが、MLCメーカーでは4ビットのECCを推奨している。そのため、コントローラが同じであるとすれば、SLCを採用しているストレージシステムの方が、MLCタイプの類似製品よりも耐久性に勝る。

劣化レベル均一化

 劣化レベル均一化アルゴリズムにより、ストレージメディアはデータの書き込みを均等に分散できるほか、ストレージメディア内のコントローラは論理ブロックのアドレスを半導体メモリアレイ内の異なる物理ブロックのアドレスに再マッピングできる。この再マッピングの頻度と、損耗度が最も低い領域を検出するアルゴリズム、そしてデータスワッピング機能は、一般にコントローラベンダーの独自仕様である。半導体ストレージシステムに搭載されたコントローラは、ホストシステムに依存することなく劣化レベル均一化機能を実行する。ホストシステムは論理ブロックのアドレスに対する読み出し/書き込みのみを実行する。したがって、ホストに関するかぎり、データの移動はない。

 劣化レベル均一化については、劣化レベル均一化なし、動的な劣化レベル均一化、静的な劣化レベル均一化の3つのシナリオが考えられる。民生機器市場向けのフラッシュカードと、産業用途向けの半導体ストレージシステムでは、耐久性に大きな開きがある。劣化レベル均一化機能のないフラッシュカードは、未使用のストレージ領域がどれだけ残っていようと、物理ブロックが損耗してすべての予備ブロックが使い果たされた時点で動作しなくなる。劣化レベル均一化機能がない初期のフラッシュカードが、書き込み頻度の高いアプリケーションで故障するのはそのためである。したがってベンダーは、産業用半導体ストレージを必要とするOEMアプリケーションでの劣化レベル均一化機能のないフラッシュメモリーの使用は避けるべき、としている。

 動的な劣化レベル均一化では、動的な領域、つまり「空き」領域を均等に平滑化する。動的な劣化レベル均一化機能を使用するシステムは静的データは扱わない。静的データにストレージの75%を使用するシステムでは、劣化レベル均一化に使用できる領域が25%しかない。したがって耐久性は劣化レベル均一化機能のないカードの25倍と考えられるが、ストレージ空間全体に対して劣化レベル均一化が実行されるシステムの1/4の耐久性しかない。

 静的な劣化レベル均一化アルゴリズムは、システム全体に均等にデータを分散し、使用頻度が最も低い物理ブロックを検索する。それらの物理ブロックが検出されると、その場所にデータが書き込まれる。ブロックが空の場合は、書き込みが通常どおりに行われる。そこに静的データが存在する場合は、そのデータをより使い込まれた場所に移動してから、新しい書き込みデータを移動する。静的な劣化レベル均一化機能を使用するストレージシステムの耐久性は、劣化レベル均一化機能のないシステムの100倍である。ストレージの75%に静的データが保存されているシステムは、動的な劣化レベル均一化を実装しているカードの4倍の耐久性がある。静的な劣化レベル均一化は、ストレージシステムのすべてのブロックにデータを書き込むため、より高い耐久性を実現する。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.