(57)【特許請求の範囲】
【請求項１】
書き換え可能な不揮発性メモリを制御する不揮発性メモリコントローラであって、
外部から指定可能な論理アドレスと、前記不揮発性メモリの物理アドレスとを対応付けるアドレス変換テーブルと、
前記不揮発性メモリに格納されたデータの劣化度合いを認識する誤り認識・訂正部と、
前記不揮発性メモリの制御を行う制御部と、
論理アドレスやデータの通信を外部と行う外部インターフェース部と、
レベリング禁止領域を管理する領域指定テーブルと、
レベリング禁止領域専用の無劣化ブロックテーブルと、からなり、
前記レベリング禁止領域にはレベリング処理を禁止する論理アドレスが格納され、
前記レベリング禁止領域専用の無劣化ブロックテーブルには、前記レベリング禁止領域に対するリフレッシュ処理を行う際に使用する物理アドレスが格納され、
前記誤り認識・訂正部は、
前記レベリング禁止領域に格納された論理アドレスに対応するデータに存在する誤りビットが閾値以上であるか否かを判断し、
前記制御部は、
前記誤り認識・訂正部が前記閾値以上であると判断したときに、
前記不揮発性メモリの前記レベリング禁止領域専用の無劣化ブロックテーブルに格納された物理アドレスに前記閾値以上の誤りビットを有する論理アドレスに対応するデータをリフレッシュ処理することを特徴とする不揮発性メモリコントローラ。
【請求項２】
前記閾値以上の誤りビットを有する論理アドレスに対応するデータが書き込まれていた物理アドレスを、
前記レベリング処理終了後に、前記レベリング禁止領域専用の無劣化ブロックテーブルに登録することを特徴とする請求項１記載の不揮発性メモリコントローラ。
【請求項３】
外部から前記レベリング禁止領域に対するデータの書き込みが発生したときに、
前記レベリング禁止領域専用の無劣化ブロックテーブルに格納された物理アドレスに前記データを書き込むことを特徴とした請求項１または２に記載の不揮発性メモリコントローラ。
【請求項４】
外部から前記レベリング禁止領域に対するデータの書き込みが発生したときに、
外部からの書き込みを行う論理アドレスに対応する前記アドレス変換テーブルの物理アドレスを、
前記レベリング禁止領域専用の無劣化ブロックテーブルに登録することを特徴とする請求項３記載の不揮発性メモリコントローラ。
【請求項５】
前記領域指定テーブルで管理するレベリング禁止領域の論理アドレスのデータは、
読み出し専用で書き込みを禁止することを特徴とした請求項４記載の不揮発性メモリコントローラ。
【請求項６】
前記不揮発性メモリコントローラはさらに、
前記物理アドレスに対応する消去回数を管理した消去回数テーブルと
有効なデータを格納していない物理アドレスを格納した無効テーブルとをさらに備えたことを特徴とする請求項１記載の不揮発性メモリコントローラ。
【請求項７】
前記不揮発性メモリコントローラは、
前記アドレス変換テーブルに格納した物理アドレスのうち、
前記消去回数テーブルに管理した消去回数の少ない物理アドレスを、
レベリング処理対象物理アドレスとして、
前記レベリング処理対象物理アドレスに格納されたデータを前記無効テーブルに格納した物理アドレスに移動することを特徴とする請求項６記載の不揮発性メモリコントローラ。
【請求項８】
前記不揮発性メモリコントローラは、
前記領域指定テーブルに管理される論理アドレスに対応する物理アドレスを、
前記レベリング処理対象物理アドレスとしないことを特徴とする請求項７記載の不揮発性メモリコントローラ。
【請求項９】
前記領域指定テーブルで管理するレベリング禁止領域の論理アドレスは、
外部から書き換え可能なことを特徴とする請求項８記載の不揮発性メモリコントローラ。
【請求項１０】
請求項１から９のいずれか１項に記載の不揮発性メモリコントローラと、
書き換え可能な不揮発性メモリデバイスを有する記憶部と、
を備えた不揮発性記憶装置。
【請求項１１】
前記不揮発性メモリデバイスが、
ＮＡＮＤタイプのフラッシュメモリであることを特徴とする請求項１０記載の不揮発性記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の不揮発性半導体メモリを用いた不揮発性記憶装置、および、不揮発性メモリを制御する不揮発性メモリコントローラに関する。
【背景技術】
【０００２】
近年、書き換え可能な不揮発性メモリであるＮＡＮＤタイプのフラッシュメモリを搭載した不揮発性記憶装置としてのメモリーカードは、デジタルカメラや携帯電話の記憶媒体としてその市場を拡大している。
【０００３】
また、不揮発性記憶装置は、半導体プロセスの微細化に伴いビット単価が下がり、安価な記憶デバイスとしてメモリーカード以外の市場、例えばＨＤＤ置き換えのＳＳＤや、ホスト機器に直接搭載するエンベデッドとしてのメモリにも適用が拡がっている。
【０００４】
ＮＡＮＤタイプのフラッシュメモリの特徴として以下の項目が挙げられる。
【０００５】
・半導体メモリで最も容量が大きく低ビットコストの不揮発性メモリである
・半導体プロセス微細化に伴い、データ信頼性が低下している
以下、それぞれについて順に説明していく。
【０００６】
ＮＡＮＤフラッシュメモリは半導体プロセスの最小加工寸法をＦとして（２Ｆ）の２乗で１つのメモリセルを構成できる。このことが、ＮＡＮＤフラッシュメモリを半導体メモリのなかで最も低ビットコストとし、かつ最も大容量なメモリとしている。また、ここ数年はプロセスドライバーとして、半導体プロセスの最も進んだプロセスルールを使用して製造が行なわれている。
【０００７】
これにより、ＮＡＮＤフラッシュメモリは、他のメモリを用いていたシステムにも使用され始めている。例えば、高速なランダムアクセスが要求されるプログラムコードは、ＮＯＲフラッシュメモリに格納され、大きな容量が要求されるユーザデータは、ＮＡＮＤフラッシュメモリに格納されていたシステムが、単一のＮＡＮＤフラッシュメモリのみに置き換わっている。搭載するＮＡＮＤフラッシュメモリの容量が必要なＮＯＲフラッシュメモリの容量に比べて十分小さく、ＮＯＲフラッシュメモリに搭載していたプログラムコードをＮＡＮＤフラッシュメモリに格納しても影響が少なく、ＮＡＮＤフラッシュメモリを使用する工夫を盛り込んだとしても、ＮＯＲフラッシュメモリをなくすことの出来るコストメリットが大きいためである。
【０００８】
ＮＡＮＤフラッシュメモリの大容量化は、半導体プロセスの微細化によるものが大きい。しかし、半導体プロセスの微細化はメリットばかりではなく、データ信頼性の低下が問題になっている。微細化が進むと、データ保持特性は低下し、書き換え処理による特性劣化が進む。フラッシュメモリのメモリセルは、ＭＯＳタイプトランジスタのコントロールゲートと基盤との間に電子を不揮発で保持するフローティングゲートを持つ構成をとり、基盤とフローティングゲート間で電子をやり取りすることでデータの消去書き込みを行う。フラッシュメモリのメモリセルからデータを読み出す際には、フラッシュメモリを構成するトランジスタの流れる電流量を判定して読み出す。
【０００９】
フラッシュメモリのメモリセルに対して、データの消去、書き込みを繰り返すので、基盤とフローティングゲート間を電子が移動し、基盤とフローティングゲート間の絶縁膜（以降、ゲート絶縁膜）が劣化してしまう。ゲート絶縁膜が劣化するとゲート絶縁膜中に存在する欠陥を経由してフローティングゲートから基盤に電子が漏れ、ゲート絶縁膜中の欠陥にトラップされた電子の影響で書き込みの効率が低下して、データ信頼性の低下要因となる。
【００１０】
こういったデメリットはあるが、圧倒的なビット単価を強みとすることができるので、データ信頼性を向上させる工夫を盛り込んででも、微細化の進んだフラッシュメモリの用途は拡がっている。
【００１１】
以上のような特徴から、データの信頼性を向上させる仕組みが求められている。また、フラッシュメモリに格納されるデータの種類によって求められる性能（容量・データ信頼性）が異なることがわかる。
【００１２】
特許文献１には、メモリセルのデータの劣化を精度よく検出する仕組みを設けることで、データ保持特性を向上させる技術が示されている。
【００１３】
特許文献２には、読み出しばかりを行うブロックのデータを保証するために、リフレッシュのタイミングを他のブロックの書き換え処理を機会として実施することによりデータ保持特性を向上させる技術が示されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００５−１４１８６４号公報
【特許文献２】特開平１０−３０２４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、特許文献１や特許文献２の構成において、劣化を検出したのちリフレッシュ処理におけるデータのコピー先の物理ブロックの劣化の程度に関してはなんら保障されるものではない。
【００１６】
本発明は、読み出しのみで使用される領域等の高いデータ保持信頼性が求められるデータに対してリフレッシュ処理を適用してデータをコピーする際にも、高いデータ保持信頼性を維持することが可能な不揮発性記憶装置および不揮発性メモリコントローラを提供することを目的とする。
【課題を解決するための手段】
【００１７】
この目的を達成するために、本発明の書き換え可能な不揮発性メモリを制御する不揮発性メモリコントローラは、書き換え可能な不揮発性メモリを制御する不揮発性メモリコントローラであって、外部から指定可能な論理アドレスと、前記不揮発性メモリの物理アドレスとを対応付けるアドレス変換テーブルと、前記不揮発性メモリに格納されたデータの劣化度合いを認識する誤り認識・訂正部と、前記不揮発性メモリの制御を行う制御部と、論理アドレスやデータの通信を外部と行う外部インターフェース部と、レベリング禁止領域を管理する領域指定テーブルと、レベリング禁止領域専用の無劣化ブロックテーブルと、からなり、前記レベリング禁止領域にはレベリング処理を禁止する論理アドレスが格納され、前記レベリング禁止領域専用の無劣化ブロックテーブルには、前記レベリング禁止領域に対するリフレッシュ処理を行う際に使用する物理アドレスが格納され、前記誤り認識・訂正部は、前記レベリング禁止領域に格納された論理アドレスに対応するデータに存在する誤りビットが閾値以上であるか否かを判断し、前記制御部は、前記誤り認識・訂正部が前記閾値以上であると判断したときに、前記不揮発性メモリの前記レベリング禁止領域専用の無劣化ブロックテーブルに格納された物理アドレスに前記閾値以上の誤りビットを有する論理アドレスに対応するデータをリフレッシュ処理する。
【発明の効果】
【００１８】
本発明によれば、読み出しのみで使用される高いデータ保持信頼性が求められるデータ領域用に劣化していない物理ブロックを専用で確保しておくことにより、読み出しのみで使用されるデータにリフレッシュ処理を適用する際に劣化していない物理ブロックへのデータのコピーが可能である。高いデータ保持信頼性の要求に応えることができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態１の不揮発性記憶装置の構成を示した図
【図２】実施の形態１の不揮発性記憶装置のアドレス変換テーブルの構成を示した図
【図３】実施の形態１の不揮発性記憶装置の無効ブロックテーブルの構成を示した図
【図４】実施の形態１の不揮発性記憶装置の領域指定テーブルの構成を示した図
【図５】実施の形態１の不揮発性記憶装置の無劣化ブロックテーブルの構成を示した図
【図６】実施の形態１の不揮発性記憶装置の書き込み処理のフローチャート
【図７】実施の形態１の不揮発性記憶装置の読み出し処理のフローチャート
【図８】実施の形態１の不揮発性記憶装置のリフレッシュ処理のフローチャート
【図９】実施の形態１の不揮発性記憶装置の通常リフレッシュ処理のフローチャート
【図１０】本発明の不揮発性記憶装置の読み出し専用リフレッシュ処理のフローチャート
【図１１】フラッシュメモリの書き換え回数とデータ保持期間のグラフ
【発明を実施するための形態】
【００２０】
（実施の形態１）
図面を参照して本実施の形態の不揮発性記憶装置について説明する。
【００２１】
図１に本発明の不揮発性記憶装置の構成を示す。
【００２２】
＜１．不揮発性記憶装置の構成＞
不揮発性記憶装置であるメモリーカード１０１は、コントローラ１０２とフラッシュメモリ部１０３からなる。コントローラ１０２は、不揮発性メモリコントローラであり、メモリーカード１０１の外部のホスト機器とのインターフェースの制御を行うと共にフラッシュメモリ部１０３の制御を行う。
【００２３】
フラッシュメモリ部１０３は、不揮発性メモリであるフラッシュメモリからなる。図示しないがフラッシュメモリは複数の物理ブロックからなり、物理ブロックは複数のメモリセルからなる。物理ブロックはフラッシュメモリにおけるデータの消去単位である。
【００２４】
メモリーカード１０１は、メモリーカード１０１の外部からのアドレスを指定したデータの書き込みや読み出しの制御に対応してフラッシュメモリ部１０３へのデータの書き込みやフラッシュメモリ部１０３からデータの読み出しを行う。
【００２５】
コントローラ１０２は、ホストインターフェース部１０４、フラッシュメモリ制御部１０５、バッファメモリ１０６、ＥＣＣ１０７、制御部１０８、アドレス変換テーブル１０９、無効ブロックテーブル１１０、不良ブロックテーブル１１１、領域指定テーブル１１２、無劣化ブロックテーブル１１３、消去回数テーブル１１４からなる。
【００２６】
ホストインターフェース部１０４は、メモリーカード１０１外部のホスト機器とのインターフェースを制御する。フラッシュメモリ制御部１０５はフラッシュメモリ部１０３の制御を行う。バッファメモリ１０６はメモリーカード１０１外部からの書き込みデータや、メモリーカード１０１外部への読み出しデータをフラッシュメモリ部１０３との間で転送する際に、一時的にデータを格納するための揮発性のバッファメモリである。
【００２７】
ＥＣＣ１０７は、ＥＣＣ回路であり、フラッシュメモリ部１０３にデータを書き込む際に付加するＥＣＣ符号の生成、フラッシュメモリ部１０３からデータを読み出す際に読み出したデータのＥＣＣ訂正を行う。
【００２８】
制御部１０８は、コントローラ１０２内部全体の制御を行う。
【００２９】
アドレス変換テーブル１０９は、メモリーカード１０１外部から指定されるアドレス（以降、論理アドレスと記載）とフラッシュメモリ部１０３の物理ブロックのアドレス（以降、物理アドレスと記載）との対応を記録する。
【００３０】
無効ブロックテーブル１１０は、フラッシュメモリ部１０３において有効なデータが書き込まれておらず、かつ不良ブロックでなく、無劣化ブロックテーブル１１３で管理されていない物理ブロックアドレスのリストを記録する。
【００３１】
不良ブロックテーブル１１１は、フラッシュメモリ部１０３における不良ブロックの物理ブロックの物理アドレスのリストを記録する。
【００３２】
領域指定テーブル１１２は、メモリーカード１０１外部から指定される論理アドレスを複数の領域に分割し、それぞれの分割された領域のデータに対してレベリング処理の適用を許可するか禁止するかを示すテーブルである。
【００３３】
無劣化ブロックテーブル１１３は、有効なデータが書き込まれていない物理ブロックのアドレスのリストを記録している。読み出し専用の物理ブロックのデータのリフレッシュ用の物理ブロックアドレスのテーブルである。
【００３４】
消去回数テーブル１１４は、フラッシュメモリ部１０３に含まれる全ての物理ブロックの書き換え回数を記録したテーブルである。
【００３５】
＜２．各種テーブルの構成例＞
図２はアドレス変換テーブル１０９の構成の一例を示す図である。アドレス変換テーブル１０９は、論理ブロックアドレス２０１と物理ブロックアドレス２０２のデータの組みである。論理アドレスをフラッシュメモリ部１０３の物理ブロックの容量と等量の単位の論理ブロックアドレスに分割し、論理ブロックアドレス２０１のデータとする。それぞれに対応するフラッシュメモリ部１０３の物理ブロックアドレス２０２の組で一つのレコードを構成する。論理ブロックアドレス００００ｈに対応するデータはフラッシュメモリ部１０３のアドレス００００ｈの物理ブロックに、論理ブロックアドレス０００１ｈに対応するデータはフラッシュメモリ部１０３のアドレス００１０ｈの物理ブロックに格納されていることを示す。また、論理ブロックアドレスとしては００００ｈ〜１Ｆ３９ｈまでを管理している。
【００３６】
図３は無効ブロックテーブル１１０の構成の一例を示す図である。フラッシュメモリ部１０３の無効なデータの物理ブロックのアドレス０１２３ｈ、０４５６ｈ、・・・を格納する。なお、ここでフラッシュメモリ部１０３の物理ブロックのアドレスは００００ｈ〜１ＦＦＦｈの範囲とし、２０００ｈは無効ブロックテーブルの１１０における無効な値として取り扱う。
【００３７】
不良ブロックテーブル１１１の構成は無効ブロックテーブル１１０と同様に、フラッシュメモリ部１０３の不良データの物理ブロックのアドレスを格納する。
【００３８】
図４は領域指定テーブル１１２の構成の一例を示す図である。先頭論理アドレス４０１と、最終論理アドレス４０２とレベリング４０３の組で１つのレコードを構成する。先頭論理アドレス４０１から最終論理アドレス４０２までのアドレス領域に対するレベリングの禁止・許可をレベリング４０３で定義する。先頭論理アドレス４０１の００００ｈから最終論理アドレス４０２の０００１ｈまでの論理アドレスに対応してレベリング４０３は禁止。先頭論理アドレス４０１の０００２ｈから最終論理アドレス４０２の１Ｆ２９ｈまでの論理アドレスに対応してレベリング４０３は許可。先頭論理アドレス４０１の１Ｆ３０ｈから最終論理アドレス４０２の１Ｆ３９ｈまでの論理アドレスに対応してレベリング４０３は禁止である。
【００３９】
ここでは論理アドレス１Ｆ３０ｈ以降にプログラムコードを格納している構成を想定している。つまり論理アドレス１Ｆ３０ｈ以降の領域にはデータの書き換えが発生するのはプログラムの更新時のみであり、書き換え頻度は低い。また論理アドレス００００ｈ、０００１ｈにはファイルシステムのブートコードが記録された構成を想定している。これもまた書き換えの頻度は低い。このように書き換えの頻度の低い領域をレベリング禁止領域としている。なお、領域指定テーブル１１２は任意に設定可能な構成をとる。
【００４０】
図５は無劣化ブロックテーブル１１３の構成の一例を示す図である。フラッシュメモリ部１０３の無効なデータの物理ブロックのうち、読み出し専用の物理ブロックのデータのリフレッシュ用の物理ブロックアドレスとして１Ｆ００ｈの物理ブロックアドレスを格納している。
【００４１】
消去回数テーブル１１４の構成は本実施の形態に直接関係しないので説明を割愛する。
【００４２】
＜３．書き込み・読み出し処理とリフレッシュ処理＞
図６はメモリーカード１０１に対するデータの書き込み処理における制御部１０８の動作のフローチャートである。メモリーカード１０１はメモリーカード１０１外部のホスト機器からの論理アドレスを指定した書き込み命令によって書き込み処理を開始する。
【００４３】
処理６０１を説明する。制御部１０８は、書き込み先物理ブロックの決定を行う。具体的には無効ブロックテーブル１１０に登録されている物理ブロックアドレスのうちから、消去回数テーブル１１４に示されている書き換え回数がもっと少ない物理ブロックアドレスの物理ブロック（以降、書き込み先物理ブロックと記載）を選択して決定する。
【００４４】
次に処理６０２を説明する。ホスト機器からのデータの書き込みを行う。制御部１０８はホスト機器から転送される書き込みデータをフラッシュメモリ部１０３の書き込み先物理ブロックに転送して書き込む。この時、ホスト機器からの書き込みデータが物理ブロック単位に満たないときには、フラッシュメモリ部１０３に既書き込みのデータを使用して物理ブロック単位にしてフラッシュメモリ部１０３に書き込む。このような処理を行う必要があるのは、フラッシュメモリ部１０３のデータの消去単位でしかデータを書き換えることが出来ないためである。またこの時データの書き換えが発生するので書き込み先物理ブロックに対応する消去回数テーブル１１４の書き換え回数を“１”増やして更新する。
【００４５】
次に処理６０３を説明する。アドレス変換テーブル１０９および無効ブロックテーブル１１０の更新を行う。制御部１０８はホスト機器から指定された論理ブロックアドレスに対応するアドレス変換テーブル１０９の物理アドレスと、書き込み先物理ブロックの物理ブロックアドレスとを入れ替えて更新する。
【００４６】
図７はメモリーカード１０１に対するデータの読み出し処理における制御部１０８の動作のフローチャートである。メモリーカード１０１はメモリーカード１０１外部のホスト機器からの論理アドレスを指定した読み出し命令によって読み出し処理を開始する。
【００４７】
処理７０１を説明する。制御部１０８は、読み出し元の物理ブロックの決定を行う。具体的にはホスト機器から指定された論理ブロックアドレスに対応するアドレス変換テーブル１０９の物理ブロックアドレスの物理ブロック（以降、読み出し元物理ブロックと記載）を決定する。
【００４８】
次に処理７０２を説明する。フラッシュメモリ部１０３からのデータの読み出しを行う。フラッシュメモリ部１０３の読み出し元物理ブロックからデータを読み出してホスト機器に転送する。
【００４９】
判定処理７０３を説明する。処理７０２の読み出し処理の期間に閾値以上のビットエラーが発生したかどうかを判定する。フラッシュメモリ部１０３からの読み出しデータは所定単位毎にＥＣＣ符号が付加されている。ＥＣＣ１０７は所定単位の読み出し毎にＥＣＣ訂正を行う。ＥＣＣ１０７の訂正能力には上限がある。判定処理７０３で使用する閾値はＥＣＣ１０７の訂正能力の上限よりも低い値を設定する。これは、データ保持特性の劣化によるビットエラーによって訂正ビット数が増加しているが、訂正能力の上限を越える前の訂正可能な段階で、訂正したデータをフラッシュメモリ部１０３に書き戻すことでエラービット数を“０”にするリフレッシュ処理の要否を判定している。判定処理７０３で閾値未満のビットエラーの場合には読み出し処理を終了する。
【００５０】
判定処理７０３で閾値以上のビットエラーが発生していると判定した場合には処理７０４のリフレッシュ処理を行い、読み出し処理を終了する。
【００５１】
図８は処理７０４のリフレッシュ処理のフローチャートである。
【００５２】
判定処理８０１を説明する。レベリング禁止領域かどうかの判定を行う。制御部１０８はホストから指定された論理ブロックアドレスがレベリング禁止領域なのか許可領域なのかを領域指定テーブル１１２を参照して判定する。レベリングとは、フラッシュメモリ部１０３にある物理ブロックの消去回数の平滑化を目的とした処理である。具体的には、書き込みはされているが、書き換えされていないために消去回数が少ないが、有効なデータが格納されている物理ブロックのデータを他の消去回数の多い物理ブロックに移動することにより、消去回数の少ない物理ブロックのデータを無効化して、有効に物理ブロックを使用する処理であり、一般的にスタティックウェアレベリングと呼ばれている。
【００５３】
判定処理８０１でレベリング禁止領域と判定した場合は処理８０２を実施し、読み出し専用リフレッシュ処理を行い、判定処理８０１でレベリング許可領域と判定した場合は処理８０３を実施し、通常リフレッシュ処理を行う。
【００５４】
図９は処理８０３の通常リフレッシュ処理のフローチャートである。
【００５５】
処理９０１の説明をする。無効ブロックテーブル１１０からコピー先となる物理ブロックを決定する。図６の書き込み処理で説明した様に、ホスト機器からの書き込みに対して、アドレス変換テーブル１０９と無効ブロックテーブル１１０のアドレスを入れ替えると共に消去回数テーブル１１４を更新しているので、無効ブロックテーブル１１０には劣化の進んだ物理ブロックの物理ブロックアドレスが格納されることになる。通常リフレッシュ処理では、ホスト機器からのデータ書き込みによって劣化している物理ブロックを選択する。
【００５６】
処理９０２の説明をする。リフレッシュ対象データのコピーを行う。処理７０１で決定した読み出し元物理ブロックから、処理９０１で選択した物理ブロックへデータをコピーする。
【００５７】
処理９０３の説明をする。アドレス変換テーブル１０９および無効ブロックテーブル１１０の更新を行う。制御部１０８は、読み出し元物理ブロックの物理アドレスと、リフレッシュ処理でデータをコピーした物理ブロックの物理ブロックアドレスとを入れ替えて更新する。
【００５８】
図１０は処理８０２の読み出し専用リフレッシュ処理のフローチャートである。
【００５９】
処理１００１の説明をする。無劣化ブロックテーブル１１３からコピー先となる物理ブロックを決定する。無劣化ブロックテーブル１１３に格納されている物理ブロックの消去回数は少ないので劣化の程度は低い。読み出し専用リフレッシュ処理では、劣化の少ない物理ブロックを選択する。
【００６０】
処理１００２の説明をする。リフレッシュ対象データのコピーを行う。処理７０１での読み出し元物理ブロックから、処理１００１で選択した物理ブロックへデータをコピーする。
【００６１】
処理１００３の説明をする。アドレス変換テーブル１０９および無劣化ブロックテーブル１１３の更新を行う。制御部１０８は、読み出し元物理ブロックの物理アドレスと、リフレッシュ処理でデータをコピーした物理ブロックの物理ブロックアドレスとを入れ替えて更新する。
【００６２】
この読み出し専用リフレッシュ処理の対象となる、読み出し元物理ブロックはレベリング禁止領域の論理アドレスのデータが書き込まれていた物理ブロックなので、消去回数は少ない。従ってテーブル更新後の無劣化ブロックテーブル１１３に記録される物理ブロックアドレスの消去回数は少ないものになる。
【００６３】
参考のため図１１に書き換え回数とデータ保持期間の関係のグラフを示す。書き換え回数が少ないときにはデータ保持期間は長いが、書き換え回数が多くなるにつれてデータ保持期間は短くなっていく。
【００６４】
本実施の形態の制御を行うことで、重要なデータが格納されている読み出し専用のデータのビットエラーが増加したときにリフレッシュ処理によってビットエラーを一旦“０”にすることが出来る。さらに、そのリフレッシュ処理によって書き換え回数の多い劣化した物理ブロックにコピーされることを回避して、書き換え回数の少ない劣化していない物理ブロックにデータをコピーすることができデータ保持特性を高いまま維持することができる。
【産業上の利用可能性】
【００６５】
本発明は、不揮発性記憶装置のなかで高いデータ保持信頼性を要求する領域のデータに対してデータ保持信頼性を維持することが可能な、ユーザ利便性の高い不揮発性記憶装置に有用である。
【符号の説明】
【００６６】
１０１  メモリーカード
１０２  コントローラ
１０３  フラッシュメモリ部
１０４  ホストインターフェース部
１０５  フラッシュメモリ制御部
１０６  バッファメモリ
１０７  ＥＣＣ
１０８  制御部
１０９  アドレス変換テーブル
１１０  無効ブロックテーブル
１１１  不良ブロックテーブル
１１２  領域指定テーブル
１１３  無劣化ブロックテーブル
１１４  消去回数テーブル
【図１】
0005494086.tif 000002
【図２】
0005494086.tif 000003
【図３】
0005494086.tif 000004
【図４】
0005494086.tif 000005
【図５】
0005494086.tif 000006
【図６】
0005494086.tif 000007
【図７】
0005494086.tif 000008
【図８】
0005494086.tif 000009
【図９】
0005494086.tif 000010
【図１０】
0005494086.tif 000011
【図１１】
0005494086.tif 000012