(57)【要約】シリアルフラッシュメモリに対して、信頼性の高い書き込みや読み出しを行うとともに、電源投入時のブート処理によりＣＰＵの実行時間を短縮することができる情報処理装置およびメモリ管理方法を提供することを目的とする。情報処理装置（１００）を、ファイルを保持するメモリ管理装置（１０）と、メモリ管理装置（１０）より提供されるプログラムファイルに基づいて処理を行う情報処理部（３０）と、を有するものとし、メモリ管理装置（１０）を、ファイルを格納するファイルフラッシュ（１１）と、ファイルフラッシュ（１１）に格納されているファイルの管理を行うファイル管理部（１３）と、情報処理部（３０）の作業領域であるワークメモリ（１４）と、ファイル管理部（１３）からファイルフラッシュ（１１）にアクセスするためのフラッシュＩ／Ｆ１２と、ブートプログラムを格納するブートフラッシュ（１５）と、を有するもの、とした。
2003065210.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、
上記メモリ管理装置は、
プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、
起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、
供給されるファイルを格納する補助記憶手段と、
上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、
を備え、
上記ファイル管理手段は、起動時に、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、
上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行する、
ことを特徴とする情報処理装置。
【請求項２】
ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、
上記メモリ管理装置は、
第１のプログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、
装置外部から第２のプログラムファイルを取得する通信手段と、
供給されるファイルを格納する補助記憶手段と、
起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、
上記主記憶手段および上記補助記憶手段に対するアクセスを行うファイル管理手段と、
起動時の処理を設定する設定手段と、
上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記主記憶手段に格納されている上記第１のプログラムファイルを上記補助記憶手段に転送する第１の転送手段と、
上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記通信手段を介して取得した上記第２のプログラムファイルを上記補助記憶手段に転送する第２の転送手段と、
を備え、
起動時に、上記メモリ管理装置は、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行い、
上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出して、該プログラムの処理を実行する、
ことを特徴とする情報処理装置。
【請求項３】
請求の範囲第２項に記載の情報処理装置において、
上記メモリ管理装置は、
第３のプログラムファイル、および供給されるデータを蓄積して格納するデータ蓄積デバイスと、
上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記データ蓄積デバイスに格納されている上記第３のプログラムファイルを上記補助記憶手段に転送する第３の転送手段と、
を加えて備え、
起動時に、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段と、上記第３の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行う、
ことを特徴とする情報処理装置。
【請求項４】
請求の範囲第２項または請求の範囲第３項に記載の情報処理装置において、
上記処理装置は、上記通信手段を介して装置外部よりファイルを取得する、
ことを特徴とする情報処理装置。
【請求項５】
請求の範囲第３項に記載の情報処理装置において、
上記ファイル管理手段は、上記処理装置において生成したファイルを、上記データ蓄積デバイスに格納する、
ことを特徴とする情報処理装置。
【請求項６】
請求の範囲第２項ないし請求の範囲第５項のいずれかに記載の情報処理装置において、
上記ファイル管理手段は、上記処理装置において生成したファイルを、上記通信手段を介して外部に出力する、
ことを特徴とする情報処理装置。
【請求項７】
請求の範囲第１項ないし請求の範囲第６項のいずれかに記載の情報処理装置において、
上記ファイル管理手段は、上記処理装置において生成したファイルを、上記主記憶手段に格納する、
ことを特徴とする情報処理装置。
【請求項８】
請求の範囲第１項ないし請求の範囲第７項のいずれかに記載の情報処理装置において、
上記主記憶手段は、シリアルフラッシュメモリである、
ことを特徴とする情報処理装置。
【請求項９】
請求の範囲第８項に記載の情報処理装置において、
上記主記憶手段は、上記管理情報と種々のファイルとを格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなる、
ことを特徴とする情報処理装置。
【請求項１０】
請求の範囲第８項に記載の情報処理装置において、
上記主記憶手段は、上記管理情報を格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなる、
ことを特徴とする情報処理装置。
【請求項１１】
請求の範囲第８項に記載の情報処理装置において、
上記主記憶手段は、各々が上記管理情報と種々のファイルとを格納する複数個のシリアルフラッシュメモリよりなる、
ことを特徴とする情報処理装置。
【請求項１２】
ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段と、
上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成手段と、
上記主記憶手段が有する上記第１の管理情報の内容を、上記新管理情報の内容により更新する第１の管理情報更新手段と、
上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理手段と、
上記主記憶手段が有する上記第２の管理情報の内容を、上記新管理情報の内容により更新する第２の管理情報更新手段と、
を備えたことを特徴とするメモリ管理装置。
【請求項１３】
請求の範囲第１２項に記載のメモリ管理装置において、
上記管理情報生成手段が生成する上記新管理情報は、
上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、
上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、
上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、
上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むものである、
ことを特徴とするメモリ管理装置。
【請求項１４】
請求の範囲第１２項または請求の範囲第１３項に記載のメモリ管理装置において、
上記主記憶手段は、処理状態を表示する処理状態表示領域を有する、
ことを特徴とするメモリ管理装置。
【請求項１５】
請求の範囲第１４項に記載のメモリ管理装置において、
上記処理状態表示領域は、
所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、
所定の領域に対する消去、書き込み処理で生じる各種の状態を表示する動作状態表示領域と、
所定の領域が使用できないことを表示する使用禁止表示領域と、
を有する、ことを特徴とするメモリ管理装置。
【請求項１６】
請求の範囲第１５項に記載のメモリ管理装置において、
上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
上記書き込み終了表示領域は、
各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、
各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、
を有する、ことを特徴とするメモリ管理装置。
【請求項１７】
請求の範囲第１６項に記載のメモリ管理装置において、
上記記憶処理手段は、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きする、
ことを特徴とするメモリ管理装置。
【請求項１８】
請求の範囲第１５項に記載のメモリ管理装置において、
上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
上記記憶処理手段は、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きする、
ことを特徴とするメモリ管理装置。
【請求項１９】
請求の範囲第１８項に記載のメモリ管理装置において、
上記状態表示は、
上記第１の管理情報が消去中であることを示す、第１の状態表示と、
上記第１の管理情報が更新中であることを示す、第２の状態表示と、
新しいファイルが書き込み中であることを示す、第３の状態表示と、
古いファイルが消去中であることを示す、第４の状態表示と、
上記第２の管理情報が消去中であることを示す、第５の状態表示と、
上記第２の管理情報が更新中であることを示す、第６の状態表示と、
すべての処理が終了したことを示す、第７の状態表示と、
を有することを特徴とするメモリ管理装置。
【請求項２０】
請求の範囲第１５項または請求の範囲第１８項に記載のメモリ管理装置において、
上記動作状態表示領域は、
上記第１の管理情報が消去中であることを表示する、第１の状態表示領域と、
上記第１の管理情報が更新中であることを表示する、第２の状態表示領域と、
新しいファイルが書き込み中であることを表示する、第３の状態表示領域と、
古いファイルが消去中であることを表示する、第４の状態表示領域と、
上記第２の管理情報が消去中であることを表示する、第５の状態表示領域と、
上記第２の管理情報が更新中であることを表示する、第６の状態表示領域と、
すべての処理が終了したことを表示する、第７の状態表示領域と、
を有することを特徴とするメモリ管理装置。
【請求項２１】
請求の範囲第１５項に記載のメモリ管理装置において、
上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
上記記憶処理手段は、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きする、
ことを特徴とするメモリ管理装置。
【請求項２２】
請求の範囲第１４項ないし請求の範囲第２１項のいずれかに記載のメモリ管理装置において、
上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により２値に割り当て、各領域の表示値を取得する表示値取得手段を備えた、
ことを特徴とするメモリ管理装置。
【請求項２３】
請求の範囲第１４項ないし請求の範囲第２１項のいずれかに記載のメモリ管理装置において、
上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより２値に割り当て、各領域の表示値を取得する表示値取得手段を備えた、
ことを特徴とするメモリ管理装置。
【請求項２４】
請求の範囲第１６項、請求の範囲１８項、請求の範囲第２１項のいずれかに記載のメモリ管理装置において、
上記メモリ管理装置は、各ページに表示されている値を一定ビット毎に区分して２値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えた、
ことを特徴とするメモリ管理装置。
【請求項２５】
請求の範囲第１２項ないし請求の範囲第２４項のいずれかに記載のメモリ管理装置において、
上記主記憶手段は、シリアルフラッシュメモリである、
ことを特徴とするメモリ管理装置。
【請求項２６】
データを格納する複数のブロックを有し、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対する消去および書き込みを行うメモリ管理方法であって、
新データを書き込むブロックの情報と、旧データを消去するブロックの情報とを含む新管理情報を生成する管理情報生成ステップと、
上記新管理情報に基づいて上記新データを書き込むブロック書き込みステップと、
上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、
上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、
上記新管理情報に基づいて上記旧データを消去するブロック消去ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項２７】
ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去および書き込みを管理するメモリ管理方法であって、
追加する新ファイルの情報と、消去する旧ファイルの情報とを含む新管理情報を生成する管理情報生成ステップと、
上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、
上記新管理情報に基づいて上記新ファイルを書き込み、上記新管理情報に基づいて上記旧ファイルを消去するファイル更新ステップと、
上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項２８】
ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの書き込みを管理するメモリ管理方法であって、
追加するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、
上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、
上記新管理情報に基づいて、ファイルを書き込むファイル書き込みステップと、
上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項２９】
請求の範囲第２６項ないし請求の範囲第２８項のいずれかに記載のメモリ管理方法において、
上記主記憶手段は、データを格納する複数のブロックよりなり、ファイルを格納するデータ記憶領域を有するものであり、
上記ブロック書き込みステップまたは上記ファイル更新ステップまたは上記ファイル書き込みステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、
上記データ記憶領域内の使用可能な代替ブロックに、使用できなくなったブロックに書き込む内容を再書き込みする再書き込みステップと、
上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックおよび上記代替ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項３０】
ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去を管理するメモリ管理方法であって、
消去するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、
上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、
上記新管理情報に基づいて、ファイルを消去するファイル消去ステップと、
上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項３１】
請求の範囲第３０項に記載のメモリ管理方法において、
上記主記憶手段は、データを格納する複数のブロックよりなるものであり、
上記ファイル消去ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、
上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項３２】
請求の範囲第２６項ないし請求の範囲第２８項、請求の範囲第３０項のいずれかに記載のメモリ管理方法において、
上記主記憶手段は、データを格納する複数のブロックよりなり、上記第１の管理情報および上記第２の管理情報を格納する管理情報記憶領域を有するものであり、
上記第１の管理情報更新ステップ及び第２の管理情報更新ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止であることを示す禁止表示を上書きする使用禁止表示ステップと、
上記管理情報記憶領域内の使用可能な代替ブロックに、上記新管理情報を再書き込みする管理情報再書き込みステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項３３】
ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置による情報処理方法であって、
上記メモリ管理装置は、
プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、
起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、
供給されるファイルを格納する補助記憶手段と、
上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、
を備えたものであり、
該情報処理装置は、
起動時に、上記ファイル管理手段により、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、
上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、
上記処理装置により、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行する、
ことを特徴とする情報処理方法。
【発明の詳細な説明】
技術分野
本発明は、記憶手段に格納したファイルのデータの信頼性を低下させることなく管理する情報処理装置、およびメモリ管理装置、およびメモリ管理方法、および情報処理方法に関する。
背景技術
ＤＶＤなどのデジタル家電機器では、機器を動作させるプログラムの保持や、処理したデータの記憶等のために、フラッシュメモリを用いた記憶装置を有している。
フラッシュメモリは、その記憶素子の構成より、ＮＡＮＤ型フラッシュメモリ、ＡＮＤ型フラッシュメモリのようなシリアルフラッシュメモリや、ＮＯＲ型フラッシュメモリなどに分類することができる。
このうち、ＮＯＲ型のものは、書き込みや読み出し動作において不具合が生じる確率が低く、信頼性が高いメモリである。また、ＣＰＵが直接アクセスすることができるので、読み出し速度が速く、ランダムアクセスに適しており、プログラムを格納するためのメモリとして利用されている。
一方、シリアルフラッシュメモリは、メモリセルのサイズがＮＯＲ型フラッシュメモリの約３分の１と小さく、高集積化が進んでいる上に、消去及び書き込み速度が速く、消去時間がＮＯＲ型フラッシュメモリの約１００分の１、書き込み時間が約２０分の１である。ところが、ＣＰＵから直接アクセスすることができないうえに、書き込みや読み出し動作に不具合が生じる確率が相対的に高い、という欠点がある。このため、動画データ、オーディオデータなど、時間的連続性があるストリームデータのように、高精度な読み出しおよび書き込みが要求されないデータを格納する際に利用されている。
このような機能および特性より、従来のデジタル家電機器の動作を制御する情報処理装置では、プログラムを格納するメモリとしてＮＯＲ型フラッシュメモリを用いていた。ＮＯＲ型フラッシュメモリを有する情報処理装置としては、第２８図に示すような構成が一般的である。以下、その構成および動作について図面を参照しながら説明する。
第２８図に示すように、従来の情報処理装置１００ｄは、情報処理部３０と、変数を保持するワークメモリ１４と、プログラムを格納するＮＯＲ型フラッシュ２１と、電源切断時に情報を待避させる情報退避部２２と、を有する。
ワークメモリ１４は、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられる。
ＮＯＲ型フラッシュ２１は、情報処理部３０からのアクセスにより、格納しているデータを情報処理部３０に供給する。また、情報処理部３０からのアクセスにより、格納しているデータの消去、および供給されるデータの格納を行う。
情報退避部２２は、情報処理部３０より供給される、動作状況やディスクの書き込みアドレスなどの管理情報を格納するＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。ＳＲＡＭは消費電力が小さいため、電源を切断してもバックアップ電池を使用することで、保持しているデータが消去されないメモリであり、情報退避部２２は、情報処理部３０より消去および書き換えが命令されるまで、データを変更することなく保持する。
次に、このように構成される情報処理装置１００ｄの動作について説明する。
情報処理装置１００ｄに電源が投入されると、情報処理部３０は、情報退避部２２に格納されている変数を読み出し、ワークメモリ１４に転送する。そして、ＮＯＲ型フラッシュ２１に格納されているプログラムを１ステップ毎に読み出し、記述されているプログラムの命令に従って、順次、処理を実行する。変数に変化が生じた場合、情報処理部３０はワークメモリ１４の変数を書き換える。また、情報処理部３０は、処理を実行しながら、定期的に、情報退避部２２に変数をバックアップする。そして、電源切断時に、情報処理部３０は、電源切断直前の状態を情報退避部２２に書き込む。
しかしながら、ＮＯＲ型フラッシュのメモリ容量は、最大３２Ｍｂｉｔ程度であるため、デジタル家電機器のプログラムが増大するに従い、単一のメモリにプログラムを格納することができなくなっている。ところが、複数のＮＯＲ型フラッシュを配置すると、部品の数が増加するので、基盤の実装面積や製造コストを増大させる、という問題がある。
また、ＳＲＡＭは、電源切断後も管理情報や電源切断直前のデータを保持するためにバックアップ電源が必要である。このため、従来のディジタル家電は、市販されているコイン型のリチウム電池や、通電時に充電する充電電池などによって、常時ＳＲＡＭに電源を供給する回路をも有しており、基盤の実装面積をさらに増大させている。その上、ＳＲＡＭ自体も高価であるため、ＳＲＡＭによらない管理情報のバックアップが望まれている。
さらに、従来の情報処理装置１００ｄは、情報処理部３０が、プログラムを１ステップ毎にＮＯＲ型フラッシュ２１より読み出して、処理を実行しているので、実行時間がかかるという問題もある。
本発明は、上記のような問題点を解決するためのものであり、メモリ容量の大きいシリアルフラッシュメモリに対して、不具合を生じることなく書き込みや読み出しを行うとともに、電源投入時にブート処理を行いＣＰＵの実行時間を短縮することのできる情報処理装置、およびメモリ管理装置、およびメモリ管理方法、および情報処理方法を提供することを目的とする。
発明の開示
上記の課題を解決するために、本発明の請求の範囲第１項にかかる情報処理装置は、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、上記メモリ管理装置は、プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、供給されるファイルを格納する補助記憶手段と、上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、を備え、上記ファイル管理手段は、起動時に、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行するもの、としたものである。
本発明の請求の範囲第２項にかかる情報処理装置は、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、上記メモリ管理装置は、第１のプログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、装置外部から第２のプログラムファイルを取得する通信手段と、供給されるファイルを格納する補助記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、上記主記憶手段および上記補助記憶手段に対するアクセスを行うファイル管理手段と、起動時の処理を設定する設定手段と、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記主記憶手段に格納されている上記第１のプログラムファイルを上記補助記憶手段に転送する第１の転送手段と、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記通信手段を介して取得した上記第２のプログラムファイルを上記補助記憶手段に転送する第２の転送手段と、を備え、起動時に、上記メモリ管理装置は、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行い、上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出して、該プログラムの処理を実行するもの、としたものである。
本発明の請求の範囲第３項にかかる情報処理装置は、請求の範囲第２項に記載の情報処理装置において、上記メモリ管理装置は、第３のプログラムファイル、および供給されるデータを蓄積して格納するデータ蓄積デバイスと、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記データ蓄積デバイスに格納されている上記第３のプログラムファイルを上記補助記憶手段に転送する第３の転送手段と、を加えて備え、起動時に、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段と、上記第３の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行うもの、としたものである。
本発明の請求の範囲第４項にかかる情報処理装置は、請求の範囲第２項または請求の範囲第３項に記載の情報処理装置において、上記処理装置は、上記通信手段を介して装置外部よりファイルを取得するもの、としたものである。
本発明の請求の範囲第５項にかかる情報処理装置は、請求の範囲第３項に記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記データ蓄積デバイスに格納するもの、としたものである。
本発明の請求の範囲第６項にかかる情報処理装置は、請求の範囲第２項ないし請求の範囲第５項のいずれかに記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記通信手段を介して外部に出力するもの、としたものである。
本発明の請求の範囲第７項にかかる情報処理装置は、請求の範囲第１項ないし請求の範囲第６項のいずれかに記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記主記憶手段に格納するもの、としたものである。
本発明の請求の範囲第８項にかかる情報処理装置は、請求の範囲第１項ないし請求の範囲第７項のいずれかに記載の情報処理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたものである。
本発明の請求の範囲第９項にかかる情報処理装置は、請求の範囲第８項に記載の情報処理装置において、上記主記憶手段は、上記管理情報と種々のファイルとを格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなるもの、としたものである。
本発明の請求の範囲第１０項にかかる情報処理装置は、請求の範囲第８項に記載の情報処理装置において、上記主記憶手段は、上記管理情報を格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなるもの、としたものである。
本発明の請求の範囲第１１項にかかる情報処理装置は、請求の範囲第８項に記載の情報処理装置において、上記主記憶手段は、各々が上記管理情報と種々のファイルとを格納する複数個のシリアルフラッシュメモリよりなるもの、としたものである。
本発明の請求の範囲第１２項にかかるメモリ管理装置は、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段と、上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成手段と、上記主記憶手段が有する上記第１の管理情報の内容を、上記新管理情報の内容により更新する第１の管理情報更新手段と、上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理手段と、上記主記憶手段が有する上記第２の管理情報の内容を、上記新管理情報の内容により更新する第２の管理情報更新手段と、を備えたもの、としたものである。
本発明の請求の範囲第１３項にかかるメモリ管理装置は、請求の範囲第１２項に記載のメモリ管理装置において、上記管理情報生成手段が生成する上記新管理情報は、上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むもの、としたものである。
本発明の請求の範囲第１４項にかかるメモリ管理装置は、請求の範囲第１２項または請求の範囲第１３項に記載のメモリ管理装置において、上記主記憶手段は、処理状態を表示する処理状態表示領域を有するもの、としたものである。
本発明の請求の範囲第１５項にかかるメモリ管理装置は、請求の範囲第１４項に記載のメモリ管理装置において、上記処理状態表示領域は、所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、所定の領域に対する消去、書き込み処理で生じる各種の状態を表示する動作状態表示領域と、所定の領域が使用できないことを表示する使用禁止表示領域と、を有するもの、としたものである。
本発明の請求の範囲第１６項にかかるメモリ管理装置は、請求の範囲第１５項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記書き込み終了表示領域は、各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、を有するもの、としたものである。
本発明の請求の範囲第１７項にかかるメモリ管理装置は、請求の範囲第１６項に記載のメモリ管理装置において、上記記憶処理手段は、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きするもの、としたものである。
本発明の請求の範囲第１８項にかかるメモリ管理装置は、請求の範囲第１５項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きするもの、としたものである。
本発明の請求の範囲第１９項にかかるメモリ管理装置は、請求の範囲第１８項に記載のメモリ管理装置において、上記状態表示は、上記第１の管理情報が消去中であることを示す、第１の状態表示と、上記第１の管理情報が更新中であることを示す、第２の状態表示と、新しいファイルが書き込み中であることを示す、第３の状態表示と、古いファイルが消去中であることを示す、第４の状態表示と、上記第２の管理情報が消去中であることを示す、第５の状態表示と、上記第２の管理情報が更新中であることを示す、第６の状態表示と、すべての処理が終了したことを示す、第７の状態表示と、を有するもの、としたものである。
本発明の請求の範囲第２０項にかかるメモリ管理装置は、請求の範囲第１５項または請求の範囲第１８項に記載のメモリ管理装置において、上記動作状態表示領域は、上記第１の管理情報が消去中であることを表示する、第１の状態表示領域と、上記第１の管理情報が更新中であることを表示する、第２の状態表示領域と、新しいファイルが書き込み中であることを表示する、第３の状態表示領域と、古いファイルが消去中であることを表示する、第４の状態表示領域と、上記第２の管理情報が消去中であることを表示する、第５の状態表示領域と、上記第２の管理情報が更新中であることを表示する、第６の状態表示領域と、すべての処理が終了したことを表示する、第７の状態表示領域と、を有するもの、としたものである。
本発明の請求の範囲第２１項にかかるメモリ管理装置は、請求の範囲第１５項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きするもの、としたものである。
本発明の請求の範囲第２２項にかかるメモリ管理装置は、請求の範囲第１４項ないし請求の範囲第２１項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により２値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたものである。
本発明の請求の範囲第２３項にかかるメモリ管理装置は、請求の範囲第１４項ないし請求の範囲第２１項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより２値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたものである。
本発明の請求の範囲第２４項にかかるメモリ管理装置は、請求の範囲第１６項、請求の範囲１８項、請求の範囲第２１項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、各ページに表示されている値を一定ビット毎に区分して２値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えたもの、としたものである。
本発明の請求の範囲第２５項にかかるメモリ管理装置は、請求の範囲第１２項ないし請求の範囲第２４項のいずれかに記載のメモリ管理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたものである。
本発明の請求の範囲第２６項にかかるメモリ管理方法は、データを格納する複数のブロックを有し、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対する消去および書き込みを行うメモリ管理方法であって、新データを書き込むブロックの情報と、旧データを消去するブロックの情報とを含む新管理情報を生成する管理情報生成ステップと、上記新管理情報に基づいて上記新データを書き込むブロック書き込みステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、上記新管理情報に基づいて上記旧データを消去するブロック消去ステップと、を備えたもの、としたものである。
本発明の請求の範囲第２７項にかかるメモリ管理方法は、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去および書き込みを管理するメモリ管理方法であって、追加する新ファイルの情報と、消去する旧ファイルの情報とを含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて上記新ファイルを書き込み、上記新管理情報に基づいて上記旧ファイルを消去するファイル更新ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたものである。
本発明の請求の範囲第２８項にかかるメモリ管理方法は、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの書き込みを管理するメモリ管理方法であって、追加するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて、ファイルを書き込むファイル書き込みステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたものである。
本発明の請求の範囲第２９項にかかるメモリ管理方法は、請求の範囲第２６項ないし請求の範囲第２８項のいずれかに記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなり、ファイルを格納するデータ記憶領域を有するものであり、上記ブロック書き込みステップまたは上記ファイル更新ステップまたは上記ファイル書き込みステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、上記データ記憶領域内の使用可能な代替ブロックに、使用できなくなったブロックに書き込む内容を再書き込みする再書き込みステップと、上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックおよび上記代替ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、を備えたもの、としたものである。
本発明の請求の範囲第３０項にかかるメモリ管理方法は、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去を管理するメモリ管理方法であって、消去するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて、ファイルを消去するファイル消去ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたものである。
本発明の請求の範囲第３１項にかかるメモリ管理方法は、請求の範囲第３０項に記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなるものであり、上記ファイル消去ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、を備えたもの、としたものである。
本発明の請求の範囲第３２項にかかるメモリ管理方法は、請求の範囲第２６項ないし請求の範囲第２８項、請求の範囲第３０項のいずれかに記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなり、上記第１の管理情報および上記第２の管理情報を格納する管理情報記憶領域を有するものであり、上記第１の管理情報更新ステップ及び第２の管理情報更新ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止であることを示す禁止表示を上書きする使用禁止表示ステップと、上記管理情報記憶領域内の使用可能な代替ブロックに、上記新管理情報を再書き込みする管理情報再書き込みステップと、を備えたもの、としたものである。
本発明の請求の範囲第３３項にかかる情報処理方法は、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置による情報処理方法であって、上記メモリ管理装置は、プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、供給されるファイルを格納する補助記憶手段と、上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、を備えたものであり、該情報処理装置は、起動時に、上記ファイル管理手段により、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、上記処理装置により、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行するもの、としたものである。
以上説明したように、本発明の請求の範囲第１項にかかる情報処理装置によれば、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、上記メモリ管理装置は、プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、供給されるファイルを格納する補助記憶手段と、上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、を備え、上記ファイル管理手段は、起動時に、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行するもの、としたので、上記処理装置は、処理を実行する際にプログラムを１ステップ毎に上記主記憶装置より読み出す必要がなくなる。このため、上記処理装置の処理速度が高速化され、実行時間を大幅に削減することができる。
本発明の請求の範囲第２項にかかる情報処理装置によれば、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、上記メモリ管理装置は、第１のプログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、装置外部から第２のプログラムファイルを取得する通信手段と、供給されるファイルを格納する補助記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、上記主記憶手段および上記補助記憶手段に対するアクセスを行うファイル管理手段と、起動時の処理を設定する設定手段と、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記主記憶手段に格納されている上記第１のプログラムファイルを上記補助記憶手段に転送する第１の転送手段と、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記通信手段を介して取得した上記第２のプログラムファイルを上記補助記憶手段に転送する第２の転送手段と、を備え、起動時に、上記メモリ管理装置は、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行い、上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出して、該プログラムの処理を実行するもの、としたので、自己診断プログラムやメインプログラムなどの種々のプログラムを選択して実行することができる。また、上記情報処理装置において自己診断を行うことができるようになるので、従来、診断のために必要であった各種治具が不要となり、保守、点検のために冶具を長期間保持する必要がなくなる。
本発明の請求の範囲第３項にかかる情報処理装置によれば、請求の範囲第２項に記載の情報処理装置において、上記メモリ管理装置は、第３のプログラムファイル、および供給されるデータを蓄積して格納するデータ蓄積デバイスと、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記データ蓄積デバイスに格納されている上記第３のプログラムファイルを上記補助記憶手段に転送する第３の転送手段と、を加えて備え、起動時に、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段と、上記第３の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行うもの、としたので、自己診断プログラムやメインプログラムなどの種々のプログラムを選択して実行することができるとともに、各種プログラムを上記データ蓄積デバイスから取得することができる。また、上記情報処理装置において自己診断を行うことができるようになるので、診断のための各種治具が不要となり、保守サービスのために冶具を長期間保持する必要がなくなる。
本発明の請求の範囲第４項にかかる情報処理装置によれば、請求の範囲第２項または請求の範囲第３項に記載の情報処理装置において、上記処理装置は、上記通信手段を介して装置外部よりファイルを取得するもの、としたので、新たなプログラムファイルを取得し、ソフトのバージョンアップや、新たな機能の追加を容易に行うことができる。また、外部より容易にファイルを取得できるので、上記主記憶手段に格納するファイルの数を削減することができるとともに、より小容量の上記主記憶手段を用いて製造コストの低減を計ることができる。
本発明の請求の範囲第５項にかかる情報処理装置によれば、請求の範囲第３項に記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記データ蓄積デバイスに格納するもの、としたので、自己診断プログラムの実行により生成した自己診断結果ファイルや、上記情報処理装置の使用履歴および故障履歴などを上記データ蓄積デバイスに蓄積することができる。さらに、この自己診断結果ファイルを用いて、上記情報処理装置や、上記情報処理装置に接続されている機器の劣化などをモニタすることができる。  本発明の請求の範囲第６項にかかる情報処理装置によれば、請求の範囲第２項ないし請求の範囲第５項のいずれかに記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記通信手段を介して外部に出力するもの、としたので、自己診断の結果などの、各種の動作結果を外部よりモニタすることができる。
本発明の請求の範囲第７項にかかる情報処理装置によれば、請求の範囲第１項ないし請求の範囲第６項のいずれかに記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記主記憶手段に格納するもの、としたので、自己診断の結果などの、各種の動作結果を保存することができる。さらに、この自己診断結果ファイルを用いて、上記情報処理装置や、上記情報処理装置に接続されている機器の劣化などをモニタすることができる。
本発明の請求の範囲第８項にかかる情報処理装置によれば、請求の範囲第１項ないし請求の範囲第７項のいずれかに記載の情報処理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたので、上記主記憶手段に対して高速に消去や書き込みができるうえに、データサイズの大きいプログラムファイルやデータファイルを格納することができる。
本発明の請求の範囲第９項にかかる情報処理装置によれば、請求の範囲第８項に記載の情報処理装置において、上記主記憶手段は、上記管理情報と種々のファイルとを格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなるもの、としたので、プログラムファイルや各種ファイルのサイズの増加に対応することができる。また、各シリアルフラッシュメモリの容量を異なるものとすることができるため、プログラムファイルや各種ファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
本発明の請求の範囲第１０項にかかる情報処理装置によれば、請求の範囲第８項に記載の情報処理装置において、上記主記憶手段は、上記管理情報を格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなるもの、としたので、プログラムファイルや各種ファイルのサイズの増加に対応することができる。また、各シリアルフラッシュメモリの容量を異なるものとすることができるため、プログラムファイルや各種ファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
本発明の請求の範囲第１１項にかかる情報処理装置によれば、請求の範囲第８項に記載の情報処理装置において、上記主記憶手段は、各々が上記管理情報と種々のファイルとを格納する複数個のシリアルフラッシュメモリよりなるもの、としたので、シリアルフラッシュの交換が可能となる。
本発明の請求の範囲第１２項にかかるメモリ管理装置によれば、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段と、上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成手段と、上記主記憶手段が有する上記第１の管理情報の内容を、上記新管理情報の内容により更新する第１の管理情報更新手段と、上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理手段と、上記主記憶手段が有する上記第２の管理情報の内容を、上記新管理情報の内容により更新する第２の管理情報更新手段と、を備えたもの、としたので、上記メモリ管理装置により、書き込み対象や消去対象となる上記主記憶手段の領域を決定することができる。また、上記第１の管理情報を上記主記憶手段に書き込んだ後、上記記憶処理手段によりファイルの書き込みや消去を行うので、記憶処理手段がすべての処理を完了する前に処理を中断した場合に、上記メモリ管理装置により書き込みや消去途中のファイルを検出して、消去することができる。さらに、上記第１の管理情報を書き込んだ後、上記第２の管理情報を書き込むので、上記第２の管理情報の書き込みや消去が途中で中断された場合に、上記第１の管理情報を用いて復旧することができる。
本発明の請求の範囲第１３項にかかるメモリ管理装置によれば、請求の範囲第１２項に記載のメモリ管理装置において、上記管理情報生成手段が生成する上記新管理情報は、上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むもの、としたので、上記メモリ管理装置により、書き込み対象や消去対象となるブロックを決定し、そのブロックに対する消去や書き込みを行うことができる。
本発明の請求の範囲第１４項にかかるメモリ管理装置によれば、請求の範囲第１２項または請求の範囲第１３項に記載のメモリ管理装置において、上記主記憶手段は、処理状態を表示する処理状態表示領域を有するもの、としたので、上記メモリ管理装置により、上記主記憶手段の様々な状態を把握することができる。
本発明の請求の範囲第１５項にかかるメモリ管理装置によれば、請求の範囲第１４項に記載のメモリ管理装置において、上記処理状態表示領域は、所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、所定の領域に対する消去、書き込み処理で生じる各種の状態を表示する動作状態表示領域と、所定の領域が使用できないことを表示する使用禁止表示領域と、を有するもの、としたので、上記メモリ管理装置により上記主記憶手段の様々な状態を把握し、ファイルまたはブロックに対する処理が中断されている場合には、そのファイルやブロックを復旧させることができる。
本発明の請求の範囲第１６項にかかるメモリ管理装置によれば、請求の範囲第１５項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記書き込み終了表示領域は、各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、を有するもの、としたので、その領域に対する書き込みが終了しているか否かを把握することができる。
本発明の請求の範囲第１７項にかかるメモリ管理装置によれば、請求の範囲第１６項に記載のメモリ管理装置において、上記記憶処理手段は、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きするもの、としたので、その領域に対する書き込みが終了しているか否かを把握し、次の書き込み時には、書き込みされていないブロックを書き込み対象のブロックとして選択することができる。
本発明の請求の範囲第１８項にかかるメモリ管理装置によれば、請求の範囲第１５項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きするもの、としたので、上記メモリ管理装置により、その領域に対する処理の状態を把握することができる。
本発明の請求の範囲第１９項にかかるメモリ管理装置によれば、請求の範囲第１８項に記載のメモリ管理装置において、上記状態表示は、上記第１の管理情報が消去中であることを示す、第１の状態表示と、上記第１の管理情報が更新中であることを示す、第２の状態表示と、新しいファイルが書き込み中であることを示す、第３の状態表示と、古いファイルが消去中であることを示す、第４の状態表示と、上記第２の管理情報が消去中であることを示す、第５の状態表示と、上記第２の管理情報が更新中であることを示す、第６の状態表示と、すべての処理が終了したことを示す、第７の状態表示と、を有するもの、としたので、その領域に対する処理の状態を把握することにより、上記第１の管理情報に対する処理が中断されている場合には上記第１の管理情報の内容を上記第２の管理情報の内容により更新し、上記第２の管理情報に対す対する処理が中断されている場合には上記第２の管理情報の内容を上記第１の管理情報の内容により更新し、処理中断前の内容に復旧させることができる。
本発明の請求の範囲第２０項にかかるメモリ管理装置によれば、請求の範囲第１５項または請求の範囲第１８項に記載のメモリ管理装置において、上記動作状態表示領域は、上記第１の管理情報が消去中であることを表示する、第１の状態表示領域と、上記第１の管理情報が更新中であることを表示する、第２の状態表示領域と、新しいファイルが書き込み中であることを表示する、第３の状態表示領域と、古いファイルが消去中であることを表示する、第４の状態表示領域と、上記第２の管理情報が消去中であることを表示する、第５の状態表示領域と、上記第２の管理情報が更新中であることを表示する、第６の状態表示領域と、すべての処理が終了したことを表示する、第７の状態表示領域と、を有するもの、としたので、その領域に対する処理の状態を把握することにより、上記第１の管理情報に対する処理が中断されている場合には上記第１の管理情報の内容を上記第２の管理情報の内容により更新し、上記第２の管理情報に対す対する処理が中断されている場合には上記第２の管理情報の内容を上記第１の管理情報の内容により更新し、処理中断前の内容に復旧させることができる。また、各種の処理の状態を表示する領域を、それぞれ異なる領域とすることにより、同一の領域に対する書き込み回数を減少させることができ、上記主記憶部の耐久性を保持することができる。
本発明の請求の範囲第２１項にかかるメモリ管理装置によれば、請求の範囲第１５項に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きするもの、としたので、ブロックが使用できるか否かを把握し、次の書き込み時には、使用できるブロックを書き込み対象のブロックとして選択することができる。
本発明の請求の範囲第２２項にかかるメモリ管理装置によれば、請求の範囲第１４項ないし請求の範囲第２１項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により２値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたので、上記処理状態表示領域に誤書き込みがなされた場合であっても、表示されている値が示す状態を把握することができる。
本発明の請求の範囲第２３項にかかるメモリ管理装置によれば、請求の範囲第１４項ないし請求の範囲第２１項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより２値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたので、上記処理状態表示領域に誤書き込みやビット化けが発生していない場合のみ、表示されている値が示す状態を把握することができる。
本発明の請求の範囲第２４項にかかるメモリ管理装置によれば、請求の範囲第１６項、請求の範囲１８項、請求の範囲第２１項のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、各ページに表示されている値を一定ビット毎に区分して２値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えたもの、としたので、上記処理状態表示領域に誤書き込みがなされた場合であっても、表示されている値が示す状態を把握することができる。
本発明の請求の範囲第２５項にかかるメモリ管理装置によれば、請求の範囲第１２項ないし請求の範囲第２４項のいずれかに記載のメモリ管理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたので、上記主記憶手段に対して高速に消去や書き込みができるうえに、データサイズの大きいプログラムファイルやデータファイルを格納することができる。
本発明の請求の範囲第２６項にかかるメモリ管理方法によれば、データを格納する複数のブロックを有し、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対する消去および書き込みを行うメモリ管理方法であって、新データを書き込むブロックの情報と、旧データを消去するブロックの情報とを含む新管理情報を生成する管理情報生成ステップと、上記新管理情報に基づいて上記新データを書き込むブロック書き込みステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、上記新管理情報に基づいて上記旧データを消去するブロック消去ステップと、を備えたもの、としたので、書き込み対象や消去対象となる上記主記憶手段の領域を決定し、その領域に対する処理を行うことができる。
本発明の請求の範囲第２７項にかかるメモリ管理方法によれば、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去および書き込みを管理するメモリ管理方法であって、追加する新ファイルの情報と、消去する旧ファイルの情報とを含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて上記新ファイルを書き込み、上記新管理情報に基づいて上記旧ファイルを消去するファイル更新ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたので、書き込み対象や消去対象となる上記主記憶手段の領域を決定し、その領域に対する処理を行うことができる。また、上記第１の管理情報を上記主記憶手段に書き込んだ後、ファイルの更新を行うので、すべての処理を完了する前に処理を中断した場合に、書き込みや消去途中のファイルを検出して、消去することができる。さらに、上記第１の管理情報を書き込んだ後、上記第２の管理情報を書き込むので、上記第２の管理情報の書き込みや消去が途中で中断された場合に、上記第１の管理情報を用いて復旧することができる。
本発明の請求の範囲第２８項にかかるメモリ管理方法によれば、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの書き込みを管理するメモリ管理方法であって、追加するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて、ファイルを書き込むファイル書き込みステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたので、書き込み対象対象となる上記主記憶手段の領域を決定し、その領域に対して書き込みを行うことができる。また、上記第１の管理情報を上記主記憶手段に書き込んだ後、ファイルの書き込みを行うので、すべての処理を完了する前に処理を中断した場合に、書き込途中のファイルを検出して、消去することができる。さらに、上記第１の管理情報を書き込んだ後、上記第２の管理情報を書き込むので、上記第２の管理情報の書き込みや消去が途中で中断された場合に、上記第１の管理情報を用いて復旧することができる。
本発明の請求の範囲第２９項にかかるメモリ管理方法によれば、請求の範囲第２６項ないし請求の範囲第２８項のいずれかに記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなり、ファイルを格納するデータ記憶領域を有するものであり、上記ブロック書き込みステップまたは上記ファイル更新ステップまたは上記ファイル書き込みステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、上記データ記憶領域内の使用可能な代替ブロックに、使用できなくなったブロックに書き込む内容を再書き込みする再書き込みステップと、上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックおよび上記代替ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、を備えたもの、としたので、更新対象となるブロックに不具合が生じた場合でも、代替領域を用いて更新処理を行うことができる。また、上記第１の管理情報および上記第２の管理情報に使用禁止ブロックの位置の情報を記述するので、使用禁止ブロック以外のブロックを書き込み対象のブロックとすることができる。
本発明の請求の範囲第３０項にかかるメモリ管理方法によれば、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去を管理するメモリ管理方法であって、消去するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて、ファイルを消去するファイル消去ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたので、消去対象となる上記主記憶手段の領域を決定し、その領域にして消去を行うことができる。また、上記第１の管理情報を上記主記憶手段に書き込んだ後、ファイルの更新を行うので、すべての処理を完了する前に処理を中断した場合に、消去途中のファイルを検出して、消去することができる。さらに、上記第１の管理情報を書き込んだ後、上記第２の管理情報を書き込むので、上記第２の管理情報の書き込みや消去が途中で中断された場合に、上記第１の管理情報を用いて復旧することができる。
本発明の請求の範囲第３１項にかかるメモリ管理方法によれば、請求の範囲第３０項に記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなるものであり、上記ファイル消去ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、を備えたもの、としたので、消去対象となるブロックに不具合が生じた場合でも、上記第１の管理情報および上記第２の管理情報に使用禁止ブロックの位置の情報を記述することができ、次の書き込み時には、使用禁止ブロック以外のブロックを書き込み対象のブロックとすることができる。
本発明の請求の範囲第３２項にかかるメモリ管理方法によれば、請求の範囲第２６項ないし請求の範囲第２８項、請求の範囲第３０項のいずれかに記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなり、上記第１の管理情報および上記第２の管理情報を格納する管理情報記憶領域を有するものであり、上記第１の管理情報更新ステップ及び第２の管理情報更新ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止であることを示す禁止表示を上書きする使用禁止表示ステップと、上記管理情報記憶領域内の使用可能な代替ブロックに、上記新管理情報を再書き込みする管理情報再書き込みステップと、を備えたもの、としたので、更新対象となるブロックに不具合が生じた場合でも、代替領域を用いて上記第１の管理情報および上記第２の管理情報の更新処理を行うことができる。また、上記第１の管理情報および上記第２の管理情報に使用禁止ブロックの位置の情報を記述するので、次の書き込み時には、使用禁止ブロック以外のブロックを書き込み対象のブロックとすることができる。
本発明の請求の範囲第３３項にかかる情報処理方法によれば、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置による情報処理方法であって、上記メモリ管理装置は、プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、供給されるファイルを格納する補助記憶手段と、上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、を備えたものであり、該情報処理装置は、起動時に、上記ファイル管理手段により、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、上記処理装置により、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行するもの、としたので、上記処理装置は、処理を実行する際にプログラムを１ステップ毎に上記主記憶装置より読み出す必要がなくなる。このため、上記処理装置の処理速度が高速化され、実行時間を大幅に削減することができる。
発明を実施するための最良の形態
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、ここで示す実施の形態はあくまでも一例であって、必ずしもこの実施の形態に限定するものではない。また、本明細書および図面において、数字の末尾に付した「ｈ」は、その数字が１６進表記であることを示している。
（実施の形態１）
まず、本発明の請求の範囲第１項、請求の範囲第７項ないし請求の範囲第１１項に記載の情報処理装置、および請求の範囲第１２項ないし請求の範囲第２５項に記載のメモリ管理装置、および請求の範囲第２６項ないし請求の範囲第３２項に記載のメモリ管理方法、および請求の範囲第３３項に記載の情報処理方法を実施の形態１として、図面を参照しながら説明する。
第１図は、本実施の形態１に係る情報処理装置の構成を示すブロック図である。
第１図に示すように本実施の形態１による情報処理装置１００は、プログラムファイルやデータファイルを保持するメモリ管理装置１０と、メモリ管理装置１０より提供されるプログラムファイルやデータファイルに基づいて処理を行う情報処理部３０と、を有する。
メモリ管理装置１０は、プログラムファイルとデータファイルとを格納するファイルフラッシュ１１と、ファイルフラッシュ１１に格納されているファイルの管理を行うファイル管理部１３と、情報処理部３０の作業領域であるワークメモリ１４と、ファイル管理部１３からファイルフラッシュ１１にアクセスできるようにするフラッシュインターフェース（以下、フラッシュＩ／Ｆと称す）１２と、ブートプログラムを格納するブートフラッシュ１５と、を有する。そして、バス１６を介して、ブートフラッシュ１５とフラッシュＩ／Ｆ１２とが、ファイル管理部１３に接続されている。
ファイルフラッシュ１１は、ＮＡＮＤ型フラッシュメモリ、ＡＮＤ型フラッシュメモリのようなシリアルフラッシュメモリからなる。このファイルフラッシュ１１は、フラッシュＩ／Ｆ１２を介してなされるファイル管理部１３からのアクセスに応答し、格納しているデータをファイル管理部１３に供給する。また、ファイル管理部１３からの命令により、格納しているデータを消去し、ファイル管理部１３からデータが供給されると、該データを格納する。
以下、ファイルフラッシュ１１の構造を、８Ｍｂｙｔｅの容量を有するものを例にとって説明する。
第２図に、ファイルフラッシュ１１の記憶領域の構造を示す。
ファイルフラッシュ１１の記憶領域は、１０２４個のブロックより構成され、先頭のブロックを１とし、以降１０２４まで、順にブロック番号が付与されている。このブロックは、消去を行う際に消去単位となる。また、各ブロックは、８ｋｂｙｔｅの記憶容量を有し、５２８ｂｙｔｅごとに１６個のページに区分されている。そして、各ページは、先頭を１とし、以降１６まで、順にページ番号が付与されている。このページは、ファイル管理部１３より書き込みを行う際に書き込み単位となる。さらに、各ページは、先頭より５１２ｂｙｔｅまでに配置され、ファイルを格納するデータ領域と、データ領域に続いて該ページの末尾までの１６ｂｙｔｅに配置され、ファイル管理部１３よりデータ領域を更新する際に、その処理結果などの情報が付加される冗長領域と、により構成されている。なお、本発明は、ファイルフラッシュ１１の容量およびブロック数を限定するものではなく、任意の容量とすることができる。ファイルフラッシュ１１の容量は、格納するファイルのサイズなどに基づいて決定することが望ましい。
また、第３図に示すように、ファイルフラッシュ１１の先頭より、該ファイルフラッシュ１１に保持しているファイルの管理情報を格納する情報管理領域１１Ｉが配置されており、データファイル領域１１Ｄの後に、情報処理装置１００を動作させるプログラムなどの各種実行ファイルや、機器の動作中に発生する各種のデータファイルを格納するデータファイル領域１１Ｄが配置されている。ここで、情報管理領域１１Ｉおよびデータファイル領域１１Ｄが有する各ブロックの各ページは、それぞれ、５１２ｂｙｔｅのデータ領域と、１６ｂｙｔｅの冗長領域より構成されており、プログラムファイルやデータファイルはデータ領域に格納されるものである。
ファイルフラッシュ１１に格納されているファイルには、各ファイルを識別するファイルＩＤが付与されている。このファイルＩＤは、４桁の１６進表記の数字よりなり、該数字によりファイルの属性を規定したものであってもよく、例えば、最上位より３桁目までが０であるものは、情報管理領域１１Ｉに格納される管理情報のファイルであることを示し、最上位より３桁目までが０でないものは、データファイル領域１１Ｄに格納されるプログラムファイルやデータファイルであることを示すようにしてもよい。この場合、管理情報のファイルＩＤは、００００ｈから０００Ｆｈまでであり、オリジナル管理情報ＩｏにファイルＩＤ＝００００ｈが付与され、バックアップ管理情報ＩｂにファイルＩＤ＝０００１ｈが付与される。そして、プログラムファイルおよびデータファイルのファイルＩＤは、００１０ｈより大きい数字であり、ファイル１〜ファイル３の３本のファイルを有する場合、ファイル１にファイルＩＤ＝００１０ｈが付与され、ファイル２にファイルＩＤ＝００１１ｈが付与され、ファイル３にファイルＩＤ＝００１２ｈが付与される。
情報管理領域１１Ｉは、ブロック１に、データファイル領域１１Ｄに格納されているファイルに関する管理情報を記述したオリジナル管理情報Ｉｏ（第１の管理情報）が配置され、ブロック２に、オリジナル管理情報Ｉｏに不具合が発生したときのためのバックアップであり、オリジナル管理情報Ｉｏと同一のデータを有するバックアップ管理情報Ｉｂ（第２の管理情報）が配置されている。そして、情報管理領域１１Ｉとして３ブロック以上のブロックが割り付けられている場合、ブロック３より最終ブロックまでは、データを格納していない空きブロックとなる。この空きブロックは、ブロック１およびブロック２に不具合が発生したときに、オリジナル管理情報Ｉｏやバックアップ管理情報Ｉｂを格納するために用いる。
オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂは、先頭より、データファイル領域１１Ｄに格納されているファイル数に関するファイル数情報Ｉｃｎｔが配置され、これに続いて、データファイル領域１１Ｄに格納されている各ファイルのファイル名やファイルサイズなどの情報を有するファイル管理情報Ｉｆが配置され、これに続いて、複数のブロックに分割して格納されているファイルの一連の流れを復元可能にするブロックマップＩｍａｐが配置されている。
ここで、ファイル管理情報Ｉｆは、ファイルフラッシュ１１に格納されている各ファイルの情報を記述したものであり、ｎ（ｎは１以上の整数）個の各ファイルに対して一定容量ずつ割り当てられたファイル情報Ｉｆ１〜Ｉｆｎを有する。このファイル管理情報Ｉｆは、データファイル領域１１Ｄに格納可能なファイル数分のデータ容量を確保しており、データファイル領域１１Ｄに格納されているファイル数が、格納可能なファイル数以下である場合、余剰領域はデータが格納されていない空き領域となる。
また、各ファイル情報Ｉｆ１〜Ｉｆｎは、対応するファイルのＩＤと、スタートブロック番号と、ファイルサイズと、ファイル名と、を示す情報を有する。ＩＤは、例えば「ＩＤ＝ＸＸＸＸｈ」の形式で記述されたファイルＩＤであり、スタートブロック番号は、そのファイルの先頭が格納されているブロックのブロック番号である。そのＩＤにファイルが割り当てられていない場合、スタートブロック番号を「ＦＦＦＦｈ」とし、ファイル名を空白とするように規定してもよい。この場合、書き換え時等に、該ＩＤにファイルが割り当てられると、スタートブロック番号、およびファイル名が記述される。
このファイルフラッシュ１１では、ファイルをブロック単位で管理しているので、１つのファイルを分割して、前後を接しない複数のブロックに格納することもある。ブロックマップＩｍａｐは、このような場合でも、分割されたファイルの所在を明確にし、ファイルの一連の流れを復元可能にするためのものであり、ファイルフラッシュ１１が有する１０２４個の各ブロックに対して一定容量ずつ割り当てられたブロック情報Ｉｍａｐ１〜ブロック情報Ｉｍａｐ１０２４を有する。
そして、ブロック情報Ｉｍａｐ１〜ブロック情報Ｉｍａｐ１０２４は、該ブロックに格納されているファイルのＩＤと、そのファイルの前部が格納されている前ブロック番号と、そのファイルの後部が格納されている次ブロック番号と、を示す情報を有する。ＩＤには、該ブロックにファイルが格納されている場合に、そのファイルのファイルＩＤが記述される。該ブロックにファイルが格納されていない場合には、そのブロックの状態がフラグにより示される。例えば、不具合を有するブロックのＩＤを、「ＦＥＥＥｈ」とし、書き込まれていない未使用ブロックのＩＤを、「ＦＦＦＦｈ」としてもよい。前ブロック番号には、該ブロックがファイルの途中部を格納している場合、その前部を格納しているブロック番号を記述する。また、ファイルの先頭部を格納するブロックおよび未使用ブロックの、前ブロック番号を、「ＦＦＦＦｈ」としてもよい。一方、次ブロック番号には、該ブロックがファイルの途中部を格納している場合、その次の部分を格納しているブロック番号を記述する。また、ファイルの最後部を格納するブロックおよび未使用ブロックの次ブロック番号を、「ＦＦＦＦｈ」としてもよい。
第４図に示したように、冗長領域は、各ページの先頭から５１２ｂｙｔｅを占めるデータ領域に続いて配置され、データ領域に対して消去や書き込みを行う際に、その処理結果などの情報を付加する１６ｂｙｔｅの領域である。この冗長領域には、データ領域の更新処理状態を表示するモードＲＢｍｏｄと、該ブロックのデータ領域の更新処理において不具合が発生したか否かを表示する有効性情報ＲＢｖａｌと、該ブロックが使用されているか否かを表示するブロック書込状態ＲＢｗｒと、該ブロックが不具合を有する不良ブロックであるか否かを表示するブロック良否情報ＲＢｂｄと、該ページが使用されているか否かを表示するページ書込状態ＲＰｗｒと、該ページのデータ領域のＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ：誤り訂正符号）データを格納するＥＣＣ情報ＲＰｅｃｃと、が割り付けられている。さらに冗長領域は、データを格納しない空き領域を有する。ここで、ブロック書込状態ＲＢｗｒおよびページ書込状態ＲＰｗｒは、請求の範囲に記述した書き込み終了表示領域に相当するものである。
モードＲＢｍｏｄは、該ブロックのデータ領域の内容を更新する際に、そのブロックに対する消去および書き込み処理の状態を示すフラグであり、オリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂが消去中である状態を「ＦＦＦＦｈ」、オリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂが更新中（新ファイル作成中）である状態を「ＦＦＦ０ｈ」、データファイル領域１１Ｄに新しいファイルが書き込み中である状態を「ＦＦ００ｈ」、データファイル領域１１Ｄの古いファイルが消去中である状態を「Ｆ０００ｈ」、データ更新が正常に終了した状態や更新が発生していない状態を「００００ｈ」として定義している。このモードＲＢｍｏｄは、各ブロックの１ページ〜３ページ、あるいは１ページの冗長領域に付加される。
有効性情報ＲＢｖａｌは、該ブロックのデータ領域における消去、書き込み時に、不良ブロック（使用できないブロック）が発生したか否かを示すフラグであり、不良ブロックが発生していない状態を「ＦＦｈ」、新しいファイルの消去や書き込み処理時に不良ブロックが発生した状態を「Ｆ０ｈ」、古いファイルの消去や書き込み処理時に不良ブロックが発生した状態を「０Ｆｈ」として定義している。この有効性情報ＲＢｖａｌは、各ブロックの１ページ〜３ページの冗長領域に付加される。
ブロック書込状態ＲＢｗｒは、該ブロックが使用されているか否かを示すフラグであり、該ブロックが未使用である状態を「ＦＦｈ」、該ブロックが使用されている状態（書き込みが終了している状態）を「００ｈ」として定義している。このブロック書込状態ＲＢｗｒは、各ブロックの１ページ〜３ページ、あるいは１ページの冗長領域に付加される。
ブロック良否情報ＲＢｂｄは、該ブロックが不良ブロック（使用できないブロック）であるか否かを示すフラグであり、不良ブロックではない状態を「ＦＦｈ」、不良ブロックである状態を「００ｈ」として定義している。このブロック良否情報ＲＢｂｄは、各ブロックの１ページ〜３ページ、あるいは１ページの冗長領域に付加される。
ページ書込状態ＲＰｗｒは、該ページが使用されているか否かを示すフラグであり、該ページが未使用である状態を「ＦＦｈ」、該ページが使用されている状態（書き込みが終了している状態）を「００ｈ」として定義している。このページ書込状態ＲＰｗｒは、各ページの冗長領域に付加される。
なお、本発明は、冗長領域の各領域に付加されるフラグを限定するものではなく、各状態を、任意のフラグに定義することができる。
ファイル管理部１３は、起動時に、ブートフラッシュ１５を読み出し、ブートプログラムに基づいて、ファイルフラッシュ１１に格納されているファイルをワークメモリ１４に格納する。ワークメモリ１４のファイルが更新されると、ファイル管理部１３は、ファイルフラッシュ１１のファイルを更新するための新管理情報を生成し、該新管理情報に基づいて更新されたファイルをファイルフラッシュ１１に書き込み、旧ファイルを消去し、新管理情報の内容によりファイルフラッシュ１１のオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する。また、情報処理部３０の命令に従って、ファイルをファイルフラッシュ１１より消去するための新管理情報を生成し、該新管理情報に基づいてファイルフラッシュ１１のファイルを消去し、新管理情報の内容によりファイルフラッシュ１１のオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する。さらに、ワークメモリ１４に新ファイルが生成されると、そのファイルをファイルフラッシュ１１に書き込むための新管理情報を生成し、該新管理情報に基づいてファイルをファイルフラッシュ１１に書き込み、新管理情報の内容によりファイルフラッシュ１１のオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する。さらにファイル管理部１３は、ファイルフラッシュ１１のファイルやブロック、ページの状態を、冗長領域に表示されている値に基づいて判定する。このファイル管理部１３は、請求の範囲に記述したファイル管理手段、管理情報生成手段、第１の管理情報更新手段、記憶処理手段、第２の管理情報更新手段、および表示値取得手段を含むものである。
ワークメモリ１４は、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）からなり、起動時にファイル管理部１３から供給されるオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂなどのファイルを格納する。以下、ワークメモリ１４に格納されているオリジナル管理情報Ｉｏを、管理情報Ｉｗとして説明する。また、ファイル管理部１３および情報処理部３０は、ワークメモリ１４を介してデータの授受を行う。
ブートフラッシュ１５は、起動時の情報処理装置１００の処理を定めたブートプログラムを格納している。ここで、ブートプログラムは、起動時、ファイル管理部１３がファイルフラッシュ１１を利用できるようにする手順と、ファイル管理部１３が情報管理領域１１Ｉのデータをワークメモリ１４に読み出す手順と、管理情報Ｉｗの記述に従って、データファイル領域１１Ｄに格納されているすべてのファイルをワークメモリ１４に読み出す手順と、転送されたプログラムを情報処理部３０が先頭から読み出す手順と、を定めたものである。
次に、このように構成されるメモリ管理装置１０における、ファイルフラッシュ１１に対するファイルの消去、書き込み、読み出しの方法を説明する。
まず、ファイルフラッシュ１１に書き込まれているファイルを消去する方法を説明する。
ファイルフラッシュ１１の消去単位はブロックであり、消去の際には、１ブロックごとにその内容を消去するブロック消去を行う。このようなブロック消去の方法を説明する。第７図は、ブロック消去の方法を説明するフローチャートである。
ブロック消去を行う際、ファイル管理部１３は、消去を行うブロックのブロック番号を指定して、ブロック消去命令を発行する（ステップＳ１１）。
すると、ファイルフラッシュ１１は、ファイル管理部１３より指定されたブロックの内容を消去する（ステップＳ１２）。
次に、ファイル管理部１３はファイルフラッシュ１１から返却されるエラーコードにより、消去が正常に終了したか否かを判断する（ステップＳ１３）。
消去が成功した場合は、そのブロックの冗長領域に正常ブロックであることを登録する。なお、消去されたビットは「１」となっているので、消去したブロックが情報管理領域１１Ｉのブロックである場合、モードＲＢｍｏｄは、ブロックの消去が正常終了したことを表示するものとなっている。同様に、有効性ＲＢｖａｌは、正常ブロックであることを表示し、ブロック良否情報ＲＢｂｄは、そのブロックが不良ブロックではないことを表示し、ページ書込状態ＲＰｗｒは、そのブロックが未使用であることを表示しているので、このステップでは特に書き込みは行わない（ステップＳ１４）。
一方、消去に失敗した場合は、そのブロックの冗長領域に不良ブロックであることを登録する。すなわち、有効性情報ＲＢｖａｌに、古いファイルの消去処理時に不良ブロックが発生したことを示す「０Ｆｈ」を記述し、ブロック良否情報ＲＢｂｄに、不良ブロックであることを示す情報を記述する。（ステップＳ１５）。
次に、このようなブロック消去により、ファイルフラッシュ１１のファイルを消去する方法を説明する。第８図は、ファイル消去の方法を説明するフローチャートである。
ファイルの消去を行う際、ファイル管理部１３は消去対象となるブロックのブロック番号または消去するファイルのファイルＩＤを認識しているので、まず、ファイル管理部１３は、消去するブロック番号を認識しているか否か、つまり、消去対象のブロック番号をファイルフラッシュ１１に対して指定可能か否かを判断する。消去対象のブロック番号を認識している場合、ステップＳ２３に移行する。（ステップＳ２１）。
消去対象のブロック番号を認識していない場合、ファイル管理部１３はワークメモリ１４に有する管理情報Ｉｗのファイル管理情報Ｉｆを検索し、消去するファイルのファイルＩＤを有するファイル情報より、そのファイルの先頭が格納されているスタートブロック番号を取得する（ステップＳ２２）。
消去対象のブロック番号を得ると、該当するブロックに対するブロック消去を実行する。このブロック消去は、前述のステップＳ１１〜Ｓ１５によって行う（ステップＳ２３）。
次に、ファイル管理部１３はブロック消去が正常に終了したか否かを判断し、正常に終了した場合は、ステップＳ２６に移行する（ステップＳ２４）。
ブロック消去に失敗した場合、ファイル管理部１３は、ワークメモリ１４に有する管理情報ＩｗのブロックマップＩｍａｐに、不良ブロック、すなわち使用できなくなった使用禁止ブロックであることを登録する。例えば、ブロックＢＮの消去に失敗した場合、ブロック情報ＩｍａｐＢＮのＩＤに、「ＦＥＥＥｈ」が記述される。この時、管理情報Ｉｗは、使用禁止ブロックが登録された是正用管理情報となっている（ステップＳ２５）。
ステップＳ２４において、ブロック消去が正常に終了していると判断された場合、ファイル管理部１３は、ブロックマップＩｍａｐより、消去しているファイルの次の部分を格納しているブロック番号を取得する。例えば、ブロックＢＮを消去した場合、ブロック情報ＩｍａｐＢＮより、次ブロック番号を取得する（ステップＳ２６）。
そして、ファイル管理部１３は、取得した次ブロック番号により、ステップＳ２３において消去したブロックがファイル終端のブロックまたは未使用ブロックであるか判断し、終端のブロックまたは未使用ブロックである場合、処理を終了する。一方、終端のブロックまたは未使用ブロックではない場合、ステップＳ２３に戻り、ブロックの消去を行う（ステップＳ２７）。
以下、このステップＳ２１〜ステップＳ２７を、ファイル消去フローＦ１と称す。
次に、ファイルフラッシュ１１にファイルを書き込む方法を説明する。
ファイルフラッシュ１１の書き込み単位はページであり、書き込みの際には、データを１ページごとに書き込むページ書き込みを行う。このようなページ書き込みの方法を説明する。第９図は、ページ書き込みの方法を説明するフローチャートである。
ページ書き込みを行う際、ファイル管理部１３は、書き込みを行うブロックとページとを指定したページ書き込み命令をフラッシュＩ／Ｆ１２に発行する。そして、ワークメモリ１４に有するファイルのデータやファイルＩＤを出力する（ステップＳ３１）。
ページ書き込みを命令されると、フラッシュＩ／Ｆ１２は、ファイルフラッシュ１１の、指定されたページを書き込み可能な状態にし、続いてファイル管理部１３から入力される書き込みデータをシリアルでファイルフラッシュ１１に出力する。すると、ファイルフラッシュ１１は、フラッシュＩ／Ｆ１２より入力されるデータを、ファイル管理部１３より指定されたページに書き込む（ステップＳ３２）。
次に、ファイル管理部１３はファイルフラッシュ１１から返却されるエラーコードにより、書き込みが正常に終了したか否かを判断する（ステップＳ３３）。
書き込みに成功した場合は、そのブロックの冗長領域にブロックとページとが使用中であることを登録する。すなわち、ブロック書込情報ＲＢｗｒとページ書込状態ＲＰｗｒとに、書き込みがなされていることを示す「００ｈ」を記述する（ステップＳ３４）。
一方、書き込みに失敗した場合は、そのブロックの冗長領域に不良ブロックであることを登録する。すなわち、有効性情報ＲＢｖａｌに、ファイルの書き込み時に不良ブロックが発生したことを示す「Ｆ０ｈ」または「０Ｆｈ」を記述し、ブロック良否情報ＲＢｂｄに、不良ブロックであることを示す情報を記述する（ステップＳ３５）。
次に、このようなページ書き込みにより、ファイルをファイルフラッシュ１１に書き込む方法を説明する。第１０図は、ファイルの書き込みの方法を説明するフローチャートである。
ファイルの書き込みを行う際、ファイル管理部１３は、ワークメモリ１４に有する管理情報Ｉｗのファイル管理情報Ｉｆを検索し、書き込みを行うファイルのファイルＩＤを有するファイル情報より、そのファイルの先頭部の書き込み対象となるスタートブロック番号を取得する（ステップＳ４１）。
次にファイル管理部１３は、書き込み対象のページ番号を格納する変数に０を代入する（ステップＳ４２）。
書き込み対象のブロック番号とページ番号とを得ると、該当するページに対するページ書き込みを実行する。このページ書き込みは、前述のステップＳ３１〜Ｓ３５によって行う（ステップＳ４３）。
次に、ファイル管理部１３は、ページ書き込みが正常に終了したか判断し、書き込みに失敗した場合は、ステップＳ４９に移行する（ステップＳ４４）。
ページ書き込みに成功した場合、次ページの書き込みのためにページ番号変数を１加算する（ステップＳ４５）。
そして、ファイル管理部１３は、すべてのデータの書き込みが終了したか判断し、データが終了した場合は処理を終了する（ステップＳ４６）。
データが終了していない場合、ファイル管理部１３は、ページ番号変数に基づき、そのブロックは最終ページまで書き込まれたか判断する。最終ページまで書き込まれていない場合はステップＳ４３に戻り、次ページに対する書き込みを行う（ステップＳ４７）。
最終ページまで書き込んだ場合、ファイル管理部１３は、ブロックマップＩｍａｐより、書き込みを行っているファイルの次の部分を格納するブロック番号を取得する。例えば、ブロックＢＮに書き込んだ場合、ブロック情報ＩｍａｐＢＮより、次ブロック番号を取得する。そしてステップＳ４２に戻り、次のブロックに対する書き込みを行う（ステップＳ４８）。
一方、ステップＳ４４においてページ書き込みに失敗したと判断した場合、そのブロックに対する書き込みを停止し、ファイル管理部１３は、ワークメモリ１４に有する管理情報ＩｗのブロックマップＩｍａｐに、不良ブロックであることを登録する。例えば、ブロックＢＮの書き込みに失敗した場合、ブロック情報ＩｍａｐＢＮのＩＤに、「ＦＥＥＥｈ」が記述される（ステップＳ４９）。
ここで、ファイル管理部１３は、書き込みに失敗したファイルがオリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂであるか判断し、オリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂの書き込みに失敗した場合、処理を終了する。なお、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂの書き込みに失敗した場合の復旧処理については後述する（ステップＳ５０）。
書き込みに失敗したファイルがオリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂではない場合、代替ブロックに対する書き込みを行うために、書き込みがなされていない空きブロックを検索する。ファイル管理部１３はワークメモリ１４に有する管理情報ＩｗのブロックマップＩｍａｐを検索し、ファイルＩＤが未使用（ＦＦＦＦｈ）となっているブロック情報を取得する。そして、取得したブロック情報に、書き込みを行っているファイルのファイルＩＤを登録し、そのブロックを、書き込みに失敗したファイルを書き込む代替ブロックとして確保する（ステップＳ５１）。
そして、書き込んだページ数だけファイルのデータ位置を戻し、ステップＳ４２に戻って、ステップＳ５１において確保したブロックの先頭ページより書き込みをやり直す（ステップＳ５２）。
以下、このステップＳ４１〜ステップＳ５２を、ファイル書き込みフローＦ２と称す。
次に、ファイルフラッシュ１１よりファイルを読み出す方法を説明する。
ファイルフラッシュ１１の読み出し単位はページであり、ファイル管理部１３は、データを１ページごとに読み出すページ読み出しを行う。このようなページ読み出しの方法を説明する。第１１図は、ページ読み出しの方法を説明するフローチャートである。
ページ読み出しを行う際、ファイル管理部１３は、読み出しを行うブロックとページとを指定して、そのページを読み出す命令をバス１６を介してフラッシュＩ／Ｆ１２に出力する。（ステップＳ６１）。
すると、フラッシュＩ／Ｆ１２は、ファイルフラッシュ１１の指定されたページに格納されているデータをシリアルで読み出し、バス１６を介してファイル管理部１３に出力する（ステップＳ６２）。
読み出したデータにエラーがあった場合、ＥＣＣによりエラー訂正を行う。（ステップＳ６３）。
次に、このようなページ読み出しにより、ファイルフラッシュ１１よりファイルを読み出す方法を説明する。第１２図は、ファイル読み出しの方法を説明するフローチャートである。
ファイルの読み出しを行う際、ファイル管理部１３は、ワークメモリ１４に有する管理情報Ｉｗのファイル管理情報Ｉｆを検索し、読み出すファイルのファイルＩＤを有するファイル情報より、そのファイルの先頭が格納されているスタートブロック番号を取得する（ステップＳ７１）。
次に、ファイル管理部１３は、読み出し対象のページ番号を格納する変数に０を代入する（ステップＳ７２）。
読み出し対象のブロック番号とページ番号とを得ると、該当するページに対するページ読み出しを実行する。このページ読み出しは、前述のステップＳ６１〜Ｓ６３によって行う（ステップＳ７３）。
ページの読み出しが終了すると、次ページの読み出しのためにページ番号変数を１加算する（ステップＳ７４）。
そして、ファイル管理部１３は、読み出すファイルのファイル情報Ｉｆｎのファイル管理情報に基づき、すべてのデータの読み出しが終了したかを判断する。そして、データが終了した場合は処理を終了する（ステップＳ７５）。
データが終了していない場合、ファイル管理部１３は、ページ番号変数に基づき、そのブロックの最終ページまでのデータを読み出したか判断する。最終ページまで読み出していない場合はステップＳ７３に戻り、次ページに対する読み出しを行う（ステップＳ７６）。
最終ページまで読み出した場合、ファイル管理部１３は、読み出したデータにＥＣＣエラーがあるか判定し、ＥＣＣエラーがない場合、ステップＳ７９に移行する（ステップＳ７７）。
読み出したデータにＥＣＣエラーがあった場合、エラーが生じているブロックのデータを消去し、異なるブロックに書き込むために、ファイル管理部１３は、まず、ファイルフラッシュ１１のオリジナル管理情報Ｉｏが格納されているブロックのモードＲＢｍｏｄに、「ＦＦＦ０ｈ」を書き込み、オリジナル管理情報Ｉｏが更新中であることを表示する（ステップＳ７８−１）。
次に、ワークメモリ１４に有する管理情報ＩｗのブロックマップＩｍａｐを検索し、ＩＤが未使用となっている空きブロックのブロック情報を取得する。そして、取得したブロック情報のＩＤにファイルＩＤを登録し、このブロック情報によって管理されているブロックを、ＥＣＣエラーが生じているブロックのデータを格納するブロックとして確保する。また、このブロックに格納するものがファイルの一部分である場合、前ブロック番号や次ブロック番号を記述する。さらに、ファイル管理部１３は、ＥＣＣエラーが生じているブロック、すなわちデータを消去するブロックのブロックマップより、ＩＤと、前ブロック番号と、後ブロック番号とを消去する。この時、管理情報Ｉｗは、エラーを有するブロックの情報が消去され、新たにデータを書き込むブロックの情報が追加された新管理情報Ｉｗ’となっている（ステップＳ７８−２）。
空きブロックを確保すると、ファイル管理部１３は、該確保したブロックに、読み出したブロックのデータを書き込む。この書き込みは、前述のステップＳ４２〜Ｓ４７，ステップＳ４９〜５２により行う（ステップＳ７８−３）。
次にファイル管理部１３は、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する。すなわち、オリジナル管理情報Ｉｏを消去し、消去したブロックに新管理情報Ｉｗ’を書き込んだ後、バックアップ管理情報Ｉｂを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する方法は、後で詳述する（ステップＳ７８−４）。
そして、ファイル管理部１３は、ＥＣＣエラーが生じているブロックのデータを消去する。このブロック消去は、前述のステップＳ１１〜ステップＳ１５により行う（ステップＳ７８−５）。
このようにして、１つのブロックを読み出すと、ファイル管理部１３は、ブロックマップＩｍａｐより、ファイルの次の部分を格納しているブロックのブロック番号を取得する。例えば、ブロックＢＮを読み出した場合、ブロック情報ＩｍａｐＢＮより、次ブロック番号を取得する。そしてステップＳ７２に戻り、次のブロックに対する読み出しを行う（ステップＳ７９）。
以下、このステップＳ７１〜ステップＳ７９を、ファイル読み出しフローＦ３と称す。
次に、情報処理装置１００による情報処理方法、およびメモリ管理装置１０によるメモリ管理方法を説明する。
まず、情報処理装置１００の起動時の動作について、図面を参照しながら説明する。
情報処理装置１００に電源が投入されると、情報処理部３０はメモリ管理装置１０に対してブートフラッシュ１５の読み出しを指示する。すると、ファイル管理部１３はブートフラッシュ１５に格納されているブートプログラムを読み出し、ブート処理を実行する。第１３図は、メモリ管理装置１０によるブート処理を説明するフローチャートである。
まずファイル管理部１３は、ファイル読み出しフローＦ３により、ファイルフラッシュ１１のオリジナル管理情報Ｉｏをワークメモリ１４に読み出す（ステップＳ１００１）。
次に、ファイル管理部１３は、ワークメモリ１４上に読み出した管理情報Ｉｗの冗長領域のモードＲＢｍｏｄに基づいて、前回ファイルフラッシュ１１にファイルを書き込んだ際に、その処理が正常に終了したか判断する。
まず、モードＲＢｍｏｄに書き込まれている１６ビットの値を４ビットごとに区分し、各４ビットに「０」が書き込まれているか判断する。そして、４ビット中、３ビット以上に「０」が書き込まれている場合、その４ビットの値を「０ｈ」とし、３ビット以上に「０」が書き込まれてない場合、その４ビットの値を「Ｆｈ」として、モードＲＢｍｏｄの４値を判定する。また、モードＲＢｍｏｄが、ブロックの先頭ページより３ページまでの所定のビット位置に付加されている場合、ファイル管理部１３は、各ページの値を判定した上で、これらの値を多数決判断する。例えば、第５図に示すように、ページ１の値が「ＦＦ００ｈ」、ページ２の値が「ＦＦ０Ｆｈ」、ページ３の値が「ＦＦ００ｈ」である場合、各ページの上位４ビット（Ｒ１）の値はすべて同一であり、Ｒ１の値は「Ｆｈ」と判定される。同様に、５ビット目〜１２ビット目（Ｒ２，Ｒ３）も、各ページの値が同一であるので、Ｒ２の値は「Ｆｈ」、Ｒ３の値は「０ｈ」と判定される。下位の４ビットは、ページ１の値がページ０およびページ２とは異なっているので、多数決判断により、Ｒ４の値は「０ｈ」と判定される。
このような多数決判段により、その値が判定されたモードＲＢｍｏｄが「００００ｈ」である場合、ファイル管理部１３は、データ更新処理が正常に終了していると判断し、処理をステップＳ１００８に移行する（ステップＳ１００２）。
前回のデータ更新処理が正常に終了していない場合、ファイル管理部１３は、オリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに基づき、オリジナル管理情報Ｉｏは消去の途中または更新の途中であるか、あるいは、データファイル領域１１Ｄのファイルが書き込み中であるか判断する。ファイル管理部１３は、ステップＳ１００２と同様の方法で多数決判定して取得したモードＲＢｍｏｄの値が「ＦＦＦＦｈ」、「ＦＦＦ０ｈ」、「ＦＦ００ｈ」のいずれでもない場合ステップＳ１００６に移行する（ステップＳ１００３）。
オリジナル管理情報Ｉｏは消去または更新の途中、または、データファイル領域１１Ｄのファイルが書き込み中（新ファイル作成中）である場合、バックアップ管理情報Ｉｂをオリジナル管理情報として用いるために、ファイルフラッシュ１１よりワークメモリ１４に読み出す。このバックアップ管理情報Ｉｂの読み出しは、ファイル読み出しフローＦ３によって行う（ステップＳ１００４）。
次に、ファイルフラッシュ１１のオリジナル管理情報Ｉｏが格納されているブロックに、ステップＳ１００４で読み出したワークメモリ１４上のバックアップ管理情報Ｉｂ（以下、新管理情報Ｉｗ’）の内容を書き込む（ステップＳ１００５）。
ファイルフラッシュ１１のオリジナル管理情報Ｉｏを更新する方法を、第１５図を参照しながら説明する。
まず、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄを、「ＦＦＦＦｈ」とし、オリジナル管理情報Ｉｏが消去中であることを表示する（ステップＳ８１）。
ファイル管理部１３は、ファイル消去フローＦ１により、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去する（ステップＳ８２）。
ここで、ファイルフラッシュ１１のオリジナル管理情報Ｉｏが格納されているブロックのモードＲＢｍｏｄに、「ＦＦＦ０ｈ」を書き込み、オリジナル管理情報が更新中であることを表示する（ステップＳ８３）。
次に、ファイル管理部１３は、新管理情報Ｉｗ’をフラッシュＩ／Ｆ１２に出力し、ステップＳ８２において消去したブロックに書き込む。この書き込みは、ファイル書き込みフローＦ２によって行う（ステップＳ８４）。
ファイルを書き込むと、ファイル管理部１３は書き込みに成功したか判断し、書き込みに成功した場合は、管理情報の更新処理を終了する（ステップＳ８５）。
一方、書き込みに失敗した場合、第１６図に示した方法で、新たなブロックにオリジナル管理情報Ｉｏを書き込む（オリジナル管理情報の置き換え）（ステップＳ８６）。
オリジナル管理情報Ｉｏを置き換える際には、まず、新管理情報Ｉｗ’のブロックマップＩｍａｐより空きブロックを検索する。すなわち、情報管理領域１１Ｉのブロックに関するブロック情報Ｉｍａｐ１〜Ｉｍａ１６のうちＩＤが未使用となっているブロック情報を取得する。以下、空きブロックとして、ブロック３が検出され、ブロック情報Ｉｍａｐ３を取得したものとして説明する（ステップＳ９１）。
取得したブロック情報Ｉｍａｐ３にオリジナル管理情報ＩｏのファイルＩＤ「００００ｈ」を登録し、該当するブロック情報によって管理されているブロックを、新ファイルを格納するブロックとして確保する（ステップＳ９２）。
ここで、オリジナル管理情報Ｉｏの書き込み対象となるファイルフラッシュ１１のブロック３のモードＲＢｍｏｄに、「ＦＦＦ０ｈ」を書き込み、オリジナル管理情報が更新中であることを表示する（ステップＳ９３）。
そして、ブロック３にワークメモリ上の新管理情報Ｉｗ’を書き込む。この書き込みは、ファイル書き込みフローＦ２によって行う（ステップＳ９４）。
ブロック３に対する書き込みが終了すると、古いオリジナル管理情報Ｉｏを、ファイル消去フローＦ１によって消去する（ステップＳ９５）。
以下、このステップＳ８１〜ステップＳ８６を、管理情報更新フローＦ４と称す。
なお、ここでは、オリジナル管理情報Ｉｏの内容を、新ファイルの内容により更新する方法を説明したが、バックアップ管理情報Ｉｂの更新も、この管理情報更新フローＦ４によって行う。また、ファイルフラッシュ１１のオリジナル管理情報Ｉｏと、バックアップ管理情報Ｉｂとは同一内容のファイルであり、ステップＳ１００７でオリジナル管理情報Ｉｏをファイルフラッシュ１１より読み出したバックアップ管理情報Ｉｂにより更新した場合でも、更新前後でファイルの内容は変化しない。
ステップＳ１００３において、オリジナル管理情報Ｉｏは消去および更新の途中ではなく、データファイル領域１１Ｄのファイルが書き込み中ではない、と判断された場合、前回のオリジナル管理情報Ｉｏの更新は正常に終了していることになるので、ファイル管理部１３は、モードＲＢｍｏｄに基づき、データファイル領域１１Ｄのファイルが書き込みまたは消去の途中ではないか判断する。ファイル管理部１３は、ステップＳ１００２と同様の方法で多数決判定して取得したモードＲＢｍｏｄの値が「Ｆ０００ｈ」または「ＦＦ００ｈ」である場合、データファイル領域１１Ｄのファイルが書き込みまたは消去の途中であると判断する。ここで、書き込みまたは消去の途中ではない場合、ステップＳ１００８に移行する（ステップＳ１００６）。
データファイル領域１１Ｄのファイルが書き込みまたは消去の途中である場合、第１４図に示す方法で、書き込みまたは消去の途中のファイルをファイルフラッシュ１１より消去する（ステップＳ１００７）。
書き込みまたは消去の途中のファイルを消去する場合、ファイル管理部１３は、管理情報Ｉｗのファイル情報Ｉｆ１〜Ｉｆｎに記述されているＩＤとブロック情報Ｉｍａｐ１〜Ｉｍａｐ１０２４に登録されているＩＤとを比較し、ファイル情報Ｉｆ１〜Ｉｆｎに登録されていないＩＤを有するブロック情報を検索する（ステップＳ１０１）。
次に、ファイル管理部１３は、取得したブロック情報に記述されている前ブロック番号に基づいて、そのブロック情報が、ファイルのスタートブロックに関するものであるか判断する。前ブロック番号には、スタートブロックである場合「ＦＦＦＦｈ」が記述され、先頭ブロックではない場合、そのファイルの前の部分を格納しているブロックの番号が記述されている。ステップＳ１０１でブロックＢＮに関するブロック情報ＩｍａｐＢＮを取得した場合、ブロック情報ＩｍａｐＢＮの前ブロック番号が「ＦＦＦＦｈ」であるならば、ブロックＢＮはスタートブロックである（ステップＳ１０２）
前ブロック番号にブロック番号が記述されていた場合、そのブロックのブロック情報を取得する。例えば、前ブロック番号に「ＢＮ−１」が記述されていた場合、ブロック情報ＩｍａｐＢＮ−１を取得し、ステップＳ１０２に戻る（ステップＳ１０３）。
ステップＳ１０２においてスタートブロック番号を取得すると、ファイル管理部１３はファイル消去フローＦ１を実行し、ファイルを消去する（ステップＳ１０４）。
ここで、全ブロックのブロック情報に登録されているＩＤについて検索した場合、処理を終了する。未検索のブロック情報が残っている場合、ステップＳ１０１に戻る（ステップＳ１０５）。
このようにして書き込みまたは消去途中のファイルを消去すると、ステップＳ１００８に移行する。
オリジナル管理情報Ｉｏをワークメモリ１４に読み出すと、ファイル管理部１３はファイル読み出しフローＦ３を実行し、バックアップ管理情報Ｉｂをワークメモリ１４に読み出す（ステップＳ１００８）。
次に、ファイル管理部１３は、バックアップ管理情報Ｉｂを格納しているブロックのモードＲＢｍｏｄに基づいて、前回ファイルフラッシュ１１にファイルを書き込んだ際に、その処理が正常に終了したか判断する。ファイル管理部１３は、ステップＳ１００２と同様の方法で多数決判定して取得したモードＲＢｍｏｄの値が「００００ｈ」である場合、データ更新処理が正常に終了していると判断し、処理を終了する（ステップＳ１００９）。
一方、ステップＳ１００９でデータ更新処理が正常に終了していないと判断された場合、ファイル管理部１３は、ファイルフラッシュ１１のバックアップ管理情報Ｉｂが格納されているブロックに、ステップＳ１００１において読み出したワークメモリ１４上の管理情報Ｉｗの内容を書き込む。このバックアップ管理情報Ｉｂの更新は、管理情報更新フローＦ４により行う（ステップＳ１０１０）。
このようにしてファイルフラッシュ１１のオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出すと、ファイル管理部１３は、管理情報Ｉｗのファイル管理情報ＩｆおよびブロックマップＩｍａｐの記述に従って、ファイルフラッシュ１１のデータファイル領域１１Ｄに格納されているプログラムファイルやデータファイルをワークメモリ１４に転送する。すなわちファイル管理部１３は、ファイル情報Ｉｆ１７〜ファイル情報Ｉｆｎに記述されている各ファイルに対して読み出しフローＦ２を実行する。
このブート処理が終了すると、情報処理部３０は、ワークメモリ１４に転送されたプログラムを先頭から読み出して、プログラムの処理を実行する。
情報処理部３０は、プログラムの実行に伴いファイルが必要なくなると、ファイル管理部１３に対して、ファイルフラッシュ１１上のファイルの消去を指示する。また、新ファイルを生成すると、そのファイルをワークメモリ１４に出力し、ファイル管理部１３に対して新ファイルの書き込みを指示する。
次に、情報処理部３０よりファイルの消去、書き込み、読み出しが指示された場合のメモリ管理装置１０の動作を説明する。
ここでは、ファイルフラッシュ１１のデータファイル領域１１Ｄに格納されているファイル２を、ファイル３に更新する場合を例にとって説明する。第６図は、ファイル２をファイル３に更新する手順を、ファイルフラッシュ１１の状態ごとに示した図、第１７図は、ファイル２をファイル３に更新する方法を説明するフローチャートである。
ファイル更新を行う前（状態１）のファイルフラッシュ１１には、情報管理領域１１Ｉにオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとが格納され、データファイル領域１１Ｄにファイル１とファイル２とが格納されている。また、ワークメモリ１４には、ファイルフラッシュ１１に格納されているオリジナル管理情報Ｉｏやバックアップ管理情報Ｉｂと同一内容の管理情報Ｉｗが格納されている。
状態２では、ワークメモリ１４上の管理情報Ｉｗが更新される。
まず、ファイル管理部１３は、管理情報Ｉｗを複製し、ワークメモリ１４のデータを有していない領域に、複製した管理情報Ｉｗを退避させる（ステップＳ２００１）。
そして、第１８図に示す方法で、ファイルフラッシュ１１に新ファイルを追加できるか判断し、管理情報Ｉｗに新ファイルのファイルＩＤを登録する（ステップＳ２００２）。
新ファイルの追加が可能か判断するには、まず、管理情報Ｉｗのファイル管理情報Ｉｆを検索し、ＩＤが未使用となっているファイル情報を取得する（ステップＳ１１１）。
そして、取得したファイル情報のＩＤに、追加する新ファイルのファイルＩＤを登録し、このファイル情報を新ファイルに割り当てる（ステップＳ１１２）。
次に、管理情報ＩｗのブロックマップＩｍａｐを検索し、ＩＤが未使用となっている空きブロックのブロック情報を取得する（ステップＳ１１３）。
そして、取得したブロック情報のＩＤに新ファイルのファイルＩＤを登録し、このブロック情報によって管理されているブロックを、新ファイルを格納するブロックとして確保する。また、このブロックに格納するものがファイルの一部分である場合、前ブロック番号や次ブロック番号を記述する（ステップＳ１１４）。
ここで、ファイル管理部１３は、新ファイルを格納するために必要となるブロック数のブロックを確保したか判断し、必要数のブロックを確保していない場合はステップＳ１１３に戻る。一方、必要数のブロックにＩＤを登録すると、処理を終了する。また、必要数のブロックを確保していないが、ファイルフラッシュ１１のデータファイル領域１１Ｄに空き領域がなく、ブロック情報Ｉｍａｐ１〜ブロック情報Ｉｍａｐ１０２４のすべてのＩＤにファイルＩＤが登録されている場合も、処理を終了する（ステップＳ１１５）。
このようにして、新ファイルを追加できることを判断すると、ステップＳ２００４に移行し、ファイルフラッシュ１１に新ファイルを追加できない場合、処理を終了する（ステップＳ２００３）。
次に、管理情報Ｉｗの、消去するファイル２のファイル情報Ｉｆ２を削除する。また、既存のファイルに新たなファイルを上書きする場合も、上書きされるファイルのファイル情報を削除する。
ファイル情報を削除するには、まず、ファイル管理部１３はファイル情報Ｉｆを検索し、消去するファイル２のファイルＩＤを有するファイル情報Ｉｆ２を取得する。そして、ファイル情報Ｉｆ２のファイルＩＤと、スタートブロック番号と、ファイルサイズと、ファイル名とを消去する。次に、ファイル管理部１３は、ブロックマップＩｍａｐを検索し、ファイル２のファイルＩＤが記述されているブロックのブロック情報を取得すると、ＩＤを未使用に設定する。例えば、ブロックＢＮにファイル２のファイルＩＤが記述されている場合、ブロック情報ＩｍａｐＢＮのＩＤを「ＦＦＦＦｈ」とする。ファイルは複数のブロックにわたって格納されていることもあるので、ブロックマップＩｍａｐが有するすべてのブロック情報より、ファイル２のファイルＩＤが記述されているブロック情報を検索し、ＩＤを未使用に設定する。この時、管理情報Ｉｗは、ファイル２に関する情報が消去され、ファイル３に関する情報が追加された新管理情報Ｉｗ’となっている。この状態が、第６図の「状態２」である（ステップＳ２００４）。
状態３では、オリジナル管理情報Ｉｏが更新される。すなわち、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、新管理情報Ｉｗ’を書き込む（第６図には、更新後のオリジナル管理情報を、新オリジナル管理情報と表記）。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２００５）。
次に、ワークメモリ１４に、ステップＳ２００２において登録したファイルＩＤを有するファイル３が生成される。このファイル３は、情報処理部３０が生成してもよいし、情報処理装置１００に接続されている他の機器（図示せず）が生成してもよい。また、ファイル３は、このステップより前のステップで生成されてもよい（ステップＳ２００６）。
状態４では、ステップＳ２００６で生成されたファイル３が、ファイルフラッシュ１１に書き込まれる。
ファイル管理部１３は、ファイルフラッシュ１１の、オリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに、「ＦＦ００ｈ」を書き込み、データファイル領域１１Ｄにファイルを書き込み中であることを表示する（ステップＳ２００７）。
モードＲＢｍｏｄを設定すると、ファイル管理部１３はファイル書き込みフローＦ２を実行し、ステップＳ２００２で登録したブロックマップに基づいてファイル３を書き込む（ステップＳ２００８）。
次に、ファイル管理部１３は、ワークメモリ上の新管理情報Ｉｗ’のブロックマップＩｍａｐが更新されているか判断し、更新されていない場合はステップＳ２０１１に移行する。ブロックマップＩｍａｐが変更されるのは、ステップＳ２００８において書き込みに失敗し、不良ブロックが登録された場合である（ステップＳ２００９）。
ブロックマップＩｍａｐが更新されていた場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、更新された新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２０１０）。
状態５では、ファイル２が消去される。
ファイル管理部１３は、ファイルフラッシュ１１の、オリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに、「Ｆ０００ｈ」を書き込み、データファイル領域１１Ｄの古いファイルが消去中であることを表示する（ステップＳ２０１１）。
モードＲＢｍｏｄを設定すると、ファイル管理部１３は、ステップＳ２００１で退避させた管理情報Ｉｗに基づいて、ファイル２のＩＤまたはスタートブロック番号を取得し、ファイル２を消去する。この消去は、ファイル消去フローＦ１により行う（ステップＳ２０１２）。
次に、ファイル管理部１３は、ワークメモリ上の新管理情報Ｉｗ’のブロックマップＩｍａｐが更新されているか判断し、更新されていない場合はステップＳ２０１５に移行する。ここで、ブロックマップＩｍａｐが変更されるのは、ステップＳ２０１２において消去に失敗し、不良ブロックが登録された場合である（ステップＳ２０１３）。
ブロックマップＩｍａｐが更新されていた場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、更新された新管理情報Ｉｗ’（ステップＳ２５における是正用管理情報）を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２０１４）。
状態６では、バックアップ管理情報Ｉｂが更新される。すなわち、ファイル管理部１３は、ファイルフラッシュ１１のバックアップ管理情報Ｉｂを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む（第６図には、更新後のバックアップ管理情報を、新バックアップ管理情報と表記）。このバックアップ管理情報Ｉｂの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２０１５）。
バックアップ管理情報Ｉｂの更新が終了したら、ステップＳ２０１７に移行し、更新に失敗したら処理を終了する（ステップＳ２０１６）。
ファイル２をファイル３に更新する処理のすべてが終了したら、ファイル管理部１３は、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを格納しているブロックのモードＲＢｍｏｄに、「００００ｈ」を記述し、データ更新が正常に終了したことを表示する（ステップＳ２０１７）。
次に、ファイルフラッシュ１１のデータファイル領域１１Ｄに格納されているファイルを消去する方法を、ファイル２を消去する場合を例にとって説明する。第１９図は、ファイル消去する方法を説明するフローチャートである。
ファイルフラッシュ１１に格納されているファイル２を消去する時には、まず、ファイル管理部１３は、管理情報Ｉｗを複製し、ワークメモリ１４のデータを有していない領域に、複製した管理情報Ｉｗを退避させる（ステップＳ２１０１）。
次に、管理情報Ｉｗの、消去するファイル２のファイル情報Ｉｆ２を削除する。ファイル管理部１３は、消去するファイル２のファイルＩＤを有するファイル情報Ｉｆ２より、ファイルＩＤと、スタートブロック番号と、ファイルサイズと、ファイル名とを消去する。さらに、ブロックマップＩｍａｐを検索してファイル２のファイルＩＤが記述されているブロック情報を取得し、そのブロックマップのＩＤを未使用に設定する。この時、管理情報Ｉｗは、ファイル２に関する情報が消去された新管理情報Ｉｗ’となっている（ステップＳ２１０２）。
ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２１０３）。
そして、ファイル管理部１３は、ファイルフラッシュ１１の、オリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに、「Ｆ０００ｈ」を書き込み、データファイル領域１１Ｄの古いファイルが消去中であることを表示する（ステップＳ２１０４）。
モードＲＢｍｏｄを設定すると、ファイル管理部１３は、ステップＳ２１０１で退避させた管理情報Ｉｗに基づいて、ファイル２のＩＤまたはスタートブロック番号を取得し、ファイル２を消去する。この消去は、ファイル消去フローＦ１により行う（ステップＳ２１０５）。
次に、ファイル管理部１３は、ワークメモリ上の新管理情報Ｉｗ’のブロックマップＩｍａｐが更新されているか判断し、更新されていない場合はステップＳ２１０８に移行する。ここで、ブロックマップＩｍａｐが変更されるのは、ステップＳ２１０５において消去に失敗し、不良ブロックが登録された場合である（ステップＳ２１０６）。
ブロックマップＩｍａｐが更新されていた場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、更新された新管理情報Ｉｗ’（ステップＳ２５における是正用管理情報）を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２１０７）。
次に、バックアップ管理情報Ｉｂを更新する。すなわち、ファイル管理部１３は、ファイルフラッシュ１１のバックアップ管理情報Ｉｂを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このバックアップ管理情報Ｉｂの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２１０８）。
バックアップ管理情報Ｉｂの更新が終了したら、ステップＳ２１１０に移行し、更新に失敗したら処理を終了する（ステップＳ２１０９）。
ファイル２を消去する処理のすべてが終了したら、ファイル管理部１３は、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを格納しているブロックのモードＲＢｍｏｄに、「００００ｈ」を記述し、データ更新が正常に終了したことを表示する（ステップＳ２１１０）。
次に、ファイルフラッシュ１１のデータファイル領域１１Ｄに、新ファイルを追加する方法を、ファイル２を追加する場合を例にとって説明する。第２０図は、ファイルを追加する方法を説明するフローチャートである。
ファイルフラッシュ１１にファイル２を追加する時には、まず、ワークメモリ１４上の管理情報Ｉｗに新ファイルのファイルＩＤを登録し、ファイルフラッシュ１１に新ファイルを追加できるかを判断する。ファイル管理部１３は、管理情報Ｉｗのファイル管理情報Ｉｆを検索し、ＩＤが未使用となっているファイル情報を取得する。そして、取得したファイル情報のＩＤに、追加する新ファイルのファイルＩＤを登録し、このファイル情報を新ファイルに割り当てる。さらに、ブロックマップＩｍａｐを検索し、ＩＤが未使用となっている空きブロックのブロック情報を取得する。そして、取得したブロック情報のＩＤに新ファイルのファイルＩＤを登録し、このブロック情報によって管理されているブロックを、新ファイルを格納するブロックとして確保する。また、このブロックに格納するものがファイルの一部分である場合、前ブロック番号や次ブロック番号を記述する。この時、管理情報Ｉｗは、追加するファイル２に関する情報が記述された新管理情報Ｉｗ’となっている（ステップＳ２２０１）。
このようにして、新ファイルを追加できることを判断すると、ステップＳ２２０３に移行し、ファイルフラッシュ１１に新ファイルを追加できない場合、処理を終了する（ステップＳ２２０２）。
ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２２０３）。
次に、ワークメモリ１４に、ステップＳ２００１において登録したファイルＩＤを有するファイル２が生成される。このファイル２は、情報処理部３０が生成してもよいし、情報処理装置１００に接続されている他の機器（図示せず）が生成してもよい。また、ファイル２は、このステップより前のステップで生成されてもよい（ステップＳ２２０４）。
ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに、「ＦＦ００ｈ」を書き込み、データファイル領域１１Ｄにファイルを書き込み中であることを表示する（ステップＳ２２０５）。
モードＲＢｍｏｄを設定すると、ファイル管理部１３はファイル書き込みフローＦ２を実行し、ステップＳ２２０１で登録したブロックマップに基づいてファイル２を書き込む（ステップＳ２２０６）。
次に、ファイル管理部１３は、ワークメモリ上の新管理情報Ｉｗ’のブロックマップＩｍａｐが更新されているか判断し、更新されていない場合はステップＳ２２０９に移行する。ブロックマップＩｍａｐが変更されるのは、ステップＳ２２０６において書き込みに失敗し、不良ブロックが登録された場合である（ステップＳ２２０７）。
ブロックマップＩｍａｐが更新されていた場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、更新された新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２２０８）。
次に、バックアップ管理情報Ｉｂを更新する。すなわち、ファイル管理部１３は、ファイルフラッシュ１１のバックアップ管理情報Ｉｂを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このバックアップ管理情報Ｉｂの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２２０９）。
バックアップ管理情報Ｉｂの更新が終了したら、ステップＳ２２１１に移行し、更新に失敗したら処理を終了する（ステップＳ２２１０）。
ファイル２を追加する処理のすべてが終了したら、ファイル管理部１３は、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを格納しているブロックのモードＲＢｍｏｄに、「００００ｈ」を記述し、データ更新が正常に終了したことを表示する（ステップＳ２２１１）。
以上のように、本実施の形態１による情報処理装置においては、情報処理装置１００を、プログラムファイルやデータファイルを保持するメモリ管理装置１０と、メモリ管理装置１０より提供されるプログラムファイルやデータファイルに基づいて処理を行う情報処理部３０と、を有するものとし、メモリ管理装置１０を、プログラムファイルとデータファイルとを格納するファイルフラッシュ１１と、ファイルフラッシュ１１に格納されているファイルの管理を行うファイル管理部１３と、情報処理部３０の作業領域であるワークメモリ１４と、ファイル管理部１３からファイルフラッシュ１１にアクセスできるようにするフラッシュＩ／Ｆ１２と、ブートプログラムを格納するブートフラッシュ１５と、を有するもの、としたので、情報処理部３０は、ワークメモリ１４上に転送されたプログラムを実行することができ、処理を実行する際にファイルフラッシュ１１より１ステップ毎に読み出す必要がなくなる。このため、情報処理部３０の処理速度が高速化され、実行時間を大幅に削減することができる。
また、ファイル管理部１３は、ワークメモリ１４に転送された管理情報Ｉｗを更新することにより、ファイルフラッシュ１１に対して消去や書き込みを行うための新管理情報Ｉｗ’を生成し、ファイルフラッシュ１１のオリジナル管理情報Ｉｏの内容を新管理情報Ｉｗ’の内容により更新し、新管理情報Ｉｗ’の記述に基づいてファイルフラッシュ１１のファイルやブロックの消去、書き込みを行い、ファイルフラッシュ１１のバックアップ管理情報Ｉｂの内容を新管理情報Ｉｗ’の内容に更新するので、ファイル管理部１３により、ファイルフラッシュ１１の書き込み対象や消去対象となるブロックを決定することができる。また、ファイルフラッシュ１１にオリジナル管理情報Ｉｏを書き込んだ後で、ファイルやブロックに対する消去、書き込みを行うので、すべての処理を完了する前に処理を中断した場合に、ファイル管理部１３により、消去途中や書き込み途中のファイルを検出して、該ファイルを消去することができる。さらに、オリジナル管理情報Ｉｏを書き込んだ後で、バックアップ管理情報Ｉｂを書き込むので、バックアップ管理情報Ｉｂの消去や書き込みが途中で中断された場合に、オリジナル管理情報Ｉｏを用いてバックアップ管理情報Ｉｂを復旧することができる。
また、各ページの冗長領域に、データ領域の更新処理状態を表示するモードＲＢｍｏｄと、ブロックのデータの更新処理において不具合が発生したか否かを表示する有効性情報ＲＢｖａｌと、該ブロックが使用されているか否かを表示するページ書込状態ＲＢｗｒと、該ブロックが不具合を有する不良ブロックであるか否かを表示するブロック良否情報ＲＢｂｄと、該ページが使用されているか否かを表示するページ書込状態ＲＰｗｒと、データ領域のＥＣＣデータを格納するＥＣＣ情報ＲＰｅｃｃとを割り付けたので、メモリ管理部１３により、ファイルフラッシュ１１の様々な状態を把握し、その状態に応じた処理を行うことができる。
また、メモリ管理部１３は、冗長領域の各領域の表示値を、４ビット毎に多数決判断することにより２値に割り当てるので、冗長領域に誤書き込みがなされていた場合でも、表示値が示している状態を把握することができる。
また、メモリ管理部１３は、ブロックの複数ページにわたって表示されている表示値を多数決判定し、多数の表示値をそのブロックの値とするので、冗長領域に誤書き込みがなされている場合でも、表示値が示している状態を把握することができる。
さらに、ファイルフラッシュ１１をＮＡＮＤ型フラッシュメモリやＡＮＤ型フラッシュメモリのようなシリアルフラッシュメモリとしたので、ＮＯＲ型フラッシュメモリの約１００分の１の時間で消去を行い、約２０分の１時間で書き込みを行うことができる。また、シリアルフラッシュメモリは記憶容量が大きい上に高集積化が進んでいるので、情報処理装置１００の実装面積を削減することができる。
なお、本実施の形態１では、モードＲＢｍｏｄの、区分した４ビットのうち３ビット以上に「０」が書き込まれているか否かにより、その値を判定する方法を説明したが、４ビット中、全ビットに「０」が書き込まれているか否かにより、その値を判定しても良い。全ビットに「０」書き込まれている場合、その４ビットの値を「０ｈ」とし、「０」が書き込まれてないビットがある場合、その４ビットの値を「Ｆｈ」として、モードＲＢｍｏｄの４値を判定する。
このように、４ビット中、全ビットに「０」が書き込まれているか否かにより、その値を判定することにより、冗長領域に誤書き込みやビット化けが発生していない場合のみ、表示値が示している状態を把握することができるので、より厳密な判定となり、ワークメモリ１４に読み出すデータの信頼性を向上させることができる。
また、本実施の形態１では、モードＲＢｍｏｄを各ブロックの先頭より３ページに設け、処理の状態が進行するに従い、フラグを同一の領域に上書きするようにしたが、各状態を所定のページのモードＲＢｍｏｄに割り当て、処理の状態が進行するに従い、割り当てられたページのモードＲＢｍｏｄにフラグを書き込んでもよい。
例えば、モードＲＢｍｏｄは、処理前の状態を「ＦＦＦＦｈ」、様々な処理が終わった状態を「００００ｈ」、と定義し、ページ４のモードＲＢｍｏｄ４に、「管理情報の更新」を割り当て、ページ３のモードＲＢｍｏｄ３に「ファイルの追加」を割り当て、ページ２のモードＲＢｍｏｄ２に「ファイル消去」を割り当て、ページ１のモードＲＢｍｏｄ１に「データの更新が正常に終了した状態」を割り当ててもよい。
この場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏやバックアップ管理情報Ｉｂの更新の際に、ページ４のモードＲＢｍｏｄ４に「００００ｈ」を書き込む。また、ファイル管理部１３は、ファイルフラッシュ１１にファイルを書き込む際に、ページ３のモードＲＢｍｏｄ３に「００００ｈ」を書き込み、ファイルを消去する際に、ページ２のモードＲＢｍｏｄ２に「００００ｈ」を書き込む。そして、すべての処理が終了すると、ページ１のモードＲＢｍｏｄ１に「００００ｈ」を書き込む。ここで、ファイルの追加や消去などの処理は、必ずオリジナル管理情報Ｉｏを更新した後で行うので、ページ３やページ２、ページ１のモードＲＢｍｏｄ３〜ＲＢｍｏｄ１に「００００ｈ」を書き込むときには、ページ４のモードＲＢｍｏｄ４にも「００００ｈ」が記述されている。ところが、ファイルを消去する前にファイルの追加を行わないこともあるので、ページ２のモードＲＢｍｏｄ２に「００００ｈ」を書き込むときに、ページ３のモードＲＢｍｏｄ３は「００００ｈ」または「ＦＦＦＦｈ」のどちらであってもよい。また、処理が、管理情報の更新のみの場合もあるので、ページ１のモードＲＢｍｏｄ１に「００００ｈ」を書き込むときに、ページ２やページ３のモードＲＢｍｏｄ２、ＲＢｍｏｄ３も、「００００ｈ」または「ＦＦＦＦｈ」のどちらであってもよい。
このようにして記述したモードＲＢｍｏｄの値は、例えば、ステップＳ１００２やステップＳ１００４において、ファイルフラッシュ１１のブロックやオリジナル管理情報Ｉｏ、バックアップ管理情報Ｉｂに対する処理の状態を判定するときに用いられる。すなわち、ファイル管理部１３は、まず、区分した４ビットのうち３ビット以上に「０」が書き込まれているか否か、または、全ビットに「０」が書き込まれているか否かに基づき、該４ビットを「０ｈ」または「Ｆｈ」に割り当てて、各ページの値を判定する。次に、いずれのページに「００００ｈ」が記述されているか判断し、処理の状態を判定する。
このように、処理の各状態を所定のページに割り当て、処理が進行するに従い、割り当てられたページに「００００ｈ」を書き込むことにより、同一ページのモードＲＢｍｏｄに対する書き込み回数を減少させることができ、ファイルフラッシュ１１の耐久性を保持することができる。
また、本実施の形態１では、メモリ管理装置１０を、それぞれ１チップのブートフラッシュ１６と、フラッシュＩ／Ｆ１２とを用いたものとしたが、第２１図に示すように、１チップにフラッシュＩ／Ｆとブートフラッシュの機能を有するインターフェース部１２ａを用いてもよい。
フラッシュＩ／Ｆとブートフラッシュの機能を有するインターフェース部１２ａを用いることにより、メモリ管理装置１０ａの実装面積や、チップ単価、製造工程を削減することができ、コストの合理化を計ることができる。また、ファイル管理部１３においては、フラッシュＩ／Ｆとブートフラッシュとを、同一のアドレス空間として処理を行うことができるようになるので、両者を区別しないプログラムの開発が可能となる。
また、本実施の形態１では、ファイルフラッシュ１１を、１チップ構成のシリアルフラッシュメモリを用いたもの、としているが、複数個のシリアルフラッシュメモリを用いてもよい。
すなわち、第２２図に示すように、ファイルフラッシュ１１ａを、３個のシリアルフラッシュＦａ−１〜Ｆａ−３より構成し、シリアルフラッシュＦａ−１に、全てのファイルフラッシュ１１ａのファイルの管理情報を格納する情報管理領域１１Ｉを割り付け、残りのシリアルフラッシュＦａ−２〜Ｆａ−３により、一連のデータファイル領域１１Ｄを構成するようにしても良い。ここでは、３個のシリアルフラッシュにより構成されたファイルフラッシュ１１ａの例を示したが、構成するシリアルフラッシュの数を限定するものではなく、任意の数（Ｎ個）とすることができる。シリアルフラッシュＦａ−１〜Ｆａ−Ｎのブロック番号を、一連の番号とすることで、ファイル管理部１３は各シリアルフラッシュを区別することなく処理を行うことができる。
これにより、プログラムファイルやデータファイルのサイズの増加に対応することができる。また、各シリアルフラッシュの容量を異なるものとすることができるため、プログラムファイルやデータファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
また、第２３図に示すように、ファイルフラッシュ１１ｂを、３個のシリアルフラッシュＦｂ−１〜Ｆｂ−３より構成し、シリアルフラッシュＦｂ−１の先頭より、全てのファイルフラッシュ１１ｂのファイルの管理情報を格納する情報管理領域１１Ｉを割り付け、シリアルフラッシュＦｂ−１の情報管理領域１１Ｉの後ろからシリアルフラッシュＦｂ−３により、一連のデータファイル領域１１Ｄを形成するようにしても良い。ここでは、３個のシリアルフラッシュにより構成されたファイルフラッシュ１１ｂの例を示したが、構成するシリアルフラッシュの数を限定するものではなく、任意の数（Ｎ個）とすることができる。シリアルフラッシュＦｂ−１〜シリアルフラッシュＦｂ−Ｎのブロック番号を、一連の番号とすることで、ファイル管理部１３は各シリアルフラッシュを区別することなく処理を行うことができる。
これにより、プログラムファイルやデータファイルのサイズの増加に対応することができる。また、各シリアルフラッシュの容量を異なるものとすることができるため、プログラムファイルやデータファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
また、ファイルフラッシュ１１ｃを複数個のシリアルフラッシュより構成し、各シリアルフラッシュにフラッシュ番号およびアドレスを付与し、各々に、当該シリアルフラッシュのファイルの管理情報を格納する情報管理領域とデータファイル領域とを割り付けるようにしても良い。第２４図に、３個のシリアルフラッシュ＃０〜＃２（＃０〜＃２はフラッシュ番号）より構成されるファイルフラッシュ１１ｃの例を示す。各シリアルフラッシュ＃０〜＃２には、アドレスＡ０〜Ａ２が付与され、各々、管理情報＃０〜＃２を格納する情報管理領域１１Ｉ−１〜１１Ｉ−３と、データファイル領域１１Ｄ−１〜１１Ｄ−３とが割り付けられている。各管理情報＃０〜＃２は、ファイルフラッシュ１１の情報管理領域１１Ｉに格納されるオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂに相当するものである。ここでは、３個のシリアルフラッシュにより構成されたファイルフラッシュ１１ｃの例を示したが、構成するシリアルフラッシュの数を限定するものではなく、任意の数（Ｎ個）とすることができる。
このようなファイルフラッシュ１１ｃを用いた場合、ブート処理を行う前に、用いるシリアルフラッシュを選択する必要がある。第２５図は、シリアルフラッシュ選択処理を説明するフローチャートである。
シリアルフラッシュを選択する際、まず、ファイル管理部１３は、選択するフラッシュ番号が指定されたアプリケーションに従って、シリアルフラッシュ＃０が選択されているか判断し（ステップＳ１２１）、シリアルフラッシュ＃０が選択されている場合は、選択対象のシリアルフラッシュのアドレスをアドレスＡ０に設定する（ステップＳ１２２）。シリアルフラッシュ＃０が選択されていない場合、シリアルフラッシュ＃１が選択されているか判断し（ステップＳ１２３）、シリアルフラッシュ＃１が選択されている場合は、選択対象のシリアルフラッシュのアドレスをアドレスＡ１に設定する（ステップＳ１２４）。シリアルフラッシュ＃１が選択されていない場合、シリアルフラッシュ＃２が選択されているか判断し（ステップＳ１２５）、シリアルフラッシュ＃２が選択されている場合、選択対象シリアルフラッシュのアドレスをアドレスＡ２に設定する（ステップＳ１２６）。ファイルフラッシュ１１ｃがＮ個のシリアルフラッシュで構成されている場合、同様の手順で、選択するフラッシュ番号を昇順に判断し、シリアルフラッシュの選択を行う。
このようにしてシリアルフラッシュの選択を行った後、ファイル管理部１３は、選択したファイルフラッシュを用いて処理を行う。
このように、ファイルフラッシュ１１ｃを複数個のシリアルフラッシュより構成し、各々、当該シリアルフラッシュのファイルの管理情報を格納する情報管理領域とデータファイル領域とを割り付けるようにしたので、ファイルフラッシュの交換が可能となる。
（実施の形態２）
次に、本発明の請求の範囲第２項、請求の範囲第４項、請求の範囲第６項ないし請求の範囲第８項に記載の情報処理装置を実施の形態２として、図面を参照しながら説明する。
第２６図は、本実施の形態２に係る情報処理装置の構成を示すブロック図である。なお、第２６図において、第１図に示すものと同一または相当する部分には同一符号を付して、詳しい説明を省略する。
第２６図に示すように、本実施の形態２に係る情報処理装置１００ｂのメモリ管理装置１０ｂは、実施の形態１の情報処理装置１００のメモリ管理装置１０に、起動時の動作を設定する設定手段１７と、外部に接続された外部制御装置２００との通信を行う通信手段１８と、を加えて備え、ファイルフラッシュ１１に、情報処理装置１００ｂの自己診断を行うための自己診断プログラムと、情報処理装置１００ｂを動作させるメインプログラムと、を格納し、ブートフラッシュ１５に、ファイルフラッシュ１１に格納されている自己診断プログラムをワークメモリ１４に読み出す手順を定めたブートプログラムＰＧ１と、ファイルフラッシュ１１に格納されているメインプログラムをワークメモリ１４に読み出す手順を定めたブートプログラムＰＧ２と、外部制御装置２００より転送されるメインプログラムあるいは自己診断プログラムをワークメモリ１４に読み出す手順を定めたブートプログラムＰＧ３と、を格納したものである。
外部制御装置２００は、パーソナルコンピュータや携帯電話などの、メインプログラムあるいは自己診断プログラムを情報処理装置１００ｂに対して転送可能な装置である。
設定手段１７には、起動時にファイル管理部１３が実行するブートプログラムの種類が設定される。例えば、状態１の時は、ファイル管理部１３はブートプログラムＰＧ１を実行し、状態２の時は、ブートプログラムＰＧ２を、状態３の時はブートプログラムＰＧ３を実行する。
また、各ブートプログラムＰＧ１〜ＰＧ３は、メインプログラムや自己診断プログラムをワークメモリ１４に読み出す手順の前に、実施の形態１で説明した、オリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出す手順を有する。
次に、このように構成される情報処理装置１００ｂにおける動作を説明する。
情報処理装置１００ｂが起動されると、ファイル管理部１３は、設定手段１７の設定に従って、第１のブートプログラム、または第２のブートプログラム、または第３のブートプログラムを実行する。
設定手段１７の設定が、状態１である場合、ファイル管理部１３は、ブートプログラムＰＧ１を実行する。すなわち実施の形態１で説明したステップＳ１００１〜ステップＳ１０１０によりオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後、ファイルフラッシュ１１に格納されている自己診断プログラムを、ワークメモリ１４に読み出す。
また、設定手段１７の設定が、状態２である場合、ファイル管理部１３は、ブートプログラムＰＧ２を実行する。ブートプログラムＰＧ１と同様に、実施の形態１で説明したステップＳ１００１〜ステップＳ１０１０によりオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後、ファイルフラッシュ１１に格納されているメインプログラムを、ワークメモリ１４に読み出す。
さらに、設定手段１７の設定が、状態３である場合、ファイル管理部１３は、ブートプログラムＰＧ３を実行する。ブートプログラムＰＧ１と同様に、実施の形態１で説明したステップＳ１００１〜ステップＳ１０１０によりオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後、通信手段１８を介して外部制御装置２００より転送されるメインプログラム、あるいは自己診断プログラムを、ワークメモリ１４に読み出す。
すると、情報処理部３０は、ワークメモリ１４上のプログラムの処理を実行する。
ここで、情報処理部３０が処理を行い、ワークメモリ１４上に新たにファイル４を生成した場合、ファイル管理部１３は、ファイル４を、通信手段１８を介して外部制御装置２００に転送する。
また、ファイル管理部１３は、情報処理部３０の命令に基づいて、ファイル４をファイルフラッシュ１１に書き込む。この書き込みは、実施の形態１で説明したステップＳ２２０１〜ステップＳ２２１１により行い、ファイルフラッシュ１１のオリジナル管理情報Ｉｏの内容を、ファイル４の情報を記述した管理情報Ｉｗの内容により更新し、ファイルフラッシュ１１にファイル４を書き込む。そして、バックアップ管理情報Ｉｂの内容を管理情報Ｉｗの内容により更新して、ファイル４の書き込みを終了する。
さらに、ファイル管理部１３は、外部制御装置２００あるいは情報処理部３０の要求に応じて、ワークメモリ１４上のプログラムファイルやデータファイルを、通信手段１８を介して外部制御装置２００に送信する。
また、ワークメモリ１４上のプログラムが外部制御装置２００よりプログラムを取得する手順を定めたものである場合や、外部制御装置２００からプログラムの取得を命令された場合、情報処理部３０は、通信手段１８を介してプログラムファイルやデータファイルを、外部制御装置２００より取得する。
以上のように、本実施の形態２による情報処理装置１００ｂにおいては、情報処理装置１００ｂに、起動時の動作を設定する設定手段１７と、外部に接続された外部制御装置２００との通信を行う通信手段１８と、を備えたので、自己診断プログラム、またはメインプログラムを選択して実行することができる。また、情報処理装置１００ｂにおいて自己診断を行うことができるようになるので、従来、診断のために必要であった各種治具が不要となり、保守サービスのために冶具を長期間保持する必要がなくなる。
また、通信手段１８を介して外部制御装置２００と接続したので、新たなプログラムファイルを取得し、ソフトのバージョンアップや、新たな機能の追加を容易に行うことができる。また、外部より容易にファイルを取得できるので、ファイルフラッシュ１１に格納するファイルの数を削減することができるとともに、より安価な小容量のファイルフラッシュを用いることができる。
さらに、情報処理装置１００ｂを動作させるプログラムの開発時に、開発中のプログラムを、ファイルフラッシュ１１に書き込むことなく動作させることができるので、プログラムのデバッグも容易に行うことができる。
また、外部制御装置２００からの要求に応じて、プログラムファイルやデータファイルを通信手段１８を介して外部制御装置２００に送信するので、情報処理装置１００ｂの外部より、自己診断の結果や、動作結果などをモニタすることができる。
なお、本実施の形態２では、通信手段１８を介して外部制御装置２００に接続した情報処理装置１００ｂについて説明したが、さらに多くの種類のプログラムファイルやデータファイルを取得するために、情報処理装置１００ｂを、通信手段１８を介して、直接、インターネット等に接続してもよい。また、情報処理装置１００ｂを、通信手段１８および外部制御装置２００を経由してインターネット等に接続してもよい。
（実施の形態３）
次に、本発明の請求の範囲第３項ないし請求の範囲第８項に記載の情報処理装置を実施の形態３として、図面を参照しながら説明する。
第２７図は、本実施の形態３に係る情報処理装置の構成を示すブロック図である。なお、第２７図において、第２６図に示すものと同一または相当する部分には同一符号を付して、詳しい説明を省略する。
第２７図に示すように、本実施の形態３に係る情報処理装置１００ｃのメモリ管理装置１０ｃは、実施の形態２の情報処理装置１００ｂのメモリ管理装置１０ｂに、メインプログラムや自己診断プログラムなどのプログラムファイル、およびデータファイルを蓄積して格納するデータ蓄積手段１９を、加えて備えたものである。また、ブートフラッシュ１５には、実施の形態２で説明したブートプログラムＰＧ１〜ＰＧ３に加え、オリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後に、データ蓄積手段１９に蓄積されているメインプログラムあるいは自己診断プログラムをワークメモリ１４に読み出す手順を定めたブートプログラムＰＧ４が格納され、設定手段１７には、実施の形態２で説明した状態１〜状態３に加え、ファイル管理部１３がブートプログラムＰＧ４を実行する状態４が割り当てられている。
データ蓄積手段１９は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）や、ハードディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅｃｏｒｄａｂｌｅ）、半導体メモリ装置などの、電源切断後もデータを保持する記録媒体である。
次に、このように構成される情報処理措置１００ｃにおける動作を説明する。
情報処理装置１００ｃが起動されると、ファイル管理部１３は、設定手段１７の設定に従って、第１のブートプログラム、または第２のブートプログラム、または第３のブートプログラム、または第４のブートプログラムを実行する。
設定手段１７の設定が、状態１である場合、ファイル管理部１３はブートプログラムＰＧ１を、状態２である場合、ブートプログラムＰＧ２を、状態３である場合、ブートプログラムＰＧ３を実行する。また、設定手段１７の設定が、状態４である場合、ファイル管理部１３は、ブートプログラムＰＧ４を実行し、オリジナル管理情報Ｉｏと、バックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後、データ蓄積手段１９に蓄積されているメインプログラムあるいは自己診断プログラムをワークメモリ１４に読み出す。
すると、情報処理部３０は、ワークメモリ１４上のプログラムの処理を実行する。
情報処理部３０による処理の結果、新たにファイル５が生成された場合、ファイル管理部１３は、情報処理部３０からの命令に基づいて、ファイル５をファイルフラッシュ１１に書き込む。この書き込みは、実施の形態１で説明したステップＳ２２０１〜ステップＳ２２１１により行い、ファイルフラッシュ１１のオリジナル管理情報Ｉｏの内容を、ファイル５の情報を記述した管理情報Ｉｗの内容により更新し、ファイルフラッシュ１１にファイル５を書き込む。そして、バックアップ管理情報Ｉｂの内容を管理情報Ｉｗの内容により更新して、ファイル５の書き込みを終了する。
また、ファイル管理部１３は、外部制御装置２００あるいは情報処理手段３０の要求に応じて、ファイル５を、通信手段１８を介して外部制御装置２００に送信する。
さらに、ファイル管理部１３は、情報処理手段３０の命令に基づいて、ファイル５をデータ蓄積手段１９に蓄積する。
また、ワークメモリ１４上のプログラムが外部制御装置２００よりプログラムを取得する手順を定めたものである場合や、外部制御装置２００からプログラムの取得を命令された場合、情報処理部３０は、通信手段１８を介してプログラムファイルやデータファイルを、外部制御装置２００より取得する。以上のように、本発明の実施の形態３による情報処理装置１００ｃにおいては、情報処理装置１００ｃに、データを蓄積して格納するデータ蓄積手段１９を備えたので、自己診断プログラムの実行により生成した自己診断結果ファイルや、情報処理装置１００ｃの使用履歴および故障履歴などをデータ蓄積手段１９に蓄積することができるとともに、該情報を蓄積した記録媒体を取り外して使用することができる。また、この自己診断結果ファイルを用いて、情報処理装置１００ｃや、情報処理装置１００ｃに接続されている他の機器の劣化などをモニタすることができる。さらに、データ蓄積手段１９を介して、外部からの各種ファイルの取得や、メインプログラムおよび自己診断プログラムの実行が可能となる。
産業上の利用可能性
本発明の情報処理装置、メモリ管理装置、メモリ管理方法、および情報処理方法は、メモリ容量の大きいシリアルフラッシュメモリに対して、不具合を生じることなく書き込みや読み出しを行うとともに、電源投入時にブート処理をうことによりＣＰＵの実行時間を短縮するので、有用である。
【図面の簡単な説明】
第１図は、本発明の実施の形態１に係る情報処理装置の構成を示すブロック図である。
第２図は、本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの記憶領域の構造を説明する模式図である。
第３図は、本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの構成を説明する模式図である。
第４図は、本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの冗長領域の構成を説明する模式図である。
第５図は、本発明の実施の形態１に係る情報処理装置における、冗長領域のモードを判定する方法を説明する図である。
第６図は、本発明の実施の形態１に係る情報処理装置による、ファイル２をファイル３に更新する手順を説明する図である。
第７図は、本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュにおける、ブロック消去の方法を説明するフローチャートである。
第８図は、本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュよりファイルを消去する方法を説明するフローチャートである。
第９図は、本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュにおける、ページ書き込みの方法を説明するフローチャートである。
第１０図は、本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュに、ファイルを書き込む方法を説明するフローチャートである。
第１１図は、本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュにおける、ページ読み出しの方法を説明するフローチャートである。
第１２図は、本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュより、ファイルを読み出す方法を説明するフローチャートである。
第１３図は、本発明の実施の形態１に係る情報処理装置の、ブート処理を説明するフローチャートである。
第１４図は、本発明の実施の形態１に係るメモリ管理装置による、書き込みまたは消去の途中のファイルをファイルフラッシュより消去する方法を説明するフローチャートである。
第１５図は、本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュのオリジナル管理情報およびバックアップ管理情報を更新する方法を説明するフローチャートである。
第１６図は、本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュのオリジナル管理情報およびバックアップ管理情報を、新たなブロックに書き込む方法を説明するフローチャートである。
第１７図は、本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュのファイル２をファイル３に更新する方法を説明するフローチャートである。
第１８図は、本発明の実施の形態１に係るメモリ管理装置により、新ファイルを追加できるかを判断する方法を説明する。
第１９図は、本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュよりファイルを消去する方法を説明するフローチャートである。
第２０図は、本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュにファイルを追加する方法を説明するフローチャートである。
第２１図は、本発明の実施の形態１に係る情報処理装置の構成の別の一例を示すブロック図である。
第２２図は、本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの構成の別の一例を示す模式図である。
第２３図は、本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの構成の別の一例を示す模式図である。
第２４図は、本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの構成の別の一例を示す模式図である。
第２５図は、第２４図に示したファイルフラッシュにおいて、シリアルフラッシュを選択する方法を説明するフローチャートである。
第２６図は、本発明の実施の形態２に係る情報処理装置の構成を示すブロック図である。
第２７図は、本発明の実施の形態３に係る情報処理装置の構成を示すブロック図である。
第２８図は、従来の情報処理装置の構成を示すブロック図である。
【図１】
2003065210.tif 000003
【図２】
2003065210.tif 000004
【図３】
2003065210.tif 000005
【図４】
2003065210.tif 000006
【図５】
2003065210.tif 000007
【図６】
2003065210.tif 000008
【図７】
2003065210.tif 000009
【図８】
2003065210.tif 000010
【図９】
2003065210.tif 000011
【図１０】
2003065210.tif 000012
【図１１】
2003065210.tif 000013
【図１２】
2003065210.tif 000014
【図１３】
2003065210.tif 000015
【図１４】
2003065210.tif 000016
【図１５】
2003065210.tif 000017
【図１６】
2003065210.tif 000018
【図１７】
2003065210.tif 000019
【図１８】
2003065210.tif 000020
【図１９】
2003065210.tif 000021
【図２０】
2003065210.tif 000022
【図２１】
2003065210.tif 000023
【図２２】
2003065210.tif 000024
【図２３】
2003065210.tif 000025
【図２４】
2003065210.tif 000026
【図２５】
2003065210.tif 000027
【図２６】
2003065210.tif 000028
【図２７】
2003065210.tif 000029
【図２８】
2003065210.tif 000030
【手続補正書】
【提出日】平成15年10月2日(2003.10.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、
上記メモリ管理装置は、
プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、
起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、
供給されるファイルを格納する補助記憶手段と、
上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、
を備え、
上記ファイル管理手段は、起動時に、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、
上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行する、
ことを特徴とする情報処理装置。
【請求項２】
ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、
上記メモリ管理装置は、
第１のプログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、
装置外部から第２のプログラムファイルを取得する通信手段と、
供給されるファイルを格納する補助記憶手段と、
起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、
上記主記憶手段および上記補助記憶手段に対するアクセスを行うファイル管理手段と、
起動時の処理を設定する設定手段と、
上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記主記憶手段に格納されている上記第１のプログラムファイルを上記補助記憶手段に転送する第１の転送手段と、
上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記通信手段を介して取得した上記第２のプログラムファイルを上記補助記憶手段に転送する第２の転送手段と、
を備え、
起動時に、上記メモリ管理装置は、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行い、
上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出して、該プログラムの処理を実行する、
ことを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
上記メモリ管理装置は、
第３のプログラムファイル、および供給されるデータを蓄積して格納するデータ蓄積デバイスと、
上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記データ蓄積デバイスに格納されている上記第３のプログラムファイルを上記補助記憶手段に転送する第３の転送手段と、
を加えて備え、
起動時に、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段と、上記第３の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行う、
ことを特徴とする情報処理装置。
【請求項４】
請求項２または請求項３に記載の情報処理装置において、
上記処理装置は、上記通信手段を介して装置外部よりファイルを取得する、
ことを特徴とする情報処理装置。
【請求項５】
請求項３に記載の情報処理装置において、
上記ファイル管理手段は、上記処理装置において生成したファイルを、上記データ蓄積デバイスに格納する、
ことを特徴とする情報処理装置。
【請求項６】
請求項２ないし請求項５のいずれかに記載の情報処理装置において、
上記ファイル管理手段は、上記処理装置において生成したファイルを、上記通信手段を介して外部に出力する、
ことを特徴とする情報処理装置。
【請求項７】
請求項１ないし請求項６のいずれかに記載の情報処理装置において、
上記ファイル管理手段は、上記処理装置において生成したファイルを、上記主記憶手段に格納する、
ことを特徴とする情報処理装置。
【請求項８】
請求項１ないし請求項７のいずれかに記載の情報処理装置において、
上記主記憶手段は、シリアルフラッシュメモリである、
ことを特徴とする情報処理装置。
【請求項９】
請求項８に記載の情報処理装置において、
上記主記憶手段は、上記管理情報と種々のファイルとを格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなる、
ことを特徴とする情報処理装置。
【請求項１０】
請求項８に記載の情報処理装置において、
上記主記憶手段は、上記管理情報を格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなる、
ことを特徴とする情報処理装置。
【請求項１１】
請求項８に記載の情報処理装置において、
上記主記憶手段は、各々が上記管理情報と種々のファイルとを格納する複数個のシリアルフラッシュメモリよりなる、
ことを特徴とする情報処理装置。
【請求項１２】
ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段と、
上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成手段と、
上記主記憶手段が有する上記第１の管理情報の内容を、上記新管理情報の内容により更新する第１の管理情報更新手段と、
上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理手段と、
上記主記憶手段が有する上記第２の管理情報の内容を、上記新管理情報の内容により更新する第２の管理情報更新手段と、
を備えたことを特徴とするメモリ管理装置。
【請求項１３】
請求項１２に記載のメモリ管理装置において、
上記管理情報生成手段が生成する上記新管理情報は、
上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、
上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、
上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、
上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むものである、
ことを特徴とするメモリ管理装置。
【請求項１４】
請求項１２または請求項１３に記載のメモリ管理装置において、
上記主記憶手段は、処理状態を表示する処理状態表示領域を有する、
ことを特徴とするメモリ管理装置。
【請求項１５】
請求項１４に記載のメモリ管理装置において、
上記処理状態表示領域は、
所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、
所定の領域に対する消去、書き込み処理で生じる各種の状態を表示する動作状態表示領域と、
所定の領域が使用できないことを表示する使用禁止表示領域と、
を有する、ことを特徴とするメモリ管理装置。
【請求項１６】
請求項１５に記載のメモリ管理装置において、
上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
上記書き込み終了表示領域は、
各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、
各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、
を有する、ことを特徴とするメモリ管理装置。
【請求項１７】
請求項１６に記載のメモリ管理装置において、
上記記憶処理手段は、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きする、
ことを特徴とするメモリ管理装置。
【請求項１８】
請求項１５に記載のメモリ管理装置において、
上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
上記記憶処理手段は、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きする、
ことを特徴とするメモリ管理装置。
【請求項１９】
請求項１８に記載のメモリ管理装置において、
上記状態表示は、
上記第１の管理情報が消去中であることを示す、第１の状態表示と、
上記第１の管理情報が更新中であることを示す、第２の状態表示と、
新しいファイルが書き込み中であることを示す、第３の状態表示と、
古いファイルが消去中であることを示す、第４の状態表示と、
上記第２の管理情報が消去中であることを示す、第５の状態表示と、
上記第２の管理情報が更新中であることを示す、第６の状態表示と、
すべての処理が終了したことを示す、第７の状態表示と、
を有することを特徴とするメモリ管理装置。
【請求項２０】
請求項１５または請求項１８に記載のメモリ管理装置において、
上記動作状態表示領域は、
上記第１の管理情報が消去中であることを表示する、第１の状態表示領域と、
上記第１の管理情報が更新中であることを表示する、第２の状態表示領域と、
新しいファイルが書き込み中であることを表示する、第３の状態表示領域と、
古いファイルが消去中であることを表示する、第４の状態表示領域と、
上記第２の管理情報が消去中であることを表示する、第５の状態表示領域と、
上記第２の管理情報が更新中であることを表示する、第６の状態表示領域と、
すべての処理が終了したことを表示する、第７の状態表示領域と、
を有することを特徴とするメモリ管理装置。
【請求項２１】
請求項１５に記載のメモリ管理装置において、
上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、
上記記憶処理手段は、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きする、
ことを特徴とするメモリ管理装置。
【請求項２２】
請求項１４ないし請求項２１のいずれかに記載のメモリ管理装置において、
上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により２値に割り当て、各領域の表示値を取得する表示値取得手段を備えた、
ことを特徴とするメモリ管理装置。
【請求項２３】
請求項１４ないし請求項２１のいずれかに記載のメモリ管理装置において、
上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより２値に割り当て、各領域の表示値を取得する表示値取得手段を備えた、
ことを特徴とするメモリ管理装置。
【請求項２４】
請求項１６、請求の範囲１８項、請求項２１のいずれかに記載のメモリ管理装置において、
上記メモリ管理装置は、各ページに表示されている値を一定ビット毎に区分して２値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えた、
ことを特徴とするメモリ管理装置。
【請求項２５】
請求項１２ないし請求項２４のいずれかに記載のメモリ管理装置において、
上記主記憶手段は、シリアルフラッシュメモリである、
ことを特徴とするメモリ管理装置。
【請求項２６】
データを格納する複数のブロックを有し、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対する消去および書き込みを行うメモリ管理方法であって、
新データを書き込むブロックの情報と、旧データを消去するブロックの情報とを含む新管理情報を生成する管理情報生成ステップと、
上記新管理情報に基づいて上記新データを書き込むブロック書き込みステップと、
上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、
上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、
上記新管理情報に基づいて上記旧データを消去するブロック消去ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項２７】
ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去および書き込みを管理するメモリ管理方法であって、
追加する新ファイルの情報と、消去する旧ファイルの情報とを含む新管理情報を生成する管理情報生成ステップと、
上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、
上記新管理情報に基づいて上記新ファイルを書き込み、上記新管理情報に基づいて上記旧ファイルを消去するファイル更新ステップと、
上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項２８】
ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの書き込みを管理するメモリ管理方法であって、
追加するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、
上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、
上記新管理情報に基づいて、ファイルを書き込むファイル書き込みステップと、
上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項２９】
請求項２６ないし請求項２８のいずれかに記載のメモリ管理方法において、
上記主記憶手段は、データを格納する複数のブロックよりなり、ファイルを格納するデータ記憶領域を有するものであり、
上記ブロック書き込みステップまたは上記ファイル更新ステップまたは上記ファイル書き込みステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、
上記データ記憶領域内の使用可能な代替ブロックに、使用できなくなったブロックに書き込む内容を再書き込みする再書き込みステップと、
上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックおよび上記代替ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項３０】
ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去を管理するメモリ管理方法であって、
消去するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、
上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、
上記新管理情報に基づいて、ファイルを消去するファイル消去ステップと、
上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項３１】
請求項３０に記載のメモリ管理方法において、
上記主記憶手段は、データを格納する複数のブロックよりなるものであり、
上記ファイル消去ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、
上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項３２】
請求項２６ないし請求項２８、請求項３０のいずれかに記載のメモリ管理方法において、
上記主記憶手段は、データを格納する複数のブロックよりなり、上記第１の管理情報および上記第２の管理情報を格納する管理情報記憶領域を有するものであり、
上記第１の管理情報更新ステップ及び第２の管理情報更新ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止であることを示す禁止表示を上書きする使用禁止表示ステップと、
上記管理情報記憶領域内の使用可能な代替ブロックに、上記新管理情報を再書き込みする管理情報再書き込みステップと、
を備えたことを特徴とするメモリ管理方法。
【請求項３３】
ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置による情報処理方法であって、
上記メモリ管理装置は、
プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、
起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、
供給されるファイルを格納する補助記憶手段と、
上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、
を備えたものであり、
該情報処理装置は、
起動時に、上記ファイル管理手段により、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、
上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、
上記処理装置により、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行する、
ことを特徴とする情報処理方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶手段に格納したファイルのデータの信頼性を低下させることなく管理する情報処理装置、およびメモリ管理装置、およびメモリ管理方法、および情報処理方法に関する。
【背景技術】
【０００２】
ＤＶＤなどのデジタル家電機器では、機器を動作させるプログラムの保持や、処理したデータの記憶等のために、フラッシュメモリを用いた記憶装置を有している。
【０００３】
フラッシュメモリは、その記憶素子の構成より、ＮＡＮＤ型フラッシュメモリ、ＡＮＤ型フラッシュメモリのようなシリアルフラッシュメモリや、ＮＯＲ型フラッシュメモリなどに分類することができる。
【０００４】
このうち、ＮＯＲ型のものは、書き込みや読み出し動作において不具合が生じる確率が低く、信頼性が高いメモリである。また、ＣＰＵが直接アクセスすることができるので、読み出し速度が速く、ランダムアクセスに適しており、プログラムを格納するためのメモリとして利用されている。
【０００５】
一方、シリアルフラッシュメモリは、メモリセルのサイズがＮＯＲ型フラッシュメモリの約３分の１と小さく、高集積化が進んでいる上に、消去及び書き込み速度が速く、消去時間がＮＯＲ型フラッシュメモリの約１００分の１、書き込み時間が約２０分の１である。ところが、ＣＰＵから直接アクセスすることができないうえに、書き込みや読み出し動作に不具合が生じる確率が相対的に高い、という欠点がある。このため、動画データ、オーディオデータなど、時間的連続性があるストリームデータのように、高精度な読み出しおよび書き込みが要求されないデータを格納する際に利用されている。
【０００６】
このような機能および特性より、従来のデジタル家電機器の動作を制御する情報処理装置では、プログラムを格納するメモリとしてＮＯＲ型フラッシュメモリを用いていた。ＮＯＲ型フラッシュメモリを有する情報処理装置としては、図２８に示すような構成が一般的である。以下、その構成および動作について図面を参照しながら説明する。
【０００７】
図２８に示すように、従来の情報処理装置１００ｄは、情報処理部３０と、変数を保持するワークメモリ１４と、プログラムを格納するＮＯＲ型フラッシュ２１と、電源切断時に情報を待避させる情報退避部２２と、を有する。
【０００８】
ワークメモリ１４は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）が用いられる。
【０００９】
ＮＯＲ型フラッシュ２１は、情報処理部３０からのアクセスにより、格納しているデータを情報処理部３０に供給する。また、情報処理部３０からのアクセスにより、格納しているデータの消去、および供給されるデータの格納を行う。
【００１０】
情報退避部２２は、情報処理部３０より供給される、動作状況やディスクの書き込みアドレスなどの管理情報を格納するＳＲＡＭ（Static Random Access Memory）である。ＳＲＡＭは消費電力が小さいため、電源を切断してもバックアップ電池を使用することで、保持しているデータが消去されないメモリであり、情報退避部２２は、情報処理部３０より消去および書き換えが命令されるまで、データを変更することなく保持する。
【００１１】
次に、このように構成される情報処理装置１００ｄの動作について説明する。
情報処理装置１００ｄに電源が投入されると、情報処理部３０は、情報退避部２２に格納されている変数を読み出し、ワークメモリ１４に転送する。そして、ＮＯＲ型フラッシュ２１に格納されているプログラムを１ステップ毎に読み出し、記述されているプログラムの命令に従って、順次、処理を実行する。変数に変化が生じた場合、情報処理部３０はワークメモリ１４の変数を書き換える。また、情報処理部３０は、処理を実行しながら、定期的に、情報退避部２２に変数をバックアップする。そして、電源切断時に、情報処理部３０は、電源切断直前の状態を情報退避部２２に書き込む。
【００１２】
しかしながら、ＮＯＲ型フラッシュのメモリ容量は、最大３２Ｍｂｉｔ程度であるため、デジタル家電機器のプログラムが増大するに従い、単一のメモリにプログラムを格納することができなくなっている。ところが、複数のＮＯＲ型フラッシュを配置すると、部品の数が増加するので、基盤の実装面積や製造コストを増大させる、という問題がある。
【００１３】
また、ＳＲＡＭは、電源切断後も管理情報や電源切断直前のデータを保持するためにバックアップ電源が必要である。このため、従来のディジタル家電は、市販されているコイン型のリチウム電池や、通電時に充電する充電電池などによって、常時ＳＲＡＭに電源を供給する回路をも有しており、基盤の実装面積をさらに増大させている。その上、ＳＲＡＭ自体も高価であるため、ＳＲＡＭによらない管理情報のバックアップが望まれている。
【００１４】
さらに、従来の情報処理装置１００ｄは、情報処理部３０が、プログラムを１ステップ毎にＮＯＲ型フラッシュ２１より読み出して、処理を実行しているので、実行時間がかかるという問題もある。
【００１５】
本発明は、上記のような問題点を解決するためのものであり、メモリ容量の大きいシリアルフラッシュメモリに対して、不具合を生じることなく書き込みや読み出しを行うとともに、電源投入時にブート処理を行いＣＰＵの実行時間を短縮することのできる情報処理装置、およびメモリ管理装置、およびメモリ管理方法、および情報処理方法を提供することを目的とする。
【発明の開示】
【００１６】
上記の課題を解決するために、本発明の請求項１にかかる情報処理装置は、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、上記メモリ管理装置は、プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、供給されるファイルを格納する補助記憶手段と、上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、を備え、上記ファイル管理手段は、起動時に、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行するもの、としたものである。
【００１７】
本発明の請求項２にかかる情報処理装置は、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、上記メモリ管理装置は、第１のプログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、装置外部から第２のプログラムファイルを取得する通信手段と、供給されるファイルを格納する補助記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、上記主記憶手段および上記補助記憶手段に対するアクセスを行うファイル管理手段と、起動時の処理を設定する設定手段と、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記主記憶手段に格納されている上記第１のプログラムファイルを上記補助記憶手段に転送する第１の転送手段と、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記通信手段を介して取得した上記第２のプログラムファイルを上記補助記憶手段に転送する第２の転送手段と、を備え、起動時に、上記メモリ管理装置は、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行い、上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出して、該プログラムの処理を実行するもの、としたものである。
【００１８】
本発明の請求項３にかかる情報処理装置は、請求項２に記載の情報処理装置において、上記メモリ管理装置は、第３のプログラムファイル、および供給されるデータを蓄積して格納するデータ蓄積デバイスと、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記データ蓄積デバイスに格納されている上記第３のプログラムファイルを上記補助記憶手段に転送する第３の転送手段と、を加えて備え、起動時に、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段と、上記第３の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行うもの、としたものである。
【００１９】
本発明の請求項４にかかる情報処理装置は、請求項２または請求項３に記載の情報処理装置において、上記処理装置は、上記通信手段を介して装置外部よりファイルを取得するもの、としたものである。
【００２０】
本発明の請求項５にかかる情報処理装置は、請求項３に記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記データ蓄積デバイスに格納するもの、としたものである。
【００２１】
本発明の請求項６にかかる情報処理装置は、請求項２ないし請求項５のいずれかに記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記通信手段を介して外部に出力するもの、としたものである。
【００２２】
本発明の請求項７にかかる情報処理装置は、請求項１ないし請求項６のいずれかに記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記主記憶手段に格納するもの、としたものである。
【００２３】
本発明の請求項８にかかる情報処理装置は、請求項１ないし請求項７のいずれかに記載の情報処理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたものである。
【００２４】
本発明の請求項９にかかる情報処理装置は、請求項８に記載の情報処理装置において、上記主記憶手段は、上記管理情報と種々のファイルとを格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなるもの、としたものである。
【００２５】
本発明の請求項１０にかかる情報処理装置は、請求項８に記載の情報処理装置において、上記主記憶手段は、上記管理情報を格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなるもの、としたものである。
【００２６】
本発明の請求項１１にかかる情報処理装置は、請求項８に記載の情報処理装置において、上記主記憶手段は、各々が上記管理情報と種々のファイルとを格納する複数個のシリアルフラッシュメモリよりなるもの、としたものである。
【００２７】
本発明の請求項１２にかかるメモリ管理装置は、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段と、上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成手段と、上記主記憶手段が有する上記第１の管理情報の内容を、上記新管理情報の内容により更新する第１の管理情報更新手段と、上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理手段と、上記主記憶手段が有する上記第２の管理情報の内容を、上記新管理情報の内容により更新する第２の管理情報更新手段と、を備えたもの、としたものである。
【００２８】
本発明の請求項１３にかかるメモリ管理装置は、請求項１２に記載のメモリ管理装置において、上記管理情報生成手段が生成する上記新管理情報は、上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むもの、としたものである。
【００２９】
本発明の請求項１４にかかるメモリ管理装置は、請求項１２または請求項１３に記載のメモリ管理装置において、上記主記憶手段は、処理状態を表示する処理状態表示領域を有するもの、としたものである。
【００３０】
本発明の請求項１５にかかるメモリ管理装置は、請求項１４に記載のメモリ管理装置において、上記処理状態表示領域は、所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、所定の領域に対する消去、書き込み処理で生じる各種の状態を表示する動作状態表示領域と、所定の領域が使用できないことを表示する使用禁止表示領域と、を有するもの、としたものである。
【００３１】
本発明の請求項１６にかかるメモリ管理装置は、請求項１５に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記書き込み終了表示領域は、各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、を有するもの、としたものである。
【００３２】
本発明の請求項１７にかかるメモリ管理装置は、請求項１６に記載のメモリ管理装置において、上記記憶処理手段は、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きするもの、としたものである。
【００３３】
本発明の請求項１８にかかるメモリ管理装置は、請求項１５に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きするもの、としたものである。
【００３４】
本発明の請求項１９にかかるメモリ管理装置は、請求項１８に記載のメモリ管理装置において、上記状態表示は、上記第１の管理情報が消去中であることを示す、第１の状態表示と、上記第１の管理情報が更新中であることを示す、第２の状態表示と、新しいファイルが書き込み中であることを示す、第３の状態表示と、古いファイルが消去中であることを示す、第４の状態表示と、上記第２の管理情報が消去中であることを示す、第５の状態表示と、上記第２の管理情報が更新中であることを示す、第６の状態表示と、すべての処理が終了したことを示す、第７の状態表示と、を有するもの、としたものである。
【００３５】
本発明の請求項２０にかかるメモリ管理装置は、請求項１５または請求項１８に記載のメモリ管理装置において、上記動作状態表示領域は、上記第１の管理情報が消去中であることを表示する、第１の状態表示領域と、上記第１の管理情報が更新中であることを表示する、第２の状態表示領域と、新しいファイルが書き込み中であることを表示する、第３の状態表示領域と、古いファイルが消去中であることを表示する、第４の状態表示領域と、上記第２の管理情報が消去中であることを表示する、第５の状態表示領域と、上記第２の管理情報が更新中であることを表示する、第６の状態表示領域と、すべての処理が終了したことを表示する、第７の状態表示領域と、を有するもの、としたものである。
【００３６】
本発明の請求項２１にかかるメモリ管理装置は、請求項１５に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きするもの、としたものである。
【００３７】
本発明の請求項２２にかかるメモリ管理装置は、請求項１４ないし請求項２１のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により２値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたものである。
【００３８】
本発明の請求項２３にかかるメモリ管理装置は、請求項１４ないし請求項２１のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより２値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたものである。
【００３９】
本発明の請求項２４にかかるメモリ管理装置は、請求項１６、請求の範囲１８項、請求項２１のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、各ページに表示されている値を一定ビット毎に区分して２値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えたもの、としたものである。
【００４０】
本発明の請求項２５にかかるメモリ管理装置は、請求項１２ないし請求項２４のいずれかに記載のメモリ管理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたものである。
【００４１】
本発明の請求項２６にかかるメモリ管理方法は、データを格納する複数のブロックを有し、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対する消去および書き込みを行うメモリ管理方法であって、新データを書き込むブロックの情報と、旧データを消去するブロックの情報とを含む新管理情報を生成する管理情報生成ステップと、上記新管理情報に基づいて上記新データを書き込むブロック書き込みステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、上記新管理情報に基づいて上記旧データを消去するブロック消去ステップと、を備えたもの、としたものである。
【００４２】
本発明の請求項２７にかかるメモリ管理方法は、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去および書き込みを管理するメモリ管理方法であって、追加する新ファイルの情報と、消去する旧ファイルの情報とを含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて上記新ファイルを書き込み、上記新管理情報に基づいて上記旧ファイルを消去するファイル更新ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたものである。
【００４３】
本発明の請求項２８にかかるメモリ管理方法は、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの書き込みを管理するメモリ管理方法であって、追加するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて、ファイルを書き込むファイル書き込みステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたものである。
【００４４】
本発明の請求項２９にかかるメモリ管理方法は、請求項２６ないし請求項２８のいずれかに記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなり、ファイルを格納するデータ記憶領域を有するものであり、上記ブロック書き込みステップまたは上記ファイル更新ステップまたは上記ファイル書き込みステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、上記データ記憶領域内の使用可能な代替ブロックに、使用できなくなったブロックに書き込む内容を再書き込みする再書き込みステップと、上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックおよび上記代替ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、を備えたもの、としたものである。
【００４５】
本発明の請求項３０にかかるメモリ管理方法は、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去を管理するメモリ管理方法であって、消去するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて、ファイルを消去するファイル消去ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたものである。
【００４６】
本発明の請求項３１にかかるメモリ管理方法は、請求項３０に記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなるものであり、上記ファイル消去ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、を備えたもの、としたものである。
【００４７】
本発明の請求項３２にかかるメモリ管理方法は、請求項２６ないし請求項２８、請求項３０のいずれかに記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなり、上記第１の管理情報および上記第２の管理情報を格納する管理情報記憶領域を有するものであり、上記第１の管理情報更新ステップ及び第２の管理情報更新ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止であることを示す禁止表示を上書きする使用禁止表示ステップと、上記管理情報記憶領域内の使用可能な代替ブロックに、上記新管理情報を再書き込みする管理情報再書き込みステップと、を備えたもの、としたものである。
【００４８】
本発明の請求項３３にかかる情報処理方法は、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置による情報処理方法であって、上記メモリ管理装置は、プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、供給されるファイルを格納する補助記憶手段と、上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、を備えたものであり、該情報処理装置は、起動時に、上記ファイル管理手段により、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、上記処理装置により、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行するもの、としたものである。
【００４９】
以上説明したように、本発明の請求項１にかかる情報処理装置によれば、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、上記メモリ管理装置は、プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、供給されるファイルを格納する補助記憶手段と、上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、を備え、上記ファイル管理手段は、起動時に、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行するもの、としたので、上記処理装置は、処理を実行する際にプログラムを１ステップ毎に上記主記憶装置より読み出す必要がなくなる。このため、上記処理装置の処理速度が高速化され、実行時間を大幅に削減することができる。
【００５０】
本発明の請求項２にかかる情報処理装置によれば、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置であって、上記メモリ管理装置は、第１のプログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、装置外部から第２のプログラムファイルを取得する通信手段と、供給されるファイルを格納する補助記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、上記主記憶手段および上記補助記憶手段に対するアクセスを行うファイル管理手段と、起動時の処理を設定する設定手段と、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記主記憶手段に格納されている上記第１のプログラムファイルを上記補助記憶手段に転送する第１の転送手段と、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記通信手段を介して取得した上記第２のプログラムファイルを上記補助記憶手段に転送する第２の転送手段と、を備え、起動時に、上記メモリ管理装置は、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行い、上記処理装置は、上記補助記憶手段に転送されたプログラムファイルを読み出して、該プログラムの処理を実行するもの、としたので、自己診断プログラムやメインプログラムなどの種々のプログラムを選択して実行することができる。また、上記情報処理装置において自己診断を行うことができるようになるので、従来、診断のために必要であった各種治具が不要となり、保守、点検のために冶具を長期間保持する必要がなくなる。
【００５１】
本発明の請求項３にかかる情報処理装置によれば、請求項２に記載の情報処理装置において、上記メモリ管理装置は、第３のプログラムファイル、および供給されるデータを蓄積して格納するデータ蓄積デバイスと、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記データ蓄積デバイスに格納されている上記第３のプログラムファイルを上記補助記憶手段に転送する第３の転送手段と、を加えて備え、起動時に、上記設定手段の設定に基づき、上記第１の転送手段と、上記第２の転送手段と、上記第３の転送手段とを切り換えて、上記補助記憶装置へのプログラムファイルの転送処理を行うもの、としたので、自己診断プログラムやメインプログラムなどの種々のプログラムを選択して実行することができるとともに、各種プログラムを上記データ蓄積デバイスから取得することができる。また、上記情報処理装置において自己診断を行うことができるようになるので、診断のための各種治具が不要となり、保守サービスのために冶具を長期間保持する必要がなくなる。
【００５２】
本発明の請求項４にかかる情報処理装置によれば、請求項２または請求項３に記載の情報処理装置において、上記処理装置は、上記通信手段を介して装置外部よりファイルを取得するもの、としたので、新たなプログラムファイルを取得し、ソフトのバージョンアップや、新たな機能の追加を容易に行うことができる。また、外部より容易にファイルを取得できるので、上記主記憶手段に格納するファイルの数を削減することができるとともに、より小容量の上記主記憶手段を用いて製造コストの低減を計ることができる。
【００５３】
本発明の請求項５にかかる情報処理装置によれば、請求項３に記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記データ蓄積デバイスに格納するもの、としたので、自己診断プログラムの実行により生成した自己診断結果ファイルや、上記情報処理装置の使用履歴および故障履歴などを上記データ蓄積デバイスに蓄積することができる。さらに、この自己診断結果ファイルを用いて、上記情報処理装置や、上記情報処理装置に接続されている機器の劣化などをモニタすることができる。
【００５４】
本発明の請求項６にかかる情報処理装置によれば、請求項２ないし請求項５のいずれかに記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記通信手段を介して外部に出力するもの、としたので、自己診断の結果などの、各種の動作結果を外部よりモニタすることができる。
【００５５】
本発明の請求項７にかかる情報処理装置によれば、請求項１ないし請求項６のいずれかに記載の情報処理装置において、上記ファイル管理手段は、上記処理装置において生成したファイルを、上記主記憶手段に格納するもの、としたので、自己診断の結果などの、各種の動作結果を保存することができる。さらに、この自己診断結果ファイルを用いて、上記情報処理装置や、上記情報処理装置に接続されている機器の劣化などをモニタすることができる。
【００５６】
本発明の請求項８にかかる情報処理装置によれば、請求項１ないし請求項７のいずれかに記載の情報処理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたので、上記主記憶手段に対して高速に消去や書き込みができるうえに、データサイズの大きいプログラムファイルやデータファイルを格納することができる。
【００５７】
本発明の請求項９にかかる情報処理装置によれば、請求項８に記載の情報処理装置において、上記主記憶手段は、上記管理情報と種々のファイルとを格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなるもの、としたので、プログラムファイルや各種ファイルのサイズの増加に対応することができる。また、各シリアルフラッシュメモリの容量を異なるものとすることができるため、プログラムファイルや各種ファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
【００５８】
本発明の請求項１０にかかる情報処理装置によれば、請求項８に記載の情報処理装置において、上記主記憶手段は、上記管理情報を格納する１個のシリアルフラッシュメモリと、種々のファイルを格納する１個以上のシリアルフラッシュメモリと、よりなるもの、としたので、プログラムファイルや各種ファイルのサイズの増加に対応することができる。また、各シリアルフラッシュメモリの容量を異なるものとすることができるため、プログラムファイルや各種ファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
【００５９】
本発明の請求項１１にかかる情報処理装置によれば、請求項８に記載の情報処理装置において、上記主記憶手段は、各々が上記管理情報と種々のファイルとを格納する複数個のシリアルフラッシュメモリよりなるもの、としたので、シリアルフラッシュの交換が可能となる。
【００６０】
本発明の請求項１２にかかるメモリ管理装置によれば、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段と、上記主記憶手段に対して消去や書き込みを行うための新管理情報を生成する管理情報生成手段と、上記主記憶手段が有する上記第１の管理情報の内容を、上記新管理情報の内容により更新する第１の管理情報更新手段と、上記新管理情報に基づいて、上記主記憶手段に対して消去、書き込みを行う記憶処理手段と、上記主記憶手段が有する上記第２の管理情報の内容を、上記新管理情報の内容により更新する第２の管理情報更新手段と、を備えたもの、としたので、上記メモリ管理装置により、書き込み対象や消去対象となる上記主記憶手段の領域を決定することができる。また、上記第１の管理情報を上記主記憶手段に書き込んだ後、上記記憶処理手段によりファイルの書き込みや消去を行うので、記憶処理手段がすべての処理を完了する前に処理を中断した場合に、上記メモリ管理装置により書き込みや消去途中のファイルを検出して、消去することができる。さらに、上記第１の管理情報を書き込んだ後、上記第２の管理情報を書き込むので、上記第２の管理情報の書き込みや消去が途中で中断された場合に、上記第１の管理情報を用いて復旧することができる。
【００６１】
本発明の請求項１３にかかるメモリ管理装置によれば、請求項１２に記載のメモリ管理装置において、上記管理情報生成手段が生成する上記新管理情報は、上記主記憶手段のファイルを更新する時は、追加する新ファイルの情報と、消去する旧ファイルの情報とを含むものであり、上記主記憶手段のブロックを更新する時は、追加する新データを書き込むブロックの情報と、消去する旧データが格納されているブロックの情報とを含むものであり、上記主記憶手段に新たなファイルを追加する時は、追加するファイルの情報を含むものであり、上記主記憶手段のファイルを消去する時は、消去するファイルの情報を含むもの、としたので、上記メモリ管理装置により、書き込み対象や消去対象となるブロックを決定し、そのブロックに対する消去や書き込みを行うことができる。
【００６２】
本発明の請求項１４にかかるメモリ管理装置によれば、請求項１２または請求項１３に記載のメモリ管理装置において、上記主記憶手段は、処理状態を表示する処理状態表示領域を有するもの、としたので、上記メモリ管理装置により、上記主記憶手段の様々な状態を把握することができる。
【００６３】
本発明の請求項１５にかかるメモリ管理装置によれば、請求項１４に記載のメモリ管理装置において、上記処理状態表示領域は、所定の領域に対する書き込みが終了したことを表示する書き込み終了表示領域と、所定の領域に対する消去、書き込み処理で生じる各種の状態を表示する動作状態表示領域と、所定の領域が使用できないことを表示する使用禁止表示領域と、を有するもの、としたので、上記メモリ管理装置により上記主記憶手段の様々な状態を把握し、ファイルまたはブロックに対する処理が中断されている場合には、そのファイルやブロックを復旧させることができる。
【００６４】
本発明の請求項１６にかかるメモリ管理装置によれば、請求項１５に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記書き込み終了表示領域は、各ページに設けられ、該ページに対する書き込みが終了したことを表示する、ページ書き込み終了表示領域と、各ブロックの所定のページ、または所定のページから複数ページに設けられ、該ブロックに対する書き込みが終了したことを表示する、ブロック書き込み終了表示領域と、を有するもの、としたので、その領域に対する書き込みが終了しているか否かを把握することができる。
【００６５】
本発明の請求項１７にかかるメモリ管理装置によれば、請求項１６に記載のメモリ管理装置において、上記記憶処理手段は、ページに対する書き込みが終了した時には上記ページ書き込み終了表示領域に、ブロックに対する書き込みが終了した時にはブロック書き込み終了表示領域に、書き込み終了表示を上書きするもの、としたので、その領域に対する書き込みが終了しているか否かを把握し、次の書き込み時には、書き込みされていないブロックを書き込み対象のブロックとして選択することができる。
【００６６】
本発明の請求項１８にかかるメモリ管理装置によれば、請求項１５に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、いずれかの領域に対して消去や書き込みを行う毎に、その状態を示す状態表示を、所定のブロックの、所定のページまたは所定のページから複数ページの上記動作状態表示領域に上書きするもの、としたので、上記メモリ管理装置により、その領域に対する処理の状態を把握することができる。
【００６７】
本発明の請求項１９にかかるメモリ管理装置によれば、請求項１８に記載のメモリ管理装置において、上記状態表示は、上記第１の管理情報が消去中であることを示す、第１の状態表示と、上記第１の管理情報が更新中であることを示す、第２の状態表示と、新しいファイルが書き込み中であることを示す、第３の状態表示と、古いファイルが消去中であることを示す、第４の状態表示と、上記第２の管理情報が消去中であることを示す、第５の状態表示と、上記第２の管理情報が更新中であることを示す、第６の状態表示と、すべての処理が終了したことを示す、第７の状態表示と、を有するもの、としたので、その領域に対する処理の状態を把握することにより、上記第１の管理情報に対する処理が中断されている場合には上記第１の管理情報の内容を上記第２の管理情報の内容により更新し、上記第２の管理情報に対す対する処理が中断されている場合には上記第２の管理情報の内容を上記第１の管理情報の内容により更新し、処理中断前の内容に復旧させることができる。
【００６８】
本発明の請求項２０にかかるメモリ管理装置によれば、請求項１５または請求項１８に記載のメモリ管理装置において、上記動作状態表示領域は、上記第１の管理情報が消去中であることを表示する、第１の状態表示領域と、上記第１の管理情報が更新中であることを表示する、第２の状態表示領域と、新しいファイルが書き込み中であることを表示する、第３の状態表示領域と、古いファイルが消去中であることを表示する、第４の状態表示領域と、上記第２の管理情報が消去中であることを表示する、第５の状態表示領域と、上記第２の管理情報が更新中であることを表示する、第６の状態表示領域と、すべての処理が終了したことを表示する、第７の状態表示領域と、を有するもの、としたので、その領域に対する処理の状態を把握することにより、上記第１の管理情報に対する処理が中断されている場合には上記第１の管理情報の内容を上記第２の管理情報の内容により更新し、上記第２の管理情報に対す対する処理が中断されている場合には上記第２の管理情報の内容を上記第１の管理情報の内容により更新し、処理中断前の内容に復旧させることができる。また、各種の処理の状態を表示する領域を、それぞれ異なる領域とすることにより、同一の領域に対する書き込み回数を減少させることができ、上記主記憶部の耐久性を保持することができる。
【００６９】
本発明の請求項２１にかかるメモリ管理装置によれば、請求項１５に記載のメモリ管理装置において、上記主記憶手段は、各々が一定数のページよりなる、複数のブロックよりなるものであり、上記記憶処理手段は、ブロックが使用できない状態になると、使用禁止表示を、該ブロックの所定のページ、または所定のページから複数ページのブロック使用禁止表示領域に上書きするもの、としたので、ブロックが使用できるか否かを把握し、次の書き込み時には、使用できるブロックを書き込み対象のブロックとして選択することができる。
【００７０】
本発明の請求項２２にかかるメモリ管理装置によれば、請求項１４ないし請求項２１のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、多数決判定により２値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたので、上記処理状態表示領域に誤書き込みがなされた場合であっても、表示されている値が示す状態を把握することができる。
【００７１】
本発明の請求項２３にかかるメモリ管理装置によれば、請求項１４ないし請求項２１のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、上記処理状態表示領域の各領域に表示されている値を一定ビット毎に区分し、全ビットが所定の状態であるかにより２値に割り当て、各領域の表示値を取得する表示値取得手段を備えたもの、としたので、上記処理状態表示領域に誤書き込みやビット化けが発生していない場合のみ、表示されている値が示す状態を把握することができる。
【００７２】
本発明の請求項２４にかかるメモリ管理装置によれば、請求項１６、請求の範囲１８項、請求項２１のいずれかに記載のメモリ管理装置において、上記メモリ管理装置は、各ページに表示されている値を一定ビット毎に区分して２値に割り当てることにより取得した各ページの表示値を、多数決判定し、多数の表示値を該ブロックの表示値と決定するブロック表示値取得手段を備えたもの、としたので、上記処理状態表示領域に誤書き込みがなされた場合であっても、表示されている値が示す状態を把握することができる。
【００７３】
本発明の請求項２５にかかるメモリ管理装置によれば、請求項１２ないし請求項２４のいずれかに記載のメモリ管理装置において、上記主記憶手段は、シリアルフラッシュメモリである、としたので、上記主記憶手段に対して高速に消去や書き込みができるうえに、データサイズの大きいプログラムファイルやデータファイルを格納することができる。
【００７４】
本発明の請求項２６にかかるメモリ管理方法によれば、データを格納する複数のブロックを有し、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対する消去および書き込みを行うメモリ管理方法であって、新データを書き込むブロックの情報と、旧データを消去するブロックの情報とを含む新管理情報を生成する管理情報生成ステップと、上記新管理情報に基づいて上記新データを書き込むブロック書き込みステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、上記新管理情報に基づいて上記旧データを消去するブロック消去ステップと、を備えたもの、としたので、書き込み対象や消去対象となる上記主記憶手段の領域を決定し、その領域に対する処理を行うことができる。
【００７５】
本発明の請求項２７にかかるメモリ管理方法によれば、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去および書き込みを管理するメモリ管理方法であって、追加する新ファイルの情報と、消去する旧ファイルの情報とを含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて上記新ファイルを書き込み、上記新管理情報に基づいて上記旧ファイルを消去するファイル更新ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたので、書き込み対象や消去対象となる上記主記憶手段の領域を決定し、その領域に対する処理を行うことができる。また、上記第１の管理情報を上記主記憶手段に書き込んだ後、ファイルの更新を行うので、すべての処理を完了する前に処理を中断した場合に、書き込みや消去途中のファイルを検出して、消去することができる。さらに、上記第１の管理情報を書き込んだ後、上記第２の管理情報を書き込むので、上記第２の管理情報の書き込みや消去が途中で中断された場合に、上記第１の管理情報を用いて復旧することができる。
【００７６】
本発明の請求項２８にかかるメモリ管理方法によれば、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの書き込みを管理するメモリ管理方法であって、追加するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて、ファイルを書き込むファイル書き込みステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたので、書き込み対象対象となる上記主記憶手段の領域を決定し、その領域に対して書き込みを行うことができる。また、上記第１の管理情報を上記主記憶手段に書き込んだ後、ファイルの書き込みを行うので、すべての処理を完了する前に処理を中断した場合に、書き込途中のファイルを検出して、消去することができる。さらに、上記第１の管理情報を書き込んだ後、上記第２の管理情報を書き込むので、上記第２の管理情報の書き込みや消去が途中で中断された場合に、上記第１の管理情報を用いて復旧することができる。
【００７７】
本発明の請求項２９にかかるメモリ管理方法によれば、請求項２６ないし請求項２８のいずれかに記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなり、ファイルを格納するデータ記憶領域を有するものであり、上記ブロック書き込みステップまたは上記ファイル更新ステップまたは上記ファイル書き込みステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、上記データ記憶領域内の使用可能な代替ブロックに、使用できなくなったブロックに書き込む内容を再書き込みする再書き込みステップと、上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックおよび上記代替ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、を備えたもの、としたので、更新対象となるブロックに不具合が生じた場合でも、代替領域を用いて更新処理を行うことができる。また、上記第１の管理情報および上記第２の管理情報に使用禁止ブロックの位置の情報を記述するので、使用禁止ブロック以外のブロックを書き込み対象のブロックとすることができる。
【００７８】
本発明の請求項３０にかかるメモリ管理方法によれば、ファイルと、格納している全ファイルの情報を記述した第１の管理情報および第２の管理情報と、を格納する主記憶手段に対するファイルの消去を管理するメモリ管理方法であって、消去するファイルの情報を含む新管理情報を生成する管理情報生成ステップと、上記主記憶手段が有する上記第１の管理情報を、上記新管理情報の内容により更新する第１の管理情報更新ステップと、上記新管理情報に基づいて、ファイルを消去するファイル消去ステップと、上記主記憶手段が有する上記第２の管理情報を、上記新管理情報の内容により更新する第２の管理情報更新ステップと、を備えたもの、としたので、消去対象となる上記主記憶手段の領域を決定し、その領域にして消去を行うことができる。また、上記第１の管理情報を上記主記憶手段に書き込んだ後、ファイルの更新を行うので、すべての処理を完了する前に処理を中断した場合に、消去途中のファイルを検出して、消去することができる。さらに、上記第１の管理情報を書き込んだ後、上記第２の管理情報を書き込むので、上記第２の管理情報の書き込みや消去が途中で中断された場合に、上記第１の管理情報を用いて復旧することができる。
【００７９】
本発明の請求項３１にかかるメモリ管理方法によれば、請求項３０に記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなるものであり、上記ファイル消去ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止ブロックであることを示す禁止表示を上書きする使用禁止表示ステップと、上記主記憶手段が有する上記第１の管理情報と上記第２の管理情報とを、上記使用禁止ブロックの情報を含む是正管理情報の内容により更新する是正管理情報更新ステップと、を備えたもの、としたので、消去対象となるブロックに不具合が生じた場合でも、上記第１の管理情報および上記第２の管理情報に使用禁止ブロックの位置の情報を記述することができ、次の書き込み時には、使用禁止ブロック以外のブロックを書き込み対象のブロックとすることができる。
【００８０】
本発明の請求項３２にかかるメモリ管理方法によれば、請求項２６ないし請求項２８、請求項３０のいずれかに記載のメモリ管理方法において、上記主記憶手段は、データを格納する複数のブロックよりなり、上記第１の管理情報および上記第２の管理情報を格納する管理情報記憶領域を有するものであり、上記第１の管理情報更新ステップ及び第２の管理情報更新ステップにおいてブロックが使用できない状態になった時に、使用できなくなったブロックの所定の領域に、使用禁止であることを示す禁止表示を上書きする使用禁止表示ステップと、上記管理情報記憶領域内の使用可能な代替ブロックに、上記新管理情報を再書き込みする管理情報再書き込みステップと、を備えたもの、としたので、更新対象となるブロックに不具合が生じた場合でも、代替領域を用いて上記第１の管理情報および上記第２の管理情報の更新処理を行うことができる。また、上記第１の管理情報および上記第２の管理情報に使用禁止ブロックの位置の情報を記述するので、次の書き込み時には、使用禁止ブロック以外のブロックを書き込み対象のブロックとすることができる。
【００８１】
本発明の請求項３３にかかる情報処理方法によれば、ファイルを管理するメモリ管理装置と、メモリ管理装置より供給されるプログラムファイルに基づき該プログラムの処理を実行する処理装置と、を有する情報処理装置による情報処理方法であって、上記メモリ管理装置は、プログラムファイルや種々のファイルと、格納している全ファイルの情報を記述した第１の管理情報および該第１の管理情報をバックアップする第２の管理情報と、を格納する主記憶手段と、起動時に用いるブートプログラムを格納するブートプログラム記憶手段と、供給されるファイルを格納する補助記憶手段と、上記主記憶手段、上記ブートプログラム記憶手段、および上記補助記憶手段に対するアクセスを行うファイル管理手段と、を備えたものであり、該情報処理装置は、起動時に、上記ファイル管理手段により、上記ブートプログラム記憶手段から読み出した上記ブートプログラムに基づき、上記第１の管理情報および上記第２の管理情報を上記補助記憶手段に転送し、上記転送された第１の管理情報に基づき、上記主記憶手段のファイルを上記補助記憶手段に転送し、上記処理装置により、上記補助記憶手段に転送されたプログラムファイルを読み出し、該プログラムの処理を実行するもの、としたので、上記処理装置は、処理を実行する際にプログラムを１ステップ毎に上記主記憶装置より読み出す必要がなくなる。このため、上記処理装置の処理速度が高速化され、実行時間を大幅に削減することができる。
【発明を実施するための最良の形態】
【００８２】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、ここで示す実施の形態はあくまでも一例であって、必ずしもこの実施の形態に限定するものではない。また、本明細書および図面において、数字の末尾に付した「ｈ」は、その数字が１６進表記であることを示している。
【００８３】
（実施の形態１）
まず、本発明の請求項１、請求項７ないし請求項１１に記載の情報処理装置、および請求項１２ないし請求項２５に記載のメモリ管理装置、および請求項２６ないし請求項３２に記載のメモリ管理方法、および請求項３３に記載の情報処理方法を実施の形態１として、図面を参照しながら説明する。
【００８４】
図１は、本実施の形態１に係る情報処理装置の構成を示すブロック図である。
図１に示すように本実施の形態１による情報処理装置１００は、プログラムファイルやデータファイルを保持するメモリ管理装置１０と、メモリ管理装置１０より提供されるプログラムファイルやデータファイルに基づいて処理を行う情報処理部３０と、を有する。
【００８５】
メモリ管理装置１０は、プログラムファイルとデータファイルとを格納するファイルフラッシュ１１と、ファイルフラッシュ１１に格納されているファイルの管理を行うファイル管理部１３と、情報処理部３０の作業領域であるワークメモリ１４と、ファイル管理部１３からファイルフラッシュ１１にアクセスできるようにするフラッシュインターフェース（以下、フラッシュＩ／Ｆと称す）１２と、ブートプログラムを格納するブートフラッシュ１５と、を有する。そして、バス１６を介して、ブートフラッシュ１５とフラッシュＩ／Ｆ１２とが、ファイル管理部１３に接続されている。
【００８６】
ファイルフラッシュ１１は、ＮＡＮＤ型フラッシュメモリ、ＡＮＤ型フラッシュメモリのようなシリアルフラッシュメモリからなる。このファイルフラッシュ１１は、フラッシュＩ／Ｆ１２を介してなされるファイル管理部１３からのアクセスに応答し、格納しているデータをファイル管理部１３に供給する。また、ファイル管理部１３からの命令により、格納しているデータを消去し、ファイル管理部１３からデータが供給されると、該データを格納する。
【００８７】
以下、ファイルフラッシュ１１の構造を、８Ｍｂｙｔｅの容量を有するものを例にとって説明する。
図２に、ファイルフラッシュ１１の記憶領域の構造を示す。
ファイルフラッシュ１１の記憶領域は、１０２４個のブロックより構成され、先頭のブロックを１とし、以降１０２４まで、順にブロック番号が付与されている。このブロックは、消去を行う際に消去単位となる。また、各ブロックは、８ｋｂｙｔｅの記憶容量を有し、５２８ｂｙｔｅごとに１６個のページに区分されている。そして、各ページは、先頭を１とし、以降１６まで、順にページ番号が付与されている。このページは、ファイル管理部１３より書き込みを行う際に書き込み単位となる。さらに、各ページは、先頭より５１２ｂｙｔｅまでに配置され、ファイルを格納するデータ領域と、データ領域に続いて該ページの末尾までの１６ｂｙｔｅに配置され、ファイル管理部１３よりデータ領域を更新する際に、その処理結果などの情報が付加される冗長領域と、により構成されている。なお、本発明は、ファイルフラッシュ１１の容量およびブロック数を限定するものではなく、任意の容量とすることができる。ファイルフラッシュ１１の容量は、格納するファイルのサイズなどに基づいて決定することが望ましい。
【００８８】
また、図３に示すように、ファイルフラッシュ１１の先頭より、該ファイルフラッシュ１１に保持しているファイルの管理情報を格納する情報管理領域１１Ｉが配置されており、情報管理領域１１Ｉの後に、情報処理装置１００を動作させるプログラムなどの各種実行ファイルや、機器の動作中に発生する各種のデータファイルを格納するデータファイル領域１１Ｄが配置されている。ここで、情報管理領域１１Ｉおよびデータファイル領域１１Ｄが有する各ブロックの各ページは、それぞれ、５１２ｂｙｔｅのデータ領域と、１６ｂｙｔｅの冗長領域より構成されており、プログラムファイルやデータファイルはデータ領域に格納されるものである。
【００８９】
ファイルフラッシュ１１に格納されているファイルには、各ファイルを識別するファイルＩＤが付与されている。このファイルＩＤは、４桁の１６進表記の数字よりなり、該数字によりファイルの属性を規定したものであってもよく、例えば、最上位より３桁目までが０であるものは、情報管理領域１１Ｉに格納される管理情報のファイルであることを示し、最上位より３桁目までが０でないものは、データファイル領域１１Ｄに格納されるプログラムファイルやデータファイルであることを示すようにしてもよい。この場合、管理情報のファイルＩＤは、００００ｈから０００Ｆｈまでであり、オリジナル管理情報ＩｏにファイルＩＤ＝００００ｈが付与され、バックアップ管理情報ＩｂにファイルＩＤ＝０００１ｈが付与される。そして、プログラムファイルおよびデータファイルのファイルＩＤは、００１０ｈより大きい数字であり、ファイル１〜ファイル３の３本のファイルを有する場合、ファイル１にファイルＩＤ＝００１０ｈが付与され、ファイル２にファイルＩＤ＝００１１ｈが付与され、ファイル３にファイルＩＤ＝００１２ｈが付与される。
【００９０】
情報管理領域１１Ｉは、ブロック１に、データファイル領域１１Ｄに格納されているファイルに関する管理情報を記述したオリジナル管理情報Ｉｏ（第１の管理情報）が配置され、ブロック２に、オリジナル管理情報Ｉｏに不具合が発生したときのためのバックアップであり、オリジナル管理情報Ｉｏと同一のデータを有するバックアップ管理情報Ｉｂ（第２の管理情報）が配置されている。そして、情報管理領域１１Ｉとして３ブロック以上のブロックが割り付けられている場合、ブロック３より最終ブロックまでは、データを格納していない空きブロックとなる。この空きブロックは、ブロック１およびブロック２に不具合が発生したときに、オリジナル管理情報Ｉｏやバックアップ管理情報Ｉｂを格納するために用いる。
【００９１】
オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂは、先頭より、データファイル領域１１Ｄに格納されているファイル数に関するファイル数情報Ｉｃｎｔが配置され、これに続いて、データファイル領域１１Ｄに格納されている各ファイルのファイル名やファイルサイズなどの情報を有するファイル管理情報Ｉｆが配置され、これに続いて、複数のブロックに分割して格納されているファイルの一連の流れを復元可能にするブロックマップＩｍａｐが配置されている。
【００９２】
ここで、ファイル管理情報Ｉｆは、ファイルフラッシュ１１に格納されている各ファイルの情報を記述したものであり、ｎ（ｎは１以上の整数）個の各ファイルに対して一定容量ずつ割り当てられたファイル情報Ｉｆ１〜Ｉｆｎを有する。このファイル管理情報Ｉｆは、データファイル領域１１Ｄに格納可能なファイル数分のデータ容量を確保しており、データファイル領域１１Ｄに格納されているファイル数が、格納可能なファイル数以下である場合、余剰領域はデータが格納されていない空き領域となる。
【００９３】
また、各ファイル情報Ｉｆ１〜Ｉｆｎは、対応するファイルのＩＤと、スタートブロック番号と、ファイルサイズと、ファイル名と、を示す情報を有する。ＩＤは、例えば「ＩＤ＝ＸＸＸＸｈ」の形式で記述されたファイルＩＤであり、スタートブロック番号は、そのファイルの先頭が格納されているブロックのブロック番号である。そのＩＤにファイルが割り当てられていない場合、スタートブロック番号を「ＦＦＦＦｈ」とし、ファイル名を空白とするように規定してもよい。この場合、書き換え時等に、該ＩＤにファイルが割り当てられると、スタートブロック番号、およびファイル名が記述される。
【００９４】
このファイルフラッシュ１１では、ファイルをブロック単位で管理しているので、１つのファイルを分割して、前後を接しない複数のブロックに格納することもある。ブロックマップＩｍａｐは、このような場合でも、分割されたファイルの所在を明確にし、ファイルの一連の流れを復元可能にするためのものであり、ファイルフラッシュ１１が有する１０２４個の各ブロックに対して一定容量ずつ割り当てられたブロック情報Ｉｍａｐ１〜ブロック情報Ｉｍａｐ１０２４を有する。
【００９５】
そして、ブロック情報Ｉｍａｐ１〜ブロック情報Ｉｍａｐ１０２４は、該ブロックに格納されているファイルのＩＤと、そのファイルの前部が格納されている前ブロック番号と、そのファイルの後部が格納されている次ブロック番号と、を示す情報を有する。ＩＤには、該ブロックにファイルが格納されている場合に、そのファイルのファイルＩＤが記述される。該ブロックにファイルが格納されていない場合には、そのブロックの状態がフラグにより示される。例えば、不具合を有するブロックのＩＤを、「ＦＥＥＥｈ」とし、書き込まれていない未使用ブロックのＩＤを、「ＦＦＦＦｈ」としてもよい。前ブロック番号には、該ブロックがファイルの途中部を格納している場合、その前部を格納しているブロック番号を記述する。また、ファイルの先頭部を格納するブロックおよび未使用ブロックの、前ブロック番号を、「ＦＦＦＦｈ」としてもよい。一方、次ブロック番号には、該ブロックがファイルの途中部を格納している場合、その次の部分を格納しているブロック番号を記述する。また、ファイルの最後部を格納するブロックおよび未使用ブロックの次ブロック番号を、「ＦＦＦＦｈ」としてもよい。
【００９６】
図４に示したように、冗長領域は、各ページの先頭から５１２ｂｙｔｅを占めるデータ領域に続いて配置され、データ領域に対して消去や書き込みを行う際に、その処理結果などの情報を付加する１６ｂｙｔｅの領域である。この冗長領域には、データ領域の更新処理状態を表示するモードＲＢｍｏｄと、該ブロックのデータ領域の更新処理において不具合が発生したか否かを表示する有効性情報ＲＢｖａｌと、該ブロックが使用されているか否かを表示するブロック書込状態ＲＢｗｒと、該ブロックが不具合を有する不良ブロックであるか否かを表示するブロック良否情報ＲＢｂｄと、該ページが使用されているか否かを表示するページ書込状態ＲＰｗｒと、該ページのデータ領域のＥＣＣ（Ｅｒｒｏｒ Ｃｏｒｒｅｃｔｉｏｎ Ｃｏｄｅ：誤り訂正符号）データを格納するＥＣＣ情報ＲＰｅｃｃと、が割り付けられている。さらに冗長領域は、データを格納しない空き領域を有する。ここで、ブロック書込状態ＲＢｗｒおよびページ書込状態ＲＰｗｒは、請求の範囲に記述した書き込み終了表示領域に相当するものである。
【００９７】
モードＲＢｍｏｄは、該ブロックのデータ領域の内容を更新する際に、そのブロックに対する消去および書き込み処理の状態を示すフラグであり、オリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂが消去中である状態を「ＦＦＦＦｈ」、オリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂが更新中（新ファイル作成中）である状態を「ＦＦＦ０ｈ」、データファイル領域１１Ｄに新しいファイルが書き込み中である状態を「ＦＦ００ｈ」、データファイル領域１１Ｄの古いファイルが消去中である状態を「Ｆ０００ｈ」、データ更新が正常に終了した状態や更新が発生していない状態を「００００ｈ」として定義している。このモードＲＢｍｏｄは、各ブロックの１ページ〜３ページ、あるいは１ページの冗長領域に付加される。
【００９８】
有効性情報ＲＢｖａｌは、該ブロックのデータ領域における消去、書き込み時に、不良ブロック（使用できないブロック）が発生したか否かを示すフラグであり、不良ブロックが発生していない状態を「ＦＦｈ」、新しいファイルの消去や書き込み処理時に不良ブロックが発生した状態を「Ｆ０ｈ」、古いファイルの消去や書き込み処理時に不良ブロックが発生した状態を「０Ｆｈ」として定義している。この有効性情報ＲＢｖａｌは、各ブロックの１ページ〜３ページの冗長領域に付加される。
【００９９】
ブロック書込状態ＲＢｗｒは、該ブロックが使用されているか否かを示すフラグであり、該ブロックが未使用である状態を「ＦＦｈ」、該ブロックが使用されている状態（書き込みが終了している状態）を「００ｈ」として定義している。このブロック書込状態ＲＢｗｒは、各ブロックの１ページ〜３ページ、あるいは１ページの冗長領域に付加される。
【０１００】
ブロック良否情報ＲＢｂｄは、該ブロックが不良ブロック（使用できないブロック）であるか否かを示すフラグであり、不良ブロックではない状態を「ＦＦｈ」、不良ブロックである状態を「００ｈ」として定義している。このブロック良否情報ＲＢｂｄは、各ブロックの１ページ〜３ページ、あるいは１ページの冗長領域に付加される。
【０１０１】
ページ書込状態ＲＰｗｒは、該ページが使用されているか否かを示すフラグであり、該ページが未使用である状態を「ＦＦｈ」、該ページが使用されている状態（書き込みが終了している状態）を「００ｈ」として定義している。このページ書込状態ＲＰｗｒは、各ページの冗長領域に付加される。
【０１０２】
なお、本発明は、冗長領域の各領域に付加されるフラグを限定するものではなく、各状態を、任意のフラグに定義することができる。
【０１０３】
ファイル管理部１３は、起動時に、ブートフラッシュ１５を読み出し、ブートプログラムに基づいて、ファイルフラッシュ１１に格納されているファイルをワークメモリ１４に格納する。ワークメモリ１４のファイルが更新されると、ファイル管理部１３は、ファイルフラッシュ１１のファイルを更新するための新管理情報を生成し、該新管理情報に基づいて更新されたファイルをファイルフラッシュ１１に書き込み、旧ファイルを消去し、新管理情報の内容によりファイルフラッシュ１１のオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する。また、情報処理部３０の命令に従って、ファイルをファイルフラッシュ１１より消去するための新管理情報を生成し、該新管理情報に基づいてファイルフラッシュ１１のファイルを消去し、新管理情報の内容によりファイルフラッシュ１１のオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する。さらに、ワークメモリ１４に新ファイルが生成されると、そのファイルをファイルフラッシュ１１に書き込むための新管理情報を生成し、該新管理情報に基づいてファイルをファイルフラッシュ１１に書き込み、新管理情報の内容によりファイルフラッシュ１１のオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する。さらにファイル管理部１３は、ファイルフラッシュ１１のファイルやブロック、ページの状態を、冗長領域に表示されている値に基づいて判定する。このファイル管理部１３は、請求の範囲に記述したファイル管理手段、管理情報生成手段、第１の管理情報更新手段、記憶処理手段、第２の管理情報更新手段、および表示値取得手段を含むものである。
【０１０４】
ワークメモリ１４は、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）からなり、起動時にファイル管理部１３から供給されるオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂなどのファイルを格納する。以下、ワークメモリ１４に格納されているオリジナル管理情報Ｉｏを、管理情報Ｉｗとして説明する。また、ファイル管理部１３および情報処理部３０は、ワークメモリ１４を介してデータの授受を行う。
【０１０５】
ブートフラッシュ１５は、起動時の情報処理装置１００の処理を定めたブートプログラムを格納している。ここで、ブートプログラムは、起動時、ファイル管理部１３がファイルフラッシュ１１を利用できるようにする手順と、ファイル管理部１３が情報管理領域１１Ｉのデータをワークメモリ１４に読み出す手順と、管理情報Ｉｗの記述に従って、データファイル領域１１Ｄに格納されているすべてのファイルをワークメモリ１４に読み出す手順と、転送されたプログラムを情報処理部３０が先頭から読み出す手順と、を定めたものである。
【０１０６】
次に、このように構成されるメモリ管理装置１０における、ファイルフラッシュ１１に対するファイルの消去、書き込み、読み出しの方法を説明する。
まず、ファイルフラッシュ１１に書き込まれているファイルを消去する方法を説明する。
【０１０７】
ファイルフラッシュ１１の消去単位はブロックであり、消去の際には、１ブロックごとにその内容を消去するブロック消去を行う。このようなブロック消去の方法を説明する。図７は、ブロック消去の方法を説明するフローチャートである。
【０１０８】
ブロック消去を行う際、ファイル管理部１３は、消去を行うブロックのブロック番号を指定して、ブロック消去命令を発行する（ステップＳ１１）。
【０１０９】
すると、ファイルフラッシュ１１は、ファイル管理部１３より指定されたブロックの内容を消去する（ステップＳ１２）。
【０１１０】
次に、ファイル管理部１３はファイルフラッシュ１１から返却されるエラーコードにより、消去が正常に終了したか否かを判断する（ステップＳ１３）。
【０１１１】
消去が成功した場合は、そのブロックの冗長領域に正常ブロックであることを登録する。なお、消去されたビットは「１」となっているので、消去したブロックが情報管理領域１１Ｉのブロックである場合、モードＲＢｍｏｄは、ブロックの消去が正常終了したことを表示するものとなっている。同様に、有効性情報ＲＢｖａｌは、正常ブロックであることを表示し、ブロック良否情報ＲＢｂｄは、そのブロックが不良ブロックではないことを表示し、ページ書込状態ＲＰｗｒは、そのブロックが未使用であることを表示しているので、このステップでは特に書き込みは行わない（ステップＳ１４）。
【０１１２】
一方、消去に失敗した場合は、そのブロックの冗長領域に不良ブロックであることを登録する。すなわち、有効性情報ＲＢｖａｌに、古いファイルの消去処理時に不良ブロックが発生したことを示す「０Ｆｈ」を記述し、ブロック良否情報ＲＢｂｄに、不良ブロックであることを示す情報を記述する。（ステップＳ１５）。
【０１１３】
次に、このようなブロック消去により、ファイルフラッシュ１１のファイルを消去する方法を説明する。図８は、ファイル消去の方法を説明するフローチャートである。
【０１１４】
ファイルの消去を行う際、ファイル管理部１３は消去対象となるブロックのブロック番号または消去するファイルのファイルＩＤを認識しているので、まず、ファイル管理部１３は、消去するブロック番号を認識しているか否か、つまり、消去対象のブロック番号をファイルフラッシュ１１に対して指定可能か否かを判断する。消去対象のブロック番号を認識している場合、ステップＳ２３に移行する。（ステップＳ２１）。
【０１１５】
消去対象のブロック番号を認識していない場合、ファイル管理部１３はワークメモリ１４に有する管理情報Ｉｗのファイル管理情報Ｉｆを検索し、消去するファイルのファイルＩＤを有するファイル情報より、そのファイルの先頭が格納されているスタートブロック番号を取得する（ステップＳ２２）。
【０１１６】
消去対象のブロック番号を得ると、該当するブロックに対するブロック消去を実行する。このブロック消去は、前述のステップＳ１１〜Ｓ１５によって行う（ステップＳ２３）。
【０１１７】
次に、ファイル管理部１３はブロック消去が正常に終了したか否かを判断し、正常に終了した場合は、ステップＳ２６に移行する（ステップＳ２４）。
【０１１８】
ブロック消去に失敗した場合、ファイル管理部１３は、ワークメモリ１４に有する管理情報ＩｗのブロックマップＩｍａｐに、不良ブロック、すなわち使用できなくなった使用禁止ブロックであることを登録する。例えば、ブロックＢＮの消去に失敗した場合、ブロック情報ＩｍａｐＢＮのＩＤに、「ＦＥＥＥｈ」が記述される。この時、管理情報Ｉｗは、使用禁止ブロックが登録された是正用管理情報となっている（ステップＳ２５）。
【０１１９】
ステップＳ２４において、ブロック消去が正常に終了していると判断された場合、ファイル管理部１３は、ブロックマップＩｍａｐより、消去しているファイルの次の部分を格納しているブロック番号を取得する。例えば、ブロックＢＮを消去した場合、ブロック情報ＩｍａｐＢＮより、次ブロック番号を取得する（ステップＳ２６）。
【０１２０】
そして、ファイル管理部１３は、取得した次ブロック番号により、ステップＳ２３において消去したブロックがファイル終端のブロックまたは未使用ブロックであるか判断し、終端のブロックまたは未使用ブロックである場合、処理を終了する。一方、終端のブロックまたは未使用ブロックではない場合、ステップＳ２３に戻り、ブロックの消去を行う（ステップＳ２７）。
【０１２１】
以下、このステップＳ２１〜ステップＳ２７を、ファイル消去フローＦ１と称す。
次に、ファイルフラッシュ１１にファイルを書き込む方法を説明する。
【０１２２】
ファイルフラッシュ１１の書き込み単位はページであり、書き込みの際には、データを１ページごとに書き込むページ書き込みを行う。このようなページ書き込みの方法を説明する。図９は、ページ書き込みの方法を説明するフローチャートである。
【０１２３】
ページ書き込みを行う際、ファイル管理部１３は、書き込みを行うブロックとページとを指定したページ書き込み命令をフラッシュＩ／Ｆ１２に発行する。そして、ワークメモリ１４に有するファイルのデータやファイルＩＤを出力する（ステップＳ３１）。
【０１２４】
ページ書き込みを命令されると、フラッシュＩ／Ｆ１２は、ファイルフラッシュ１１の、指定されたページを書き込み可能な状態にし、続いてファイル管理部１３から入力される書き込みデータをシリアルでファイルフラッシュ１１に出力する。すると、ファイルフラッシュ１１は、フラッシュＩ／Ｆ１２より入力されるデータを、ファイル管理部１３より指定されたページに書き込む（ステップＳ３２）。
【０１２５】
次に、ファイル管理部１３はファイルフラッシュ１１から返却されるエラーコードにより、書き込みが正常に終了したか否かを判断する（ステップＳ３３）。
【０１２６】
書き込みに成功した場合は、そのブロックの冗長領域にブロックとページとが使用中であることを登録する。すなわち、ブロック書込状態ＲＢｗｒとページ書込状態ＲＰｗｒとに、書き込みがなされていることを示す「００ｈ」を記述する（ステップＳ３４）。
【０１２７】
一方、書き込みに失敗した場合は、そのブロックの冗長領域に不良ブロックであることを登録する。すなわち、有効性情報ＲＢｖａｌに、ファイルの書き込み時に不良ブロックが発生したことを示す「Ｆ０ｈ」または「０Ｆｈ」を記述し、ブロック良否情報ＲＢｂｄに、不良ブロックであることを示す情報を記述する（ステップＳ３５）。
【０１２８】
次に、このようなページ書き込みにより、ファイルをファイルフラッシュ１１に書き込む方法を説明する。図１０は、ファイルの書き込みの方法を説明するフローチャートである。
【０１２９】
ファイルの書き込みを行う際、ファイル管理部１３は、ワークメモリ１４に有する管理情報Ｉｗのファイル管理情報Ｉｆを検索し、書き込みを行うファイルのファイルＩＤを有するファイル情報より、そのファイルの先頭部の書き込み対象となるスタートブロック番号を取得する（ステップＳ４１）。
【０１３０】
次にファイル管理部１３は、書き込み対象のページ番号を格納する変数に０を代入する（ステップＳ４２）。
【０１３１】
書き込み対象のブロック番号とページ番号とを得ると、該当するページに対するページ書き込みを実行する。このページ書き込みは、前述のステップＳ３１〜Ｓ３５によって行う（ステップＳ４３）。
【０１３２】
次に、ファイル管理部１３は、ページ書き込みが正常に終了したか判断し、書き込みに失敗した場合は、ステップＳ４９に移行する（ステップＳ４４）。
【０１３３】
ページ書き込みに成功した場合、次ページの書き込みのためにページ番号変数を１加算する（ステップＳ４５）。
【０１３４】
そして、ファイル管理部１３は、すべてのデータの書き込みが終了したか判断し、データが終了した場合は処理を終了する（ステップＳ４６）。
【０１３５】
データが終了していない場合、ファイル管理部１３は、ページ番号変数に基づき、そのブロックは最終ページまで書き込まれたか判断する。最終ページまで書き込まれていない場合はステップＳ４３に戻り、次ページに対する書き込みを行う（ステップＳ４７）。
【０１３６】
最終ページまで書き込んだ場合、ファイル管理部１３は、ブロックマップＩｍａｐより、書き込みを行っているファイルの次の部分を格納するブロック番号を取得する。例えば、ブロックＢＮに書き込んだ場合、ブロック情報ＩｍａｐＢＮより、次ブロック番号を取得する。そしてステップＳ４２に戻り、次のブロックに対する書き込みを行う（ステップＳ４８）。
【０１３７】
一方、ステップＳ４４においてページ書き込みに失敗したと判断した場合、そのブロックに対する書き込みを停止し、ファイル管理部１３は、ワークメモリ１４に有する管理情報ＩｗのブロックマップＩｍａｐに、不良ブロックであることを登録する。例えば、ブロックＢＮの書き込みに失敗した場合、ブロック情報ＩｍａｐＢＮのＩＤに、「ＦＥＥＥｈ」が記述される（ステップＳ４９）。
【０１３８】
ここで、ファイル管理部１３は、書き込みに失敗したファイルがオリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂであるか判断し、オリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂの書き込みに失敗した場合、処理を終了する。なお、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂの書き込みに失敗した場合の復旧処理については後述する（ステップＳ５０）。
【０１３９】
書き込みに失敗したファイルがオリジナル管理情報Ｉｏまたはバックアップ管理情報Ｉｂではない場合、代替ブロックに対する書き込みを行うために、書き込みがなされていない空きブロックを検索する。ファイル管理部１３はワークメモリ１４に有する管理情報ＩｗのブロックマップＩｍａｐを検索し、ファイルＩＤが未使用（ＦＦＦＦｈ）となっているブロック情報を取得する。そして、取得したブロック情報に、書き込みを行っているファイルのファイルＩＤを登録し、そのブロックを、書き込みに失敗したファイルを書き込む代替ブロックとして確保する（ステップＳ５１）。
【０１４０】
そして、書き込んだページ数だけファイルのデータ位置を戻し、ステップＳ４２に戻って、ステップＳ５１において確保したブロックの先頭ページより書き込みをやり直す（ステップＳ５２）。
【０１４１】
以下、このステップＳ４１〜ステップＳ５２を、ファイル書き込みフローＦ２と称す。
次に、ファイルフラッシュ１１よりファイルを読み出す方法を説明する。
ファイルフラッシュ１１の読み出し単位はページであり、ファイル管理部１３は、データを１ページごとに読み出すページ読み出しを行う。このようなページ読み出しの方法を説明する。図１１は、ページ読み出しの方法を説明するフローチャートである。
【０１４２】
ページ読み出しを行う際、ファイル管理部１３は、読み出しを行うブロックとページとを指定して、そのページを読み出す命令をバス１６を介してフラッシュＩ／Ｆ１２に出力する。（ステップＳ６１）。
【０１４３】
すると、フラッシュＩ／Ｆ１２は、ファイルフラッシュ１１の指定されたページに格納されているデータをシリアルで読み出し、バス１６を介してファイル管理部１３に出力する（ステップＳ６２）。
【０１４４】
読み出したデータにエラーがあった場合、ＥＣＣによりエラー訂正を行う。（ステップＳ６３）。
【０１４５】
次に、このようなページ読み出しにより、ファイルフラッシュ１１よりファイルを読み出す方法を説明する。図１２は、ファイル読み出しの方法を説明するフローチャートである。
【０１４６】
ファイルの読み出しを行う際、ファイル管理部１３は、ワークメモリ１４に有する管理情報Ｉｗのファイル管理情報Ｉｆを検索し、読み出すファイルのファイルＩＤを有するファイル情報より、そのファイルの先頭が格納されているスタートブロック番号を取得する（ステップＳ７１）。
【０１４７】
次に、ファイル管理部１３は、読み出し対象のページ番号を格納する変数に０を代入する（ステップＳ７２）。
【０１４８】
読み出し対象のブロック番号とページ番号とを得ると、該当するページに対するページ読み出しを実行する。このページ読み出しは、前述のステップＳ６１〜Ｓ６３によって行う（ステップＳ７３）。
【０１４９】
ページの読み出しが終了すると、次ページの読み出しのためにページ番号変数を１加算する（ステップＳ７４）。
【０１５０】
そして、ファイル管理部１３は、読み出すファイルのファイル情報Ｉｆｎのファイル管理情報に基づき、すべてのデータの読み出しが終了したかを判断する。そして、データが終了した場合は処理を終了する（ステップＳ７５）。
【０１５１】
データが終了していない場合、ファイル管理部１３は、ページ番号変数に基づき、そのブロックの最終ページまでのデータを読み出したか判断する。最終ページまで読み出していない場合はステップＳ７３に戻り、次ページに対する読み出しを行う（ステップＳ７６）。
【０１５２】
最終ページまで読み出した場合、ファイル管理部１３は、読み出したデータにＥＣＣエラーがあるか判定し、ＥＣＣエラーがない場合、ステップＳ７９に移行する（ステップＳ７７）。
【０１５３】
読み出したデータにＥＣＣエラーがあった場合、エラーが生じているブロックのデータを消去し、異なるブロックに書き込むために、ファイル管理部１３は、まず、ファイルフラッシュ１１のオリジナル管理情報Ｉｏが格納されているブロックのモードＲＢｍｏｄに、「ＦＦＦ０ｈ」を書き込み、オリジナル管理情報Ｉｏが更新中であることを表示する（ステップＳ７８−１）。
【０１５４】
次に、ワークメモリ１４に有する管理情報ＩｗのブロックマップＩｍａｐを検索し、ＩＤが未使用となっている空きブロックのブロック情報を取得する。そして、取得したブロック情報のＩＤにファイルＩＤを登録し、このブロック情報によって管理されているブロックを、ＥＣＣエラーが生じているブロックのデータを格納するブロックとして確保する。また、このブロックに格納するものがファイルの一部分である場合、前ブロック番号や次ブロック番号を記述する。さらに、ファイル管理部１３は、ＥＣＣエラーが生じているブロック、すなわちデータを消去するブロックのブロックマップより、ＩＤと、前ブロック番号と、後ブロック番号とを消去する。この時、管理情報Ｉｗは、エラーを有するブロックの情報が消去され、新たにデータを書き込むブロックの情報が追加された新管理情報Ｉｗ’となっている（ステップＳ７８−２）。
【０１５５】
空きブロックを確保すると、ファイル管理部１３は、該確保したブロックに、読み出したブロックのデータを書き込む。この書き込みは、前述のステップＳ４２〜Ｓ４７，ステップＳ４９〜５２により行う（ステップＳ７８−３）。
【０１５６】
次にファイル管理部１３は、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する。すなわち、オリジナル管理情報Ｉｏを消去し、消去したブロックに新管理情報Ｉｗ’を書き込んだ後、バックアップ管理情報Ｉｂを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを更新する方法は、後で詳述する（ステップＳ７８−４）。
【０１５７】
そして、ファイル管理部１３は、ＥＣＣエラーが生じているブロックのデータを消去する。このブロック消去は、前述のステップＳ１１〜ステップＳ１５により行う（ステップＳ７８−５）。
【０１５８】
このようにして、１つのブロックを読み出すと、ファイル管理部１３は、ブロックマップＩｍａｐより、ファイルの次の部分を格納しているブロックのブロック番号を取得する。例えば、ブロックＢＮを読み出した場合、ブロック情報ＩｍａｐＢＮより、次ブロック番号を取得する。そしてステップＳ７２に戻り、次のブロックに対する読み出しを行う（ステップＳ７９）。
【０１５９】
以下、このステップＳ７１〜ステップＳ７９を、ファイル読み出しフローＦ３と称す。
次に、情報処理装置１００による情報処理方法、およびメモリ管理装置１０によるメモリ管理方法を説明する。
【０１６０】
まず、情報処理装置１００の起動時の動作について、図面を参照しながら説明する。
情報処理装置１００に電源が投入されると、情報処理部３０はメモリ管理装置１０に対してブートフラッシュ１５の読み出しを指示する。すると、ファイル管理部１３はブートフラッシュ１５に格納されているブートプログラムを読み出し、ブート処理を実行する。図１３は、メモリ管理装置１０によるブート処理を説明するフローチャートである。
【０１６１】
まずファイル管理部１３は、ファイル読み出しフローＦ３により、ファイルフラッシュ１１のオリジナル管理情報Ｉｏをワークメモリ１４に読み出す（ステップＳ１００１）。
【０１６２】
次に、ファイル管理部１３は、ワークメモリ１４上に読み出した管理情報Ｉｗの冗長領域のモードＲＢｍｏｄに基づいて、前回ファイルフラッシュ１１にファイルを書き込んだ際に、その処理が正常に終了したか判断する。
【０１６３】
まず、モードＲＢｍｏｄに書き込まれている１６ビットの値を４ビットごとに区分し、各４ビットに「０」が書き込まれているか判断する。そして、４ビット中、３ビット以上に「０」が書き込まれている場合、その４ビットの値を「０ｈ」とし、３ビット以上に「０」が書き込まれてない場合、その４ビットの値を「Ｆｈ」として、モードＲＢｍｏｄの４値を判定する。また、モードＲＢｍｏｄが、ブロックの先頭ページより３ページまでの所定のビット位置に付加されている場合、ファイル管理部１３は、各ページの値を判定した上で、これらの値を多数決判断する。例えば、図５に示すように、ページ１の値が「ＦＦ００ｈ」、ページ２の値が「ＦＦ０Ｆｈ」、ページ３の値が「ＦＦ００ｈ」である場合、各ページの上位４ビット（Ｒ１）の値はすべて同一であり、Ｒ１の値は「Ｆｈ」と判定される。同様に、５ビット目〜１２ビット目（Ｒ２，Ｒ３）も、各ページの値が同一であるので、Ｒ２の値は「Ｆｈ」、Ｒ３の値は「０ｈ」と判定される。下位の４ビットは、ページ１の値がページ０およびページ２とは異なっているので、多数決判断により、Ｒ４の値は「０ｈ」と判定される。
【０１６４】
このような多数決判段により、その値が判定されたモードＲＢｍｏｄが「００００ｈ」である場合、ファイル管理部１３は、データ更新処理が正常に終了していると判断し、処理をステップＳ１００８に移行する（ステップＳ１００２）。
【０１６５】
前回のデータ更新処理が正常に終了していない場合、ファイル管理部１３は、オリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに基づき、オリジナル管理情報Ｉｏは消去の途中または更新の途中であるか、あるいは、データファイル領域１１Ｄのファイルが書き込み中であるか判断する。ファイル管理部１３は、ステップＳ１００２と同様の方法で多数決判定して取得したモードＲＢｍｏｄの値が「ＦＦＦＦｈ」、「ＦＦＦ０ｈ」、「ＦＦ００ｈ」のいずれでもない場合ステップＳ１００６に移行する（ステップＳ１００３）。
【０１６６】
オリジナル管理情報Ｉｏは消去または更新の途中、または、データファイル領域１１Ｄのファイルが書き込み中（新ファイル作成中）である場合、バックアップ管理情報Ｉｂをオリジナル管理情報として用いるために、ファイルフラッシュ１１よりワークメモリ１４に読み出す。このバックアップ管理情報Ｉｂの読み出しは、ファイル読み出しフローＦ３によって行う（ステップＳ１００４）。
【０１６７】
次に、ファイルフラッシュ１１のオリジナル管理情報Ｉｏが格納されているブロックに、ステップＳ１００４で読み出したワークメモリ１４上のバックアップ管理情報Ｉｂ（以下、新管理情報Ｉｗ’）の内容を書き込む（ステップＳ１００５）。
【０１６８】
ファイルフラッシュ１１のオリジナル管理情報Ｉｏを更新する方法を、図１５を参照しながら説明する。
【０１６９】
まず、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄを、「ＦＦＦＦｈ」とし、オリジナル管理情報Ｉｏが消去中であることを表示する（ステップＳ８１）。
【０１７０】
ファイル管理部１３は、ファイル消去フローＦ１により、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去する（ステップＳ８２）。
【０１７１】
ここで、ファイルフラッシュ１１のオリジナル管理情報Ｉｏが格納されているブロックのモードＲＢｍｏｄに、「ＦＦＦ０ｈ」を書き込み、オリジナル管理情報が更新中であることを表示する（ステップＳ８３）。
【０１７２】
次に、ファイル管理部１３は、新管理情報Ｉｗ’をフラッシュＩ／Ｆ１２に出力し、ステップＳ８２において消去したブロックに書き込む。この書き込みは、ファイル書き込みフローＦ２によって行う（ステップＳ８４）。
【０１７３】
ファイルを書き込むと、ファイル管理部１３は書き込みに成功したか判断し、書き込みに成功した場合は、管理情報の更新処理を終了する（ステップＳ８５）。
【０１７４】
一方、書き込みに失敗した場合、図１６に示した方法で、新たなブロックにオリジナル管理情報Ｉｏを書き込む（オリジナル管理情報の置き換え）（ステップＳ８６）。
【０１７５】
オリジナル管理情報Ｉｏを置き換える際には、まず、新管理情報Ｉｗ’のブロックマップＩｍａｐより空きブロックを検索する。すなわち、情報管理領域１１Ｉのブロックに関するブロック情報Ｉｍａｐ１〜Ｉｍａ１６のうちＩＤが未使用となっているブロック情報を取得する。以下、空きブロックとして、ブロック３が検出され、ブロック情報Ｉｍａｐ３を取得したものとして説明する（ステップＳ９１）。
【０１７６】
取得したブロック情報Ｉｍａｐ３にオリジナル管理情報ＩｏのファイルＩＤ「００００ｈ」を登録し、該当するブロック情報によって管理されているブロックを、新ファイルを格納するブロックとして確保する（ステップＳ９２）。
【０１７７】
ここで、オリジナル管理情報Ｉｏの書き込み対象となるファイルフラッシュ１１のブロック３のモードＲＢｍｏｄに、「ＦＦＦ０ｈ」を書き込み、オリジナル管理情報が更新中であることを表示する（ステップＳ９３）。
【０１７８】
そして、ブロック３にワークメモリ上の新管理情報Ｉｗ’を書き込む。この書き込みは、ファイル書き込みフローＦ２によって行う（ステップＳ９４）。
【０１７９】
ブロック３に対する書き込みが終了すると、古いオリジナル管理情報Ｉｏを、ファイル消去フローＦ１によって消去する（ステップＳ９５）。
【０１８０】
以下、このステップＳ８１〜ステップＳ８６を、管理情報更新フローＦ４と称す。
なお、ここでは、オリジナル管理情報Ｉｏの内容を、新ファイルの内容により更新する方法を説明したが、バックアップ管理情報Ｉｂの更新も、この管理情報更新フローＦ４によって行う。また、ファイルフラッシュ１１のオリジナル管理情報Ｉｏと、バックアップ管理情報Ｉｂとは同一内容のファイルであり、ステップＳ１００７でオリジナル管理情報Ｉｏをファイルフラッシュ１１より読み出したバックアップ管理情報Ｉｂにより更新した場合でも、更新前後でファイルの内容は変化しない。
【０１８１】
ステップＳ１００３において、オリジナル管理情報Ｉｏは消去および更新の途中ではなく、データファイル領域１１Ｄのファイルが書き込み中ではない、と判断された場合、前回のオリジナル管理情報Ｉｏの更新は正常に終了していることになるので、ファイル管理部１３は、モードＲＢｍｏｄに基づき、データファイル領域１１Ｄのファイルが書き込みまたは消去の途中ではないか判断する。ファイル管理部１３は、ステップＳ１００２と同様の方法で多数決判定して取得したモードＲＢｍｏｄの値が「Ｆ０００ｈ」または「ＦＦ００ｈ」である場合、データファイル領域１１Ｄのファイルが書き込みまたは消去の途中であると判断する。ここで、書き込みまたは消去の途中ではない場合、ステップＳ１００８に移行する（ステップＳ１００６）。
【０１８２】
データファイル領域１１Ｄのファイルが書き込みまたは消去の途中である場合、図１４に示す方法で、書き込みまたは消去の途中のファイルをファイルフラッシュ１１より消去する（ステップＳ１００７）。
【０１８３】
書き込みまたは消去の途中のファイルを消去する場合、ファイル管理部１３は、管理情報Ｉｗのファイル情報Ｉｆ１〜Ｉｆｎに記述されているＩＤとブロック情報Ｉｍａｐ１〜Ｉｍａｐ１０２４に登録されているＩＤとを比較し、ファイル情報Ｉｆ１〜Ｉｆｎに登録されていないＩＤを有するブロック情報を検索する（ステップＳ１０１）。
【０１８４】
次に、ファイル管理部１３は、取得したブロック情報に記述されている前ブロック番号に基づいて、そのブロック情報が、ファイルのスタートブロックに関するものであるか判断する。前ブロック番号には、スタートブロックである場合「ＦＦＦＦｈ」が記述され、先頭ブロックではない場合、そのファイルの前の部分を格納しているブロックの番号が記述されている。ステップＳ１０１でブロックＢＮに関するブロック情報ＩｍａｐＢＮを取得した場合、ブロック情報ＩｍａｐＢＮの前ブロック番号が「ＦＦＦＦｈ」であるならば、ブロックＢＮはスタートブロックである（ステップＳ１０２）。
【０１８５】
前ブロック番号にブロック番号が記述されていた場合、そのブロックのブロック情報を取得する。例えば、前ブロック番号に「ＢＮ−１」が記述されていた場合、ブロック情報ＩｍａｐＢＮ−１を取得し、ステップＳ１０２に戻る（ステップＳ１０３）。
【０１８６】
ステップＳ１０２においてスタートブロック番号を取得すると、ファイル管理部１３はファイル消去フローＦ１を実行し、ファイルを消去する（ステップＳ１０４）。
【０１８７】
ここで、全ブロックのブロック情報に登録されているＩＤについて検索した場合、処理を終了する。未検索のブロック情報が残っている場合、ステップＳ１０１に戻る（ステップＳ１０５）。
【０１８８】
このようにして書き込みまたは消去途中のファイルを消去すると、ステップＳ１００８に移行する。
【０１８９】
オリジナル管理情報Ｉｏをワークメモリ１４に読み出すと、ファイル管理部１３はファイル読み出しフローＦ３を実行し、バックアップ管理情報Ｉｂをワークメモリ１４に読み出す（ステップＳ１００８）。
【０１９０】
次に、ファイル管理部１３は、バックアップ管理情報Ｉｂを格納しているブロックのモードＲＢｍｏｄに基づいて、前回ファイルフラッシュ１１にファイルを書き込んだ際に、その処理が正常に終了したか判断する。ファイル管理部１３は、ステップＳ１００２と同様の方法で多数決判定して取得したモードＲＢｍｏｄの値が「００００ｈ」である場合、データ更新処理が正常に終了していると判断し、処理を終了する（ステップＳ１００９）。
【０１９１】
一方、ステップＳ１００９でデータ更新処理が正常に終了していないと判断された場合、ファイル管理部１３は、ファイルフラッシュ１１のバックアップ管理情報Ｉｂが格納されているブロックに、ステップＳ１００１において読み出したワークメモリ１４上の管理情報Ｉｗの内容を書き込む。このバックアップ管理情報Ｉｂの更新は、管理情報更新フローＦ４により行う（ステップＳ１０１０）。
【０１９２】
このようにしてファイルフラッシュ１１のオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出すと、ファイル管理部１３は、管理情報Ｉｗのファイル管理情報ＩｆおよびブロックマップＩｍａｐの記述に従って、ファイルフラッシュ１１のデータファイル領域１１Ｄに格納されているプログラムファイルやデータファイルをワークメモリ１４に転送する。すなわちファイル管理部１３は、ファイル情報Ｉｆ１７〜ファイル情報Ｉｆｎに記述されている各ファイルに対してファイル読み出しフローＦ３を実行する。
【０１９３】
このブート処理が終了すると、情報処理部３０は、ワークメモリ１４に転送されたプログラムを先頭から読み出して、プログラムの処理を実行する。
【０１９４】
情報処理部３０は、プログラムの実行に伴いファイルが必要なくなると、ファイル管理部１３に対して、ファイルフラッシュ１１上のファイルの消去を指示する。また、新ファイルを生成すると、そのファイルをワークメモリ１４に出力し、ファイル管理部１３に対して新ファイルの書き込みを指示する。
【０１９５】
次に、情報処理部３０よりファイルの消去、書き込み、読み出しが指示された場合のメモリ管理装置１０の動作を説明する。
【０１９６】
ここでは、ファイルフラッシュ１１のデータファイル領域１１Ｄに格納されているファイル２を、ファイル３に更新する場合を例にとって説明する。図６は、ファイル２をファイル３に更新する手順を、ファイルフラッシュ１１の状態ごとに示した図、図１７は、ファイル２をファイル３に更新する方法を説明するフローチャートである。
【０１９７】
ファイル更新を行う前（状態１）のファイルフラッシュ１１には、情報管理領域１１Ｉにオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとが格納され、データファイル領域１１Ｄにファイル１とファイル２とが格納されている。また、ワークメモリ１４には、ファイルフラッシュ１１に格納されているオリジナル管理情報Ｉｏやバックアップ管理情報Ｉｂと同一内容の管理情報Ｉｗが格納されている。
【０１９８】
状態２では、ワークメモリ１４上の管理情報Ｉｗが更新される。
まず、ファイル管理部１３は、管理情報Ｉｗを複製し、ワークメモリ１４のデータを有していない領域に、複製した管理情報Ｉｗを退避させる（ステップＳ２００１）。
【０１９９】
そして、図１８に示す方法で、ファイルフラッシュ１１に新ファイルを追加できるか判断し、管理情報Ｉｗに新ファイルのファイルＩＤを登録する（ステップＳ２００２）。
【０２００】
新ファイルの追加が可能か判断するには、まず、管理情報Ｉｗのファイル管理情報Ｉｆを検索し、ＩＤが未使用となっているファイル情報を取得する（ステップＳ１１１）。
【０２０１】
そして、取得したファイル情報のＩＤに、追加する新ファイルのファイルＩＤを登録し、このファイル情報を新ファイルに割り当てる（ステップＳ１１２）。
【０２０２】
次に、管理情報ＩｗのブロックマップＩｍａｐを検索し、ＩＤが未使用となっている空きブロックのブロック情報を取得する（ステップＳ１１３）。
【０２０３】
そして、取得したブロック情報のＩＤに新ファイルのファイルＩＤを登録し、このブロック情報によって管理されているブロックを、新ファイルを格納するブロックとして確保する。また、このブロックに格納するものがファイルの一部分である場合、前ブロック番号や次ブロック番号を記述する（ステップＳ１１４）。
【０２０４】
ここで、ファイル管理部１３は、新ファイルを格納するために必要となるブロック数のブロックを確保したか判断し、必要数のブロックを確保していない場合はステップＳ１１３に戻る。一方、必要数のブロックにＩＤを登録すると、処理を終了する。また、必要数のブロックを確保していないが、ファイルフラッシュ１１のデータファイル領域１１Ｄに空き領域がなく、ブロック情報Ｉｍａｐ１〜ブロック情報Ｉｍａｐ１０２４のすべてのＩＤにファイルＩＤが登録されている場合も、処理を終了する（ステップＳ１１５）。
【０２０５】
このようにして、新ファイルを追加できることを判断すると、ステップＳ２００４に移行し、ファイルフラッシュ１１に新ファイルを追加できない場合、処理を終了する（ステップＳ２００３）。
【０２０６】
次に、管理情報Ｉｗの、消去するファイル２のファイル情報Ｉｆ２を削除する。また、既存のファイルに新たなファイルを上書きする場合も、上書きされるファイルのファイル情報を削除する。
【０２０７】
ファイル情報を削除するには、まず、ファイル管理部１３はファイル情報Ｉｆを検索し、消去するファイル２のファイルＩＤを有するファイル情報Ｉｆ２を取得する。そして、ファイル情報Ｉｆ２のファイルＩＤと、スタートブロック番号と、ファイルサイズと、ファイル名とを消去する。次に、ファイル管理部１３は、ブロックマップＩｍａｐを検索し、ファイル２のファイルＩＤが記述されているブロックのブロック情報を取得すると、ＩＤを未使用に設定する。例えば、ブロックＢＮにファイル２のファイルＩＤが記述されている場合、ブロック情報ＩｍａｐＢＮのＩＤを「ＦＦＦＦｈ」とする。ファイルは複数のブロックにわたって格納されていることもあるので、ブロックマップＩｍａｐが有するすべてのブロック情報より、ファイル２のファイルＩＤが記述されているブロック情報を検索し、ＩＤを未使用に設定する。この時、管理情報Ｉｗは、ファイル２に関する情報が消去され、ファイル３に関する情報が追加された新管理情報Ｉｗ’となっている。この状態が、図６の「状態２」である（ステップＳ２００４）。
【０２０８】
状態３では、オリジナル管理情報Ｉｏが更新される。すなわち、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、新管理情報Ｉｗ’を書き込む（図６には、更新後のオリジナル管理情報を、新オリジナル管理情報と表記）。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２００５）。
【０２０９】
次に、ワークメモリ１４に、ステップＳ２００２において登録したファイルＩＤを有するファイル３が生成される。このファイル３は、情報処理部３０が生成してもよいし、情報処理装置１００に接続されている他の機器（図示せず）が生成してもよい。また、ファイル３は、このステップより前のステップで生成されてもよい（ステップＳ２００６）。
【０２１０】
状態４では、ステップＳ２００６で生成されたファイル３が、ファイルフラッシュ１１に書き込まれる。
【０２１１】
ファイル管理部１３は、ファイルフラッシュ１１の、オリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに、「ＦＦ００ｈ」を書き込み、データファイル領域１１Ｄにファイルを書き込み中であることを表示する（ステップＳ２００７）。
【０２１２】
モードＲＢｍｏｄを設定すると、ファイル管理部１３はファイル書き込みフローＦ２を実行し、ステップＳ２００２で登録したブロックマップに基づいてファイル３を書き込む（ステップＳ２００８）。
【０２１３】
次に、ファイル管理部１３は、ワークメモリ上の新管理情報Ｉｗ’のブロックマップＩｍａｐが更新されているか判断し、更新されていない場合はステップＳ２０１１に移行する。ブロックマップＩｍａｐが変更されるのは、ステップＳ２００８において書き込みに失敗し、不良ブロックが登録された場合である（ステップＳ２００９）。
【０２１４】
ブロックマップＩｍａｐが更新されていた場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、更新された新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２０１０）。
【０２１５】
状態５では、ファイル２が消去される。
ファイル管理部１３は、ファイルフラッシュ１１の、オリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに、「Ｆ０００ｈ」を書き込み、データファイル領域１１Ｄの古いファイルが消去中であることを表示する（ステップＳ２０１１）。
【０２１６】
モードＲＢｍｏｄを設定すると、ファイル管理部１３は、ステップＳ２００１で退避させた管理情報Ｉｗに基づいて、ファイル２のＩＤまたはスタートブロック番号を取得し、ファイル２を消去する。この消去は、ファイル消去フローＦ１により行う（ステップＳ２０１２）。
【０２１７】
次に、ファイル管理部１３は、ワークメモリ上の新管理情報Ｉｗ’のブロックマップＩｍａｐが更新されているか判断し、更新されていない場合はステップＳ２０１５に移行する。ここで、ブロックマップＩｍａｐが変更されるのは、ステップＳ２０１２において消去に失敗し、不良ブロックが登録された場合である（ステップＳ２０１３）。
【０２１８】
ブロックマップＩｍａｐが更新されていた場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、更新された新管理情報Ｉｗ’（ステップＳ２５における是正用管理情報）を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２０１４）。
【０２１９】
状態６では、バックアップ管理情報Ｉｂが更新される。すなわち、ファイル管理部１３は、ファイルフラッシュ１１のバックアップ管理情報Ｉｂを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む（図６には、更新後のバックアップ管理情報を、新バックアップ管理情報と表記）。このバックアップ管理情報Ｉｂの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２０１５）。
【０２２０】
バックアップ管理情報Ｉｂの更新が終了したら、ステップＳ２０１７に移行し、更新に失敗したら処理を終了する（ステップＳ２０１６）。
【０２２１】
ファイル２をファイル３に更新する処理のすべてが終了したら、ファイル管理部１３は、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを格納しているブロックのモードＲＢｍｏｄに、「００００ｈ」を記述し、データ更新が正常に終了したことを表示する（ステップＳ２０１７）。
【０２２２】
次に、ファイルフラッシュ１１のデータファイル領域１１Ｄに格納されているファイルを消去する方法を、ファイル２を消去する場合を例にとって説明する。図１９は、ファイル消去する方法を説明するフローチャートである。
【０２２３】
ファイルフラッシュ１１に格納されているファイル２を消去する時には、まず、ファイル管理部１３は、管理情報Ｉｗを複製し、ワークメモリ１４のデータを有していない領域に、複製した管理情報Ｉｗを退避させる（ステップＳ２１０１）。
【０２２４】
次に、管理情報Ｉｗの、消去するファイル２のファイル情報Ｉｆ２を削除する。ファイル管理部１３は、消去するファイル２のファイルＩＤを有するファイル情報Ｉｆ２より、ファイルＩＤと、スタートブロック番号と、ファイルサイズと、ファイル名とを消去する。さらに、ブロックマップＩｍａｐを検索してファイル２のファイルＩＤが記述されているブロック情報を取得し、そのブロックマップのＩＤを未使用に設定する。この時、管理情報Ｉｗは、ファイル２に関する情報が消去された新管理情報Ｉｗ’となっている（ステップＳ２１０２）。
【０２２５】
ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２１０３）。
【０２２６】
そして、ファイル管理部１３は、ファイルフラッシュ１１の、オリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに、「Ｆ０００ｈ」を書き込み、データファイル領域１１Ｄの古いファイルが消去中であることを表示する（ステップＳ２１０４）。
【０２２７】
モードＲＢｍｏｄを設定すると、ファイル管理部１３は、ステップＳ２１０１で退避させた管理情報Ｉｗに基づいて、ファイル２のＩＤまたはスタートブロック番号を取得し、ファイル２を消去する。この消去は、ファイル消去フローＦ１により行う（ステップＳ２１０５）。
【０２２８】
次に、ファイル管理部１３は、ワークメモリ上の新管理情報Ｉｗ’のブロックマップＩｍａｐが更新されているか判断し、更新されていない場合はステップＳ２１０８に移行する。ここで、ブロックマップＩｍａｐが変更されるのは、ステップＳ２１０５において消去に失敗し、不良ブロックが登録された場合である（ステップＳ２１０６）。
【０２２９】
ブロックマップＩｍａｐが更新されていた場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、更新された新管理情報Ｉｗ’（ステップＳ２５における是正用管理情報）を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２１０７）。
【０２３０】
次に、バックアップ管理情報Ｉｂを更新する。すなわち、ファイル管理部１３は、ファイルフラッシュ１１のバックアップ管理情報Ｉｂを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このバックアップ管理情報Ｉｂの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２１０８）。
【０２３１】
バックアップ管理情報Ｉｂの更新が終了したら、ステップＳ２１１０に移行し、更新に失敗したら処理を終了する（ステップＳ２１０９）。
【０２３２】
ファイル２を消去する処理のすべてが終了したら、ファイル管理部１３は、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを格納しているブロックのモードＲＢｍｏｄに、「００００ｈ」を記述し、データ更新が正常に終了したことを表示する（ステップＳ２１１０）。
【０２３３】
次に、ファイルフラッシュ１１のデータファイル領域１１Ｄに、新ファイルを追加する方法を、ファイル２を追加する場合を例にとって説明する。図２０は、ファイルを追加する方法を説明するフローチャートである。
【０２３４】
ファイルフラッシュ１１にファイル２を追加する時には、まず、ワークメモリ１４上の管理情報Ｉｗに新ファイルのファイルＩＤを登録し、ファイルフラッシュ１１に新ファイルを追加できるかを判断する。ファイル管理部１３は、管理情報Ｉｗのファイル管理情報Ｉｆを検索し、ＩＤが未使用となっているファイル情報を取得する。そして、取得したファイル情報のＩＤに、追加する新ファイルのファイルＩＤを登録し、このファイル情報を新ファイルに割り当てる。さらに、ブロックマップＩｍａｐを検索し、ＩＤが未使用となっている空きブロックのブロック情報を取得する。そして、取得したブロック情報のＩＤに新ファイルのファイルＩＤを登録し、このブロック情報によって管理されているブロックを、新ファイルを格納するブロックとして確保する。また、このブロックに格納するものがファイルの一部分である場合、前ブロック番号や次ブロック番号を記述する。この時、管理情報Ｉｗは、追加するファイル２に関する情報が記述された新管理情報Ｉｗ’となっている（ステップＳ２２０１）。
【０２３５】
このようにして、新ファイルを追加できることを判断すると、ステップＳ２２０３に移行し、ファイルフラッシュ１１に新ファイルを追加できない場合、処理を終了する（ステップＳ２２０２）。
【０２３６】
ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２２０３）。
【０２３７】
次に、ワークメモリ１４に、ステップＳ２００１において登録したファイルＩＤを有するファイル２が生成される。このファイル２は、情報処理部３０が生成してもよいし、情報処理装置１００に接続されている他の機器（図示せず）が生成してもよい。また、ファイル２は、このステップより前のステップで生成されてもよい（ステップＳ２２０４）。
【０２３８】
ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを格納しているブロックのモードＲＢｍｏｄに、「ＦＦ００ｈ」を書き込み、データファイル領域１１Ｄにファイルを書き込み中であることを表示する（ステップＳ２２０５）。
【０２３９】
モードＲＢｍｏｄを設定すると、ファイル管理部１３はファイル書き込みフローＦ２を実行し、ステップＳ２２０１で登録したブロックマップに基づいてファイル２を書き込む（ステップＳ２２０６）。
【０２４０】
次に、ファイル管理部１３は、ワークメモリ上の新管理情報Ｉｗ’のブロックマップＩｍａｐが更新されているか判断し、更新されていない場合はステップＳ２２０９に移行する。ブロックマップＩｍａｐが変更されるのは、ステップＳ２２０６において書き込みに失敗し、不良ブロックが登録された場合である（ステップＳ２２０７）。
【０２４１】
ブロックマップＩｍａｐが更新されていた場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏを消去し、消去したブロックに、更新された新管理情報Ｉｗ’を書き込む。このオリジナル管理情報Ｉｏの更新は、管理情報更新フローＦ４によって行い、書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２２０８）。
【０２４２】
次に、バックアップ管理情報Ｉｂを更新する。すなわち、ファイル管理部１３は、ファイルフラッシュ１１のバックアップ管理情報Ｉｂを消去し、消去したブロックに新管理情報Ｉｗ’を書き込む。このバックアップ管理情報Ｉｂの更新は、管理情報更新フローＦ４によって行い、新管理情報Ｉｗ’の書き込みに失敗した場合は、別のブロックに対する書き込みを行う（ステップＳ２２０９）。
【０２４３】
バックアップ管理情報Ｉｂの更新が終了したら、ステップＳ２２１１に移行し、更新に失敗したら処理を終了する（ステップＳ２２１０）。
【０２４４】
ファイル２を追加する処理のすべてが終了したら、ファイル管理部１３は、オリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂを格納しているブロックのモードＲＢｍｏｄに、「００００ｈ」を記述し、データ更新が正常に終了したことを表示する（ステップＳ２２１１）。
【０２４５】
以上のように、本実施の形態１による情報処理装置においては、情報処理装置１００を、プログラムファイルやデータファイルを保持するメモリ管理装置１０と、メモリ管理装置１０より提供されるプログラムファイルやデータファイルに基づいて処理を行う情報処理部３０と、を有するものとし、メモリ管理装置１０を、プログラムファイルとデータファイルとを格納するファイルフラッシュ１１と、ファイルフラッシュ１１に格納されているファイルの管理を行うファイル管理部１３と、情報処理部３０の作業領域であるワークメモリ１４と、ファイル管理部１３からファイルフラッシュ１１にアクセスできるようにするフラッシュＩ／Ｆ１２と、ブートプログラムを格納するブートフラッシュ１５と、を有するもの、としたので、情報処理部３０は、ワークメモリ１４上に転送されたプログラムを実行することができ、処理を実行する際にファイルフラッシュ１１より１ステップ毎に読み出す必要がなくなる。このため、情報処理部３０の処理速度が高速化され、実行時間を大幅に削減することができる。
【０２４６】
また、ファイル管理部１３は、ワークメモリ１４に転送された管理情報Ｉｗを更新することにより、ファイルフラッシュ１１に対して消去や書き込みを行うための新管理情報Ｉｗ’を生成し、ファイルフラッシュ１１のオリジナル管理情報Ｉｏの内容を新管理情報Ｉｗ’の内容により更新し、新管理情報Ｉｗ’の記述に基づいてファイルフラッシュ１１のファイルやブロックの消去、書き込みを行い、ファイルフラッシュ１１のバックアップ管理情報Ｉｂの内容を新管理情報Ｉｗ’の内容に更新するので、ファイル管理部１３により、ファイルフラッシュ１１の書き込み対象や消去対象となるブロックを決定することができる。また、ファイルフラッシュ１１にオリジナル管理情報Ｉｏを書き込んだ後で、ファイルやブロックに対する消去、書き込みを行うので、すべての処理を完了する前に処理を中断した場合に、ファイル管理部１３により、消去途中や書き込み途中のファイルを検出して、該ファイルを消去することができる。さらに、オリジナル管理情報Ｉｏを書き込んだ後で、バックアップ管理情報Ｉｂを書き込むので、バックアップ管理情報Ｉｂの消去や書き込みが途中で中断された場合に、オリジナル管理情報Ｉｏを用いてバックアップ管理情報Ｉｂを復旧することができる。
【０２４７】
また、各ページの冗長領域に、データ領域の更新処理状態を表示するモードＲＢｍｏｄと、ブロックのデータの更新処理において不具合が発生したか否かを表示する有効性情報ＲＢｖａｌと、該ブロックが使用されているか否かを表示するページ書込状態ＲＢｗｒと、該ブロックが不具合を有する不良ブロックであるか否かを表示するブロック良否情報ＲＢｂｄと、該ページが使用されているか否かを表示するページ書込状態ＲＰｗｒと、データ領域のＥＣＣデータを格納するＥＣＣ情報ＲＰｅｃｃとを割り付けたので、メモリ管理部１３により、ファイルフラッシュ１１の様々な状態を把握し、その状態に応じた処理を行うことができる。
【０２４８】
また、メモリ管理部１３は、冗長領域の各領域の表示値を、４ビット毎に多数決判断することにより２値に割り当てるので、冗長領域に誤書き込みがなされていた場合でも、表示値が示している状態を把握することができる。
【０２４９】
また、メモリ管理部１３は、ブロックの複数ページにわたって表示されている表示値を多数決判定し、多数の表示値をそのブロックの値とするので、冗長領域に誤書き込みがなされている場合でも、表示値が示している状態を把握することができる。
【０２５０】
さらに、ファイルフラッシュ１１をＮＡＮＤ型フラッシュメモリやＡＮＤ型フラッシュメモリのようなシリアルフラッシュメモリとしたので、ＮＯＲ型フラッシュメモリの約１００分の１の時間で消去を行い、約２０分の１時間で書き込みを行うことができる。また、シリアルフラッシュメモリは記憶容量が大きい上に高集積化が進んでいるので、情報処理装置１００の実装面積を削減することができる。
【０２５１】
なお、本実施の形態１では、モードＲＢｍｏｄの、区分した４ビットのうち３ビット以上に「０」が書き込まれているか否かにより、その値を判定する方法を説明したが、４ビット中、全ビットに「０」が書き込まれているか否かにより、その値を判定しても良い。全ビットに「０」書き込まれている場合、その４ビットの値を「０ｈ」とし、「０」が書き込まれてないビットがある場合、その４ビットの値を「Ｆｈ」として、モードＲＢｍｏｄの４値を判定する。
【０２５２】
このように、４ビット中、全ビットに「０」が書き込まれているか否かにより、その値を判定することにより、冗長領域に誤書き込みやビット化けが発生していない場合のみ、表示値が示している状態を把握することができるので、より厳密な判定となり、ワークメモリ１４に読み出すデータの信頼性を向上させることができる。
【０２５３】
また、本実施の形態１では、モードＲＢｍｏｄを各ブロックの先頭より３ページに設け、処理の状態が進行するに従い、フラグを同一の領域に上書きするようにしたが、各状態を所定のページのモードＲＢｍｏｄに割り当て、処理の状態が進行するに従い、割り当てられたページのモードＲＢｍｏｄにフラグを書き込んでもよい。
【０２５４】
例えば、モードＲＢｍｏｄは、処理前の状態を「ＦＦＦＦｈ」、様々な処理が終わった状態を「００００ｈ」、と定義し、ページ４のモードＲＢｍｏｄ４に、「管理情報の更新」を割り当て、ページ３のモードＲＢｍｏｄ３に「ファイルの追加」を割り当て、ページ２のモードＲＢｍｏｄ２に「ファイル消去」を割り当て、ページ１のモードＲＢｍｏｄ１に「データの更新が正常に終了した状態」を割り当ててもよい。
【０２５５】
この場合、ファイル管理部１３は、ファイルフラッシュ１１のオリジナル管理情報Ｉｏやバックアップ管理情報Ｉｂの更新の際に、ページ４のモードＲＢｍｏｄ４に「００００ｈ」を書き込む。また、ファイル管理部１３は、ファイルフラッシュ１１にファイルを書き込む際に、ページ３のモードＲＢｍｏｄ３に「００００ｈ」を書き込み、ファイルを消去する際に、ページ２のモードＲＢｍｏｄ２に「００００ｈ」を書き込む。そして、すべての処理が終了すると、ページ１のモードＲＢｍｏｄ１に「００００ｈ」を書き込む。ここで、ファイルの追加や消去などの処理は、必ずオリジナル管理情報Ｉｏを更新した後で行うので、ページ３やページ２、ページ１のモードＲＢｍｏｄ３〜ＲＢｍｏｄ１に「００００ｈ」を書き込むときには、ページ４のモードＲＢｍｏｄ４にも「００００ｈ」が記述されている。ところが、ファイルを消去する前にファイルの追加を行わないこともあるので、ページ２のモードＲＢｍｏｄ２に「００００ｈ」を書き込むときに、ページ３のモードＲＢｍｏｄ３は「００００ｈ」または「ＦＦＦＦｈ」のどちらであってもよい。また、処理が、管理情報の更新のみの場合もあるので、ページ１のモードＲＢｍｏｄ１に「００００ｈ」を書き込むときに、ページ２やページ３のモードＲＢｍｏｄ２、ＲＢｍｏｄ３も、「００００ｈ」または「ＦＦＦＦｈ」のどちらであってもよい。
【０２５６】
このようにして記述したモードＲＢｍｏｄの値は、例えば、ステップＳ１００２やステップＳ１００４において、ファイルフラッシュ１１のブロックやオリジナル管理情報Ｉｏ、バックアップ管理情報Ｉｂに対する処理の状態を判定するときに用いられる。すなわち、ファイル管理部１３は、まず、区分した４ビットのうち３ビット以上に「０」が書き込まれているか否か、または、全ビットに「０」が書き込まれているか否かに基づき、該４ビットを「０ｈ」または「Ｆｈ」に割り当てて、各ページの値を判定する。次に、いずれのページに「００００ｈ」が記述されているか判断し、処理の状態を判定する。
【０２５７】
このように、処理の各状態を所定のページに割り当て、処理が進行するに従い、割り当てられたページに「００００ｈ」を書き込むことにより、同一ページのモードＲＢｍｏｄに対する書き込み回数を減少させることができ、ファイルフラッシュ１１の耐久性を保持することができる。
【０２５８】
また、本実施の形態１では、メモリ管理装置１０を、それぞれ１チップのブートフラッシュ１６と、フラッシュＩ／Ｆ１２とを用いたものとしたが、図２１に示すように、１チップにフラッシュＩ／Ｆとブートフラッシュの機能を有するインターフェース部１２ａを用いてもよい。
【０２５９】
フラッシュＩ／Ｆとブートフラッシュの機能を有するインターフェース部１２ａを用いることにより、メモリ管理装置１０ａの実装面積や、チップ単価、製造工程を削減することができ、コストの合理化を計ることができる。また、ファイル管理部１３においては、フラッシュＩ／Ｆとブートフラッシュとを、同一のアドレス空間として処理を行うことができるようになるので、両者を区別しないプログラムの開発が可能となる。
【０２６０】
また、本実施の形態１では、ファイルフラッシュ１１を、１チップ構成のシリアルフラッシュメモリを用いたもの、としているが、複数個のシリアルフラッシュメモリを用いてもよい。
【０２６１】
すなわち、図２２に示すように、ファイルフラッシュ１１ａを、３個のシリアルフラッシュＦａ−１〜Ｆａ−３より構成し、シリアルフラッシュＦａ−１に、全てのファイルフラッシュ１１ａのファイルの管理情報を格納する情報管理領域１１Ｉを割り付け、残りのシリアルフラッシュＦａ−２〜Ｆａ−３により、一連のデータファイル領域１１Ｄを構成するようにしても良い。ここでは、３個のシリアルフラッシュにより構成されたファイルフラッシュ１１ａの例を示したが、構成するシリアルフラッシュの数を限定するものではなく、任意の数（Ｎ個）とすることができる。シリアルフラッシュＦａ−１〜Ｆａ−Ｎのブロック番号を、一連の番号とすることで、ファイル管理部１３は各シリアルフラッシュを区別することなく処理を行うことができる。
【０２６２】
これにより、プログラムファイルやデータファイルのサイズの増加に対応することができる。また、各シリアルフラッシュの容量を異なるものとすることができるため、プログラムファイルやデータファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
【０２６３】
また、図２３に示すように、ファイルフラッシュ１１ｂを、３個のシリアルフラッシュＦｂ−１〜Ｆｂ−３より構成し、シリアルフラッシュＦｂ−１の先頭より、全てのファイルフラッシュ１１ｂのファイルの管理情報を格納する情報管理領域１１Ｉを割り付け、シリアルフラッシュＦｂ−１の情報管理領域１１Ｉの後ろからシリアルフラッシュＦｂ−３により、一連のデータファイル領域１１Ｄを形成するようにしても良い。ここでは、３個のシリアルフラッシュにより構成されたファイルフラッシュ１１ｂの例を示したが、構成するシリアルフラッシュの数を限定するものではなく、任意の数（Ｎ個）とすることができる。シリアルフラッシュＦｂ−１〜シリアルフラッシュＦｂ−Ｎのブロック番号を、一連の番号とすることで、ファイル管理部１３は各シリアルフラッシュを区別することなく処理を行うことができる。
【０２６４】
これにより、プログラムファイルやデータファイルのサイズの増加に対応することができる。また、各シリアルフラッシュの容量を異なるものとすることができるため、プログラムファイルやデータファイルのサイズに対して、最適な容量のシリアルフラッシュを用いることにより、基板の搭載面積の削減、および製造コストの低減を計ることができる。
【０２６５】
また、ファイルフラッシュ１１ｃを複数個のシリアルフラッシュより構成し、各シリアルフラッシュにフラッシュ番号およびアドレスを付与し、各々に、当該シリアルフラッシュのファイルの管理情報を格納する情報管理領域とデータファイル領域とを割り付けるようにしても良い。図２４に、３個のシリアルフラッシュ＃０〜＃２（＃０〜＃２はフラッシュ番号）より構成されるファイルフラッシュ１１ｃの例を示す。各シリアルフラッシュ＃０〜＃２には、アドレスＡ０〜Ａ２が付与され、各々、管理情報＃０〜＃２を格納する情報管理領域１１Ｉ−１〜１１Ｉ−３と、データファイル領域１１Ｄ−１〜１１Ｄ−３とが割り付けられている。各管理情報＃０〜＃２は、ファイルフラッシュ１１の情報管理領域１１Ｉに格納されるオリジナル管理情報Ｉｏおよびバックアップ管理情報Ｉｂに相当するものである。ここでは、３個のシリアルフラッシュにより構成されたファイルフラッシュ１１ｃの例を示したが、構成するシリアルフラッシュの数を限定するものではなく、任意の数（Ｎ個）とすることができる。
【０２６６】
このようなファイルフラッシュ１１ｃを用いた場合、ブート処理を行う前に、用いるシリアルフラッシュを選択する必要がある。図２５は、シリアルフラッシュ選択処理を説明するフローチャートである。
【０２６７】
シリアルフラッシュを選択する際、まず、ファイル管理部１３は、選択するフラッシュ番号が指定されたアプリケーションに従って、シリアルフラッシュ＃０が選択されているか判断し（ステップＳ１２１）、シリアルフラッシュ＃０が選択されている場合は、選択対象のシリアルフラッシュのアドレスをアドレスＡ０に設定する（ステップＳ１２２）。シリアルフラッシュ＃０が選択されていない場合、シリアルフラッシュ＃１が選択されているか判断し（ステップＳ１２３）、シリアルフラッシュ＃１が選択されている場合は、選択対象のシリアルフラッシュのアドレスをアドレスＡ１に設定する（ステップＳ１２４）。シリアルフラッシュ＃１が選択されていない場合、シリアルフラッシュ＃２が選択されているか判断し（ステップＳ１２５）、シリアルフラッシュ＃２が選択されている場合、選択対象シリアルフラッシュのアドレスをアドレスＡ２に設定する（ステップＳ１２６）。ファイルフラッシュ１１ｃがＮ個のシリアルフラッシュで構成されている場合、同様の手順で、選択するフラッシュ番号を昇順に判断し、シリアルフラッシュの選択を行う。
【０２６８】
このようにしてシリアルフラッシュの選択を行った後、ファイル管理部１３は、選択したファイルフラッシュを用いて処理を行う。
【０２６９】
このように、ファイルフラッシュ１１ｃを複数個のシリアルフラッシュより構成し、各々、当該シリアルフラッシュのファイルの管理情報を格納する情報管理領域とデータファイル領域とを割り付けるようにしたので、ファイルフラッシュの交換が可能となる。
【０２７０】
（実施の形態２）
次に、本発明の請求項２、請求項４、請求項６ないし請求項８に記載の情報処理装置を実施の形態２として、図面を参照しながら説明する。
【０２７１】
図２６は、本実施の形態２に係る情報処理装置の構成を示すブロック図である。なお、図２６において、図１に示すものと同一または相当する部分には同一符号を付して、詳しい説明を省略する。
【０２７２】
図２６に示すように、本実施の形態２に係る情報処理装置１００ｂのメモリ管理装置１０ｂは、実施の形態１の情報処理装置１００のメモリ管理装置１０に、起動時の動作を設定する設定手段１７と、外部に接続された外部制御装置２００との通信を行う通信手段１８と、を加えて備え、ファイルフラッシュ１１に、情報処理装置１００ｂの自己診断を行うための自己診断プログラムと、情報処理装置１００ｂを動作させるメインプログラムと、を格納し、ブートフラッシュ１５に、ファイルフラッシュ１１に格納されている自己診断プログラムをワークメモリ１４に読み出す手順を定めたブートプログラムＰＧ１と、ファイルフラッシュ１１に格納されているメインプログラムをワークメモリ１４に読み出す手順を定めたブートプログラムＰＧ２と、外部制御装置２００より転送されるメインプログラムあるいは自己診断プログラムをワークメモリ１４に読み出す手順を定めたブートプログラムＰＧ３と、を格納したものである。
【０２７３】
外部制御装置２００は、パーソナルコンピュータや携帯電話などの、メインプログラムあるいは自己診断プログラムを情報処理装置１００ｂに対して転送可能な装置である。
【０２７４】
設定手段１７には、起動時にファイル管理部１３が実行するブートプログラムの種類が設定される。例えば、状態１の時は、ファイル管理部１３はブートプログラムＰＧ１を実行し、状態２の時は、ブートプログラムＰＧ２を、状態３の時はブートプログラムＰＧ３を実行する。
【０２７５】
また、各ブートプログラムＰＧ１〜ＰＧ３は、メインプログラムや自己診断プログラムをワークメモリ１４に読み出す手順の前に、実施の形態１で説明した、オリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出す手順を有する。
【０２７６】
次に、このように構成される情報処理装置１００ｂにおける動作を説明する。
情報処理装置１００ｂが起動されると、ファイル管理部１３は、設定手段１７の設定に従って、第１のブートプログラム、または第２のブートプログラム、または第３のブートプログラムを実行する。
【０２７７】
設定手段１７の設定が、状態１である場合、ファイル管理部１３は、ブートプログラムＰＧ１を実行する。すなわち実施の形態１で説明したステップＳ１００１〜ステップＳ１０１０によりオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後、ファイルフラッシュ１１に格納されている自己診断プログラムを、ワークメモリ１４に読み出す。
【０２７８】
また、設定手段１７の設定が、状態２である場合、ファイル管理部１３は、ブートプログラムＰＧ２を実行する。ブートプログラムＰＧ１と同様に、実施の形態１で説明したステップＳ１００１〜ステップＳ１０１０によりオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後、ファイルフラッシュ１１に格納されているメインプログラムを、ワークメモリ１４に読み出す。
【０２７９】
さらに、設定手段１７の設定が、状態３である場合、ファイル管理部１３は、ブートプログラムＰＧ３を実行する。ブートプログラムＰＧ１と同様に、実施の形態１で説明したステップＳ１００１〜ステップＳ１０１０によりオリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後、通信手段１８を介して外部制御装置２００より転送されるメインプログラム、あるいは自己診断プログラムを、ワークメモリ１４に読み出す。
【０２８０】
すると、情報処理部３０は、ワークメモリ１４上のプログラムの処理を実行する。
ここで、情報処理部３０が処理を行い、ワークメモリ１４上に新たにファイル４を生成した場合、ファイル管理部１３は、ファイル４を、通信手段１８を介して外部制御装置２００に転送する。
【０２８１】
また、ファイル管理部１３は、情報処理部３０の命令に基づいて、ファイル４をファイルフラッシュ１１に書き込む。この書き込みは、実施の形態１で説明したステップＳ２２０１〜ステップＳ２２１１により行い、ファイルフラッシュ１１のオリジナル管理情報Ｉｏの内容を、ファイル４の情報を記述した管理情報Ｉｗの内容により更新し、ファイルフラッシュ１１にファイル４を書き込む。そして、バックアップ管理情報Ｉｂの内容を管理情報Ｉｗの内容により更新して、ファイル４の書き込みを終了する。
【０２８２】
さらに、ファイル管理部１３は、外部制御装置２００あるいは情報処理部３０の要求に応じて、ワークメモリ１４上のプログラムファイルやデータファイルを、通信手段１８を介して外部制御装置２００に送信する。
【０２８３】
また、ワークメモリ１４上のプログラムが外部制御装置２００よりプログラムを取得する手順を定めたものである場合や、外部制御装置２００からプログラムの取得を命令された場合、情報処理部３０は、通信手段１８を介してプログラムファイルやデータファイルを、外部制御装置２００より取得する。
【０２８４】
以上のように、本実施の形態２による情報処理装置１００ｂにおいては、情報処理装置１００ｂに、起動時の動作を設定する設定手段１７と、外部に接続された外部制御装置２００との通信を行う通信手段１８と、を備えたので、自己診断プログラム、またはメインプログラムを選択して実行することができる。また、情報処理装置１００ｂにおいて自己診断を行うことができるようになるので、従来、診断のために必要であった各種治具が不要となり、保守サービスのために冶具を長期間保持する必要がなくなる。
【０２８５】
また、通信手段１８を介して外部制御装置２００と接続したので、新たなプログラムファイルを取得し、ソフトのバージョンアップや、新たな機能の追加を容易に行うことができる。また、外部より容易にファイルを取得できるので、ファイルフラッシュ１１に格納するファイルの数を削減することができるとともに、より安価な小容量のファイルフラッシュを用いることができる。
【０２８６】
さらに、情報処理装置１００ｂを動作させるプログラムの開発時に、開発中のプログラムを、ファイルフラッシュ１１に書き込むことなく動作させることができるので、プログラムのデバッグも容易に行うことができる。
【０２８７】
また、外部制御装置２００からの要求に応じて、プログラムファイルやデータファイルを通信手段１８を介して外部制御装置２００に送信するので、情報処理装置１００ｂの外部より、自己診断の結果や、動作結果などをモニタすることができる。
【０２８８】
なお、本実施の形態２では、通信手段１８を介して外部制御装置２００に接続した情報処理装置１００ｂについて説明したが、さらに多くの種類のプログラムファイルやデータファイルを取得するために、情報処理装置１００ｂを、通信手段１８を介して、直接、インターネット等に接続してもよい。また、情報処理装置１００ｂを、通信手段１８および外部制御装置２００を経由してインターネット等に接続してもよい。
【０２８９】
（実施の形態３）
次に、本発明の請求項３ないし請求項８に記載の情報処理装置を実施の形態３として、図面を参照しながら説明する。
【０２９０】
図２７は、本実施の形態３に係る情報処理装置の構成を示すブロック図である。なお、図２７において、図２６に示すものと同一または相当する部分には同一符号を付して、詳しい説明を省略する。
【０２９１】
図２７に示すように、本実施の形態３に係る情報処理装置１００ｃのメモリ管理装置１０ｃは、実施の形態２の情報処理装置１００ｂのメモリ管理装置１０ｂに、メインプログラムや自己診断プログラムなどのプログラムファイル、およびデータファイルを蓄積して格納するデータ蓄積手段１９を、加えて備えたものである。また、ブートフラッシュ１５には、実施の形態２で説明したブートプログラムＰＧ１〜ＰＧ３に加え、オリジナル管理情報Ｉｏとバックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後に、データ蓄積手段１９に蓄積されているメインプログラムあるいは自己診断プログラムをワークメモリ１４に読み出す手順を定めたブートプログラムＰＧ４が格納され、設定手段１７には、実施の形態２で説明した状態１〜状態３に加え、ファイル管理部１３がブートプログラムＰＧ４を実行する状態４が割り当てられている。
【０２９２】
データ蓄積手段１９は、ＤＶＤ（Digital Versatile Disk）や、ハードディスク、ＣＤ（Compact Disc）、ＣＤ−Ｒ（Compact Disc-Recordable）、半導体メモリ装置などの、電源切断後もデータを保持する記録媒体である。
【０２９３】
次に、このように構成される情報処理措置１００ｃにおける動作を説明する。
情報処理装置１００ｃが起動されると、ファイル管理部１３は、設定手段１７の設定に従って、第１のブートプログラム、または第２のブートプログラム、または第３のブートプログラム、または第４のブートプログラムを実行する。
【０２９４】
設定手段１７の設定が、状態１である場合、ファイル管理部１３はブートプログラムＰＧ１を、状態２である場合、ブートプログラムＰＧ２を、状態３である場合、ブートプログラムＰＧ３を実行する。また、設定手段１７の設定が、状態４である場合、ファイル管理部１３は、ブートプログラムＰＧ４を実行し、オリジナル管理情報Ｉｏと、バックアップ管理情報Ｉｂとをワークメモリ１４に読み出した後、データ蓄積手段１９に蓄積されているメインプログラムあるいは自己診断プログラムをワークメモリ１４に読み出す。
【０２９５】
すると、情報処理部３０は、ワークメモリ１４上のプログラムの処理を実行する。
情報処理部３０による処理の結果、新たにファイル５が生成された場合、ファイル管理部１３は、情報処理部３０からの命令に基づいて、ファイル５をファイルフラッシュ１１に書き込む。この書き込みは、実施の形態１で説明したステップＳ２２０１〜ステップＳ２２１１により行い、ファイルフラッシュ１１のオリジナル管理情報Ｉｏの内容を、ファイル５の情報を記述した管理情報Ｉｗの内容により更新し、ファイルフラッシュ１１にファイル５を書き込む。そして、バックアップ管理情報Ｉｂの内容を管理情報Ｉｗの内容により更新して、ファイル５の書き込みを終了する。
【０２９６】
また、ファイル管理部１３は、外部制御装置２００あるいは情報処理手段３０の要求に応じて、ファイル５を、通信手段１８を介して外部制御装置２００に送信する。
【０２９７】
さらに、ファイル管理部１３は、情報処理手段３０の命令に基づいて、ファイル５をデータ蓄積手段１９に蓄積する。
【０２９８】
また、ワークメモリ１４上のプログラムが外部制御装置２００よりプログラムを取得する手順を定めたものである場合や、外部制御装置２００からプログラムの取得を命令された場合、情報処理部３０は、通信手段１８を介してプログラムファイルやデータファイルを、外部制御装置２００より取得する。以上のように、本発明の実施の形態３による情報処理装置１００ｃにおいては、情報処理装置１００ｃに、データを蓄積して格納するデータ蓄積手段１９を備えたので、自己診断プログラムの実行により生成した自己診断結果ファイルや、情報処理装置１００ｃの使用履歴および故障履歴などをデータ蓄積手段１９に蓄積することができるとともに、該情報を蓄積した記録媒体を取り外して使用することができる。また、この自己診断結果ファイルを用いて、情報処理装置１００ｃや、情報処理装置１００ｃに接続されている他の機器の劣化などをモニタすることができる。さらに、データ蓄積手段１９を介して、外部からの各種ファイルの取得や、メインプログラムおよび自己診断プログラムの実行が可能となる。
【産業上の利用可能性】
【０２９９】
本発明の情報処理装置、メモリ管理装置、メモリ管理方法、および情報処理方法は、メモリ容量の大きいシリアルフラッシュメモリに対して、不具合を生じることなく書き込みや読み出しを行うとともに、電源投入時にブート処理をうことによりＣＰＵの実行時間を短縮するので、有用である。
【図面の簡単な説明】
【０３００】
【図１】本発明の実施の形態１に係る情報処理装置の構成を示すブロック図である。
【図２】本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの記憶領域の構造を説明する模式図である。
【図３】本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの構成を説明する模式図である。
【図４】本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの冗長領域の構成を説明する模式図である。
【図５】本発明の実施の形態１に係る情報処理装置における、冗長領域のモードを判定する方法を説明する図である。
【図６】本発明の実施の形態１に係る情報処理装置による、ファイル２をファイル３に更新する手順を説明する図である。
【図７】本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュにおける、ブロック消去の方法を説明するフローチャートである。
【図８】本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュよりファイルを消去する方法を説明するフローチャートである。
【図９】本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュにおける、ページ書き込みの方法を説明するフローチャートである。
【図１０】本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュに、ファイルを書き込む方法を説明するフローチャートである。
【図１１】本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュにおける、ページ読み出しの方法を説明するフローチャートである。
【図１２】本発明の実施の形態１に係るメモリ管理装置のファイルフラッシュより、ファイルを読み出す方法を説明するフローチャートである。
【図１３】本発明の実施の形態１に係る情報処理装置の、ブート処理を説明するフローチャートである。
【図１４】本発明の実施の形態１に係るメモリ管理装置による、書き込みまたは消去の途中のファイルをファイルフラッシュより消去する方法を説明するフローチャートである。
【図１５】本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュのオリジナル管理情報およびバックアップ管理情報を更新する方法を説明するフローチャートである。
【図１６】本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュのオリジナル管理情報およびバックアップ管理情報を、新たなブロックに書き込む方法を説明するフローチャートである。
【図１７】本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュのファイル２をファイル３に更新する方法を説明するフローチャートである。
【図１８】本発明の実施の形態１に係るメモリ管理装置により、新ファイルを追加できるかを判断する方法を説明する。
【図１９】本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュよりファイルを消去する方法を説明するフローチャートである。
【図２０】本発明の実施の形態１に係るメモリ管理装置による、ファイルフラッシュにファイルを追加する方法を説明するフローチャートである。
【図２１】本発明の実施の形態１に係る情報処理装置の構成の別の一例を示すブロック図である。
【図２２】本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの構成の別の一例を示す模式図である。
【図２３】本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの構成の別の一例を示す模式図である。
【図２４】本発明の実施の形態１に係る情報処理装置の、ファイルフラッシュの構成の別の一例を示す模式図である。
【図２５】図２４に示したファイルフラッシュにおいて、シリアルフラッシュを選択する方法を説明するフローチャートである。
【図２６】本発明の実施の形態２に係る情報処理装置の構成を示すブロック図である。
【図２７】本発明の実施の形態３に係る情報処理装置の構成を示すブロック図である。
【図２８】従来の情報処理装置の構成を示すブロック図である。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2003065210.tif 000031
【図２】
2003065210.tif 000032
【図３】
2003065210.tif 000033
【図４】
2003065210.tif 000034
【図５】
2003065210.tif 000035
【図６】
2003065210.tif 000036
【図７】
2003065210.tif 000037
【図８】
2003065210.tif 000038
【図９】
2003065210.tif 000039
【図１０】
2003065210.tif 000040
【図１１】
2003065210.tif 000041
【図１２】
2003065210.tif 000042
【図１３】
2003065210.tif 000043
【図１４】
2003065210.tif 000044
【図１５】
2003065210.tif 000045
【図１６】
2003065210.tif 000046
【図１７】
2003065210.tif 000047
【図１８】
2003065210.tif 000048
【図１９】
2003065210.tif 000049
【図２０】
2003065210.tif 000050
【図２１】
2003065210.tif 000051
【図２２】
2003065210.tif 000052
【図２３】
2003065210.tif 000053
【図２４】
2003065210.tif 000054
【図２５】
2003065210.tif 000055
【図２６】
2003065210.tif 000056
【図２７】
2003065210.tif 000057
【図２８】
2003065210.tif 000058
【国際調査報告】
2003065210.tif 000059
2003065210.tif 000060
2003065210.tif 000061
2003065210.tif 000062