(57)【特許請求の範囲】
【請求項１】
データ消去の単位である記憶領域を６以上含む電気的に書き換え可能な不揮発性半導体メモリの、前記６以上の記憶領域を、最初の前記記憶領域を最後の前記記憶領域の次の前記記憶領域として、リング状に順番を認識し、前記不揮発性半導体メモリにおける不安定状態の復旧を指示する復旧要求に基づいて、データが記録されていない状態である、消去済み、と判定した前記記憶領域のデータを消去し、最新データが記録されていると判定した前記記憶領域のデータを消去し、データを消去された前記記憶領域以外に、データが記録されている状態である、データ有と判定された前記記憶領域が２以上存在する場合に、前記２以上存在する前記記憶領域のそれぞれに記憶されているデータの内の最新データを、有効データとして選定するための復旧処理手段と、
前記６以上の記憶領域を前記リング状に順番を認識し、前記不揮発性半導体メモリへ新たなデータの書き込みを指示する更新要求に基づいて、前記消去済みの前記記憶領域が２以下の場合、最旧データを記憶している前記記憶領域のデータを消去し、次に、データ有の前記記憶領域の次の、前記消去済みの前記記憶領域へのデータ書き込みを実行するための更新処理手段と、を含む
フラッシュメモリ制御装置。
【請求項２】
前記更新処理手段は、前記消去済みの前記記憶領域が３以下の場合、前記消去済みの前記記憶領域が４つになるように、記憶しているデータが相対的に古い前記記憶領域から順番にデータを消去し、次に、データ有の前記記憶領域の次の２つの、前記消去済みの前記記憶領域へ、同一データのデータ書き込みを実行する
ことを特徴とする請求項１記載のフラッシュメモリ制御装置。
【請求項３】
前記復旧処理手段は、
前記不揮発性半導体メモリからデータを読み出すための読み出し手段と、前記記憶領域の単位でデータを消去するための消去手段と、を含み、
前記読み出し手段を用いて、前記記憶領域のデータを読み出し、読み出したデータに基づいて前記記憶領域が前記消去済みか前記データ有かを判定し、
前記消去手段を用いて、前記記憶領域が前記消去済みか前記データ有かを判定した結果に基づいて、前記記憶領域のデータを消去し、
次のデータを書き込むための前記記憶領域を示す書き込みポインターと、次にデータを消去する前記記憶領域を示す消去ポインターとを更新し、
前記更新処理手段は、
前記不揮発性半導体メモリにデータを書き込むための書き込み手段と、前記消去手段と、を含み、
前記書き込みポインターと前記消去ポインターとの差分が、前記記憶領域の２領域分以下である場合に、前記消去ポインターで示される前記記憶領域を、前記消去手段を用いて消去し、
前記消去ポインターを更新し、
更新要求に基づいて、前記書き込み手段を用いて、前記書き込みポインターで示される前記記憶領域にデータを書き込み、
前記書き込みポインターを更新する
ことを特徴とする請求項１または２記載のフラッシュメモリ制御装置。
【請求項４】
前記復旧処理手段は、前記不揮発性半導体メモリのデータの読み出しを指示する読み出し要求を受け取った場合、前記有効データとして選定されたデータのみを読み出し、出力する
ことを特徴とする請求項１乃至３のいずれか１項に記載のフラッシュメモリ制御装置。
【請求項５】
前記復旧処理手段は、選定した前記有効データの識別情報を出力する
ことを特徴とする請求項１乃至４のいずれか１項に記載のフラッシュメモリ制御装置。
【請求項６】
データ消去の単位である記憶領域を６以上含む電気的に書き換え可能な不揮発性半導体メモリと、
前記不揮発性半導体メモリからデータを読み出すための読み出し手段と、
前記記憶領域の単位でデータを消去するための消去手段と、
前記不揮発性半導体メモリにデータを書き込むための書き込み手段と、
を含むフラッシュメモリ手段と、
フラッシュメモリ制御手段と、を含み、
前記フラッシュメモリ制御手段は、
前記６以上の記憶領域を、最初の前記記憶領域を最後の前記記憶領域の次の前記記憶領域として、リング状に順番を認識し、
前記不揮発性半導体メモリにおける不安定状態の復旧を指示する復旧要求に基づいて、前記記憶領域のデータの読み出しを前記フラッシュメモリ手段に指示し、データが記録されていない状態である、消去済み、と判定した前記記憶領域のデータの消去を前記フラッシュメモリ手段に指示し、最新データが記録されていると判定した前記記憶領域のデータの消去を前記フラッシュメモリ手段に指示し、データを消去された前記記憶領域以外に、データが記録されている状態である、データ有と判定された前記記憶領域が２以上存在する場合に、前記２以上存在する前記記憶領域のそれぞれに記憶されているデータの内の最新データを有効データとして選定し、
前記不揮発性半導体メモリへ新たなデータの書き込みを指示する更新要求に基づいて、前記消去済みの前記記憶領域が２以下の場合、最旧データを記憶している前記記憶領域のデータの消去を前記フラッシュメモリ手段に指示し、次に、データ有の前記記憶領域の次の、前記消去済みの前記記憶領域へのデータ書き込みを前記フラッシュメモリ手段に指示する
フラッシュメモリ内蔵機器。
【請求項７】
コンピュータが、
データ消去の単位である記憶領域を６以上含む電気的に書き換え可能な不揮発性半導体メモリの、前記６以上の記憶領域を、最初の前記記憶領域を最後の前記記憶領域の次の前記記憶領域として、リング状に順番を認識し、
前記不揮発性半導体メモリにおける不安定状態の復旧を指示する復旧要求に基づいて、データが記録されていない状態である、消去済み、と判定した前記記憶領域のデータを消去し、最新データが記録されていると判定した前記記憶領域のデータを消去し、データを消去された前記記憶領域以外に、データが記録されている状態である、データ有と判定された前記記憶領域が２以上存在する場合に、前記２以上存在する前記記憶領域のそれぞれに記憶されているデータの内の最新データを、有効データとして選定し、
前記不揮発性半導体メモリへ新たなデータの書き込みを指示する更新要求に基づいて、前記消去済みの前記記憶領域が２以下の場合、最旧データを記憶している前記記憶領域のデータを消去し、次に、データ有の前記記憶領域の次の、前記消去済みの前記記憶領域へのデータ書き込みを実行する
フラッシュメモリ制御方法。
【請求項８】
データ消去の単位である記憶領域を６以上含む電気的に書き換え可能な不揮発性半導体メモリの、前記６以上の記憶領域を、最初の前記記憶領域を最後の前記記憶領域の次の前記記憶領域として、リング状に順番を認識し、
前記不揮発性半導体メモリにおける不安定状態の復旧を指示する復旧要求に基づいて、データが記録されていない状態である、消去済み、と判定した前記記憶領域のデータを消去し、最新データが記録されていると判定した前記記憶領域のデータを消去し、データを消去された前記記憶領域以外に、データが記録されている状態である、データ有と判定された前記記憶領域が２以上存在する場合に、前記２以上存在する前記記憶領域のそれぞれに記憶されているデータの内の最新データを、有効データとして選定し、
前記不揮発性半導体メモリへ新たなデータの書き込みを指示する更新要求に基づいて、前記消去済みの前記記憶領域が２以下の場合、最旧データを記憶している前記記憶領域のデータを消去し、次に、データ有の前記記憶領域の次の、前記消去済みの前記記憶領域へのデータ書き込みを実行する処理をコンピュータに実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ制御の技術に関し、特にフラッシュメモリのデータ更新の制御に関する。
【背景技術】
【０００２】
フラッシュメモリ制御に関し、さまざまな関連技術が知られている。フラッシュメモリは、フラッシュロム（Ｆｌａｓｈ  ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））、フラッシュＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））とも呼ばれる。
【０００３】
フラッシュメモリは、書き換え可能な、不揮発性の半導体メモリである。ここで、不揮発性とは、電源が供給されなくなっても、記憶されたデータが消えないことを言う。
【０００４】
フラッシュメモリは、フラッシュメモリ内蔵機器（コンピュータや制御装置、その他の任意の装置及び機器）のシステムメモリに使用されることも多い。その理由として、フラッシュメモリが、ＲＯＭの交換作業が必要であったファームウェア更新を、機器のきょう体内部の機構への物理的なアクセスを不要とし、容易に行えるようにしたことが挙げられる。
【０００５】
フラッシュメモリにデータを書き込む場合、そのデータを書き込む領域は、データが書き込まれていない領域、即ち消去済みの領域でなければない。従って、フラッシュメモリに記憶されたデータを書き換える場合、予めブロックと呼ばれる単位で、その書き込みの対象領域を含む領域の既存のデータを消去し、そのブロックを消去済みブロックとする必要がある。その後、その消去済みブロックに新たなデータの書き込みを行うことが可能になる。
【０００６】
フラッシュメモリは、消去及び書き込みを実行されている最中に電源を切断された場合、絶縁ゲートへの電荷移動が中途半端な状態になる。そのため、フラッシュメモリは、読み込みするごとに値が変わる不安定な状態になる場合がある。
【０００７】
フラッシュメモリ内蔵機器のシステムメモリに使用されているフラッシュメモリが不安定な状態になった場合、そのフラッシュメモリ内蔵機器が起動できないなどの致命的な障害となってしまうことが考えられる。
【０００８】
このような問題点を解決する技術が特許文献１及び２に記載されている。
【０００９】
特許文献１は、フラッシュメモリ搭載電子装置の一例を開示する。特許文献１のフラッシュメモリ搭載電子装置は、フラッシュメモリの任意の１ブロックを履歴エリアとし、この履歴エリアに、他の各内部ブロックへのデータ書き換えの進捗情報を記録する。そのフラッシュメモリ搭載電子装置は、履歴エリアの情報をビットごとに書き換えることで、履歴エリアへの書き込み時間を短縮する。
【００１０】
特許文献１は、そのフラッシュメモリ搭載電子装置が、履歴エリアにその進捗情報を保存することで、電源再投入時に容易に前回の終了状態が検出可能にするとしている。また、特許文献１は、そのフラッシュメモリ搭載電子装置が、履歴エリアへの情報保存を通常のフラッシュメモリの書き換えに要する時間よりも短くすることで、履歴エリア書き換え中に電源が遮断されるリスクを回避するとしている。
【００１１】
また、特許文献２は、情報記録読出装置の一例を開示する。特許文献２の情報記録読出装置は、データ消去の単位となるセクタを複数有する不揮発性メモリとその不揮発性メモリを制御する制御部とを備える。
【００１２】
それら複数のセクタのそれぞれは、複数のブロックに分割され、それらブロックのそれぞれは、データ記録領域、ブロック長管理領域及びブロック状態管理領域と、を有する。ブロック長管理領域は、そのデータ記録領域へ記録したデータ量をブロック長として記録する。ブロック状態管理領域は、データ記録の状態を記録する。そして、それら複数のセクタのそれぞれは、ひとつ手前のセクタのデータ消去の状態を記録する前セクタ消去状態管理領域を設けられる。
【００１３】
その制御部は、そのブロック長管理領域とブロック状態管理領域及び前セクタ消去状態管理領域それぞれに対しブロック長または状態を記録する。そして、その制御部は、それらの記録された情報に基づいて、複数のセクタ全体にわたるブロックのデータ記録領域に対し環状の順序に従ったデータの記録と、記録データの読み出し及びセクタごとの記録データの一括消去を実行する。更に、その制御部は、ブロック長管理領域、ブロック状態管理領域及び前セクタ消去状態管理領域それぞれの記録データを更新する。
【００１４】
特許文献２は、その情報記録読出装置が、上述の構成を有することで、更新データの記録が中断されたかどうかを検知することができるとしている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００５−０５６１４４号公報
【特許文献２】特開２００７−１６４３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、上述した先行技術文献に記載された技術においては、フラッシュメモリのデータを更新中に電源切断が発生した後の再起動時に、そのフラッシュメモリ中のデータを適切に利用できない場合があるという問題点がある。その理由は、以下の通りである。
【００１７】
特許文献１のフラッシュメモリ搭載電子装置において、履歴エリアへの書き込み中に電源が切断された場合、各内部ブロックへのデータ書き換えの進捗情報は、不安定な値となる可能性がある。このため、そのフラッシュメモリ搭載電子装置は、各内部ブロックのデータの利用可否を正しく判定できなくなる。従って、そのフラッシュメモリ搭載電子装置は、各内部ブロックのデータを適切に利用できない。
【００１８】
特許文献２の情報記録読出装置において、ブロック長管理領域、ブロック状態管理領域及び前セクタ消去状態管理領域を更新中に電源が切断された場合、これらの管理領域のデータは、不安定な値となる可能性がある。このため、その情報記録読出装置は、更新データの記録が中断されたかどうかを検知することができず、そのデータの利用可否を正しく判定できなくなる。従って、その情報記録読出装置は、そのデータを適切に利用できない。
【００１９】
本発明の目的は、上述した問題点を解決するフラッシュメモリ制御装置、フラッシュメモリ内蔵機器、フラッシュメモリ制御方法、及びそのためのプログラムを提供することにある。
【課題を解決するための手段】
【００２０】
本発明の一様態におけるフラッシュメモリ制御装置は、
データ消去の単位である記憶領域を６以上含む電気的に書き換え可能な不揮発性半導体メモリの、前記６以上の記憶領域を、最初の前記記憶領域を最後の前記記憶領域の次の前記記憶領域として、リング状に順番を認識し、前記不揮発性半導体メモリにおける不安定状態の復旧を指示する復旧要求に基づいて、データが記録されていない状態である、消去済み、と判定した前記記憶領域のデータを消去し、最新データが記録されていると判定した前記記憶領域のデータを消去し、データを消去された前記記憶領域以外に、データが記録されている状態である、データ有と判定された前記記憶領域が２以上存在する場合に、前記２以上存在する前記記憶領域のそれぞれに記憶されているデータの内の最新データを、有効データとして選定するための復旧処理手段と、
前記６以上の記憶領域を前記リング状に順番を認識し、前記不揮発性半導体メモリへ新たなデータの書き込みを指示する更新要求に基づいて、前記消去済みの前記記憶領域が２以下の場合、最旧データを記憶している前記記憶領域のデータを消去し、次に、データ有の前記記憶領域の次の、前記消去済みの前記記憶領域へのデータ書き込みを実行するための更新処理手段と、を含む。
【００２１】
本発明の一様態におけるフラッシュメモリ内蔵機器は、データ消去の単位である記憶領域を６以上含む電気的に書き換え可能な不揮発性半導体メモリと、前記不揮発性半導体メモリからデータを読み出すための読み出し手段と、前記記憶領域の単位でデータを消去するための消去手段と、前記不揮発性半導体メモリにデータを書き込むための書き込み手段と、を含むフラッシュメモリ手段と、フラッシュメモリ制御手段と、を含み、前記フラッシュメモリ制御手段は、前記６以上の記憶領域を、最初の前記記憶領域を最後の前記記憶領域の次の前記記憶領域として、リング状に順番を認識し、前記不揮発性半導体メモリにおける不安定状態の復旧を指示する復旧要求に基づいて、前記記憶領域のデータの読み出しを前記フラッシュメモリ手段に指示し、データが記録されていない状態である、消去済み、と判定した前記記憶領域のデータの消去を前記フラッシュメモリ手段に指示し、最新データが記録されていると判定した前記記憶領域のデータの消去を前記フラッシュメモリ手段に指示し、データを消去された前記記憶領域以外に、データが記録されている状態である、データ有と判定された前記記憶領域が２以上存在する場合に、前記２以上存在する前記記憶領域のそれぞれに記憶されているデータの内の最新データを有効データとして選定し、前記不揮発性半導体メモリへ新たなデータの書き込みを指示する更新要求に基づいて、前記消去済みの前記記憶領域が２以下の場合、最旧データを記憶している前記記憶領域のデータの消去を前記フラッシュメモリ手段に指示し、次に、データ有の前記記憶領域の次の、前記消去済みの前記記憶領域へのデータ書き込みを前記フラッシュメモリ手段に指示する。
【００２２】
本発明の一様態におけるフラッシュメモリ制御方法は、コンピュータが、データ消去の単位である記憶領域を６以上含む電気的に書き換え可能な不揮発性半導体メモリの、前記６以上の記憶領域を、最初の前記記憶領域を最後の前記記憶領域の次の前記記憶領域として、リング状に順番を認識し、前記不揮発性半導体メモリにおける不安定状態の復旧を指示する復旧要求に基づいて、データが記録されていない状態である、消去済み、と判定した前記記憶領域のデータを消去し、最新データが記録されていると判定した前記記憶領域のデータを消去し、データを消去された前記記憶領域以外に、データが記録されている状態である、データ有と判定された前記記憶領域が２以上存在する場合に、前記２以上存在する前記記憶領域のそれぞれに記憶されているデータの内の最新データを、有効データとして選定し、前記不揮発性半導体メモリへ新たなデータの書き込みを指示する更新要求に基づいて、前記消去済みの前記記憶領域が２以下の場合、最旧データを記憶している前記記憶領域のデータを消去し、次に、データ有の前記記憶領域の次の、前記消去済みの前記記憶領域へのデータ書き込みを実行する。
【００２３】
本発明の一様態におけるプログラムは、データ消去の単位である記憶領域を６以上含む電気的に書き換え可能な不揮発性半導体メモリの、前記６以上の記憶領域を、最初の前記記憶領域を最後の前記記憶領域の次の前記記憶領域として、リング状に順番を認識し、前記不揮発性半導体メモリにおける不安定状態の復旧を指示する復旧要求に基づいて、データが記録されていない状態である、消去済み、と判定した前記記憶領域のデータを消去し、最新データが記録されていると判定した前記記憶領域のデータを消去し、データを消去された前記記憶領域以外に、データが記録されている状態である、データ有と判定された前記記憶領域が２以上存在する場合に、前記２以上存在する前記記憶領域のそれぞれに記憶されているデータの内の最新データを、有効データとして選定し、前記不揮発性半導体メモリへ新たなデータの書き込みを指示する更新要求に基づいて、前記消去済みの前記記憶領域が２以下の場合、最旧データを記憶している前記記憶領域のデータを消去し、次に、データ有の前記記憶領域の次の、前記消去済みの前記記憶領域へのデータ書き込みを実行する処理をコンピュータに実行させる。
【発明の効果】
【００２４】
本発明は、フラッシュメモリのデータを更新中に電源切断が発生した場合であっても、そのフラッシュメモリ中のデータをより確実に利用することが可能になるという効果がある。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の第１の実施形態に係るフラッシュメモリ制御装置の構成を示すブロック図である。
【図２】図２は、第１の実施形態におけるフラッシュメモリの構成の一例を示す図である。
【図３】図３は、第１の実施形態におけるフラッシュメモリ制御装置の内部構成の一例を示すブロック図である。
【図４】図４は、第１の実施形態におけるフラッシュメモリ制御装置とフラッシュメモリとの接続関係を示すブロック図である。
【図５】図５は、第１の実施形態におけるポインターテーブルの一例を示す図である。
【図６】図６は、第１の実施形態におけるフラッシュメモリの状態の一例を示す図である。
【図７】図７は、第１の実施形態におけるフラッシュメモリ制御装置の更新処理における動作を示すフローチャートである。
【図８】図８は、第１の実施形態におけるフラッシュメモリの状態の一例を示す図である。
【図９】図９は、第１の実施形態におけるフラッシュメモリの状態の一例を示す図である。
【図１０】図１０は、第１の実施形態におけるフラッシュメモリの状態の一例を示す図である。
【図１１】図１１は、第１の実施形態におけるフラッシュメモリの状態の一例を示す図である。
【図１２】図１２は、第１の実施形態におけるフラッシュメモリ制御装置の復旧処理における動作を示すフローチャートである。
【図１３】図１３は、第１の実施形態におけるフラッシュメモリの状態の一例を示す図である。
【図１４】図１４は、第１の実施形態におけるフラッシュメモリの状態の変化の一例を示す図である。
【図１５】図１５は、第１の実施形態におけるフラッシュメモリの状態の変化の一例を示す図である。
【図１６】図１６は、第１の実施形態におけるフラッシュメモリの状態の変化の一例を示す図である。
【図１７】図１７は、第１の実施形態におけるフラッシュメモリの状態の変化の一例を示す図である。
【図１８】図１８は、本発明の第２の実施形態に係るフラッシュメモリ内蔵機器の構成を示すブロック図である。
【図１９】図１９は、第２の実施形態におけるフラッシュメモリ制御部を実現するコンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００２６】
本発明を実施するための形態について図面を参照して詳細に説明する。尚、各図面及び明細書記載の各実施形態において、同様の構成要素には同様の符号を付与し、適宜説明を省略する。
【００２７】
＜＜＜第１の実施形態＞＞＞
【００２８】
図１は、本発明の第１の実施形態に係るフラッシュメモリ制御装置１００の構成を示すブロック図である。図１に示すように、本実施形態に係るフラッシュメモリ制御装置１００は、復旧処理部１１０と更新処理部１２０とを含む。尚、図１に示す各構成要素は、機能単位に分割された構成要素であって、物理的構成を限定するものではない。即ち、図１に示す各構成要素は、ハードウェア単位の回路でも、コンピュータ装置の機能単位に分割された構成要素でもよい。
【００２９】
図２は、フラッシュメモリ制御装置１００によって制御される、電気的に書き換え可能な、フラッシュメモリ（不揮発性半導体メモリとも呼ばれる）１７０の構成の一例を示す図である。図２に示すように、フラッシュメモリ１７０は、少なくとも６つの記憶領域１７１を含む。記憶領域１７１内の「データ有」及び「消去済」の記載は、各記憶領域１７１の状態を示す。ここで、記憶領域１７１は、フラッシュメモリ１７０における、データ消去の単位である。尚、フラッシュメモリ１７０は、６以上の任意の数の記憶領域１７１を含んでよい。
【００３０】
フラッシュメモリ制御装置１００は、フラッシュメモリ１７０に含まれる記憶領域１７１をリング状に順番を認識して、動作する。具体的には、その順番は、第１記憶領域である記憶領域１７１の、次の記憶領域１７１を、第２記憶領域である記憶領域１７１とする。以後、第ｎ（ｎは、１乃至６）記憶領域の記憶領域１７１を第ｎ記憶領域１７１と記載する。また、その順番は、第２記憶領域１７１、第３記憶領域１７１、第４記憶領域１７１及び第５記憶領域１７１のそれぞれの、次の記憶領域１７１を、第３記憶領域１７１、第４記憶領域１７１、第５記憶領域１７１及び第６記憶領域１７１とする。また、その順番は、第６記憶領域１７１の次の記憶領域１７１を、第１記憶領域１７１とする。
【００３１】
従って、図２においては、第６記憶領域１７１が、最旧のデータを格納する記憶領域１７１であり、第３記憶領域１７１が最新データを格納する記憶領域１７１である。ここで、「最新データ」は、最後にデータを記録された記憶領域１７１に、記憶されているデータである。
【００３２】
＝＝＝復旧処理部１１０＝＝＝
復旧処理部１１０は、上述のように、フラッシュメモリ１７０に含まれる記憶領域１７１をリング状に順番を認識して、動作する。即ち、復旧処理部１１０は、最初の記憶領域１７１（図２に示す第１記憶領域１７１）を、最後の記憶領域１７１（図２に示す第６記憶領域１７１）の次の記憶領域１７１として扱う。
【００３３】
復旧処理部１１０は、フラッシュメモリ１７０における不安定状態の復旧を指示する復旧要求８１１に基づいて、以下の第１から第３の処理を実行する。復旧処理部１１０は、例えば、電源装置（不図示）からの異常な電源切断が発生したことを示す情報を、復旧要求８１１と見なしてよい。復旧処理部１１０は、外部の管理装置（不図示）から、復旧要求８１１を受信してもよい。また、復旧処理部１１０は、図示しない入力手段を介して、保守作業者などから入力された復旧要求８１１を受け付けてもよい。
【００３４】
第１に、復旧処理部１１０は、データが記録されていない状態である、消去済み、と判定した記憶領域１７１（例えば、図２に示す第４記憶領域１７１及び第５記憶領域１７１）のデータを消去する。ここで、「記憶領域１７１を消去する」とは、記憶領域１７１の記憶している値を初期状態（例えば、データの全てのビット値が「１」である状態）にすることを示す。即ち、「消去済み」は、記憶領域１７１が初期状態であることを示す。この第１の処理は、消去済みと判定された記憶領域１７１が不安定な状態である可能性を消去するための処理である。
【００３５】
第２に、復旧処理部１１０は、最新のデータが記録されていると判定した記憶領域１７１（例えば、図２に示す第３記憶領域１７１）のデータを消去する。具体的には、復旧処理部１１０は、消去済みと判定された記憶領域１７１の１つ前の記憶領域１７１のデータを消去する。この第２の処理は、データが記録されている状態である、データ有と判定された記憶領域１７１が不安定な状態である可能性を消去するための処理である。
【００３６】
第３に、復旧処理部１１０は、それらのデータを消去された記憶領域１７１以外に、データ有と判定された記憶領域１７１が２以上存在するか否かを判定する。続けて、その記憶領域１７１が２以上存在する場合、復旧処理部１１０は、その２以上存在する記憶領域１７１のそれぞれに記憶されているデータの内、最新データを有効データとして選定する。そのデータを消去されたデータ有と判定された記憶領域１７１（例えば、図２に示す第３記憶領域１７１）以外の、データ有と判定された記憶領域１７１は、例えば、図２に示す第１記憶領域１７１、第２記憶領域１７１及び第６記憶領域１７１である。そして、復旧処理部１１０は、リング状の順番で記憶領域１７１を認識するため、第２記憶領域１７１に記憶されているデータを最新データであると判定し、有効データとして選定する。
【００３７】
＝＝＝更新処理部１２０＝＝＝
更新処理部１２０は、上述のように復旧処理部１１０と同様にフラッシュメモリ１７０に含まれる記憶領域１７１をリング状に順番を認識して、動作する。
【００３８】
更新処理部１２０は、フラッシュメモリ１７０へ新たなデータの書き込みを指示する更新要求８１２に基づいて、以下の第１及び第２の処理を実行する。更新処理部１２０は、例えば、上位ユニット（不図示）から更新要求８１２を受信する。
【００３９】
第１に、更新処理部１２０は、消去済みの記憶領域１７１（例えば、図２に示す第４記憶領域１７１及び第５記憶領域１７１）が２以下の場合、最旧データを記憶している記憶領域１７１（例えば、図２に示す第６記憶領域１７１）のデータを消去する。第２に、更新処理部１２０は、データ有の記憶領域１７１の次の、消去済みの記憶領域１７１へのデータ書き込みを実行する。
【００４０】
図３は、フラッシュメモリ制御装置１００の内部構成の一例を示すブロック図である。図３に示すように、復旧処理部１１０は、復旧処理制御部１１１と読み出し部１３０と消去部１４０とを含む。そして、更新処理部１２０は、更新処理制御部１２１と消去部１４０と書き込み部１５０とを含む。尚、図３の例に係わらず、復旧処理部１１０と更新処理部１２０のそれぞれは、専用の消去部１４０を含んでもよい。
【００４１】
図４は、フラッシュメモリ制御装置１００とフラッシュメモリ１７０との接続関係を示すブロック図である。図４において、フラッシュメモリ制御装置１００は、図３に示す読み出し部１３０、消去部１４０及び書き込み部１５０と、処理制御部１０１と、として示される。ここで、処理制御部１０１は、図３に示す復旧処理制御部１１１及び更新処理制御部１２１を含む。
【００４２】
＝＝＝復旧処理制御部１１１＝＝＝
復旧処理制御部１１１は、復旧要求８１１を受信すると、記憶領域１７１のそれぞれのデータの読み出しを指示する、読み出し指示８２４を読み出し部１３０に出力する。次に、復旧処理制御部１１１は、読み出されたデータのそれぞれに基づいてそれらの各記憶領域１７１がデータ有か消去済みかを判定する。例えば、復旧処理制御部１１１は、記憶領域１７１ごとに、個別にデータの読み出しを指示してよい。また、復旧処理制御部１１１は、全ての記憶領域１７１について、一括でデータを読み出すように指示してもよい。更に、復旧処理制御部１１１は、データ有の記憶領域１７１及び消去済みの記憶領域１７１はそれぞれ連続していることを前提に、全ての記憶領域１７１についてデータ有か消去済みかを判定するのに必要な、記憶領域１７１のデータの読み出しを指示してよい。
【００４３】
次に、復旧処理制御部１１１は、消去済みと判定した記憶領域１７１のデータの消去を指示する、消去指示８２１を消去部１４０に出力する。
【００４４】
次に、復旧処理制御部１１１は、最新データが記憶されているはずと判定した記憶領域１７１のデータの消去を指示する、消去指示８２１を消去部１４０に出力する。
【００４５】
次に、復旧処理制御部１１１は、そのデータを消去されたデータ有と判定された記憶領域１７１以外に、データ有と判定された記憶領域１７１が２以上存在する場合、有効データを選定する。同時に、復旧処理制御部１１１は、有効データを格納する記憶領域１７１、更新要求８１２に基づいてデータを消去される記憶領域１７１及びデータを書き込まれる記憶領域１７１を指すポインターを更新する。
【００４６】
図５は、図示しない記憶手段に格納される、ポインターテーブル８００の一例を示す図である。図５に示すように、ポインターテーブル８００は、消去ポインター８０１、書き込みポインター８０２及び読み出しポインター（有効データポインター）８０４を含む。尚、読み出しポインター８０４と書き込みポインター８０２とは連続する記憶領域１７１を指す。従って、ポインターテーブル８００は、読み出しポインター８０４及び書き込みポインター８０２いずれか一方を含まなくてもよい。
【００４７】
例えば、上述の処理の結果として、フラッシュメモリ１７０が図６に示すような状態になった場合、復旧処理制御部１１１は、第２記憶領域１７１を特定するアドレス「２」を読み出しポインター８０４の値とする。同様に、復旧処理制御部１１１は、第３記憶領域１７１を特定するアドレス「３」を書き込みポインター８０２の値とする。更に、復旧処理制御部１１１は、第６記憶領域１７１を特定するアドレス「６」を消去ポインター８０１の値とする。
【００４８】
更に、復旧処理制御部１１１は、上位ユニット（不図示）からのフラッシュメモリ１７０のデータの読み出しを要求する読み出し要求８１４を受信した場合、その読み出し要求８１４に基づいて、読み出し指示８２４を読み出し部１３０へ出力してよい。
【００４９】
＝＝＝更新処理制御部１２１＝＝＝
更新処理制御部１２１は、更新要求８１２受信すると、消去済の記憶領域１７１が２以下か否かを判定する。具体的には、書き込みポインター８０２と消去ポインター８０１とに基づいて、消去済みの記憶領域１７１の数を取得し、その数が２以下か否かを判定する。
【００５０】
次に、更新処理制御部１２１は、消去済みの記憶領域１７１が２以下の場合、最旧データを記憶している記憶領域１７１（消去ポインター８０１で指される記憶領域１７１）のデータの消去を指示する、消去指示８２１を消去部１４０に出力する。同時に、更新処理制御部１２１は、消去ポインター８０１を、現在指している記憶領域１７１の、次の記憶領域１７１を指すように更新する。
【００５１】
次に、更新処理制御部１２１は、データ有の記憶領域１７１の次の、消去済みの記憶領域１７１（書き込みポインター８０２で指される記憶領域１７１）へのデータ書き込みを指示する、書き込み指示８２２を書き込み部１５０へ出力する。同時に、更新処理制御部１２１は、書き込みポインター８０２及び読み出しポインター８０４のそれぞれを、現在指している記憶領域１７１の、次の記憶領域１７１を指すように更新する。
【００５２】
＝＝＝読み出し部１３０＝＝＝
読み出し部１３０は、復旧処理制御部１１１が出力する読み出し指示８２４に基づいて、フラッシュメモリ１７０へ読み出し制御信号８３４を出力する。
【００５３】
更に、読み出し部１３０は、フラッシュメモリ１７０が出力するデータを、読み出しデータ８６４として上位ユニットへ出力してよい。
【００５４】
＝＝＝消去部１４０＝＝＝
消去部１４０は、復旧処理制御部１１１及び更新処理制御部１２１が出力する消去指示８２１に基づいて、フラッシュメモリ１７０へ消去制御信号８３１を出力する。
【００５５】
＝＝＝書き込み部１５０＝＝＝
書き込み部１５０は、更新処理制御部１２１が出力する書き込み指示８２２に基づいて、フラッシュメモリ１７０へ書き込み制御信号８３２及び書き込みデータ８３３を出力する。
【００５６】
次に本実施形態の更新処理の動作について、図面を参照して詳細に説明する。
【００５７】
図７は、本実施形態のフラッシュメモリ制御装置１００の、更新処理における動作を示すフローチャートである。
【００５８】
更新処理部１２０は、更新要求８１２を受け取ったことを契機に、図７に示す動作を開始する。ここでは、更新処理部１２０は、フラッシュメモリ１７０が図２に示す状態である時点に、更新要求８１２を受け取ったとする。
【００５９】
更新処理部１２０は、消去済みの記憶領域１７１が２以下か否かを判定する（ステップＳ６０１）。
【００６０】
消去済みの記憶領域１７１が２を超える場合（ステップＳ６０１でＮＯ）、処理はステップＳ６０３へ進む。
【００６１】
消去済みの記憶領域１７１が２以下の場合（ステップＳ６０１でＹＥＳ）、更新処理部１２０は、消去ポインター８０１で指される記憶領域１７１のデータを消去し、消去ポインター８０１を更新する（ステップＳ６０２）。ここでは、図８に示すように、フラッシュメモリ１７０の状態は、第６記憶領域１７１が消去済となる。そして、消去ポインター８０１は、第１記憶領域１７１を指す「１」に更新される。
【００６２】
次に、更新処理部１２０は、更新要求８１２に基づいて、記憶領域１７１で指される記憶領域１７１にデータを書き込み、書き込みポインター８０２及び読み出しポインター８０４を更新する（ステップＳ６０３）。ここでは、図９に示すように、フラッシュメモリ１７０の状態は、第４記憶領域１７１がデータ有となる。そして、書き込みポインター８０２の値は、第５記憶領域１７１を指す「５」に、読み出しポインター８０４の値は、第４記憶領域１７１を指す「４」に、更新される。
【００６３】
次に本実施形態の復旧処理の動作について、図面を参照して詳細に説明する。
【００６４】
図１０は、図２の状態にあるフラッシュメモリ１７０に対して、図７に示すフローチャートのステップＳ６０２の処理を、更新処理部１２０が実行中に、電源が供給されなくなった場合のフラッシュメモリ１７０の状態を示す図である。図１０に示すように、更新処理部１２０が、第６記憶領域１７１のデータを消去中であったため、第６記憶領域１７１が不安定な状態となる。
【００６５】
図１１は、図８の状態にあるフラッシュメモリ１７０に対して、図７に示すフローチャートのステップＳ６０３の処理を、更新処理部１２０が実行中に、電源が供給されなくなった場合のフラッシュメモリ１７０の状態を示す図である。図１１に示すように、更新処理部１２０が、第４記憶領域１７１にデータを書き込み中であったため、第４記憶領域１７１が不安定な状態となる。
【００６６】
図１２は、本実施形態のフラッシュメモリ制御装置１００の、復旧処理における動作を示すフローチャートである。
【００６７】
復旧処理部１１０は、フラッシュメモリ１７０が搭載された装置の起動時に、図１２に示す動作を開始する。ここでは、フラッシュメモリ１７０が図１０及び図１１のいずれかの状態となった状態で、その装置が起動されたとする。
【００６８】
復旧処理部１１０は、復旧要求８１１の有無を判定する（ステップＳ６１１）。
【００６９】
復旧要求８１１を受け取っていない場合（ステップＳ６１１でＮＯ）、処理は終了する。
【００７０】
復旧要求８１１を受け取った場合（ステップＳ６１１でＹＥＳ）、復旧処理部１１０は、各記憶領域１７１についてデータ有か消去済みかを判定する（ステップＳ６１２）。
【００７１】
図１３は、上述の「フラッシュメモリ１７０が図１０及び図１１のいずれかの状態となった状態で、その装置が起動された」場合の、フラッシュメモリ１７０の状態を示す図である。図１３は、各記憶領域１７１に対する判定結果（「データ有」及び「消去済」）と、その記憶領域１７１が不安定な状態であることと、を示す。図１３に示すように、この場合のフラッシュメモリ１７０の状態は、異常１乃至４の、４通りである可能性がある。
【００７２】
次に、復旧処理部１１０は、消去済みであると判定した記憶領域１７１のデータを消去する（ステップＳ６１３）。
【００７３】
次に、復旧処理部１１０は、最新データが記憶されているはずと判定した記憶領域１７１のデータを消去する（ステップＳ６１４）。
【００７４】
次に、復旧処理部１１０は、ステップＳ６１４でデータを消去された記憶領域１７１以外に、データ有と判定された記憶領域１７１が２以上存在するか否かを判定する（ステップＳ６１５）。
【００７５】
否の場合（ステップＳ６１５でＮＯ）、処理は終了する。
【００７６】
その２以上の記憶領域１７１が存在する場合（ステップＳ６１５でＹＥＳ）、復旧処理部１１０は、その２以上の記憶領域１７１のそれぞれに記憶されているデータの内、最新データを有効データとして選定する（ステップＳ６１６）。
【００７７】
次に、復旧処理部１１０は、読み出しポインター８０４、書き込みポインター８０２及び消去ポインター８０１を更新する（ステップＳ６１７）。
【００７８】
図１４は、図１２に示す復旧処理による、異常１の状態のフラッシュメモリ１７０の、状態の変化を示す図である。図１４に示すように、第４記憶領域１７１及び第５記憶領域１７１のデータが、消去される（図１２のステップ６１３）。第３記憶領域１７１のデータが、消去される（図１２のステップ６１４）。第２記憶領域１７１のデータが有効データとして選定される（図１２のステップ６１６）。尚、第６記憶領域１７１は、不安定な状態のままであるが、その後の更新処理によってデータを消去される。従って、問題はない。
【００７９】
図１５は、図１２に示す復旧処理による、異常２の状態のフラッシュメモリ１７０の、状態の変化を示す図である。図１５に示すように、第４記憶領域１７１、第５記憶領域１７１及び第６記憶領域１７１のデータが、消去される（図１２のステップ６１３）。第３記憶領域１７１のデータが、消去される（図１２のステップ６１４）。第２記憶領域１７１のデータが有効データとして選定される（図１２のステップ６１６）。
【００８０】
図１６は、図１２に示す復旧処理による、異常３の状態のフラッシュメモリ１７０の、状態の変化を示す図である。図１６に示すように、第５記憶領域１７１及び第６記憶領域１７１のデータが、消去される（図１２のステップ６１３）。第４記憶領域１７１のデータが、消去される（図１２のステップ６１４）。第３記憶領域１７１のデータが有効データとして選定される（図１２のステップ６１６）。
【００８１】
図１７は、図１２に示す復旧処理による、異常４の状態のフラッシュメモリ１７０の、状態の変化を示す図である。図１７に示すように、第４記憶領域１７１、第５記憶領域１７１及び第６記憶領域１７１のデータが、消去される（図１２のステップ６１３）。第３記憶領域１７１のデータが、消去される（図１２のステップ６１４）。第２記憶領域１７１のデータが有効データとして選定される（図１２のステップ６１６）。
【００８２】
＜＜＜第１の実施形態の第１の変形例＞＞＞
更新処理部１２０は、消去済みの記憶領域１７１が３以下の場合、消去済みの記憶領域１７１が４つになるように、記憶しているデータが相対的に古い記憶領域１７１から順番に、データを消去する。次に、更新処理部１２０は、データ有の記憶領域１７１の次の２つの、消去済みの記憶領域１７１へ、同一データのデータ書き込みを実行する。
【００８３】
具体的には、フラッシュメモリ１７０が図２に示す状態である場合に、更新処理部１２０が更新要求８１２を受け取った場合、更新処理部１２０は、以下のように動作する。第１に、更新処理部１２０は、第６記憶領域１７１と第１記憶領域１７１のデータを消去する。第２に、更新処理部１２０は、第４記憶領域１７１及び第５記憶領域１７１に、更新要求８１２に基づいて、同一データを書き込む。この場合、更新処理部１２０は、消去ポインター８０１の値を「２」に、書き込みポインター８０２の値を「６」に、読み出しポインター８０４の値を「５」に、更新する。
【００８４】
本変形例において、例えば図１２に示す異常１の場合に復旧処理部１１０が復旧処理を実行した場合、第３記憶領域１７１と第２記憶領域１７１には同じ最新データが記憶されている。そのため、第３記憶領域１７１のデータが消去されても、第２記憶領域１７１に記憶されている最新データが、有効データとして選定される。
【００８５】
尚、更新処理部１２０は、更に処理を拡張して、３つ以上の記憶領域１７１へ、同一データのデータ書き込みを実行してもよい。
【００８６】
＜＜＜第１の実施形態の第２の変形例＞＞＞
復旧処理部１１０は、選定した有効データの識別情報を出力する。例えば、記憶領域１７１に格納されるデータが、フラッシュメモリ１７０を搭載する機器の制御プログラムである場合、その識別情報は、例えば、その制御プログラムの版数（レビジョン）であってよい。
【００８７】
復旧処理部１１０は、例えば図示しない出力手段に、その識別情報を出力してよい。また、復旧処理部１１０は、図示しない通信手段を介して、他の装置にその識別情報を送信してよい。
【００８８】
＜＜＜第１の実施形態の第３の変形例＞＞＞
復旧処理部１１０は、読み出し要求８１４を受け取った場合に、有効データとして選定されたデータのみが出力されるように、読み出し制御信号８３４を出力する。換言すると、復旧処理部１１０は、常に、読み出し要求８１４に対して、フラッシュメモリ１７０が有効データを記憶する唯一の記憶領域１７１を有しているかのごとく動作する。
【００８９】
上述した本実施形態における第１の効果は、フラッシュメモリ１７０のデータを更新中に電源切断が発生した場合であっても、そのフラッシュメモリ１７０のデータをより確実に利用することが可能になる点である。
【００９０】
その理由は、以下のような構成を含むからである。即ち、第１に、更新処理部１２０が更新処理後の消去済みの記憶領域１７１を２以上に保つ。第２に、復旧処理部１１０が、消去済みの記憶領域１７１のデータを消去し、最新データを格納する記憶領域１７１のデータを消去し、残ったデータ有の記憶領域１７１の内の最新データを有効データとする。
【００９１】
上述した本実施形態における第２の効果は、復旧処理により最新データが失われてしまうことを防止することが可能になる点である。
【００９２】
その理由は、更新処理部１２０が、２つ以上の記憶領域１７１へ、同一データのデータ書き込みを実行するからである。
【００９３】
上述した本実施形態における第３の効果は、利用者や保守作業者などに対して、有効データの状況を提示することが可能になる点である。
【００９４】
その理由は、復旧処理部１１０が選定した有効データの識別情報を出力するからである。
【００９５】
上述した本実施形態における第４の効果は、上位ユニットがフラッシュメモリ１７０に格納されているデータの状態を意識する必要をなくすことが可能になる点である。
【００９６】
その理由は、読み出し要求８１４を受け取った場合に、有効データとして選定されたデータのみが出力されるように、読み出し制御信号８３４を出力するからである。
【００９７】
＜＜＜第２の実施形態＞＞＞
【００９８】
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。以下、本実施形態の説明が不明確にならない範囲で、前述の説明と重複する内容については説明を省略する。
【００９９】
図１８は、本発明の第２の実施形態に係るフラッシュメモリ内蔵機器２００の構成を示すブロック図である。図１８に示すように、本実施形態におけるフラッシュメモリ内蔵機器２００は、フラッシュメモリ制御部２１０とフラッシュメモリ部２２０とを含む。
【０１００】
＝＝＝フラッシュメモリ制御部２１０＝＝＝
フラッシュメモリ制御部２１０は、図３に示す復旧処理制御部１１１と更新処理制御部１２１とを含む。即ち、フラッシュメモリ制御部２１０は、図４に示す処理制御部１０１と同等である。フラッシュメモリ制御部２１０は、ハードウェア単位の回路でも、コンピュータ装置の機能単位に分割された構成要素でもよい。ここでは、フラッシュメモリ制御部２１０は、コンピュータ装置の機能単位に分割された構成要素として説明する。
【０１０１】
＝＝＝フラッシュメモリ部２２０＝＝＝
フラッシュメモリ部２２０は、読み出し部１３０、消去部１４０、書き込み部１５０及びフラッシュメモリ１７０を含む。これらの各構成要素は、図４に示す同一符号の各構成要素と同等である。
【０１０２】
以上が、フラッシュメモリ内蔵機器２００の機能単位の各構成要素についての説明である。
【０１０３】
次に、フラッシュメモリ内蔵機器２００のハードウェア単位の構成要素について説明する。
【０１０４】
図１９は本実施形態におけるフラッシュメモリ内蔵機器２００に含まれ、フラッシュメモリ制御部２１０を実現するコンピュータ７００のハードウェア構成を示す図である。
【０１０５】
図１９に示すように、コンピュータ７００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１、記憶部７０２、ドライブ装置７０３、入力部７０４、出力部７０５、通信部７０６及びフラッシュメモリ部２２０を含む。更に、コンピュータ７００は、外部から供給される記録媒体（または記憶媒体）７０７を含む。例えば、記録媒体７０７は、情報を非一時的に記憶する不揮発性記録媒体（非一時的記録媒体）である。また、記録媒体７０７は、情報を信号として保持する、一時的記録媒体であってもよい。
【０１０６】
ＣＰＵ７０１は、オペレーティングシステム（不図示）を動作させて、コンピュータ７００の全体の動作を制御する。例えば、ＣＰＵ７０１は、記憶ドライブ７０３に装着された記録媒体７０７から、そのプログラムやデータを読み込み、読み込んだそのプログラムやそのデータを記憶部７０２に書き込む。ここで、そのプログラムは、例えば、図７及び図１２に示すフローチャートの動作をコンピュータ７００に実行させるためのプログラムである。
【０１０７】
そして、ＣＰＵ７０１は、その読み込んだプログラムに従って、またその読み込んだデータに基づいて、図１８に示すフラッシュメモリ制御部２１０として各種の処理を実行する。
【０１０８】
尚、ＣＰＵ７０１は、通信網（不図示）に接続される外部コンピュータ（不図示）から、記憶部７０２にそのプログラムやそのデータをダウンロードしてもよい。
【０１０９】
記憶部７０２は、そのプログラムやそのデータを記憶する。記憶部７０２は、例えば、ポインターテーブル８００や、受け取った復旧要求８１１、更新要求８１２及び読み出し要求８１４などを記憶してよい。また、記憶部７０２は、ＲＯＭ部を含み、そのプログラムをＲＯＭ部に記憶してよい。
【０１１０】
ドライブ装置７０３は、ＣＰＵ７０１からの要求に従って、記録媒体７０７をアクセスする。
【０１１１】
入力部７０４は、オペレータ（利用者、保守作業者などを含む）による操作の入力や外部からの情報の入力を受け付ける。入力操作に用いられるデバイスは、例えば、マウスや、キーボード、内蔵のキーボタン、タッチパネル及び押しボタンなど、任意のものである。
【０１１２】
出力部７０５は、例えばディスプレイで実現される。出力部７０５は、例えばＧＵＩ（ＧＲＡＰＨＩＣＡＬ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）によるオペレータへの入力要求や、オペレータに対する出力提示などのために用いられる。また、出力部７０５は、発行ダイオードなど、任意のものであってよい。
【０１１３】
通信部７０６は、上位ユニットや他の装置などとのインタフェースを実現する。
【０１１４】
以上説明したように、図１８に示すフラッシュメモリ制御部２１０は、図１９に示すハードウェア構成のコンピュータ７００によって実現される。但し、コンピュータ７００が備える各部の実現手段は、上記に限定されない。すなわち、コンピュータ７００は、物理的に結合した１つの装置により実現されてもよいし、物理的に分離した２以上の装置を有線または無線で接続し、これら複数の装置により実現されてもよい。
【０１１５】
尚、上述のプログラムのコードを記録した記録媒体７０７が、コンピュータ７００に供給される場合、ＣＰＵ７０１は、記録媒体７０７に格納されたそのプログラムのコードを読み出して実行してもよい。或いは、ＣＰＵ７０１は、記録媒体７０７に格納されたそのプログラムのコードを、記憶部７０２に格納してもよい。すなわち、本実施形態は、コンピュータ７００（ＣＰＵ７０１）が実行するそのプログラム（ソフトウェア）を、一時的にまたは非一時的に、記憶する記録媒体７０７の実施形態を含む。尚、情報を非一時的に記憶する記憶媒体は、不揮発性記憶媒体とも呼ばれる。
【０１１６】
以上が、本実施形態におけるフラッシュメモリ制御部２１０を実現するコンピュータ７００の、ハードウェア単位の各構成要素についての説明である。
【０１１７】
尚、本実施形態を実現するための、最小限の構成のコンピュータ７００は、ＣＰＵ７０１と記憶部７０２とフラッシュメモリ部２２０とを含むコンピュータ７００であってよい。そして、コンピュータ７００の各構成要素は、フラッシュメモリ内蔵機器２００の機器としての本来の機能を実現するための構成要素と共通であってよい。
【０１１８】
本実施形態の動作は、図３に示すフラッシュメモリ制御装置１００の動作と同様である。
【０１１９】
上述した本実施形態における効果は、第１の実施形態の効果に加えて、本発明を実施するための設計を容易にし、また、より安価に実現できる点である。
【０１２０】
その理由は、フラッシュメモリ制御部２１０を、コンピュータの機能として実現するようにしたからである。
【０１２１】
以上、各実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しえるさまざまな変更をすることができる。
【符号の説明】
【０１２２】
１００    フラッシュメモリ制御装置
１０１    処理制御部
１１０    復旧処理部
１１１    復旧処理制御部
１２０    更新処理部
１２１    更新処理制御部
１３０    読み出し部
１４０    消去部
１５０    書き込み部
１７０    フラッシュメモリ
１７１    記憶領域
２００    フラッシュメモリ内蔵機器
２１０    フラッシュメモリ制御部
２２０    フラッシュメモリ部
７００    コンピュータ
７０１    ＣＰＵ
７０２    記憶部
７０３    ドライブ装置
７０３    記憶ドライブ
７０４    入力部
７０５    出力部
７０６    通信部
７０７    記録媒体
８００    ポインターテーブル
８０１    消去ポインター
８０２    書き込みポインター
８０４    読み出しポインター
８１１    復旧要求
８１２    更新要求
８１４    読み出し要求
８２１    消去指示
８２２    書き込み指示
８２４    読み出し指示
８３１    消去制御信号
８３２    書き込み制御信号
８３３    書き込みデータ
８３４    制御信号
８６４    読み出しデータ
【図１】
0005981477.tif 000002
【図２】
0005981477.tif 000003
【図３】
0005981477.tif 000004
【図４】
0005981477.tif 000005
【図５】
0005981477.tif 000006
【図６】
0005981477.tif 000007
【図７】
0005981477.tif 000008
【図８】
0005981477.tif 000009
【図９】
0005981477.tif 000010
【図１０】
0005981477.tif 000011
【図１１】
0005981477.tif 000012
【図１２】
0005981477.tif 000013
【図１３】
0005981477.tif 000014
【図１４】
0005981477.tif 000015
【図１５】
0005981477.tif 000016
【図１６】
0005981477.tif 000017
【図１７】
0005981477.tif 000018
【図１８】
0005981477.tif 000019
【図１９】
0005981477.tif 000020