データを格納する複数のブロックからなり、前記複数のブロックの各々に対するデータの再書込みが可能な記憶部と、前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う処理部と、を有することを特徴とする情報処理装置。請求項1記載の情報処理装置において、前記処理部は、前記複数のブロックの各々について、該ブロックに格納されているデータの誤り数を定期的に検出し、該検出した誤り数が多いブロックから順に再書込みを行うことを特徴とする情報処理装置。請求項2記載の情報処理装置において、前記処理部は、前記検出した誤り数に応じて前記複数のブロックをグループ分けし、前記検出した誤り数が多いブロックが属するグループから順に、該グループに属するブロックに対する再書込みを行うことを特徴とする情報処理装置。請求項3記載の情報処理装置において、前記ブロックに対する再書込みを行っている場合に再書込みの中断の要求が入力されると、前記ブロックが属するグループに属する全てのブロックに対する再書込みを行った後に、処理を中断することを特徴とする情報処理装置。情報処理装置の制御方法であって、複数のブロックの各々にデータを格納し、前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行うことを特徴とする情報処理装置の制御方法。請求項5記載の情報処理装置の制御方法において、前記複数のブロックの各々について、該ブロックに格納されているデータの誤り数を定期的に検出し、該検出した誤り数が多いブロックから順に再書込みを行うことを特徴とする情報処理装置の制御方法。請求項6記載の情報処理装置の制御方法において、前記検出した誤り数に応じて前記複数のブロックをグループ分けし、前記検出した誤り数が多いブロックが属するグループから順に、該グループに属するブロックに対する再書込みを行うことを特徴とする情報処理装置の制御方法。請求項7記載の情報処理装置の制御方法において、前記ブロックに対する再書込みを行っている場合に再書込みの中断の要求が入力されると、前記ブロックが属するグループに属する全てのブロックに対する再書込みを行った後に、処理を中断することを特徴とする情報処理装置の制御方法。情報処理装置に、複数のブロックの各々にデータを格納する処理と、前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う処理と、を実行させるプログラム。NANDフラッシュメモリにおいては、上述したリードディスターブ現象に起因する誤りのほかに、経年変化に起因する誤りも生じる。特許文献1に開示の情報処理装置においては、プログラムデータの読み出しを契機として誤り訂正が行われる。そのため、頻繁に読み出しが行われるプログラムデータについては、頻繁に誤り訂正も行われるのに対し、頻繁に読み出しが行われないプログラムデータについては、誤り訂正も長期間にわたって行われないことがある。長期間にわたって誤り訂正が行われないと、経年変化に起因して生じる誤りが蓄積し、ECCデータを用いて誤り訂正を行うことができるビット数の上限を超えてしまい、誤り訂正を行うことができなくなるおそれがある。本発明の目的は、経年変化に起因して生じる誤りの誤り訂正を行うことができる情報処理装置、情報処理装置の制御方法、および、プログラムを提供することになる。上記目的を達成するために本発明の情報処理装置は、データを格納する複数のブロックからなり、前記複数のブロックの各々に対するデータの再書込みが可能な記憶部と、前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う処理部と、を有する。上記目的を達成するために本発明の情報処理装置の制御方法は、情報処理装置の制御方法であって、複数のブロックの各々にデータを格納し、前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う。上記目的を達成するために本発明のプログラムは、情報処理装置に、複数のブロックの各々にデータを格納する処理と、前記複数のブロックの各々について、該ブロックに格納されているデータの誤り検出を定期的に行い、誤りを検出すると、該検出した誤りの誤り訂正を行い、誤り訂正後のデータの前記ブロックに対する再書込みを行う処理と、を実行させる。本発明によれば、経年変化に起因して生じる誤りの誤り訂正を行うことができる。以下に、本発明を実施するための形態について図面を参照して説明する。第1の実施形態図1は、本発明の第1の実施形態の情報処理装置100の構成を示すブロック図である。なお、図1においては、情報処理装置100が携帯電話である場合を例として説明するが、本発明はこれに限られるものではなく、情報処理装置100としては、スマートフォン、PDAPersonalDigitalAssistants、ポータブル音楽プレーヤー、電子手帳、パーソナルコンピュータ、トランシーバ、携帯型ゲーム機など種々のものがある。図1に示す情報処理装置100は、アンテナ101と、送受信部102と、スピーカ103と、マイク104と、表示部105と、操作部106と、制御部107と、電源部108と、を有する。送受信部102は、制御部107の制御に従い、アンテナ101を介して電波を送受信する。スピーカ103は、制御部107の制御に従い、音を出力する。マイク104は、制御部107の制御に従い、周辺の音を集音し、音データを制御部107に出力する。表示部105は、制御部107の制御に従い、種々の映像を表示する。操作部106は、ユーザーの操作入力に応じた信号を制御部107に出力する。なお、操作部106の具体例としては、タッチパネルなどがある。制御部107は、操作部106から出力される信号に応じて種々のプログラムを実行し、送受信部102、スピーカ103、マイク104、表示部105などを制御する。電源部108は、上述した各部に電力を供給する。次に、制御部107の内部構成について説明する。図2は、制御部107の構成を示すブロック図である。図2に示す制御部107は、NANDフラッシュメモリ201と、CPU202と、RAM203と、を有する。CPU202は、処理部の一例である。NANDフラッシュメモリ201は、図9に示すように、プログラムデータを格納する領域Pとそのプログラムデータの誤り訂正を行うためのECCデータを格納するための領域Eとからなるページをm個まとめたブロックを複数有する。なお、ECCデータは、プログラムデータの書き込み時に計算され、そのプログラムデータと同じページの領域Eに書き込まれる。一般に、1つのページの容量は、領域Pおよび領域Eを合わせて2112バイトである。ECCデータを用いて誤り訂正を行う方式には、一例として、プログラムデータ512バイトに対して16ビットのECCデータを付加して1ビットの誤り訂正を行う方式や、4ビットの誤り訂正を行う方式などがある。また、プログラムデータの書込みはページ単位で行われ、格納されているプログラムデータの消去はブロック単位で行われ、各ブロックに対してはプログラムデータの再書込みが可能である。また、NANDフラッシュメモリ201は、複数のブロックの各々について、そのブロックのブロック番号とそのブロックに格納されているプログラムデータの誤りビット数とを対応つけた管理テーブルを格納する。CPU202は、NANDフラッシュメモリ201に格納されているプログラムデータを読み出し、RAM203に転送してプログラムを実行する。また、CPU202は、定期的に、NANDフラッシュメモリ201を構成する複数のブロックの各々について、そのブロックに含まれるページ毎に、そのページに格納されているプログラムデータのチェックサムを計算して誤り検出を行い、誤りを検出すると、そのプログラムデータと同じページに格納されているECCデータを用いて誤り訂正を行い、誤り訂正後のデータの再書込みを行う。RAM203は、CPUP202から転送されたプログラムデータを一時的に格納する。次に、本実施形態の制御部107の動作について説明する。図3は、制御部107のチェックサムの計算時の動作を示すフローチャートである。なお、以下では、ECCデータを用いたプログラムデータの誤り訂正能力は4ビットであるとする。CPU202は、定期的に、NANDフラッシュメモリ201を構成する複数のブロックの各々について、そのブロックに含まれるページ毎に、そのページに格納されているプログラムデータのチェックサムを計算しステップS101、計算結果に応じて、そのプログラムデータの誤りビット数を検出し、検出した誤りビット数をRAM203に一時的に格納させる。全てのブロックについて、各ブロックに含まれる全てのページに格納されているプログラムデータの誤りビット数の検出が終了すると、CPU202は、各ブロックにおけるプログラムデータの誤りビット数の合計を、そのブロックのブロック番号に対応させて管理テーブルに格納するステップS102。図4は、管理テーブル401の構成の一例を示す図である。図4に示すように、NANDフラッシュメモリ201は、各ブロックのブロック番号と、そのブロックに格納されているプログラムデータの誤りビット数とを対応させた管理テーブル401を格納する。なお、上述したように、CPU202は、定期的に、各ブロックに格納されているプログラムデータのチェックサムの計算を行い、誤りビット数の検出を行う。管理テーブル401においては、直近の誤りビット数の検出の結果最新に加えて、過去4回分の誤りビット数の検出の結果1~4が格納される。図4においては、例えば、ブロック番号M=0のブロックは、最新の最後のチェックサムの計算を行った際の誤りビット数が0であり、また、1回前から4回前のチャックサムの計算を行った際の誤りビット数も0であることを示す。また、例えば、ブロック番号M=100のブロックは、最新の最後のチェックサムの計算を行った際の誤りビット数が3であり、また、1回前から4回前のチェックサムの計算を行った際の誤りビット数が2であることを示す。再び、図3を参照すると、CPU202は、ブロック番号M=0としステップS103、図4に示す管理テーブル401において、ブロック番号Mに対応して格納されている誤りビット数が5回連続して4ビット以上であるか否かを判定するステップS104。なお、上記の判定基準は一例であり、例えば、最新の誤りビット数が4ビット以上であるか否かなどを判定基準としてもよい。また、本実施形態においては、誤りビット数が5回連続して4ビット以上であるか否かを判定基準としているため、管理テーブルにおいては過去4回分の誤りビット数を格納することとしているが、判定基準に応じて管理テーブルが何回分の誤りビット数を格納するか変えてもよい。ブロック番号Mに対応して格納されている誤りビット数が5回連続して4ビット以上である場合にはステップS104:Yes、CPU202は、ブロック番号Mをグループ1に設定するステップS105。ブロック番号Mに対応して格納されている誤りビット数が5回連続して4ビット以上でない場合にはステップS104:No、CPU202は、ブロック番号Mに対応して格納されている最新の誤りビット数が3ビット以上であるか否かを判定するステップS106。ブロック番号Mに対応して格納されている最新の誤りビット数が3ビット以上である場合にはステップS106:Yes、CPU202は、ブロック番号Mをグループ2に設定するステップS107。ブロック番号Mに対応して格納されている最新の誤りビット数が3ビット以上でない場合にはステップS106:No、CPU202は、ブロック番号Mに対応して格納されている最新の誤りビット数が2ビット以上であるか否かを判定するステップS108。ブロック番号Mに対応して格納されている最新の誤りビット数が2ビット以上である場合にはステップS108:Yes、CPU202は、ブロック番号Mをグループ3に設定するステップS109。ブロック番号Mに対応して格納されている最新の誤りビット数が2ビット以上でない場合にはステップS108:No、CPU202は、ブロック番号Mに対応して格納されている最新の誤りビット数が1ビット以上であるか否かを判定するステップS110。ブロック番号Mに対応して格納されている最新の誤りビット数が1ビット以上である場合にはステップS110:Yes、CPU202は、ブロックMをグループ4に設定するステップS111。ブロック番号Mに対応して格納されている最新の誤りビット数が1ビット以上でない場合にはステップS110:No、CPU202は、ブロック番号Mのグループ分けを行わず、グループ番号M=M1としステップS112、グループ番号Mが最終のブロック番号よりも大きいか否かを判定するステップS113。グループ番号Mが最終のブロック番号よりも大きくない場合にはステップS113:No、CPU202は、ステップS104の処理に戻る。グループ番号Mが最終のブロック番号よりも大きい場合にはステップS113:Yes、CPU202は、ブロック毎に設定したグループを各ブロックに対応させて管理テーブル401に格納する。なお、上述したように、本実施形態においては、ECCデータを用いたプログラムデータの誤り訂正能力は4ビットであるとする。したがって、プログラムデータの誤りビット数が5ビット以上になると誤り訂正を行うことができなくなるおそれがある。そこで、CPU202は、各ブロックの誤りビット数を常に監視しており、誤りビット数が5回連続して4ビット以上であるブロックを検出した時点で、図3に示す各ブロックのグループ分けを行う。図5は、グループ分け後の管理テーブル401の状態を示す図である。図5に示すように、NANDフラッシュメモリ201は、各ブロックのブロック番号と、そのブロック番号に対して設定したグループを示す情報とを対応させて格納する。ここで、例えば、ブロック1およびブロック3は、最新のビット誤り数が1であるので、図3に示すフローに従い、グループ4に分類される。また、ブロック100は、最新のビット誤り数が2であるので、図3に示すフローに従い、グループ3に分類される。また、ブロック101は、誤りビット数が5回連続して4ビット以上であるので、図3に示すフローに従い、グループ1に分類される。また、ブロック102は、最新のビット誤り数が2であるので、図3に示すフローに従い、グループ3に分類される。また、ブロック0およびブロック2は、最新の誤りビット数が0であるので、いずれのグループにも分類されない。図6は、制御部107の再書込み時の動作を示すフローチャートである。図3に示すステップS114の処理の終了後、CPU202は、管理テーブル401に格納されている、ブロック番号とそのブロック番号に対して設定されたグループを示す情報とを読み出すステップS201。次に、CPU202は、設定されたグループを示す情報に応じてブロック番号を並べなおすステップS202。その結果、CPU202は、例えば、グループ1=ブロック番号101、グループ2=ブロック番号100、グループ3=ブロック番号102、グループ4=ブロック番号1、ブロック番号3というように、グループ毎に、そのグループに属するブロック番号を管理する。次に、CPU202は、グループ1にブロック番号が属するブロックについて、誤りが検出されたプログラムデータの誤り訂正を行い、そのブロックに対する再書込みを行うステップS203。ここで、上述したように、グループ1に属するブロックにおいては、4ビットのビット誤りが検出されているため、さらに誤りが発生すると、ECCデータを用いた誤り訂正能力を超え、誤り訂正ができなくなる。そこで、グループ1にブロック番号が属するブロックから優先的に再書込みを行うことで、ECCデータを用いた誤り訂正能力を超え、誤り訂正ができなくなるおそれを低減することができる。1つのブロックに対する再書込みが終了すると、CPU202は、グループ1にブロック番号が属する全てのブロックに対する再書込みが終了したか否かを判定するステップS204。グループ1にブロック番号が属する全てのブロックに対する再書込みが終了していない場合にはステップS204:No、ステップS203の処理に戻り、再書込みが終了していないブロックに対する再書込みを行う。グループ1にブロック番号が属する全てのブロックに対する再書込みが終了した場合にはステップS204:Yes、CPU202は、グループ1に属する全てのブロック番号に対応して格納されているブロック情報をクリアするステップS205。なお、ブロック番号に対応して格納されているブロック情報をクリアするとは、そのブロック番号に対応して格納されている最新の誤りビット数を0にすることを示す。再書込みが終了したブロックのブロック番号に対応するブロック情報をクリアすることで、例えば、後述する再書込みの中断後に、再書込みを再開する場合に、管理テーブル401を参照し、再書込みを行っていないブロックを特定することができる。次に、CPU202は、再書込みの中断の要求があり、再書込みを中断する必要があるか否かを判定するステップS206。なお、再書込みの中断の要求としては、例えば、操作部106を介して、優先順位の高い所定のプログラムの実行の要求などがある。再書込みを中断する必要がある場合にはステップS206:Yes、CPU202は、処理を終了する。再書込みを中断する必要がない場合にはステップS206:No、CPU202は、グループ2にブロック番号が属するブロックについて、誤りが検出されたプログラムデータの誤り訂正を行い、そのブロックに対する再書込みを行うステップS207。ここで、上述したように、グループ2にブロック番号が属するブロックは、グループ3およびグループ4にブロック番号が属するブロックよりも誤りビット数が多いため、グループ3およびグループ4にブロック番号が属するブロックよりも優先的に再書込みを行う必要がある。1つのブロックに対する再書込みが終了すると、CPU202は、グループ2にブロック番号が属する全てのブロックに対する再書込みが終了したか否かを判定するステップS208。グループ2にブロック番号が属する全てのブロックに対する再書込みが終了していない場合にはステップS208:No、ステップS207の処理に戻り、再書込みが終了していないブロックに対する再書込みを行う。グループ2にブロック番号が属する全てのブロックに対する再書込みが終了した場合にはステップS208:Yes、CPU202は、グループ2に属する全てのブロック番号に対応して格納されているブロック情報をクリアするステップS209。次に、CPU202は、再書込みを中断する必要があるか否かを判定するステップS210。再書込みを中断する必要がある場合にはステップS210:Yes、CPU202は、処理を終了する。再書込みを中断する必要がない場合にはステップS210:No、CPU202は、グループ3にブロック番号が属するブロックについて、誤りが検出されたプログラムデータの誤り訂正を行い、そのブロックに対する再書込みを行うステップS211。ここで、上述したように、グループ3にブロック番号が属するブロックは、グループ4にグループ番号が属するブロックよりも誤りビット数が多いため、グループ4にブロック番号が属するブロックよりも優先的に再書込みを行う必要がある。1つのブロックに対する再書込みが終了すると、CPU202は、グループ3にブロック番号が属する全てのブロックに対する再書込みが終了したか否かを判定するステップS212。グループ3にブロック番号が属する全てのブロックに対する再書込みが終了していない場合にはステップS212:No、ステップS211の処理に戻り、再書込みが終了していないブロックに対する再書込みを行う。グループ3にブロック番号が属する全てのブロックに対する再書込みが終了した場合にはステップS212:Yes、CPU202は、グループ3に属する全てのブロック番号に対応して格納されているブロック情報をクリアするステップS213。次に、CPU202は、再書込みを中断する必要があるか否かを判定するステップS214。再書込みを中断する必要がある場合にはステップS214:Yes、CPU202は、処理を終了する。再書込みを中断する必要がない場合にはステップS214:No、CPU202は、グループ4にブロック番号が属するブロックについて、誤りが検出されたプログラムデータの誤り訂正を行い、そのブロックに対する再書込みを行うステップS215。ここで、上述したように、グループ4にブロック番号が属するブロックは、グループ1からグループ3にブロック番号が属するブロックよりも誤りビット数が少なく、再書込みを行う必要性は低いため、グループ1からグループ4にブロック番号が属するブロックの中で最後に再書込みが行われる。1つのブロックに対する再書込みが終了すると、CPU202は、グループ4にブロック番号が属する全てのブロックに対する再書込みが終了したか否かを判定するステップS216。グループ4にブロック番号が属する全てのブロックに対する再書込みが終了していない場合にはステップS216:No、ステップS215の処理に戻り、再書込みが終了していないブロックに対する再書込みを行う。グループ4にブロック番号が属する全てのブロックに対する再書込みが終了した場合にはステップS216:Yes、CPU202は、グループ4に属する全てのブロック番号に対応して格納されているブロック情報をクリアしてステップS217、処理を終了する。図7は、グループ4に属するブロック番号が属する全てのブロックに対する再書込みが終了した後に、チェックサムの計算が行われた際の管理テーブル401の状態を示す図である。図7に示すように、誤りが検出されたブロックに対する再書込みが行われることで、各ブロックに格納されているプログラムデータに誤りが検出されなくなる。このように本実施形態の情報処理装置100によれば、NANDフラッシュメモリ201を構成する複数のブロックの各々について、ブロックに格納されているプログラムデータの誤り検出を定期的に行い、誤りを検出すると誤り訂正を行い、誤り訂正後のプログラムデータをそのブロックに対して再書込みする。NANDフラッシュメモリ201を構成する複数のブロックの各々について、定期的に格納されているデータの誤り検出および誤り訂正を行うため、経年変化に起因して生じる誤りも検出し、訂正することができる。また、本実施形態の情報処理装置100によれば、複数のブロックの各々について誤りビット数を検出し、検出した誤りビット数が多いブロックから順に再書込みを行うため、再書込みを中断しても、ECCデータを用いて誤りを訂正することができるビット数を超えて、プログラムデータに誤りが生じてしまう可能性を低減することができる。第2の実施形態図8は、本発明の第2の実施形態の情報処理装置800の構成を示すブロック図である。なお、本発明は、情報処理装置に格納されているデータの誤り訂正を如何に適切に行うかに関するものであるため、本発明に直接関係しない構成については記載を省略する。図8に示す情報処理装置800は、記憶部801と、処理部802と、を有する。記憶部801は、データを格納するとともに、データの再書込みが可能なメモリである。なお、記憶部801の具体例としては、NANDフラッシュメモリがある。また、記憶部801は、図9に示すNANDフラッシュメモリの一般的なデータ構成と同様に、データを格納する所定の容量の複数のブロックからなる。処理部802は、記憶部801を構成する複数のブロックの各々について、そのブロックに格納されているデータの誤り検出を定期的に行い、検出した誤りの誤り訂正を行い、誤り訂正後のデータのそのブロックに対する再書込みを行う。このように本実施形態によれば、情報処理装置800は、記憶部801を構成する複数のブロックの各々について、ブロックに格納されているデータの誤り検出を定期的に行い、検出した誤りの誤り訂正を行い、誤り訂正後のデータのそのブロックに対する再書込みを行う。複数のブロックの各々について、定期的に格納されているデータの誤り検出を行うため、経年変化に起因する誤りについても、その誤りを検出し、訂正することができる。なお、本発明の情報処理装置において行われる方法は、コンピュータに実行させるためのプログラムに適用してもよい。また、そのプログラムを記憶媒体に格納することも可能であり、ネットワークを介して外部に提供することも可能である。