(57)【要約】【課題】  小容量の不揮発性メモリを効率的に利用することで異常電源断からの復元が可能なメモリシステムを提供する。【解決手段】  実施形態に係るメモリシステムは、揮発性メモリを持つ。前記揮発性半導体メモリには、第１の不揮発性メモリが接続される。前記揮発性半導体メモリには、第２の不揮発性メモリが接続される。前記揮発性メモリに最新管理情報を記憶し、前記第１の不揮発性メモリに旧管理情報を記憶し、および前記第２の不揮発性メモリに前記最新管理情報と前記旧管理情報の差分データを記憶するメモリコントローラが設けられる。【選択図】  図１
2012108627.tif 000002
【特許請求の範囲】
【請求項１】
揮発性メモリと、
前記揮発性半導体メモリに接続された第１の不揮発性メモリと、
前記揮発性半導体メモリに接続された第２の不揮発性メモリと、
前記揮発性メモリに最新管理情報を記憶し、前記第１の不揮発性メモリに旧管理情報を記憶し、および前記第２の不揮発性メモリに前記最新管理情報と前記旧管理情報の差分データを記憶するメモリコントローラと、
を備えたメモリシステム。
【請求項２】
前記第２の不揮発性メモリは、前記第１の不揮発性メモリよりレイテンシが小さく、かつ前記揮発性メモリより小容量のものであることを特徴とする請求項１に記載のメモリシステム。
【請求項３】
前記第２の不揮発性メモリは、前記第１の不揮発性メモリより書き換え可能回数が多いものであることを特徴とする請求項１又は請求項２に記載のメモリシステム。
【請求項４】
前記第２の不揮発性メモリが、前記メモリコントローラ内に組み込まれたことを特徴とする請求項１乃至請求項３の何れか１項に記載のメモリシステム。
【請求項５】
前記メモリコントローラは、異常な電源断が発生した場合に、前記旧管理情報と、前記差分データに基づき、前記揮発性メモリ上に前記最新管理情報を復元することを特徴とする請求項１乃至請求項４の何れか１項に記載のメモリシステム。
【請求項６】
前記メモリコントローラは、正常な電源断を行う場合に、前記最新管理情報を前記第１の不揮発性メモリに書き込み、前記差分データを消去することを特徴とする請求項１乃至請求項５の何れか１項に記載のメモリシステム。
【請求項７】
前記メモリコントローラは、前記第２の不揮発性メモリにおいて、前記差分データの直前のアドレスに開始コードを記憶し、前記差分データの直後のアドレスに末端コードを記憶することを特徴とする請求項１乃至請求項６の何れか１項に記載のメモリシステム。
【請求項８】
前記メモリコントローラは、前記差分データを追記する場合に、前記末端コードのアドレスから前記差分データを記憶し、前記差分データの直後のアドレスに新たな末端コードを記憶することを特徴とする請求項７に記載のメモリシステム。
【請求項９】
前記メモリコントローラは、前記差分データを消去する場合に、前記末端コードのアドレスに新たな開始コードを記憶し、前記新たな開始コードの直後のアドレスに新たな末端コードを記憶することを特徴とする請求項７又は請求項８に記載のメモリシステム。
【請求項１０】
前記メモリコントローラは、前記差分データを書き換える場合に、前記末端コードのアドレスに新たな開始コードを記憶し、前記新たな開始コードの直後のアドレスから前記差分データを記憶し、かつ前記差分データの直後のアドレスに新たな末端コードを記憶することを特徴とする請求項７乃至請求項９の何れか１項に記載のメモリシステム。
【請求項１１】
前記メモリコントローラは、前記差分データを読み出す場合において、前記第２の不揮発性メモリの先端アドレスから順にアドレスをインクリメントして読み出しを実行し、前記末端コードよりも先に前記開始コードを読み出した場合に、前記開始コードの直後のアドレスから前記末端コードの直前のアドレスまでのデータを前記差分データとして読み込むことを特徴とする請求項７乃至請求項１０の何れか１項に記載のメモリシステム。
【請求項１２】
前記メモリコントローラは、前記差分データを読み出す場合において、前記第２の不揮発性メモリの先端アドレスから順にアドレスをインクリメントして読み出しを実行し、前記開始コードよりも先に前記末端コードを読み出した場合に、前記先端アドレスから前記末端コードの直前のアドレスまで、および前記開始コードの直後のアドレスから前記第２の不揮発性メモリの末端アドレスまでのデータを管理情報差分データとして読み込むことを特徴とする請求項７乃至請求項１１の何れか１項に記載のメモリシステム。
【請求項１３】
前記メモリコントローラは、前記第２の不揮発性メモリが前記差分データで埋まった場合に、前記最新管理情報を前記第１の不揮発性メモリに書き込み、かつ前記差分データを消去することを特徴とする請求項７乃至請求項１２の何れか１項に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
近年、コンピュータシステムに搭載されるメモリドライブとしてSolid State Drive(ＳＳＤ)の開発が種々行われている。ＳＳＤは不揮発性フラッシュメモリを搭載しており、ハードディスクと比較して高速であり、かつ軽量であるという特徴を持つ。
【０００３】
ＳＳＤに搭載される不揮発性フラッシュメモリ、特にＮＡＮＤ型フラッシュメモリは、信頼性上、書き換え回数が制限されるため、特定の領域に頻繁にデータがアクセスすることを避けるようにしなければならない。そのため、メモリドライブに、ＤＲＡＭ（Dynamic Random Access Memory）等の高速な揮発性ランダムアクセスメモリを搭載し、管理情報等の頻繁にアクセスが行われるデータをＤＲＡＭ上に保存している。このように不揮発性フラッシュメモリへのアクセスを抑制することで、メモリドライブの信頼性を確保している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２１１２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、小容量の不揮発性メモリを効率的に利用することで異常電源断からの復元が可能なメモリシステムを提供する。
【課題を解決するための手段】
【０００６】
実施形態に係るメモリシステムは、揮発性メモリを持つ。前記揮発性半導体メモリには、第１の不揮発性メモリが接続される。前記揮発性半導体メモリには、第２の不揮発性メモリが接続される。前記揮発性メモリに最新管理情報を記憶し、前記第１の不揮発性メモリに旧管理情報を記憶し、および前記第２の不揮発性メモリに前記最新管理情報と前記旧管理情報の差分データを記憶するメモリコントローラが設けられる。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係るメモリシステムの構成を示すブロック図。
【図２】第１の実施形態に係る管理情報についての管理テーブルを示す図。
【図３】第１の実施形態に係る管理情報についての管理情報差分テーブルを示す図。
【図４】第１の実施形態に係る第２の不揮発性メモリにおける保存される情報のデータ形式示す図。
【図５】第１の実施形態に係る第２の不揮発性メモリにおいて管理情報差分データの追記方法を示す図。
【図６】第１の実施形態に係る第２の不揮発性メモリにおいて管理情報差分データの消去方法を示す図。
【図７】第１の実施形態に係る第２の不揮発性メモリにおいて管理情報差分データの書き換え方法を示す図。
【図８】第１の実施形態に係る第２の不揮発性メモリにおいて管理情報差分データの読み出し方法を示すフローチャート。
【図９】第１の実施形態に係る第２の不揮発性メモリにおいて管理情報差分データの読み出し方法を示す図。
【図１０】第２の実施形態に係るメモリシステムの構成を示すブロック図。
【発明を実施するための形態】
【０００８】
メモリドライブがＤＲＡＭ等の揮発性メモリを搭載する場合、事前の通告なしに電源が切れる異常電源断がおこる発生すると、揮発性メモリに保持されていたデータを不揮発性メモリに退避することができず、最新の管理情報等が失われる可能性がある。その結果、揮発性メモリ上に保存されていた管理情報と主記憶領域としての不揮発性メモリ上のデータ又はその管理情報との整合性が取れず、データが修復不可能になる場合がある。
【０００９】
かかる問題を解決するために、比較的高速で小容量の不揮発性メモリに管理情報等を保存し、異常電源断に対応する方法が挙げられる。しかし、この方法では、管理情報本体を小容量の不揮発性メモリに保存することから、当該不揮発性メモリの容量が管理情報により逼迫する可能性があった。
【００１０】
以下、本発明の実施形態について図面を参照しながら説明する。
【００１１】
（第１の実施形態）
図１は、第１の実施形態に係るメモリシステム１の構成を示すブロック図である。第１の実施形態に係るメモリシステム１は、ＳＡＴＡインターフェース等のインターフェース２を介して、コンピュータ又はＣＰＵコア等のホスト装置３と接続され、ホスト装置の外部メモリとして機能するＳＳＤである。メモリシステム１は、インターフェース２、第１の不揮発性メモリ４としてＮＡＮＤ型フラッシュメモリ、揮発性メモリ５としてＤＲＡＭ（Dynamic Random Access Memory）、第２の不揮発性メモリ６として比較的小容量であり、かつ高速の不揮発性メモリ、およびメモリコントローラ７を備えている。インターフェース２は、メモリシステム１とコンピュータ等のホスト装置３との通信時における信号の送受信のプロトコルを定めたものであり、例えばＳＡＴＡ（Serial Advanced Technology Attachment）、ＳＡＳ（Serial Attached SCSI）等のシリアルインターフェースが挙げられる。
【００１２】
第１の不揮発性メモリ４は、コンピュータ等のホスト装置３の主記憶メモリであり、ホスト装置３のユーザデータ８や管理情報等が記録される。第１の不揮発性メモリ４には、例えばＮＡＮＤ型フラッシュメモリが用いられる。管理情報は、図２に示すようなＮＡＮＤ型フラッシュメモリ上の物理アドレスと、ホスト装置３が指定する論理アドレスとを対応づける管理テーブルを含むものである。管理テーブルは、例えば、ＮＡＮＤ型フラッシュメモリのブロックサイズでアラインされている。
【００１３】
図２に、物理アドレスと論理アドレスの対応、およびそれぞれの物理アドレスに対する書き換え回数についてのテーブルを示す。ＮＡＮＤ型フラッシュメモリ上の管理情報は、メモリシステム１の起動時に揮発性メモリ５上に展開される。メモリコントローラ７は、通常動作時において、揮発性メモリ５上に展開された管理情報に基づき、第１の不揮発性メモリ４へのデータ書き込み、及び第１の不揮発性メモリ４からのデータ読み出しを実行する。また、データ書き込みに伴い、揮発性メモリ５に記憶された管理情報は更新されるが、第１の不揮発性メモリ４に記憶された管理情報は必ずしもは最新状態のものに更新されない。その結果として、第１の不揮発性メモリ４に、最新状態でない管理情報（以下、旧管理情報という）が記憶されている状況が生じる。
【００１４】
揮発性メモリ５は、メモリコントローラ７によって第１の不揮発性メモリ４に書き込み又は読み出しをする際に、一時的にデータが格納されるキャッシュメモリであり、また最新状態の管理情報（以下、最新管理情報という）を記憶する役割を持つ。メモリコントローラ７は、第１の不揮発性メモリ４へのデータ書き込みに伴い、揮発性メモリ５に記憶された管理情報を更新する。なお、揮発性メモリ５は、ホスト装置３における最新のユーザデータ８を記憶するものでもよい。
【００１５】
第２の不揮発性メモリ６は、揮発性メモリ５上で管理情報が更新されるとき、その管理情報の更新データ、すなわち揮発性メモリ５に記憶する最新管理情報９と旧管理情報１０との差分データ（以下、管理情報差分データという）を記憶するものである。メモリコントローラ７は、第１の不揮発性メモリ４へのデータ書き込みに伴い、揮発性メモリ５に記憶された管理情報を更新する際に、管理情報差分データ１１を第２の不揮発性メモリ６に記憶する。図３における管理情報差分テーブルが示すように、管理情報差分データ１１は、ＮＡＮＤ型フラッシュメモリ上の物理アドレス、旧論理アドレスおよび新論理アドレス、物理アドレスに対する書き換え回数についてのテーブルを含むものである。旧論理アドレスとは、揮発性メモリ５に記憶される管理情報の更新前における論理アドレスをいい、新論理アドレスとは、管理情報の更新後における論理アドレスをいう。
【００１６】
ここで第２の不揮発性メモリ６の記憶容量は、例えば、第１の不揮発性メモリ４よりも小さい。あるいは、第２の不揮発性メモリ６の記憶容量は、揮発性メモリ５よりも小さい。また、第２の不揮発性メモリ６は、例えば、第１の不揮発性メモリ４よりもレイテンシが小さく、更に、ランダムアクセスが可能である。また、第２の不揮発性メモリ６は、例えば、第１の不揮発性メモリ４よりも書き換え可能回数が多い。また、第２の不揮発性メモリ６は、例えば、第１の不揮発性メモリ４よりも信頼性が高い。
【００１７】
かかるメモリを用いることにより、メモリシステム１の処理速度および信頼性を損なうことなく、異常な電源断に対応することができる。第２の不揮発性メモリ６には、例えばＦｅＲＡＭ（Ferroelectric Random Access Memory）又はＭＲＡＭ（Magnetoresistive  Random Access Memory）が用いられる。本実施形態に係るメモリシステム１では、第１の不揮発性メモリ４として用いられるＮＡＮＤ型フラッシュメモリに、更新回数の多い管理情報差分データ１１を記憶しないことにより、メモリシステム１の信頼性を確保している。
【００１８】
メモリコントローラ７は、第１の不揮発性メモリ４、揮発性メモリ５および第２の不揮発性メモリ６と、インターフェース２を介して接続されたホスト装置３とのデータの送受信について制御するものである。また、メモリコントローラ７は、管理情報の更新、管理情報差分データの記憶、異常電源断からの復元など、後述するメモリシステム１の各動作を制御する。
【００１９】
以下、メモリシステム１の動作について図面を参照しながら説明する。
【００２０】
（管理情報差分データの保存形式）
図４は、第２の不揮発性メモリ６上における管理情報差分データ１１の保存形式を示す図である。有効な管理情報差分データ１１の領域を開始コード１２および末端コード１３によって識別可能にする。開始コード１２および末端コード１３は管理情報差分データ１１および非書き込み領域のパターンと区別可能なように構成する。例えば、冗長ビットを１bit設けることによって開始コード１２および末端コード１３を識別することができる。
【００２１】
特定のアドレスに対して管理情報差分データ１１の書き込みが集中することを防ぐため、本実施形態においては、特定の固定領域に管理情報差分データ１１のアドレスを書き込まずに、第２の不揮発性メモリ６のアドレス空間全体を循環的に使用する方式を採る。かかる方式の場合、管理情報差分データ１１を読み出すときはアドレス空間の先端から末端コード１３までを順に読み出すため、サーチに時間がかかるが、管理情報差分データ１１を読み出す場合は異常電源断後の再起動時のみであり、読み出しの遅さによってメモリシステム１の性能が劣化することはない。
【００２２】
（管理情報差分データの追記方法）
図５を用いて、管理情報差分データ１１の追記方法について説明する。図５（ａ）に、第２の不揮発性メモリ６上に管理情報差分データ１１が書き込まれているアドレス空間を示す。かかる状況において、追記される管理情報差分データ１１を末端コード１３から上書きする。その後、管理情報差分データ１１が全て書き込まれた後、かかるデータの直後のアドレスに新たに末端コード１３が書き込まれる。この場合、追加されるデータは管理情報差分データ１１および新たな末端コード１３のみであるため、第２の不揮発性メモリ６への追記を高速に行うことができる。なお、管理情報差分データ１１が書き込まれていない状態においても同様の方法で追記することができる。
【００２３】
図５（ｂ）のように、管理情報差分データ１１を追記する際に、管理情報差分データ１１の末端がアドレスの終端を超過する場合には、超過分のデータはアドレス空間の先端から順に書き込み、そのデータの直後のアドレスに末端コード１３を書き込む。この場合、末端コード１３は、開始コード１２よりも前のアドレスに書き込まれていることになる。
【００２４】
（管理情報差分データの消去方法）
図６を用いて、管理情報差分データ１１の消去方法について説明する。この消去方法は、例えば、メモリシステム１の正常電源断により第１の不揮発性メモリ４上の管理情報が最新のものに更新され、第２の不揮発性メモリ６上の管理情報差分データ１１が不要になる場合に用いられる。図６に第２の不揮発性メモリ６上に管理情報差分データ１１が書き込まれているアドレス空間を示す。この状態において、開始コード１２に無効なデータ、例えば全て0からなるデータにより上書きし、末端コード１３には、新たに開始コード１２を上書きし、この新たな開始コード１２の直後のアドレスに末端コード１３を書き込む。この状態では、開始コード１２と末端コード１３の間には、管理情報差分データ１１が書き込まれていない。これにより、第２の不揮発性メモリ６を読みだしたとき、管理情報差分データ１１が存在しないものと認識される。この消去方法は、開始コード１２および末端コード１３への上書きと、新たな末端コード１３の書き込みにより行われるため、差分管理情報データの消去を高速に行うことができる。
【００２５】
（管理情報差分データの書き換え方法）
図７を用いて、管理情報差分データ１１の書き換え方法について説明する。この更新方法は、メモリシステム１の正常電源断により第１の不揮発性メモリ４上の管理情報が最新のものに更新され、第２の不揮発性メモリ６上の管理情報差分データ１１が消去されていない状態で新たに差分データを書き込む場合に用いられる。図７に第２の不揮発性メモリ６上に管理情報差分データ１１が書き込まれているアドレス空間を示す。この状態において、開始コード１２には、無効なデータ、例えば全て0からなるデータにより上書きし、末端コード１３には、新たに開始コード１２を上書きし、開始コード１２の直後のアドレスから管理情報差分データ１１を書き込み、その後管理情報差分データ１１の末端に、末端コード１３を書き込む。この書き換え方法によれば、開始コード１２および末端コード１３への上書きと管理情報差分データ１１の書き込みと、新たな末端コード１３の書き込みにより行われるため、差分管理情報データ１１の書き換えを高速に行うことができる。
【００２６】
（管理情報差分データの読み出し方法）
図８に第１の実施形態に係る第２の不揮発性メモリにおいて管理情報差分データ１１の読み出し方法を示すフローチャートを示し、図９に開始コード１２が末端コード１３より前にある場合と後にある場合におけるアドレス空間を示す。以下、図８および図９を用いて、管理情報差分データ１１の読み出し方法を説明する。
【００２７】
まず、メモリコントローラ７は、第２の不揮発性メモリ６のアドレス空間の先端からアドレスをインクリメントし、読み出し動作を行う（Ｓ１０１）。その後、メモリコントローラ７は、読み出したデータが開始コード１２又は末端コード１３か否かを判定する（Ｓ１０２）。
【００２８】
読み出したデータが開始コード１２又は末端コード１３ではない場合、メモリコントローラ７は、再びアドレスをインクリメントし、読み出し動作を行う（Ｓ１０１）。一方、読み出したデータが開始コード１２又は末端コード１３である場合、メモリコントローラ７は、読み出したコードが開始コード１２であるか否かを判定する（Ｓ１０３）。
【００２９】
読み出したコードが開始コード１２である場合、メモリコントローラ７は、アドレスをインクリメントし、読み出し動作を行う（Ｓ１０４）。その後、メモリコントローラ７は、末端コード１３を読み出したか否かを判定する（Ｓ１０５）。末端コード１３を読み出さない場合、メモリコントローラ７は、再びアドレスをインクリメントし、読み出し動作を行う（Ｓ１０４）。末端コード１３を読み出した場合、メモリコントローラ７は、管理情報差分データ１１を、開始コード１２直後のアドレスから末端コード１３直前のアドレスまでのデータとして読み込む（Ｓ１０６）。
【００３０】
読み出したコードが開始コード１２ではない場合、即ち、末端コード１３である場合、メモリコントローラ７は、アドレスをインクリメントし、読み出し動作を行う（Ｓ１０７）。その後、メモリコントローラ７は、アドレス空間の末端まで読み出したか否かを判定する（Ｓ１０８）。アドレス空間の末端まで読み出していない場合、メモリコントローラ７は、再びアドレスをインクリメントし、読み出し動作を行う（Ｓ１０７）。
【００３１】
アドレス空間の末端まで読みだした場合、メモリコントローラ７は、管理情報差分データ１１を、開始コード１２直後のアドレスからアドレス空間の末端までのデータ、およびアドレス空間の先端から末端コード１３直前のアドレスまでのデータとして読み込む（Ｓ１０９）。
【００３２】
図９（ａ）のように、開始コード１２が末端コード１３より前にある場合は、アドレス空間の先端から読み出しを開始し、末端コード１３において読み出しを終了する。このとき、管理情報差分データ１１は、開始コード１２直後のアドレスから末端コード１３直前のアドレスまでのデータとして読み込まれる。
【００３３】
図９（ｂ）のように、開始コード１２が末端コード１３より後にある場合は、アドレス空間の先端から読み出しを開始し、アドレス空間末端において読み出しを終了する。このとき、管理情報差分データ１１は、開始コード１２直後のアドレスからアドレス空間の末端までのデータ、およびアドレス空間の先端から末端コード１３直前のアドレスまでのデータとして読み込まれる。
【００３４】
（第２の不揮発性メモリ６の記憶領域が全て埋まった場合）
第２の不揮発性メモリ６の記憶領域が管理情報差分データ１１により全て埋まった場合には、以下の動作を行う。まず揮発性メモリ５上の最新管理情報９を第１の不揮発性メモリ４に書き込み、第１の不揮発性メモリ４上の管理情報を最新のものにする。その後、第２の不揮発性メモリ６上の管理情報差分データ１１を消去する。これにより、管理情報差分データ１１が、第２の不揮発性メモリ６の記憶領域を確保することができる。なお、第２の不揮発性メモリ６の記憶領域が全て埋まった場合において、第２の不揮発性メモリ６に記憶できない管理情報差分データ１１を第１の不揮発性メモリ４に追記してもよい。
【００３５】
以下、正常な電源断が行われた場合および異常な電源断が発生した場合について説明する。
【００３６】
（正常な電源断が行われる場合）
正常な電源断が行われる場合のメモリシステム１の動作について説明する。正常に電源断を行う際に、揮発性メモリ５上の最新管理情報９を第１の不揮発性メモリ４に書き込み、第１の不揮発性メモリ４上の管理情報を最新のものにする。その後、第２の不揮発性メモリ６上の管理情報差分データ１１を消去する。これにより、第２の不揮発性メモリ６の記憶領域に、管理情報差分データ１１が全て埋まることを防止することができる。次回のメモリシステム１の起動時には、第１の不揮発性メモリ４に記憶された最新の管理情報を揮発性メモリ５に展開する。
【００３７】
なお、正常に電源断を行う際に、必ずしも揮発性メモリ５上の最新管理情報９を第１の不揮発性メモリ４に書き込まなくても良い場合も想定され得る。例えば、管理情報差分データ１１のサイズが小さく、第２の不揮発性メモリ６の記憶領域の容量に余裕がある場合や、起動時に管理情報差分データ１１によって最新の管理情報を復元するために十分な時間が仕様上規定されている場合等である。
【００３８】
（異常な電源断が発生した場合）
上述の正常な電源断が行われず、異常な電源断が発生した場合において、メモリシステム１におけるデータ復元の動作について説明する。異常な電源断が発生した場合、揮発性メモリ５上の最新管理情報９のデータが失われるため、次回のメモリシステム１の起動時に管理情報のデータ復元が行われる。
【００３９】
まず、第１の不揮発性メモリ４上の旧管理情報１０を揮発性メモリ５に読み込む。その後、第２の不揮発性メモリ６上の管理情報差分データ１１に基づいて、揮発性メモリ５上の旧管理情報１０を最新管理情報９に復元する。
【００４０】
なお、上記動作後に、揮発性メモリ５上の更新された最新管理情報９を第１の不揮発性メモリ４に書き込みをしてもよい。異常な電源断後の再起動の際には、比較的長い起動時間が許容されるため、一度、最新管理情報９を第１の不揮発性メモリ４に書き込む事で、メモリシステム１の動作を安定させる事ができる。また、その後、第２の不揮発性メモリ６上の管理情報差分データ１１を消去してもよい。これにより、第２の不揮発性メモリ６の記憶領域に、管理情報差分データ１１が全て埋まることを防止することができる。
【００４１】
以上のように、本発明の第１の実施形態によれば、メモリシステム１において、管理情報差分データ１１を記憶するために、第２の不揮発性メモリ６として小容量の高速不揮発性メモリを使用している。第２の不揮発性メモリ６にはデータ量が小さい差分データが記憶されるため、第２の不揮発性メモリ６には、コストが低い小容量の高速不揮発性メモリを用いることができ、高速に動作することができる。
【００４２】
さらに、第１の実施形態によれば、第２の不揮発性メモリ６に管理情報差分データ１１を記憶している。したがって、異常電源断が発生しても、次回の電源起動時において、異常電源断前の最新の管理情報に復元することができる。
【００４３】
（第２の実施形態）
本発明の第２の実施形態によるメモリシステム１について図１０を用いて説明する。この第２の実施形態の構成について第１の実施形態のメモリシステム１の構成と同一部分は同一符号で示し、その詳細な説明を省略する。この第２の実施形態が、第１の実施形態と異なる点は、図１の第２の不揮発性メモリ６がメモリコントローラ７とは独立して設けられていたものに代えて、メモリコントローラ７のチップ内部に第２の不揮発性メモリ６を組み込み型メモリとして実装する点である。例えば、メモリコントローラ７のチップにＦｅＲＡＭ又はＭＲＡＭ等の高速の不揮発性メモリを組み込むことができる。
【００４４】
第２の実施形態に係るメモリシステム１においても、第２の不揮発性メモリ６に管理情報差分データ１１を記憶することにより、第１の実施形態に係るメモリシステム１の同様の保存方式において、管理情報差分データ１１の追記、消去、書き換え、読み出しを行うことができる。
【００４５】
以上のように、本発明の第２の実施形態によれば、メモリシステム１において、管理情報差分データ１１を記憶するために、第２の不揮発性メモリ６として小容量の高速不揮発性メモリを使用している。データ負担が小さい差分のデータを記憶するため、コストが低い高速の不揮発性メモリを用いることができ、さらに高速に動作することができる。
【００４６】
さらに、第２の実施形態によれば、第２の不揮発性メモリ６に管理情報差分データ１１を記憶している。したがって、異常電源断が発生しても、次回の電源起動時において、異常電源断前の最新の管理情報に復元することができる。
【００４７】
また、第２の実施形態においては、メモリコントローラ７内に管理情報差分データ１１を記憶する第２の不揮発性メモリ６を組み込んでいる。これにより、第１の実施形態に係るメモリシステム１に比べて小面積のメモリシステム１を作成することができる。さらに、第２の不揮発性メモリ６とメモリコントローラ７を結ぶ配線が短くなることにより、ノイズなく、高速に動作するメモリシステム１を提供することができる。  
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【００４８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他のさまざまな形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００４９】
１…メモリシステム
２…インターフェース
３…ホスト装置
４…第１の不揮発性メモリ
５…揮発性メモリ
６…第２の揮発性メモリ
７…メモリコントローラ
８…ユーザデータ
９…最新管理情報
１０…旧管理情報
１１…管理情報差分データ
１２…開始コード
１３…末端コード
【図１】
2012108627.tif 000003
【図２】
2012108627.tif 000004
【図３】
2012108627.tif 000005
【図４】
2012108627.tif 000006
【図５】
2012108627.tif 000007
【図６】
2012108627.tif 000008
【図７】
2012108627.tif 000009
【図８】
2012108627.tif 000010
【図９】
2012108627.tif 000011
【図１０】
2012108627.tif 000012