"複数のカラムを一単位とするブロック単位にデータを記憶可能な物理的な記憶領域を有するフラッシュメモリと、プログラムデータを複数のブロックに分けて前記物理的な記憶領域に書き込み、各ブロックに付与した第1のエラー訂正符号を前記物理的な記憶領域に書き込み、前記プログラムデータに付与した第2のエラー訂正符号を前記フラッシュメモリに書き込む書き込み装置とを具備することを特徴とする情報処理装置。前記フラッシュメモリの物理的な記憶領域から読み出したデータのうち、複数のブロックに分けられたプログラムデータに対して付与された第2エラー訂正符号に基づいてエラー訂正を行うことで前記プログラムデータのエラー箇所を修復する第2エラー訂正部を具備することを特徴とする請求項1記載の情報処理装置。前記第2エラー訂正部は、前記プログラムデータに対してエラーチェックとエラー箇所のエラー訂正を行うことを特徴とする請求項1記載の情報処理装置。前記プログラムデータは、起動プログラムを含むことを特徴とする請求項1記載の情報処理装置。前記第2エラー訂正部により前記エラー箇所が修復されたデータを、前記フラッシュメモリに書き戻した後、前記データを前記フラッシュメモリからダイナミックランダムアクセスメモリに読み出し前記プログラムを実行するプログラム実行部を具備することを特徴とする請求項3記載の情報処理装置。前記フラッシュメモリの物理的な記憶領域からデータを読み出し、前記記憶領域にブロック単位に付与された第1エラー訂正符号に基づいて、当該ブロックのエラー訂正を行うことで前記データのエラー箇所を修復する第1エラー訂正部と、前記フラッシュメモリから読み出したデータのうち、複数のブロックに分けられたプログラムデータに対して付与された第2エラー訂正符号に基づいてエラー訂正を行うことで前記プログラムデータのエラー箇所を修復する第2エラー訂正部とを備え、前記第2エラー訂正部は、前記第1エラー訂正部によりエラー箇所の修復ができなかった場合に、前記第2エラー訂正符号に基づいてエラー訂正を行うことで前記プログラムデータのエラー箇所を修復することを特徴とする請求項1記載の情報処理装置。前記第2エラー訂正符号は、前記フラッシュメモリへ書き込むべき対象のデータのうち、前記フラッシュメモリの物理的な記憶領域の各ブロックの所定のカラムに記憶すべき1バイトのデータをそれぞれ抽出し、抽出したブロックの数分のデータから生成され、前記対象のデータに付与されたものであることを特徴とする請求項1記載の情報処理装置。前記フラッシュメモリの物理的な記憶領域からデータを読み出し、前記記憶領域にブロック単位に付与された第1エラー訂正符号に基づいて、当該ブロックのエラー訂正を行うことで前記データのエラー箇所を修復する第1エラー訂正部を具備することを特徴とする請求項1記載の情報処理装置。前記書き込み装置は、前記プログラムデータの他に、ユーザ設定データ、電子番組表のデータおよび画質調整用のデータのうち少なくとも一つを前記ラッシュメモリに書き込むことを特徴とする請求項1記載の情報処理装置。複数のカラムを一単位とするブロック単位にデータを記憶可能な物理的な記憶領域を有するフラッシュメモリに対してデータを書き込む情報処理方法において、プログラムデータを複数のブロックに分けて前記物理的な記憶領域に書き込み、各ブロックに付与した第1のエラー訂正符号を前記物理的な記憶領域に書き込み、前記プログラムデータに付与した第2のエラー訂正符号を前記フラッシュメモリに書き込むことを特徴とする情報処理方法。しかしながら、上述した従来の技術の場合、ブートプログラムが書き込まれている複数のブロックをECCに基づき判定した結果、不良ブロックであった場合、正しいデータをCPUに送れず、システムを起動できないという問題が解決せず、必ずしもよい方法とは言えない。本発明はこのような課題を解決するためになされたもので、動作に重要なプログラムが書き込まれているフラッシュROM上の物理的な記憶領域のデータが不良になっている場合にもプログラムを読み出して実行できる情報処理装置および情報処理方法を提供することを目的とする。本発明の情報処理装置は、複数のカラムを一単位とするブロック単位にデータを記憶可能な物理的な記憶領域を有するフラッシュメモリと、プログラムデータを複数のブロックに分けて前記物理的な記憶領域に書き込み、各ブロックに付与した第1のエラー訂正符号を前記物理的な記憶領域に書き込み、前記プログラムデータに付与した第2のエラー訂正符号を前記フラッシュメモリに書き込む書き込み装置とを具備することを特徴とする。本発明の情報処理方法は、複数のカラムを一単位とするブロック単位にデータを記憶可能な物理的な記憶領域を有するフラッシュメモリに対してデータを書き込む情報処理方法において、プログラムデータを複数のブロックに分けて前記物理的な記憶領域に書き込み、各ブロックに付与した第1のエラー訂正符号を前記物理的な記憶領域に書き込み、前記プログラムデータに付与した第2のエラー訂正符号を前記フラッシュメモリに書き込むことを特徴とする。本発明によれば、動作に重要なプログラムが書き込まれているフラッシュROM上の物理的な記憶領域のデータが不良になっている場合にもプログラムを読み出して実行できる。以下、図面を参照して、本発明の情報処理装置に係る一つの実施の形態のテレビジョン受信装置以下TV装置と称すを詳細に説明する。図1はTV装置の本体1以下TV本体1と称すの構成を示す図である。図1に示すように、この実施形態のTV装置は、TV本体1に、パワーユニット10、マスクROM11、フラッシュROM12、ダイナミックランダムアクセスメモリ13以下DRAM13と称す、キー操作部14、映像表示用のディスプレイ等の表示部15と、赤外線受信ユニット16、チューナー17、ビデオ処理部18、オーディオ処理部19、MPU20マイクロプロセッシングユニットなどを有している。キー操作部14には、例えば電源キー、音量アップダウンキー、チャネル操作キー、方向キー、メニューキーなどが備えられている。パワーユニット10は、キー操作部14の電源キーなどがオンされると、商用電源から供給された100Vの交流電圧をAC/DC変換または減圧などを行い、TV本体1内の各部に電力を供給する。マスクROM11には、データの書き換えが不可能であり、電源投入と共にMPU20により読み出される起動プログラムおよび初期設定データなど書き換える事のない各種データが記憶されている。フラッシュROM12は、データの書き換えが可能な不揮発性メモリであり、一旦記憶されたデータは非通電時でも消去されないものの、近年のような微細化されたものはデータの保持性能に不安定要因が残る。このフラッシュROM12には、起動時に、MPU20により読みだされるプログラムが少し大きな単位で一旦格納される。少し大きな単位とは、フラッシュROM12の記憶領域に一回に書き込める量約16KByteをいう。すなわち、フラッシュROM12は、複数のカラムを一単位とするブロック単位にデータを記憶可能な物理的な記憶領域を有する。DRAM13は、データ保持用の電力が供給されている間、データを保持する高速なメモリである。DRAM13には、MPU20により、フラッシュROM12から読み出された実行単位のプログラムデータ起動プログラムおよび初期設定データなどが書き込まれて、処理が実行される。赤外線受信ユニット16は、リモートコントローラ2以下リモコン2と称すまたはTV本体1装置本体に設けられたキー操作部14からの電源キーオンによる起動信号を受け付ける。チューナー17は、アンテナから入力されたテレビジョン放送を受信し、受信した番組の映像をビデオ処理部18へ出力すると共に、音声をオーディオ処理部19へ出力する。チューナー17は、デジタルチューナーまたはアナログチューナーの少なくとも一方を備える。また、デジタルチューナーまたはアナログチューナーは、それぞれ複数実装されていてもよい。ビデオ処理部18は、チューナー17から入力される映像のデジタルデータまたはアナログ信号を表示部15に表示するための映像として再生する。オーディオ処理部19は、チューナー17から入力される音声のデジタルデータまたはアナログ信号をスピーカ図示せずから出力するための音声として再生する。MPU20は、フラッシュROM12から読み出した起動プログラムおよび初期設定データをDRAM13に展開し、フラッシュROM12の記憶領域の物理的な記憶位置から読み取ったチェックサムを用いて、データをブロック毎にエラーチェックし、データが正しい場合に起動処理を実行する。上記エラーチェックの結果、ブロック毎のデータの一部または全部が正しくない場合、MPU20は、フラッシュROM12の物理的な記憶位置から読み取ったエラー訂正符号メモリ上の物理的な位置のECCであり第1ECCというによるデータのエラー訂正第1のエラー訂正を行い、エラー箇所を修復する。なおエラーチェックとエラー修正を合わせてエラー修正処理という。またMPU20は、第1のエラー訂正でエラー箇所を修復できなかった場合、フラッシュROM12から読み取ったプログラムデータに含まれるECCソフトウエア上のECCであり第2ECCというを用いてプログラムデータ自体を修正修復、つまり第2のエラー訂正を行い、フラッシュROM12の該当エラー箇所のデータを上書き正しいデータを書き戻した後、フラッシュROM13のプログラムデータを再度読み出してプログラムを実行、つまり起動処理を実行する。すなわち、MPU20は、フラッシュROM12の物理的な記憶領域からデータを読み出し、読み出したデータのエラー箇所を、記憶領域の物理的な記憶位置から読み取った第1ECCに基づいて第1のエラー訂正を行うことで修復する第1エラー訂正部として機能する。またMPU20は、第1のエラー訂正の結果、エラー箇所が修復できなかった場合、フラッシュROM12から読み出したデータに付与された含まれる第2ECCに基づいて第2のエラー訂正を行うことでエラー箇所を修復する第2エラー訂正部として機能する。さらにMPU20は、エラー箇所が修復されたデータを、フラッシュROM12に書き戻した後、データをフラッシュROM12からDRAM13に読み出しプログラムを実行するプログラム実行部として機能する。以下、この実施形態のTV本体1の動作を説明する。まず図2を参照してフラッシュROM12に書き込むべきデータについて説明する。フラッシュROM12に書き込まれるデータは、図2に示すように、ヘッダ16KByteと、起動プログラム16KByte×mと、ECC16KByte×m/5123と、その他のデータユーザ設定データ、EPG電子番組表のデータ、画質調整データ等から構成されている。起動プログラムのデータをさらに詳細にすると、ヘッダ、プログラムデータ1、プログラムデータ2、...プログラムデータn、ECC、ECCのチェックサム等に区分されている。ヘッダはプログラムのヘッダである。ECCは後述する図3の説明のようにして生成した第2ECCである。ヘッダはさらに識別子1、オフセット1、サイズ1、チェックサム1、識別子2、オフセット2、サイズ2、チェックサム2、...、識別子N、オフセットN、サイズN、チェックサムNおよびヘッダのチェックサムなどに細分される。オフセットはデータの先頭からのオフセットを示す。フラッシュROM12の物理的な記憶領域は、図3に示すように、通常、一定量毎に区切られたブロックが複数例えば512ブロック設けられている。これはデバイスのハードウエアとしての特徴である。ブロック内の1区画をカラムという。すなわち、このフラッシュROM12は、一方向1列に並べた複数のカラムを一単位とするブロックを、その方向と直交する方向に所定数512個並べて配置した記憶領域第2ECCの訂正対象の領域と、ブロック毎に計算したECCが記憶される記憶領域第1ECC記憶領域とを有するものである。なおフラッシュROM12に一回に書き込むデータをデータセットということにする。この例の場合、第1ECC記憶領域は16Byteである。このTV装置では、MPU20が、書き込み対象のデータセットをフラッシュROM12へ書き込む際に、フラッシュROM12の記憶領域の各ブロックに入れるデータのうち、所定のカラムの1Byte、例えば先頭のカラムの1Byteをそれぞれ抜き出し、ブロックの数分、つまり512Byteをエラー訂正符号計算対象データとし、エラー訂正符号計算を行うことで、3Byteのエラー訂正符号を生成し、データセットに付与する。そして、3Byteのエラー訂正符号を含むデータセットがフラッシュROM12へ書き込まれる。以下、図4のフローチャートを参照してこのTV装置の起動処理動作情報処理方法を説明する。このTV装置では、家庭の壁コンセントなどの商用電源に、ACコードなどを介してTV本体1が接続された状態で、TV本体1のキー操作部14の電源キーまたはリモコン2の電源スイッチがオン操作されると、パワーユニット10から動作用の電力がTV本体1内の各部に供給される。すると、MPU20は、起動対象のプログラムをマスクROM11上で実行し、第1ECC記憶領域の第1ECCを用いてエラー訂正処理第1ECC訂正を実行する図4のステップS101。この場合、MPU20は、始めにフラッシュROMからプログラムのヘッダをDRAM13上に展開し、ヘッダのデータに対するECC訂正処理を実行しステップS102、ヘッダのデータを訂正する。続いて、ヘッダのチェックサムの正誤を検証、つまりチェックサムが正しいか否かを判定し、ヘッダのチェックサムのエラー訂正を行うステップS103。エラー訂正後、MPU20は、カウンタの値Yを0に設定しステップS104、そのカウンタの値Yをインクリメント1しステップS105、第1番目のプログラムデータをフラッシュROMから読み出してDRAM13上に展開し、エラーチェックとECC訂正を行いステップS106、エラーが修復された場合ステップS107のYesはそのプログラムを実行するステップS110。第1ECC訂正で、プログラムのデータを訂正した結果、エラーが修復できない場合ステップS107のNo、MPU20は、展開したプログラムデータが起動プログラムか否かをチェックするステップS108。このチェックにはヘッダから得られる情報を利用するものとする。このチェックの結果、プログラムデータが起動プログラムである場合ステップS108のYes、MPU20は、プログラムデータに付与されている第2ECCを抽出して、第2ECCによるプログラムデータのエラー訂正処理第2ECC訂正を行うステップS109。この処理では、MPU20は、まず、プログラムデータのチェックサムの正誤を検証、つまりチェックサムが正しいか否かを判定し、プログラムデータのチェックサムが正しくない場合、MPU20は、プログラムデータに対するECC訂正を行い、プログラムデータを訂正する。そして、MPU20は、第2ECC訂正により修復されたプログラムを実行するステップS110。なお、上記判定ステップS108におけるチェックの結果、プログラムデータが起動プログラムでなければステップS108のNo、MPU20は、データの正誤に関わらずエラー訂正などを行わず、そのプログラムを実行するステップS110。そして、読込対象のプログラム数Xに達するまで上記処理ステップS105~S111のNoを繰り返し、プログラム数、つまりカウンタの値Yが、読込対象のプログラム数Xに達した場合ステップS111のYes、起動処理を終了する。次に、図5のフローチャートを参照して上記エラー訂正処理ステップS109の詳細について説明する。エラー訂正を行う場合、MPU20は、まずカラムの位置カウンタのカウント数カラム数mを0にセットするステップS201。続いて、MPU20は、ブロックの位置カウンタのカウント数ブロック数nを0にセットするステップS202。このようにして各位置カウンタのカウント数を初期化する。次に、MPU20は、第nブロック、第mカラムの位置にデータが存在するか否かを確認するステップS203。ここで、確認元となる情報は、ヘッダのプログラム長情報から入手し、入手したヘッダのプログラム長情報から、ブロック,カラムの位置にデータが存在するか否かを確認する。その位置にデータが存在する場合ステップS203のYes、MPU20は、データ[ブロック]=フラッシュ[ブロック][カラム]としステップS204、ブロック数nをインクリメントするステップS206。なお、ブロック=n、カラム=m、のフラッシュROM12内部のデータをフラッシュ[n][m]と表す。また、その位置にデータが存在しない場合ステップS203のNo、MPU20は、データ[ブロック]=0としステップS205、ブロック数nをインクリメントするステップS206。なお、ブロック=n、カラム=m、のフラッシュROM12内部のデータをフラッシュ[n][m]と表す。ブロック数nが既定ブロック数Nよりも小さいうちはステップS207のYes、上記ステップS203~S206までの動作を繰り返す。そして、ブロック数nが既定ブロック数Nと同じになるとステップS207のNo、次に、MPU20は、ECC[カラム]を用いてデータ訂正を行うステップS208。なお、ECC[カラム]は、カラムのデータチェック用のECC符号データを表すものとする。データ訂正後、カラム数mをインクリメントしステップS209、インクリメントされたカラム数mがブロックサイズMよりも小さいうちはステップS210のYes、上記ステップS202~S209までの動作を繰り返す。そして、カラム数mがブロックサイズMと同じになるとステップS210のYes、次に、MPU20は、エラー訂正したデータをフラッシュROM12へ書き戻すステップS211。以上のようにこの実施形態のTV装置によれば、TV本体1の電源を入れて、MPU20がフラッシュROM12から起動プログラムをDRAM13へ読み込み実行する際に、データのヘッダ部分について通常のエラーチェック第1のECC訂正を行ったときに、フラッシュROM12のプログラムが書き込まれているブロックにエラー箇所が検出された場合に、フラッシュROM12から読み出したプログラムデータに含まれる第2ECCによるエラー訂正により不良ブロックを正しいデータに修復し、修復した正しいデータを該当エラー箇所に書き込み、再度読み出すので、起動プログラムを正しく読み出して実行し、TV本体1のシステム各部を正常に起動することができる。すなわち、プログラムが書き込まれているブロックが不良ブロックであった場合にも起動動作を正常に行えるようになる。換言すると、動作に重要なプログラムが書き込まれているフラッシュROM12上の物理的な記憶領域のデータが、例えばブロック単位で不良になっている場合に、元の各ブロックから1Byteずつ抜き出して生成しデータに付与した第2ECCから、データのエラーを修復しプログラムを起動することができる。なお、本願発明は、上記実施形態のみに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形してもよい。上記実施形態で説明した各構成要素を、コンピュータのハードディスク装置などのストレージにインストールしたプログラムで実現してもよく、また上記プログラムを、コンピュータ読取可能な電子媒体:electronicmediaに記憶しておき、プログラムを電子媒体からコンピュータに読み取らせることで本発明の機能をコンピュータが実現するようにしてもよい。電子媒体としては、例えばCD-ROM等の記録媒体やフラッシュメモリ、リムーバブルメディアRemovablemedia等が含まれる。さらに、ネットワークを介して接続した異なるコンピュータに構成要素を分散して記憶し、各構成要素を機能させたコンピュータ間で通信することで実現してもよい。"