(57)【要約】【課題】フラッシュメモリを構成するブロックにおいて、複数のエラーデータが検出されたブロックに記憶されたデータを、そのフラッシュメモリの別のブロックに退避することができるフラッシュディスク装置を提供する。【解決手段】フラッシュメモリからデータを読み出すときに、フラッシュメモリを構成する複数のページを有するブロックから、ページ毎にエラーデータを検出し、最初に検出した１ビットのエラーであれば訂正し、訂正ページを記憶部に記憶させるフラッシュディスク装置であって、エラーページ情報取得手段と、ブロック複製手段と、ブロック修正手段と、を備える。そして、ブロック複製手段により、ブロックのデータを複製してフラッシュメモリの別のブロック（複製先ブロック）に記憶させる。そして、ブロック修正手段により、エラーデータを含むページを削除して、エラーデータを訂正後のページを記憶させる。【選択図】図１
2010140155.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリからデータを読み出すときに、前記フラッシュメモリを構成する複数のページを有するブロックから、ページ毎にエラーデータを検出し、最初に検出したエラーデータが１ビットのエラーデータであれば訂正し、訂正ページを記憶部に記憶させるフラッシュディスク装置であって、
最初に検出された１ビットのエラーデータを含む第１エラーページに係るエラーページ情報を前記記憶部に記憶させるエラーページ情報取得手段と、
次にエラーデータが検出された第２エラーページと、前記第１エラーページとの双方を含むエラーブロックを前記フラッシュメモリから取得し、前記フラッシュメモリを構成する別の複製先ブロックに、取得した前記エラーブロックを記憶させるブロック複製手段と、
前記エラーページ情報に基づいて前記複製先ブロックから該当する第１エラーページを削除して、代わりに前記複製先ブロックに前記訂正ページを記憶させるブロック修正手段と
を備えることを特徴とするフラッシュディスク装置。
【請求項２】
フラッシュメモリから読み出されるデータのブロックアドレスが記録されたブロックアドレス記憶部と、
前記ブロックアドレスを前記複製先ブロックのアドレスに修正するアドレステーブル修正手段と
をさらに備えることを特徴とする請求項１に記載されたフラッシュディスク装置。
【請求項３】
前記記憶部は、ブロック管理データベースを備え、
前記エラーページ情報は、前記ブロック管理データベースに記録された、前記エラーブロックの各ページと対応したビット列であることを特徴とする請求項１または請求項２に記載されたフラッシュディスク装置。
【請求項４】
前記記憶部に前記エラーブロックがバッドブロックであることを記憶させるバッドブロック登録手段をさらに備えることを特徴とする請求項１乃至請求項３のいずれか１項に記載されたフラッシュディスク装置。
【請求項５】
前記エラーブロックに係る情報を取得し、前記ブロック複製手段にその情報を提供するエラーブロック情報取得手段をさらに備えることを特徴とする請求項１に記載されたフラッシュディスク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュディスク装置に関し、特に、エラーデータを検出し、１ビットのエラーであれば訂正するものである。
【背景技術】
【０００２】
近年、不揮発性メモリの大容量化および低コスト化に伴い、不揮発性メモリを使用したディスクであるフラッシュディスク装置が製造されるようになった。そのフラッシュディスク装置に一般的に使用されている大容量不揮発性メモリ素子はＡＮＤ型やＮＡＮＤ型のフラッシュメモリであるが、このフラッシュメモリに記憶されたデータは、ある一定の確率でビットエラーが発生する。そして、ブロックと呼ばれる単位（一般的には１６ＫＢ）でデータを消去するが、それぞれの最大のデータ消去回数は、ブロック毎に１０万〜１００万回である。
【０００３】
従来のフラッシュディスク装置には、自身が備えるフラッシュメモリを構成する複数のページを有するブロックから、エラーデータを検出し、１ビットのエラー（ビットエラー）であれば訂正し、エラーデータ訂正後のページをバッファメモリに記憶させる機能を有するＥＣＣ（Error Check and Correct）メモリがある。
しかし、従来のフラッシュディスク装置は、図４に示すように、ページ読み出し動作を行っていた。
従来のフラッシュディスク装置は、自身に装備されるコンピュータのＣＰＵ（Central Processing Unit）などの制御部（ＣＯＭ側）から不図示のインタフェースを介して、論理セクタデータ（論理アドレス）を受信し、フラッシュディスク装置に記憶されたアドレスＤＢを参照する。アドレスＤＢには、論理セクタデータと、その論理セクタデータに対応するページが記憶されたフラッシュメモリの物理ページアドレス（物理ページ番号）を示す物理ページデータが記憶されている。そして、フラッシュディスク装置はアドレスＤＢを参照して、論理セクタデータから物理ページデータに変換する。次に、フラッシュディスク装置はその物理ページデータに基づいて、フラッシュメモリの物理ページアドレスに記憶されたページを取得する。以上のようにフラッシュディスク装置は読み出すページを決め、フラッシュメモリから取得する。
【０００４】
そして、従来のフラッシュディスク装置は、ハミングコードチェックにより、読み出したページのエラーデータを検出する。このとき、最初に検出した１ビット（１ビット目）のエラーデータを訂正する。しかし、２ビット目以降はエラーデータを検出するだけである。そして、エラーデータ訂正後のページを不図示のバッファメモリに記憶させる（書き込む）。
【０００５】
また、特許文献１の段落００４１〜００４４には、ページ書き込み動作が記載されており、ＣＯＭ側から書き込みデータを受け取り、その書き込みデータは一時的にバッファメモリ（不図示）に記憶される旨が開示されている。さらに、空きページＤＢから空いているページ番号を取得し、バッファメモリに記憶された書き込みデータを、取得したページ番号のページに書き込むことが開示されている。
【０００６】
【特許文献１】特開２００５−２４２８９７号公報（図２、段落００４１〜００４４）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のフラッシュディスク装置は、ページ読み出し動作時にエラーデータ訂正後のページをバッファメモリに記憶させるだけで、フラッシュメモリに記憶されているデータに対して訂正を行っていない。
ここで、データが読み出し動作時にエラーが発生しやすいブロックに記憶されている場合、そのブロックを構成する他のページを読み出したときもエラーデータが検出される可能性が高い。そのため、読み出し対象ブロックの他のページで１ビットのエラーデータをさらに検出すると、合計して２ビットのエラーとなる。
これにより、ハミングコードチェックでは、２ビット目以降はエラーデータを検出するだけであるため、エラーデータの訂正が行われない。そのため、読み出し対象ブロックのページを読み出すことができなくなるという問題があった。
【０００８】
本発明は、以上のような問題を解決するためになされたものであり、フラッシュメモリを構成するブロックにおいて、複数のエラーデータが検出されたブロックに記憶されたデータを、そのフラッシュメモリの別のブロックに退避することができるフラッシュディスク装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記課題を解決するために、本発明の請求項１に記載のフラッシュディスク装置は、フラッシュメモリからデータを読み出すときに、前記フラッシュメモリを構成する複数のページを有するブロックから、ページ毎にエラーデータを検出し、最初に検出した１ビットのエラーであれば訂正し、訂正ページを記憶部に記憶させるフラッシュディスク装置であって、エラーページ情報取得手段（例えば、エラー訂正部に含まれる機能）と、ブロック複製手段（例えば、ブロック生成部）と、ブロック修正手段（例えば、ブロック生成部）とを備えることを特徴とする。
【００１０】
かかる構成によれば、フラッシュディスク装置は、ブロック複製手段により、ブロックのデータを複製してフラッシュメモリの別のブロック（複製先ブロック）に記憶させる。そして、ブロック修正手段により、エラーデータを含む第１エラーページを削除して、代わりにエラーデータ訂正後のページ（訂正ページＭ）を記憶させる。
これにより、フラッシュメモリにブロックを複製し、複製ブロックのエラーデータを含む第１エラーページを削除して、代わりに訂正ページＭを記憶させることが可能になる。
また、読み出し動作時にエラーが発生しやすいブロックに記憶されたデータを別のブロックに退避することが可能になる。
【００１１】
さらに、請求項２に記載のフラッシュディスク装置は、請求項１に記載されたフラッシュディスク装置において、フラッシュメモリから読み出されるデータのブロックアドレスが記録されたブロックアドレス記憶部（例えば、アドレスＤＢ）と、前記ブロックアドレスを前記複製先ブロックのアドレスに修正するアドレステーブル修正手段とを備えることを特徴とする。
【００１２】
かかる構成によれば、再びブロックの読み出し処理があった場合に、この複製先ブロックを読み出すため、読み出し動作時にエラーが発生しやすいブロックで発生していた読み出し動作時のエラーを防ぐことが可能になる。
【００１３】
そして、請求項３に記載のフラッシュディスク装置は、請求項１または請求項２に記載のフラッシュディスク装置において、前記記憶部は、ブロック管理データベース（ブロック管理ＤＢ）を備え、前記エラーページ情報は、前記ブロック管理データベースに記録された、前記エラーブロックの各ページと対応したビット列であることを特徴とする。
【００１４】
かかる構成によれば、フラッシュディスク装置は、ブロック管理データベースに記録されたビット列の値から、各ページのエラーデータの有無を判断することが可能になる。
【００１５】
さらに、請求項４に記載のフラッシュディスク装置は、請求項１乃至請求項３のいずれか１項に記載のフラッシュディスク装置において、前記記憶部に前記エラーブロックがバッドブロックであることを記憶させるバッドブロック登録手段（例えば、ブロック生成部）を備えることを特徴とする。
【００１６】
かかる構成によれば、フラッシュディスク装置は、バッドブロック登録手段により、ブロックをバッドブロックであるとする情報をブロック管理ＤＢ１３３に登録させることで、フラッシュディスク装置は、読み出し動作時にエラーが発生しやすいブロックに書き込みをすることを回避することが可能になる。
【発明の効果】
【００１７】
本発明によれば、フラッシュメモリを構成するブロックにおいて、複数のエラーデータが検出されたブロックに記憶されたデータを、そのフラッシュメモリの別のブロックに退避することができるフラッシュディスク装置を提供することができる。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の実施形態について、適宜、図面を参照しながら詳細に説明する。
［フラッシュディスク装置のページ読み出し時の構成］
図１は、フラッシュディスク装置のページ読み出し時の構成図である。図１に示すように、フラッシュディスク装置１は、フラッシュメモリ１１と、制御部１２と、記憶部１３と、インタフェース（Ｉ／Ｆ）部１４とを備える。そして、Ｉ／Ｆ部１４はコンピュータ（ＣＯＭ）側のＩ／Ｆ部と通信可能に接続される。
これにより、フラッシュディスク装置１は、ＣＯＭからのデータを読み出す旨の信号に応じて、ＣＯＭから取得した論理セクタデータに対応する物理ページデータを、後記するアドレスＤＢ１３１から取得して、物理ページデータに基づいて、フラッシュメモリ１１の物理ページ番号に記憶されたページを読み出し、Ｉ／Ｆ部１４を介してＣＯＭに送出するものである。
【００１９】
フラッシュメモリ１１は従来のものと同じであり、図１に示すように予めブロック１１０が記憶されており、ブロック１１０の物理ページ番号が『１，２，・・・，ｍ，・・・，ｎ，・・・，ｚ』のページが記憶されている。
ここで、物理ページ番号ｍのページ１１０−ｍおよび、物理ページ番号ｎのページ１１０−ｎは、それぞれエラーデータを含むページであるとする。
【００２０】
記憶部１３は、フラッシュディスク装置１を構成する各部で行われる処理に必要なプログラムやデータを記憶するものであり、例えば、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）により実現される。そして、記憶部１３は、アドレスＤＢ１３１と、訂正ページ記憶部１３２と、ブロック管理ＤＢ１３３と、空きページＤＢ１３４とを備える。
【００２１】
アドレスＤＢ１３１は、図４に示すアドレスＤＢであり、ＣＯＭからの論理セクタデータに対応する物理ページデータ（物理ページアドレス）を記憶するものである。
訂正ページ記憶部１３２は、従来のＥＣＣメモリと同じく、エラーページが訂正されたページを記憶するものである。
空きページＤＢ１３４は、図４の空きページＤＢであり、フラッシュメモリ１１を構成するページの内、データが記憶されていないページのページ番号やブロック番号を記憶するものである。
【００２２】
ブロック管理ＤＢ１３３は、図４に示すブロック管理ＤＢであり、書き換え回数／状態情報を記憶する。書き換え回数／状態情報とは、フラッシュメモリ１１でデータの書き換え（削除／記憶）が行われた回数や、ブロックの状態（エラーなど）の情報である。
さらに、本発明の実施形態では、このブロック管理ＤＢ１３３は、従来のＥＣＣメモリと異なり、エラーページ情報を記憶する。このエラーページ情報とは、エラーを訂正したページの番号（エラーページ番号）であり、後記するエラー訂正部１２３により記憶される。ここでは、例えば、ブロック管理ＤＢ１３３（データベース）が記憶するデータ項目である、ブロックの物理ページ番号『１，２，・・・，ｍ，・・・，ｎ，・・・，ｚ』に対応して“０”が予め記憶されているデータ（ビット列）であり、エラー訂正部１２３により、エラーページ番号と一致する物理ページ番号に対応するフラグを立てる（“０”から“１”にする）ことで、各ページのエラーデータの有無を判断することが可能になる。
【００２３】
制御部１２は、フラッシュディスク装置１を構成する各部を制御するものであり、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）により実現される。そして、制御部１２は、エラー検出部１２１と、ページ送出部１２２と、エラー訂正部１２３と、ブロック生成部１２４とを備える。
【００２４】
ここで、本発明の実施形態のフラッシュディスク装置１は、エラー検出部１２１と、エラー訂正部１２３とにより、従来のＥＣＣメモリと同じく、ハミングコードチェックにより、最初に検出した１ビット（１ビット目）のエラーデータを検出して訂正し、２ビット目のエラーは検出するだけである。そして、エラーデータのないページ（エラーデータを検出しなかったページ、エラーデータが訂正されたページ）をページ送出部１２２からＩ／Ｆ部１４を介してＣＯＭ側のＩ／Ｆ部に送出するものである。
【００２５】
エラー検出部１２１は、前記アドレステーブルを備えるアドレスＤＢ１３１を参照して、物理ページ番号のページを取得し、そのページに含まれるエラーデータを検出するものである。エラーデータが含まれていない（エラーデータを検出しなかった）ページであれば、後記するページ送出部１２２にそのページを渡し、エラーデータが含まれている（エラーデータを検出した）ページであれば、ページ送出部１２２にエラーデータが含まれたページの物理ページ番号（エラーページ番号）を渡すものである。
また、最初に検出した１ビットのエラーデータであれば、そのエラーデータが含まれたページをエラー訂正部１２３に渡す。そして、さらにブロックを構成するページから２ビット目のエラーデータを検出することができる。
【００２６】
エラー訂正部１２３は、エラーデータが含まれたページをエラー検出部１２１から受け取り、そのページに含まれるエラーデータを訂正する。そして、エラーデータ訂正後のページ（訂正ページ）を、訂正ページ記憶部１３２に記憶するものである。
以上説明したように、本発明の実施形態のフラッシュディスク装置１が備えるエラー検出部１２１とエラー訂正部１２３は、従来のＥＣＣメモリと同じ機能を有する。
【００２７】
ここで、エラー検出部１２１とエラー訂正部１２３とが有する、従来のＥＣＣメモリと異なる特徴的な機能を説明する。
エラー検出部１２１は、２ビット目のエラーを検出した際に、後記するブロック生成部１２４にエラー検出を行っていたページを含むブロックの情報（ブロック情報）を渡す機能を有する。ここでは、ブロック情報として、フラッシュメモリ１１にて割り当てられた固有の番号（ブロック番号）を渡す。
エラー訂正部１２３は、エラーを訂正した際に、エラーページ番号をブロック管理ＤＢ１３３にエラーページ情報として記憶する機能を有する。この記憶する作業は、（エラーページ番号と一致する）物理ページ番号に対応するフラグを立てる（“０”から“１”にする）ことをしてもよい。
【００２８】
ページ送出部１２２も、従来のＥＣＣメモリと同じく、エラー検出部１２１からページ（エラーデータが含まれていないページ）を受け取る機能と、エラー訂正部１２３により訂正ページ記憶部１３２に記憶された訂正ページＭ（エラー訂正部１２３によりエラーデータが訂正されたページ）を取得する機能と、後記するＩ／Ｆ部１４を制御して、ページをＣＯＭ側のＩ／Ｆ部に送出する機能と、を有するものである。
【００２９】
ブロック生成部１２４は、エラー検出部１２１から渡されたブロック情報（ブロック番号）に基づいて、フラッシュメモリ１１から該当するブロックデータ（ブロック１１０）を取得する。そして、空きページＤＢ１３４からフラッシュメモリ１１を構成する空きページのデータを取得し、取得したブロックデータを空きページ（複製先ブロック）に記憶させる。さらに、ブロック生成部１２４は、訂正ページ記憶部１３２から訂正ページＭと、ブロック管理ＤＢ１３３からエラーページ番号とを取得し、複製先ブロック（ブロック１１１）からエラーページ番号に該当する物理ページ番号のページを削除して、訂正ページＭを記憶させるものである。
【００３０】
さらに、ブロック生成部１２４は、エラーデータが検出されたブロック（ブロック１１０）がバッドブロックであるとする情報をブロック管理ＤＢ１３３に登録させる。
また、ブロック生成部１２４は、アドレスＤＢ１３１のアドレステーブルに記録されたエラーデータが検出されたブロック（ブロック１１０）の物理ページ番号を、複製先ブロック（ブロック１１１）の物理ページ番号に修正する。これにより、次に、前記フラッシュメモリから同じデータが読み出されるときに、前記複製ブロックのデータが読み出される。
以上説明したように、本発明の実施形態のフラッシュディスク装置１が備えるブロック生成部１２４は、従来のＥＣＣメモリと異なる特徴的な機能を有する。
【００３１】
インタフェース（Ｉ／Ｆ）部１４は、ＣＯＭ側のＩ／Ｆ部と物理的に接続されているものであり、ページ送出部１２２に制御されて、データをＣＯＭ側のＩ／Ｆ部に送出するものである。
【００３２】
［フラッシュディスク装置のページ読み出し動作］
次に、図２および図３を参照して、フラッシュディスク装置のページ読み出し動作について説明する（適宜、図１を参照）。図２および図３は、フラッシュディスク装置１のページ読み出し動作のフロー図である。ステップＳ１０１〜Ｓ１０８，Ｓ１１０は、従来のフラッシュディスク装置と同じ処理なので、説明を省略した記載をする。
【００３３】
エラー検出部１２１は、前記アドレステーブルを備えるアドレスＤＢ１３１を参照して、フラッシュメモリ１１からブロック１１０の物理ページ番号のページを取得し（ステップＳ１０１）、そのページに含まれるエラーデータを検出する。このとき、エラーデータを検出したか否かを判定する（ステップＳ１０２）。
検出しなかった場合（ステップＳ１０２，Ｎｏ）、そのページにはエラーデータが含まれていないため、エラー検出部１２１は、ページ送出部１２２にそのページを渡す（ステップＳ１０３）。そして、ページ送出部１２２はＩ／Ｆ部１４を制御して、ページをＣＯＭ側のＩ／Ｆ部へ送出する（ステップＳ１０４）。
【００３４】
そして、エラー検出部１２１は、フラッシュメモリ１１からブロック１１０のページをすべて取得したか否かを判定する（ステップＳ１０５）。
ページをすべて取得していれば（ステップＳ１０５，Ｙｅｓ）、処理を終了する。一方、まだ取得していないページがあれば（ページをすべて取得していなければ）（ステップＳ１０５，Ｎｏ）、ステップＳ１０１の処理に戻り、新たなページを取得する。
【００３５】
一方、検出した場合（ステップＳ１０２，Ｙｅｓ）、エラー検出部１２１は、さらに、検出したエラーデータが最初に検出した１ビット目であるか否かを判定する（ステップＳ１０６）。この判定は従来と同じ方法である。
【００３６】
１ビット目である場合（ステップＳ１０６，Ｙｅｓ）、エラー検出部１２１は、検出したエラーデータを含むブロック１１０のページ（１１０−ｍ）のページ番号（ｍ）をページ送出部１２２に渡す（ステップＳ１０７）。そして、エラー訂正部１２３に処理を移す。
【００３７】
エラー訂正部１２３は、エラー検出部１２１が検出したページ番号ｍのページ１１０−ｍに含まれるエラーデータを訂正して、訂正後のページを訂正ページ記憶部１３２に記憶させる（ステップＳ１０８）。このとき、エラーデータ訂正後のページを訂正ページＭとする。
さらに、エラー訂正部１２３は、エラーページ番号ｍをブロック管理ＤＢ１３３に記憶させる（ステップＳ１０９）。このとき、エラー訂正部１２３は、ブロック管理ＤＢ１３３のページ番号ｍに対応するデータを“０”から“１”にする。
次に、エラー訂正部１２３は、ページ送出部１２２に、訂正ページ記憶部１３２の訂正ページＭを取得させる（ステップＳ１１０）。そして、ページ送出部１２２は、ステップＳ１０４の処理を行う。
【００３８】
一方、１ビット目ではない場合（ステップＳ１０６，Ｎｏ）、つまり、図１のページ番号ｎのページ１１０−ｎに含まれたエラーデータを検出した場合、エラー検出部１２１は、エラーデータを検出していたブロック１１０に係る情報（ブロック情報）をブロック生成部１２４に渡す（ステップＳ１１１，図３）。このとき、エラー検出部１２１はブロック情報として、例えば、図１のブロック１１０の情報であるブロック番号“１１０”をブロック生成部１２４に渡す。
【００３９】
ブロック生成部１２４は、フラッシュメモリ１１に記憶されたブロック番号“１１０”のブロック１１０（ブロックのすべてのデータ）を取得する（ステップＳ１１２）。
そして、ブロック生成部１２４は、空きページＤＢ１３４を参照して、フラッシュメモリ１１の空いているページを探して、空いているページにブロック１１０を記憶させ、ブロック１１０の複製であるブロック１１１（複製ブロック）を生成する（ステップＳ１１３）。
次に、ブロック生成部１２４は、ブロック管理ＤＢ１３３を参照して、エラーページ番号（ｍ）を取得し（ステップＳ１１４）、さらに、ブロック生成部１２４は、訂正ページ記憶部１３２に記憶された訂正ページＭを取得する（ステップＳ１１５）。
【００４０】
そして、ブロック生成部１２４は、エラーページ番号ｍに該当するブロック１１１（複製ブロック）の物理ページ番号ｍのページ１１１−ｍを削除し、訂正ページＭを記憶させる（ステップＳ１１６）。図３は、ステップＳ１１５の処理後の訂正ページＭが記憶された状態を示している。
そして、ブロック生成部１２４は、ブロック１１０がバッドブロックであるとする情報をブロック管理ＤＢ１３３に登録させる（ステップＳ１１７）。このとき、ブロック１１０のブロック番号“１１０”を登録させてもよい。
さらに、ブロック生成部１２４は、次に、フラッシュメモリから同じデータが読み出されるときに、ブロック１１１のデータが読み出されるように、アドレスＤＢ１３１のアドレステーブルに記録されたブロック１１０の物理ページ番号を、ブロック１１１（複製ブロック）の物理ページ番号に変更する（ステップＳ１１８）。
【００４１】
以上の動作によって、本実施形態のフラッシュディスク装置は、ステップＳ１０９の処理にて、１ビットのエラーデータを訂正したページの番号（エラーページ番号ｍ）をブロック管理ＤＢ１３３に記憶させる。そのため、別のエラーデータを検出した場合に、このブロックから２ビットのエラーを検出したことがわかることから、このブロックに記憶されたデータは、読み出し動作時にエラーが発生しやすいと判断することができる。
また、ステップＳ１１３の処理にて、ブロックのデータを複製してフラッシュメモリ１１の別のブロックに記憶させ、複製先ブロック（ブロック１１１）を生成する。そして、ステップＳ１１６の処理にて、エラーデータのあるページを削除して、エラーデータ訂正後のページ（訂正ページＭ）を記憶させる。これにより、エラーとなりやすいと判断されたブロックに記憶されたデータを別のブロックに退避することができる。そして、再びブロックの読み出し処理があった場合に、この複製先ブロック（ブロック１１１）を読み出すことで、読み出し動作時にエラーが発生しやすいブロックで発生していた読み出し動作時のエラーを事前に防ぐことができる。
【００４２】
また、ステップＳ１１７の処理にて、ブロック生成部１２４が、ブロック１１０をバッドブロックであるとする情報をブロック管理ＤＢ１３３に登録させることで、フラッシュディスク装置は、ブロック１１０に書き込みをすることを回避することができる。
また、ステップＳ１１８の処理により、フラッシュディスク装置は、次に、フラッシュメモリから同じデータが読み出されるときに、複製ブロック（ブロック１１１）のデータを読み出すため、読み出し動作時にエラーが発生しやすいブロックで発生していた読み出し動作時のエラーを防ぐことができる。
さらに、ステップＳ１１７の処理およびステップＳ１１８の処理により、次に、フラッシュメモリから同じデータが読み出されるときに、バッドブロックであるブロック１１０からのデータを読み出さずに、エラーデータが訂正された複製ブロック（ブロック１１１）のデータを読み出すため、データの信頼性を向上させることができる。
【図面の簡単な説明】
【００４３】
【図１】フラッシュディスク装置のブロック図である。
【図２】フラッシュディスク装置のページ読み出し動作のフロー図である。
【図３】フラッシュディスク装置のページ読み出し動作のフロー図である。
【図４】従来のフラッシュディスク装置のページ読み出し動作の説明図である。
【符号の説明】
【００４４】
１      フラッシュディスク装置
１１    フラッシュメモリ
１２    制御部
１３    記憶部
１４    インタフェース（Ｉ／Ｆ）部
１１０  ブロック（エラーブロック）
１１０−１，１１０−２，１１０−ｚ  ページ（エラーデータなし）
１１０−ｍ  ページ（エラーデータあり）（第１エラーページ）
１１０−ｎ  ページ（エラーデータあり）（第２エラーページ）
１１１  ブロック（複製先ブロック）
１１１−１，１１１−２，１１１−ｚ  ページ（エラーデータなし）
１１１−ｍ，１１１−ｎ  ページ（エラーデータあり）
１２１  エラー検出部（エラーブロック情報取得手段）
１２２  ページ送出部
１２３  エラー訂正部（エラーページ情報取得手段）
１２４  ブロック生成部（ブロック複製手段、ブロック修正手段）
１３１  アドレスＤＢ
１３２  訂正ページ記憶部
１３３  ブロック管理ＤＢ
１３４  空きページＤＢ
Ｍ      訂正ページ
【図１】
2010140155.tif 000003
【図２】
2010140155.tif 000004
【図３】
2010140155.tif 000005
【図４】
2010140155.tif 000006