メディア解説

SSDの問題点

SSDの問題点は、まさにNAND型Flash ROMの問題点であり、書き換え回数の制限とデータ保持期間の2点に絞られます。この2点ともNAND型Flash ROMの内部構造・原理に起因するので避けて通ることの出来ないものであり、SSDの信頼性・性能の点でコントローラの重要性が非常に高くなっているのもこれが理由となっています。

NAND型Flash ROMの動作と内部構造

SSDに使用され、読み書きの実行頻度の高い記憶素子がROM(Read Only Memory)であると説明されると違和感が有るのではないかと思いますが、例えばHDDに於ける飽和磁気記録では、N、Sの極性や磁力の強さに関わる事無く、どのように着磁されている場所であっても、磁性体が磁気飽和する強さ以上の磁界を印加することで、新たな磁極で飽和磁束密度に達する“上書”着磁が可能なのに対し、NAND型Flash ROMでは、一度初期状態に戻す“消去”を行う事無く、新しい情報の“書き込み”を行うことが出来ないことが、ROMに分類される理由となります。データの“更新(上書)”が必要な場合の実際の動作は、「①以前からある情報に訂正を加えた情報全体を、データが書き込まれていない新規の場所に書き込み、②そこに今までと同じ論理番号を割り当て、③元の情報の書いてある場所は、消去が必要なゴミデータの書き込まれている場所として、別の論理番号を割り当てておき、④別途消去する。」となっています。このため、購入(フォーマット)直後は、なにもせずに直ぐデータを書き込むことが出来る範囲が広く、高速に動作するものの、記録されているデータ容量が増加すると、データの消去作業の頻度を高くする必要に迫られ、読み書きを行うパフォーマンスが低下するという現象が発生します。

NAND型Flash ROMの一つのセルの構造

内部構造を説明すると、ソース(S)とドレイン(D)電極が両端にある半導体の中央部に、印加電圧によってソース-ドレイン間の抵抗値を制御する、半導体とは絶縁状態のゲート(G)電極があるMOS型FET(Field effect transistor:電界効果トランジスタ)とよく似ています。異なる点は、ゲート電極を通常のゲート(制御ゲート:コントロールゲート)と浮遊ゲート(フローティングゲート)の二重構造にして、制御ゲートとソース-ドレイン間の半導体との相対的な電圧を操作することによって、フローティングゲートへの電荷の注入(書き込み:充電)や放出(消去:放電)を行い、その制御ゲートの電荷によって、ソース-ドレイン間の抵抗が変化して、データの“0”、“1”が決定する点となります。また全体の電源を切っても浮遊ゲートの電荷はそのまま保持されるので、不揮発(電源を切ってもデータの消えない)メモリとして情報の記録に利用することが出来ます。そして、この電荷の注入・放出動作は浮遊ゲートの周囲を取りまく絶縁体の劣化も伴い、書き込みの繰り返し回数の限界は500回~1,000回程度に制限され、また注入(充電)された電荷は周囲の絶縁体を通して少しずつ自己放電し、電源ONや読み出し操作では浮遊ゲートへの電荷の再注入は行われないので、データの保持期間も初めて書き込まれてから10年程度が限界(ある程度劣化した後に書き込まれた場合は、保持期間も当然短くなる)となっています。これによって、パソコンのOSなどの書き換えの行われないシステムファイルについては、インストール後10年以上経過すると起動不能の原因となる可能性があります。

解決策

SSDでは、これらの記憶素子として使われている、NAND型Flash ROMの内部の物理的なセルの順番を、データを書き込むための論理番号としてそのまま単純に割り当てると、結果として若い番号のセルの方が書き込みの繰り返し頻度が高くなり、後の方のセルは全く使用されないままでも、短期間でSSD全体の寿命となってしまう現象が予想されるため、その予防策として各セルの書き込み回数をモニタしたり、絶縁体の損傷の具合を検出したりして、全体のセルの書き込み回数(損傷レベル)が均等化されるように論理番号の割り当てを何度も更新することで寿命の引き伸ばしを図る、ウェアレベリング(Wear Leveling:磨耗平均化)と呼ばれる機能などを付加することによって、この書き換え回数の限度による問題を解決しています。このウェアレベリングのアルゴリズムは、各社各様で、そのアルゴリズムによってもSSDの製品寿命や製品のパフォーマンスに影響が現れる結果となります。