フラッシュメモリの基礎と電源障害に強いファイルシステムの構築

ビットエラーとECC

NAND型フラッシュには、不良ブロックの発生のほかに、ビットエラーという厄介な特性があります。
NOR型フラッシュでは通常の使用時にビットエラーを気にすることはほとんどありませんが、 NAND型フラッシュはその構造上メモリセルの値を読み出すビットラインが複数のセルのソースとドレインの連鎖によって形成されており、専用の配線をもっていません。
そのため、セルの面積を最小にでき、集積度を高めることができます。
しかし、その利点の一方で、連鎖上の別のセルの状態に影響され、読み出したいセルの値が正しく読み出せない場合があるのです。
これがビットエラーとして現われます。

NOR型のフラッシュは、各メモリセルの値を読み出すためのラインをそれぞれもっており、ほかのセルの状態に影響を受けにくい構造になっています。

現在のNAND型フラッシュでは、ビットエラーが出現する確率はかなり低く、エラー訂正をしないままでもデータが極端に壊れるようなことはありません。
しかし、完全にエラーがないとはいえないので、これに備えてECC (Error Correction Code) を使用します。
一般的にいって、もっとも簡単なECCはスマートメディアで使用されているようなハミングコードを使用したものです。
このECCは1ビット訂正、 2ビットランダムエラー検出の能力があります。
このECCは32ビットのマイクロプロセッサで計算させても実用になる程度の計算で済みます。

多ビットのエラーを訂正できるように、無線通信やCD、ビデオなどに使われるリードソロモン符号を使ったさらに強力なECCを適応する場合もありますが、ソフトウェアで処理するには計算が重いため実用になりません。
NANDコントローラなどの専用のハードウェア上で実装される場合がほとんどです。

ハミングコードを使ったECCについては、本誌1999年12月号の特集第5章に詳しく解説されています。

ページ: 1 2 3 4 5 6 7 8 9 10 11 12 13

まずはお気軽にお問い合わせください

弊社の持つあらゆるナレッジからお客様のビジネスニーズに適したソリューションをご提供します。

株式会社京都ソフトウェアリサーチをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む