(57)【要約】【課題】フラッシュメモリの消去ブロックの一部分に対してデータの書き換えが発生した場合であっても、高速に書き換え処理を行うとともにデータの信頼性を確保する。【解決手段】データ記憶装置１０は、フラッシュメモリ１１と、フラッシュメモリ１１に対してデータの書き込み及び読み出しを行うコントローラ１７とを備えている。コントローラ１７は、記録済みブロック内の一部分のデータの書き換えを行う場合、まず、新たな消去済みブロックを確保する。その消去済みブロックに対して、非書き換えデータをコピーするとともに新たなデータを書き込む。この際に、当該ブロックに対する書き換え処理がｎ回（ｎは２以上の自然数。）発生したうちの、少なくとも１回についてはエラー訂正処理を行った通常のコピー処理を行い、それ以外の場合についてはエラー訂正処理を行わないチップコピーを行う。【選択図】図１
2005078378.tif 000002
【特許請求の範囲】
【請求項１】
ブロック単位でデータの消去が行われ、当該ブロックよりも小さいデータ単位でデータの書き込み及び読み出しが行われ、データの消去後にのみデータの新たな書き込みが可能な不揮発性メモリと、
上記不揮発性メモリに対して読み出し及び書き込みを行うデータに対して、エラー訂正処理を行うエラー訂正処理部と、
上記不揮発性メモリに対するデータの読み出し、書き込み及び消去の制御を行う制御部とを備え、
上記制御部は、
上記不揮発性メモリ上の記録済みデータを消去済み領域に複写する場合、上記エラー訂正処理部によりエラー訂正処理を行った後に書き込みを行う第１のモードとエラー訂正処理を行わずに書き込みを行う第２のモードとで処理が可能であり、
ブロック内の非書き換えデータを消去済み領域に複写するとともに新たなデータを消去済み領域に書き込むことによって当該ブロック内の一部分のデータの書き換えを行うブロック書き換え処理を行う場合に、そのブロックに対する上記ブロック書き換え処理がｎ回（ｎは２以上の自然数。）発生したうちの、少なくともｍ回以上ｎ回未満（ｍはｎより小さい自然数。）については上記第１のモードで非書き換えデータを複写し、それ以外については上記第２のモードで非書き換えデータを複写すること
を特徴とするデータ記憶装置。
【請求項２】
上記不揮発性メモリのブロックは、実体データと当該実体データのエラー訂正コードを少なくとも含んだ冗長部とから構成された複数のページから構成され、
上記ブロック内の少なくとも１つのページの冗長部には、連続して上記第２のモードでブロック書き換え処理をした回数が記録されており、
上記制御部は、上記第１のモードで非書き換えデータを複写する場合であっても、冗長部に上記回数が記録されているページについては、その回数の更新を行うとともに第１のモードで複写すること
を特徴とする請求項１記載のデータ記憶装置。
【請求項３】
上記制御部は、冗長部に上記回数が記録されているページに記録されている当該回数を参照して、第１のモードで非書き換えデータを複写するか、上記第２のモードで非書き換えデータを複写するかを判断すること
を特徴とする請求項２記載のデータ記憶装置。
【請求項４】
冗長部に上記回数が記録されているページは、ブロック内の先頭のページであること
を特徴とする請求項２記載のデータ記憶装置。
【請求項５】
上記第２のモードは、制御部から上記不揮発性メモリに対して命令を与えることによって、当該不揮発性メモリ内で処理が行われること
を特徴とする請求項１記載のデータ記憶装置。
【請求項６】
上記不揮発性メモリは、ＮＡＮＤ型のフラッシュメモリであること
を特徴とする請求項１記載のデータ記憶装置。
【請求項７】
ブロック単位でデータの消去が行われ、当該ブロックよりも小さいデータ単位でデータの書き込み及び読み出しが行われ、データの消去後にのみデータの新たな書き込みが可能な不揮発性メモリに対するデータ書き込み方法において、
上記不揮発性メモリ上の記録済みデータを消去済み領域に複写する場合、エラー訂正処理を行った後に書き込みを行う第１のモードとエラー訂正処理を行わずに書き込みを行う第２のモードとの処理を選択的に行い、
ブロック内の非書き換えデータを消去済み領域に複写するとともに新たなデータを消去済み領域に書き込むことによって当該ブロック内の一部分のデータの書き換えを行うブロック書き換え処理を行う場合には、そのブロックに対する上記ブロック書き換え処理がｎ回（ｎは２以上の自然数。）発生したうちの、少なくともｍ回以上ｎ回未満（ｍはｎより小さい自然数。）については上記第１のモードで非書き換えデータを複写し、それ以外については上記第２のモードで非書き換えデータを複写すること
を特徴とする不揮発性メモリに対するデータ書き込み方法。
【請求項８】
上記不揮発性メモリのブロックは、実体データと当該実体データのエラー訂正コードを少なくとも含んだ冗長部とから構成された複数のページから構成され、
上記ブロック内の少なくとも１つのページの冗長部には、連続して上記第２のモードでブロック書き換え処理をした回数が記録されており、
上記第１のモードで非書き換えデータを複写する場合であっても、冗長部に上記回数が記録されているページについては、その回数の更新を行うとともに第１のモードで複写すること
を特徴とする請求項７記載の不揮発性メモリに対するデータ書き込み方法。
【請求項９】
冗長部に上記回数が記録されているページに記録されている当該回数を参照して、第１のモードで非書き換えデータを複写するか、上記第２のモードで非書き換えデータを複写するかを判断すること
を特徴とする請求項８記載の不揮発性メモリに対するデータ書き込み方法。
【請求項１０】
冗長部に上記回数が記録されているページは、ブロック内の先頭のページであること
を特徴とする請求項８記載の不揮発性メモリに対するデータ書き込み方法。
【請求項１１】
上記第２のモードは、上記不揮発性メモリに対して命令を与えることによって、当該不揮発性メモリ内で処理が行われること
を特徴とする請求項７記載の不揮発性メモリに対するデータ書き込み方法。
【請求項１２】
上記不揮発性メモリは、ＮＡＮＤ型のフラッシュメモリであること
を特徴とする請求項１記載の不揮発性メモリに対するデータ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体としてＮＡＮＤ型フラッシュメモリ等の不揮発性メモリを用いたデータ記憶装置及び不揮発性メモリに対するデータ書き込み方法に関するものである。
【背景技術】
【０００２】
電気的に消去可能な不揮発性メモリの一つであるＮＡＮＤ型のフラッシュメモリでは、データを一括消去するブロックを設けて、このブロック単位でデータの消去を行った後、新たなデータの書き込みがされる。また、ＮＡＮＤ型のフラッシュメモリでは、ブロックのサイズと、データの書き込み単位（ページ）とが異なっており、１つのブロック内に複数のページが設けられている。
【０００３】
ＮＡＮＤ型のフラッシュメモリでは、データの書き込みを行う場合には、データが消去された状態の領域に書き込みを行わなければならない。すなわち、ＮＡＮＤ型のフラッシュメモリでは、記録済みの領域上に新たなデータの上書きを行うことができない。
【０００４】
そのため、ブロック内の途中の一部分データの書き換えを行う場合には、消去済みのブロックに対して新たなデータを書き込むとともに、書き換え対象となっているページを除いたブロック内の全データをその消去済みブロックにコピーするといったブロック書き換え処理をしなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ＮＡＮＤ型のフラッシュメモリに例えばＭＳ-ＤＯＳ（商標）等のファイルシステムを採用した場合、ブロックサイズよりも小さなデータであるＦＡＴやディレクトリ等の書き換えが非常に頻繁に発生する。しかしながら、ＮＡＮＤ型のフラッシュメモリの場合、このような頻繁に発生する書き換え処理に対しても、上述のブロック書き換え処理を行わなければならず、書き込み速度の低下の原因となっている。
【０００６】
また、ＮＡＮＤ型のフラッシュメモリには、一般に、モジュール内で完結したコピー処理（アドレスの移動）を行うチップコピーと呼ばれる機能が設けられている。チップコピー機能を用いると、フラッシュメモリの外部へデータが出力されないため、コピー速度が大幅に早くなる。しかしながら、チップコピー機能を用いたコピーは、ごくまれにビットエラーが発生してしまう。そのため、定常的にチップコピー機能を用いてコピーをした場合、内部データの信頼性を確保するのが難しくなる。
【０００７】
本発明は、不揮発性メモリのブロックの一部分に対してデータの書き換えが発生した場合であっても、高速に書き換え処理を行うとともにデータの信頼性を確保することができるデータ記憶装置及び不揮発性メモリに対するデータ書き込み方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るデータ記憶装置は、ブロック単位でデータの消去が行われ、当該ブロックよりも小さいデータ単位でデータの書き込み及び読み出しが行われ、データの消去後にのみデータの新たな書き込みが可能な不揮発性メモリと、上記不揮発性メモリに対して読み出し及び書き込みを行うデータに対して、エラー訂正処理を行うエラー訂正処理部と、上記不揮発性メモリに対するデータの読み出し、書き込み及び消去の制御を行う制御部とを備え、上記制御部は、上記不揮発性メモリ上の記録済みデータを消去済み領域に複写する場合、上記エラー訂正処理部によりエラー訂正処理を行った後に書き込みを行う第１のモードとエラー訂正処理を行わずに書き込みを行う第２のモードとで処理が可能であり、ブロック内の非書き換えデータを消去済み領域に複写するとともに新たなデータを消去済み領域に書き込むことによって当該ブロック内の一部分のデータの書き換えを行うブロック書き換え処理を行う場合に、そのブロックに対する上記ブロック書き換え処理がｎ回（ｎは２以上の自然数。）発生したうちの、少なくともｍ回以上ｎ回未満（ｍはｎより小さい自然数。）については上記第１のモードで非書き換えデータを複写し、それ以外については上記第２のモードで非書き換えデータを複写することを特徴とする。
【０００９】
本発明に係る不揮発性メモリに対するデータ書き込み方法は、ブロック単位でデータの消去が行われ、当該ブロックよりも小さいデータ単位でデータの書き込み及び読み出しが行われ、データの消去後にのみデータの新たな書き込みが可能な不揮発性メモリに対するデータ書き込み方法であって、上記不揮発性メモリ上の記録済みデータを消去済み領域に複写する場合、エラー訂正処理を行った後に書き込みを行う第１のモードとエラー訂正処理を行わずに書き込みを行う第２のモードとの処理を選択的に行い、ブロック内の非書き換えデータを消去済み領域に複写するとともに新たなデータを消去済み領域に書き込むことによって当該ブロック内の一部分のデータの書き換えを行うブロック書き換え処理を行う場合には、そのブロックに対する上記ブロック書き換え処理がｎ回（ｎは２以上の自然数。）発生したうちの、少なくともｍ回以上ｎ回未満（ｍはｎより小さい自然数。）については上記第１のモードで非書き換えデータを複写し、それ以外については上記第２のモードで非書き換えデータを複写することを特徴とする。
【発明の効果】
【００１０】
本発明に係るデータ記憶装置及び不揮発性メモリに対するデータ書き込み方法では、ブロック内の非書き換えデータを消去済み領域に複写するとともに新たなデータを消去済み領域に書き込むことによって当該ブロック内の一部分のデータの書き換えを行うブロック書き換え処理を行う場合には、そのブロックに対する上記ブロック書き換え処理がｎ回（ｎは２以上の自然数。）発生したうちの、少なくともｍ回以上ｎ回未満（ｍはｎより小さい自然数。）についてはエラー訂正処理を行って非書き換えデータを複写し、それ以外については第２のモードでエラー訂正処理を行わずに非書き換えデータを複写する。
【００１１】
このことにより本発明に係るデータ記憶装置及び不揮発性メモリに対するデータ書き込み方法では、不揮発性メモリのブロックの一部分に対してデータの書き換えが発生した場合であっても、高速に書き換え処理を行うとともにデータの信頼性を確保することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態として、本発明を適用した持ち運び型の小型のポータブルオーディオプレーヤについて説明をする。このポータブルオーディオプレーヤは、デジタル化されたオーディオデータを不揮発性半導体メモリに蓄積しておき、蓄積しているオーディオデータを再生してヘッドフォン等に出力する装置である。
【００１３】
まず、本発明を適用したポータブルオーディオプレーヤの全体構成について説明をする。
【００１４】
図１に、本発明を適用したポータブルオーディオプレーヤ１０のブロック構成図を示す。
【００１５】
ポータブルオーディオプレーヤ１０は、フラッシュメモリ１１と、インタフェース回路（Ｉ／Ｆ）１２と、ページバッファ１３と、エラー訂正処理部１４と、操作/表示部１５と、オーディオ再生部１６と、コントローラ１７とを備えている。
【００１６】
フラッシュメモリ１１は、例えばＮＡＮＤ型等の不揮発性の半導体メモリである。フラッシュメモリ１１には、デジタル化されたオーディオデータが格納される。フラッシュメモリ１１には、ブロック及びページと呼ばれる物理単位が規定されている。ページは、データの書き込み及び読み出し単位である。ブロックは、複数のページから構成されたデータの一括消去単位である。なお、フラッシュメモリ１１の物理フォーマットについての詳細は後述する。
【００１７】
Ｉ／Ｆ回路１２は、例えばＵＳＢ等のインタフェースを介してデスクトップ型コンピュータ、ノート型コンピュータ、オーディオ再生装置等の機器と接続され、当該機器との間でデータの転送を行う。例えば、Ｉ／Ｆ回路１２は、コンピュータやオーディオ再生機器から転送されてきたデジタルオーディオデータの受信等を行う。
【００１８】
ページバッファ１３は、フラッシュメモリ１１に対して書き込まれるデータ、フラッシュメモリ１１から読み出されたデータを、一時的に保存するメモリ回路である。外部からＩ/Ｆ回路１２を介して入力されたデータは、一旦ページバッファ１３に書き込まれた後、コントローラ１７の制御に従ってページバッファ１３からフラッシュメモリ１１へ書き込まれる。また、フラッシュメモリ１１から出力されるデータは、コントローラ１７の制御に従ってフラッシュメモリ１１から一旦ページバッファ１３に読み出され、その後、ページバッファ１３からＩ/Ｆ回路１２を介して外部に出力され、或いは、ページバッファ１３からコントローラ１７を介してオーディオ再生部１６に出力される。なお、ページバッファ１３は、フラッシュメモリ１１のデータ書き込み読み出し単位（例えば、フラッシュメモリ１１のページサイズと同一のサイズ）分のデータ容量を有している。
【００１９】
エラー訂正処理部１４は、ページバッファ１３内に格納されているデータを参照して、フラッシュメモリ１１へ書き込まれるデータに対して誤り訂正コード（ＥＣＣ）を付加する。また、エラー訂正処理部１４は、フラッシュメモリ１１から読み出したデータに付加されている誤り訂正コードにより、ページバッファ１３上の読み出しデータに対して誤り訂正処理を行う。なお、フラッシュメモリ１１に書き込まれるデータには、書き込み/読み出し単位であるページ単位毎に誤り訂正コードが付加される。
【００２０】
操作/表示部１５は、ユーザにより各種の操作入力がされ、入力された情報をコントローラ１７に供給する。コントローラ１７は、入力された情報に基づき本装置の各種の処理（例えば、オーディオ再生処理及びデータの記録処理）を行う。また、操作/表示部１５は、ユーザに対して提供する各種の情報（例えば、オーディオ再生中を示す情報、再生中のオーディオデータのタイトル）を表示する。コントローラ１７は、操作/表示部１５を制御し、動作状況に応じた各種の情報を操作/表示部１５に表示させる。
【００２１】
オーディオ再生部１６は、フラッシュメモリ１１に格納されているデジタルオーディオデータがコントローラ１７を介して入力され、入力されたデジタルオーディオデータに対して各種のデコード処理を行い、アナログの音声信号に変換して出力する。オーディオ再生部１６から出力された音声信号は、例えばヘッドフォンに供給される。
【００２２】
コントローラ１７は、データバッファ１４とフラッシュメモリ１１との間の読み出し、書き込みの制御、フラッシュメモリ１１のデータ消去の制御や複写制御、並びに、オーディオ信号の再生時におけるフラッシュメモリ１１からオーディオ再生部１６へのオーディオデータの転送制御、操作/表示部１５の制御等の各種の制御を行う。
【００２３】
以上のような構成のポータブルオーディオプレーヤ１０では、例えばデスクトップ型コンピュータ、ノート型コンピュータ又はオーディオ再生装置からＩ/Ｆ回路１２を介してデジタルオーディオデータが入力され、一旦ページバッファ１３に書き込まれる。コントローラ１７は、ページバッファ１３に格納されたオーディオデータをフラッシュメモリ１１に書き込む。従って、ポータブルオーディオプレーヤ１０では、コンピュータや音楽ＣＤ等のメディアに記録されている楽曲をフラッシュメモリ１１内に格納することが可能である。
【００２４】
また、ポータブルオーディオプレーヤ１０では、ユーザの操作入力等に従い、フラッシュメモリ１１内に格納されている所定のデジタルオーディオデータを、コントローラ１７がページバッファ１３に読み出す。ページバッファ１３により読み出されたオーディオデータは、コントローラ１７を介してオーディオ再生部１６に供給され、オーディオ再生部１６により再生された音声信号として出力される。従って、ポータブルオーディオプレーヤ１０では、ユーザにより持ち運びが可能であり、内部に保存している楽曲をいつでもどこでも聞くことができる。
【００２５】
つぎに、フラッシュメモリ１１のフォーマットについて説明をする。
【００２６】
フラッシュメモリ１１は、電気的に消去可能であり、電源ＯＦＦ時にも記録データが消えない不揮発性の半導体メモリである。
【００２７】
フラッシュメモリ１１の記録領域は、図２（Ａ）に示すように、例えば１２８Ｋバイトのブロックと呼ばれる単位で物理的に分割されている。ブロックは、データの一括消去の単位である。フラッシュメモリ１１では、ブロック単位でのみデータの消去が可能となっている。また、フラッシュメモリ１１は、書き込み時にはビット変化を一方向（例えば１から０への変化方向）しか行わせることができないため、新たなデータを書き込む場合にはデータが消去された状態からしか行うことができない。すなわち、フラッシュメモリ１１は、ブロック単位以外では記録済みのデータの消去を行うことができず、データの消去が行われた領域にしかデータの書き込みを行うことができない。
【００２８】
各ブロックには、物理ブロックアドレスが設定されている。さらに、各ブロック内に記録されるデータにもブロック単位で論理的なアドレスが付加され、データもブロック単位で取り扱われる。
【００２９】
各ブロック内は、図２（Ｂ）に示すように、複数のページにより構成されている。ページは、データの書き込み/読み出し単位である。フラッシュメモリ１１には、ページ単位で新たなデータの書き込みができるが、すでに記録済みの部分に対しては上書きをすることができず、さらに、物理的に一定方向に向かいデータを記録していかなければならない。つまり、ブロック内でデータの追記をする場合には、記録済みのページの後段に位置する未記録ページに記録をしなければならない。
【００３０】
ページは、実体データと、冗長データとから構成されている。実体データは例えば２Ｋバイトであり、冗長データは例えば６４バイトである。
【００３１】
ブロック内の先頭ページの冗長データには、図３（Ａ）に示すように、そのページが含まれているブロックの論理アドレスである論理ブロックアドレス２１と、当該ページの実体データに対するエラー訂正コード（ＥＣＣ）２２と、当該ページの冗長データに対するエラー訂正コード（ＥＣＣ）２３と、当該ブロックに記録されているデータが現時点で何回連続してチップコピー処理がされたかを示すカウンタ値２４と、その他の情報のその他情報２５とが含まれている。また、ブロック内の先頭ページ以外のページの冗長データには、図３（Ｂ）に示すように、そのページが含まれているブロックの論理ドレスである論理ブロックアドレス２１と、当該ページの実体データに対するエラー訂正コード（ＥＣＣ）２２と、当該ページの冗長データに対するエラー訂正コード（ＥＣＣ）２３と、その他の情報のその他情報２５とが含まれている。なお、カウンタ値２４については詳細を後述する。
【００３２】
つぎに、ポータブルオーディオプレーヤ１０のページコピー処理について説明をする。
【００３３】
コントローラ１７は、フラッシュメモリ１１に対して、データ書き込み制御、データ読み出し制御等の他に、ページコピーの制御を行うことができる。ページコピーとは、ある任意のブロック内の１つのページに記録されているデータを、異なるブロック内の所定のページにコピーする処理である。
【００３４】
ここで、ページコピーには、複写するデータに対してエラー訂正を行う通常コピーモードと、複写するデータに対してエラー訂正を行わないチップコピーモードとの２つのモードがある。
【００３５】
通常コピーモードは、図４に示すように、まず、フラッシュメモリ１１に対してコントローラ１７が読み出し命令を与える。フラッシュメモリ１１は、読み出し命令が与えられると、その命令で指定されたブロック（旧ブロック）の所定のページのデータ（実体データ及び冗長データ）を、ページバッファ１３に読み出す。データがページバッファ１３に読み出されると、エラー訂正処理部１４がエラー訂正コードを用いて実体データ等のエラー訂正処理を行う。続いて、フラッシュメモリ１１に対してコントローラ１７が書き込み命令を与える。エラー訂正処理部１４は、書き込み命令が与えられると新たなエラー訂正コードを生成する。そして、フラッシュメモリ１１は、ページバッファ１３上の実体データとともに、エラー訂正処理部１４により生成された新たなエラー訂正コードを含んだ冗長データとを、複写先となる消去済みブロック（新ブロック）の所定のページに書き込む。
【００３６】
以上の処理が通常コピーモードである。通常コピーモードは、データを一旦ページバッファ１３に読み出してエラー訂正処理を行うコピー処理モードであり、データの信頼性が確保されている。
【００３７】
チップコピーモードは、図５に示すように、フラッシュメモリ１１に対してコントローラ１７がコピー命令を与える。フラッシュメモリ１１は、コピー命令が与えられると、その命令で指定されたブロック（旧ブロック）の所定のページのデータ（実体データ及び冗長データ）を、外部に送出せずに、そのままのビット構成で、複写先となる消去済みブロック（新ブロック）の所定のページに書き込む。
【００３８】
以上の処理がチップコピーモードである。チップコピーモードは、フラッシュメモリ１１内でデータの処理が完結し、エラー訂正が行われないモードであり、処理速度が速い。
【００３９】
コントローラ１７は、ページコピー処理を実行する場合、通常コピーモードとチップコピーモードのいずれか一方を選択して行うことができる。
【００４０】
つぎに、ブロック書き換え処理について説明をする。
【００４１】
フラッシュメモリ１１では、図６に示すような、記録済みブロックの途中の一部分に対して新たなデータを上書きする処理が、その特性上、行うことができない。しかしながら、ブロックよりも小さいデータ単位でのデータの書き換え要求が、オペレーションシステム等からコントローラ１７に要求される場合がある。このような場合、コントローラ１７は、消去済みの新たなブロックを確保し、その新ブロックに対して、ブロック内の書き換えが行われないデータ（非書き換えデータ）を上述したページコピー処理を用いてコピーし、それと同時にその新ブロックに新たなデータの書き込みを行うことによって、その要求の実行を行っている。このような処理をここではブロック書き換え処理という。
【００４２】
以下、ポータブルオーディオプレーヤ１０でのブロック書き換え処理の手順について詳細に説明をする。
【００４３】
ブロック書き換え処理の要求があると、コントローラ１７は、図７に示すように、フラッシュメモリ１１上に消去済みの新たなブロック（新ブロック）を１つ確保する。続いて、コントローラ１７は、コピー元となるブロック（旧ブロック）の先頭のページを読み出し、先頭のページの冗長データのカウント値２４を参照する。ここで、コントローラ１７は、カウント値２４が所定の最大値ｎ（ｎは２以上の自然数。例えばｎ＝２０）に達しているか否かを判断する。最大値ｎに達していれば、通常コピーモードに設定し、最大値ｎに達していなければチップコピーモードに設定する。
【００４４】
続いて、コントローラ１７は、図８に示すように、読み出した先頭のページの冗長データのカウント値２４を１つインクリメントし、又は、カウント値２４が最大値ｎに達していれば、その値を０にリセットし、新たにエラー訂正コードを生成した後、新ブロックの先頭ページに書き込む。
【００４５】
続いて、コントローラ１７は、図９に示すように、２ページ目以後、書き換え対象ページの直前までの非書き換えデータを、選択したモードでページコピー処理を行う。すなわち、１ページ目のカウンタ値２４が最大値ｎであれば通常コピーモードでページコピーをし、最大値ｎに達していなければチップコピーモードでページコピーをする。
【００４６】
続いて、コントローラ１７は、図１０に示すように、書き換え対象データとなっているページに対しては、新たな書き込みデータを外部から新ブロックの対象ページに書き込む。
【００４７】
続いて、コントローラ１７は、図１１に示すように、書き換え対象ページより後段の非書き換えデータを、選択したモードでページコピー処理を行う。すなわち、１ページ目のカウンタ値２４が最大値ｎであれば通常コピーモードでページコピーをし、最大値ｎに達していなければチップコピーモードでページコピーをする。
【００４８】
続いて、コントローラ１７は、図１２に示すように、旧ブロックのデータを消去し、ブロック書き換え処理を終了する。
【００４９】
以上のように、ポータブルオーディオプレーヤ１０では、ブロックの一部分に対してデータの書き換えが発生してブロック書き換え処理が発生した場合、非書き換えデータを旧ブロックから新ブロックブロックへのコピー処理をチップコピーモードで行い、そのブロックに対してチップコピーが発生した回数を先頭ページの冗長データに記録しておく。そして、回数がある一定回数（ｎ回）に達すると、そのときには、非書き換えデータを旧ブロックから新ブロックブロックへのコピー処理を、エラー訂正を行う通常コピーモードで行う。
【００５０】
すなわち、ポータブルオーディオプレーヤ１０では、ブロック書き換え処理を行う場合、通常時は非書き換えデータに対してエラー訂正をしないコピー処理を行い、ｎ回に１回はエラー訂正を行うコピー処理を行うようにしている。
【００５１】
このことにより、ポータブルオーディオプレーヤ１０では、通常時にはエラー訂正をしないチップコピーを行うことによって高速にブロック書き換え処理を行い、そのブロックに対してある一定回数毎に通常コピーを行うことによって、チップコピーにより発生する可能性があるビットエラーを訂正し、記録データの信頼性を確保することができる。
【００５２】
なお、ポータブルオーディオプレーヤ１０では、ｎ回のチップコピーに対して１回の通常コピーを行うものとしているが、本発明では、ブロック書き換え処理が発生した場合に両者のモードが適応的に切り換えられればよい。
【００５３】
つまり、同一のブロックに対してｎ回ブロック書き換え処理が発生したとすると（ｎは２以上の自然数。）、少なくともｍ回以上ｎ回未満（ｍはｎより小さい自然数。）については通常コピーモードで非書き換えデータのコピー処理が行われ、それ以外についてはチップコピーモードで非書き換えデータのコピー処理が行われればよい。
【００５４】
また、ポータブルオーディオプレーヤ１０では、チップコピーモードで連続処理がされた回数をブロックの先頭ページの冗長部に記録しているが、論理的な各ブロック（論理ブロック）に対するチップコピーの回数がコントローラ１７から参照できれば、その記述場所はどこでもよい。例えば、フラッシュメモリ１１の記録領域外の他のメモリ上に、ブロックの論理アドレスとカウント値との対応関係が記述されたテーブルを設けてもよい。
【図面の簡単な説明】
【００５５】
【図１】本発明が適用されたポータブルオーディオプレーヤのブロック構成図である。
【図２】フラッシュメモリのフォーマットを説明するための図である。
【図３】ページ内の冗長データの構成例を示す図である。
【図４】通常コピーモードについて説明をするための図である。
【図５】チップコピーモードについて説明をするための図である。
【図６】記録済みブロックの途中にデータを上書きすることができないことを示す図である。
【図７】ブロックの先頭ページの読み出しを示した図である。
【図８】ブロックの先頭ページを通常コピーすることを示した図である。
【図９】非書き換えデータをコピーすることを示した図である。
【図１０】新データを書き込むことを示した図である。
【図１１】次の非書き換えデータをコピーすることを示した図である。
【図１２】旧ブロックを消去することを示した図である。
【符号の説明】
【００５６】
１０  ポータブルオーディオプレーヤ、１１  フラッシュメモリ、１２  I/F回路、１３  ページバッファ、１４  エラー訂正処理部、１５  操作/表示部、１６  オーディオ再生部、１７  コントローラ
【図１】
2005078378.tif 000003
【図２】
2005078378.tif 000004
【図３】
2005078378.tif 000005
【図４】
2005078378.tif 000006
【図５】
2005078378.tif 000007
【図６】
2005078378.tif 000008
【図７】
2005078378.tif 000009
【図８】
2005078378.tif 000010
【図９】
2005078378.tif 000011
【図１０】
2005078378.tif 000012
【図１１】
2005078378.tif 000013
【図１２】
2005078378.tif 000014