(57)【要約】【課題】記憶されたデータの信頼性を容易に向上する。【解決手段】複数のバンクに分割されたフラッシュメモリ１０３に、バンクが使用可能かどうかを示す情報とバンクに予め付与されたバンク番号との対応付け情報が記憶され、ＣＰＵ１０２によって、バンクに当該バンクに記憶するデータに対するＥＣＣが記憶され、ＥＣＣによりデータに訂正可能エラーがあると判断された場合、当該データが訂正され、使用可能な別のバンクに訂正されたデータがフラッシュメモリ１０３に書き込まれる。【選択図】図１
2008165452.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンクに分割されたデータ書き換え可能な不揮発性メモリを具備する情報記憶装置であって、
前記不揮発性メモリは、前記バンクが使用可能かどうかを示す情報と前記バンクに予め付与されたバンク番号との対応付け情報を記憶し、
前記バンクに該バンクに記憶するデータに対する誤り訂正符号を記憶させ、前記誤り訂正符号により前記データに訂正可能エラーがあると判断された場合、該データを訂正し、使用可能な別のバンクに前記訂正されたデータを書き込む制御部を有する情報記憶装置。
【請求項２】
請求項１に記載の情報記憶装置において、
前記制御部は、前記誤り訂正符号により前記バンクに記憶されたデータに訂正可能エラーがあると判断された場合、該データを訂正し、当該バンクに前記訂正されたデータを書き込み、前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあると判断された場合、該データを訂正し、使用可能な別のバンクに該訂正されたデータを書き込むことを特徴とする情報記憶装置。
【請求項３】
複数のバンクに分割され、データ書き換え可能であり、前記バンクが使用可能かどうかを示す情報と前記バンクに予め付与されたバンク番号との対応付け情報を記憶する不揮発性メモリにデータを記憶させる情報記憶方法であって、
前記バンクに該バンクに記憶するデータに対する誤り訂正符号を記憶させる処理と、
前記誤り訂正符号により前記データに訂正可能エラーがあるかどうかを判断する処理と、
前記誤り訂正符号により前記データに訂正可能エラーがあると判断された場合、該データを訂正する処理と、
使用可能な別のバンクに前記訂正されたデータを書き込む処理とを有する情報記憶方法。
【請求項４】
請求項３に記載の情報記憶方法において、
前記誤り訂正符号により前記バンクに記憶されたデータに訂正可能エラーがあると判断された場合、該データを訂正する処理と、
当該バンクに前記訂正されたデータを書き込む処理と、
前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあるかどうかを判断する処理と、
前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあると判断された場合、該データを訂正する処理と、
使用可能な別のバンクに該訂正されたデータを書き込む処理とを有することを特徴とする情報記憶方法。
【請求項５】
複数のバンクに分割され、データ書き換え可能であり、前記バンクが使用可能かどうかを示す情報と前記バンクに予め付与されたバンク番号との対応付け情報を記憶する不揮発性メモリにデータを記憶させるプログラムであって、
前記バンクに該バンクに記憶するデータに対する誤り訂正符号を記憶させる手順と、
前記誤り訂正符号により前記データに訂正可能エラーがあるかどうかを判断する手順と、
前記誤り訂正符号により前記データに訂正可能エラーがあると判断された場合、該データを訂正する手順と、
使用可能な別のバンクに前記訂正されたデータを書き込む手順とをコンピュータに実行させるプログラム。
【請求項６】
請求項５に記載のプログラムにおいて、
前記誤り訂正符号により前記データに訂正可能エラーがあると判断された場合、該データを訂正する手順と、
該バンクに前記訂正されたデータを書き込む手順と、
前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあるかどうかを判断する手順と、
前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあると判断された場合、該データを訂正する手順と、
使用可能な別のバンクに該訂正されたデータを書き込む手順とをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を記憶するための情報記憶装置、情報記憶方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複数の機能を１チップに集積しているシステムＬＳＩは、携帯電話や自動車など様々な電気製品に使用されている。このシステムＬＳＩには、プログラムなどのデータが記憶された不揮発性メモリがチップの内部あるいは外部に設けられている。このような不揮発性メモリとして、記憶データの書き換えが電気的に可能なフラッシュメモリが用いられることが多い。
【０００３】
しかしながら、フラッシュメモリは、書き換えの繰り返しや経年劣化が原因で、記憶されているデータが破損したり、さらには、フラッシュメモリの記憶素子自体が破損したりしてしまう場合がある。小規模のシステムＬＳＩには誤り訂正符号であるＥＣＣ（Error Correcting Code）のようなエラー訂正機構は備えられてないため、フラッシュメモリの記憶素子自体が破損した場合、エラーを訂正することはできず、当該ＬＳＩ、あるいは、当該ＬＳＩが搭載された基板を交換しなければならない。
【０００４】
このような事態を防ぐために、フラッシュメモリにデータを書き込む際に、複数のブロックに同一内容のデータを書き込んでおき、読み出し時にデータのエラー訂正が不能となった場合に、別のブロックからデータを読み出す技術が考えられている（例えば、特許文献１参照）。
【０００５】
また、フラッシュメモリに書き込まれたデータを読み出した際に、読み出されたデータに異常が検出された場合、他の領域に正常なデータを書き込む技術が考えられている（特許文献２参照。）。
【０００６】
また、所定のブロックに書き込まれたデータのエラー検出、訂正を行い、不良ブロックが検出された場合、当該ブロックをリザーブブロックに置き換える特別な機能を有する不揮発性メモリが考えられている（特許文献３参照。）。
【特許文献１】特開２００５−２１５８２４号公報
【特許文献２】特開２００６−０７９２２９号公報
【特許文献３】特開平０８−２０３２９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載された技術においては、フラッシュメモリの必要な容量が本来必要な容量の２倍以上となってしまい、コストの問題やシステムＬＳＩによってはフラッシュメモリの容量の制約から採用することができなくなってしまうという問題点がある。
【０００８】
また、特許文献２には、別のブロックにデータを復旧した場合に変化してしまうデータの配置をどのように管理するかが記載されていない。
【０００９】
また、特許文献３に記載された技術においては、上述したような特別な機能を有するメモリを準備しなければならないという問題点がある。
【００１０】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、記憶されたデータの信頼性を容易に向上することができる情報記憶装置、情報記憶方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は、
複数のバンクに分割されたデータ書き換え可能な不揮発性メモリを具備する情報記憶装置であって、
前記不揮発性メモリは、前記バンクが使用可能かどうかを示す情報と前記バンクに予め付与されたバンク番号との対応付け情報を記憶し、
前記バンクに該バンクに記憶するデータに対する誤り訂正符号を記憶させ、前記誤り訂正符号により前記データに訂正可能エラーがあると判断された場合、該データを訂正し、使用可能な別のバンクに前記訂正されたデータを書き込む制御部を有する。
【００１２】
また、前記制御部は、前記誤り訂正符号により前記バンクに記憶されたデータに訂正可能エラーがあると判断された場合、該データを訂正し、当該バンクに前記訂正されたデータを書き込み、前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあると判断された場合、該データを訂正し、使用可能な別のバンクに該訂正されたデータを書き込むことを特徴とする。
【００１３】
また、複数のバンクに分割され、データ書き換え可能であり、前記バンクが使用可能かどうかを示す情報と前記バンクに予め付与されたバンク番号との対応付け情報を記憶する不揮発性メモリにデータを記憶させる情報記憶方法であって、
前記バンクに該バンクに記憶するデータに対する誤り訂正符号を記憶させる処理と、
前記誤り訂正符号により前記データに訂正可能エラーがあるかどうかを判断する処理と、
前記誤り訂正符号により前記データに訂正可能エラーがあると判断された場合、該データを訂正する処理と、
使用可能な別のバンクに前記訂正されたデータを書き込む処理とを有する。
【００１４】
また、前記誤り訂正符号により前記バンクに記憶されたデータに訂正可能エラーがあると判断された場合、該データを訂正する処理と、
当該バンクに前記訂正されたデータを書き込む処理と、
前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあるかどうかを判断する処理と、
前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあると判断された場合、該データを訂正する処理と、
使用可能な別のバンクに該訂正されたデータを書き込む処理とを有することを特徴とする。
【００１５】
また、複数のバンクに分割され、データ書き換え可能であり、前記バンクが使用可能かどうかを示す情報と前記バンクに予め付与されたバンク番号との対応付け情報を記憶する不揮発性メモリにデータを記憶させるプログラムであって、
前記バンクに該バンクに記憶するデータに対する誤り訂正符号を記憶させる手順と、
前記誤り訂正符号により前記データに訂正可能エラーがあるかどうかを判断する手順と、
前記誤り訂正符号により前記データに訂正可能エラーがあると判断された場合、該データを訂正する手順と、
使用可能な別のバンクに前記訂正されたデータを書き込む手順とをコンピュータに実行させる。
【００１６】
また、前記誤り訂正符号により前記データに訂正可能エラーがあると判断された場合、該データを訂正する手順と、
該バンクに前記訂正されたデータを書き込む手順と、
前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあるかどうかを判断する手順と、
前記書き込まれたデータに対する誤り訂正符号により前記書き込まれたデータに訂正可能なエラーがあると判断された場合、該データを訂正する手順と、
使用可能な別のバンクに該訂正されたデータを書き込む手順とをコンピュータに実行させる。
【００１７】
上記のように構成された本発明においては、複数のバンクに分割されたデータ書き換え可能な不揮発性メモリに、バンクが使用可能かどうかを示す情報とバンクに予め付与されたバンク番号との対応付け情報が記憶され、制御部によって、バンクに当該バンクに記憶するデータに対する誤り訂正符号が記憶され、誤り訂正符号によりデータに訂正可能エラーがあると判断された場合、当該データが訂正され、使用可能な別のバンクに訂正されたデータが書き込まれる。
【００１８】
これにより、ハードウェアがＥＣＣのようなメモリ訂正機構を備えてなくてもメモリのエラーを訂正することができる。これにより、情報処理装置の信頼性を向上することができる。また、フラッシュメモリを二重化しておくような方式よりも格段にフラッシュメモリの使用量が少なくてすむ。これにより、フラッシュメモリに要するコストを削減したり、また、フラッシュメモリの容量の制限により従来は複製データを持たせることができなかったような装置にも適用したりすることができる。
【発明の効果】
【００１９】
以上説明したように本発明においては、複数のバンクに分割されたデータ書き換え可能な不揮発性メモリが、バンクが使用可能かどうかを示す情報とバンクに予め付与されたバンク番号との対応付け情報を記憶し、バンクに当該バンクに記憶するデータに対する誤り訂正符号を記憶させ、誤り訂正符号によりデータに訂正可能エラーがあると判断された場合、当該データを訂正し、使用可能な別のバンクに訂正されたデータを書き込む構成としたため、記憶されたデータの信頼性を容易に向上することができる。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２１】
図１は、本発明の情報記憶装置の実施の一形態を示す図である。
【００２２】
本形態は図１に示すように、ＣＰＵ１０２と、フラッシュメモリ１０３と、ＲＡＭ１０４と、付帯機能部１０５と、Ｉ／Ｏコントローラ１０６とが内部バス１０７を介して接続された形態である。なお、図１においては、情報記憶装置としてシステムＬＳＩ１０１が用いられた形態である。
【００２３】
ＣＰＵ１０２は、内部バス１０７を介して、フラッシュメモリ１０３、ＲＡＭ１０４、付帯機能部１０５、及びＩ／Ｏコントローラ１０６との間においてデータの送受信を行い、これらを統括的に制御する制御部である。フラッシュメモリ１０３は、ＣＰＵ１０２を動作させるためのプログラムや他のデータ等、システムＬＳＩ１０１の電源が切断された場合であってもメモリ内に残す必要があるデータを記憶するデータ書き換え可能な不揮発性メモリである。ＲＡＭ１０４は、ＣＰＵ１０２が動作する際にワークメモリとして機能するメモリである。付帯機能部１０５は、ＣＰＵ１０２の付帯機能であるタイマー等を実現する。Ｉ／Ｏコントローラ１０６は、システムＬＳＩ１０１に接続された外部の装置との間にてデータの送受信を行う。
【００２４】
図２は、図１に示したＣＰＵ１０２のメモリマップの一例を示す図である。
【００２５】
図１に示したＣＰＵ１０２のメモリマップは、図２に示すように、フラッシュメモリ１０３の共通エリアとしてアドレス「００００（ｈ（１６進数表示））」から「３ＦＦＦ（ｈ）」まで割り当てられており、また、フラッシュメモリ１０３の個別エリアとしてアドレス「４０００（ｈ）」から「７ＦＦＦ（ｈ）」までが割り当てられており、また、ＲＡＭ１０４のエリアとしてアドレス「８０００（ｈ）」から「ＦＦＦＦ（ｈ）」が割り当てられている。また、フラッシュメモリ１０３に割り当てられているメモリ空間の一部が、０〜３のバンク切り替え可能となっている。また、バンク領域にデータを書き込む際には、対応する誤り訂正符号であるＥＣＣ（Error Correcting Code）を算出し、算出されたＥＣＣと該当データとがバンク領域に書き込まれる。
【００２６】
図３は、図１に示したフラッシュメモリ１０３のバンク領域に記憶されているデータの機能を管理するためのバンク機能管理テーブルの一例を示す図である。
【００２７】
図３に示すようにバンク機能管理テーブル１２１には、各機能を示す情報と当該機能が記憶されているバンク領域に予め付与されたバンク番号とが対応付けられて記憶されている。例えば、図３に示すように、「Ａ」という機能はバンク番号「０」であるバンクに記憶されており、また「Ｂ」という機能はバンク番号「１」であるバンクに記憶されており、また「Ｃ」という機能はバンク番号「２」であるバンクに記憶されているという対応付け情報が記憶されている。このバンク機能管理テーブル１２１を参照することにより、フラッシュメモリ１０３に実装されている機能が必要になった場合、どのバンクに切り替えれば良いのかを識別することができる。また、バンク領域にデータを書き込む際は、フラッシュメモリ１０３の共通エリアに記憶されているバンク機能管理テーブル１２１も併せて更新される。
【００２８】
図４は、図１に示したフラッシュメモリ１０３のバンク領域に記憶されているデータの状態を管理するためのバンク状態管理テーブルの一例を示す図である。
【００２９】
図４に示すようにバンク状態管理テーブル１２２には各バンクに予め付与されたバンク番号と当該バンクが使用可能かどうかを示す状態情報とが対応付けられて記憶されている。例えば、図４に示すように、バンク番号「０」であるバンクは使用不可であり、またバンク番号「１」であるバンクは使用不可であり、またバンク番号「２」であるバンクは使用不可であり、またバンク番号「３」であるバンクは使用可能であるという対応付け情報が記憶されている。このバンク状態管理テーブル１２２を参照することにより、どのバンクが予備バンクとして使用できるのかを識別することができる。また、バンク領域にデータを書き込む際は、フラッシュメモリ１０３の共通エリアに記憶されているバンク状態管理テーブル１２２も併せて更新される。ここで、状態が使用不可である場合、その原因として、フラッシュメモリ１０３の各バンクに機能がすでに書き込まれている、または、不良ブロックが発生しているため当該バンクが予備バンクとして使用できなくなっていることが考えられる。また、状態が使用可である場合、それは未使用であり当該バンクが予備バンクとして使用可であるためである。
【００３０】
以下に、図１に示した情報記憶装置における情報記憶方法についてフローチャートを用いて説明する。
【００３１】
図５は、図１に示した情報記憶装置における情報記憶方法の一例を説明するためのフローチャートである。なお、フラッシュメモリ１０３のデータの整合性のチェック手順を主に説明するが、このデータ整合性のチェックは情報記憶装置が起動する際に行われるものであっても良いし、起動時ではなくＣＰＵ１０２によるプログラムの実行中の任意のタイミングで実行されるものであっても構わない。ここでは、このデータ整合性のチェックが起動時に行われる場合を例に挙げて説明する。
【００３２】
システムＬＳＩ１０１が起動すると、フラッシュメモリ１０３のデータ整合性チェック機能が呼び出される。まずは、フラッシュメモリ１０３のバンク領域に記憶されているＥＣＣのチェックが行われる（ステップＳ１）。ＥＣＣのチェックにより訂正不可能エラーがあるかどうかが判断される（ステップＳ２）。
【００３３】
訂正不可能エラーがあると判断された場合、ＬＥＤを点灯させたりブザーを鳴らせたりする方法で外部に対してフラッシュメモリ１０３の異常が通知される（ステップＳ３）。これにより、システムＬＳＩ１０１の起動が抑止される。
【００３４】
一方、訂正不可能エラーがないと判断された場合は、訂正可能エラーがあるかどうかが判断される（ステップＳ４）。
【００３５】
訂正可能エラーがないと判断された場合、本手順を終了し、通常通り、プログラムを起動する。
【００３６】
一方、訂正可能エラーがあると判断された場合は、当該エラーがＥＣＣを用いて訂正される（ステップＳ５）。このエラー訂正については、従来の方法と同様であるため、ここでは詳細を記述しない。
【００３７】
その後、エラーがあると判断されたバンクに訂正されたデータが書き込まれ(ステップＳ６）、書き込まれたデータに対してＥＣＣチェックが行われる（ステップＳ７）。ＥＣＣのチェックにより訂正不可能エラーがあるかどうかが判断される（ステップＳ８）。
【００３８】
訂正不可能エラーがあると判断された場合、ＬＥＤを点灯させたりブザーを鳴らせたりする方法で外部に対してフラッシュメモリ１０３の異常が通知される（ステップＳ９）。これにより、システムＬＳＩ１０１の起動が抑止される。
【００３９】
一方、訂正不可能エラーがないと判断された場合は、訂正可能エラーがあるかどうかが判断される（ステップＳ１０）。
【００４０】
訂正可能エラーがないと判断された場合、本手順を終了し、通常通り、プログラムを起動する。
【００４１】
一方、訂正可能エラーがあると判断された場合は、フラッシュメモリ１０３の当該バンクとして使用しているブロックの記録素子が不良であり、そのため再使用が不可能と判断され、バンクを代替するための処理に移行する。
【００４２】
ＣＰＵ１０２によって、フラッシュメモリ１０３の共通エリアに記憶されているバンク状態管理テーブル１２２が参照され（ステップＳ１１）、使用可となっているバンクがあるかどうかが検索される（ステップＳ１２）。
【００４３】
検索された結果、使用可バンクがない場合、エラーが発生したバンクを代替することができないため、ＬＥＤを点灯させたりブザーを鳴らせたりする方法で外部に対してフラッシュメモリ１０３の異常が通知される（ステップＳ１３）。これにより、システムＬＳＩ１０１の起動が抑止される。
【００４４】
一方、検索された結果、使用可バンクがある場合は、エラーが発生したバンクからデータが読み出され（ステップＳ１４）、読み出されたデータがＥＣＣを用いてエラー訂正さされる（ステップＳ１５）。そして、バンク状態管理テーブル１２２上で「使用可」と示されているバンクのうちから任意の１つが選択され、選択された使用可バンクへ当該訂正されたデータが書き込まれる（ステップＳ１６）。
【００４５】
その後、エラーが発生したバンクから、選択された使用可バンクへ当該ブロックの全てのデータがコピーされたかどうかが判断される（ステップＳ１７）。
【００４６】
全てのデータがコピーされてないと判断された場合は、ステップＳ１４に戻り、全てのデータがコピーされるまでステップＳ１４〜Ｓ１６の処理が行われる。
【００４７】
一方、全てのデータがコピーされていると判断された場合は、フラッシュメモリ１０３の共通エリアに記憶されているバンク機能管理テーブル１２１のエラーが発生したバンクに書き込まれていた機能に対応付けられていたバンク番号が、選択された使用可バンクの番号へ更新される（ステップＳ１８）。また、フラッシュメモリ１０３の共通エリアに記憶されているバンク状態管理テーブル１２２の選択されたバンク番号に対応付けられていた状態が使用可から使用不可へ更新される（ステップＳ１９）。そして、ステップＳ１の処理が行われる。
【００４８】
また、上述した情報記憶方法では、ステップＳ４で訂正可能エラーがあると判断された場合は、当該ブロックのデータの復旧を試行し（ステップＳ５〜Ｓ７）、復旧できなかった場合に、別のバンクを使用するという手順であったが、復旧を試行せずに、直接別のバンクを使用してもかまわない。
【００４９】
図６は、図１に示した情報記憶装置における情報記憶方法の他の例を説明するためのフローチャートである。
【００５０】
システムＬＳＩ１０１が起動すると、フラッシュメモリ１０３のデータ整合性チェック機能が呼び出される。まずは、フラッシュメモリ１０３のバンク領域に記憶されているＥＣＣのチェックが行われる（ステップＳ２１）。ＥＣＣのチェックにより訂正不可能エラーがあるかどうかが判断される（ステップＳ２２）。
【００５１】
訂正不可能エラーがあると判断された場合、ＬＥＤを点灯させたりブザーを鳴らせたりする方法で外部に対してフラッシュメモリ１０３の異常が通知される（ステップＳ２３）。これにより、システムＬＳＩ１０１の起動が抑止される。
【００５２】
一方、訂正不可能エラーがないと判断された場合は、訂正可能エラーがあるかどうかが判断される（ステップＳ２４）。
【００５３】
訂正可能エラーがないと判断された場合、本手順を終了し、通常通り、プログラムを起動する。
【００５４】
一方、訂正可能エラーがあると判断された場合は、ＣＰＵ１０２によって、フラッシュメモリ１０３の共通エリアに記憶されているバンク状態管理テーブル１２２が参照され（ステップＳ２５）、使用可となっているバンクがあるかどうかが検索される（ステップＳ２６）。
【００５５】
検索された結果、使用可バンクがない場合、エラーが発生したバンクを代替することができないため、ＬＥＤを点灯させたりブザーを鳴らせたりする方法で外部に対してフラッシュメモリ１０３の異常が通知される（ステップＳ２７）。これにより、システムＬＳＩ１０１の起動が抑止される。
【００５６】
一方、検索された結果、使用可バンクがある場合は、エラーが発生したバンクからデータが読み出され（ステップＳ２８）、読み出されたデータがＥＣＣを用いてエラー訂正さされる（ステップＳ２９）。そして、バンク状態管理テーブル１２２上で「使用可」と示されているバンクのうちから任意の１つが選択され、選択された使用可バンクへ当該訂正されたデータが書き込まれる（ステップＳ３０）。
【００５７】
その後、エラーが発生したバンクから、選択された使用可バンクへ当該ブロックの全てのデータがコピーされたかどうかが判断される（ステップＳ３１）。
【００５８】
全てのデータがコピーされてないと判断された場合は、ステップＳ２８に戻り、全てのデータがコピーされるまでステップＳ２８〜Ｓ３０の処理が行われる。
【００５９】
一方、全てのデータがコピーされていると判断された場合は、フラッシュメモリ１０３の共通エリアに記憶されているバンク機能管理テーブル１２１のエラーが発生したバンクに書き込まれていた機能に対応付けられていたバンク番号が、選択された使用可バンクの番号へ更新される（ステップＳ３２）。また、フラッシュメモリ１０３の共通エリアに記憶されているバンク状態管理テーブル１２２の選択されたバンク番号に対応付けられていた状態が使用可から使用不可へ更新される（ステップＳ３３）。そして、ステップＳ１の処理が行われる。
【００６０】
以上により、ハードウェアがＥＣＣのようなメモリ訂正機構を備えてなくてもメモリのエラーを訂正することができる。これにより、情報処理装置の信頼性を向上することができる。
【００６１】
また、フラッシュメモリを二重化しておくような方式よりも格段にフラッシュメモリの使用量が少なくてすむ。これにより、フラッシュメモリに要するコストを削減したり、また、フラッシュメモリの容量の制限により従来は複製データを持たせることができなかったような装置にも適用したりすることができる。
【００６２】
なお、本発明においては、情報記憶装置であるシステムＬＳＩ１０１内の処理は専用のハードウェアにより実現されても良い。上述した説明においては、機能を実現するためのプログラムをシステムＬＳＩ１０１内の設けられたフラッシュメモリ１０３等の読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをＣＰＵ１０２に読み込ませ、実行するものである。なお、フラッシュメモリ１０３以外の読取可能な記録媒体は、フロッピー（登録商標）ディスク、光磁気ディスク、ＤＶＤ、ＣＤなどが考えられる。ＣＰＵ１０２は、プログラムが記録された記録媒体から読み込まれたプログラムを実行するコンピュータとして動作するものである。
【図面の簡単な説明】
【００６３】
【図１】本発明の情報記憶装置の実施の一形態を示す図である。
【図２】図１に示したＣＰＵのメモリマップの一例を示す図である。
【図３】図１に示したフラッシュメモリのバンク領域に記憶されているデータの機能を管理するためのバンク機能管理テーブルの一例を示す図である。
【図４】図１に示したフラッシュメモリのバンク領域に記憶されているデータの状態を管理するためのバンク状態管理テーブルの一例を示す図である。
【図５】図１に示した情報記憶装置における情報記憶方法の一例を説明するためのフローチャートである。
【図６】図１に示した情報記憶装置における情報記憶方法の他の例を説明するためのフローチャートである。
【符号の説明】
【００６４】
１０１    システムＬＳＩ
１０２    ＣＰＵ
１０３    フラッシュメモリ
１０４    ＲＡＭ
１０５    付帯機能部
１０６    Ｉ／Ｏコントローラ
１０７    内部バス
１２１    バンク機能管理テーブル
１２２    バンク状態管理テーブル
【図１】
2008165452.tif 000003
【図２】
2008165452.tif 000004
【図３】
2008165452.tif 000005
【図４】
2008165452.tif 000006
【図５】
2008165452.tif 000007
【図６】
2008165452.tif 000008