(57)【要約】【課題】不揮発性メモリが劣化した場合において、その不揮発性メモリを用いたシステムの動作を、簡易な構成により継続できるようにする。【解決手段】半導体メモリ装置１を、フラッシュメモリ等の不揮発性メモリ２と、データの書き込みおよび消去等の制御を行う制御部３と、データの入出力を行うためのインターフェース４とにより構成する。不揮発性メモリ２の記憶領域を第１および第２のバンクＢ１，Ｂ２に分け、バンクＢ１の状態を表すフラグおよびバンクＢ１のデータブロックの正常、異常を表すフラグをバンクＢ２に、バンクＢ２の状態を表すフラグおよびバンクＢ２のデータブロックの正常、異常を表すフラグをバンクＢ１に書き込む。【選択図】図１
2010061257.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリおよび該不揮発性メモリに対するデータの書き込みおよび消去の制御を行う制御部を備えた半導体メモリ装置において、
前記制御部は、前記不揮発性メモリを複数の記憶領域に分割し、該各記憶領域を、データを書き込むための複数のデータ領域および前記データ以外の情報を書き込むための複数の情報領域に分割して管理し、
前記複数の情報領域のうちの１つを、他の記憶領域の状態を表す第１の状態情報および該他の記憶領域における各データ領域が正常であるか否かを表す第２の状態情報を書き込むための第１の状態情報領域として管理し、前記複数の情報領域のうちの他の１つを前記第１の状態情報領域に前記第２の状態情報が書き込まれた前記他の記憶領域の消去時に、該他の記憶領域における前記第１の状態情報領域に書き込まれた情報のうちの少なくとも前記第２の状態情報を書き込むための第２の状態情報領域として管理することを特徴とする半導体メモリ装置。
【請求項２】
前記制御部は、前記各データ領域にデータの書き込み開始および書き込み終了を表す情報を書き込むことを特徴とする請求項１記載の半導体メモリ装置。
【請求項３】
前記制御部は、前記複数の記憶領域のうちの一の記憶領域へデータを書き込む際に書き込みエラーが発生した場合、前記一の記憶領域の状態情報が書き込まれた他の記憶領域における前記第１の状態情報領域に書き込まれた、前記書き込みエラーが発生したデータ領域についての第２の状態情報を異常に設定し、次のデータ領域へのデータの書き込みを続行することを特徴とする請求項１または２記載の半導体メモリ装置。
【請求項４】
前記制御部は、前記複数の記憶領域のうちの一の記憶領域を消去する際に、該一の記憶領域の状態情報が書き込まれた他の記憶領域における前記第２の状態情報領域に、該一の記憶領域の第１の状態情報領域に書き込まれた前記他の記憶領域についての前記第２の状態情報を書き込み、前記一の記憶領域の消去完了後、前記他の記憶領域の前記第２の状態情報領域に書き込まれた前記第２の状態情報を、該一の記憶領域の第１の状態情報領域に書き込むことを特徴とする請求項１から３のいずれか１項記載の半導体メモリ装置。
【請求項５】
前記制御部は、前記一の記憶領域を消去する際に前記データ領域に消去エラーが発生した場合、所定回数消去を実行し、該所定回数の消去の実行後前記消去エラーが解消しない場合、前記他の記憶領域における前記第１の状態情報領域に書き込まれた、前記消去エラーが発生したデータ領域についての前記第２の状態情報を、異常に設定することを特徴とする請求項４記載の半導体メモリ装置。
【請求項６】
前記制御部は、前記各記憶領域を４以上の前記情報領域に分割し、
前記複数の情報領域のうちの少なくとも１つを前記第１の状態情報領域の第１の予備領域として管理し、前記複数の情報領域のうちの他の少なくとも１つを前記第２の状態情報領域の第２の予備領域として管理することを特徴とする請求項４または５記載の半導体メモリ装置。
【請求項７】
前記制御部は、前記一の記憶領域を消去する際に前記第１の状態情報領域にエラー判別可能な消去エラーが発生した場合、所定回数消去を実行し、該所定回数の消去の実行後前記消去エラーが解消しない場合、以降前記一の記憶領域の前記第１の予備領域に前記他の記憶領域についての前記第１および前記第２の状態情報を書き込むことを特徴とする請求項６記載の半導体メモリ装置。
【請求項８】
前記制御部は、前記一の記憶領域を消去する際に前記第１の状態情報領域にエラー判別不可能な消去エラーが発生した場合、所定回数消去を実行し、該所定回数の消去の実行後前記消去エラーが解消しない場合、該消去エラーをエラー判別可能な情報に書き換え、以降前記一の記憶領域の前記第１の予備領域に前記他の記憶領域についての前記第１および前記第２の状態情報を書き込むことを特徴とする請求項６または７記載の半導体メモリ装置。
【請求項９】
前記制御部は、前記一の記憶領域の消去完了後、前記他の記憶領域の前記第２の状態情報領域に書き込まれた前記第２の状態情報を前記一の記憶領域の前記第１の状態情報領域に書き込む際に、エラー判別可能な書き込みエラーが発生した場合、以降前記一の記憶領域の前記第１の予備領域に前記他の記憶領域についての前記第１および前記第２の状態情報を書き込むことを特徴とする請求項６から８のいずれか１項記載の半導体メモリ装置。
【請求項１０】
前記制御部は、前記一の記憶領域の消去完了後、前記他の記憶領域の前記第２の状態情報領域に書き込まれた前記第２の状態情報を前記一の記憶領域の前記第１の状態情報領域に書き込む際に、エラー判別不可能な書き込みエラーが発生した場合、該書き込みエラーをエラー判別可能な情報に書き換え、以降前記一の記憶領域の前記第１の予備領域に前記他の記憶領域についての前記第１および前記第２の状態情報を書き込むことを特徴とする請求項６から９のいずれか１項記載の半導体メモリ装置。
【請求項１１】
前記制御部は、前記一の記憶領域を消去する際に前記第２の状態情報領域に消去エラーが発生した場合、所定回数消去を実行し、該所定回数の消去の実行後前記消去エラーが解消しない場合、以降前記一の記憶領域の前記第２の予備領域に前記他の記憶領域の第１の状態情報領域に書き込まれた前記第２の状態情報を書き込むことを特徴とする請求項６から１０のいずれか１項記載の半導体メモリ装置。
【請求項１２】
前記制御部は、前記他の記憶領域における前記第２の状態情報領域に、該一の記憶領域の前記第１の状態情報領域に書き込まれた前記第２の状態情報を書き込む際に、エラー判別可能な書き込みエラーが発生した場合、以降前記他の記憶領域における前記第２の予備領域に、前記一の記憶領域の前記第１の状態情報領域に書き込まれた前記第２の状態情報を書き込むことを特徴とする請求項４から１０のいずれか１項記載の半導体メモリ装置。
【請求項１３】
前記制御部は、前記他の記憶領域における前記第２の状態情報領域に、該一の記憶領域の前記第１の状態情報領域に書き込まれた前記第２の状態情報を書き込む際に、エラー判別不可能な書き込みエラーが発生した場合、該書き込みエラーをエラー判別可能な情報に書き換え、以降前記他の記憶領域における前記第２の予備領域に、前記一の記憶領域の前記第１の状態情報領域に書き込まれた前記第２の状態情報を書き込むことを特徴とする請求項６から１１のいずれか１項記載の半導体メモリ装置。
【請求項１４】
前記制御部は、前記各記憶領域の消去中に電源が遮断された場合、電源オン時における前記各記憶領域に書き込まれた前記第１の状態情報、前記第２の状態情報、および前記第２の状態情報が書き込まれている領域の種類の少なくとも１つの情報に基づいて、前記電源遮断時に前記データが消去中であった消去中記憶領域および正常にデータが書き込まれた正常データ領域を検出し、少なくとも該消去中記憶領域の異常状態を解消するよう前記不揮発性メモリを制御することを特徴とする請求項１から１３のいずれか１項記載の半導体メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリにデータの書き込みを行う半導体メモリ装置に関するものである。
【背景技術】
【０００２】
書き換え可能なフラッシュメモリ等の不揮発性メモリを有する半導体メモリ装置は、デジタルカメラ等のメモリカードの他、各種電子機器の記憶装置として広く用いられている。
【０００３】
このような不揮発性メモリにおいては、すでにデータが書き込まれている記憶領域に新たなデータを書き込む際には、書き込まれているデータを一旦消去することが必要となる。ここで、フラッシュメモリにおいては、データの書き込みおよび読み出しは、比較的大きいブロック単位（例えば５１２バイト）で行われるが、消去は複数ブロックからなる記憶領域単位で行われる。
【０００４】
また、不揮発性メモリは、メモリセルの構造的な問題により使用回数に制限があり、使用回数がその制限を超えるとメモリセルが劣化し、データの消去やデータの書き込みができなくなり、その結果、最後に書き込んだデータを特定できなかったり、読み出したデータの値に異常が生じたりするという問題がある。
【０００５】
このため、メモリセルの劣化を検知し、劣化したメモリセルを含む不良ブロックのデータを、不揮発性メモリとは別に設けられた他のメモリに保存し、不良ブロックのデータを読み出す際には、他のメモリに保存されたデータを読み出すことにより、メモリセルの劣化によるシステムの誤作動を防止する手法が提案されている（特許文献１参照）。特許文献１に記載された手法によれば、不揮発性メモリが劣化してもその不揮発性メモリを用いたシステムが、メモリエラーにより直ちに停止することがなくなるため、システムの動作を継続することが可能となる。
【特許文献１】特開２００６−６５３８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された手法では、不揮発性メモリの退避領域となる他のメモリを設ける必要があるため、装置の構成が煩雑となる。
【０００７】
本発明は上記事情に鑑みなされたものであり、不揮発性メモリが劣化した場合において、その不揮発性メモリを用いたシステムの動作を、簡易な構成により継続できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明による半導体メモリ装置は、不揮発性メモリおよび該不揮発性メモリに対するデータの書き込みおよび消去の制御を行う制御部を備えた半導体メモリ装置において、
前記制御部は、前記不揮発性メモリを複数の記憶領域に分割し、該各記憶領域を、データを書き込むための複数のデータ領域および前記データ以外の情報を書き込むための複数の情報領域に分割して管理し、
前記複数の情報領域のうちの１つを、他の記憶領域の状態を表す第１の状態情報および該他の記憶領域における各データ領域が正常であるか否かを表す第２の状態情報を書き込むための第１の状態情報領域として管理し、前記複数の情報領域のうちの他の１つを前記第１の状態情報領域に前記第２の状態情報が書き込まれた前記他の記憶領域の消去時に、該他の記憶領域における前記第１の状態情報領域に書き込まれた情報のうちの少なくとも前記第２の状態情報を書き込むための第２の状態情報領域として管理することを特徴とするものである。
【０００９】
これにより、本発明によれば、第２の状態情報を参照することにより、メモリセルの劣化により異常が生じたデータ領域を特定することができるため、そのデータ領域を避けるようにデータの書き込みおよび読み出しを行うことにより、他のメモリを設けることなく本発明による半導体メモリ装置の使用を継続することができる。したがって、特許文献１に記載された手法のように装置が大型化することを防止することができる。
【００１０】
なお、本発明による半導体メモリ装置においては、前記制御部を、前記各データ領域にデータの書き込み開始および書き込み終了を表す情報を書き込むものとしてもよい。
【００１１】
これにより、その情報に基づいてデータ領域にエラーが発生しているか否かを確認することが可能となる。
【００１２】
また、本発明による半導体メモリ装置においては、前記制御部を、前記複数の記憶領域のうちの一の記憶領域へデータを書き込む際に書き込みエラーが発生した場合、前記一の記憶領域の状態情報が書き込まれた他の記憶領域における前記第１の状態情報領域に書き込まれた、前記書き込みエラーが発生したデータ領域についての第２の状態情報を異常に設定し、次のデータ領域へのデータの書き込みを続行するものとしてもよい。
【００１３】
これにより、書き込みエラーが発生したデータ領域を特定して、データの書き込みを継続することができる。
【００１４】
また、本発明による半導体メモリ装置においては、前記制御部を、前記複数の記憶領域のうちの一の記憶領域を消去する際に、該一の記憶領域の状態情報が書き込まれた他の記憶領域における前記第２の状態情報領域に、該一の記憶領域の第１の状態情報領域に書き込まれた前記他の記憶領域についての前記第２の状態情報を書き込み、前記一の記憶領域の消去完了後、前記他の記憶領域の前記第２の状態情報領域に書き込まれた前記第２の状態情報を、該一の記憶領域の第１の状態情報領域に書き込むものとしてもよい。
【００１５】
これにより、一の記憶領域の消去の際に、一の記憶領域の第１の状態情報領域に書き込まれた他の記憶領域についての第２の状態情報が消失してしまうことを防止できる。
【００１６】
また、本発明による半導体メモリ装置においては、前記制御部を、前記一の記憶領域を消去する際に前記データ領域に消去エラーが発生した場合、所定回数消去を実行し、該所定回数の消去の実行後前記消去エラーが解消しない場合、前記他の記憶領域における前記第１の状態情報領域に書き込まれた、前記消去エラーが発生したデータ領域についての前記第２の状態情報を、異常に設定するものとしてもよい。
【００１７】
これにより、消去エラーが発生したデータ領域を特定することができる。
【００１８】
また、本発明による半導体メモリ装置においては、前記制御部を、前記各記憶領域を４以上の前記情報領域に分割し、
前記複数の情報領域のうちの少なくとも１つを前記第１の状態情報領域の第１の予備領域として管理し、前記複数の情報領域のうちの他の少なくとも１つを前記第２の状態情報領域の第２の予備領域として管理するものとしてもよい。
【００１９】
また、本発明による半導体メモリ装置においては、前記制御部を、前記一の記憶領域を消去する際に前記第１の状態情報領域にエラー判別可能な消去エラーが発生した場合、所定回数消去を実行し、該所定回数の消去の実行後前記消去エラーが解消しない場合、以降前記一の記憶領域の前記第１の予備領域に前記他の記憶領域についての前記第１および前記第２の状態情報を書き込むものとしてもよい。
【００２０】
また、前記制御部を、前記一の記憶領域を消去する際に前記第１の状態情報領域にエラー判別不可能な消去エラーが発生した場合、所定回数消去を実行し、該所定回数の消去の実行後前記消去エラーが解消しない場合、該消去エラーをエラー判別可能な情報に書き換え、以降前記一の記憶領域の前記第１の予備領域に前記他の記憶領域についての前記第１および前記第２の状態情報を書き込むものとしてもよい。
【００２１】
これにより、第１の状態情報領域に消去エラーが発生しても、第１の予備領域を使用することにより、他の記憶領域についての第２の状態情報の書き込みを継続することができる。
【００２２】
また、本発明による半導体メモリ装置においては、前記制御部を、前記一の記憶領域の消去完了後、前記他の記憶領域の前記第２の状態情報領域に書き込まれた前記第２の状態情報を前記一の記憶領域の前記第１の状態情報領域に書き込む際に、エラー判別可能な書き込みエラーが発生した場合、以降前記一の記憶領域の前記第１の予備領域に前記他の記憶領域についての前記第１および前記第２の状態情報を書き込むものとしてもよい。
【００２３】
また、前記制御部を、前記一の記憶領域の消去完了後、前記他の記憶領域の前記第２の状態情報領域に書き込まれた前記第２の状態情報を前記一の記憶領域の前記第１の状態情報領域に書き込む際に、エラー判別不可能な書き込みエラーが発生した場合、該書き込みエラーをエラー判別可能な情報に書き換え、以降前記一の記憶領域の前記第１の予備領域に前記他の記憶領域についての前記第１および前記第２の状態情報を書き込むものとしてもよい。
【００２４】
これにより、他の記憶領域の第２の状態情報領域に書き込まれた第２の状態情報を、一の記憶領域の第１の状態情報領域に書き込む際にエラーが発生しても、第１の予備領域を使用することにより、他の記憶領域についての第１および第２の状態情報の書き込みを継続することができる。
【００２５】
また、本発明による半導体メモリ装置においては、前記制御部を、前記一の記憶領域を消去する際に前記第２の状態情報領域に消去エラーが発生した場合、所定回数消去を実行し、該所定回数の消去の実行後前記消去エラーが解消しない場合、以降前記一の記憶領域の前記第２の予備領域に前記他の記憶領域の第１の状態情報領域に書き込まれた前記第２の状態情報を書き込むものとしてもよい。
【００２６】
これにより、一の記憶領域の第２の状態情報領域にエラーが発生しても、第２の予備領域を使用することにより、消去時における他の記憶領域についての第２の状態情報の一の記憶領域への書き込みを継続することができる。
【００２７】
また、本発明による半導体メモリ装置においては、前記制御部を、前記他の記憶領域における前記第２の状態情報領域に、該一の記憶領域の前記第１の状態情報領域に書き込まれた前記第２の状態情報を書き込む際に、エラー判別可能な書き込みエラーが発生した場合、以降前記他の記憶領域における前記第２の予備領域に、前記一の記憶領域の前記第１の状態情報領域に書き込まれた前記第２の状態情報を書き込むものとしてもよい。
【００２８】
また、前記制御部を、前記他の記憶領域における前記第２の状態情報領域に、該一の記憶領域の前記第１の状態情報領域に書き込まれた前記第２の状態情報を書き込む際に、エラー判別不可能な書き込みエラーが発生した場合、該書き込みエラーをエラー判別可能な情報に書き換え、以降前記他の記憶領域における前記第２の予備領域に、前記一の記憶領域の前記第１の状態情報領域に書き込まれた前記第２の状態情報を書き込むものとしてもよい。
【００２９】
これにより、他の記憶領域における第２の状態情報領域に書き込みエラーが発生しても、消去時における一の記憶領域についての第２の状態情報の他の記憶領域への書き込みを継続することができる。
【００３０】
また、本発明による半導体メモリ装置においては、前記制御部を、前記各記憶領域の消去中に電源が遮断された場合、電源オン時における前記各記憶領域に書き込まれた前記第１の状態情報、前記第２の状態情報、および前記第２の状態情報が書き込まれている領域の種類の少なくとも１つの情報に基づいて、前記電源遮断時に前記データが消去中であった消去中記憶領域および正常にデータが書き込まれた正常データ領域を検出し、少なくとも該消去中記憶領域の異常状態を解消するよう前記不揮発性メモリを制御するものとしてもよい。
【００３１】
これにより、正常データ領域に直ちにデータを書き込んだり、正常データ領域からデータを読み出したりすることができる。また、電源遮断時における消去中記憶領域の異常を迅速に解消することができる。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照して本発明の実施形態について説明する。図１は本発明の実施形態による半導体メモリ装置の構成を示す概略ブロック図である。図１に示すように本実施形態による半導体メモリ装置１は、フラッシュメモリ等の不揮発性メモリ２と、データの書き込みおよび消去等の制御を行う制御部（本実施形態においてはＣＰＵ）３と、データの入出力を行うためのインターフェース４とを備える。
【００３３】
図２は不揮発性メモリの記憶領域の構造を模式的に示す図である。図２に示すように、不揮発性メモリ２の記憶領域は第１および第２のバンクＢ１，Ｂ２に分割され、各バンクＢ１，Ｂ２は１２のブロックに分割されて管理されている。１２のブロックのうち８つのブロックはデータを書き込むためのデータブロックＤ１〜Ｄ８であり、４つのブロックはフラグを書き込むためのフラグブロックである。
【００３４】
データブロックＤ１〜Ｄ８には、データの書き込み開始および書き込み終了を表すフラグを書き込むための領域Ｒ１，Ｒ２が用意されている。
【００３５】
また、フラグブロックは、他方のバンクの状態を表す第１のフラグおよび他方のバンクのデータブロックＤ１〜Ｄ８の異常の有無を表す第２のフラグを書き込むための第１ブロックＡ１、第１ブロックＡ１が破損した場合用の第１予備ブロックＳ１、後述するように他方のバンクの消去時に、他方のバンクの第１ブロックＡ１に書き込まれた第１のフラグおよび第２のフラグを退避させるために書き込むための第２ブロックＡ２、および第２ブロックＡ２が破損した場合用の第２予備ブロックＳ２となるよう、制御部３により管理されている。
【００３６】
なお、フラグブロックは、第１のフラグおよび第２のフラグを書き込む領域に分けられている。ここで、各バンクＢ１，Ｂ２のデータブロックＤ１〜Ｄ８は８個あることから、第２のフラグを書き込む領域は８つに分割されている。そして各領域の左から番号が若いデータブロックの異常の有無を表すフラグが書き込まれることとなる。便宜上、図２にはデータブロックの番号が第２のフラグを書き込む領域に付与されている。
【００３７】
ここで、第１のフラグの値としては、バンクの消去が完了していることおよび使用中であることを表す0×7777、0×1111、消去中であることを表す0×3333、およびそれ以外の状態であることを表す0×FFFFが用いられる。また、0×FFFFのフラグは、他のフラグとは異なり、フラグが書き込まれるバンク自身の状態を表すものとなる。また、フラグはビット数が減少する方向に変化することとなるため、0×7777、0×3333、0×1111の順に変化することとなる。第１のフラグがこれらの値以外に設定されたフラグブロックはエラーが発生していることとなる。
【００３８】
また、第２のフラグの値としては、データブロックが正常であることを示す0×77、異常であることを示す0×33、およびそれ以外であることを示す0×FFが用いられる。第２のフラグがこれらの値以外に設定されたフラグブロックはエラーが発生していることとなる。
【００３９】
なお、図２においては、バンクＢ１のすべてのデータブロックＤ１〜Ｄ８およびバンクＢ２の２つのデータブロックＤ１，Ｄ２に有効なデータが書き込まれ、バンクＢ１の第１ブロックＡ１にバンクＢ２の状態として0×1111が、バンクＢ２のすべてのデータブロックの状態が正常であることを示す0×77が書き込まれ、バンクＢ２の第１ブロックＡ１にバンクＢ１の状態として0×1111が、バンクＢ１のすべてのデータブロックの状態が正常であることを示す0×77が書き込まれている。
【００４０】
また、バンクＢ１のすべてのデータブロックＤ１〜Ｄ８およびバンクＢ２のデータブロックＤ１，Ｄ２には、データ書き込み開始フラグおよび書き込み終了フラグが書き込まれており、バンクＢ２のデータブロックＤ３〜Ｄ８には、書き込み開始フラグおよび終了フラグが書き込まれていないことを表す「未」の文字が付与されている。
【００４１】
次いで、本実施形態による半導体メモリ装置１におけるデータの書き込みおよび消去、並びにフラグの設定について説明する。図３はバンクＢ２のデータが正常に消去される場合におけるフラグの書き込みを説明するための図である。なお、消去前の初期状態として、図３Ａに示すように、バンクＢ２におけるバンクＢ１についての第１のフラグは0×1111に、第２のフラグはすべて0×77に、バンクＢ１におけるバンクＢ２についての第１のフラグは0×7777に、第２のフラグはすべて0×77に設定されているものとする。
【００４２】
まず、バンクＢ２の消去の準備として、図３Ｂに示すように、バンクＢ２の第１ブロックＡ１に書き込まれている第１および第２のフラグが、バンクＢ１の第２ブロックＡ２に書き込まれる。また、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、バンクＢ２が消去中であることを表す0×3333に設定される。この後、図３Ｃに示すように、バンクＢ２の消去が実行される。なお、本実施形態においては消去中であることを斜線で示すものとする。
【００４３】
消去が完了すると、図３Ｄに示すようにバンクＢ２の第１ブロックＡ１の第１のフラグが0×FFFFに、第２のフラグがすべて0×FFに設定される。なお、消去によりバンクＢ２のフラグブロックのフラグは、すべて0×FFFFまたは0×FFに設定される。そして、図３Ｅに示すように、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグが、バンクＢ２の第１ブロックＡ１に書き込まれる。これにより、バンクＢ２の消去前にバンクＢ２の第１ブロックＡ１に書き込まれていたバンクＢ１についての第２のフラグが、バンクＢ２に復旧することとなる。なお、バンクＢ２の第１ブロックＡ１の第１のフラグは0×7777に設定される。
【００４４】
この後、図３Ｆに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、使用中であることを示す0×1111に設定され、バンクＢ２の消去の処理を終了する。これにより、バンクＢ２はデータを書き込み可能な状態となる。なお、消去処理の終了後、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグはそのまま残しておいてもよいが、消去してもよい。以降の説明においても同様である。
【００４５】
図４はデータブロックにデータが正常に書き込まれる場合におけるフラグの書き込みを説明するための図である。なお、データ書き込み前の初期状態として、図４Ａに示すように、バンクＢ２におけるバンクＢ１についての第１のフラグは0×1111に、第２のフラグはすべて0×77に、バンクＢ１におけるバンクＢ２についての第１のフラグは0×7777に、第２のフラグはすべて0×77に設定されているものとする。また、バンクＢ２にはすべてのデータブロックにデータが書き込まれ、バンクＢ１にはデータブロックＤ１にのみデータが書き込まれているものとする。
【００４６】
この状態においてデータの書き込みが実行されると、図４Ｂに示すように、バンクＢ１の２つめのデータブロックＤ２のデータ書き込み開始のフラグが設定される。そして書き込んだデータを照合した結果エラーがない場合、図４Ｃに示すようにデータ書き込み終了のフラグが設定される。これにより、データブロックＤ２へのデータの書き込みの処理を終了する。
【００４７】
図５はバンクＢ２のデータの消去時にエラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、消去前の初期状態からバンクＢ２を消去するまでのフラグの書き込みは図３に示す処理と同様に行われるため、ここでは消去が完了した以降の処理についてのみ説明する。
【００４８】
バンクＢ２の消去が完了すると、図５Ａに示すようにバンクＢ２の第１ブロックＡ１の第１のフラグが0×FFFFに、第２のフラグがすべて0×FFに設定される。ここで、データブロックが正常に消去されると、データブロックには0×FFのデータが書き込まれるはずであるが、消去が完了したにも拘わらず、図５Ａに示すようにデータブロックＤ３に0×EFのデータが書き込まれている場合は、データブロックＤ３に消去エラーが発生した状態となる。この場合、図５Ｂに示すようにバンクＢ２の消去が再度実行される。消去を再度実行した結果、データブロックが正常に消去された場合には、上記図３に示す処理と同様にフラグの設定が行われる。なお、消去はあらかじめ定められた所定回数繰り返し行われる。
【００４９】
所定回数消去を実行したにも拘わらず、図５Ｃに示すようになおも消去エラーが解消しない場合、図５Ｄに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２のデータブロックＤ３に対応する第２のフラグが、異常であることを表す0×33に設定される。この後、図５Ｅに示すように、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグが、バンクＢ２の第１ブロックＡ１に書き込まれる。これにより、バンクＢ２の消去前にバンクＢ２の第１ブロックＡ１に書き込まれていたバンクＢ１についての第２のフラグが、バンクＢ２に復旧することとなる。なお、バンクＢ２の第１ブロックＡ１の第１のフラグは、0×7777に設定される。
【００５０】
さらに、図５Ｆに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、使用中であることを示す0×1111に設定され、バンクＢ２の消去の処理を終了する。これにより、バンクＢ２はデータを書き込み可能な状態となる。
【００５１】
なお、この状態おいて、バンクＢ１におけるバンクＢ２についての第２のフラグを参照することにより、データブロックＤ３が異常であることが分かるため、これ以降データを書き込む場合には、データブロックＤ３以外のデータブロックにデータが書き込まれることとなる。
【００５２】
図６はデータブロックへのデータの書き込み時にエラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、データ書き込み前の初期状態からデータの書き込みを開始するまでのフラグの書き込みは図４に示す処理と同様に行われるため、ここではデータの書き込みが開始された以降の処理についてのみ説明する。データブロックＤ２にデータを書き込んだ後、書き込んだデータを照合した結果、書き込みエラーが発生した場合、図６Ａに示すようにデータブロックＤ２のデータ書き込み終了のフラグは設定されず、バンクＢ２の第１ブロックＡ１におけるバンクＢ１のデータブロックＤ２に対応する第２のフラグが、異常であることを表す0×33に設定される。この後、図６Ｂに示すように、データブロックＤ２へのデータの書き込みは実行されず、バンクＢ１の３つめのデータブロックＤ３の書き込み開始のフラグが設定され、データブロックＤ３へのデータの書き込みが実行される。そして書き込んだデータを照合した結果エラーがない場合、図６Ｃに示すようにデータブロックＤ３にはデータ書き込み終了のフラグが設定される。以降、順次データブロックへの書き込みが行われる。
【００５３】
図７はデータブロックへのデータの書き込み時において終了フラグの書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、初期状態からデータの書き込みを開始するまでのフラグの書き込みは、図４に示す処理と同様に行われるため、ここではデータの書き込みが開始された以降の処理についてのみ説明する。データブロックＤ２にデータを書き込んだ後、図７Ａに示すように書き込んだデータを照合した結果エラーがない場合には、データ書き込み終了のフラグが設定されるが、その際に終了フラグの書き込みエラーが発生した場合、図７Ｂに示すようにデータブロックＤ２の終了フラグが設定される領域Ｒ２に無効なデータが書き込まれる。
【００５４】
次いで、図７Ｃに示すように、バンクＢ２の第１ブロックＡ１におけるバンクＢ１のデータブロックＤ２に対応する第２のフラグが、異常であることを表す0×33に設定される。この後、データブロックＤ２へのデータの書き込みは実行されず、図７Ｄに示すようにバンクＢ１の３つめのデータブロックＤ３の書き込み開始のフラグが設定され、データブロックＤ３へのデータの書き込みが実行される。そして書き込んだデータを照合した結果エラーがない場合、図７Ｅに示すようにデータブロックＤ３にはデータ書き込み終了のフラグが設定される。そして、書き込み終了フラグが適切に設定されると、以降、順次データブロックへの書き込みが行われる。
【００５５】
図８はバンクＢ２のデータの消去時に第１ブロックＡ１に判別可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、消去前の初期状態からバンクＢ２を消去するまでのフラグの書き込みは、図３に示す処理と同様に行われるため、ここでは消去が完了した以降の処理についてのみ説明する。
【００５６】
消去が完了すると、上述した図３Ｄに示すようにバンクＢ２の第１ブロックＡ１の第１のフラグが0×FFFFに、第２のフラグがすべて0×FFに設定されるはずであるが、図８Ａに示すように第１ブロックＡ１における２つめの第２のフラグが0×F7に設定された場合は、第１ブロックＡ１に消去エラーが発生した状態となる。この場合、図８Ｂに示すようにバンクＢ２の消去が再度実行される。消去を再度実行した結果、データブロックが正常に消去された場合には、上記図３に示す処理と同様にフラグの設定が行われる。なお、消去はあらかじめ定められた所定回数繰り返し行われる。
【００５７】
所定回数消去を実行したにも拘わらず、図８Ｃに示すようになおも第１ブロックＡ１の消去エラーが解消しない場合、図８Ｄに示すように、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグが、バンクＢ２の第１予備ブロックＳ１に書き込まれる。これにより、バンクＢ２の消去前にバンクＢ２の第１ブロックＡ１に書き込まれていたバンクＢ１についての第２のフラグが、バンクＢ２の第１予備ブロックＳ１に復旧することとなる。なお、バンクＢ２の第１予備ブロックＳ１の第１のフラグは0×7777に設定される。
【００５８】
この後、図８Ｅに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、使用中であることを示す0×1111に設定され、バンクＢ２の消去の処理を終了する。これにより、バンクＢ２はデータを書き込み可能な状態となる。
【００５９】
図９はバンクＢ２のデータの消去時に第１ブロックＡ１に判別不可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、消去前の初期状態からバンクＢ２を消去するまでのフラグの書き込みは、図３に示す処理と同様に行われるため、ここでは消去が完了した以降の処理についてのみ説明する。
【００６０】
消去が終了すると、上述した図３Ｄに示すようにバンクＢ２の第１ブロックＡ１の第１のフラグが0×FFFFに、第２のフラグがすべて0×FFに設定されるはずであるが、図９Ａに示すように第１ブロックＡ１における第１のフラグが0×1111に、第２のフラグがすべて0×77に設定された場合は、第１ブロックＡ１に消去エラーが発生した状態となる。ここで、図８に示す処理における第１ブロックＡ１の消去エラーは、第２のフラグが0×F7に設定されることによるものであったため、フラグの値を見れば直ちにエラーであることが分かる。しかしながら、第１のフラグが0×1111に、第２のフラグがすべて0×77に設定された場合は、消去エラーであるもののフラグの値としては正常であるため、このままフラグを残しておいたのでは、バンクＢ１の状態と第１ブロックＡ１のフラグの値とが矛盾するものとなる。
【００６１】
この場合、図９Ｂに示すようにバンクＢ２の消去が再度実行される。消去を再度実行した結果、データブロックが正常に消去された場合には、上記図３に示す処理と同様にフラグの設定が行われる。なお、消去はあらかじめ定められた所定回数繰り返し行われる。
【００６２】
所定回数消去を実行したにも拘わらず、図９Ｃに示すようになおも第１ブロックＡ１の判別不可能な消去エラーが解消しない場合、図９Ｄに示すように、バンクＢ２の第１ブロックＡ１のフラグが判別可能な値に書き換えられる。ここでは第１のフラグを0×1010に、第２のフラグをすべて0×70に書き換えている。次いで、図９Ｅに示すように、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグが、バンクＢ２の第１予備ブロックＳ１に書き込まれる。これにより、バンクＢ２の消去前にバンクＢ２の第１ブロックＡ１に書き込まれていたバンクＢ１についての第２のフラグが、バンクＢ２の第１予備ブロックＳ１に復旧することとなる。なお、バンクＢ２の第１予備ブロックＳ１の第１のフラグは0×7777に設定される。
【００６３】
この後、図９Ｆに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、使用中であることを示す0×1111に設定され、バンクＢ２の消去の処理を終了する。これにより、バンクＢ２はデータを書き込み可能な状態となる。
【００６４】
図１０はバンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、消去前の初期状態からバンクＢ２を消去するまでのフラグの書き込みは、図３に示す処理と同様に行われるため、ここでは消去が完了した以降の処理についてのみ説明する。
【００６５】
消去が完了すると、図１０Ａに示すようにバンクＢ２の第１ブロックＡ１の第１のフラグが0×FFFFに、第２のフラグがすべて0×FFに設定される。この後、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグが、バンクＢ２の第１ブロックＡ１に書き込まれ、第１のフラグは0×7777に、第２のフラグはすべて0×77に設定されるはずであるが、その際に、図１０Ｂに示すように第１ブロックＡ１における３つめの第２のフラグが0×F7に設定された場合は、第１ブロックＡ１に書き込みエラーが発生した状態となる。
【００６６】
この場合、図１０Ｃに示すように、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグが、バンクＢ２の第１予備ブロックＳ１に書き込まれる。これにより、書き込みが正常に行われると、第１のフラグは0×7777に、第２のフラグはすべて0×77に設定される。
【００６７】
この後、図１０Ｄに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、使用中であることを示す0×1111に設定され、バンクＢ２の消去の処理を終了する。これにより、バンクＢ２はデータを書き込み可能な状態となる。
【００６８】
図１１はバンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、消去前の初期状態として、図１１Ａに示すように、バンクＢ２におけるバンクＢ１についての第１のフラグは0×1111に、第２のフラグは２つめのフラグが0×33に、他のフラグがすべて0×77に設定され、バンクＢ１におけるバンクＢ２についての第１のフラグは0×7777に、第２のフラグはすべて0×77に設定されているものとする。
【００６９】
まず、バンクＢ２の消去の準備として、図１１Ｂに示すように、バンクＢ２の第１ブロックＡ１に書き込まれている第１および第２のフラグが、バンクＢ１の第２ブロックＡ２に書き込まれる。また、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグは、消去中であることを表す0×3333に設定される。この後、図１１Ｃに示すように、バンクＢ２の消去が実行される。
【００７０】
消去が完了すると、図１１Ｄに示すようにバンクＢ２の第１ブロックＡ１の第１のフラグが0×FFFFに、第２のフラグがすべて0×FFに設定される。この後、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグが、バンクＢ２の第１ブロックＡ１に書き込まれ、第１のフラグは0×7777に、第２のフラグは２つめのフラグが0×33に、他のフラグがすべて0×77に設定されるはずであるが、その際に、図１１Ｅに示すように第１ブロックＡ１における２つめの第２のフラグが0×77に設定された場合は、第１ブロックＡ１に書き込みエラーが発生した状態となる。
【００７１】
ここで、図１０に示す処理における第１ブロックＡ１の書き込みエラーは、第２のフラグが0×F7に設定されることによるものであったため、フラグの値を見れば直ちにエラーであることが分かる。しかしながら、第１のフラグが0×7777に、第２のフラグがすべて0×77に設定された場合は、書き込みエラーであるもののフラグの値としては正常であるため、このままフラグを残しておいたのでは、バンクＢ１のデータブロックの状態と第１ブロックＡ１のフラグの値とが矛盾するものとなる。
【００７２】
このため、図１１Ｆに示すように、第１ブロックＡ１のフラグが判別可能な値に書き換えられる。ここでは第１のフラグを0×7070に、第２のフラグを２つめのフラグを0×74に、他のフラグをすべて0×70に書き換えている。具体的には、第２のフラグのすべてに対して0×F0を書き込むことにより、正常状態にあるフラグは0×70に、異常状態にある２つめのフラグは0×74に書き換えられる。次いで、図１１Ｇに示すように、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグが、バンクＢ２の第１予備ブロックＳ１に書き込まれる。これにより、書き込みが正常に行われると、第１のフラグは0×7777に、第２のフラグは２つめのフラグが0×33に、他のフラグがすべて0×77に設定される。
【００７３】
この後、図１１Ｈに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、使用中であることを示す0×1111に設定され、バンクＢ２の消去の処理を終了する。これにより、バンクＢ２はデータを書き込み可能な状態となる。
【００７４】
図１２はバンクＢ２のデータの消去時に第２ブロックＡ２に消去エラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、消去前の初期状態からバンクＢ２を消去するまでのフラグの書き込みは、図３に示す処理と同様に行われるため、ここでは消去が完了した以降の処理についてのみ説明する。
【００７５】
消去が完了すると、バンクＢ２の第２ブロックＡ２の第１のフラグが0×FFFFに、第２のフラグがすべて0×FFに設定されるはずであるが、図１２Ａに示すように第２ブロックＡ２における２つめの第２のフラグが0×7Fに設定された場合は、第２ブロックＡ２に消去エラーが発生した状態となる。この場合、図１２Ｂに示すようにバンクＢ２の消去が再度実行される。消去を再度実行した結果、データブロックが正常に消去された場合には、上記図４に示すようにフラグの設定が行われる。なお、消去はあらかじめ定められた所定回数繰り返し行われる。
【００７６】
所定回数消去を実行したにも拘わらず、図１２Ｃに示すようになおも第２ブロックＡ２の消去エラーが解消しない場合、図１２Ｄに示すように、バンクＢ１の第２ブロックＡ２に書き込まれた第２のフラグが、バンクＢ２の第１ブロックＡ１に書き込まれる。この場合、第１のフラグは0×7777に設定される。この後、図１２Ｅに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、使用中であることを示す0×1111に設定され、バンクＢ２の消去の処理を終了する。これにより、バンクＢ２はデータを書き込み可能な状態となる。
【００７７】
一方、この後、バンクＢ１を消去する場合において、消去の準備の際に、本来であればバンクＢ２の第２ブロックＡ２にバンクＢ１についての第１および第２のフラグが書き込まれるが、第２ブロックＡ２には消去エラーが発生しているため、図１２Ｆに示すように、バンクＢ１についての第１および第２のフラグは第２予備ブロックＳ２に書き込まれることとなる。
【００７８】
図１３はバンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、消去前の初期状態として、図１３Ａに示すように、バンクＢ２におけるバンクＢ１についての第１のフラグは0×1111に、第２のフラグはすべて0×77に設定され、バンクＢ１におけるバンクＢ２についての第１のフラグは0×7777に、第２のフラグはすべて0×77に設定されているものとする。
【００７９】
まず、バンクＢ２の消去の準備として、バンクＢ２の第１ブロックＡ１に書き込まれている第１および第２のフラグが、バンクＢ１の第２ブロックＡ２に書き込まれる。この場合、バンクＢ１の第２ブロックＡ２には、上述した図３Ｂに示すように、第１のフラグが0×1111に、第２のフラグがすべて0×77に設定されるはずであるが、その際に、図１３Ｂに示すようにバンクＢ１の第１ブロックＡ１における３つめの第２のフラグが0×7Fに設定された場合は、第２ブロックＡ２に書き込みエラーが発生した状態となる。
【００８０】
この場合、図１３Ｃに示すように、バンクＢ２におけるバンクＢ１についての第１および第２のフラグが、バンクＢ１の第２予備ブロックＳ２に書き込まれる。これにより、書き込みが正常に行われると、第１のフラグは0×1111に、第２のフラグはすべて0×77に設定される。また、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグは、消去中であることを表す0×3333に設定される。この後、図１３Ｄに示すように、バンクＢ２の消去が実行される。
【００８１】
消去が完了すると、図１３Ｅに示すようにバンクＢ２の第１ブロックＡ１の第１のフラグが0×FFFFに、第２のフラグがすべて0×FFに設定される。そして、図１３Ｆに示すように、バンクＢ１の第２予備ブロックＳ２に書き込まれた第２のフラグが、バンクＢ２の第１ブロックＡ１に書き込まれる。これにより、バンクＢ２の消去前にバンクＢ２の第１ブロックＡ１に書き込まれていたバンクＢ１についての第２のフラグが、バンクＢ２に復旧することとなる。なお、バンクＢ２の第１ブロックＡ１の第１のフラグは、0×7777に設定される。
【００８２】
この後、図１３Ｇに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、使用中であることを示す0×1111に設定され、バンクＢ２の消去の処理を終了する。これにより、バンクＢ２はデータを書き込み可能な状態となる。
【００８３】
一方、この後、バンクＢ２を消去する際には、本来であればバンクＢ１の第２ブロックＡ２に、バンクＢ２に書き込まれているバンクＢ１についての第１および第２のフラグが書き込まれるが、第２ブロックＡ２には書き込みエラーが発生しているため、バンクＢ１についての第１および第２のフラグは、バンクＢ１における第２予備ブロックＳ２に書き込まれることとなる。
【００８４】
図１４はバンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図である。なお、消去前の初期状態として、図１４Ａに示すように、バンクＢ２におけるバンクＢ１についての第１のフラグは0×1111に、第２のフラグは２つめのフラグが0×33に、他がすべて0×77に設定され、バンクＢ１におけるバンクＢ２についての第１のフラグは0×7777に、第２のフラグはすべて0×77に設定されているものとする。
【００８５】
まず、バンクＢ２の消去の準備として、バンクＢ２の第１ブロックＡ１に書き込まれている第１および第２のフラグが、バンクＢ１の第２ブロックＡ２に書き込まれる。この場合、バンクＢ１の第２ブロックＡ２においては、第１のフラグは0×7777に、第２のフラグは２つめのフラグが0×33に、他のフラグがすべて0×77に設定されるはずであるが、その際に、図１４Ｂに示すように第２ブロックＡ２における２つめの第２のフラグが0×77に設定された場合は、第２ブロックＡ２に書き込みエラーが発生した状態となる。
【００８６】
ここで、図１３に示す処理における第２ブロックＡ２の書き込みエラーは、第２のフラグが0×7Fに設定されることによるものであったため、フラグの値を見れば直ちにエラーであることが分かる。しかしながら、第１のフラグが0×1111に、第２のフラグがすべて0×77に設定された場合は、書き込みエラーであるもののフラグの値としては正常であるため、このままフラグを残しておいたのでは、バンクＢ２のデータブロックの状態と第２ブロックＡ２のフラグの値とが矛盾するものとなる。
【００８７】
このため、図１４Ｃに示すように、第２ブロックＡ２のフラグが判別可能な値に書き換えられる。ここでは第１のフラグを0×7070に、第２のフラグを２つめのフラグを0×74に、他のフラグをすべて0×70に書き換えている。具体的には、第２のフラグのすべてに対して0×F0を書き込むことにより、正常状態にあるフラグは0×70に、異常状態にある２つめのフラグは0×74に書き換えられる。次いで、図１４Ｄに示すように、バンクＢ２におけるバンクＢ１についての第１および第２のフラグが、バンクＢ１の第２予備ブロックＳ２に書き込まれる。これにより、書き込みが正常に行われると、第１のフラグは0×7777に、第２のフラグは２つめのフラグが0×33に、他のフラグがすべて0×77に設定される。また、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグは、消去中であることを表す0×3333に設定される。この後、図１４Ｅに示すように、バンクＢ２の消去が実行される。
【００８８】
消去が完了すると、図１４Ｆに示すようにバンクＢ２の第１ブロックＡ１の第１のフラグが0×FFFFに、第２のフラグがすべて0×FFに設定される。そして、図１４Ｇに示すように、バンクＢ１の第２予備ブロックＳ２に書き込まれた第２のフラグが、バンクＢ２の第１ブロックＡ１に書き込まれる。これにより、バンクＢ２の消去前にバンクＢ２の第１ブロックＡ１に書き込まれていたバンクＢ１についての第２のフラグが、バンクＢ２に復旧することとなる。なお、バンクＢ２の第１ブロックＡ１の第１のフラグは、0×7777に設定される。
【００８９】
この後、図１４Ｈに示すように、バンクＢ１の第１ブロックＡ１におけるバンクＢ２についての第１のフラグが、使用中であることを示す0×1111に設定され、バンクＢ２の消去の処理を終了する。これにより、バンクＢ２はデータを書き込み可能な状態となる。
【００９０】
一方、この後、バンクＢ２を消去する際には、本来であればバンクＢ１の第２ブロックＡ２に、バンクＢ２に書き込まれているバンクＢ１についての第１および第２のフラグが書き込まれるが、第２ブロックＡ２には書き込みエラーが発生しているため、バンクＢ１についての第１および第２のフラグは、バンクＢ１における第２予備ブロックＳ２に書き込まれることとなる。
【００９１】
次いで、本実施形態において行われる処理について説明する。図１５および図１６は本実施形態において、電源遮断が生じた後の電源オン時に行われる処理を示すフローチャートである。電源オンとされることにより制御部３が処理を開始し、まずバンクＢ１の第１ブロックＡ１からバンクＢ２についての第１および第２のフラグを読み出し（ステップＳＴ１）、読み出した第１および第２のフラグが正常であるか否かを判定する（ステップＳＴ２）。具体的には、第１のフラグについては0×7777、0×3333、0×1111および0×FFFFのいずれかに設定されているか否か、第２のフラグについては、0×77、0×33のいずれかに設定されているか否かを判定する。
【００９２】
ステップＳＴ２が否定されると、制御部３は、バンクＢ１の第１予備ブロックＳ１にバンクＢ２についての第１および第２のフラグが書き込まれているか否かを判定し（ステップＳＴ３）、ステップＳＴ３が肯定されると、バンクＢ１の第１予備ブロックＳ１から第１および第２のフラグを読み出し（ステップＳＴ４）、読み出した第１および第２のフラグが正常であるか否かを判定する（ステップＳＴ５）。
【００９３】
ステップＳＴ３およびステップＳＴ５が否定された場合は、バンクＢ２についての第１および第２のフラグがバンクＢ１に書き込まれておらず、バンクＢ２の状態が分からないことから、致命的なエラーが発生しているとして、制御部３は本実施形態による半導体メモリ装置１を使用するシステムにその旨を通知し（致命的エラーの通知、ステップＳＴ６）、処理を終了する。システムは、致命的エラーの通知に基づいて、メモリエラーの警告を行うことができる。
【００９４】
ステップＳＴ２およびステップＳＴ５が肯定された場合は、制御部３は、バンクＢ２の第１ブロックＡ１からバンクＢ１についての第１および第２のフラグを読み出し（ステップＳＴ７）、読み出した第１および第２のフラグが正常であるか否かを判定する（ステップＳＴ８）。ステップＳＴ８が否定されると、バンクＢ２の第１予備ブロックＳ１にバンクＢ１についての第１および第２のフラグが書き込まれているか否かを判定し（ステップＳＴ９）、ステップＳＴ９が肯定されると、バンクＢ２の第１予備ブロックＳ１から第１および第２のフラグを読み出し（ステップＳＴ１０）、読み出した第１および第２のフラグが正常であるか否かを判定する（ステップＳＴ１１）。
【００９５】
ステップＳＴ９およびステップＳＴ１１が否定された場合は、バンクＢ１についての第１および第２のフラグがバンクＢ２に書き込まれておらず、バンクＢ１の状態が分からないことから、致命的なエラーが発生しているとして、制御部３は本実施形態による半導体メモリ装置１を使用するシステムにその旨を通知し（致命的エラーの通知、ステップＳＴ１２）、処理を終了する。
【００９６】
ステップＳＴ８およびステップＳＴ１１が肯定された場合は、制御部３は、バンクＢ１から読み出したバンクＢ２についての第１のフラグが消去中であるか否か（すなわち0×3333であるか否か）を判定し（ステップＳＴ１３）、ステップＳＴ１３が肯定されるとバンクＢ２の消去中に電源遮断が生じたと推定されるため、バンクＢ２の消去処理を行う（ステップＳＴ１４）。ステップＳＴ１３が否定されると、バンクＢ２から読み出したバンクＢ１についての第１のフラグが消去中であるか否かを判定し（ステップＳＴ１５）、ステップＳＴ１５が肯定されるとバンクＢ１の消去中に電源遮断が生じたと推定されるため、バンクＢ１の消去処理を行う（ステップＳＴ１６）。なお、ステップＳＴ１５が否定されると、後述するステップＳＴ１７の処理に進む。
【００９７】
図１７はバンクの消去処理のフローチャートである。なお、バンクＢ１，Ｂ２の消去処理は同一の処理であるため、ここではバンクＢ１の消去処理についてのみ説明する。まず、制御部３はバンクＢ１の消去を実行し（ステップＳＴ３１）、消去後に消去エラーがあるか否かを判定する（ステップＳＴ３２）。ステップＳＴ３２が否定されるとステップＳＴ３５に進む。ステップＳＴ３２が肯定されると、上述した消去エラー発生時の処理を行い（ステップＳＴ３３）、バンクＢ１に破損データブロックが存在していると判断する（ステップＳＴ３４）。
【００９８】
次いで、制御部３は、バンクＢ２における第２ブロックＡ２から、バンクＢ１の消去前にバンクＢ１から読み出して書き込んだ、バンクＢ２についての第１および第２のフラグを読み出し（ステップＳＴ３５）、読み出した第１および第２のフラグが正常であるか否かを判定する（ステップＳＴ３６）。ステップＳＴ３６が否定されると、バンクＢ２の第２予備ブロックＳ２にバンクＢ２についての第１および第２のフラグが書き込まれているか否かを判定し（ステップＳＴ３７）、ステップＳＴ３７が肯定されると、第２予備ブロックＳ２から第１および第２のフラグを読み出し（ステップＳＴ３８）、読み出した第１および第２のフラグが正常であるか否かを判定する（ステップＳＴ３９）。
【００９９】
ステップＳＴ３７およびステップＳＴ３９が否定された場合は、消去時に書き込んだはずのバンクＢ２についての第１および第２のフラグがバンクＢ２に書き込まれておらず、バンクＢ２の状態が分からないことから、致命的なエラーが発生しているとして、制御部３は本実施形態による半導体メモリ装置１を使用するシステムにその旨を通知し（致命的エラーの通知、ステップＳＴ４０）、処理を終了する。
【０１００】
ステップＳＴ３６およびステップＳＴ３９が肯定された場合は、バンクＢ１の第１ブロックＡ１に、読み出したバンクＢ２についての第２のフラグを書き込み（ステップＳＴ４１）、第１のフラグを使用中（0×7777）に設定し（ステップＳＴ４２）、処理を終了する。
【０１０１】
図１６に戻り、ステップＳＴ１４，ＳＴ１６に続いて、制御部３はバンクＢ１，Ｂ２にデータブロックの異常があるか否かを判定する（ステップＳＴ１７）。具体的には、バンクＢ１については、バンクＢ２の第１ブロックＡ１に書き込まれている第２のフラグに、バンクＢ２については、バンクＢ１の第１ブロックＡ１に書き込まれている第２のフラグに、１つでも0×33が設定されているか否かを判定する。ステップＳＴ１７が否定されるとステップＳＴ１９の処理に進む。
【０１０２】
ステップＳＴ１７が肯定されると、制御部３は、破損しているデータブロックが存在すると判断し（ステップＳＴ１８）、データブロックの正常データを検索する（ステップＳＴ１９）。具体的には、バンクＢ１については、バンクＢ２の第１ブロックＡ１に書き込まれている第２のフラグに0×77が設定されているデータブロックのみを検索対象とし、データ書き込み開始フラグおよび終了フラグの双方が書き込まれている最終データがあるか否かを検索する。
【０１０３】
そして正常データがあるか否かを判定し（ステップＳＴ２０）、ステップＳＴ２０が否定されると、正常にデータが書き込まれたデータブロックがないことから、致命的なエラーが発生しているとして、制御部３は本実施形態による半導体メモリ装置１を使用するシステムにその旨を通知し（致命的エラーの通知、ステップＳＴ２１）、処理を終了する。
【０１０４】
ステップＳＴ２０が肯定されると、正常データを読み出し（ステップＳＴ２２）、読み出したデータをシステムに送信し（ステップＳＴ２３）、処理を終了する。
【０１０５】
このように、本実施形態においては、第２のフラグを参照すれば、異常が生じたデータブロックを特定することができるため、そのデータブロックを避けるようにデータの書き込みまたはデータの読み出しを行うことにより、特許文献１に記載された手法のように、他のメモリを設けることなく本実施形態による半導体メモリ装置１の使用を継続することができ、その結果、装置の大型化を防止することができる。
【０１０６】
また、データブロック毎にデータの書き込み開始および書き込み終了を表すフラグを書き込むことにより、そのフラグに基づいてデータブロックにエラーが発生しているか否かを確認することが可能となる。
【０１０７】
また、一方のバンクＢ１を消去する際に、バンクＢ１の第１ブロックＡ１に書き込まれている、バンクＢ２についての第１および第２のフラグを、バンクＢ２の第２ブロックＡ２に書き込み、バンクＢ１の消去終了後、バンクＢ２の第２ブロックＡ２に書き込まれた第２のフラグを、バンクＢ１の第１ブロックＡ１に書き込むことにより、バンクＢ１の消去の際に、バンクＢ１の第１ブロックＡ１に書き込まれたバンクＢ２についての第２のフラグが消失してしまうことを防止できる。
【０１０８】
なお、上記実施形態においては、制御部３が不揮発性メモリ２をバンクＢ１，Ｂ２の２つの領域に分割して管理しているが、３以上の領域に分割して管理するようにしてもよい。
【０１０９】
また、上記実施形態においては、フラグブロックにそれぞれ１つの第１予備ブロックＳ１および第２予備ブロックを設けているが、複数の第１および第２の予備ブロックＳ１，Ｓ２を設けるようにしてもよい。これにより、１つの予備ブロックにエラーが発生しても、さらに他の予備ブロックを使用できることから、フラグブロックにエラーが発生した場合の半導体メモリ装置１の使用を継続することができる度合を高めることができる。
【０１１０】
また、上記実施形態においては、一方のバンクの消去時に、そのバンクの第１ブロックＡ１に書き込まれている第１および第２のフラグを他方のバンクに書き込んでいるが、第２のフラグのみを他方のバンクに書き込むようにしてもよい。
【０１１１】
なお、上記実施形態による半導体メモリ装置は、不揮発性メモリを使用する各種機器に使用することができる。例えば、電話機およびファックスの電話帳、通話履歴および通信履歴を残すためのメモリ、ファックスにおける受信した画像を保存するためのメモリ、孔版印刷機のエラー履歴および所望とする印刷の態様を設定した印刷設定データ等を残すためのメモリ、カーナビゲーションシステムの軌跡データを残すためのメモリ、体重計および血圧計等の健康器具の計測データを残すためのメモリ等に使用することができる。
【図面の簡単な説明】
【０１１２】
【図１】本発明の実施形態による半導体メモリ装置の構成を示す概略ブロック図
【図２】不揮発性メモリの記憶領域の構造を模式的に示す図
【図３Ａ】バンクＢ１，Ｂ２の書き込み状態が不明の場合におけるデータの書き込みおよび消去、並びにフラグの設定を説明するための図（その１）
【図３Ｂ】バンクＢ１，Ｂ２の書き込み状態が不明の場合におけるデータの書き込みおよび消去、並びにフラグの設定を説明するための図（その２）
【図３Ｃ】バンクＢ１，Ｂ２の書き込み状態が不明の場合におけるデータの書き込みおよび消去、並びにフラグの設定を説明するための図（その３）
【図３Ｄ】バンクＢ１，Ｂ２の書き込み状態が不明の場合におけるデータの書き込みおよび消去、並びにフラグの設定を説明するための図（その４）
【図３Ｅ】バンクＢ１，Ｂ２の書き込み状態が不明の場合におけるデータの書き込みおよび消去、並びにフラグの設定を説明するための図（その５）
【図３Ｆ】バンクＢ１，Ｂ２の書き込み状態が不明の場合におけるデータの書き込みおよび消去、並びにフラグの設定を説明するための図（その６）
【図４Ａ】データブロックにデータが正常に書き込まれる場合におけるフラグの書き込みを説明するための図（その１）
【図４Ｂ】データブロックにデータが正常に書き込まれる場合におけるフラグの書き込みを説明するための図（その２）
【図４Ｃ】データブロックにデータが正常に書き込まれる場合におけるフラグの書き込みを説明するための図（その３）
【図５Ａ】バンクＢ２のデータの消去時にエラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図５Ｂ】バンクＢ２のデータの消去時にエラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図５Ｃ】バンクＢ２のデータの消去時にエラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図５Ｄ】バンクＢ２のデータの消去時にエラーが発生した場合におけるフラグの書き込みを説明するための図（その４）
【図５Ｅ】バンクＢ２のデータの消去時にエラーが発生した場合におけるフラグの書き込みを説明するための図（その５）
【図５Ｆ】バンクＢ２のデータの消去時にエラーが発生した場合におけるフラグの書き込みを説明するための図（その６）
【図６Ａ】データブロックへのデータの書き込み時にエラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図６Ｂ】データブロックへのデータの書き込み時にエラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図６Ｃ】データブロックへのデータの書き込み時にエラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図７Ａ】データブロックへのデータの書き込み時において終了フラグの書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図７Ｂ】データブロックへのデータの書き込み時において終了フラグの書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図７Ｃ】データブロックへのデータの書き込み時において終了フラグの書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図７Ｄ】データブロックへのデータの書き込み時において終了フラグの書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その４）
【図７Ｅ】データブロックへのデータの書き込み時において終了フラグの書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その５）
【図８Ａ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図８Ｂ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図８Ｃ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図８Ｄ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その４）
【図８Ｅ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その５）
【図９Ａ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別不可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図９Ｂ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別不可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図９Ｃ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別不可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図９Ｄ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別不可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その４）
【図９Ｅ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別不可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その５）
【図９Ｆ】バンクＢ２のデータの消去時に第１ブロックＡ１に判別不可能な消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その６）
【図１０Ａ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図１０Ｂ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図１０Ｃ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図１０Ｄ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その４）
【図１１Ａ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図１１Ｂ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図１１Ｃ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図１１Ｄ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その４）
【図１１Ｅ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その５）
【図１１Ｆ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その６）
【図１１Ｇ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その７）
【図１１Ｈ】バンクＢ２のデータの消去完了後、バンクＢ２の第１ブロックＡ１にフラグを書き込む際に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その８）
【図１２Ａ】バンクＢ２のデータの消去時に第２ブロックＡ２に消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図１２Ｂ】バンクＢ２のデータの消去時に第２ブロックＡ２に消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図１２Ｃ】バンクＢ２のデータの消去時に第２ブロックＡ２に消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図１２Ｄ】バンクＢ２のデータの消去時に第２ブロックＡ２に消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その４）
【図１２Ｅ】バンクＢ２のデータの消去時に第２ブロックＡ２に消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その５）
【図１２Ｆ】バンクＢ２のデータの消去時に第２ブロックＡ２に消去エラーが発生した場合におけるフラグの書き込みを説明するための図（その６）
【図１３Ａ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図１３Ｂ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図１３Ｃ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図１３Ｄ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その４）
【図１３Ｅ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その５）
【図１３Ｆ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その６）
【図１３Ｇ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その７）
【図１４Ａ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その１）
【図１４Ｂ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その２）
【図１４Ｃ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その３）
【図１４Ｄ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その４）
【図１４Ｅ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その５）
【図１４Ｆ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その６）
【図１４Ｇ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その７）
【図１４Ｈ】バンクＢ２のデータの消去時にバンクＢ１の第２ブロックＡ２に判別不可能な書き込みエラーが発生した場合におけるフラグの書き込みを説明するための図（その８）
【図１５】本実施形態において、電源遮断が生じた後の電源オン時に行われる処理を示すフローチャート（その１）
【図１６】本実施形態において、電源遮断が生じた後の電源オン時に行われる処理を示すフローチャート（その２）
【図１７】バンクの消去処理のフローチャート
【符号の説明】
【０１１３】
１      半導体メモリ装置
２    不揮発性メモリ
３    制御部
４    インターフェース
【図１】
2010061257.tif 000003
【図２】
2010061257.tif 000004
【図３Ａ】
2010061257.tif 000005
【図３Ｂ】
2010061257.tif 000006
【図３Ｃ】
2010061257.tif 000007
【図３Ｄ】
2010061257.tif 000008
【図３Ｅ】
2010061257.tif 000009
【図３Ｆ】
2010061257.tif 000010
【図４Ａ】
2010061257.tif 000011
【図４Ｂ】
2010061257.tif 000012
【図４Ｃ】
2010061257.tif 000013
【図５Ａ】
2010061257.tif 000014
【図５Ｂ】
2010061257.tif 000015
【図５Ｃ】
2010061257.tif 000016
【図５Ｄ】
2010061257.tif 000017
【図５Ｅ】
2010061257.tif 000018
【図５Ｆ】
2010061257.tif 000019
【図６Ａ】
2010061257.tif 000020
【図６Ｂ】
2010061257.tif 000021
【図６Ｃ】
2010061257.tif 000022
【図７Ａ】
2010061257.tif 000023
【図７Ｂ】
2010061257.tif 000024
【図７Ｃ】
2010061257.tif 000025
【図７Ｄ】
2010061257.tif 000026
【図７Ｅ】
2010061257.tif 000027
【図８Ａ】
2010061257.tif 000028
【図８Ｂ】
2010061257.tif 000029
【図８Ｃ】
2010061257.tif 000030
【図８Ｄ】
2010061257.tif 000031
【図８Ｅ】
2010061257.tif 000032
【図９Ａ】
2010061257.tif 000033
【図９Ｂ】
2010061257.tif 000034
【図９Ｃ】
2010061257.tif 000035
【図９Ｄ】
2010061257.tif 000036
【図９Ｅ】
2010061257.tif 000037
【図９Ｆ】
2010061257.tif 000038
【図１０Ａ】
2010061257.tif 000039
【図１０Ｂ】
2010061257.tif 000040
【図１０Ｃ】
2010061257.tif 000041
【図１０Ｄ】
2010061257.tif 000042
【図１１Ａ】
2010061257.tif 000043
【図１１Ｂ】
2010061257.tif 000044
【図１１Ｃ】
2010061257.tif 000045
【図１１Ｄ】
2010061257.tif 000046
【図１１Ｅ】
2010061257.tif 000047
【図１１Ｆ】
2010061257.tif 000048
【図１１Ｇ】
2010061257.tif 000049
【図１１Ｈ】
2010061257.tif 000050
【図１２Ａ】
2010061257.tif 000051
【図１２Ｂ】
2010061257.tif 000052
【図１２Ｃ】
2010061257.tif 000053
【図１２Ｄ】
2010061257.tif 000054
【図１２Ｅ】
2010061257.tif 000055
【図１２Ｆ】
2010061257.tif 000056
【図１３Ａ】
2010061257.tif 000057
【図１３Ｂ】
2010061257.tif 000058
【図１３Ｃ】
2010061257.tif 000059
【図１３Ｄ】
2010061257.tif 000060
【図１３Ｅ】
2010061257.tif 000061
【図１３Ｆ】
2010061257.tif 000062
【図１３Ｇ】
2010061257.tif 000063
【図１４Ａ】
2010061257.tif 000064
【図１４Ｂ】
2010061257.tif 000065
【図１４Ｃ】
2010061257.tif 000066
【図１４Ｄ】
2010061257.tif 000067
【図１４Ｅ】
2010061257.tif 000068
【図１４Ｆ】
2010061257.tif 000069
【図１４Ｇ】
2010061257.tif 000070
【図１４Ｈ】
2010061257.tif 000071
【図１５】
2010061257.tif 000072
【図１６】
2010061257.tif 000073
【図１７】
2010061257.tif 000074