Fugue Kyoto Software Research, Inc.
製品概要
コンセプト
ユースケース
技術情報
Fugueだけではなく、フラッシュメモリやフラッシュファイルシステムについて解説などを掲載しています。
 はじめに
 フラッシュとは
 NAND型フラッシュの
 リードライトのパフォーマンス
 不良ブロックの処理
 ビット・エラーとECC
 メモリ・マッピング
 リクラメーション
 ウェア・レベリング
 フラッシュファイルシステムと
 FATファイル・システムの
 電源瞬断による破損
 電源瞬断対策
 おわりに
パートナ
お問合せ
top >  技術情報 >  「Interface」 2004年12月号
ビット・エラーとECC
   NAND型フラッシュには,不良ブロックの発生のほかに,ビット・エラーという厄介な特性があります. NOR型フラッシュでは通常の使用時にビット・エラーを気にすることはほとんどありませんが, NAND型フラッシュはその構造上メモリ・セルの値を読み出すビット・ラインが複数のセルのソースとドレインの連鎖によって形成されており, 専用の配線をもっていません.そのため,セルの面積を最小にでき,集積度を高めることができます.しかし,その利点の一方で, 連鎖上の別のセルの状態に影響され,読み出したいセルの値が正しく読み出せない場合があるのです.これがビット・エラーとして現われます.

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

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

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

   ハミング・コードを使ったECCについては,本誌1999年12月号の特集第5章に詳しく解説されています.
   
不良ブロックの処理 << >> メモリ・マッピング