(57)【要約】【課題】電源異常時から必要なデータの保存完了までの動作時間の短縮を図ることを課題とする。【解決手段】記憶装置６では、マイクロプロセッサ１１が、電源異常を検出したときに、ＳＤＲＡＭ１４に記憶された管理情報の少なくとも一部（論理・物理変換テーブル１４２における論理・物理変換テーブル２０２との差分情報）を、高速な書き込みが可能な不揮発性メモリであるＭＲＡＭ１５に論理・物理変換テーブル差分情報１５２として書き込み、その後のＳＤＲＡＭ１４の復旧時に、必要に応じて、ＭＲＡＭ１５に書き込んだ管理情報を用いて、ＳＤＲＡＭ１４が記憶する管理情報を補正する。【選択図】図１
2010086009.tif 000002
【特許請求の範囲】
【請求項１】
記憶領域に対するデータの書き込みを所定の単位で行うと共に、その所定の単位よりデータ量が大きな物理ブロックの単位でデータの消去を行う不揮発性半導体メモリと、
外部のホスト装置からの指示に従い、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、
を具備する記憶装置であって、
前記メモリ制御部は、
前記不揮発性半導体メモリについての管理情報を記憶する揮発性メモリと、
前記揮発性メモリに記憶された前記管理情報に基づいて、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御する演算部と、
前記不揮発性半導体メモリに比べ高速アクセスが可能な不揮発性メモリと、
を有し、
前記演算部は、
前記記憶装置内の電源異常を検出したとき、あるいは、前記ホスト装置から所定のコマンドを受信したとき、前記揮発性メモリに記憶された前記管理情報の少なくとも一部を前記不揮発性メモリに書き込み、
復旧時に、前記不揮発性メモリに書き込んだ前記管理情報を用いて、前記揮発性メモリが記憶する前記管理情報を補正する
ことを特徴とする記憶装置。
【請求項２】
前記揮発性メモリが記憶する前記管理情報は、前記不揮発性半導体メモリの論理アドレスと物理アドレスとの対応情報を格納した論理・物理変換テーブルを含み、
前記論理・物理変換テーブルは、前記不揮発性半導体メモリにも記憶されており、
前記演算部は、
前記記憶装置内の電源異常を検出したとき、あるいは、前記ホスト装置から所定のコマンドを受信したとき、前記揮発性メモリに記憶された前記論理・物理変換テーブルの情報のうち、前記不揮発性半導体メモリに記憶された前記論理・物理変換テーブルの情報との差分情報を前記不揮発性メモリに書き込む
ことを特徴とする請求項１に記載の記憶装置。
【請求項３】
前記演算部は、
前記差分情報を前記不揮発性メモリに書き込むとともに、前記不揮発性メモリに書き込んだ前記差分情報を前記揮発性メモリの復旧時に使用すべきことを、前記不揮発性半導体メモリに対して書き込む
ことを特徴とする請求項２に記載の記憶装置。
【請求項４】
記憶領域に対するデータの書き込みを所定の単位で行うと共に、その所定の単位よりデータ量が大きな物理ブロックの単位でデータの消去を行う不揮発性半導体メモリと、
外部のホスト装置からの指示に従い、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、
を具備する記憶装置によるメモリ制御方法であって、
前記メモリ制御部は、
前記不揮発性半導体メモリについての管理情報を記憶する揮発性メモリと、
前記揮発性メモリに記憶された前記管理情報に基づいて、前記不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御する演算部と、
前記不揮発性半導体メモリに比べ高速アクセスが可能な不揮発性メモリと、
を有しており、
前記演算部は、
前記記憶装置内の電源異常を検出したとき、あるいは、前記ホスト装置から所定のコマンドを受信したとき、前記揮発性メモリに記憶された前記管理情報の少なくとも一部を前記不揮発性メモリに書き込み、
復旧時に、前記不揮発性メモリに書き込んだ前記管理情報を用いて、前記揮発性メモリが記憶する前記管理情報を補正する
ことを特徴とするメモリ制御方法。
【請求項５】
前記揮発性メモリが記憶する前記管理情報は、前記不揮発性半導体メモリの論理アドレスと物理アドレスとの対応情報を格納した論理・物理変換テーブルを含み、
前記論理・物理変換テーブルは、前記不揮発性半導体メモリにも記憶されており、
前記演算部は、
前記記憶装置内の電源異常を検出したとき、あるいは、前記ホスト装置から所定のコマンドを受信したとき、前記揮発性メモリに記憶された前記論理・物理変換テーブルの情報のうち、前記不揮発性半導体メモリに記憶された前記論理・物理変換テーブルの情報との差分情報を前記不揮発性メモリに書き込む
ことを特徴とする請求項４に記載のメモリ制御方法。
【請求項６】
前記演算部は、
前記差分情報を前記不揮発性メモリに書き込むとともに、前記不揮発性メモリに書き込んだ前記差分情報を前記揮発性メモリの復旧時に使用すべきことを、前記不揮発性半導体メモリに対して書き込む
ことを特徴とする請求項５に記載のメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体メモリを用いた記憶装置における電源異常（突然の電力供給停止など）対策の技術に関する。
【背景技術】
【０００２】
近年、情報機器の補助記憶装置として、磁気ディスク記憶装置のほかに、耐振性やアクセス速度の面で優れた半導体メモリを記憶媒体とする記憶装置が用いられるようになってきている。その中で、特に、電気的に消去可能で再書き込み可能な不揮発性半導体メモリ（例えば、フラッシュメモリなどのＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory））を用いたものが、情報機器の補助記憶装置の主流となってきている。
【０００３】
また、一般に、記憶装置は、電源異常が発生した場合でも、その後、正常にデータ復旧できることが望まれる。例えば、特許文献１では、駆動電圧に異常が発生した場合、キャパシタ電源により電力を供給し、バッファメモリに蓄積された全データをフラッシュメモリに書き込む技術が開示されている。
【特許文献１】特開２００７−２５７５４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、フラッシュメモリなどの不揮発性半導体メモリの多くは、データの書き込みに数百マイクロ秒程度の時間がかかる。そのため、特許文献１の技術を含めた従来技術では、電源異常時に必要なデータを保存できない場合が生じるなどの問題があり、電源異常対策が充分とは言えなかった。
【０００５】
そこで、本発明は、前記問題に鑑みてなされたものであり、電源異常時から必要なデータの保存完了までの動作時間の短縮を図ることを課題とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明は、記憶領域に対するデータの書き込みを所定の単位で行うと共に、その所定の単位よりデータ量が大きな物理ブロックの単位でデータの消去を行う不揮発性半導体メモリと、外部のホスト装置からの指示に従い、不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、を具備する記憶装置である。メモリ制御部は、不揮発性半導体メモリについての管理情報を記憶する揮発性メモリと、揮発性メモリに記憶された管理情報に基づいて、不揮発性半導体メモリに対するデータの書き込みおよび読み出しを制御する演算部と、不揮発性半導体メモリに比べ高速アクセスが可能な不揮発性メモリと、を有する。このような機能を有する不揮発性メモリとしては、例えば、磁気あるいは強誘電体を利用した記憶媒体である不揮発性メモリを用いることができる。そして、演算部は、記憶装置内の電源異常を検出したとき、あるいは、ホスト装置から所定のコマンドを受信したとき、揮発性メモリに記憶された管理情報の少なくとも一部を不揮発性メモリに書き込み、復旧時に、不揮発性メモリに書き込んだ管理情報を用いて、揮発性メモリが記憶する管理情報を補正する。その他の手段については後記する。
【発明の効果】
【０００７】
本発明によれば、電源異常時から必要なデータの保存完了までの動作時間の短縮を図ることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明を実施するための最良の形態（以下、実施形態という。）について、図面を参照（言及図以外の図も適宜参照）しながら説明する。図１は、本実施形態の記憶装置のハードウェア構成を含む説明図である。
【０００９】
図１に示すように、記憶装置６は、ホスト装置３からの指示に基づいてデータの記憶を行う装置であり、ホスト装置３とデータバス４を介してアクセス可能に接続される。データバス４としては、例えばＳＣＳＩ（Small Computer System Interface）やＡＴＡ（Advanced Technology Attachment）などが用いられるが、ＵＳＢ（Universal Serial Bus）などの他のデータバスであってもよい。
【００１０】
記憶装置６は、メモリ制御部１、フラッシュメモリ２、および、電圧センサ７を備えている。フラッシュメモリ２とメモリ制御部１とのデータのやり取りは、データバス５を介して行われる。
【００１１】
メモリ制御部１は、マイクロプロセッサ１１（演算部）、メモリＩ／Ｆ（インターフェース）制御部１２、ホストＩ／Ｆ制御部１３、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）１４、ＭＲＡＭ（Magneto-resistive Random Access Memory）１５（不揮発性メモリ）、および、センサＩ／Ｆ制御部１６を備えている。
【００１２】
マイクロプロセッサ１１は、ホスト装置３からの指示に従い、フラッシュメモリ２に対するデータの書き込みおよび読み出しを制御する。
【００１３】
メモリＩ／Ｆ制御部１２は、マイクロプロセッサ１１からの指示によりフラッシュメモリ２とのアクセス制御を行う。なお、マイクロプロセッサ１１からフラッシュメモリ２を直接制御可能であれば、メモリＩ／Ｆ制御部１２は必ずしも必要ではない。
【００１４】
ホストＩ／Ｆ制御部１３は、ホスト装置３からのデータの書き込みおよび読み出し要求（指示）に従って、ホスト装置３とのデータの送受信を制御する。なお、ホスト装置３からのデータの書き込みおよび読み出し要求は、フラッシュメモリ２に関して構築される論理的記憶領域（詳細は後記）に対して行われる。
【００１５】
ＳＤＲＡＭ１４は、揮発性（電力供給がなくなるとデータが消える性質）の半導体メモリであり、マイクロプロセッサ１１の作業領域である。ＳＤＲＡＭ１４は、フラッシュメモリ２の管理情報として、格納情報１４１、論理・物理変換テーブル１４２、データブロック情報１４３、交替ブロック情報１４４、消去待ちブロック情報１４５、消去回数情報１４６、および、不良ブロック情報１４７を記憶している。なお、メモリ１４内の各情報は、マイクロプロセッサ１１が記憶装置６の電源オン時にフラッシュメモリ２のデータを読み出すことにより、構築される。
【００１６】
格納情報１４１は、フラッシュメモリ２において論理・物理変換テーブル２０２と消去回数情報２０６を格納しているブロックがどのブロックであるかを示したブロック番号の情報である。なお、フラッシュメモリ２では、データの書き込みと読み出しはページ単位（所定の単位）で行なわれ、データの消去は複数ページからなるブロック単位で行われる。また、ブロックには、すでにデータが格納されているデータブロック、データが未格納で待機中の交替ブロック、データの消去を待っている状態の消去待ちブロックがある（詳細は後記）。
【００１７】
論理・物理変換テーブル１４２は、ホスト装置３からのアクセス時に示される論理アドレスとフラッシュメモリ２上の物理アドレス（ブロック番号とページ番号）との対応情報を格納するテーブルである（詳細は図４で後記）。
【００１８】
データブロック情報１４３は、フラッシュメモリ２のデータブロックを例えばキュー（先入れ先出しのデータ構造）として記憶する情報である。
交替ブロック情報１４４は、フラッシュメモリ２の交替ブロックを例えばキューとして記憶する情報である。
消去待ちブロック情報１４５は、フラッシュメモリ２の消去待ちブロックを例えばキューとして記憶する情報である。
なお、データブロック情報１４３、交替ブロック情報１４４、および、消去待ちブロック情報１４５は、キューとしてではなく、テーブルなどの他の形式で記憶してもよい。
【００１９】
消去回数情報１４６は、フラッシュメモリ２のブロックごとの消去回数の情報である。
不良ブロック情報１４７は、書き込み禁止の不良ブロックのアドレス（ブロック番号）の情報である。なお、この不良ブロック情報１４７として、フラッシュメモリ２の製造時から存在する先天性の不良ブロックの情報と、フラッシュメモリ２の使用中に発生した後天性の不良ブロックの情報とが別々に記憶されていてもよい。
【００２０】
また、ＳＤＲＡＭ１４は、上記の各情報のほかに、ブロックごとに次回の書き込みページを管理するためのテーブルなどを有していてもよいが、それらは本発明の特徴と直接関係がないので、図示や詳細な説明を省略する。
【００２１】
ＭＲＡＭ１５は、磁気によってデータを記憶する不揮発性（電力供給がなくなってもデータが消えない性質）のメモリであり、定期的、あるいは、電源異常（例えば電源電圧低下）などの緊急時に、ＳＤＲＡＭ１４内の情報の少なくとも一部を格納するための手段である。ＭＲＡＭ１５は、格納情報１５１、論理・物理変換テーブル差分情報１５２、消去待ちブロック情報１５５、消去回数差分情報１５６、および、不良ブロック情報１５７を記憶している。なお、これらの各情報の符号の１の位の数字（例えば「１５２」の「２」）は、それぞれ対応するＳＤＲＡＭ１４内の情報の符号の１の位の数字（例えば「１４２」の「２」）と整合をとったものである。
【００２２】
格納情報１５１は、格納情報１４１と同一の情報である。
論理・物理変換テーブル差分情報１５２は、論理・物理変換テーブル１４２の内容のうち、フラッシュメモリ２の論理・物理変換テーブル２０２の内容と異なる部分（差分）の情報である（詳細は図５で後記）。
【００２３】
消去待ちブロック情報１５５は、消去待ちブロック情報１４５と同一の情報である。
消去回数差分情報１５６は、消去回数情報１４６の内容のうち、フラッシュメモリ２の消去回数情報２０６の内容と異なる部分（差分）の情報である。
不良ブロック情報１４７は、不良ブロック情報１５７と同一の情報である。
【００２４】
フラッシュメモリ２は、不揮発性の半導体メモリであり、ホスト装置３からの指示に従ってメモリ制御部１がデータの書き込みおよび読み出しを制御する対象の記憶媒体である。フラッシュメモリ２は、格納情報２０１、論理・物理変換テーブル２０２、消去回数情報２０６、不良ブロック情報２０７、および、オリジナルデータ２０８を記憶している。なお、これらの各情報の符号の１の位の数字（例えば「２０６」の「６」）は、それぞれ対応するＳＤＲＡＭ１４内の情報の符号の１の位の数字（例えば「１４６」の「６」）と整合をとったものである。
【００２５】
格納情報２０１、論理・物理変換テーブル２０２、消去回数情報２０６、および、不良ブロック情報２０７としては、マイクロプロセッサ１１によって定期的に、ＳＤＲＡＭ１４内の格納情報１４１、論理・物理変換テーブル１４２、消去回数情報１４６、および、不良ブロック情報１４７のそれぞれの情報が格納される。
【００２６】
オリジナルデータ２０８は、ホスト装置３からの指示に従ってメモリ制御部１がフラッシュメモリ２に対して書き込みおよび読み出しを行うデータ（実データ）である。
【００２７】
センサＩ／Ｆ制御部１６は、マイクロプロセッサ１１からの指示により電圧センサ７とのアクセス制御を行う。
電圧センサ７は、記憶装置６内の電圧値を検出し、その検出値をセンサＩ／Ｆ制御部１６に送信する。
【００２８】
図２は、本実施形態の半導体メモリの内部構成を示した図である。図２では、フラッシュメモリ２に関する論理的記憶領域を示している。図１に示したホスト装置３は、記憶装置６に関して、この論理的記憶領域を認識する。
【００２９】
ブロック２１は、データ消去の最小単位である。ページ２１１は、データの読み出しおよび書き込みの単位である。図２において、フラッシュメモリ２の論理的記憶領域は、複数のブロック２１で構成されており、ブロック２１は複数のページ２１１により構成されている。すなわち、フラッシュメモリ２の論理的記憶領域は、ブロック１からブロックｍ（整数）までのｍ個の各ブロック２１を有し、それぞれのブロックは、ページ１からページｎ（整数）までのｎ個のページを有している。
【００３０】
図３は、メモリ制御部の制御によりフラッシュメモリに関して構築される論理的記憶領域を示した図である。
フラッシュメモリ２に関する論理的記憶領域として、データブロック２２と交替ブロック２３がある。
データブロック２２は、データを記憶する一つあるいは複数のブロックからなるブロックであり、ブロック１からブロックｐ（整数）までの論理ブロックを有している。各ブロックは、図示のようにデータページ２２２と交替ページ２２３で構成されている。
【００３１】
データページ２２２は、ページ１からページｑ（整数）までのデータを保持するページを有していて、交替ページ２２３は、ページ（ｑ＋１）からページｎ（整数）までを有している。この交替ページ２２３は、消去済みの再書込み可能なページである。
【００３２】
また、交替ブロック２３は、ブロック（ｐ＋１）からブロックｍ（整数）までの消去済みの交替用のブロックであり、各ブロックは、ページ１からページｎ（整数）までの消去済みページ２３２で構成されている。
【００３３】
ここで、データページ２２２は、ユーザがホスト装置３からの指示に従いデータを読み書きすることができる領域である。このデータページ２２２には、フラッシュメモリ２の制約上から上書きができないため、メモリ制御部１の制御による上書き処理後の上書きデータは交替ページ２２３に記憶される。
【００３４】
そして、交替ページ２２３に記憶できないときは、新たに交替ブロック２３を割り当て、書き込みをする。このとき、上書き処理後の有効部分である、交替ページ２２３の上書きデータおよびデータページ２２２の非上書きデータを交替ブロック２３に書き写して交替させる。さらに、交替後の交替ページ２２３およびデータページ２２２はデータ消去して交替ブロック２３の候補とする。
【００３５】
なお、図３における「ｐ」および「ｑ」の値は、本実施形態では記憶装置６の製造時に初期値として設定するものである。この「ｐ」および「ｑ」の値の設定方法については、特に限定しないが、予め設定しておくほかに、マイクロプロセッサ１１へデバッガを接続して設定するようにしてもよい。また、ホスト装置３から予め決められたコマンドを発行して設定してもよい。また、「ｐ」および「ｑ」の値を可変としてテーブル管理することも可能であるが、本実施形態では説明を容易にするため、固定値として扱う。
【００３６】
図４は、論理・物理変換テーブルの構成例を示した図である。論理・物理変換テーブル１４２は、ホスト装置３からのアクセス時に示される論理アドレスと、フラッシュメモリ２の物理アドレス（ブロック番号およびページ番号）と、未反映フラグの各項目から構成される。未反映フラグは、論理・物理変換テーブル１４２の論理アドレスと物理アドレスの対応情報のうち、論理・物理変換テーブル２０２にまだ反映していない情報に対して立てられるフラグである。
【００３７】
これらの各項目のうち、論理アドレスの値は原則として初期設定状態から不変であるが、物理アドレスと未反映フラグはメモリ制御部１によるフラッシュメモリ２に対する書き込み動作などに応じてマイクロプロセッサ１１によって書き換えられる。
【００３８】
図５は、論理・物理変換テーブル差分情報の構成例を示した図である。前記したように、論理・物理変換テーブル差分情報１５２は、論理・物理変換テーブル１４２の内容のうち、フラッシュメモリ２の論理・物理変換テーブル２０２の内容と異なる部分（差分）の情報であり、具体的には、論理・物理変換テーブル１４２において未反映フラグが立てられている論理アドレスと物理アドレスの対応情報の集合である。
【００３９】
次に、図６を参照して、フラッシュメモリ２に対する書き込み処理について説明する。図６は、フラッシュメモリに対する書き込み処理を示したフローチャートである。なお、メモリＩ／Ｆ制御部１２とホストＩ／Ｆ制御部１３とセンサＩ／Ｆ制御部１６の動作については説明を省略する。
【００４０】
まず、マイクロプロセッサ１１は、ホスト装置３から書き込み指示（論理アドレス、データおよびデータサイズの送信）があったか否かを判定する（ステップＳ６０１）。書き込み指示がない場合（ステップＳ６０１でＮｏ）、ステップＳ６０８に進む。
【００４１】
書き込み指示があった場合（ステップＳ６０１でＹｅｓ）、マイクロプロセッサ１１は、ＳＤＲＡＭ１４の各情報（格納情報１４１、論理・物理変換テーブル１４２、データブロック情報１４３および交替ブロック情報１４４）を参照してフラッシュメモリ２へのデータの書き込みを開始する（ステップＳ６０２）。なお、ステップＳ６０２において、マイクロプロセッサ１１は、特定した各ブロック内のページの空き容量が十分であるかの確認や、その空き容量が十分でない場合に書き込み対象を別のブロックとするブロック交替処理や、書き込みエラーにともなうブロック交替処理などを行うが、それらの詳細な説明は省略する。
【００４２】
続いて、マイクロプロセッサ１１は、電源異常を検出したか否か、つまり、電圧センサ７から定期的に受信する電圧値が所定値よりも低いか否かを判定する（ステップＳ６０３）。
【００４３】
電源異常を検出しなかったと判定した場合（ステップＳ６０３でＮｏ）、マイクロプロセッサ１１は、ステップＳ６０２で開始したフラッシュメモリ２へのデータの書き込みが完了したか否かを判定し（ステップＳ６０６）、完了していないと判定した場合（Ｎｏ）ステップＳ６０３に戻る。なお、このステップＳ６０６の判定は、例えば、所定のテーブル（情報）やフラグ（不図示）を使用することにより行うことができる。
【００４４】
完了したと判定した場合（ステップＳ６０６でＹｅｓ）、マイクロプロセッサ１１は、ＳＤＲＡＭ１４の各情報（格納情報１４１〜不良ブロック情報１４７）を更新し（ステップＳ６０７）、電源異常を検出したか否かを判定する（ステップＳ６０８）。
【００４５】
電源異常を検出したと判定した場合（ステップＳ６０８でＹｅｓ）、ステップＳ６０５に進む（ステップＳ６０５の処理については後記）。
電源異常を検出しなかったと判定した場合（ステップＳ６０８でＮｏ）、マイクロプロセッサ１１は、定期的なバックアップのタイミングが到来したか否かを判定し（ステップＳ６０９）、到来していないと判定した場合（Ｎｏ）、ステップＳ６０１に戻る。
【００４６】
定期的なバックアップのタイミングが到来したと判定した場合（ステップＳ６０９でＹｅｓ）、マイクロプロセッサ１１は、ＳＤＲＡＭ１４の各情報（格納情報１４１、論理・物理変換テーブル１４２、消去回数情報１４６、および、不良ブロック情報１４７）を、それぞれ、フラッシュメモリ２の格納情報２０１、論理・物理変換テーブル２０２、消去回数情報２０６、および、不良ブロック情報２０７に反映させ（データ保存し）、処理を終了する。
【００４７】
電源異常を検出したと判定した場合（ステップＳ６０３でＹｅｓ）、マイクロプロセッサ１１は、フラッシュメモリ２に緊急停止を通知する（ステップＳ６０４）。つまり、その後のＳＤＲＡＭ１４の復旧時にフラッシュメモリ２の論理・物理変換テーブル２０２の情報をそのままでは使用できない（論理・物理変換テーブル差分情報１５２の情報を合わせて使用しなければならない）旨をフラッシュメモリ２に書き込む。この書き込みにより、ＳＤＲＡＭ１４の復旧時に、マイクロプロセッサ１１は、フラッシュメモリ２の論理・物理変換テーブル２０２の情報をそのままでは使用できないことを認識できる。
【００４８】
次に、マイクロプロセッサ１１は、ＭＲＡＭ１５の論理・物理変換テーブル差分情報１５２を更新する、つまり、論理・物理変換テーブル１４２において未反映フラグの立っている論理アドレスと物理アドレスの対応情報を論理・物理変換テーブル差分情報１５２に書き込み（ステップＳ６０５）、処理を終了する。
【００４９】
このように、ステップＳ６０５において、フラッシュメモリ２よりも高速な書き込みが可能なＭＲＡＭ１５に論理・物理変換テーブル差分情報１５２を書き込むことで、電源異常時から必要なデータ（論理・物理変換テーブル差分情報１５２）の保存完了までの動作時間の短縮を図ることができる。
【００５０】
次に、図７を参照して、ＳＤＲＡＭ１４の復旧処理について説明する。図７は、ＳＤＲＡＭの復旧処理を示したフローチャートである。なお、メモリＩ／Ｆ制御部１２の動作については説明を省略する。
【００５１】
電源異常発生後にＳＤＲＡＭ１４を復旧する場合、まず、マイクロプロセッサ１１は、フラッシュメモリ２から論理・物理変換テーブル２０２と消去回数情報２０６をＳＤＲＡＭ１４上に読み出して、それぞれ、論理・物理変換テーブル１４２と消去回数情報１４６とする（ステップＳ７１）。
【００５２】
次に、マイクロプロセッサ１１は、ＭＲＡＭ１５の論理・物理変換テーブル差分情報１５２としてデータがあるか否かを判定し（ステップＳ７２）、当該データがなければ（Ｎｏ）処理を終了し、当該データがあれば（Ｙｅｓ）ステップＳ７３に進む。
【００５３】
ステップＳ７３において、マイクロプロセッサ１１は、ＭＲＡＭ１５の各情報（論理・物理変換テーブル差分情報１５２、消去待ちブロック情報１５５および消去回数差分情報１５６）を読み出して、ＳＤＲＡＭ１４の各情報（論理・物理変換テーブル１４２、消去待ちブロック情報１４５および消去回数情報１４６）を復旧する。
【００５４】
続いて、マイクロプロセッサ１１は、ＳＤＲＡＭ１４の各情報（格納情報１４１、論理・物理変換テーブル１４２、消去回数情報１４６、および、不良ブロック情報１４７）を、それぞれ、フラッシュメモリ２の格納情報２０１、論理・物理変換テーブル２０２、消去回数情報２０６、および、不良ブロック情報２０７に反映させ（データ保存し）、処理を終了する。
【００５５】
このように、本実施形態の記憶装置６によれば、マイクロプロセッサ１１が、電源異常（例えば電源電圧低下）を検出したときに、揮発性メモリであるＳＤＲＡＭ１４に記憶された管理情報の少なくとも一部（論理・物理変換テーブル１４２における論理・物理変換テーブル２０２との差分情報）を、高速な書き込みが可能な不揮発性メモリであるＭＲＡＭ１５に論理・物理変換テーブル差分情報１５２として書き込む。その後、ＳＤＲＡＭ１４の復旧時に、必要に応じて、ＭＲＡＭ１５に書き込んだ管理情報（定期的に書き込んだ格納情報１５１、消去待ちブロック情報１５５、消去回数差分情報１５６および不良ブロック情報１５７と、電源異常検出時に書き込んだ論理・物理変換テーブル差分情報１５２）を用いて、ＳＤＲＡＭ１４が記憶する各管理情報を補正する。これにより、電源異常時から必要なデータである管理情報の保存完了までの動作時間の短縮を図ることができる。また、この迅速な処理により、電源異常時にフラッシュメモリ２に書き込みを行うことによって発生する素子劣化の可能性を低減することができる。
【００５６】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲で実施することができる。
例えば、ＭＲＡＭ１５にデータを退避させるのは、記憶装置６の電圧値が下がったときだけでなく、ホスト装置３から所定のコマンドを受信したときや、ホスト装置３からの定時発信信号を受信しなかったときなどでもよい。
【００５７】
また、記憶装置６にバックアップ電源を備えておき、電圧低下時は、バックアップ電源による電力供給を受けるようにしてもよい。その場合、バックアップ電源は、ＭＲＡＭに書き込みを行う時間を少し引き延ばすことができればよいのでキャパシタなどの小容量のものでよい。
【００５８】
さらに、ＭＲＡＭ１５に故障が発生した際などに、フラッシュメモリ２の全記憶領域をサーチすることによってＳＤＲＡＭ１４の各情報（格納情報１４１〜不良ブロック情報１４７）を復旧するようにしてもよい。
また、ＭＲＡＭ１５の代わりに、強誘電体のヒステリシス（履歴現象）を利用した高速アクセス可能な不揮発性の半導体メモリ（不揮発性メモリ）であるＦｅＲＡＭ(Ferroelectric Random Access Memory)などを用いてもよい。
その他、ハードウェア、ソフトウェアの具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【図面の簡単な説明】
【００５９】
【図１】本実施形態の記憶装置のハードウェア構成を含む説明図である。
【図２】本実施形態の半導体メモリの内部構成を示した図である。
【図３】メモリ制御部の制御によりフラッシュメモリに関して構築される論理的記憶領域を示した図である。
【図４】論理・物理変換テーブルの構成例を示した図である。
【図５】論理・物理変換テーブル差分情報の構成例を示した図である。
【図６】フラッシュメモリに対する書き込み処理を示したフローチャートである。
【図７】ＳＤＲＡＭの復旧処理を示したフローチャートである。
【符号の説明】
【００６０】
１      メモリ制御部
２      フラッシュメモリ（不揮発性半導体メモリ）
３      ホスト装置
４，５，８  データバス
６      記憶装置
７      電圧センサ
１１    マイクロプロセッサ（演算部）
１２    メモリＩ／Ｆ制御部
１３    ホストＩ／Ｆ制御部
１４    ＳＤＲＡＭ（揮発性半導体メモリ）
１５    ＭＲＡＭ（不揮発性メモリ）
１６    センサＩ／Ｆ制御部
【図１】
2010086009.tif 000003
【図２】
2010086009.tif 000004
【図３】
2010086009.tif 000005
【図４】
2010086009.tif 000006
【図５】
2010086009.tif 000007
【図６】
2010086009.tif 000008
【図７】
2010086009.tif 000009