(57)【要約】【課題】フラッシュメモリにおいて発生するビットエラーを効果的に修復する。【解決手段】フラッシュメモリ４から読み出される一時記憶データのエラーをチェックするエラー訂正機能を備える。エラーが発見されると、そのエラー情報は、レジスタ９に一時記憶された後、適切なタイミングで不揮発性メモリ６に記憶される。電源投入時などの適切なタイミングで、不揮発性メモリ６に記憶されたエラー情報に基づき、エラーが発見された一時記憶データを再度読み出してエラー訂正を行ってフラッシュメモリ４に書き戻す。リードディスターブなどの回復可能なビットエラーを修復することができる。通常の読み出し処理が支障なく実行でき、ユーザに不快感を与えなくて済む。【選択図】図１
2008198310.tif 000002
【特許請求の範囲】
【請求項１】
第１不揮発性半導体メモリに記憶されているビットデータが変化して発生するビットエラーの修復方法であって、
前記第１不揮発性半導体メモリに記憶されている記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行う工程と、
前記記憶データのエラーに関するエラー情報を第２不揮発性半導体メモリに記憶する工程と、
所定のタイミングにおいて、前記エラー情報に基づいて、前記第１不揮発性半導体メモリからエラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第１不揮発性半導体メモリに書き戻すビットエラー修復工程と、
を含むことを特徴とするビットエラーの修復方法。
【請求項２】
第１不揮発性半導体メモリに記憶されているビットデータが変化して発生するビットエラーの修復方法であって、
ホストシステムが、前記第１不揮発性半導体メモリに記憶されている記憶データを読み出す際に、前記記憶データを一時記憶データとして一時的に記憶する工程と、
前記一時記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行う工程と、
前記一時記憶データのエラーに関するエラー情報を揮発性の記憶手段に一時記憶する工程と、
所定のタイミングにおいて、前記エラー情報を第２不揮発性半導体メモリに記憶する工程と、
所定のタイミングにおいて、前記第２不揮発性半導体メモリに記憶された前記エラー情報に基づいて、前記第１不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第１不揮発性半導体メモリに書き戻すビットエラー修復工程と、
を含むことを特徴とするビットエラーの修復方法。
【請求項３】
請求項１または請求項２に記載のビットエラーの修復方法であって、
前記ビットエラー修復工程が、電源投入時に実行されることを特徴とするビットエラーの修復方法。
【請求項４】
請求項１ないし請求項３のいずれかに記載のビットエラーの修復方法であって、
前記ビットエラーが、リードディスターブエラーを含むことを特徴とするビットエラーの修復方法。
【請求項５】
第１不揮発性半導体メモリと、
前記第１不揮発性半導体メモリに記憶されている記憶データを読み出すホストシステムと、
前記ホストシステムが前記記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行うエラー訂正部と、
前記記憶データのエラーに関するエラー情報を記憶する第２不揮発性半導体メモリと、
を備え、
所定のタイミングにおいて、前記エラー情報に基づいて、前記第１不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第１不揮発性半導体メモリに書き戻すことを特徴とする情報処理装置。
【請求項６】
第１不揮発性半導体メモリと、
第２不揮発性半導体メモリと、
前記第１不揮発性半導体メモリに記憶されている記憶データを読み出すホストシステムと、
前記ホストシステムが前記記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べ、エラーがあればエラー訂正を行うエラー訂正部と、
前記第１不揮発性半導体メモリと前記ホストシステムとの間に設けられるメモリコントローラと、
を備え、
前記メモリコントローラは、
一時記憶データとして前記記憶データを一時的に記憶する一時記憶部と、
前記一時記憶データのエラーに関するエラー情報を一時記憶する揮発性の記憶手段と、
を含み、
前記記憶手段に一時記憶された前記エラー情報が、所定のタイミングにおいて、前記第２不揮発性半導体メモリに記憶され、
所定のタイミングにおいて、前記第２不揮発性半導体メモリに記憶された前記エラー情報に基づいて、前記第１不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを前記一時記憶部に読み出し、エラー訂正を行って前記第１不揮発性半導体メモリに書き戻すことを特徴とする情報処理装置。
【請求項７】
請求項５または請求項６に記載の情報処理装置であって、
ビットエラーの修復が、電源投入時に実行されることを特徴とする情報処理装置。
【請求項８】
請求項５ないし請求項７のいずれかに記載の情報処理装置であって、
前記ビットエラーが、リードディスターブエラーを含むことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リードディスターブ等によって、不揮発性半導体メモリにおいて発生するビットエラーの修復方法、およびその修復方法を実現する情報処理装置に関する。
【背景技術】
【０００２】
不揮発性半導体メモリ、たとえば、フラッシュメモリは、単純な回路構成による高集積化や製造コスト減、ユーザによる書き込みの容易化を図ることができるため、ＳＤメモリカードなどに大量に採用され、最近では、ゲーム機などに多用されている。
【０００３】
しかし、ゲーム機などでは、ＲＯＭのように、記憶された特定のデータが繰り返し読み出されることが多いため、記憶されているビットデータが変化してエラーを生じ、トラブルを招くおそれが指摘され始めている。このような現象はリードディスターブ（Ｒｅａｄ  Ｄｉｓｔｕｒｂ）と呼ばれる。本現象が発生するメカニズムについて、以下に簡単に説明する。
【０００４】
図６は、ＮＡＮＤフラッシュメモリの模式図を示している。ＮＡＮＤフラッシュメモリは、格子状に配線されたビット線４１とワード線４２、４３、４４、メモリセル５２、５３、選択レジスタ５４などで構成されている。
【０００５】
たとえば、メモリセル５２に格納されている“０”または“１”の１ビットのデータ（ビットデータ）を読み出す場合を考える。この場合、メモリセル５２は選択セル５２、メモリセル５３は非選択セル５３と呼ばれる。まず、選択レジスタ５４により、選択セル５２が属するビット線４１が指定される。次に、選択セル５２が属するワード線４２に対して、低ゲート電圧Ｖ（Ｌｏｗ）、たとえば０Ｖが印加される。そして、非選択セル５３が属するワード線４３に対して、高ゲート電圧Ｖ（Ｈｉｇｈ）、たとえば５Ｖが印加される。
【０００６】
このとき、非選択セル５３のフローティングゲートに電子が蓄積される可能性がある。すなわち、選択セル５２に格納されるビットデータが繰り返し読み出されると、経時的に非選択セル５３に電子がトラップされて電子が蓄積していき、そこに格納されているビットデータが、たとえば“１”から“０”に意図せず書き換えられてエラーを生じる可能性がある。
【０００７】
仮に、非選択セル５３に格納されているビットデータが意図せず書き換えられても、非選択セル５３に書き込みや消去が行われれば、非選択セル５３は回復する。しかし、非選択セル５３に書き込みや消去が発生しない場合には、非選択セル５３のビットデータはエラーのまま保持されるため、非選択セル５３が関連するプログラムの実行にトラブルが発生するのである。
【０００８】
つまり、ここでいうビットエラーとは、物理的な損傷による不可逆的なエラーではなく、記憶されたビットデータが、経時的に変化して発生する可逆的なエラーである。なかでも、リードディスターブによるビットエラー（リードディスターブエラー）は、書き込みや消去が行われることなく、フラッシュメモリの特定の記憶領域において読み出し処理が繰り返し実行されることで発生する。
【０００９】
リードディスターブエラーの回避に関する文献として、たとえば、以下の特許文献が挙げられる。ただし、そこでは、メモリセル内部の制御によりビットエラーを回避している。
【００１０】
フラッシュメモリでは、読み出したデータにエラーがあれば、そのエラーを訂正して出力するエラー訂正機能を実装することが一般に行われている。エラー訂正機能としては、たとえばＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）がある。それによれば、予めＥＣＣ（Ｅｒｒｏｒ−Ｃｏｒｒｅｃｔｉｎｇ  Ｃｏｄｅ、エラー訂正コード）をフラッシュメモリに組み込むことで、数ビットであれば、フラッシュメモリ内でエラー（ビットエラーを含む）が発生していても、データの読み出し前にエラーをチェックして、エラー訂正を行うことができる。記憶データにエラーがあっても、正しいデータが読み出されるので、フラッシュメモリの信頼性を確保することできる。たとえば、ある方式であれば、６４ビットのデータについて８ビットのエラー訂正コードが設定されていた場合、１ビットのエラーであれば訂正して出力することができる。
【００１１】
【特許文献１】米国特許出願公開第２００５／０２１０１８４号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかし、ビットエラーは、たとえばＮＡＮＤ型フラッシュメモリでは上述のとおり選択セルの周りの非選択セルに発生する。したがって、その発生箇所や発生数は特定が困難なうえ、多数発生するおそれがあるため、ＥＣＣ等の従来のエラー訂正機能では訂正能力を超えてトラブルを招くリスクが高いと考えられる。さらに、この種のエラー訂正機能は、通常、エラーを訂正して出力するに止まり、不揮発性半導体メモリを修復する機能までは備えていない。
【００１３】
不揮発性半導体メモリを修復するにしても、いつ修復を行うかは、この種の製品特性上、極めて重要な問題である。たとえば、ゲームの実行中に、不揮発性半導体メモリの修復を行えば、その間、ゲームプログラムの読み出しにストレスがかかってゲームは中断、遅延し、ユーザに著しく不快な状況を招くこととなるからである。
【００１４】
そこで、本発明は、ユーザに不快感を与えることなく、不揮発性半導体メモリにおいて発生するビットエラーを効果的に修復できる方法、およびその修復方法を実現する情報処理装置の提供を目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、請求項１に記載の本発明は、第１不揮発性半導体メモリに記憶されているビットデータが変化して発生するビットエラーの修復方法であって、前記第１不揮発性半導体メモリに記憶されている記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行う工程と、前記記憶データのエラーに関するエラー情報を第２不揮発性半導体メモリに記憶する工程と、所定のタイミングにおいて、前記エラー情報に基づいて、前記第１不揮発性半導体メモリからエラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第１不揮発性半導体メモリに書き戻すビットエラー修復工程と、を含むことを特徴とする。
【００１６】
請求項２に記載の本発明は、第１不揮発性半導体メモリに記憶されているビットデータが変化して発生するビットエラーの修復方法であって、ホストシステムが、前記第１不揮発性半導体メモリに記憶されている記憶データを読み出す際に、前記記憶データを一時記憶データとして一時的に記憶する工程と、前記一時記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行う工程と、前記一時記憶データのエラーに関するエラー情報を揮発性の記憶手段に一時記憶する工程と、所定のタイミングにおいて、前記エラー情報を第２不揮発性半導体メモリに記憶する工程と、所定のタイミングにおいて、前記第２不揮発性半導体メモリに記憶された前記エラー情報に基づいて、前記第１不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第１不揮発性半導体メモリに書き戻すビットエラー修復工程と、を含むことを特徴とする。
【００１７】
請求項３に記載の本発明は、請求項１または請求項２に記載のビットエラーの修復方法であって、前記ビットエラー修復工程が、電源投入時に実行されることを特徴とする。
【００１８】
請求項４に記載の本発明は、請求項１ないし請求項３のいずれかに記載のビットエラーの修復方法であって、前記ビットエラーが、リードディスターブエラーを含むことを特徴とする。
【００１９】
請求項５に記載の本発明は、第１不揮発性半導体メモリと、前記第１不揮発性半導体メモリに記憶されている記憶データを読み出すホストシステムと、前記ホストシステムが前記記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べて、エラーがあればエラー訂正を行うエラー訂正部と、前記記憶データのエラーに関するエラー情報を記憶する第２不揮発性半導体メモリと、を備え、所定のタイミングにおいて、前記エラー情報に基づいて、前記第１不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを読み出し、エラー訂正を行って前記第１不揮発性半導体メモリに書き戻すことを特徴とする情報処理装置である。
【００２０】
請求項６に記載の本発明は、第１不揮発性半導体メモリと、第２不揮発性半導体メモリと、前記第１不揮発性半導体メモリに記憶されている記憶データを読み出すホストシステムと、前記ホストシステムが前記記憶データを読み出す際に、前記記憶データにエラーがあるか否かを調べ、エラーがあればエラー訂正を行うエラー訂正部と、前記第１不揮発性半導体メモリと前記ホストシステムとの間に設けられるメモリコントローラと、を備え、前記メモリコントローラは、一時記憶データとして前記記憶データを一時的に記憶する一時記憶部と、前記一時記憶データのエラーに関するエラー情報を一時記憶する揮発性の記憶手段と、を含み、前記記憶手段に一時記憶された前記エラー情報が、所定のタイミングにおいて、前記第２不揮発性半導体メモリに記憶され、所定のタイミングにおいて、前記第２不揮発性半導体メモリに記憶された前記エラー情報に基づいて、前記第１不揮発性半導体メモリから、エラー訂正の処理が行われた前記記憶データを前記一時記憶部に読み出し、エラー訂正を行って前記第１不揮発性半導体メモリに書き戻すことを特徴とする情報処理装置である。
【００２１】
請求項７に記載の本発明は、請求項５または請求項６に記載の情報処理装置であって、ビットエラーの修復が、電源投入時に実行されることを特徴とする。
【００２２】
請求項８に記載の本発明は、請求項５ないし請求項７のいずれかに記載の情報処理装置であって、前記ビットエラーが、リードディスターブエラーを含むことを特徴とする。
【発明の効果】
【００２３】
読み出されるデータにエラーがあれば、そのエラーを訂正するエラー訂正機能の補完機能として、回復可能なビットエラーを適宜修復する機構を設けたので、エラー訂正能力を超えるリスクを少なくすることができ、より不揮発性半導体メモリの信頼性を向上させることができる。
【００２４】
第２不揮発性半導体メモリにエラー情報を記憶することなどによって、ビットエラーの修復に関わる一連の処理を適切なタイミングで実行できるようにしたので、その処理によってゲームの中断や遅延を招いてユーザに不快感を与えなくて済む。
【発明を実施するための最良の形態】
【００２５】
図１は、本発明にかかるビットエラーの修復方法を実現する情報処理装置の構成を示すブロック図である。図１に示すように、情報処理装置１は、ホストシステム２、メモリコントローラ３、第１不揮発性半導体メモリ４（フラッシュメモリ４）などで構成される。情報処理装置１の具体例を挙げると、たとえば、ゲーム機などである。
【００２６】
本実施の形態では、情報処理装置１としてゲーム機を例に説明する。この場合、メモリコントローラ３とフラッシュメモリ４は、ＳＤカードなどの記憶媒体５に一体に実装されて、ゲームカートリッジの形態でゲーム機に着脱自在に装着される。なお、メモリコントローラ３やフラッシュメモリ４は、情報処理装置１と一体に装着されていてもよい。
【００２７】
｛ホストシステム｝
ホストシステム２は、情報処理装置１の全体制御を行う中枢処理部であり、演算部、制御部、記憶部、入出力部などで構成されている。具体的には、情報処理装置１には、ＣＰＵやＲＯＭ、モニター、操作ボタンなどが備えられており、ホストシステム２によってこれらが制御されている。たとえば、ユーザが操作する操作ボタンからの指示を受けて、フラッシュメモリ４に記憶されているゲーム等のプログラムを読み出す処理や、読み出されるゲームプログラムに基づいてモニターにゲームの動画等を表示する処理を実行する。
【００２８】
ホストシステム２は、さらに、第２不揮発性半導体メモリ６（不揮発性メモリ６）を備えている。不揮発性メモリ６は、フラッシュメモリ４に記憶されている記憶データに発生するエラー（ビットエラーを含む）に関するエラー情報を記憶する機能を有している。その詳細については後述する。なお、不揮発性メモリ６は、本実施の形態のように、必ずしも情報処理装置１側に備えられている必要はなく、記憶媒体５側に設けられていてもよい。
【００２９】
｛メモリコントローラ｝
メモリコントローラ３は、ホストシステム２からの要求に応じてフラッシュメモリ４に記憶されているデータの読み出し等の処理を行う処理部である。つまり、メモリコントローラ３は、ホストシステム２とフラッシュメモリ４とに対するインターフェース機能を有し、ホストシステム２との間でコマンドやデータの入出力処理を行う。また、ホストシステム２から出力されたコマンドにより、あるいは自装置の機能に基づいてフラッシュメモリ４からデータの読み出し、フラッシュメモリ４へのデータの書き込み等の処理を行う。
【００３０】
メモリコントローラ３は、フラッシュメモリ４から読み出されたデータを一時的に記憶する一時記憶部７（ＳＲＡＭ：Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）や、一時記憶部７に記憶されたデータ（一時記憶データ）に存在するエラーを訂正するエラー訂正部８、一時記憶データで発見されたエラーの情報を一時記憶する揮発性メモリからなるレジスタ９（揮発性の記憶手段）などを備える。
【００３１】
メモリコントローラ３は、ホストシステム２からの読み出し要求があれば、それに応じてフラッシュメモリ４から記憶データを読み出し、一時記憶部７に一時記憶する。そして、その一時記憶部７に記憶された一時記憶データが、ホストシステム２によって読み出されるのであるが、その読み出し前に、一時記憶データにエラーがあれば、エラー訂正部８によってエラー訂正が行われ、正しいデータが出力されるようになっている。
【００３２】
すなわち、エラー訂正部８は、たとえば、公知のエラー訂正機能（ＥＣＣ）に基づく機能を備え、エラー訂正コードを用いて一時記憶部７に記憶される一時記憶データをチェックする。そして、エラーがあれば、そのエラーを訂正する処理を実行する。したがって、フラッシュメモリ４に記憶されているゲームプログラム等の格納領域にビットエラーがあっても、エラー訂正部８によるエラー訂正機能の発揮によって、フラッシュメモリ４の信頼性は確保される。たとえば、一時記憶データ中４ビット以内のエラー訂正が可能な訂正能力であれば、２ビットや３ビットのエラーであれば、正しいデータに訂正して出力される。
【００３３】
しかし、フラッシュメモリ４に存在しているエラーはそのままであるため、エラーが蓄積して４ビットを超えると、訂正は不可能となってしまう。そのため、修復可能なビットエラーを修復する機能を設けることによって、エラー訂正機能を補完し、エラー訂正機能がより効果的に発揮できるようになっている。
【００３４】
本実施の形態のレジスタ９は、エラー訂正部８によって一時記憶データ中にエラーが発見されると、そのエラー情報を一時記憶する。そして、所定の適切なタイミングでレジスタ９に記憶されたエラー情報が、ホストシステム２によって読み出され、不揮発性メモリ６に記憶されるようになっている。レジスタ９に一時記憶させることで、書き込み時間を要する不揮発性メモリへの書き込み処理を適切なタイミングで行えるため、記憶データの読み出し効率の低下を防ぐことができる。
【００３５】
｛第１不揮発性半導体メモリ｝
第１不揮発性半導体メモリ４は書き換え可能な不揮発性半導体メモリであり、たとえば、フラッシュメモリが該当する。フラッシュメモリには、たとえば、ＮＯＲ型フラッシュメモリやＮＡＮＤ型フラッシュメモリがある。なかでも本発明は、ＮＡＮＤ型フラッシュメモリに好適であるため、以下、第１不揮発性半導体メモリ４はＮＡＮＤ型フラッシュメモリとして説明するが、その型までは限定はしない。なお、第１不揮発性半導体メモリ４に書き戻さずに他のメモリに書き戻す場合には、必ずしも第１不揮発性半導体メモリ４は、書き換え可能でなくともよい。
【００３６】
フラッシュメモリ４には、ゲームのアプリケーションプログラム等、各種プログラムを構成するデータが記憶されており（記憶データ）、フラッシュメモリ４の記憶領域は、この記憶データが記憶されるデータ記憶領域と、エラー訂正コード等のエラー訂正データが記憶される冗長領域とを有する。記憶領域は、書き込み、読み出し単位であるページ１０と、複数のページ１０で構成されて、データの消去単位であるブロック１１とで構成されている（図３参照）。
【００３７】
フラッシュメモリ４のデータ記憶領域には、ゲームプログラム等を記憶する使用領域１２に加えて、データが記憶されていない未使用領域１３が設けられている。また、フラッシュメモリ４には、これに記憶されているデータの格納情報を管理するＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅｓ）等の管理テーブルが備えられている（図示せず）。
【００３８】
｛ビットエラーの修復｝
次に、上記構成の情報処理装置１におけるビットエラーの修復について具体的に説明する。
【００３９】
図２は、ビットエラーの修復に関する処理手順を示したものである。本実施の形態では、ビットエラーの修復によってユーザに不快な状況を招くことがないよう、その処理が適切な所定のタイミングで実行できるように工夫されている。以下、図２の処理手順に沿って説明する。
【００４０】
ユーザによってゲーム機である情報処理装置１に電源が投入され、ゲームが起動されると、ホストシステム２からメモリコントローラ３に、フラッシュメモリ４に記憶されているゲームプログラムを読み出すためのリードコマンドが送信される（ステップＳ１）。メモリコントローラ３は、リードコマンドを受信すると、指示されたゲームプログラムの記憶データをフラッシュメモリ４から読み出して、一時記憶データとして一時記憶部７に一時記憶する（ステップＳ２）。
【００４１】
一時記憶データの読み出しの際には、その一時記憶データに対応したエラー訂正コードもフラッシュメモリの冗長領域から読み出される。その一時記憶データのエラー訂正記号に基づき、エラー訂正部８によって、エラーがあるか否かがチェックされ、エラーがあればエラー訂正が行われる（ステップＳ３）。
【００４２】
そして、エラーのない正しい一時記憶データが、ホストシステム２によって一時記憶部７から読み出されるのである（ステップＳ４）。
【００４３】
このように、フラッシュメモリ４から読み出される一時記憶データは、通常の読み出し処理の下では、フラッシュメモリ４に記憶されている記憶データにエラーがあっても、エラー訂正機能によって訂正されるため、読み出されるデータの信頼性は確保されている。そして、これら一連の読み出し処理の繰り返しにより、フラッシュメモリ４からゲームプログラムが読み出され、ユーザがゲームを楽しめるようになっている。
【００４４】
しかし、フラッシュメモリ４に発生したエラーはそのまま残存するため、経時的にエラーの数が蓄積してエラー訂正能力を超えると、もはや訂正はできず、ゲームにトラブルを生じるおそれがある。また、そのエラーを修復するにしても、ゲームの中断や遅延が度々生じると、ユーザに著しい不快感を与えるため、ゲームプログラムの読み出し中に割り込む処理は極力避けるのが好ましい。そのため、記憶データの読み出しにストレスを与えずビットデータの修復を行うことができる、次のような補完機能が設けられている（ステップＳ５〜ステップＳ９）。
【００４５】
すなわち、エラー訂正部８が一時記憶データ中にエラーを発見した場合、そのエラー情報がメモリコントローラ３のレジスタ９に一時記憶される（ステップＳ５）。この処理は、先のステップＳ３の処理と連動しており、エラーが発見されるごとに、そのエラー情報はレジスタ９に一時記憶されて蓄積される。ここで、エラー情報とは、たとえば、エラーが発見されたページ１０のページ番号やアドレスなどであり、エラーのある記憶データの特定ができる情報である。したがって、その情報量は僅かであるため、これを記憶するレジスタ９の記憶容量は小さくてよい。
【００４６】
情報処理装置１の電源が切断されると、レジスタ９に一時記憶されているエラー情報は消去される。そのため、電源切断前の適切な所定のタイミングで、レジスタ９に一時記憶されているエラー情報は、ホストシステム２によって読み出され、不揮発性メモリ６に記憶される（ステップＳ６）。
【００４７】
ここでいう適切な所定のタイミングとは、ゲームプログラムの読み出しに中断や遅延を生じない所定のタイミング、あるいは、多少のゲームの中断や遅延を生じてもユーザに不快感を与えないタイミングである。ゲームプログラムの読み出しに支障がなければ、エラー発見時でもよいが、たとえば、情報処理装置１の電源スイッチをオフにするタイミングなどのゲーム終了後の電源切断前、データのバックアップ時、ゲームプログラムのアイドル（ｉｄｌｅ）時などが好適である。
【００４８】
続いて、適切な所定のタイミングでビットエラーを修復する処理が行われる（ビットエラー修復工程）。ビットエラーの修復処理は、比較的時間を要するうえ、その処理の実行中は記憶データの読み出し処理が行えない。そこで、電源が切断されてもエラー情報が消失しない不揮発性メモリ６にエラー情報を記憶し、先の電源切断前の適切なタイミングだけでなく、電源投入時や、情報処理装置の充電中など、任意のタイミングでビットエラーの修復処理が行えるようにした。
【００４９】
その中でも電源投入の際に実行させるのが好適である。すなわち、電源投入時のゲームの実行前であれば、ゲームプログラムの読み出し処理に優先してビットエラーの修復を行っても、ユーザに不快感を与えることがないからである。また、ゲームの実行前に、フラッシュメモリ４のエラーを修復することで、その後のゲームプログラムの読み出し時のエラー訂正機能を効果的に発揮させることにもなる。
【００５０】
ビットエラーの修復処理は、ホストシステム２が不揮発性メモリ６にエラー情報が記憶されているか否かを調べることから始まる。そして、エラー情報が記憶されていた場合に、ホストシステム２からメモリコントローラ３に、フラッシュメモリ４に存在するビットエラーの修復を指示する修復コマンドが送信される（ステップＳ７）。
【００５１】
ホストシステム２からメモリコントローラ３に修復コマンドが送信されると、不揮発性メモリ６に記憶されているエラー情報に基づいて、フラッシュメモリ４からエラーが存在する記憶データが一時記憶部７に読み出される（ステップＳ８）。一時記憶部７に記憶された一時記憶データは、読み出し処理と連動した形でエラー訂正部８によってエラー訂正が行われ、正しいデータが一時記憶部７に保持される。そして、このエラー訂正された一時記憶データを、再度フラッシュメモリ４に書き戻すのである（ステップＳ９）。エラー情報が複数ある場合は、これら一連の処理が繰り返し実行される。そして、全てのエラー情報についての処理が終了すれば、不揮発性メモリ６に記憶されているエラー情報は消去される（初期化）。
【００５２】
次に、書き戻し処理について具体的に説明する。図３は、フラッシュメモリ４の記憶領域を示す図である。先に説明したとおり、フラッシュメモリ４の記憶領域は、書き込み、読み出し単位であるページ１０と、複数のページ１０で構成された記憶データの消去単位であるブロック１１とを含んで構成されている。すなわち、フラッシュメモリ４では、ブロック単位の一括消去でしか記録データの消去ができず、消去が行われた未使用の領域にしかデータの書き込みができない。同じブロックの他のページを消去せずに、エラーが発生したページだけを書き換えることはできないのである。
【００５３】
ここでは説明上、図３の（ａ）に示すように、Ｐ１〜Ｐ３の複数のページ１０で一つのブロック１１ａが形成されていて、その中のＰ２のページ１０ａにエラーが発見されたものとする。
【００５４】
書き戻し処理の一つとしては、図３の（ｂ）に示すように、エラーが発見されたＰ２のページ１０ａを含むブロック１１ａの記憶データを、一時記憶部７を含む情報処理装置１の他の記憶装置に別途一時記憶したうえで、そのブロック１１ａを一括消去する。そして、図３の（ｃ）に示すように、その消去したブロック１１ａに、エラー訂正を行った新たなＰ１〜Ｐ３のページ１０を含むブロック１１ｂを書き込む。とくに、物理的に元のＰ２のページ１０ａの周辺に配置されていて、エラーがなくとも潜在的にビットエラーを生じる可能性のあるページ１０も同時に書き戻しされてビットデータが回復するため、ビットエラーの予防として効果的である。
【００５５】
図４および図５は、フラッシュメモリ４の未使用領域１３を利用した書き戻し処理を示している。この場合、情報処理装置１には、ＦＡＴ等、フラッシュメモリ４に記憶されている記憶データの格納情報を管理する管理手段を設けておく。
【００５６】
図４は、ブロック単位での処理を示したものであり、エラー訂正を行った新たなＰ１〜Ｐ３のブロック１１ｂを未使用領域１３に記憶するとともに、管理手段によって、ページ１０の読み出し実行順序をこれら新たなページ１０へ組み替えるのである。これによれば、ブロック単位のページ１０を別途一時記憶する必要がない分、処理効率上有利である。元のブロック１１ａは、記憶領域１２であっても消去して再利用できるため、別のデータを記憶してもよいし、未使用領域１３に記憶した新たなＰ１〜Ｐ３のページ１０を再度元のブロック１１ａに書き戻してもよい。
【００５７】
図５は、ページ単位での処理を示している。この場合、ブロック単位で処理しなくてもよいからである。具体的には、一時記憶部７に記憶されてエラー訂正が行われたＰ２のページ１０ａの一時記憶データを、未使用領域１３に新たなＰ２のページ１０ｂとして書き込む。そして、管理手段によって、元のＰ２のページ１０ａから新たなＰ２のページ１０ｂへ、ページの読み出し実行順序を新たに組み替えればよい。
【００５８】
以上のように、通常の使用状態では、エラー訂正機能によって読み出されるデータの信頼性が確保されているため、記憶されているデータにエラーがあっても、そのデータで実現されるゲーム等は適正かつ円滑に動作する。そして、そのエラー訂正機能の補完機能として、回復可能なビットエラーを適宜修復する機構を設けたことで、エラー訂正能力を超えるリスクを少なくすることができ、よりフラッシュメモリ４の信頼性を向上させることができるようになっている。
【００５９】
また、不揮発性メモリ６にエラー情報を記憶することなどによって、適切なタイミングでビットエラーの修復が実行できるようになっているため、その処理によってゲームの中断や遅延を招いてユーザに不快感を与えることがない。
【００６０】
上記の実施の形態では、レジスタ９を介して不揮発性メモリ６にエラー情報を記憶する例を説明したが、レジスタ９は必須ではない。直接不揮発性メモリ６にエラー情報を記憶するようにしてもよい。
【００６１】
不揮発性メモリ６を記憶媒体５側に設け、メモリコントローラ３によってビットエラーの修復処理を実行するようにしてもよい。たとえば、記憶媒体５に実装されているＥＥＰＲＯＭや、バックアップデバイスとして実装されているフラッシュメモリなど、既存の記憶手段が不揮発性メモリ６として有効活用できる。
【００６２】
不揮発性メモリ６として、第１不揮発性半導体メモリ４の未使用領域１３を利用してもよい。すなわち、上記の実施の形態において、不揮発性メモリ６に代えて、レジスタ９に一時記憶されたエラー情報をフラッシュメモリ４の未使用領域１３に記憶するのである。これによれば、別途不揮発性メモリ６を設ける必要がなくなり、コスト面等で有利である。
【００６３】
エラー訂正部８は、必ずしもメモリコントローラ３に備えられている必要はなく、ホストシステム２等、情報処理装置１のいずれかに備えられていればよい。
【００６４】
情報処理装置１がネットワークにアクセスする手段を備えるものであれば、不揮発性メモリ６に代えて、専用サーバ等、ネットワーク上に設けられた記憶手段を利用してもよい。
【図面の簡単な説明】
【００６５】
【図１】情報処理装置の構成を示すブロック図である。
【図２】ビットエラーの修復の処理手順を示す図である。
【図３】第１不揮発性半導体メモリの記憶領域の構成を示す図である。
【図４】第１不揮発性半導体メモリの記憶領域の構成を示す図である。
【図５】第１不揮発性半導体メモリの記憶領域の構成を示す図である。
【図６】リードディスターブを説明するための図である。
【符号の説明】
【００６６】
１  情報処理装置
２  ホストシステム
４  第１不揮発性半導体メモリ
５  記憶媒体
６  第２不揮発性半導体メモリ
７  一時記憶部
８  エラー訂正部
９  記憶手段
【図１】
2008198310.tif 000003
【図２】
2008198310.tif 000004
【図３】
2008198310.tif 000005
【図４】
2008198310.tif 000006
【図５】
2008198310.tif 000007
【図６】
2008198310.tif 000008