(57)【要約】【課題】  記憶可能なビット数が互いに異なる複数の記憶領域を効率よく使用することが可能な不揮発性半導体記憶装置を提供する。【解決手段】  ＮＡＮＤ型フラッシュメモリ１００内部のメモリセルアレイ１０７は、２値セル領域（第１のメモリ領域）及び１６値セル領域（第２のメモリ領域）を有する。２値セル領域は２値セルとしての書き換え保証回数（第１の所定回数）、１６値セル領域は１６値セルとしての書き換え保証回数（第２の所定回数）を使用して、各々の領域の書き換え回数が制御される。【選択図】  図１０
2008257773.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ（Ｎは１以上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１の
メモリ領域と、
Ｍ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメ
モリ領域とを具備し、
前記第１のメモリ領域において、独立して消去可能な最小単位であるブロックの書き換え
回数は、当該ブロックの書き換え回数と第１の所定回数との比較により、当該第１の所定
回数以下になるように制御され、
前記第２のメモリ領域において、独立して消去可能な最小単位であるブロックの書き換え
回数は、当該ブロックの書き換え回数と第２の所定回数との比較により、当該第２の所定
回数以下になるように制御されることを特徴とする不揮発性半導体記憶装置。
【請求項２】
前記第１のメモリ領域において、書き換え回数が前記第１の所定回数の第１の所定の割
合に達した前記ブロックに記憶されているデータは、書き換え回数が前記第１の所定回数
の前記第１の所定の割合よりも少ない前記ブロックに記憶されているデータと入れ替えら
れ、且つ、前記第２のメモリ領域において、書き換え回数が前記第２の所定回数の第２の
所定の割合に達した前記ブロックに記憶されているデータは、書き換え回数が前記第２の
所定回数の前記第２の所定の割合よりも少ない前記ブロックに記憶されているデータと入
れ替えられることを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項３】
前記第１のメモリ領域において、書き換え回数が前記第１の所定回数の第１の所定の割
合に達した前記ブロックに記憶されているデータは、書き換え回数が最小の前記ブロック
に記憶されているデータと入れ替えられ、且つ、前記第２のメモリ領域において、書き換
え回数が前記第２の所定回数の第２の所定の割合に達した前記ブロックに記憶されている
データは、書き換え回数が最小の前記ブロックに記憶されているデータと入れ替えられる
ことを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項４】
前記第１のメモリ領域は、書き換え回数を平均化する対象とされる複数の前記ブロック
から構成される第３のメモリ領域及び書き換え回数を平均化する対象から除外される複数
の前記ブロックから構成される第４のメモリ領域を有し、
前記第４のメモリ領域は、前記第１のメモリ領域及び前記第２のメモリ領域を管理するた
めの管理データを記憶する前記ブロックを含み、
前記第３のメモリ領域において、書き換え回数が前記第１の所定回数の第１の所定の割合
に達した前記ブロックに記憶されているデータは、書き換え回数が最小の前記ブロックに
記憶されているデータと入れ替えられ、且つ、前記第２のメモリ領域において、書き換え
回数が前記第２の所定回数の第２の所定の割合に達した前記ブロックに記憶されているデ
ータは、書き換え回数が最小の前記ブロックに記憶されているデータと入れ替えられるこ
とを特徴とする請求項１に記載の不揮発性半導体記憶装置。
【請求項５】
前記第１の所定の割合と前記第２の所定の割合とは互いに異なる値に設定されることを
特徴とする請求項２乃至請求項４のいずれか１項に記載の不揮発性半導体記憶装置。
【請求項６】
前記第１の所定の割合及び前記第２の所定の割合は、９０％以上に設定されることを特
徴とする請求項２乃至請求項５のいずれか１項に記載の不揮発性半導体記憶装置。
【請求項７】
Ｎ（Ｎは１以上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１の
メモリ領域と、
Ｍ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメ
モリ領域とを具備し、
前記第１のメモリ領域及び前記第２のメモリ領域は、各々独立して消去可能な単位である
ブロックに分割され、
前記第１のメモリ領域において、書き換え回数が多い前記ブロックと書き換え回数が少な
い前記ブロックとの書き換え回数の差が第１の設定値に達した場合に、当該書き換え回数
が多い前記ブロックに記憶されているデータと当該書き換え回数が少ない前記ブロックに
記憶されているデータとが入れ替えられ、
前記第２のメモリ領域において、書き換え回数が多い前記ブロックと書き換え回数が少な
い前記ブロックとの書き換え回数の差が第２の設定値に達した場合に、当該書き換え回数
が多い前記ブロックに記憶されているデータと当該書き換え回数が少ない前記ブロックに
記憶されているデータとが入れ替えられることを特徴とする不揮発性半導体記憶装置。
【請求項８】
Ｎ（Ｎは１以上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１の
メモリ領域と、
Ｍ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメ
モリ領域とを具備し、
前記第１のメモリ領域及び前記第２のメモリ領域は、各々独立して消去可能な単位である
ブロックに分割され、
前記第１のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回数が最
小の前記ブロックとの書き換え回数の差が第１の設定値に達した場合に、当該書き換え回
数が最大の前記ブロックに記憶されているデータと当該書き換え回数が最小の前記ブロッ
クに記憶されているデータとが入れ替えられ、
前記第２のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回数が最
小の前記ブロックとの書き換え回数の差が第２の設定値に達した場合に、当該書き換え回
数が最大の前記ブロックに記憶されているデータと当該書き換え回数が最小の前記ブロッ
クに記憶されているデータとが入れ替えられることを特徴とする不揮発性半導体記憶装置
。
【請求項９】
Ｎ（Ｎは１以上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１の
メモリ領域と、
Ｍ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメ
モリ領域とを具備し、
前記第１のメモリ領域及び前記第２のメモリ領域は、各々独立して消去可能な単位である
ブロックに分割され、
前記第１のメモリ領域は、書き換え回数を平均化する対象とされる複数の前記ブロックか
ら構成される第３のメモリ領域及び書き換え回数を平均化する対象から除外される複数の
前記ブロックから構成される第４のメモリ領域を有し、
前記第４のメモリ領域は、前記第１のメモリ領域及び前記第２のメモリ領域を管理するた
めの管理データを記憶する前記ブロックを含み、
前記第３のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回数が最
小の前記ブロックとの書き換え回数の差が第１の設定値に達した場合に、当該書き換え回
数が最大のブロックに記憶されているデータと当該書き換え回数が最小のブロックに記憶
されているデータとが入れ替えられ、
前記第２のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回数が最
小の前記ブロックとの書き換え回数の差が第２の設定値に達した場合に、当該書き換え回
数が最大のブロックに記憶されているデータと当該書き換え回数が最小のブロックに記憶
されているデータとが入れ替えられることを特徴とする不揮発性半導体記憶装置。
【請求項１０】
前記第１のメモリ領域における前記ブロックの書き換え回数は、当該ブロックの書き換
え回数と第１の所定回数との比較により、当該第１の所定回数以下になるように制御され
、
前記第２のメモリ領域において、独立して消去可能な最小単位であるブロックの書き換え
回数は、当該ブロックの書き換え回数と第２の所定回数との比較により、当該第２の所定
回数以下になるように制御されることを特徴とする請求項７乃至請求項９のいずれか１項
に記載の不揮発性半導体記憶装置。
【請求項１１】
前記第１の設定値は前記第１の所定回数より小さく、前記第２の設定値は前記第２の所
定回数より小さいことを特徴とする請求項１０に記載の不揮発性半導体記憶装置。
【請求項１２】
装置外部から入力された書き込みデータは、前記第１のメモリ領域に書き込まれた後に
、前記第１のメモリ領域から読み出され、前記第２のメモリ領域に転送されることを特徴
とする請求項１乃至請求項３または請求項７または請求項８のいずれか１項に記載の不揮
発性半導体記憶装置。
【請求項１３】
装置外部から入力された書き込みデータは、前記第３のメモリ領域内の複数のブロック
から構成されるバッファ領域に書き込まれた後に、前記バッファ領域から読み出され、前
記第２のメモリ領域に転送されることを特徴とする請求項４または請求項９に記載の不揮
発性半導体記憶装置。
【請求項１４】
前記第１の所定回数は、前記第２の所定回数よりも大きいことを特徴とする請求項１乃
至請求項６または請求項１０または請求項１１のいずれか１項に記載の不揮発性半導体記
憶装置。
【請求項１５】
前記第１のメモリ領域の記憶容量は、前記第２のメモリ領域の記憶容量よりも小さいこ
とを特徴とする請求項１乃至請求項１４のいずれか１項に記載の不揮発性半導体記憶装置
。
【請求項１６】
前記第１のメモリ領域へのデータ書き込み速度は、前記第２のメモリ領域へのデータ書
き込み速度より速いことを特徴とする請求項１乃至請求項１５のいずれか１項に記載の不
揮発性半導体記憶装置。
【請求項１７】
前記ブロックの書き換え回数は、前記ブロックに記憶されているデータが消去される都
度カウントされる値であることを特徴とする請求項１乃至請求項１６のいずれか１項に記
載の不揮発性半導体記憶装置。
【請求項１８】
前記第１のメモリ領域における前記メモリセルは１ビットのデータを記憶可能であり、
且つ、前記第２のメモリ領域における前記メモリセルは４ビットのデータを記憶可能であ
ることを特徴とする請求項１乃至請求項１７のいずれか１項に記載の不揮発性半導体記憶
装置。
【請求項１９】
前記第１の領域における前記メモリセルは１ビットのデータを記憶可能であり、且つ、
前記第２の領域における前記メモリセルは４ビットのデータを記憶可能であって、
前記第１のメモリ領域を構成するブロック数は、前記第１のメモリ領域を構成するブロッ
ク数と前記第２のメモリ領域を構成するブロック数との和の３３パーセント以下であるこ
とを特徴とする請求項１２に記載の不揮発性半導体記憶装置。
【請求項２０】
前記第１の領域における前記メモリセルは１ビットのデータを記憶可能であり、且つ、前
記第２の領域における前記メモリセルは４ビットのデータを記憶可能であって、
前記バッファ領域を構成するブロック数は、前記バッファ領域を構成するブロック数と前
記第２のメモリ領域を構成するブロック数との和の３３パーセント以下であることを特徴
とする請求項１３に記載の不揮発性半導体記憶装置。
【請求項２１】
前記第１のメモリ領域のブロック数をＡ、前記第２のメモリ領域のブロック数をＢとし
て、前記第１の所定回数は、前記第２の所定回数の（４Ｂ／Ａ）倍以上であることを特徴
とする請求項１２または請求項１９に記載の不揮発性半導体記憶装置。
【請求項２２】
前記バッファ領域のブロック数をＡ、前記第２のメモリ領域のブロック数をＢとして、
前記第１の所定回数は、前記第２の所定回数の（４Ｂ／Ａ）倍以上であることを特徴とす
る請求項１３または請求項２０に記載の不揮発性半導体記憶装置。
【請求項２３】
前記第１の領域における前記メモリセルは１ビットのデータを記憶可能であり、且つ、
前記第２の領域における前記メモリセルは３ビットのデータを記憶可能であることを特徴
とする請求項１乃至請求項１７のいずれか１項に記載の不揮発性半導体記憶装置。
【請求項２４】
Ｎ（Ｎは１以上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１の
メモリ領域及びＭ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数
有する第２のメモリ領域を有する不揮発性半導体記憶装置の制御方法であって、
前記第１のメモリ領域において、独立して消去可能な最小単位であるブロックの書き換え
回数を、当該ブロックの書き換え回数と第１の所定回数との比較により、当該第１の所定
回数以下になるように制御する工程と、
前記第２のメモリ領域において、独立して消去可能な最小単位であるブロックの書き換え
回数を、当該ブロックの書き換え回数と第２の所定回数との比較により、当該第２の所定
回数以下になるように制御する工程とを具備することを特徴とする不揮発性半導体記憶装
置の制御方法。
【請求項２５】
前記第１のメモリ領域において、書き換え回数が前記第１の所定回数の第１の所定の割
合に達した前記ブロックに記憶されているデータを、書き換え回数が前記第１の所定回数
の前記第１の所定の割合よりも少ない前記ブロックに記憶されているデータと入れ替え、
且つ、前記第２のメモリ領域において、書き換え回数が前記第２の所定回数の第２の所定
の割合に達した前記ブロックに記憶されているデータを、書き換え回数が前記第２の所定
回数の前記第２の所定の割合よりも少ない前記ブロックに記憶されているデータと入れ替
える工程を更に具備することを特徴とする請求項２４に記載の不揮発性半導体記憶装置の
制御方法。
【請求項２６】
Ｎ（Ｎは１以上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１の
メモリ領域及びＭ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数
有する第２のメモリ領域を有し、前記第１のメモリ領域及び前記第２のメモリ領域は各々
独立して消去可能な単位であるブロックに分割されている不揮発性半導体記憶装置の制御
方法であって、
前記第１のメモリ領域において、書き換え回数が多い前記ブロックと書き換え回数が少な
い前記ブロックとの書き換え回数の差が第１の設定値に達した場合に、当該書き換え回数
が多い前記ブロックに記憶されているデータと当該書き換え回数が少ない前記ブロックに
記憶されているデータとを入れ替え、
前記第２のメモリ領域において、書き換え回数が多い前記ブロックと書き換え回数が少な
い前記ブロックとの書き換え回数の差が第２の設定値に達した場合に、当該書き換え回数
が多い前記ブロックに記憶されているデータと当該書き換え回数が少ない前記ブロックに
記憶されているデータとを入れ替えることを特徴とする不揮発性半導体記憶装置の制御方
法。
【請求項２７】
Ｎ（Ｎは１以上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１の
メモリ領域及びＭ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数
有する第２のメモリ領域を有し、前記第１のメモリ領域及び前記第２のメモリ領域は各々
独立して消去可能な単位であるブロックに分割されている不揮発性半導体記憶装置の制御
方法であって、
前記第１のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回数が最
小の前記ブロックとの書き換え回数の差が第１の設定値に達した場合に、当該書き換え回
数が最大の前記ブロックに記憶されているデータと当該書き換え回数が最小の前記ブロッ
クに記憶されているデータとを入れ替え、
前記第２のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回数が最
小の前記ブロックとの書き換え回数の差が第２の設定値に達した場合に、当該書き換え回
数が最大の前記ブロックに記憶されているデータと当該書き換え回数が最小の前記ブロッ
クに記憶されているデータとを入れ替えることを特徴とする不揮発性半導体記憶装置の制
御方法。
【請求項２８】
前記第１のメモリ領域における前記ブロックの書き換え回数を、当該ブロックの書き換
え回数と第１の所定回数との比較により、当該第１の所定回数以下になるように制御し、
前記第２のメモリ領域において、独立して消去可能な最小単位であるブロックの書き換え
回数を、当該ブロックの書き換え回数と第２の所定回数との比較により、当該第２の所定
回数以下になるように制御することを特徴とする請求項２６または請求項２７に記載の不
揮発性半導体記憶装置の制御方法。
【請求項２９】
請求項１乃至請求項６または請求項１０または請求項１１または請求項１４のいずれか
１項に記載の不揮発性半導体記憶装置を制御可能なコントローラを具備し、
前記コントローラは、前記第１のメモリ領域における前記ブロックの書き換え回数及び前
記第２のメモリ領域における前記ブロックの書き換え回数を、書き換え回数管理テーブル
により管理し、当該書き換え回数管理テーブルを参照することにより、前記第１のメモリ
領域に含まれる前記ブロックそれぞれの書き換え回数が前記第１の所定回数以下になるよ
うに、且つ、前記第２のメモリ領域に含まれる前記ブロックそれぞれの書き換え回数が前
記第２の所定回数以下になるように制御することを特徴とする不揮発性半導体記憶システ
ム。
【請求項３０】
１ビットのデータを記憶可能なメモリセルを複数有する第１のメモリ領域及び４ビット
のデータを記憶可能なメモリセルを複数有する第２のメモリ領域を有し、前記第１のメモ
リ領域及び前記第２のメモリ領域は各々独立して消去可能な単位であるブロックに分割さ
れている不揮発性半導体記憶装置と、前記不揮発性半導体記憶装置を制御可能なコントロ
ーラとを具備する不揮発性半導体記憶システムであって、
前記第１のメモリ領域は、前記第１のメモリ領域及び前記第２のメモリ領域における前記
ブロックの消去回数を管理する書き換え回数管理テーブルを記憶し、
前記コントローラは、システム外部から前記コントローラに入力された書き込みデータを
前記不揮発性半導体記憶装置内部の前記第１のメモリ領域に書き込み、システム外部から
のアクセスが終了した後に所定の時間が経過したことを検知すると、前記書き込みデータ
を前記第１のメモリ領域から前記第２のメモリ領域に転送し、前記第１のメモリ領域から
前記第２のメモリ領域に転送が完了した書き込みデータを記憶している前記ブロックを消
去し、また、前記書き換え回数管理テーブルを参照することにより、前記第１のメモリ領
域に含まれる前記ブロックそれぞれの書き換え回数が第１の所定回数以下になるように、
且つ、前記第２のメモリ領域に含まれる前記ブロックそれぞれの書き換え回数が第２の所
定回数以下になるように制御し、また、前記書き換え回数管理テーブルを参照することに
より、前記第１のメモリ領域において、書き換え回数が前記第１の所定回数の第１の所定
の割合に達した前記ブロックに記憶されているデータを、書き換え回数が最小の前記ブロ
ックに記憶されているデータと入れ替え、且つ、前記第２のメモリ領域において、書き換
え回数が前記第２の所定回数の第２の所定の割合に達した前記ブロックに記憶されている
データを、書き換え回数が最小の前記ブロックに記憶されているデータと入れ替えること
を特徴とする不揮発性半導体記憶システム。
【請求項３１】
１ビットのデータを記憶可能なメモリセルを複数有する第１のメモリ領域及び４ビット
のデータを記憶可能なメモリセルを複数有する第２のメモリ領域を有し、前記第１のメモ
リ領域及び前記第２のメモリ領域は各々独立して消去可能な単位であるブロックに分割さ
れている不揮発性半導体記憶装置と、前記不揮発性半導体記憶装置を制御可能なコントロ
ーラとを具備する不揮発性半導体記憶システムであって、
前記第１のメモリ領域は、前記前記第１のメモリ領域及び前記第２のメモリ領域における
前記ブロックの消去回数を管理する書き換え回数管理テーブルを記憶し、
前記コントローラは、システム外部から前記コントローラに入力された書き込みデータを
前記不揮発性半導体記憶装置内部の前記第１のメモリ領域に書き込み、システム外部から
のアクセスが終了した後に所定の時間が経過したことを検知すると、前記書き込みデータ
を前記第１のメモリ領域から前記第２のメモリ領域に転送し、前記第１のメモリ領域から
前記第２のメモリ領域に転送が完了した書き込みデータを記憶している前記ブロックを消
去し、また、前記書き換え回数管理テーブルを参照することにより、前記第１のメモリ領
域に含まれる前記ブロックそれぞれの書き換え回数が第１の所定回数以下になるように、
且つ、前記第２のメモリ領域に含まれる前記ブロックそれぞれの書き換え回数が第２の所
定回数以下になるように制御し、また、前記書き換え回数管理テーブルを参照することに
より、前記第１のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回
数が最小の前記ブロックとの書き換え回数の差が第１の設定値に達した場合に、当該書き
換え回数が最大の前記ブロックに記憶されているデータと当該書き換え回数が最小の前記
ブロックに記憶されているデータとを入れ替え、前記第２のメモリ領域において、書き換
え回数が最大の前記ブロックと書き換え回数が最小の前記ブロックとの書き換え回数の差
が第２の設定値に達した場合に、当該書き換え回数が最大の前記ブロックに記憶されてい
るデータと当該書き換え回数が最小の前記ブロックに記憶されているデータとを入れ替え
ることを特徴とする不揮発性半導体記憶システム。
【請求項３２】
請求項２９乃至請求項３１のいずれか１項に記載の不揮発性半導体記憶システムを有し
、ホスト装置と電気的に接続可能な複数の入出力端子を備え、当該入出力端子を介してコ
マンド、アドレス、及びデータが転送されることを特徴とするメモリカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体記憶装置に係り、特に、その書き換え回数管理方法に関する
。
【背景技術】
【０００２】
近年、電気的書き換え可能で、且つ、高集積化が可能な不揮発性半導体記憶装置として
、ＮＡＮＤ型フラッシュメモリを内蔵したメモリカードが、携帯電話やデジタルスチルカ
メラ等の電子機器向けに開発されている。
【０００３】
ＮＡＮＤ型フラッシュメモリのメモリセルは、半導体基板上にトンネル絶縁膜を介して
形成された浮遊ゲート、及び当該浮遊ゲート上にゲート間絶縁膜を介して積層された制御
ゲートを有する２層ＭＯＳトランジスタ構造から成り、浮遊ゲートに蓄積された電荷の多
寡により、ＭＯＳトランジスタとしての閾値電圧を制御してデータを不揮発に記憶する。
【０００４】
具体的には、浮遊ゲートに電子を注入した閾値電圧の高い状態をデータ“０”、浮遊ゲ
ートの電子を放出した閾値電圧の低い状態をデータ“１”として、１ビットの情報（閾値
分布は２個：２値セル）の記憶を行う。また、近年では、閾値電圧を細分化して、２ビッ
トの情報（閾値分布は４個：４値セル）の記憶を行う多値技術が開発されている。
【０００５】
ＮＡＮＤ型フラッシュメモリにおいて、メモリセルをマトリクス状に配列して構成され
るメモリセルアレイは、各々独立して消去可能な単位であるブロックに分割されている。
更に、各々のブロックの書き換え回数は管理され、書き換え保証回数を越えないように制
御される。
【０００６】
２値セルは、閾値分布がブロードであっても十分な読み出しマージンを確保することが
可能であるため、書き込み速度が高く、また、データ保持についても十分な信頼性を有し
ている。従って、書き換え保証回数は、例えば１００，０００回と設定される。
【０００７】
一方、４値セルは、閾値分布が２値セルと比較してシャープであることが要求されるた
め、メモリセルへの書き込みにおいて、より繊細な制御が求められる。従って、書き込み
速度は、２値セルに対して例えば１／４程度となる。また、データ保持等の信頼性に関し
ても２値セルと比較してマージンが乏しいため、書き換え保証回数は、例えば１万回と設
定される。
【０００８】
従来、メモリカード内部においては、上記２種類のメモリセルを混在して使用しており
、１個のメモリチップに２値セル領域と４値セル領域とが混在している場合もあり得る。
具体的には、あるメモリ空間を時には２値セルとして使用し、また、ある時には４値セル
として使用する場合が想定される（例えば、特許文献１参照。）。この場合、４値セルの
書き換え保証回数により、２値セル領域について書き換え回数の平均化が行われていた。
【特許文献１】特開平１１−３４５４９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、記憶可能なビット数が互いに異なる複数の記憶領域を効率よく使用すること
が可能な不揮発性半導体記憶装置を提供する。
【課題を解決するための手段】
【００１０】
本発明の一態様に係る不揮発性半導体記憶装置は、Ｎ（Ｎは１以上の自然数）ビットの
データを記憶可能なメモリセルを複数有する第１のメモリ領域と、Ｍ（Ｍ＞Ｎ：Ｍは自然
数）ビットのデータを記憶可能なメモリセルを複数有する第２のメモリ領域とを具備し、
前記第１のメモリ領域において、独立して消去可能な最小単位であるブロックの書き換え
回数は、当該ブロックの書き換え回数と第１の所定回数との比較により、当該第１の所定
回数以下になるように制御され、前記第２のメモリ領域において、独立して消去可能な最
小単位であるブロックの書き換え回数は、当該ブロックの書き換え回数と第２の所定回数
との比較により、当該第２の所定回数以下になるように制御されることを特徴とする。
【００１１】
また、本発明の別態様に係る不揮発性半導体記憶装置は、Ｎ（Ｎは１以上の自然数）ビ
ットのデータを記憶可能なメモリセルを複数有する第１のメモリ領域と、Ｍ（Ｍ＞Ｎ：Ｍ
は自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメモリ領域とを具
備し、前記第１のメモリ領域及び前記第２のメモリ領域は、各々独立して消去可能な単位
であるブロックに分割され、前記第１のメモリ領域において、書き換え回数が多い前記ブ
ロックと書き換え回数が少ない前記ブロックとの書き換え回数の差が第１の設定値に達し
た場合に、当該書き換え回数が多い前記ブロックに記憶されているデータと当該書き換え
回数が少ない前記ブロックに記憶されているデータとが入れ替えられ、前記第２のメモリ
領域において、書き換え回数が多い前記ブロックと書き換え回数が少ない前記ブロックと
の書き換え回数の差が第２の設定値に達した場合に、当該書き換え回数が多い前記ブロッ
クに記憶されているデータと当該書き換え回数が少ない前記ブロックに記憶されているデ
ータとが入れ替えられることを特徴とする。
【００１２】
また、本発明の更に別態様に係る不揮発性半導体記憶装置は、Ｎ（Ｎは１以上の自然数
）ビットのデータを記憶可能なメモリセルを複数有する第１のメモリ領域と、Ｍ（Ｍ＞Ｎ
：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメモリ領域と
を具備し、前記第１のメモリ領域及び前記第２のメモリ領域は、各々独立して消去可能な
単位であるブロックに分割され、前記第１のメモリ領域において、書き換え回数が最大の
前記ブロックと書き換え回数が最小の前記ブロックとの書き換え回数の差が第１の設定値
に達した場合に、当該書き換え回数が最大の前記ブロックに記憶されているデータと当該
書き換え回数が最小の前記ブロックに記憶されているデータとが入れ替えられ、前記第２
のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回数が最小の前記
ブロックとの書き換え回数の差が第２の設定値に達した場合に、当該書き換え回数が最大
の前記ブロックに記憶されているデータと当該書き換え回数が最小の前記ブロックに記憶
されているデータとが入れ替えられることを特徴とする。
【００１３】
また、本発明の更に別態様に係る不揮発性半導体記憶装置は、Ｎ（Ｎは１以上の自然数
）ビットのデータを記憶可能なメモリセルを複数有する第１のメモリ領域と、Ｍ（Ｍ＞Ｎ
：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメモリ領域と
を具備し、前記第１のメモリ領域及び前記第２のメモリ領域は、各々独立して消去可能な
単位であるブロックに分割され、前記第１のメモリ領域は、書き換え回数を平均化する対
象とされる複数の前記ブロックから構成される第３のメモリ領域及び書き換え回数を平均
化する対象から除外される複数の前記ブロックから構成される第４のメモリ領域を有し、
前記第４のメモリ領域は、前記第１のメモリ領域及び前記第２のメモリ領域を管理するた
めの管理データを記憶する前記ブロックを含み、前記第３のメモリ領域において、書き換
え回数が最大の前記ブロックと書き換え回数が最小の前記ブロックとの書き換え回数の差
が第１の設定値に達した場合に、当該書き換え回数が最大のブロックに記憶されているデ
ータと当該書き換え回数が最小のブロックに記憶されているデータとが入れ替えられ、前
記第２のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回数が最小
の前記ブロックとの書き換え回数の差が第２の設定値に達した場合に、当該書き換え回数
が最大のブロックに記憶されているデータと当該書き換え回数が最小のブロックに記憶さ
れているデータとが入れ替えられることを特徴とする。
【００１４】
また、本発明の更に別態様に係る不揮発性半導体記憶装置の制御方法は、Ｎ（Ｎは１以
上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１のメモリ領域及び
Ｍ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメ
モリ領域を有する不揮発性半導体記憶装置の制御方法であって、前記第１のメモリ領域に
おいて、独立して消去可能な最小単位であるブロックの書き換え回数を、当該ブロックの
書き換え回数と第１の所定回数との比較により、当該第１の所定回数以下になるように制
御する工程と、前記第２のメモリ領域において、独立して消去可能な最小単位であるブロ
ックの書き換え回数を、当該ブロックの書き換え回数と第２の所定回数との比較により、
当該第２の所定回数以下になるように制御する工程とを具備することを特徴とする。
【００１５】
また、本発明の更に別態様に係る不揮発性半導体記憶装置の制御方法は、Ｎ（Ｎは１以
上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１のメモリ領域及び
Ｍ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメ
モリ領域を有し、前記第１のメモリ領域及び前記第２のメモリ領域は各々独立して消去可
能な単位であるブロックに分割されている不揮発性半導体記憶装置の制御方法であって、
前記第１のメモリ領域において、書き換え回数が多い前記ブロックと書き換え回数が少な
い前記ブロックとの書き換え回数の差が第１の設定値に達した場合に、当該書き換え回数
が多い前記ブロックに記憶されているデータと当該書き換え回数が少ない前記ブロックに
記憶されているデータとを入れ替え、前記第２のメモリ領域において、書き換え回数が多
い前記ブロックと書き換え回数が少ない前記ブロックとの書き換え回数の差が第２の設定
値に達した場合に、当該書き換え回数が多い前記ブロックに記憶されているデータと当該
書き換え回数が少ない前記ブロックに記憶されているデータとを入れ替えることを特徴と
する。
【００１６】
また、本発明の更に別態様に係る不揮発性半導体記憶装置の制御方法は、Ｎ（Ｎは１以
上の自然数）ビットのデータを記憶可能なメモリセルを複数有する第１のメモリ領域及び
Ｍ（Ｍ＞Ｎ：Ｍは自然数）ビットのデータを記憶可能なメモリセルを複数有する第２のメ
モリ領域を有し、前記第１のメモリ領域及び前記第２のメモリ領域は各々独立して消去可
能な単位であるブロックに分割されている不揮発性半導体記憶装置の制御方法であって、
前記第１のメモリ領域において、書き換え回数が最大の前記ブロックと書き換え回数が最
小の前記ブロックとの書き換え回数の差が第１の設定値に達した場合に、当該書き換え回
数が最大の前記ブロックに記憶されているデータと当該書き換え回数が最小の前記ブロッ
クに記憶されているデータとを入れ替え、前記第２のメモリ領域において、書き換え回数
が最大の前記ブロックと書き換え回数が最小の前記ブロックとの書き換え回数の差が第２
の設定値に達した場合に、当該書き換え回数が最大の前記ブロックに記憶されているデー
タと当該書き換え回数が最小の前記ブロックに記憶されているデータとを入れ替えること
を特徴とする。
【００１７】
また、本発明の更に別態様に係る不揮発性半導体記憶システムは、１ビットのデータを
記憶可能なメモリセルを複数有する第１のメモリ領域及び４ビットのデータを記憶可能な
メモリセルを複数有する第２のメモリ領域を有し、前記第１のメモリ領域及び前記第２の
メモリ領域は各々独立して消去可能な単位であるブロックに分割されている不揮発性半導
体記憶装置と、前記不揮発性半導体記憶装置を制御可能なコントローラとを具備する不揮
発性半導体記憶システムであって、前記第１のメモリ領域は、前記第１のメモリ領域及び
前記第２のメモリ領域における前記ブロックの消去回数を管理する書き換え回数管理テー
ブルを記憶し、前記コントローラは、システム外部から前記コントローラに入力された書
き込みデータを前記不揮発性半導体記憶装置内部の前記第１のメモリ領域に書き込み、シ
ステム外部からのアクセスが終了した後に所定の時間が経過したことを検知すると、前記
書き込みデータを前記第１のメモリ領域から前記第２のメモリ領域に転送し、前記第１の
メモリ領域から前記第２のメモリ領域に転送が完了した書き込みデータを記憶している前
記ブロックを消去し、また、前記書き換え回数管理テーブルを参照することにより、前記
第１のメモリ領域に含まれる前記ブロックそれぞれの書き換え回数が第１の所定回数以下
になるように、且つ、前記第２のメモリ領域に含まれる前記ブロックそれぞれの書き換え
回数が第２の所定回数以下になるように制御し、また、前記書き換え回数管理テーブルを
参照することにより、前記第１のメモリ領域において、書き換え回数が前記第１の所定回
数の第１の所定の割合に達した前記ブロックに記憶されているデータを、書き換え回数が
最小の前記ブロックに記憶されているデータと入れ替え、且つ、前記第２のメモリ領域に
おいて、書き換え回数が前記第２の所定回数の第２の所定の割合に達した前記ブロックに
記憶されているデータを、書き換え回数が最小の前記ブロックに記憶されているデータと
入れ替えることを特徴とする。
【００１８】
また、本発明の更に別態様に係る不揮発性半導体記憶システムは、１ビットのデータを
記憶可能なメモリセルを複数有する第１のメモリ領域及び４ビットのデータを記憶可能な
メモリセルを複数有する第２のメモリ領域を有し、前記第１のメモリ領域及び前記第２の
メモリ領域は各々独立して消去可能な単位であるブロックに分割されている不揮発性半導
体記憶装置と、前記不揮発性半導体記憶装置を制御可能なコントローラとを具備する不揮
発性半導体記憶システムであって、前記第１のメモリ領域は、前記前記第１のメモリ領域
及び前記第２のメモリ領域における前記ブロックの消去回数を管理する書き換え回数管理
テーブルを記憶し、前記コントローラは、システム外部から前記コントローラに入力され
た書き込みデータを前記不揮発性半導体記憶装置内部の前記第１のメモリ領域に書き込み
、システム外部からのアクセスが終了した後に所定の時間が経過したことを検知すると、
前記書き込みデータを前記第１のメモリ領域から前記第２のメモリ領域に転送し、前記第
１のメモリ領域から前記第２のメモリ領域に転送が完了した書き込みデータを記憶してい
る前記ブロックを消去し、また、前記書き換え回数管理テーブルを参照することにより、
前記第１のメモリ領域に含まれる前記ブロックそれぞれの書き換え回数が第１の所定回数
以下になるように、且つ、前記第２のメモリ領域に含まれる前記ブロックそれぞれの書き
換え回数が第２の所定回数以下になるように制御し、また、前記書き換え回数管理テーブ
ルを参照することにより、前記第１のメモリ領域において、書き換え回数が最大の前記ブ
ロックと書き換え回数が最小の前記ブロックとの書き換え回数の差が第１の設定値に達し
た場合に、当該書き換え回数が最大の前記ブロックに記憶されているデータと当該書き換
え回数が最小の前記ブロックに記憶されているデータとを入れ替え、前記第２のメモリ領
域において、書き換え回数が最大の前記ブロックと書き換え回数が最小の前記ブロックと
の書き換え回数の差が第２の設定値に達した場合に、当該書き換え回数が最大の前記ブロ
ックに記憶されているデータと当該書き換え回数が最小の前記ブロックに記憶されている
データとを入れ替えることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、記憶可能なビット数が互いに異なる複数の記憶領域を効率よく使用す
ることが可能な不揮発性半導体記憶装置を提供できる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態について図面を参照して説明する。
【００２１】
先ず、本発明の実施形態に至る考察過程について説明する。
【００２２】
従来、２値セル領域と４値セル領域とが混在しているＮＡＮＤ型フラッシュメモリでは
、例えば２値セル領域に高速書き込み及び高信頼性が要求されるシステムデータやファイ
ル管理情報等を格納し、４値セル領域にファイルデータ本体を格納するという使用方法が
採られていた。
【００２３】
この場合、システムデータやファイル管理情報等のデータ量はファイル本体のデータ量
に比べ圧倒的に小さいため、２値セルの書き換え保証回数である１００，０００回ではな
く、４値セルの書き換え保証回数である１万回で２値セル領域を管理していた。
【００２４】
一方、例えば、最近開発された１個のメモリセルに４ビットの情報（閾値分布は１６個
：１６値セル）を記憶可能なＮＡＮＤ型フラッシュメモリにおいては、下記のような状況
が生じ得る。
【００２５】
１６値セルは、１個のメモリセルに１ビットの情報の記憶を行う２値セルに比較して、
格段に高いコスト力を有している。但し、閾値分布は極めてシャープであることを要求さ
れるため、２値セルや４値セルに比較して遥かに繊細な制御が必要となり、その書き込み
速度は、２値セルに対して例えば１／６４程度となる。また、データ保持等の信頼性に関
しても、僅かな閾値変動で不良となる可能性がある。
【００２６】
例えば、デジタルスチルカメラの連続写真撮影、デジタルビデオカメラの高画質録画、
及び携帯型音楽プレーヤでの楽曲ダウンロード等は高速な書き込み速度が要求されるが、
上記１６値セルの書き込み速度では、この要求性能を満足できない可能性がある。
【００２７】
そこで、この１６値セルを使用したメモリカード等のシステムを使用する場合において
は、例えば以下のような制御が有効である。即ち、メモリチップ内部に２値セル領域を設
け、この２値セル領域に一旦高速にデータを書き込んだ後、外部ホストシステムのアクセ
スが無い時間に、バックグランド状態で２値セル領域から１６値セル領域にデータを転送
する。
【００２８】
このような制御により、外部ホストシステムから見た性能の向上と、１６値セルを使用
することによるコストダウンとの両立が図られる。ここで、デジタルスチルカメラで言え
ばある程度の撮影枚数、デジタルビデオカメラで言えばある程度の撮影時間を確保するた
めには、相応の２値セル領域を確保しなければならない。また、常に一旦２値セル領域に
データを記憶する必要があることから、従来の２値セル領域と４値セル領域とが混在して
いる場合に比較して、２値セル領域に書き込むデータ量は膨大なものとなる。
【００２９】
このような条件下で従来と同様に、２値セル領域の書き換え回数の管理を１６値セルの
非常に少ない書き換え保証回数により行っていたのでは、メモリチップ内部の記憶領域を
有効に使用することができない。従って、記憶可能なビット数が互いに異なる複数の記憶
領域を有効に使用するために、各領域の書き換え回数の管理を如何にして行うかが重要と
なる。
【００３０】
以下の実施形態では、２値セル領域及び１６値セル領域を有するＮＡＮＤ型フラッシュ
メモリを含むメモリシステムを例にとって、本発明の実施形態に係る不揮発性半導体記憶
装置、不揮発性半導体記憶装置の制御方法、及び不揮発性半導体メモリシステムについて
説明する。
【００３１】
［第１の実施形態］
図１は、本実施形態に係る不揮発性半導体記憶システム（以下、メモリシステムと称す
）の構成を示すブロック図である。メモリシステムは、ＮＡＮＤ型フラッシュメモリ１０
０及びフラッシュコントローラ２００を有する。図１においては１個（１チップ）のＮＡ
ＮＤ型フラッシュメモリ１００しか図示していないが、本実施形態に係るメモリシステム
は複数、例えば４個（４チップ）のＮＡＮＤ型フラッシュメモリ１００を備えることが可
能である。
【００３２】
フラッシュコントローラ２００は、ＣＰＵ（Central Processing Unit）２０１、ＲＯ
Ｍ（Read Only Memory）２０２、ＲＡＭ（Random Access Memory）２０３、バッファ２０
４、ＥＣＣ（Error Correction Code）回路２０５、カウンタ２０６、及びタイマ２０７
を有し、外部ホストシステムからの要求に従い、ＮＡＮＤ型フラッシュメモリ１００にア
クセスし、データの書き込み、読み出し、及び消去等の制御を行う。また、図示略の発振
回路、電圧検知回路等のアナログ回路が集積されている。
【００３３】
ＣＰＵ２０１は、メモリシステム全体の動作を制御し、メモリシステムが電源供給を受
けた際に、ＲＯＭ２０２に格納されるファームウェアをＲＡＭ２０３上に読み出して、所
定の処理を実行する。
【００３４】
ＲＯＭ２０２は、ＣＰＵ２０１により制御されるファームウェア等を格納し、ＲＡＭ２
０３は、ＣＰＵ２０１の作業エリアとして使用される。また、電源投入時に、ＮＡＮＤ型
フラッシュメモリ１００からＲＡＭ２０３へ後述する書き換え回数管理テーブルが転送さ
れる。
【００３５】
バッファ２０４は、外部ホストシステムから転送されるデータをＮＡＮＤ型フラッシュ
メモリ１００へ書き込む際に、一定量のデータを一時的に記憶したり、ＮＡＮＤ型フラッ
シュメモリ１００から読み出されるデータを外部ホストシステムへ転送する際に、一定量
のデータを一時的に記憶したりする。
【００３６】
ＥＣＣ回路２０５は、ＮＡＮＤ型フラッシュメモリ１００にデータを書き込む際に、外
部ホストシステムからフラッシュコントローラ２００に入力される書き込みデータに基づ
きＥＣＣ符号を生成し、当該データに付与する。また、ＮＡＮＤ型フラッシュメモリ１０
０からデータを読み出す際に、読み出しデータに基づき生成したＥＣＣ符号と、書き込み
の際に付与されたＥＣＣ符号とを比較することにより、エラーを検出、或いは訂正する。
【００３７】
ＥＣＣ回路２０５におけるエラー訂正アルゴリズムとしては、例えば、ハミング符号、
リードソロモン符号、ＬＤＰＣ（Low Density Parity Check）符号等による複合方式を用
いれば良い。
【００３８】
カウンタ２０６は、後述する書き換え回数管理に供され、独立してデータ消去可能な最
小単位となるブロックＢＬＫの消去回数をカウントする。
【００３９】
タイマ２０７は、外部ホストシステムのアクセスが終了した後、所定の時間が経過した
ことを検知し、ＣＰＵ２０１に通知する。
【００４０】
次に、ＮＡＮＤ型フラッシュメモリ１００の内部構成について、図１及び図２を参照し
て説明する。図２は、ＮＡＮＤ型フラッシュメモリ１００内部のメモリコア部の構成を示
す回路図である。
【００４１】
ＮＡＮＤ型フラッシュメモリ１００は、制御信号入力端子１０１、入出力端子１０２、
ビジー信号出力端子１０３、コマンドデコーダ１０４、アドレスバッファ１０５、データ
バッファ１０６、メモリセルアレイ１０７、カラムデコーダ１０８、センスアンプ回路１
０９、選択回路１１０、ロウデコーダ１１１、ワード線制御回路１１２、制御信号発生回
路１１３、ＲＯＭ１１４、及びＲＡＭ１１５を有する。
【００４２】
チップイネーブル信号ＣＥｎｘ、ライトイネーブル信号ＷＥｎｘ、リードイネーブル信
号ＲＥｎｘ、コマンドラッチイネーブル信号ＣＬＥｘ、アドレスラッチイネーブル信号Ａ
ＬＥｘ、ライトプロテクト信号ＷＰｎｘ等の外部制御信号は、フラッシュコントローラ２
００から、制御信号入力端子１０１を介して制御信号発生回路１１３に入力される。
【００４３】
フラッシュコントローラ２００から入力されるコマンド、アドレス、及びデータは、入
出力端子１０２（Ｉ／Ｏ端子）を介して、コマンドデコーダ１０４、アドレスバッファ１
０５、及びデータバッファ１０６に転送される。また、ＮＡＮＤ型フラッシュメモリ１０
０が、書き込み、読み出し、及び消去動作等に対してレディ状態にあるか、ビジー状態に
あるかを示すステータス信号ＲＢｘが、ビジー信号出力端子１０３を介して、フラッシュ
コントローラ２００に出力可能に構成されている。
【００４４】
コマンドデコーダ１０４は、入出力端子１０２を介して入力されたコマンドをデコード
し、制御信号発生回路１１３に転送する。
【００４５】
アドレスバッファ１０５は、入出力端子１０２を介して入力されたアドレスを一時的に
保持し、カラムアドレスをカラムデコーダ１０８に、また、ロウアドレスをロウデコーダ
１１１に転送する。
【００４６】
データバッファ１０６は、入出力端子１０２を介して入力されたデータを一時的に保持
し、センスアンプ回路１０９に転送する。
【００４７】
メモリセルアレイ１０７は、図２に示すように、電気的書き換え可能な不揮発性メモリ
セルＭＣ０乃至ＭＣ３１（以下、一般にメモリセルＭＣと称する場合がある）、第１の選
択ゲートトランジスタＳＴ１、及び第２の選択ゲートトランジスタＳＴ２が直列接続され
たＮＡＮＤセルユニット（ＮＡＮＤストリング）ＮＵを配列して構成される。
【００４８】
メモリセルＭＣは、例えば、半導体基板上にトンネル絶縁膜を介して形成された浮遊ゲ
ート、及び当該浮遊ゲート上にゲート間絶縁膜を介して積層された制御ゲートを有する２
層ＭＯＳトランジスタ構造から成り、浮遊ゲートに蓄積された電荷の多寡により、ＭＯＳ
トランジスタとしての閾値電圧を制御してデータを不揮発に記憶する。
【００４９】
ＮＡＮＤセルユニットＮＵの一端は、第１の選択ゲートトランジスタＳＴ１を介してビ
ット線ＢＬに、他端は第２の選択ゲートトランジスタＳＴ２を介して共通ソース線ＣＥＬ
ＳＲＣに接続される。同一行のメモリセルＭＣの制御ゲートは、それぞれロウ方向に延在
して共通接続され、ワード線ＷＬ０乃至ＷＬ３１（以下、一般にワード線ＷＬと称する場
合がある）を構成する。また、第１の選択ゲートトランジスタＳＴ１、第２の選択ゲート
トランジスタＳＴ２の制御ゲートは、それぞれロウ方向に延在して共通接続され、選択ゲ
ート線ＳＧＤ、ＳＧＳを構成する。
【００５０】
ロウ方向に複数配列されるＮＡＮＤセルユニットＮＵの集合は、独立してデータ消去の
可能な最小単位となるブロックＢＬＫを構成し、カラム方向に複数のブロックＢＬＫ０乃
至ＢＬＫｎが配置されている。
【００５１】
メモリセルアレイ１０７は、図２に示すように、ブロックＢＬＫ０乃至ブロックＢＬＫ
（ｉ−１）のｉ個のブロックＢＬＫが、１個のメモリセルＭＣに４ビットのデータを記憶
可能な１６値セル領域（第２のメモリ領域）として使用され、ブロックＢＬＫｉ乃至ブロ
ックＢＬＫｎの（ｎ−ｉ＋１）個のブロックＢＬＫが、１個のメモリセルＭＣに１ビット
のデータを記憶可能な２値セル領域（第１のメモリ領域）として使用される。
【００５２】
例えば、メモリシステムが４ＧＢの容量のＮＡＮＤ型フラッシュメモリを８チップ、即
ちメモリシステム全体として３２ＧＢの容量を有する場合、任意の１チップ内において、
２値セル領域が例えば１００ＭＢ程度の容量を占めるようにメモリセルアレイ１０７を構
成することができる。
【００５３】
２値セル領域のメモリセルＭＣは、図３（ａ）に示すように、浮遊ゲートに電子を注入
した閾値電圧の高い状態をデータ“０”、浮遊ゲートの電子を放出した閾値電圧の低い状
態をデータ“１”として、１ビットの情報（閾値分布は２個）の記憶を行うことが可能で
ある。２値セル領域のメモリセルＭＣは、閾値分布がブロードであっても十分な読み出し
マージンを確保することが可能であるため、書き込み速度が高く、例えば２０ＭＢ／秒の
速度でデータ書き込みがなされる。また、データ保持についても十分な信頼性を有してい
る。従って、２値セル領域の書き換え保証回数（第１の所定回数）は、例えば１００，０
００回と設定される。
【００５４】
また、２値セル領域を構成するブロックＢＬＫは、後述するウェアレベリング（書き換
え回数の平均化）の対象とされる領域（第３のメモリ領域）、及びウェアレベリングの対
象から除外される領域（第４のメモリ領域）に分けられる。ウェアレベリングの対象とさ
れる領域は、後述する２値セル領域から１６値セル領域への書き込みデータの転送に供さ
れるバッファ領域を構成するブロックＢＬＫを含む。ウェアレベリングの対象から除外さ
れる領域は、例えば、フラッシュコントローラ２００用のファームウェアその他の制御用
データ等の重要な管理データを記憶するブロックＢＬＫを含む。
【００５５】
１６値セル領域のメモリセルＭＣは、図３（ｂ）に示すように、２値セル領域のメモリ
セルＭＣよりも閾値分布を細分化して管理し、例えば、閾値電圧の順にデータ“１１１１
”、データ“０１１１”、データ“００１１”、データ“１０１１”、データ“０００１
”、データ“１００１”、データ“０１０１”、データ“１１０１”、データ“００００
”、データ“１０００”、データ“０１００”、データ“１１００”、データ“００１０
”、データ“１０１０”、データ“０１１０”、及びデータ“１１１０”として、４ビッ
トの情報（閾値分布は１６個）の記憶を行う事が可能である。
【００５６】
１６値セル領域のメモリセルＭＣは、閾値分布が極めてシャープであることが要求され
るため、格段繊細な書き込み制御が必要となり、その書き込み速度は２値セルに対して例
えば１／６４程度である。また、データ保持等の信頼性についても、僅かな閾値変動で不
良となる可能性がある。従って、１６値セル領域の書き換え保証回数（第２の所定回数）
は、例えば１，０００回と設定される。尚、上述した書き換え保証回数は、メモリセルＭ
Ｃのデータ保持信頼性試験等の結果に基づき統計的に決定されるべき所定の値であり、メ
モリセルＭＣが記憶可能なビット数や物理的特性等を考慮して適宜設定すれば良い。
【００５７】
また、２値セル領域のバッファ領域を構成するブロック数は、２値セル領域のバッファ
領域を構成するブロック数と１６値セル領域を構成するブロック数との和の３３％以下で
あることが望ましい。２値セル領域のバッファ領域を構成するブロック数が、２値セル領
域のバッファ領域を構成するブロック数と１６値セル領域を構成するブロック数との和の
３４％以上である場合、メモリセルアレイ１０７を構成するブロック全体を、３ビットの
情報を記憶可能な８値セルとして使用した方が、同一のブロック数において大きい記憶容
量を得られるからである。
【００５８】
また、後述するように、本実施形態においては２値セル領域のバッファ領域に一旦高速
にデータを書き込んだ後、外部ホストシステムからのアクセスが無い時間に、バックグラ
ウンド状態で２値セル領域から１６値セル領域にデータを転送する。従って、２値セル領
域のバッファ領域のブロック数をＡ、１６値セル領域のブロック数をＢとすると、２値セ
ル領域の書き換え保証回数は、（４Ｂ／Ａ）回以上であることが望ましい。（４Ｂ／Ａ）
回未満であると、１６値セル領域の各々のブロックＢＬＫを少なくとも１回使用する前に
、２値セル領域のバッファ領域のブロックＢＬＫが書き換え保証回数に達してしまうから
である。
【００５９】
カラムデコーダ１０８は、アドレスバッファ１０５から転送されるカラムアドレスをデ
コードして、センスアンプ回路１０９に転送する。
【００６０】
センスアンプ回路１０９は、ビット線ＢＬの一端側に配置され、カラムデコーダ１０８
から入力されたカラムアドレスに従い、データの書き込み及び読み出しに供せられる。ま
た、センスアンプ回路１０９は、複数のページバッファＰＢを具備し、選択回路１１０を
介して、ブロックＢＬＫ内のビット線ＢＬにおいて端から数えて偶数番目のビット線ＢＬ
から構成されるグループである偶数ビット線ＢＬｅ、或いは奇数番目のビット線ＢＬから
構成されるグループである奇数ビット線ＢＬｏのいずれか一方に選択的に接続される。
【００６１】
ブロックＢＬＫ内において１本のワード線ＷＬ及び偶数ビット線ＢＬｅにより選択され
るメモリセルＭＣの集合が、書き込み及び読み出しの単位である１ページを構成し、１本
のワード線ＷＬ及び奇数ビット線ＢＬｏにより選択されるメモリセルＭＣの集合が他の１
ページを構成する。
【００６２】
選択回路１１０は、２つのグループのビット線ＢＬｅ、ＢＬｏから一方のみを選択して
センスアンプ回路１０９に接続し、且つ、２つのグループのビット線ＢＬｅ、ＢＬｏの他
方を非選択としてセンスアンプ回路１０９に接続しない。また、データ読み出し時には、
非選択側のビット線ＢＬを接地することにより、ビット線ＢＬ間の結合ノイズを低減させ
る。
【００６３】
ロウデコーダ１１１は、アドレスバッファ１０５から転送されるロウアドレスをデコー
ドして、ワード線制御回路１１２に転送する。
【００６４】
ワード線制御回路１１２は、ワード線ＷＬの一端側に配置され、ロウデコーダから入力
されたロウアドレスに従い、ワード線ＷＬ、選択ゲート線ＳＧＳ、及び選択ゲート線ＳＧ
Ｄの選択駆動を行う。
【００６５】
制御信号発生回路１１３は、ＮＡＮＤ型フラッシュメモリ１００の内部制御回路であり
、その制御プログラムの一部、或いは全部は、ＲＯＭ１１４、ＲＡＭ１１５に保持されて
いる。メモリシステムが電源供給を受けると、制御プログラムの一部、或いは全部がＲＡ
Ｍ１１５に転送される。制御信号発生回路１１３は、ＲＡＭ１１５に転送された制御プロ
グラムに基づき、コマンドデコーダ１０４から入力されたコマンドに応じて、書き込み、
読み出し、及び消去等の各種動作を制御する。
【００６６】
次に、上述の構成を有するメモリシステムにおける書き換え回数管理方法について説明
する。
【００６７】
図４（ａ）は２値セル領域の各ブロックに対する書き換え回数管理テーブル、図４（ｂ
）は１６値セル領域の各ブロックに対する書き換え回数管理テーブルである。ここで、図
４（ａ）中のオフセットは、メモリセルアレイ１０７の先頭から、即ちブロックＢＬＫ０
からのブロックアドレスを意味する。また図４（ｂ）中のオフセットは、２値セル領域と
１６値セル領域の境界から、即ちブロックＢＬＫｉから数えたブロックアドレスと等価で
ある。
【００６８】
書き換え回数管理テーブルは、ＮＡＮＤ型フラッシュメモリ１００のメモリセルアレイ
１０７内に不揮発に記憶されており、メモリシステムの電源投入時に、フラッシュコント
ローラ２００内のＲＡＭ２０３に転送される。また、書き換え回数管理テーブルは重要な
データであるので、データ保持の信頼性が高い２値セル領域に記憶される。尚、書き換え
回数管理テーブルは、２値セル領域におけるウェアレベリングの対象から除外される領域
に記憶されるものとする。
【００６９】
本実施形態においては、各ブロックＢＬＫの書き換え回数として書き換え回数管理テー
ブルに記憶される値を、各ブロックＢＬＫの消去回数と定義する。即ち、各ブロックＢＬ
Ｋが消去される都度、カウンタ２０６により当該ブロックＢＬＫの書き換え回数が１イン
クリメントされ、メモリセルアレイ１０７内に不揮発に記憶された書き換え回数管理テー
ブルの内容、及びＲＡＭ２０３上に展開された書き換え回数管理テーブルの内容が更新さ
れる。
【００７０】
例えば、図４（ａ）は、オフセット＝“０”のブロックＢＬＫが１０００回、オフセッ
ト＝“１”のブロックＢＬＫが１００００回、オフセット＝“Ｎ−１”のブロックＢＬＫ
が５００回、及びオフセット＝“Ｎ”のブロックＢＬＫが５０００回消去された場合の２
値セル領域の書き換え回数管理テーブルについて示している。
【００７１】
また、図４（ｂ）は、オフセット＝“０”のブロックＢＬＫが１００回、オフセット＝
“１”のブロックＢＬＫが５８０回、オフセット＝“Ｎ−１”のブロックＢＬＫが１０回
、及びオフセット＝“Ｎ”のブロックＢＬＫが２００回消去された場合の１６セル領域の
書き換え回数管理テーブルについて示している。
【００７２】
以下、上述した書き換え回数管理テーブルの内容が更新される場合のメモリシステムの
動作について具体的に説明する。
【００７３】
先ず、外部ホストシステムからメモリシステムへデータを書き込む際のデータ書き込み
シーケンスについて、図５を参照して説明する。図５は、本実施形態に係るメモリシステ
ムにおけるデータ書き込みシーケンスを示すフローチャートである。
【００７４】
本実施形態に係るメモリシステムにおいては、メモリセルアレイ１０７の２値セル領域
内部の複数のブロックＢＬＫから構成されるバッファ領域に一旦高速にデータを書き込ん
だ後、外部ホストシステムからのアクセスが無い時間に、バックグラウンド状態で２値セ
ル領域（バッファ領域）から１６値セル領域にデータを転送する。以下、詳細に説明する
。
【００７５】
外部ホストシステムからメモリシステムに入力された書き込みデータは、フラッシュコ
ントローラ２００内のバッファ２０４に一時的に記憶される。その後、ＥＣＣ回路２０５
により、例えばハミング符号等のＥＣＣ符号を付与され、入出力端子１０２を介してデー
タバッファ１０６に転送される。
【００７６】
また、フラッシュコントローラ２００は、メモリセルアレイ１０７内部のどのアドレス
が２値セル領域であるか、或いは１６値セル領域であるかを管理している。メモリシステ
ムに入力された書き込みデータに対しては、最初にメモリセルアレイ１０７内の２値セル
領域のアドレスが割り当てられ、このアドレスが入出力端子１０２を介してアドレスバッ
ファ１０５に転送される（Ｓ５０１）。
【００７７】
データバッファ１０６に転送された書き込みデータはセンスアンプ回路１０９にロード
され、カラムデコーダ１０８及びロウデコーダ１１１によりデコードされたアドレスに従
い、メモリセルアレイ１０７内部の２値セル領域に書き込まれる。（Ｓ５０２）。
【００７８】
外部ホストシステムからメモリシステムへのアクセスが終了した後に所定の時間が経過
したことを、フラッシュコントローラ２００内部のタイマ２０７が検知すると、タイマ２
０７は、この所定の時間が経過したことを示す情報をＣＰＵ２０１に通知する。所定の時
間については、外部ホストシステムからのアクセス頻度等を考慮して適宜設定すれば良い
（Ｓ５０３）。
【００７９】
ＣＰＵ２０１がタイマ２０７からの通知を受け取ると、２値セル領域から１６値セル領
域へのデータコピー動作が開始される。先ず、メモリセルアレイ１０７の２値セル領域に
記憶されている書き込みデータをセンスアンプ回路１０９に読み出し、読み出した書き込
みデータをデータバッファ１０６、及び入出力端子１０２を介して一旦フラッシュコント
ローラ２００内部のＲＡＭ２０３に記憶する。この書き込みデータの読み出しに際して、
ＥＣＣ回路２０５によりエラー訂正処理がなされる。
【００８０】
尚、この２値セル領域からの書き込みデータの読み出しは、２値セル領域内におけるア
ドレス順に行っても良いし、２値セル領域にデータが書き込まれた順に行っても良い。ま
た、ＲＡＭ２０３に読み出すデータ量は、ＲＡＭ２０３の容量等を考慮して適宜設定すれ
ば良い。
【００８１】
次に、２値セル領域からＲＡＭ２０３に読み出した書き込みデータを、再度ＮＡＮＤ型
フラッシュメモリ１００に入力する。この再度入力される書き込みデータに対しては、新
たにメモリセルアレイ１０７内の１６値セル領域のアドレスが割り当てられる。また、書
き込みデータに対して新たに、例えばＬＤＰＣ符号等のＥＣＣ符号を付与しても良い。書
き込みデータは、入出力端子１０２、及びデータバッファ１０６を介してセンスアンプ回
路１０９にロードされ、カラムデコーダ１０８及びロウデコーダ１１１によりデコードさ
れたアドレスに従い、メモリセルアレイ１０７内部の１６値セル領域に書き込まれる（Ｓ
５０４）。
【００８２】
以上のようにして、２値セル領域から１６値セル領域へのデータコピーが順次行われる
。ここで、２値セル領域から１６値セル領域へのデータコピーが進み、２値セル領域にお
いて内部データ全てが既に１６値セル領域にコピー済みとなったブロックＢＬＫ（以下、
コピー済みブロックＢＬＫと称す）が発生した場合、コピー済みブロックＢＬＫ内に記憶
されているデータは不要であるから、消去の対象として良い。よって、フラッシュコント
ローラ２００は、２値セル領域から１６値セル領域へのデータコピー動作中に、コピー済
みブロックＢＬＫが発生したか否かを判別する（Ｓ５０５）。
【００８３】
２値セル領域から１６値セル領域へのデータコピー動作中にコピー済みブロックＢＬＫ
が発生した場合、フラッシュコントローラ２００はデータコピー動作を中断し、ＮＡＮＤ
型フラッシュメモリ１００に対して、このコピー済みブロックＢＬＫの消去を指示する消
去コマンドを入力する。消去コマンドは入出力端子１０２を介してコマンドデコーダ１０
４に転送され、制御信号発生回路１１３による制御の下で、コピー済みブロックＢＬＫの
消去が行われる。（Ｓ５０６）。
【００８４】
この段階で、消去された２値セル領域のコピー済みブロックＢＬＫの書き換え回数が、
カウンタ２０６によって１インクリメントされる。フラッシュコントローラ２００は、Ｒ
ＡＭ２０３上の２値セル領域の書き換え回数管理テーブルの更新を行うと共に、メモリセ
ルアレイ１０７内に不揮発に記憶されている書き換え回数管理テーブルについても同時に
更新する。（Ｓ５０７）。
【００８５】
２値セル領域から１６値セル領域へのデータコピー動作中にコピー済みブロックＢＬＫ
が発生しない場合（（Ｓ５０５）でＮｏの場合）、或いは、２値セル領域から１６値セル
領域へのデータコピー動作中にコピー済みブロックが発生し（（Ｓ５０５）でＹｅｓの場
合）、このコピー済みブロックＢＬＫを消去した後に２値セル領域の書き換え回数管理テ
ーブルを更新した場合、２値セル領域から１６値セル領域へコピーすべき全ての書き込み
データのコピーが終了したか否かを判別する（Ｓ５０８）。
【００８６】
２値セル領域から１６値セル領域へコピーすべき全ての書き込みデータのコピーが終了
した場合、データ書き込みシーケンスを終了する。一方、未だ１６値セル領域にコピーさ
れていない書き込みデータが２値セル領域に残っている場合は、２値セル領域から１６値
セル領域へのデータコピー動作を継続する。
【００８７】
図６は、図５に示すデータ書き込みシーケンスを一部変更した例である。上述したデー
タ書き込みシーケンスは、データコピー中にコピー済みブロックＢＬＫが発生した場合、
その都度、このコピー済みブロックＢＬＫを消去する。一方、図６に示すデータ書き込み
シーケンスは、２値セル領域から１６値セル領域にコピーすべき全ての書き込みデータを
１６値セル領域にコピーした段階で、２値セル領域に存在するコピー済みブロックＢＬＫ
を一括して消去する。以下、図６に示すデータ書き込みシーケンスについて説明する。
【００８８】
図５で示した場合と同様、外部ホストシステムからメモリシステムに入力された書き込
みデータは、フラッシュコントローラ２００内のバッファ２０４に一時的に記憶される。
その後、ＥＣＣ回路２０５によりＥＣＣ符号を付与され、入出力端子１０２を介してデー
タバッファ１０６に転送される。（Ｓ６０１）。
【００８９】
データバッファ１０６に転送された書き込みデータはセンスアンプ回路１０９にロード
され、カラムデコーダ１０８及びロウデコーダ１１１によりデコードされたアドレスに従
い、メモリセルアレイ１０７内部の２値セル領域に書き込まれる。（Ｓ６０２）。
【００９０】
外部ホストシステムからメモリシステムへのアクセスが終了した後に所定の時間が経過
したことを、フラッシュコントローラ２００内部のタイマ２０７が検知すると、タイマ２
０７は、この所定の時間が経過したことを示す情報をＣＰＵ２０１に通知する（Ｓ６０３
）。
【００９１】
ＣＰＵ２０１がタイマ２０７からの通知を受け取ると、２値セル領域から１６値セル領
域へのデータコピー動作が開始され、メモリセルアレイ１０７内部の１６値セル領域に書
き込みデータが順次コピーされる（Ｓ６０４）。
【００９２】
ここで、図５に示したデータ書き込みシーケンスとは異なり、２値セル領域から１６値
セル領域へのデータコピーが進み、データコピー動作中にコピー済みブロックＢＬＫが発
生した場合においても、２値セル領域から１６値セル領域へのデータコピー動作を継続す
る。データコピー動作を継続することにより、２値セル領域から１６値セル領域へコピー
すべき全ての書き込みデータのコピーが終了した場合、データコピー動作を終了する（Ｓ
６０５）。
【００９３】
次に、フラッシュコントローラ２００は、２値セル領域から１６値セル領域へのデータ
コピー動作終了時点で、２値セル領域内にコピー済みブロックＢＬＫが存在するか否かを
判別する（Ｓ６０６）。
【００９４】
２値セル領域から１６値セル領域へのデータコピー動作終了時点でコピー済みブロック
ＢＬＫが存在した場合、フラッシュコントローラ２００はＮＡＮＤ型フラッシュメモリ１
００に対して、このコピー済みブロックＢＬＫの消去を指示する消去コマンドを入力する
。消去コマンドは入出力端子１０２を介してコマンドデコーダ１０４に転送され、制御信
号発生回路１１３による制御の下で、コピー済みブロックＢＬＫの消去が行われる。（Ｓ
６０７）。
【００９５】
この段階で、消去された２値セル領域のコピー済みブロックＢＬＫの書き換え回数が、
カウンタ２０６によって１インクリメントされる。フラッシュコントローラ２００は、Ｒ
ＡＭ２０３上の２値セル領域の書き換え回数管理テーブルの更新を行うと共に、メモリセ
ルアレイ１０７内に不揮発に記憶されている書き換え回数管理テーブルについても同時に
更新する。（Ｓ６０８）。
【００９６】
２値セル領域から１６値セル領域へのデータコピー動作終了時点でコピー済みブロック
ＢＬＫが存在しない場合（（Ｓ６０６）でＮｏの場合）、或いは、２値セル領域から１６
値セル領域へのデータコピー動作終了時点でコピー済みブロックＢＬＫが存在し（（Ｓ６
０６）でＹｅｓの場合）、このコピー済みブロックＢＬＫを消去した後に２値セル領域の
書き換え回数管理テーブルを更新した場合、データ書き込みシーケンスを終了する。
【００９７】
次に、１６値セル領域に記憶されているデータが更新される場合のデータ更新シーケン
スについて、図７を参照して説明する。説明を簡略にするために、ここでは１６値セル領
域の任意のブロックＢＬＫに記憶されているデータが全て更新される場合を想定する。
【００９８】
外部ホストシステムからメモリシステムに入力された更新データは、フラッシュコント
ローラ２００内のバッファ２０４に一時的に記憶される。その後、ＥＣＣ回路２０５によ
りＥＣＣ符号を付与され、入出力端子１０２を介してデータバッファ１０６に転送される
（Ｓ７０１）。
【００９９】
データバッファ１０６に転送された更新データはセンスアンプ回路１０９にロードされ
、カラムデコーダ１０８及びロウデコーダ１１１によりデコードされたアドレスに従い、
メモリセルアレイ１０７内部の２値セル領域に書き込まれる。（Ｓ７０２）。
【０１００】
外部ホストシステムからメモリシステムへのアクセスが終了した後に所定の時間が経過
したことを、フラッシュコントローラ２００内部のタイマ２０７が検知すると、タイマ２
０７は、この所定の時間が経過したことを示す情報をＣＰＵ２０１に通知する。（Ｓ７０
３）。
【０１０１】
ＣＰＵ２０１がタイマ２０７からの通知を受け取ると、２値セル領域から１６値セル領
域へのデータコピー動作が開始される。２値セル領域から１６値セル領域にコピーされる
更新データは、更新されるべき旧データが記憶されているブロックＢＬＫとは異なる空き
ブロックＢＬＫに順次書き込まれる（Ｓ７０４）。
【０１０２】
ここで、フラッシュコントローラ２００は、２値セル領域から１６値セル領域へのデー
タコピー動作中に、コピー済みブロックＢＬＫが発生したか否かを判別する（Ｓ７０５）
。
【０１０３】
２値セル領域から１６値セル領域へのデータコピー動作中にコピー済みブロックＢＬＫ
が発生した場合、フラッシュコントローラ２００はデータコピー動作を中断し、ＮＡＮＤ
型フラッシュメモリ１００に対して、２値セル領域のコピー済みブロックＢＬＫの消去を
指示する消去コマンドを入力する。ＮＡＮＤ型フラッシュメモリ１００は、入力された消
去コマンドに基づきコピー済みブロックＢＬＫを消去する（Ｓ７０６）。
【０１０４】
この段階で、消去された２値セル領域のコピー済みブロックＢＬＫの書き換え回数が、
カウンタ２０６によって１インクリメントされる。フラッシュコントローラ２００は、Ｒ
ＡＭ２０３上の２値セル領域の書き換え回数管理テーブルの更新を行うと共に、メモリセ
ルアレイ１０７内に不揮発に記憶されている書き換え回数管理テーブルについても同時に
更新する。（Ｓ７０７）。
【０１０５】
更に、２値セル領域から１６値セル領域へのデータコピーが進み、１６値セル領域にお
いて、更新されるべき旧データが記憶されているブロックＢＬＫの内の任意の１ブロック
ＢＬＫに記憶されているデータ全てが更新データにより置き換えられると、この更新デー
タによりデータの置き換えが終了した１６値セル領域のブロックＢＬＫ（以下、更新済み
ブロックＢＬＫと称す）のデータは不要となるので、消去の対象として良い。よって、フ
ラッシュコントローラ２００は、２値セル領域から１６値セル領域へのデータコピー動作
中に、更新済みブロックＢＬＫが発生したか否かを判別する（Ｓ７０８）。
【０１０６】
２値セル領域から１６値セル領域へのデータコピー動作中に更新済みブロックＢＬＫが
発生した場合、フラッシュコントローラ２００はデータコピー動作を中断し、ＮＡＮＤ型
フラッシュメモリ１００に対して、この更新済みブロックＢＬＫの消去を指示する消去コ
マンドを入力する。消去コマンドは入出力端子１０２を介してコマンドデコーダ１０４に
転送され、制御信号発生回路１１３による制御の下で、１６値セル領域の更新済みブロッ
クＢＬＫの消去が行われる。（Ｓ７０９）。
【０１０７】
この段階で、消去された１６値セル領域の更新済みブロックＢＬＫの書き換え回数が、
カウンタ２０６によって１インクリメントされる。フラッシュコントローラ２００は、Ｒ
ＡＭ２０３上の１６値セル領域の書き換え回数管理テーブルの更新を行うと共に、メモリ
セルアレイ１０７内に不揮発に記憶されている書き換え回数管理テーブルについても同時
に更新する。（Ｓ７１０）。
【０１０８】
２値セル領域から１６値セル領域へのデータコピー動作において、コピー済みブロック
ＢＬＫが発生せず、且つ、更新済みブロックＢＬＫも発生しない場合（（Ｓ７０５）でＮ
ｏ、且つ、（Ｓ７０８）でＮｏ）、或いは、発生したコピー済みブロックＢＬＫを消去し
た後に２値セル領域の書き換え回数管理テーブルを更新し、且つ、更新済みブロックＢＬ
Ｋが発生しない場合（（Ｓ７０５でＹｅｓ）、且つ、（Ｓ７０８）でＮｏ）、或いは、コ
ピー済みブロックＢＬＫが発生せず、且つ、発生した更新済みブロックＢＬＫを消去した
後に１６値セル領域の書き換え回数管理テーブルを更新した場合（（Ｓ７０５でＮｏ）、
且つ、（Ｓ７０８）でＹｅｓ）、或いは、発生したコピー済みブロックＢＬＫを消去した
後に２値セル領域の書き換え回数管理テーブルを更新し、且つ、発生した更新済みブロッ
クＢＬＫを消去した後に１６値セル領域の書き換え回数管理テーブルを更新した場合（（
Ｓ７０５でＹｅｓ）、且つ、（Ｓ７０８）でＹｅｓ）、２値セル領域から１６値セル領域
へコピーすべき全ての更新データのコピーが終了したか否かを判別する（Ｓ７１１）。
【０１０９】
２値セル領域から１６値セル領域へコピーすべき全ての更新データのコピーが終了した
場合、データ更新シーケンスを終了する。一方、未だコピーされていない更新データが２
値セル領域に残っている場合は、２値セル領域から１６値セル領域へのデータコピー動作
を継続する。
【０１１０】
図８は、図７に示すデータ更新シーケンスを一部変更した例である。上述したデータ更
新シーケンスは、データコピー動作中に更新済みブロックＢＬＫが発生した場合、その都
度、この更新済みブロックＢＬＫを消去する。一方、図８に示すデータ更新シーケンスは
、２値セル領域から１６値セル領域にコピーすべき全ての更新データを１６値セル領域に
コピーした段階で、１６値セル領域に存在する更新済みブロックを一括して消去する。以
下、図８に示すデータ更新シーケンスについて説明する。
【０１１１】
図７で示した場合と同様、外部ホストシステムからメモリシステムに入力された更新デ
ータは、フラッシュコントローラ２００内のバッファ２０４に一時的に記憶される。その
後、ＥＣＣ回路２０５によりＥＣＣ符号を付与され、入出力端子１０２を介してデータバ
ッファ１０６に転送される（Ｓ８０１）。
【０１１２】
データバッファ１０６に転送された更新データはセンスアンプ回路１０９にロードされ
、カラムデコーダ１０８及びロウデコーダ１１１によりデコードされたアドレスに従い、
メモリセルアレイ１０７内部の２値セル領域に書き込まれる。（Ｓ８０２）。
【０１１３】
外部ホストシステムからメモリシステムへのアクセスが終了した後に所定の時間が経過
したことを、フラッシュコントローラ２００内部のタイマ２０７が検知すると、タイマ２
０７は、この所定の時間が経過したことを示す情報をＣＰＵ２０１に通知する。（Ｓ８０
３）。
【０１１４】
ＣＰＵ２０１がタイマ２０７からの通知を受け取ると、２値セル領域から１６値セル領
域へのデータコピー動作が開始される。２値セル領域から１６値領域にコピーされる更新
データは、更新されるべき旧データが記憶されているブロックＢＬＫとは異なるブロック
ＢＬＫに順次書き込まれる（Ｓ８０４）。
【０１１５】
ここで、フラッシュコントローラ２００は、２値セル領域から１６値セル領域へのデー
タコピー動作中に、コピー済みブロックＢＬＫが発生したか否かを判別する（Ｓ８０５）
。
【０１１６】
２値セル領域から１６値セル領域へのデータコピー動作中にコピー済みブロックＢＬＫ
が発生した場合、２値セル領域のコピー済みブロックＢＬＫが消去される（Ｓ８０６）。
【０１１７】
この段階で、消去された２値セル領域のコピー済みブロックＢＬＫの書き換え回数が、
カウンタ２０６によって１インクリメントされる。フラッシュコントローラ２００は、Ｒ
ＡＭ２０３上の２値セル領域の書き換え回数管理テーブルの更新を行うと共に、メモリセ
ルアレイ１０７内に不揮発に記憶されている書き換え回数管理テーブルについても同時に
更新する（Ｓ８０７）。
【０１１８】
ここで、図７に示したデータ更新シーケンスとは異なり、データコピー動作中に更新済
みブロックＢＬＫが発生した場合においても、この更新済みブロックＢＬＫを消去せず、
２値セル領域から１６値セル領域へのデータコピー動作を継続する。
【０１１９】
２値セル領域から１６値セル領域へのデータコピー動作中にコピー済みブロックＢＬＫ
が発生しない場合（（Ｓ８０５）でＮｏ）、或いは、２値セル領域から１６値セル領域へ
のデータコピー動作中に発生したコピー済みブロックＢＬＫを消去した後に、２値セル領
域の書き換え回数管理テーブルを更新した場合（（Ｓ８０５でＹｅｓ）、２値セル領域か
ら１６値セル領域へコピーすべき全ての更新データのコピーが終了したか否かを判別する
（Ｓ８０８）。
【０１２０】
２値セル領域から１６値セル領域へコピーすべき全ての更新データのコピーが終了した
場合、データコピー動作を終了する。その後、フラッシュコントローラ２００は、ＮＡＮ
Ｄ型フラッシュメモリ１００に消去コマンドを入力し、２値セル領域から１６値セル領域
へのデータコピー動作終了時点で存在する更新済みブロックＢＬＫを消去する（Ｓ８０９
）。
【０１２１】
この段階で、消去された１６値セル領域の更新済みブロックＢＬＫの書き換え回数が、
カウンタ２０６によって１インクリメントされる。フラッシュコントローラ２００は、Ｒ
ＡＭ２０３上の１６値セル領域の書き換え回数管理テーブルの更新を行うと共に、メモリ
セルアレイ１０７内に不揮発に記憶されている書き換え回数管理テーブルについても同時
に更新する。（Ｓ８１０）。
【０１２２】
尚、データ更新シーケンスにおいても、上述したデータ書き込みシーケンスで説明した
場合と同様に、データコピー動作が終了した時点で２値セル領域のコピー済みブロックＢ
ＬＫを一括して消去しても良い。
【０１２３】
また、上述した２値セル領域から１６値セル領域へのデータコピー動作は、外部ホスト
システムからメモリシステムへのアクセスが無い時間帯に、外部ホストシステムが関与し
ないバックグラウンド状態で行われるものとする。
【０１２４】
次に、２値セル領域、或いは１６値セル領域に記憶されているデータが消去される場合
のデータ消去シーケンスについて、図９を参照して説明する。
【０１２５】
上述したように、外部ホストシステムからメモリシステムに入力された書き込みデータ
は、既にデータコピー動作が終了して１６値セル領域に記憶されている場合、一方、未だ
データコピー動作が終了しておらず、２値セル領域に記憶されている場合があり得る。従
って、フラッシュコントローラ２００は、メモリシステムに入力された消去アドレスが指
し示すデータが、２値セル領域に記憶されているデータであるか、１６値セル領域に記憶
されているデータであるかを判別する必要がある（Ｓ９０１）。
【０１２６】
入力された消去アドレスが、ＮＡＮＤ型フラッシュメモリ１００内部の２値セル領域に
記憶されているデータを指し示すものであれば（（Ｓ９０１）でＹｅｓの場合）、フラッ
シュコントローラ２００は、このデータに対応したアドレスと消去コマンドとをＮＡＮＤ
型フラッシュメモリ１００に入力する。ＮＡＮＤ型フラッシュメモリ１００は、入力され
たアドレスに基づき、２値セル領域に記憶されているデータを消去する。この段階で、消
去された２値セル領域のブロックＢＬＫの書き換え回数が１インクリメントされ、２値セ
ル領域の書き換え回数管理テーブルの内容が更新される（Ｓ９０２）。
【０１２７】
一方、入力された消去アドレスが、ＮＡＮＤ型フラッシュメモリ１００内部の２値セル
領域に記憶されているデータを指し示すものではない、即ち、１６値セル領域に記憶され
ているデータを指し示すものであれば（（Ｓ９０１）でＮｏの場合）、フラッシュコント
ローラ２００は、このデータに対応したアドレスと消去コマンドとをＮＡＮＤ型フラッシ
ュメモリ１００に入力する。ＮＡＮＤ型フラッシュメモリ１００は、入力されたアドレス
に基づき、１６値セル領域に記憶されているデータを消去する。この段階で、消去された
１６値セル領域のブロックＢＬＫの書き換え回数が１インクリメントされ、１６値セル領
域の書き換え回数管理テーブルの内容が更新される（Ｓ９０３）。
【０１２８】
次に、上述した書き換え回数管理テーブルを用いて、メモリセルアレイ１０７内の各ブ
ロックＢＬＫの書き換え回数を制御する方法について、図１０乃至図１３を参照して説明
する。
【０１２９】
本実施形態においては、所定の書き換え回数まで使用したブロックＢＬＫについては、
書き換え回数管理テーブルに書き込み禁止のフラグを立て管理することにより、２値セル
領域及び１６値セル領域共に、各々の領域の書き換え保証回数を超えないように制御され
る。
【０１３０】
即ち、フラッシュントローラ２００は書き換え回数管理テーブルを監視し、２値セル領
域のブロックＢＬＫであれば２値セル領域の書き換え保証回数である１００，０００回と
、１６値セル領域のブロックＢＬＫであれば、１６値セル領域の書き換え保証回数である
１，０００回との比較を行うことにより、各々の領域のブロックＢＬＫが書き換え保証回
数を越えないように制御する。
【０１３１】
例えば、図１０（ａ）に示す２値セル領域の書き換え回数管理テーブルは、オフセット
＝“０”のブロックＢＬＫが１，０００回、オフセット＝“１”のブロックＢＬＫが１０
０，０００回、オフセット＝“Ｎ−１”のブロックＢＬＫが５００回、及びオフセット＝
“Ｎ”のブロックＢＬＫが５０００回消去された場合について示している。オフセット＝
“１”のブロックＢＬＫは、既に２値セル領域の書き換え保証回数である１００，０００
回に達しているから、禁止フラグを“１”として、以後書き換えを禁止する。オフセット
＝“１”のブロックＢＬＫ以外は、書き換え保証回数に達していないため、禁止フラグを
“０”として書き換えを許可する。
【０１３２】
また、図１０（ｂ）に示す１６値セル領域の書き換え回数管理テーブルは、オフセット
＝“０”のブロックＢＬＫが１００回、オフセット＝“１”のブロックＢＬＫが１，００
０回、オフセット＝“Ｎ−１”のブロックＢＬＫが１０回、及びオフセット＝“Ｎ”のブ
ロックＢＬＫが２００回消去された場合について示している。オフセット＝“１”のブロ
ックＢＬＫは、既に１６値セル領域の書き換え保証回数である１，０００回に達している
から、禁止フラグを“１”として、以後書き換えを禁止する。オフセット＝“１”のブロ
ックＢＬＫ以外は、書き換え保証回数に達していないため、禁止フラグを“０”として書
き換えを許可する。
【０１３３】
更に、本実施形態においては、以下の方法により２値セル領域及び１６値セル領域それ
ぞれにおいて、書き換え回数の平均化（ウェアレベリング）を行う。
【０１３４】
例えば、アプリケーションソフトのように比較的大容量のファイルがＮＡＮＤ型フラッ
シュメモリ１００に格納され、その後更新されない場合、このファイルが記憶されている
ブロックＢＬＫは以後書き換えられることはない。即ち、書き換え回数が極めて少ない状
態でメモリセルアレイ１０７内に留まり続ける。
【０１３５】
一方、例えばこのアプリケーションソフトにより使用される他のデータ更新領域につい
ては書き換えが繰り返されるため、両者の間に書き換え回数の極めてアンバランスな状態
が発生する。このような状態を放置すると、書き換え回数の極めて少ないブロックＢＬＫ
が存在するにも拘らず、書き換え保証回数まで書き込みが繰り返されて書き込み禁止とさ
れるブロックＢＬＫが多数発生することとなり、２値セル領域及び１６値セル領域それぞ
れに設定した書き換え保証回数を効率良く使用することができない。
【０１３６】
従って、本実施形態においては、書き換えのされない（書き換え回数の少ない）ブロッ
クＢＬＫに記憶されているデータと、頻繁に書き換えのされる（書き換え回数の多い）ブ
ロックＢＬＫに記憶されているデータとを入れ替えることにより、ウェアレベリングを行
う。以下、具体的に説明する。
【０１３７】
先ず、１６値セル領域においてウェアレベリングを行う場合について説明する。１６値
セル領域におけるウェアレベリングは、例えば、“１６値セル領域における何れかのブロ
ックＢＬＫの書き換え回数が、１６値セル領域の書き換え保証回数の所定の割合（第２の
所定の割合）に達した場合”に発動するように、その発動条件を設定すれば良い。本実施
形態においては、例えば、書き換え保証回数の９５％に達した段階、即ち、書き換え回数
が９５０回に達した段階でウェアレベリングを発動する。
【０１３８】
図１１は、ウェアレベリングが発動する段階における１６値セル領域の書き換え回数管
理テーブルの例を示している。図１１に示すように、オフセット＝“０”乃至オフセット
“３”のブロックＢＬＫの書き換え回数は、それぞれ９５０回、１０回、１回、１０回で
あり、各ブロックＢＬＫの書き換え回数に極端な差が生じている。
【０１３９】
オフセット＝“２”のブロックＢＬＫに記憶されているデータは、一度書き込みをされ
て以降書き換えがされていない。一方、オフセット＝“０”のブロックＢＬＫは頻繁に書
き換えられ、ウェアレベリングの発動条件である書き換え回数９５０回に達している。
【０１４０】
ウェアレベリングが発動すると、書き換え保証回数の所定の割合に達したオフセット＝
“０”のブロックＢＬＫに記憶されているデータと、書き換え回数の最も少ないオフセッ
ト＝“２”のブロックＢＬＫに記憶されているデータとを入れ替えるデータ入れ替え動作
が開始される。このデータ入れ替え動作は、外部ホストシステムが関与しないバックグラ
ンド状態において、メモリシステム独自の判断により実行しても良いし、外部ホストシス
テムからの所定のコマンド入力に応じて実行しても良い。
【０１４１】
ここで、図１２を参照してウェアレベリングが発動した場合のデータ入れ替え動作につ
いて説明する。図１２は、１６値セル領域におけるウェアレベリングシーケンスを示すフ
ローチャートである。
【０１４２】
先ず、上述したように、１６値セル領域の何れかのブロックＢＬＫの書き換え回数が、
１６値セル領域の書き換え保証回数である１，０００回の所定の割合に達したことをフラ
ッシュコントローラ２００が検知することにより（Ｓ１２０１）、ウェアレベリングが発
動する（Ｓ１２０２）。
【０１４３】
次に、データ入れ替え用に１６値セル領域における任意の空きブロックＢＬＫ（以下、
データ入れ替え用ブロックＢＬＫ）を用意し、１６値セル領域の書き換え保証回数の所定
の割合に達したブロックＢＬＫ（図１１の場合、オフセット＝“０”のブロックＢＬＫ）
に記憶されているデータを、データ入れ替え用ブロックＢＬＫにコピーする（Ｓ１２０３
）。
【０１４４】
１６値セル領域の書き換え保証回数の所定の割合に達したブロックＢＬＫから、データ
入れ替え用ブロックＢＬＫへのデータコピーが終了したら、この書き換え保証回数の所定
の割合に達したブロックＢＬＫに記憶されているデータを消去する。この段階で、消去さ
れた書き換え保証回数の所定の割合に達したブロックＢＬＫの書き換え回数が、カウンタ
２０６によって１インクリメントされ、１６値セル領域の書き換え回数管理テーブルが更
新される（Ｓ１２０４）。
【０１４５】
その後、フラッシュコントローラ２００は、１６値セル領域内において書き換え回数が
最小のブロックＢＬＫを検索する（Ｓ１２０５）。
【０１４６】
次に、検索された書き換え回数最小のブロックＢＬＫ（図１１の場合、オフセット＝“
２”のブロックＢＬＫ）に記憶されているデータを、先に消去した書き換え保証回数の所
定の割合に達したブロックＢＬＫにコピーする（Ｓ１２０６）。
【０１４７】
書き換え回数最小のブロックＢＬＫから、書き換え保証回数の所定の割合に達したブロ
ックＢＬＫへのデータコピーが終了したら、この書き換え回数最小のブロックＢＬＫに記
憶されているデータを消去する。この段階で、消去された書き換え回数最小のブロックＢ
ＬＫの書き換え回数が、カウンタ２０６によって１インクリメントされ、１６値セル領域
の書き換え回数管理テーブルが更新される（Ｓ１２０７）。
【０１４８】
その後、データ入れ替え用ブロックＢＬＫに退避していたデータを、書き換え回数最小
ブロックＢＬＫに書き戻す（Ｓ１２０８）。
【０１４９】
データ入れ替え用ブロックＢＬＫから書き換え回数最小ブロックＢＬＫへのデータコピ
ーが終了した後は、このデータ入れ替え用ブロックＢＬＫに記憶されているデータは不要
であるから、データ入れ替え用ブロックＢＬＫに記憶されているデータを消去する。これ
によりデータ入れ替え動作を終了する。この段階で、消去されたデータ入れ替え用ブロッ
クＢＬＫの書き換え回数が、カウンタ２０６によって１インクリメントされ、１６値セル
領域の書き換え回数管理テーブルが更新される（Ｓ１２０９）。
【０１５０】
以上のウェアレベリングシーケンスにより、書き換えのされないブロックＢＬＫに記憶
されているデータを、頻繁に書き換えられて書き換え寿命（書き換え保証回数）に近づい
ているブロックＢＬＫに移動することができる。これにより、書き換え保証回数の所定の
割合に達したブロックＢＬＫは以後書き換えサイクルに晒されることなく、ウェアレベリ
ング発動時点の書き換え回数を保持し続けることが期待される。一方、極めて書き換え回
数の少なかった書き換え回数最小のブロックＢＬＫは、以後データ書き換えに使用される
と期待される。
【０１５１】
尚、必ずしも１６値セル領域における全てのブロックＢＬＫをウェアレベリングの対象
とする必要は無い。即ち、１６値セル領域内に重要データを格納するブロックＢＬＫが存
在する場合は、ウェアレベリング中の電源遮断等によるデータ破壊のリスクを回避するた
め、このブロックＢＬＫをウェアレベリングの対象から除外しても良い。
【０１５２】
上述したウェアレベリングシーケンスは、１６値セル領域を例として説明したが、２値
セル領域についても同様の制御がなされる。即ち、２値セル領域においては、“２値セル
領域における何れかのブロックＢＬＫの書き換え回数が、２値セル領域の書き換え保証回
数の所定の割合（第１の所定の割合）に達した場合”に発動するように、その発動条件を
設定すれば良い。本実施形態においては、例えば、書き換え保証回数の９５％に達した段
階、即ち、書き換え回数が９５，０００回に達した段階でウェアレベリングを発動する。
【０１５３】
図１３は、ウェアレベリングが発動する段階における２値セル領域の書き換え回数管理
テーブルの例を示している。図１３に示すように、オフセット＝“０”乃至オフセット“
３”のブロックＢＬＫの書き換え回数は、それぞれ９５，０００回、１，０００回、１回
、１，０００回であり、各ブロックＢＬＫの書き換え回数に極端な差が生じている。
【０１５４】
オフセット＝“２”のブロックＢＬＫに記憶されているデータは、一度書き込みをされ
て以降書き換えがされていない。一方、オフセット＝“０”のブロックＢＬＫは頻繁に書
き換えられ、ウェアレベリングの発動条件である書き換え回数９５，０００回に達してい
る。
【０１５５】
ウェアレベリングが発動すると、書き換え保証回数の所定の割合に達したオフセット＝
“０”のブロックＢＬＫに記憶されているデータと、書き換え回数の最も少ないオフセッ
ト＝“２”のブロックＢＬＫに記憶されているデータとを入れ替えるデータ入れ替え動作
が開始される。
【０１５６】
以降のデータ入れ替え動作については、２値セル領域の空きブロックＢＬＫをデータ入
れ替え用ブロックＢＬＫとして、上述した１６値セル領域の場合と同様のデータ入れ替え
動作が行われる。
【０１５７】
尚、本実施形態においては、２値セル領域において、フラッシュコントローラ２００用
のファームウェアその他の制御用データ等の重要な管理データを記憶するブロックＢＬＫ
については、ウェアレベリング中の電源遮断等によるデータ破壊のリスクを回避するため
、ウェアレベリングの対象から除外する。
【０１５８】
また、上述した２値セル領域から１６値セル領域へのデータ転送に供される２値セル領
域中のバッファ領域を構成するブロックＢＬＫは、ウェアレベリングの対象とされる。ま
た、２値セル領域のバッファ領域へのデータ書き込みは、バッファ領域を構成するブロッ
クＢＬＫ中の特定のＢＬＫへ書き込みが集中することを避けるため、循環的に使用される
ことが望ましい。
【０１５９】
以上のように、２値セル領域は２値セルとしての書き換え保証回数である１００，００
０回、１６値セル領域は１６値セルとしての書き換え保証回数である１，０００回という
値に基づいて、各領域の書き換え回数の制御を行うことにより、２値セル領域及び１６値
セル領域各々を効率良く管理することが可能となる。
【０１６０】
特に、本実施形態のように２値セル領域を介して１６値セル領域へのデータ書き込みを
行う場合、２値セル領域は頻繁な書き換えサイクルに晒されることが想定されるため、各
々の領域の書き換え保証回数に基づいて書き換え回数を制御することは非常に有効である
。
【０１６１】
また、本実施形態においては、２値セル領域及び１６値セル領域の書き換え回数が、各
々の領域の書き換え保証回数の９５％に達した場合にウェアレベリングを発動する場合に
ついて説明したが、２値セル領域及び１６値セル領域の書き換え回数が、各々の領域の書
き換え保証回数の互いに異なる割合に達した場合にウェアレベリングを発動するように設
定しても良い。また、書き換え保証回数の所定の割合が小さすぎる場合、頻繁にウェアレ
ベリングが発動して高速動作を妨げる要因となる可能性があるため、所定の割合は、例え
ば書き換え保証回数の９０％以上に設定されることが望ましい。
【０１６２】
また、１６値セル領域を構成していたブロックＢＬＫが書き換え保証回数に達した場合
に、このブロックＢＬＫを新たに２値セル領域のブロックＢＬＫとして使用しても良い。
但し、２値セルとして使用していたブロックＢＬＫを新たに１６値セル領域として使用す
る場合、２値セルとして既に１０００回使用したブロックは、１６値セルの書き換え保証
回数に既に到達しているので、以後１６値セルとして使用することは望ましくない。
【０１６３】
また、本実施形態においては、２値セル領域を構成するブロックＢＬＫは、ウェアレベ
リングの対象とされる領域及びウェアレベリングの対象から除外される領域に分けられ、
ウェアレベリングの対象とされる領域は、２値セル領域から１６値セル領域への書き込み
データの転送に供されるバッファ領域を構成するブロックＢＬＫを含み、ウェアレベリン
グの対象から除外される領域は、フラッシュコントローラ２００用のファームウェアその
他の制御用データ等の重要な管理データを記憶するブロックＢＬＫを含む場合について説
明したが、必ずしも２値セル領域内にウェアレベリングの対象から除外する領域が存在す
る必要は無い。
【０１６４】
例えば、フラッシュコントローラ２００用のファームウェアその他の制御用データ等の
重要な管理データを、ＦｅＲＡＭ（Ferro electric Random Access Memory）等で構成さ
れる別の記憶領域に記憶させることも可能である。また、あるブロックＢＬＫをウェアレ
ベリングの対象とするか否かは、当該ブロックに記憶されるデータの重要性、書き換え頻
度等を考慮して適宜定められるべきものである。
【０１６５】
また、本実施形態においては、メモリセルアレイ１０７の２値セル領域内部の複数のブ
ロックＢＬＫから構成されるバッファ領域に一旦高速にデータを書き込んだ後、外部ホス
トシステムからのアクセスが無い時間に、バックグラウンド状態で２値セル領域（バッフ
ァ領域）から１６値セル領域にデータを転送する場合について説明したが、外部ホストシ
ステムから書き込みデータが連続して入力され、バッファ領域の空きブロックＢＬＫが極
めて少なくなった場合は、２値セル領域から１６値セル領域へ強制的にデータ転送を行っ
ても良い。
【０１６６】
また、本実施形態においては、第１のメモリ領域として２値セル領域、第２のメモリ領
域として１６値セル領域を有するＮＡＮＤ型フラッシュメモリ１００について説明したが
、これに限らず、第１のメモリ領域として２値セル領域、第２のメモリ領域として８値セ
ル領域を有する場合等、他の組み合わせにも適用可能である。
【０１６７】
また、本実施形態においては、書き換え回数管理テーブルの内容を各ブロックＢＬＫの
消去回数と定義したが、これに限らず、消去回数と関連付けられた情報でも良い。例えば
、消去が１０回実行されたら１インクリメントされる値であっても良い。
【０１６８】
また、ＲＡＭ２０３上の書き換え回数管理テーブルの作成方法について種々の方法が考
えられる。ブロックＢＬＫの数が少ない場合は、全ブロックＢＬＫに対する書き換え回数
管理テーブルをＲＡＭ２０３上に展開することが可能である。
【０１６９】
一方、ＮＡＮＤ型フラッシュメモリ１００の記憶容量が大きく、メモリセルアレイ１０
７内に含まれるブロックＢＬＫ数が膨大であるため、全てのブロックＢＬＫに対する書き
換え回数管理テーブルをＲＡＭ２０３上に展開できない場合は、所定の数に分割された各
領域（ゾーン）に対応するブロックＢＬＫ分の書き換え回数管理テーブルのみをＲＡＭ２
０３上に展開して、ＲＡＭ２０３の容量を節約することも可能である。
【０１７０】
この場合、ＲＡＭ２０３上に展開されていない分割領域のブロックＢＬＫが消去された
際は、この分割領域の情報をメモリセルアレイ１０７内からＲＡＭ２０３上に新たに読み
出し、書き換え回数管理テーブルの更新を行う（以下、ゾーン管理と称する）。
【０１７１】
また、書き換え回数管理テーブルの更新のタイミングについて種々のケースが考えられ
る。ＲＡＭ２０３上の書き換え回数管理テーブルは、メモリセルアレイ１０７内のいずれ
かのブロックＢＬＫが消去されたら都度内容を更新する。但し、メモリセルアレイ１０７
内に不揮発に記憶された書き換え回数管理テーブルの情報は、必ずしもＲＡＭ２０３上の
書き換え回数管理テーブルを更新した都度書き換えを行う必要はない。
【０１７２】
メモリセルアレイ１０７内に不揮発に記憶された書き換え回数管理テーブルの情報は、
例えば、外部ホストシステムから電源を遮断する旨の通知を受け取った場合、或いは、消
去が所定回数（例えば１００回）実行された場合に一括して更新しても良い。また、上述
したゾーン管理の場合には、ゾーンの切り替えが発生した場合に更新すれば良い。これに
より、書き換え回数管理テーブルの更新に起因した書き換え回数増加の影響を低減するこ
とが可能である。
【０１７３】
また、本実施形態においては、１チップのＮＡＮＤ型フラッシュメモリ１００内部のメ
モリセルアレイ１０７を２値セル領域と１６値セル領域に分割して使用したが、メモリシ
ステムが複数チップのＮＡＮＤ型フラッシュメモリを備える場合、あるチップ全体を２値
セル領域として使用し、また、他のチップ全体を１６値セル領域として使用しても良い。
この場合、１６値セル領域として使用し、所定の割合のブロックＢＬＫが書き換え保証回
数に達したチップを、以後２値セル領域として使用しても良い。
【０１７４】
また、本実施形態においては、書き換え回数を管理する単位をブロックＢＬＫ単位であ
るとして説明したが、これに限らず、複数個のブロックを１単位として書き換え回数を管
理しても良い。
【０１７５】
また、本実施形態に係るメモリシステムにおいては、センスアンプ回路１０９内部のペ
ージバッファＰＢが、選択回路１１０を介して偶数ビット線ＢＬｅ或いは奇数ビット線Ｂ
Ｌｏのいずれか一方に選択的に接続される場合について説明したが、これに限らず、１本
のビット線ＢＬに対して１つのページバッファＰＢが対応する回路構成であっても良い。
【０１７６】
また、本実施形態においては、ＮＡＮＤセルユニットＮＵが３２個の不揮発性メモリセ
ルＭＣ０乃至ＭＣ３１を有し、同一行のメモリセルＭＣの制御ゲートがそれぞれロウ方向
に延在して共通接続され、３２本のワード線ＷＬ０乃至ＷＬ３１を構成する場合について
説明したが、これに限らず、ＮＡＮＤセルユニットＮＵが６４個の不揮発性メモリセルＭ
Ｃ０乃至ＭＣ６３を有し、同一行のメモリセルＭＣの制御ゲートがそれぞれロウ方向に延
在して共通接続され、６４本のワード線ＷＬ０乃至ＷＬ６３を構成するようにしても良い
。
【０１７７】
また、本実施形態に係るメモリシステムにおいては、メモリセルＭＣとして浮遊ゲート
を用いた構造について説明したが、これに限らず、ＯＮＯ膜（シリコン酸化膜‐シリコン
窒化膜‐シリコン酸化膜）中のシリコン窒化膜に電子をトラップさせ、トラップされた電
子の多寡によりトランジスタの閾値電圧を制御する構造であっても良い。
【０１７８】
また、本実施形態においては、メモリシステムがＮＡＮＤ型フラッシュメモリを有する
場合について説明したが、これに限らず、ＮＯＲ型、ＡＮＤ型、ＤＩＮＯＲ型などの各種
フラッシュメモリでも適応可能であるし、これらの組み合わせであっても良い。
【０１７９】
また、一般的には比較的書き換え回数に制限が無いといわれているＭＲＡＭ（Magnetic
Random Access Memory）、強誘電体を使用したＦｅＲＡＭ、及びカルコゲン化物等を使
用したＯＵＭ（Ovonics Unified Memory）等のメモリにおいても、その必要性に応じて本
実施形態を適用することが可能である。
【０１８０】
また、本実施例に係るメモリシステムは、下記第２の実施形態のようにメモリカードに
内蔵して使用しても良いし、ＢＧＡ（Ball Grid Array）等のパッケージに集積して機器
に組み込んで使用しても良い。
【０１８１】
［第１の実施形態の変形例］
第１の実施形態におけるウェアレベリングシーケンスの変形例を以下に示す。ここでは
、１６値セル領域においてウェアレベリングを行う場合について説明する。
【０１８２】
本変形例においては、“１６値セル領域において、書き換え回数が最大のブロックＢＬ
Ｋと書き換え回数が最小のブロックＢＬＫとの書き換え回数の差が所定回数（第２の設定
値）に達した場合”にウェアレベリングを発動させ、書き換え回数が最大のブロックＢＬ
Ｋに記憶されているデータと書き換え回数が最小のブロックＢＬＫに記憶されているデー
タとを入れ替えることで、１６値セル領域の各ブロックＢＬＫの書き換え回数の差を一定
の範囲内に収めるように制御する。例えば、１００回をその所定回数とすると、書き換え
回数最大のブロックＢＬＫと書き換え回数最小のブロックＢＬＫとの書き換え回数の差が
１００回に到達した段階でウェアレベリングを発動する。
【０１８３】
図１４は、ウェアレベリングが発動する段階における１６値セル領域の書き換え回数管
理テーブルの例を示している。図１４に示すように、オフセット＝“０”乃至オフセット
“３”のブロックＢＬＫの書き換え回数は、それぞれ１０１回、１０回、２０回、１回で
あり、書き換え回数最大のブロックＢＬＫであるオフセット＝“０”ブロックＢＬＫと、
書き換え回数最小のブロックＢＬＫであるオフセット＝“３”のブロックとの書き換え回
数の差は、ウェアレベリングの発動条件である１００回に達している。
【０１８４】
ここで、図１５を参照してウェアレベリングが発動した場合のデータ入れ替え動作につ
いて説明する。図１５は、１６値セル領域においてウェアレベリングが発動した場合のウ
ェアレベリングシーケンスを示すフローチャートである。
【０１８５】
先ず、上述したように、フラッシュコントローラ２００は１６値セル領域の書き換え回
数管理テーブルを参照することにより、１６値セル領域における書き換え回数最大のブロ
ックＢＬＫと書き換え回数最小のブロックＢＬＫとの書き換え回数を比較し、書き換え回
数の差が所定回数（例えば、１００回）に達した場合（Ｓ１５０１）、ウェアレベリング
を発動する（Ｓ１５０２）。
【０１８６】
次に、１６値セル領域においてデータ入れ替え用ブロックＢＬＫを用意し、書き換え回
数最大のブロックＢＬＫ（図１４の場合、オフセット＝“０”のブロックＢＬＫ）に記憶
されているデータを、データ入れ替え用ブロックＢＬＫにコピーする（Ｓ１５０３）。
【０１８７】
書き換え回数最大のブロックＢＬＫから、データ入れ替え用ブロックＢＬＫへのデータ
コピーが終了したら、この書き換え回数最大のブロックＢＬＫに記憶されているデータを
消去する（Ｓ１５０４）。
【０１８８】
次に、１６値セル領域において書き換え回数最小のブロックＢＬＫ（図１４の場合、オ
フセット＝“３”のブロックＢＬＫ）に記憶されているデータを、先に消去した書き換え
回数最大のブロックＢＬＫにコピーする（Ｓ１５０５）。
【０１８９】
書き換え回数最小のブロックＢＬＫから、書き換え回数最大のブロックＢＬＫへのデー
タコピーが終了したら、この書き換え回数最小のブロックＢＬＫに記憶されているデータ
を消去する（Ｓ１５０６）。
【０１９０】
その後、データ入れ替え用ブロックＢＬＫに退避していたデータを、書き換え回数最小
のブロックＢＬＫに書き戻す（Ｓ１５０７）。
【０１９１】
データ入れ替え用ブロックＢＬＫから書き換え回数最小ブロックＢＬＫへのデータコピ
ーが終了した後、データ入れ替え用ブロックＢＬＫに記憶されているデータを消去する。
これによりデータ入れ替え動作を終了する（Ｓ１５０８）。
【０１９２】
以上のウェアレベリングシーケンスにより、全ブロックＢＬＫの書き換え回数に著しい
差を発生させることなく、メモリセルアレイ１０７を使用し続けることが可能となる。
【０１９３】
尚、２値セル領域についても１６値セル領域と同様のウェアレベルシーケンスを適用し
て、２値セル領域の書き換え保証回数に基づき制御すれば良い。即ち、“２値セル領域に
おいて、書き換え回数が最大のブロックＢＬＫと書き換え回数が最小のブロックＢＬＫと
の書き換え回数の差が所定回数（第１の設定値）に達した場合”にウェアレベリングを発
動させ、書き換え回数が最大のブロックＢＬＫに記憶されているデータと書き換え回数が
最小のブロックＢＬＫに記憶されているデータとを入れ替える。また、２値セル領域と１
６値セル領域で互いに異なるウェアレベリングシーケンスを適用しても良い。
【０１９４】
また、例えば、２値セル領域においてフラッシュコントローラ２００用のファームウェ
アその他の制御用データ等の重要な管理データを格納するブロックＢＬＫは、ウェアレベ
リング中の電源遮断等によるデータの破壊のリスクを軽減するため、ウェアレベリングの
対象から除外する。例えば、このようなブロックＢＬＫについては、書き換え回数の比較
を行う対象から除外しても良い。
【０１９５】
その他の構成については、第１の実施形態と同様である。
【０１９６】
［第２の実施形態］
図１６は、本実施形態に係るメモリカード３００の構成を示すブロック図である。本実
施形態に係るメモリカード３００は、上述した第１の実施形態に係るメモリシステムを内
蔵する。
【０１９７】
メモリカード３００は、その外観が例えば９つの端子群を有するＳＤＴＭメモリカード
形状に形成されており、図示略の外部ホストシステムに対し、一種の外部記憶装置として
用いられる。外部ホストシステムは具体的には、画像データ、音楽データ、或いはＩＤデ
ータ等の各種データを処理するパーソナルコンピュータや、ＰＤＡ（Personal Digital A
ssistant）、デジタルスチルカメラ、デジタルビデオカメラ、及び携帯電話等の各種電子
機器である。
【０１９８】
インタフェース用信号端子３１０には、外部ホストシステムからメモリカード３００へ
のクロック転送に使用されるＣＬＫ端子、コマンド転送と当該コマンドに対するレスポン
ス転送に使用されるＣＭＤ端子、読み書きされるデータの入出力端子として使用されるＤ
ＡＴ０、ＤＡＴ１、ＤＡＴ２、及びＤＡＴ３端子、電源供給に使用されるＶｄｄ端子、及
び接地に使用される２つのＧＮＤ端子の合計９個の信号端子が配置されている。
【０１９９】
これら９個の信号端子と、ホストインタフェースとが電気的に接続され、コマンド、ア
ドレス、及びデータ等の送受信が行われる。
【０２００】
本実施形態においても、第１の実施形態と同様に２値セル領域は２値セルとしての書き
換え保証回数である１００，０００回、１６値セル領域は１６値セルとして書き換え保証
回数である１，０００回という値を使用して書き換え回数を制御することにより、２値セ
ル領域および１６値セル領域各々を効率良く管理することが可能となる。
【０２０１】
［第３の実施形態］
図１７は、本実施形態に係るメモリカードホルダ３２０を示す模式図である。図１７に
示すメモリカードホルダ３２０には、第２の実施形態に係るメモリカード３００が挿入可
能である。メモリカードホルダ３２０は、図示略の外部ホストシステム等に接続され、メ
モリカード３００と外部ホストシステムとの間のインタフェース装置として機能する。
【０２０２】
［第４の実施形態］
図１８は、第２の実施形態に係るメモリカード３００、或いは第３の実施形態に係るメ
モリカードホルダ３２０のどちらも受けることが可能な接続装置３３０を示している。メ
モリカード３００或いはメモリカードホルダ３２０は接続装置３３０に装着され、電気的
に接続される。接続装置３３０は、接続ワイヤ３４０及びインタフェース回路３５０によ
りボード３６０に接続されている。ボード３６０は、ＣＰＵ３７０及びバス３８０を有す
る。
【０２０３】
また、図１９に示すように、メモリカード３００或いはメモリカードホルダ３２０が接
続装置３３０に挿入され、接続装置３３０がワイヤ３４０によりＰＣ（Personal Compute
r）９０に接続される構成であっても良い。
【図面の簡単な説明】
【０２０４】
【図１】本発明の第１の実施形態に係るメモリシステムの構成を示すブロック図。
【図２】本発明の第１の実施形態に係るメモリシステムのメモリコア部の構成を示す回路図。
【図３】本発明の第１の実施形態に係るメモリシステムにおけるメモリセルの閾値分布を示す模式図。
【図４】本発明の第１の実施形態に係るメモリシステムにおける書き換え回数管理テーブルを示す模式図。
【図５】本発明の第１の実施形態に係るメモリシステムにおけるデータ書き込みシーケンスを示すフローチャート。
【図６】本発明の第１の実施形態に係るメモリシステムにおけるデータ書き込みシーケンスを示すフローチャート。
【図７】本発明の第１の実施形態に係るメモリシステムにおけるデータ更新シーケンスを示すフローチャート。
【図８】本発明の第１の実施形態に係るメモリシステムにおけるデータ更新シーケンスを示すフローチャート。
【図９】本発明の第１の実施形態に係るメモリシステムにおけるデータ消去シーケンスを示すフローチャート。
【図１０】本発明の第１の実施形態に係るメモリシステムにおける書き換え回数管理テーブルを示す模式図。
【図１１】本発明の第１の実施形態に係るメモリシステムにおける書き換え回数管理テーブルを示す模式図。
【図１２】本発明の第１の実施形態に係るメモリシステムにおけるウェアレベリングシーケンスを示すフローチャート。
【図１３】本発明の第１の実施形態に係るメモリシステムにおける書き換え回数管理テーブルを示す模式図。
【図１４】本発明の第１の実施形態の変形例に係るメモリシステムにおける書き換え回数管理テーブルを示す模式図。
【図１５】本発明の第１の実施形態の変形例に係るメモリシステムにおけるウェアレベリングシーケンスを示すフローチャート。
【図１６】本発明の第２の実施形態に係るメモリカードの構成を示すブロック図。
【図１７】本発明の第３の実施形態に係るメモリカードホルダを示す模式図。
【図１８】本発明の第４の実施形態に係る接続装置を示す模式図。
【図１９】本発明の第４の実施形態に係る接続装置を示す模式図。
【符号の説明】
【０２０５】
１００  ＮＡＮＤ型フラッシュメモリ
１０１  制御信号入力端子
１０２  入出力端子
１０３  ビジー信号出力端子
１０４  コマンドデコーダ
１０５  アドレスバッファ
１０６  データバッファ
１０７  メモリセルアレイ
１０８  カラムデコーダ
１０９  センスアンプ回路
１１０  選択回路
１１１  ロウデコーダ
１１２  ワード線制御回路
１１３  制御信号発生回路
１１４  ＲＯＭ
１１５  ＲＡＭ
２００  フラッシュコントローラ
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  バッファ
２０５  ＥＣＣ回路
２０６  カウンタ
２０７  タイマ
３００  メモリカード
３１０  インタフェース用信号端子
３２０  メモリカードホルダ
３３０  接続装置
３４０  接続ワイヤ
３５０  インタフェース回路
３６０  ボード
３７０  ＣＰＵ
３８０  バス
３９０  ＰＣ
【図１】
2008257773.tif 000003
【図２】
2008257773.tif 000004
【図３】
2008257773.tif 000005
【図４】
2008257773.tif 000006
【図５】
2008257773.tif 000007
【図６】
2008257773.tif 000008
【図７】
2008257773.tif 000009
【図８】
2008257773.tif 000010
【図９】
2008257773.tif 000011
【図１０】
2008257773.tif 000012
【図１１】
2008257773.tif 000013
【図１２】
2008257773.tif 000014
【図１３】
2008257773.tif 000015
【図１４】
2008257773.tif 000016
【図１５】
2008257773.tif 000017
【図１６】
2008257773.tif 000018
【図１７】
2008257773.tif 000019
【図１８】
2008257773.tif 000020
【図１９】
2008257773.tif 000021