(57)【要約】【課題】論理アドレスの重複の発生に対して、より容易な方法にて適切な処理を行うことが可能な不揮発性メモリの制御方法を提供する。【解決手段】記憶領域に第１ゾーンと第２ゾーンを割り付け、両ゾーンにデータを２重に記憶する。新たなデータを記憶する場合、対象ゾーン内において現在までのデータが記憶されているブロックからデータを読み出し、新たに記憶すべきデータを追加して対象ゾーン内の別のブロックに書き込むとともに冗長領域に論理アドレスを書き込み、その後、現在までのデータが記憶されていた対象ゾーン内のブロックを消去する一連の処理を第１ゾーンと第２ゾーンにて行う。一方のゾーンの冗長領域の論理アドレスに重複が発見され、且つ他方のゾーンの冗長領域の論理アドレスに重複が発見されなかったとき、重複が発見された側のゾーンを初期化し、重複が発見されなかった側のゾーンに記憶されているデータを初期化したゾーンに複写する。【選択図】        図３
2006099419.tif 000002
【特許請求の範囲】
【請求項１】
記憶領域が複数のブロックにて構成されているとともに、各ブロックは複数のページで構成され、ページが消去状態である場合にページ単位で書き込みを行うことが可能であるとともに、データを消去する場合はブロック単位でのみ消去することが可能であり、各ページはデータを記憶可能なデータ領域と、当該データ領域に記憶されているデータの状態に関する情報と論理アドレスとを少なくとも記憶可能な冗長領域とで構成された、不揮発性メモリの制御方法であって、
不揮発性メモリの記憶領域に、複数のブロックを含む第１ゾーン及び第２ゾーンの異なるゾーンを割り付け、第１ゾーンにデータを記憶させるとともに、第２ゾーンにもデータを記憶させて、データを２重に記憶し、
前記不揮発性メモリに、現在まで記憶されているデータに続けて新たなデータを記憶する場合、
対象ゾーン内において現在までのデータが記憶されているブロックからデータを読み出して、新たに記憶すべきデータを追加して対象ゾーン内の別のブロックに書き込むとともに冗長領域に論理アドレスを書き込み、その後、現在までのデータが記憶されていた対象ゾーン内のブロックを消去する一連の処理を、第１ゾーンにおいて行うとともに、第２ゾーンにおいても行い、
第１ゾーンと第２ゾーンに記憶されているデータの異常の有無を判定する場合、
第１ゾーンと第２ゾーンとのそれぞれの冗長領域をチェックして、一方のゾーンの冗長領域の論理アドレスに重複が発見され、且つ他方のゾーンの冗長領域の論理アドレスに重複が発見されなかったとき、重複が発見された側のゾーンを初期化し、重複が発見されなかった側のゾーンに記憶されているデータを前記初期化したゾーンに複写する、
ことを特徴とする不揮発性メモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の不揮発性メモリに、高い信頼性にてデータを記憶することができる、不揮発性メモリの制御方法に関する。
【背景技術】
【０００２】
近年、フラッシュメモリ等の不揮発性メモリが、種々の製品にて利用されている。例えば図５（Ａ）に、不揮発性メモリの例として５１２ＭビットのＮＡＮＤ型フラッシュメモリ（スマートメディア（登録商標））の構造の例を示す。
ＮＡＮＤ型フラッシュメモリは、電池を内蔵したＳＲＡＭカード等と比較して、可搬型でサイズがより小型でありながら、容量は非常に大きい。このため、例えば０．５秒毎に速度や温度等のデータをリアルタイムに検出しながら記憶するような用途であっても、容量的には余裕のある使い方ができる。また、記憶したデータを持ち運ぶような使い方に適している。
図５（Ａ）に示すように、５１２ＭビットのＮＡＮＤ型フラッシュメモリは、４０９６個のブロックにて構成されており、１個のブロックは３２個のページにて構成されている。また１個のページは５１２バイトのデータ領域と１６バイトの冗長領域にて構成されている。データ領域には利用者が所望するデータを記憶することが可能であり、冗長領域は利用者が意識することなく、不揮発性メモリの制御部（ＣＰＵ等の演算手段）が使用する領域である。
【０００３】
ＮＡＮＤ型フラッシュメモリは、データを書き込む場合はページ単位でのみ行うことが可能であり、データを消去する場合はブロック単位でのみ行うことが可能であり、揮発性メモリであるＲＡＭ（Random Access Memory）のように、バイト単位で且つ自由な値に書替えを行うことができない。例えば当該不揮発性メモリが消去状態である場合、各ビットは「１」に設定されている。また、各ビットを「１」から「０」に書替えることは可能であるが、「０」から「１」に書替えることはできず、消去状態（各ビットが「１」の状態）から１回書き込むことしかできない。従って、１回書き込みを行った場合、次に書き込む前に消去しなければならない（消去の場合のみ「０」から「１」に変更が可能）。
そこで、この不揮発性メモリに対する従来の制御方法では、新たなデータを追加して記憶する場合、図５（Ａ）に示すように、冗長領域に「書き込み済みフラグ」「論理アドレス」「フラグ１（ブロックデータ無効化フラグ）」等に当該ブロックに記憶されているデータの設定状態を記憶させておき、制御部が次々とブロックを変更し、新たなデータを追加して記憶している。
このため、有効なデータが記憶されている最新のブロックはどのブロックであるか、また、そのブロックの論理アドレスの値は何であるか等が非常に重要であり、これらの情報は冗長領域に記憶されている。
【０００４】
フラッシュメモリ等の不揮発性メモリの書き込み及び消去には比較的長い時間（例えば数ｍｓ以上）を必要とするため、書き込み中に電源遮断やリセット等が発生する可能性がある。このような場合でも、記憶されているデータの信頼性を確保することが重要である。
そこで、特許文献１に記載の従来技術では、図５（Ｂ）に示すように冗長領域に「フラグ２（ブロックデータ有効化フラグ）」「新旧判定用カウンタ」を新たに設けるとともに、制御部による制御（制御ソフト）にて「書き込み済みフラグ」「論理アドレス」「フラグ１（ブロックデータ無効化フラグ）」「フラグ２（ブロックデータ有効化フラグ）」「新旧判定用カウンタ」を用いて複雑な処理を行い、書き込み中の電源遮断やリセット等が発生しても、記憶されているデータの信頼性を確保することができる、不揮発性メモリの制御方法が提案されている。
【特許文献１】特開２００３−０１５９２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
電源遮断やリセット等は、どのタイミングで発生するか予測することは不可能であり、空きブロックにデータを書き移して冗長領域に論理アドレスを書き込んだ後、旧ブロックを消去する前に発生する場合もある。このような場合、２つのブロックの冗長領域に同一の論理アドレスが存在することになる（論理アドレスの重複が発生する）。データの読み出しまたは書き込み等を行う際、１つの論理アドレスに２つのブロックが割り当てられていては、どちらのブロックのデータを扱えばよいか混乱する。当然のことながら、正常に書き込みが終了した最新のデータを含む側のブロックのデータを扱えばよいのであるが、どちらのブロックが「正常に書き込みが終了した最新のデータを含むブロック」であるか、判断することが困難である。
【０００６】
また、データを書き移し中に電源遮断やリセット等が発生すると、その時点まで蓄積したデータが消失する可能性もある。この問題に対しては、同一データを２箇所のエリアに書き込むことで対策可能であるが、上記の論理アドレスの重複には対処できない。
【０００７】
また、図５（Ｂ）に示す特許文献１に記載の従来技術では、冗長領域に「フラグ２（ブロックデータ有効化フラグ）」「新旧判定用カウンタ」を新たに設け、冗長領域の構成を変更するとともに、制御部による制御（制御ソフト）を、冗長領域の変更に合わせて複雑に変更し、「フラグ２」及び「新旧判定用カウンタ」を用いて「正常に書き込みが終了した最新のデータを含むブロック」を判定可能としている。
しかし、冗長領域の構成の変更に伴う制御ソフトの複雑な変更を必要とするため、従来の問題を確実に回避できるか否か、従来では発生しなかった新たな問題が発生しないか否か、充分な机上検討及び動作確認等が必要となり、開発期間が長くなる可能性がある。
【０００８】
本発明は、このような点に鑑みて創案されたものであり、論理アドレスの重複の発生に対して、より容易な方法にて適切な処理を行うことが可能な不揮発性メモリの制御方法を提供することを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するための手段として、本発明の第１発明は、請求項１に記載されたとおりの不揮発性メモリの制御方法である。
請求項１に記載の不揮発性メモリの制御方法は、記憶領域が複数のブロックにて構成されているとともに、各ブロックは複数のページで構成され、ページが消去状態である場合にページ単位で書き込みを行うことが可能であるとともに、データを消去する場合はブロック単位でのみ消去することが可能であり、各ページはデータを記憶可能なデータ領域と、当該データ領域に記憶されているデータの状態に関する情報と論理アドレスとを少なくとも記憶可能な冗長領域とで構成された、不揮発性メモリの制御方法である。
不揮発性メモリの記憶領域に、複数のブロックを含む第１ゾーン及び第２ゾーンの異なるゾーンを割り付け、第１ゾーンにデータを記憶させるとともに、第２ゾーンにもデータを記憶させて、データを２重に記憶し、前記不揮発性メモリに、現在まで記憶されているデータに続けて新たなデータを記憶する場合、対象ゾーン内において現在までのデータが記憶されているブロックからデータを読み出して、新たに記憶すべきデータを追加して対象ゾーン内の別のブロックに書き込むとともに冗長領域に論理アドレスを書き込み、その後、現在までのデータが記憶されていた対象ゾーン内のブロックを消去する一連の処理を、第１ゾーンにおいて行うとともに、第２ゾーンにおいても行う。
そして第１ゾーンと第２ゾーンに記憶されているデータの異常の有無を判定する場合、第１ゾーンと第２ゾーンとのそれぞれの冗長領域をチェックして、一方のゾーンの冗長領域の論理アドレスに重複が発見され、且つ他方のゾーンの冗長領域の論理アドレスに重複が発見されなかったとき、重複が発見された側のゾーンを初期化し、重複が発見されなかった側のゾーンに記憶されているデータを前記初期化したゾーンに複写する。
【発明の効果】
【００１０】
請求項１に記載の不揮発性メモリの制御方法を用いれば、データを記憶する際は、第１ゾーンと第２ゾーンの双方に、同じデータを記憶していく。制御部は同時に異なるゾーンにデータを書き込むまたは消去することはできないため、一方のゾーンにおいて書き込みまたは消去の途中で電源遮断等が発生して、当該一方のゾーンにおいて論理アドレスに重複が発生しても、他方のゾーンには、「正常に書き込みが終了した最新のデータを含むブロック」が論理アドレスの重複が発生することなく残されている。
従って、この場合は論理アドレスの重複が発生していない他方のゾーンのデータを扱えばよい。また、論理アドレスの重複が発生した一方のゾーンは初期化して、初期化した一方のゾーンに他方のゾーンに記憶されているデータを書き移し、新たなデータを記憶する際は、第１ゾーンと第２ゾーンの双方に同じデータを記憶していく処理を行う。
このように、より容易な方法（データ記憶時は第１ゾーンと第２ゾーンの双方に同じデータを記憶し、異常判定時は正常と判定された側のゾーンのデータを利用する方法）にて、論理アドレスの重複の発生に対して、適切な処理を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下に本発明を実施するための最良の形態を図面を用いて説明する。以下、ＮＡＮＤ型フラッシュメモリ（スマートメディア（登録商標））を不揮発性メモリの例として、本発明の不揮発性メモリの制御方法について説明する。
【００１２】
●［ブロック構成と、不揮発性メモリの記憶領域の構成（図１）］
図１（Ａ）は本発明の不揮発性メモリの制御方法を実現するための構成を示すブロック図である。制御部１０は、ＣＰＵ１２とＲＡＭ１４とで構成され、当該制御部１０にて不揮発性メモリ２０へのデータの入出力を制御する。
制御部１０は、外部からデータの書き込みあるいは読み出しが要求されると、不揮発性メモリ２０へのデータの記憶あるいはデータの読み出しを行う。
【００１３】
図１（Ｂ）は、不揮発性メモリ２０の記憶領域の構成を示している。
不揮発性メモリ２０の記憶領域は複数のブロック（物理ブロック１〜ｎ）にて構成されている。また、各ブロックは例えば３２個（第１所定数）のページにて構成され、各ページはデータ領域と冗長領域とを有している。１個のデータ領域は例えば５１２バイトの容量を有しており、１個の冗長領域は例えば１６バイトの容量を有している。
データ領域には、利用者が所望するデータを記憶することが可能であり、冗長領域はＣＰＵ１２等の制御部１０が使用する領域である。
本実施の形態にて説明する不揮発性メモリの制御方法では、冗長領域に「論理アドレス」と「利用可否情報（対応するブロックが、書き込み及び消去の利用が可能か否かを示した情報）」とを少なくとも記憶可能である。また、図５（Ａ）に示した従来技術のように、「書き込み済みフラグ」「フラグ１」をも記憶可能としてもよい。
【００１４】
図１（Ｃ）は、「物理アドレス」と「論理アドレス」について説明する図である。
物理アドレスは、不揮発性メモリ２０の記憶領域の先頭から最終部に向かって順番に設定された絶対アドレスである。従って、不揮発性メモリ２０の物理ブロックにどのような順番でデータが記憶されていても不変のアドレスである。
これに対して論理アドレスは、不揮発性メモリ２０の記憶領域において、どの物理ブロックから、どの物理ブロックに向けてデータが記憶されているかを示した相対アドレスである。例えば図１（Ｃ）の例に示すように、物理アドレス０〜４に、Ｄａｔａ４、Ｄａｔａ０、Ｄａｔａ２、Ｄａｔａ１、Ｄａｔａ３と記憶されていても、制御部１０は論理アドレスの順にデータを読み出すことで、Ｄａｔａ０、Ｄａｔａ１、Ｄａｔａ２、Ｄａｔａ３、Ｄａｔａ４の順に読み出すことができる。
【００１５】
ＮＡＮＤ型フラッシュメモリでは前述したように、データを書き込む場合、消去状態から１回書き込むことしかできない。現在記憶されているデータに続けて新たなデータを記憶する場合、現在までのデータが記憶されているブロックからデータを読み出して、新たに記憶すべきデータを追加して、空きブロック（消去済みのブロック）に書き込むとともに冗長領域に論理アドレスを書き込む。その後、現在までのデータが記憶されていたブロックを消去する。これにより、図１（Ｃ）の例に示すように、物理アドレス順にデータが整列しなくなるため、論理アドレスが必要になる。
【００１６】
ここで、例えば「論理アドレス：３」のブロックに現在までのデータＤ［１］〜Ｄ［ｊ］までが記憶されており、Ｄ［ｊ］に続けて新たなデータＤ［ｊ＋１］を記憶する場合を例に説明する。
（１）読み出し処理
制御部１０は、「論理アドレス：３」のブロックから現在まで記憶されているデータ（Ｄ［１］〜Ｄ［ｊ］）を読み出し、ＲＡＭ１４上に記憶する（図４（Ａ）の「（１）複写」を参照）。なお、論理アドレス等、書き移す際に必要な情報も冗長領域から読み出してＲＡＭ１４上に記憶する。
（２）追加処理
次に制御部１０は、ＲＡＭ１４上にてＤ［ｊ］に続けてＤ［ｊ＋１］（新たに記憶すべきデータ）を記憶する（図４（Ａ）の「（２）追加」を参照）。
（３）書き込み処理
そして制御部１０は、（消去状態の）空きブロックに、ＲＡＭ１４上に記憶しているデータを書き込む（図４（Ａ）の「（３）書き込み」を参照）。なお、データを書き込むとともに、論理アドレスを含む冗長領域も書き込む。これにより、新たに書き込まれたブロックが、新たな「論理アドレス：３」のブロックとなる。
（４）消去処理
その後（空きブロックへの書き込みが正常に終了した後）、制御部１０は、旧「論理アドレス：３」ブロック（Ｄ［１］〜Ｄ［ｊ］までが記憶されているブロック）を消去し、新「論理アドレス：３」ブロック（Ｄ［１］〜Ｄ［ｊ＋１］までが記憶されているブロック）を残す（図４（Ａ）の「（４）消去」を参照）。
【００１７】
ここで、上記の（３）書き込み処理までが正常に終了した時点で且つ（４）消去処理が終了する前に、電源遮断やリセット等が発生した場合、「論理アドレス：３」が２つのブロックに存在することになる。本発明の不揮発性メモリの制御方法は、このような「論理アドレスの重複」の発生に対して、適切な処理を行うものである。
【００１８】
●［本実施の形態における記憶領域の構成（図２（Ａ）〜（Ｃ））］
図２（Ａ）に示すように、本実施の形態では、不揮発性メモリ２０の記憶領域に少なくとも２つのゾーンを割り付け、同一のデータをそれぞれのゾーンに記憶することで２重に記憶する。図２（Ａ）に示す例では、物理ブロックＡ１〜Ｂ１のｍ個のブロックを有するゾーン１（第１ゾーンに相当する）と、物理ブロックＡ２〜Ｂ２のｍ個のブロックを有するゾーン２（第２ゾーンに相当する）の、２つのゾーンを割り付けた例を示している。
後述する説明では、このゾーン１及び２を用いた制御方法について説明する。
【００１９】
なお、不揮発性メモリ２０にＮＡＮＤ型フラッシュメモリを用いた場合、ゾーンの位置及びサイズが、ＮＡＮＤ型フラッシュメモリの規格及び使用するＮＡＮＤ型フラッシュメモリの容量で決められている。例えば容量が３２ＭバイトのＮＡＮＤ型フラッシュメモリの場合、１０２４ブロック（１６Ｍバイト）のゾーンを２個とすることが現在の規格では設定されている。
図２（Ｂ）及び（Ｃ）は、６４ＭバイトのＮＡＮＤ型フラッシュメモリの記憶領域（全体）とゾーンの様子を示したものである（この場合、４個のゾーンに分割される）。本実施の形態では、規格に基づいたゾーンを使用したが、独自のゾーンを設定してもよい。
【００２０】
次に図２（Ｂ）及び（Ｃ）を用いて不揮発性メモリ２０の初期化について説明する。
一般的なＯＳ（Operating System、例えばWindows（登録商標））では、ＮＡＮＤ型フラッシュメモリを初期化（論理フォーマット）した場合、図２（Ｂ）に示すように、先頭エリアを管理領域（ＦＡＴ領域及びディレクトリ領域）として確保し、その他の領域がデータ領域として確保される。管理領域はＯＳが使用する領域であり、データ領域に記憶されたデータファイルの配置位置等、データ領域に記憶されたデータをＯＳが管理するための情報が記憶される。また、データ領域はゾーンをまたいで設定されてしまう。
これに対して図２（Ｃ）に示す、本実施の形態の独自の初期化の方法では、ゾーン毎に管理領域とデータ領域を確保する。例えばゾーン１内のデータ領域に記憶されたデータの管理にＯＳが必要とする情報は、ゾーン１内の管理領域に記憶される。本実施の形態では、ＮＡＮＤ型フラッシュメモリを、図２（Ｃ）に示す独自の形式に初期化（論理フォーマット）している。
【００２１】
なお、特許文献１に記載の従来の技術では、冗長領域の内部の構成をＮＡＮＤ型フラッシュメモリの規格とは異なる構成にしているため、物理フォーマットから独自の方法となる。このため、市販のパーソナルコンピュータ等にデータが記憶されたＮＡＮＤ型フラッシュメモリを接続してデータを読み出そうとしても、物理フォーマットの形式からして異なるため、ＮＡＮＤ型フラッシュメモリを認識することすらできず、データも読み出すことができない。
これに対して本実施の形態に説明する方法では、冗長領域の内部の構成はＮＡＮＤ型フラッシュメモリの規格に一致させているため、物理フォーマットは独自の方法でなく、規格に沿った方法で行うことができる。このため、市販のパーソナルコンピュータ等にデータが記憶されたＮＡＮＤ型フラッシュメモリを接続した際、ＮＡＮＤ型フラッシュメモリを正しく認識することができる。ただし、論理フォーマットは独自の方法を用いているため、当該独自の論理フォーマットに対応したアプリケーションソフトを用いれば、市販のパーソナルコンピュータ等にてデータを正しく読み出すことができる。
【００２２】
●［本実施の形態における制御部の処理（図３〜図４）］
図３（Ａ）は、新たなデータを記憶する処理の手順を示している。
例えば、Ｄ［１］〜Ｄ［ｊ］までが記憶されている「論理アドレス：３」ブロックに、新たなデータＤ［ｊ＋１］を追加して記憶する場合、制御部１０は、ステップＳ１２にて、ゾーン１内の領域において、上記の（１）読み出し処理、（２）追加処理、（３）書き込み処理、（４）消去処理を、順に実行する（図４（Ａ）を参照）。
続いて制御部１０は、ステップＳ１４にて、今度はゾーン２内の領域において、上記の（１）読み出し処理、（２）追加処理、（３）書き込み処理、（４）消去処理を、順に実行する。
例えば０．５秒毎にデータが発生し、当該データを不揮発性メモリ２０に記憶しておきたい場合、データが発生する毎に上記の処理を実行する（図４（Ｂ）を参照）。
【００２３】
処理の途中で電源遮断やリセット等が発生しなければ、以上の処理により、新たなデータＤ［ｊ＋１］は、ゾーン１内の「論理ブロック：３」と、ゾーン２内の「論理ブロック：３」に記憶される。
なお、ステップＳ１２の処理において、（３）書き込み処理を正常に終了し、且つ（４）消去処理の途中で電源遮断やリセット等が発生した場合、ゾーン１内で論理アドレスの重複が発生する（この場合、「論理アドレス：３」が重複する）。
また、ステップＳ１４の処理において、（３）書き込み処理を正常に終了し、且つ（４）消去処理の途中で電源遮断やリセット等が発生した場合、ゾーン２内で論理アドレスの重複が発生する（この場合、「論理アドレス：３」が重複する）。
【００２４】
図３（Ｂ）は、論理アドレス重複異常の判定及び復旧を行う処理の手順を示している。例えば、電源が投入された場合の初期化処理等のタイミングにて、本手順の処理を実行する。
制御部１０は、ステップＳ２２にて、ゾーン１内の冗長領域を検索して、論理アドレスの重複の有無を判定する。重複がない（Ｙｅｓ）と判定した場合、ステップＳ２６に進み、重複がある（Ｎｏ）と判定した場合、ステップＳ２４に進む。
ステップＳ２４では、ゾーン２内の冗長領域を検索して、論理アドレスの重複の有無を判定する。重複がある（Ｎｏ）と判定した場合は、ゾーン１とゾーン２のどちらも論理アドレスの重複が発生していることになるので、ステップＳ３２にて、ゾーン１内の記憶領域を初期化（物理フォーマット）し、ステップＳ３４にて、ゾーン２内の記憶領域を初期化（物理フォーマット）して処理を終了する（この場合は別途、論理フォーマットを行う必要がある）。
なお、ステップＳ３２、Ｓ３４、Ｓ４２、Ｓ５２の初期化（物理フォーマット）では、利用可否情報が「否」と判定されているブロックはフォーマットを行わない。これにより、利用可否情報が「否」と判定されているブロックは、その状態（利用可否情報が「否」の状態）を維持することができる（なお、イレーズを行うと、利用可否情報が「可」の状態に変更されてしまう）。
ＮＡＮＤ型フラッシュメモリは、データの記憶を正常に行うことができない不良ブロックが製造段階で充分に防止することが困難であり、不良ブロック（利用可否情報が「否」のブロック）を使用しないようにしている。
【００２５】
ステップＳ２４にて、重複がない（Ｙｅｓ）と判定した場合、ステップＳ４２に進む。この場合は、ゾーン１内に論理アドレスの重複があり、ゾーン２内には論理アドレスの重複がない場合である。ステップＳ４２では、ゾーン１内の記憶領域を初期化（上記の物理フォーマット）してステップＳ４４に進む。そしてステップＳ４４にて、ゾーン２内のデータ（データ領域に記憶されているデータと、冗長領域に記憶されている情報（論理アドレス情報等））を、初期化したゾーン１に複写して処理を終了する。なお、各ゾーン内のデータは、あらかじめ図２（Ｃ）にて説明した独自の論理フォーマットが行われている。これにより、ゾーンをまたぐことなく（それぞれのゾーン内の閉じた記憶領域で）、データの記憶、及び記憶したデータに関する管理情報の記憶を行うことができ、あるゾーンの内容を別のゾーンにそのまま複写（論理フォーマットごと複写）することを容易に行うことができる。ただし、複写先のブロックの利用可否情報が「否」と判定されている場合は、別の正常なブロックを検索して複写する必要はある。
各ゾーンは図２（Ｃ）に示す独自の形式に初期化されているため、ゾーン内のデータ領域に記憶されているデータ、及び当該ゾーン内の管理領域に記憶されているデータを別のゾーンに複写しても、複写先のゾーン内のデータを正常に読み出すことができる（ステップＳ５４の処理の場合も同様）。なお、図２（Ｂ）に示す形式に初期化されている場合、例えばゾーン２の内容をゾーン３に複写しただけでは、管理領域の内容が更新されないため、ゾーン３内のデータを正常に読み出すことができない場合がある。
【００２６】
ステップＳ２６に進んだ場合、ゾーン２の冗長領域を検索して、論理アドレスの重複の有無を判定する。重複がある（Ｎｏ）と判定した場合、ステップＳ５２に進む。この場合は、ゾーン１内に論理アドレスの重複がなく、ゾーン２内に論理アドレスの重複がある場合である。ステップＳ５２では、ゾーン２内の記憶領域を初期化（上記の物理フォーマット）してステップＳ５４に進む。そしてステップＳ５４にて、ゾーン１内のデータ（データ領域に記憶されているデータと、冗長領域に記憶されている情報（論理アドレス情報等））を、初期化したゾーン２に複写して処理を終了する。
また、ステップＳ２６にて、重複がない（Ｙｅｓ）と判定した場合は、ゾーン１内とゾーン２内の双方に論理アドレスの重複がない場合であり、処理を終了する。
【００２７】
以上に説明した本実施の形態における不揮発性メモリの制御方法では、冗長領域の構成は従来の冗長領域の構成から変更していないため、不揮発性メモリへの書き込み、消去等の基本的な処理は従来と同じである。従って制御部１０の制御ソフトの再利用率が高く、短い期間で開発することが可能である。
【００２８】
本発明の不揮発性メモリの制御方法は、本実施の形態で説明した構成、処理等に限定されず、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。例えば、記憶領域をゾーン１とゾーン２の２つに設定せず、３つ以上に設定し、各ゾーンに同一のデータを記憶し、論理アドレスの重複の判定では、論理アドレスの重複が複数のゾーンで検出されても、論理アドレスの重複が検出されなかったゾーン内のデータを、前記重複が検出された複数のゾーンに複写するようにしてもよい。
本実施の形態にて説明した処理手順は、図３（Ａ）及び（Ｂ）にて説明した処理手順に限定されるものではない。
冗長領域に設定する情報は、本実施の形態にて説明した情報に限定されるものではなく、種々の情報を設定することができる。
また、本実施の形態の説明に用いた数値は一例であり、この数値に限定されるものではない。
【産業上の利用可能性】
【００２９】
本発明の不揮発性メモリの制御方法は、本実施の形態にて説明したＮＡＮＤ型フラッシュメモリに対する制御方法に限定されるものではなく、種々の不揮発性メモリに適用することができる。
【図面の簡単な説明】
【００３０】
【図１】不揮発性メモリの制御方法を実現するためのブロック構成、記憶領域の構成、物理アドレスと論理アドレスを説明する図である。
【図２】本発明の不揮発性メモリの制御方法における記憶領域の設定と、記憶領域の初期化（論理フォーマット）の例を説明する図である。
【図３】本発明の不揮発性メモリの制御方法の処理手順の例を説明する図である。
【図４】本発明の不揮発性メモリの制御方法において、新たなデータを記憶する様子を説明する図である。
【図５】従来の不揮発性メモリの制御方法を説明する図である。
【符号の説明】
【００３１】
１０    制御部
１２    ＣＰＵ
１４    ＲＡＭ
２０    不揮発性メモリ
【図１】
2006099419.tif 000003
【図２】
2006099419.tif 000004
【図３】
2006099419.tif 000005
【図４】
2006099419.tif 000006
【図５】
2006099419.tif 000007