(57)【要約】【課題】バッファメモリのライトデータを、複数の不揮発性メモリデバイスを並列にアクセスして書き込む記憶装置に関し、電源遮断時のデータ消失を防止する。【解決手段】複数の書き込み可能な不揮発性メモリデバイス（３−１〜３−１６）を並列にアクセスするメモリコントローラ（２）が、電源遮断時に、特定の不揮発性メモリデバイス（３−Ａ）のみを書き込み対象にし、バッファメモリ（１８−１）から、不揮発性メモリデバイス（３−Ａ）に書き込むデータを、書き込み済みでないライトデータに絞り込むことで、書き込み時に消費する電力を、抑えることが可能になる。【選択図】図３
2010211734.tif 000002
【特許請求の範囲】
【請求項１】
複数の書き込み可能な不揮発性メモリデバイスと、
ホストからのライトデータを一時格納するバッファメモリと、
前記バッファメモリのライトデータを、前記複数の不揮発性メモリデバイスに分散して書き込むメモリコントローラと、
予備用の不揮発性メモリデバイスとを有し、
前記メモリコントローラは、電源断の検出に応じて、前記バッファメモリの前記複数の不揮発性メモリデバイスに書き込み済みでないライトデータを、前記予備用の不揮発性メモリデバイスに、書き込み、電源回復に応じて、前記予備用の不揮発性メモリデバイスに書き込んだ前記ライトデータを、前記バッファメモリに書き込む
ことを特徴とする記憶装置。
【請求項２】
前記メモリコントローラは、前記電源断の検出に応じて、予備用電力を、前記予備用の不揮発性メモリデバイスのみに供給する
ことを特徴とする請求項１の記憶装置。
【請求項３】
前記ホストとのインタフェース制御を行うインタフェース回路と、
前記ホストからのコマンドを解析し、前記バッファメモリにライトデータを書き込み、その後、前記ホストに処理完了を通知する制御回路とを更に有する
ことを特徴とする請求項１の記憶装置。
【請求項４】
前記バッファメモリは、格納した前記ライトデータの論理アドレスと前記書き込み済みか否かを示す冗長情報を、前記ライトデータ単位に格納するアドレス管理テーブルを有し、
前記メモリコントローラは、前記冗長情報から、前記書き込み済みでないライトデータを抽出する
ことを特徴とする請求項１の記憶装置。
【請求項５】
前記メモリコントローラは、前記バッファメモリのシーケンシャルな関係の前記書き込み済みでない複数のライトデータの管理情報を纏めて、アドレス管理テーブルを更新し、前記予備用の不揮発性メモリデバイスに書き込む
ことを特徴とする請求項４の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ単位で書込みを行う不揮発性メモリを用いた記憶装置に関する。
【背景技術】
【０００２】
書き込み可能な不揮発性記憶装置として、広く磁気デイスク装置が利用されてきた。このような記憶装置に、更なる高速なリード／ライト性能が要求されている。このため、不揮発性メモリの一つであるフラッシュメモリを搭載した記憶装置が、利用されている。この記憶装置は、高速で、持久性の高いＳＳＤ(Solid State Drive)として用いられる。
【０００３】
このフラッシュメモリにデータを書き込む時、ブロック単位にイレーズ及び書き込みを行う。このため、ＳＳＤとして、使用するには、少なくともページ単位（例えば、１ページ５１２Ｂｙｔｅ〜４ＫＢｙｔｅ）での書き込みを行うため、数１０ｍｓ程度の時間を要する。連続した書き込みが発生した場合に、そのままフラッシュメモリへの書き込みを実施してしまうと、書き込み処理に時間を奪われてしまう。このため、ホストコンピュータへの無応答時間が長くなることで、性能の低下が発生する。
【０００４】
ホストコンピュータへの応答を早めるために、受信したデータをバッファメモリなどに一端退避させた後に、ホストに即時応答する。バッファメモリに、一定ブロックが溜まってからか、またはＳＳＤ装置がアイドル状態になってから、フラッシュメモリに書き込み処理を行う。これにより、書き込みにかかる時間を補っている。
【０００５】
このような書込み処理中に、電源が遮断されてしまった場合、揮発性メモリで構成されたバッファメモリのデータは書き込まれることなく、装置は停止してしまう。又は、フラッシュメモリにおける特定の物理アドレスを書き込み中に、電源遮断が発生するため、その物理アドレスのデータが破壊されることになる。
【０００６】
この書き込み中の電源の遮断におけるデータの喪失を防止する方法が、提案されている。例えば、バッファメモリを、フラッシュメモリのような不揮発性メモリで構成し、データの書き込みを二重化させる。例えば、フラッシュメモリを用いた記憶装置の電源遮断時のデータ喪失防止技術は、特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−１１３８４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、不揮発性メモリに書き込むには、前述のように、時間がかかる。このため、ホストからのライトデータを、バッファメモリに書き込むための時間がかかるため、ホストへの応答が遅くなる。又、不揮発性メモリは、高価であるため、大容量のバッファメモリに使用するには、コスト的に不向きである。
【０００９】
又、電源遮断が発生することを考慮して、ＳＳＤに、バッテリやキャパシタを搭載して、蓄電時間内に、バッファメモリに格納されているデータを書き込む対策も可能である。しかしながら、バッファメモリ自体の容量が数百ＭＢｙｔｅと大容量化しているため、多数のフラッシュメモリに電源を供給しながら、書き込むには、蓄電時間内に、書き込みが困難となるおそれがある。
【００１０】
このバッテリの容量を増加すれば、良いが、ＳＳＤの装置サイズは、磁気デイスク装置の３．５インチないし２．５インチのサイズのように、小型であることが要求され、搭載可能なバッテリのサイズには限りがある。
【００１１】
従って、本発明の目的は、電源遮断時に、電力消費を抑えて、揮発性バッファメモリのデータの喪失を防止するためのデータ記憶装置を提供することにある。
【課題を解決するための手段】
【００１２】
この目的の達成のため、記憶装置は、複数の書き込み可能な不揮発性メモリデバイスと、ホストからのライトデータを一時格納するバッファメモリと、前記バッファメモリのライトデータを、前記複数の不揮発性メモリデバイスに分散して書き込むメモリコントローラと、予備用の不揮発性メモリデバイスとを有し、前記メモリコントローラは、電源断の検出に応じて、前記バッファメモリの前記複数の不揮発性メモリデバイスに書き込み済みでないライトデータを、前記予備用の不揮発性メモリデバイスに、書き込み、電源回復に応じて、前記予備用の不揮発性メモリデバイスに書き込んだ前記ライトデータを、前記バッファメモリに書き込む。
【発明の効果】
【００１３】
複数の不揮発性メモリデバイスと異なる予備の不揮発性メモリデバイスのみを書き込み対象にすることで、バッファメモリのライトデータの書き込み時にかかる電力を抑えることが可能になる。又、予備の不揮発性メモリデバイスに書き込むデータを、未書き込みライトデータに絞り込むことで、書き込み時に消費する電力を更に抑えることが可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の記憶装置の一実施の形態の構成図である。
【図２】図１の記憶装置の通常アクセスの説明図である。
【図３】図１の記憶装置の電源断時の電源供給状態の説明図である。
【図４】本発明の一実施の形態の電源遮断時のデータ退避処理フロー図である。
【図５】図４の管理テーブルの説明図である。
【図６】図４の予備用不揮発性メモリデバイスへの退避動作の説明図である。
【図７】図４の予備用不揮発性メモリデバイスのアドレス管理テーブルと物理ブロックの関係図である。
【図８】本発明の一実施の形態の電源回復時のデータ復旧処理フロー図である。
【図９】図８のデータ復旧動作の説明図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を、不揮発性メモリを用いた記憶装置、電源遮断時のデータ退避処理、電源回復時のデータ復旧処理、他の実施の形態の順で説明する。
【００１６】
（不揮発性メモリを用いた記憶装置）
図１は、本発明の記憶装置の一実施の形態の構成図、図２は、図１の記憶装置の通常時のアクセス動作の説明図、図３は、図１の記憶装置の電源遮断時の電源供給状態の説明図である。図１は、記憶装置として、不揮発性メモリにフラッシュメモリを用いたＳＳＤを例に示す。
【００１７】
図１に示すように、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）１は、Ｉ／Ｆ（インタフェース）コントローラ１０と、ＣＰＵ（Ｃｅｎｔｒａｌｉｚｅｄ  Ｐｒｏｃｅｓｏｒ  Ｕｎｉｔ）１２と、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｅｏｒｙ）１４と、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ１６と、ＳＤＲＡＭ（Ｓｔａｔｉｃ  Ｄｙｎａｍｉｃ  Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｅｏｒｙ）１８と、フラッシュコントローラ２と、複数のフラッシュメモリ３とを有する。
【００１８】
Ｉ／Ｆコントローラ１０と、ＣＰＵ１２と、ＳＲＡＭ１４と、ＤＭＡコントローラ１６と、ＳＤＲＡＭ１８と、フラッシュコントローラ２とは、バス１９で接続される。Ｉ／Ｆコントローラ１２は、図示しないホスト（例えば、パーソナルコンピュータのＣＰＵ）とのインタフェース制御を行う。例えば、Ｉ／Ｆコントローラ１２は、ＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）やＳＡＴＡ（Ｓｅｒｉａｌ  ＡＴ  Ａｔｔａｃｈｅｄ）インタフェース制御を行う。
【００１９】
ＣＰＵ１２は、ＳＲＡＭ１４に格納されたプログラムやパラメータを使用して、ＳＳＤ１の全体の制御を行う。例えば、ホストからのコマンドを解析し、そのコマンドの処理を行う。ＳＤＲＡＭ１８は、ＣＰＵ１２のワーク領域と、リード／ライトデータのバッファメモリとを備える。
【００２０】
ＤＭＡコントローラ１６は、ＣＰＵ１２のＤＭＡ指示により、フラッシュコントローラ２とＳＤＲＡＭ１８のバッファメモリ間のデータ転送と、ＳＤＲＡＭ１８のバッファメモリとＩ／Ｆコントローラ１０間のデータ転送を行う。
【００２１】
フラッシュコントローラ２は、複数のフラッシュメモリ３に接続され、フラッシュメモリ３のデータのリード／ライト制御を行う。フラッシュメモリ３は、ＮＡＮＤ型フラッシュメモリで構成され、ブロック単位で、リード／ライトする。
【００２２】
図２に示すように、フラッシュメモリ３は、フラッシュコントローラ２に並列に接続された複数（ここでは、１６個）のフラッシュメモリデバイス３−１〜３−１６と、第２のフラッシュメモリデバイス３−Ａとを有する。例えば、１つのフラッシュメモリデバイスの記憶容量を、１２８ＭＢｙｔｅとすると、１６個のフラッシュデバイスで、１２８＊１６＝２０８８ＭＢｙｔｅ＝２ＧＢｙｔｅのＳＳＤを構成できる。
【００２３】
そして、通常動作時は、フラッシュコントローラ２は、ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓ）単位のリード／ライトは、このフラッシュメモリデバイス３−１〜３−１６の任意ブロックへアクセスする。例えば、１ＬＢＡを、１０２４Ｂｙｔｅとすると、１０２４／１６＝６４Ｂｙｔｅに分割され、１６個のフラッシュメモリデバイス３−１〜３−１６の物理領域が割り当てられる。
【００２４】
このように、並列アクセスにより、リード／ライトすることにより、時間がかかるフラッシュメモリのリード／ライト、特にライトに要する時間を短縮している。このため、通常動作時は、１６個のフラッシュメモリデバイス３−１〜３−１６に電源を供給し続ける必要がある。
【００２５】
図３に示すように、電源遮断時には、電源供給がなくなるために、付属のバッテリバックアップが起動する。この時、消費電力を抑えるため、パラレルに接続している各フラッシュメモリデバイス３−１〜３−１６，３−Ａのうち、第２のフラッシュメモリデバイス３−Ａ以外のフラッシュメモリデバイス３−１〜３−１６は、電源供給を停止させる。このため、特定のフラッシュメモリデバイス３−Ａのみに書き込みが、実施される。
【００２６】
この実施の形態のフラッシュメモリデバイスは、ＮＡＮＤ型フラッシュメモリを用いているが、消費電力を要さない記憶素子で、必要な容量を満たすことが可能なものであれば、必ずしも、フラッシュメモリデバイスにこだわる必要はない。このような電源断時の電源供給により、電力消費を低減できる。
【００２７】
又、図２のように、並列に書き込みを行う場合には、各フラッシュメモリデバイス３−１〜３−１６に書き込みを行うために、管理テーブルから、論理アドレス（ＬＢＡ）を物理アドレスに変換するため、各論理アドレスから物理アドレスへの検索に、余分な電力を消費してしまう。
【００２８】
一方、図３の電源断時では、バッファメモリに格納されている未書き込みのデータ及び管理テーブルを、第２のフラッシュメモリデバイス３−Ａに全て書き込む。このため、検索にかかる電力はほとんど生じない。
【００２９】
（電源遮断時のデータ退避処理）
図４は、本発明の一実施の形態の電源遮断時のデータ退避処理フロー図、図５は、図４のアドレス管理テーブルの説明図、図６は、図４のデータ退避動作の説明図、図７は、図４の管理テーブルと物理ブロックとの関係を示す図である。
【００３０】
フラッシュコントローラ２が実行する図４の処理を説明する前に、図５により、バッファメモリ１８−１を説明する。ＳＤＲＡＭ１８に設けられたバッファメモリ１８−１は、ライト処理で、ライトデータが格納されるライトキャッシュメモリと、リード処理で、リードデータが格納されるリードキャッシュメモリに、大別される。
【００３１】
図５は、バッファメモリ１８−１は、データバッファ部１８−２と、アドレス管理テーブル１８−３を有する。データバッファ部１８−２は、リードキャッシュメモリとライトキャッシュメモリで構成される。図５では、斜線部がリードデータ及び書き込み済みライトデータを示し、白抜き部分が、未書き込みのライトデータを示す。
【００３２】
データバッファ部１８−２は、データ（リードデータ又はライトデータ）と、開始論理アドレス（ＬＢＡ），転送長を格納する。例えば、図５において、データバッファ部１８−２内のライトデータ１は、開始論理アドレス「０１００」、転送長「０ｘ２０」である。
【００３３】
一方、アドレス管理テーブル１８−３は、フラッシュメモリデバイス３−１〜３−１６内でのデータのアドレスを管理するものである。アドレス管理テーブル１８−３は、論理アドレス(ＬＢＡ)、フラッシュメモリデバイス３−１〜３−１６内の物理アドレス、ブロック長、冗長情報からなる。この冗長（状態）情報は、ライトデータに対し、未書き込みか、書き込み済み又は書き込み不要かを示す。
【００３４】
このフラッシュメモリ装置において、ライト処理は、実際にフラッシュメモリデバイスに、ライトデータを書き込まなくとも、バッファメモリ１８−１のライトキャッシュメモリに、ホストからのライトデータを格納完了次第、ホストへ完了の報告をする。
【００３５】
特に、フラッシュメモリは、書き込みに要する時間が長いため、システムがアイドル状態にある場合などに、纏めて書き、性能を向上させている。このため、電源断が発生した時に、バッファメモリ１８−１上のライトキャッシュメモリ上に、フラッシュメモリに対して、未書き込み状態になっているデータが、少なからず存在しうる。
【００３６】
次に、図５乃至図７を参照して、フラッシュコントローラ２が実行する図４の処理を説明する。
【００３７】
（Ｓ１０）フラッシュコントローラ２は、電源断の発生による電源断の割り込みを検出して、データ退避処理を開始する。
【００３８】
（Ｓ１２）フラッシュコントローラ２は、フラッシュメモリデバイス３−１〜３−１６にデータを書き込み中（プログラミング中という）かを判定する。フラッシュコントローラ２が、データを書き込み中であれば、フラッシュコントローラ２は、フラッシュメモリデバイス３−１〜３−１６に書き込み停止を要求する。
【００３９】
（Ｓ１４）そして、フラッシュコントローラ２は、並列接続したフラッシュメモリデバイス３−１〜３−１６の電源を遮断する。即ち、図２で説明した電源供給状態から、図３で説明した第２のフラッシュメモリデバイス３−Ａのみ、バッテリから電源を供給する状態に移行する。
【００４０】
（Ｓ１６）フラッシュコントローラ２は、バッファメモリ１８−１のライトキャッシュメモリの１セグメント分の情報を取得する。即ち、フラッシュコントローラ２は、アドレス管理テーブル１８−３の指定した物理アドレスの状態（冗長）情報（図５参照）を参照する。
【００４１】
フラッシュコントローラ２は、その状態情報の状態が、未書き込み状態（状態“01”）であるライトデータのみを書き込み（退避）対象として、抽出する。図５で示すように、フラッシュコントローラ２は、この抽出したライトデータの論理アドレス、物理アドレス、ブロック長、冗長情報からなるアドレス管理テーブル１８−３を更新する。
【００４２】
この時、実際には、シーケンシャルな関係になりうるが、ライトキャッシュメモリ上では、別々のデータとして格納されているライトデータが存在する場合がある。例えば、図５では、ライトデータ４５が、開始ＬＢＡ「２Ａ００」で、転送長が、「０ｘ８０」であり、ライトデータ４６が、開始ＬＢＡが、「２Ａ８０」であるから、ライトデータ４６は、ライトデータ４５に続く、シーケンシャルなデータである。
【００４３】
このため、フラッシュコントローラ２は、抽出したライトデータの開始ＬＢＡと転送長からシーケンシャルな関係のライトデータが存在するか判定し、アドレス管理テーブル１８−３上は、１つのシーケンシャルなデータとして扱う。即ち、図５の例では、ライトデータ４５とライトデータ４６を纏めて、論理アドレス（ＬＢＡ）が、「２Ａ００」、物理アドレスが、「９Ｅ５０」、ブロック長が、「０ｘ１０００」のアドレス管理テーブル１８−３に更新する。
【００４４】
即ち、多くのデータが、シーケンシャルアクセスで、断片的にライトキャッシュメモリに置かれている場合、図５のように、論理アドレス「0x2A00」番地である同一の管理単位に纏めることにより、管理テーブルの効率化につながる。
【００４５】
（Ｓ２０）フラッシュコントローラ２は、バッファメモリ１８−１のアドレス管理テーブル１８−３の全ての未書き込みライトデータの抽出が終了したかを判定する。 フラッシュコントローラ２は、バッファメモリ１８−１のアドレス管理テーブル１８−３の全ての未書き込みライトデータの抽出が終了していないと判定すると、ステップＳ１６に戻る。  
【００４６】
（Ｓ２２）フラッシュコントローラ２は、バッファメモリ１８−１のアドレス管理テーブル１８−３の全ての未書き込みライトデータの抽出が終了したと判定すると、図６に示すように、書き込み対象のライトデータのみを抽出した後、アドレス管理テーブル１８−３を含めたデータ群を、フラッシュメモリデバイス３−Ａに書き込む処理を実施する。
【００４７】
通常は、物理領域にデータを書き込む際には、連続した論理アドレス単位のデータのみを、同一ブロックに書き込み、ランダムな論理アドレスにおいては、別ブロックに書き込まれる。しかし、この実施の形態では、図７に示すように、連続したデータの有無に関わらず、ブロック内に可能な限りデータを詰めることで、書き込み時間を短縮している。
【００４８】
また、アドレス管理テーブル１８−３には、通常、ホストからのアクセス毎に、データが開始論理アドレスを持っているため、シーケンシャルなアクセスが連続していた場合においても、その都度、論理アドレスと転送長を、アドレス管理テーブル１８−３に登録している。
【００４９】
電源遮断時は、シーケンシャルアクセス時には、その管理テーブルのシーケンシャル開始アドレス（先頭物理アドレス）と総転送長（ブロック長）のみを、アドレス管理テーブル１８−３として保持する。これによって、管理テーブル１８−３の容量を削減することが可能になる。
【００５０】
図７では、管理テーブル１８−３の先頭アドレスからブロック長分だけのデータが格納されていることを示し、フラッシュメモリデバイス３−Ａには、連続したデータの有無に関わらず、ブロック内に可能な限りデータを詰めている。
【００５１】
このように、バッファメモリ１８−１に格納されているデータの中から、必要なものだけを書き込むようにするため、書き込み時間によって、消費される電力を抑えることが可能になる。
【００５２】
（電源回復時のデータ復旧処理）
次に、電源投入時等の電源回復時の復旧処理を説明する。図８は、本発明の一実施の形態の電源回復時のデータ復旧処理フロー図、図９は、図８のデータ復旧動作の説明図である。
【００５３】
以下、図９を参照して、図８のフラッシュコントローラ２のデータ復旧処理を説明する。
【００５４】
（Ｓ３０）フラッシュコントローラ２は、電源投入を通知されると、フラッシュメモリデバイス３−Ａの先頭アドレスをチエックする。尚、図４のステップＳ２２の書き込みにおいて、退避データをフラッシュメモリデバイス３−Ａに書き込む場合、その書き込み先のアドレスを書き込んでおく。
【００５５】
（Ｓ３２）フラッシュコントローラ２は、第２のフラッシュメモリデバイス３−Ａの先頭アドレスにポインタが書かれていないと判定すると、第２のフラッシュメモリデバイス３−Ａには、電源断時に退避データを書き込んでいないと判断し、通常の起動を行う。
【００５６】
（Ｓ３４）フラッシュコントローラ２は、第２のフラッシュメモリデバイス３−Ａの先頭アドレスにポインタが書かれていると判定すると、そのポインタのアドレスを参照し、退避データ群のデータ先のアドレスを確定する。そして、フラッシュコントローラ２は、第２のフラッシュメモリデバイス３−Ａの退避データ群の先頭アドレスから格納されているライトデータを、管理テーブル１８−３を参照して、バッファメモリ１８−１のライトキャッシュメモリの先頭から、格納分だけコピーする（図９参照）。
【００５７】
（Ｓ３６）次に、フラッシュコントローラ２は、管理テーブル１８−３を、バッファメモリ１８−１の所定の位置へコピーする。コピー後、第２のフラッシュメモリデバイス３−Ａの領域は、フリーになる。
【００５８】
（Ｓ３８）その後、フラッシュコントローラ２は、ブートアップし、バッファメモリ１８−１のライトデータを、フラッシュメモリデバイス３−１〜３−１６の正規のブロックに書き込む。
【００５９】
このようにして、電源断時に退避したデータを、バッファメモリ１８−１に復旧できる。
【００６０】
以下に、本実施の形態を記述する。
【００６１】
（１）複数の書き込み可能な不揮発性メモリデバイスと、ホストからのライトデータを一時格納するバッファメモリと、前記バッファメモリのライトデータを、前記複数の不揮発性メモリデバイスに分散して書き込むメモリコントローラと、予備用の不揮発性メモリデバイスとを有し、前記メモリコントローラは、電源断の検出に応じて、前記バッファメモリの前記複数の不揮発性メモリデバイスに書き込み済みでないライトデータを、前記予備用の不揮発性メモリデバイスに、書き込み、電源回復に応じて、前記予備用の不揮発性メモリデバイスに書き込んだ前記ライトデータを、前記バッファメモリに書き込むことを特徴とする記憶装置。
【００６２】
（２）前記メモリコントローラは、前記電源断の検出に応じて、予備用電力を、前記予備用の不揮発性メモリデバイスのみに供給することを特徴とする付記１の記憶装置。
【００６３】
（３）前記ホストとのインタフェース制御を行うインタフェース回路と、前記ホストからのコマンドを解析し、前記バッファメモリにライトデータを書き込み、その後、前記ホストに処理完了を通知する制御回路とを更に有することを特徴とする付記１の記憶装置。
【００６４】
（４）前記バッファメモリは、格納した前記ライトデータの論理アドレスと前記書き込み済みか否かを示す冗長情報を、前記ライトデータ単位に格納する管理テーブルを有し、前記メモリコントローラは、前記冗長情報から、前記書き込み済みでないライトデータを抽出することを特徴とする付記１の記憶装置。
【００６５】
（５）前記メモリコントローラは、前記管理テーブルから前記書き込み済みでないライトデータを抽出し、前記管理テーブルを、前記予備用の不揮発性メモリデバイスに書き込むことを特徴とする付記４の記憶装置。
【００６６】
（６）前記メモリコントローラは、前記バッファメモリのシーケンシャルな関係の前記書き込み済みでない複数のライトデータの管理情報を纏めて、前記アドレス管理テーブルを更新し、前記予備用の不揮発性メモリデバイスに書き込むことを特徴とする付記４の記憶装置。
【００６７】
（７）前記バッファメモリは、前記複数の不揮発性メモリデバイスのリード及びライトキャッシュメモリであることを特徴とする付記３の記憶装置。
【００６８】
（８）前記メモリコントローラは、前記複数の不揮発性メモリデバイスを並列にアクセスして、リード及びライトを行うことを特徴とする付記７の記憶装置。
【００６９】
（９）前記メモリコントローラは、複数の前記書き込み済みでないライトデータを、前記予備用の不揮発性メモリデバイスの連続した領域に順次書き込み、前記複数の前記書き込み済みでないライトデータに対し、前記連続した領域の物理アドレスを格納する前記アドレス管理テーブルを更新することを特徴とする付記５の記憶装置。
【００７０】
（１０）前記メモリコントローラは、前記電源回復時に、前記予備用の不揮発性メモリデバイスに格納された前記アドレス管理テーブルに従って、前記ライトデータを、前記バッファメモリの所定の領域に書き込むことを特徴とする付記５の記憶装置。
【００７１】
（１１）前記不揮発性メモリデバイスは、フラッシュメモリで構成され、前記メモリコントローラが、フラッシュコントローラで構成されたことを特徴とする付記１の記憶装置。
【００７２】
（他の実施の形態）
前述の実施の形態では、書き込み可能な不揮発性メモリとして、フラッシュメモリを例に説明したが、他の書き込み可能な不揮発性メモリに適用できる。又、第２のフラッシュメモリデバイス３−Ａは、１のフラッシュメモリに、障害が生じた場合の予備用に使用できる。
【００７３】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【００７４】
（付記１）複数の書き込み可能な不揮発性メモリデバイスと、ホストからのライトデータを一時格納するバッファメモリと、前記バッファメモリのライトデータを、前記複数の不揮発性メモリデバイスに分散して書き込むメモリコントローラと、予備用の不揮発性メモリデバイスとを有し、前記メモリコントローラは、電源断の検出に応じて、前記バッファメモリの前記複数の不揮発性メモリデバイスに書き込み済みでないライトデータを、前記予備用の不揮発性メモリデバイスに、書き込み、電源回復に応じて、前記予備用の不揮発性メモリデバイスに書き込んだ前記ライトデータを、前記バッファメモリに書き込むことを特徴とする記憶装置。
【００７５】
（付記２）前記メモリコントローラは、前記電源断の検出に応じて、予備用電力を、前記予備用の不揮発性メモリデバイスのみに供給することを特徴とする付記１の記憶装置。
【００７６】
（付記３）前記ホストとのインタフェース制御を行うインタフェース回路と、前記ホストからのコマンドを解析し、前記バッファメモリにライトデータを書き込み、その後、前記ホストに処理完了を通知する制御回路とを更に有することを特徴とする付記１の記憶装置。
【００７７】
（付記４）前記バッファメモリは、格納した前記ライトデータの論理アドレスと前記書き込み済みか否かを示す冗長情報を、前記ライトデータ単位に格納する管理テーブルを有し、前記メモリコントローラは、前記冗長情報から、前記書き込み済みでないライトデータを抽出することを特徴とする付記１の記憶装置。
【００７８】
（付記５）前記メモリコントローラは、前記管理テーブルから前記書き込み済みでないライトデータのアドレス管理テーブルを作成し、前記予備用の不揮発性メモリデバイスに書き込むことを特徴とする付記４の記憶装置。
【００７９】
（付記６）前記メモリコントローラは、前記バッファメモリのシーケンシャルな関係の前記書き込み済みでない複数のライトデータの管理情報を纏めて、前記アドレス管理テーブルを更新し、前記予備用の不揮発性メモリデバイスに書き込むことを特徴とする付記４の記憶装置。
【００８０】
（付記７）前記バッファメモリは、前記複数の不揮発性メモリデバイスのリード及びライトキャッシュメモリであることを特徴とする付記３の記憶装置。
【００８１】
（付記８）前記メモリコントローラは、前記複数の不揮発性メモリデバイスを並列にアクセスして、リード及びライトを行うことを特徴とする付記７の記憶装置。
【００８２】
（付記９）前記メモリコントローラは、複数の前記書き込み済みでないライトデータを、前記予備用の不揮発性メモリデバイスの連続した領域に順次書き込み、前記複数の前記書き込み済みでないライトデータに対し、前記連続した領域の物理アドレスを格納する前記アドレス管理テーブルを更新することを特徴とする付記５の記憶装置。
【００８３】
（付記１０）前記メモリコントローラは、前記電源回復時に、前記予備用の不揮発性メモリデバイスに格納された前記アドレス管理テーブルに従って、前記ライトデータを、前記バッファメモリの所定の領域に書き込むことを特徴とする付記５の記憶装置。
【００８４】
（付記１１）前記不揮発性メモリデバイスは、フラッシュメモリで構成され、前記メモリコントローラが、フラッシュコントローラで構成されたことを特徴とする付記１の記憶装置。
【産業上の利用可能性】
【００８５】
複数の書き込み可能な不揮発性メモリデバイスを並列にアクセスする記憶装置において、電源遮断時に、特定の不揮発性メモリデバイスのみを書き込み対象にすることで、書き込み時にかかる電力を抑えることが可能になり、また、不揮発性メモリデバイスに書き込むデータを絞り込むことで、書き込み時に消費する電力を、より抑えることが可能になる。特に、小型なメモリ型記憶装置のデータ消失防止に有効である。
【符号の説明】
【００８６】
１  記憶装置（ＳＳＤ）
２  フラッシュコントローラ
３−１〜３−１６  フラッシュメモリデバイス
３−Ａ  予備用フラッシュメモリデバイス
１０  Ｉ／Ｆコントローラ
１２  ＣＰＵ（処理ユニット）
１４  ＳＲＡＭ
１６  ＤＭＡコントローラ
１８  ＳＤＲＡＭ
１８−１  バッファメモリ
１８−２  データバッファ部
１８−３  アドレス管理テーブル
１９  バス
【図１】
2010211734.tif 000003
【図２】
2010211734.tif 000004
【図３】
2010211734.tif 000005
【図４】
2010211734.tif 000006
【図５】
2010211734.tif 000007
【図６】
2010211734.tif 000008
【図７】
2010211734.tif 000009
【図８】
2010211734.tif 000010
【図９】
2010211734.tif 000011