(57)【要約】【課題】主電源からの電力の供給が停止した場合におけるキャッシュメモリに格納されたデータを退避するのに要する時間を削減することによりバックアップ電源の容量を削減するとともに、バックアップ電源のメンテナンスを容易化すること。【解決手段】キャッシュメモリバックアップ装置は、揮発性のキャッシュメモリと、キャッシュメモリと同一又はそれ以上の容量を有し、キャッシュメモリに格納されたデータを退避するための不揮発性メモリと、キャッシュメモリに対する主電源からの電力の供給が停止した場合にキャッシュメモリ及び不揮発性メモリに電力を供給するキャパシタとを備える。【選択図】図１
2010160654.tif 000002
【特許請求の範囲】
【請求項１】
揮発性のキャッシュメモリと、
前記キャッシュメモリと同一又はそれ以上の容量を有し、前記キャッシュメモリに格納されたデータを退避するための不揮発性メモリと、
前記キャッシュメモリに対する主電源からの電力の供給が停止した場合に前記キャッシュメモリ及び前記不揮発性メモリに電力を供給するキャパシタとを備えることを特徴とするキャッシュメモリバックアップ装置。
【請求項２】
前記キャッシュメモリに格納されたデータを前記不揮発性メモリのブロック単位で退避することを特徴とする、請求項１に記載のキャッシュメモリバックアップ装置。
【請求項３】
前記不揮発性メモリは、フラッシュＲＯＭであることを特徴とする、請求項１又は２に記載のキャッシュメモリバックアップ装置。
【請求項４】
前記キャッシュメモリに対する前記主電源からの電力の供給を監視するとともに、該電力の供給が停止した場合には、前記キャッシュメモリ及び前記不揮発性メモリに前記キャパシタから電力を供給するように制御する制御部をさらに備えることを特徴とする、請求項１乃至３のいずれか１項に記載のキャッシュメモリバックアップ装置。
【請求項５】
利用者のデータを格納するためのストレージと、
請求項１乃至４のいずれか１項に記載のキャッシュメモリバックアップ装置とを備え、
前記キャッシュメモリは、前記利用者のデータを一時的に保持し、且つ／又は、前記利用者のデータをストレージに格納する際の制御情報を保持することを特徴とするストレージシステム。
【請求項６】
前記主電源をさらに備えることを特徴とする、請求項５に記載のストレージシステム。
【請求項７】
揮発性のキャッシュメモリに対する主電源からの電力の供給が停止した場合に、該キャッシュメモリ及び該キャッシュメモリと同一又はそれ以上の容量を有する不揮発性メモリに対してキャパシタから電力を供給する工程と、
前記キャッシュメモリに格納されたデータを前記不揮発性メモリに退避する工程とを含むことを特徴とするキャッシュメモリバックアップ方法。
【請求項８】
前記キャッシュメモリに格納されたデータを前記不揮発性メモリのブロック単位で退避することを特徴とする、請求項７に記載のキャッシュメモリバックアップ方法。
【請求項９】
前記キャッシュメモリに対する前記主電源からの電力の供給を制御部によって監視する工程と、
前記主電源からの電力の供給が停止した場合には、前記キャッシュメモリ及び前記不揮発性メモリに前記キャパシタから電力を供給するように前記制御部によって制御する工程とをさらに含むことを特徴とする、請求項７又は８に記載のキャッシュメモリバックアップ方法。
【請求項１０】
揮発性のキャッシュメモリに対する主電源からの電力の供給が停止した場合に、該キャッシュメモリ及び該キャッシュメモリと同一又はそれ以上の容量を有する不揮発性メモリに対してキャパシタから電力を供給する処理と、
前記キャッシュメモリに格納されたデータを前記不揮発性メモリに退避する処理とをコンピュータに実行させることを特徴とするキャッシュメモリバックアッププログラム。
【請求項１１】
前記キャッシュメモリに格納されたデータを前記不揮発性メモリのブロック単位で退避する処理をコンピュータに実行させることを特徴とする、請求項１０に記載のキャッシュメモリバックアッププログラム。
【請求項１２】
前記キャッシュメモリに対する前記主電源からの電力の供給を監視する処理と、
前記主電源からの電力の供給が停止した場合には、前記キャッシュメモリ及び前記不揮発性メモリに前記キャパシタから電力を供給するように制御する処理とをさらにコンピュータに実行させることを特徴とする、請求項１０又は１１に記載のキャッシュメモリバックアッププログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はキャッシュメモリバックアップ装置、方法およびプログラムに関し、特に、ストレージシステムにおけるキャッシュメモリバックアップ装置、方法およびプログラムに関する。
【背景技術】
【０００２】
ストレージシステムにおいては、ホストからストレージへのデータの書き込みを高速化するため、データを一時的に記録するキャッシュメモリが用いられる。キャッシュメモリが揮発性メモリである場合には、主電源からキャッシュメモリへの電力の供給が停止したときに、キャッシュメモリに記録されたデータが失われるのを防ぐ必要がある。
【０００３】
従来は、主電源からの電源の供給が停止した場合には、
（１）バックアップ電源によってキャッシュメモリ上のデータを保持する、
（２）バックアップ電源による給電に切り替えて、キャッシュメモリ上のデータを本来の場所に書き込む、
（３）バックアップ電源による給電に切り替えて、キャッシュメモリ上のデータを退避専用領域（ディスク媒体等）に書き込む、等の処理が行われている。
【０００４】
なお、特許文献１において、揮発性のキャッシュメモリのバックアップに必要なバッテリーの容量を削減することができるストレージシステムが記載されている。また、特許文献２において、電源に異常が発生したときにバックアップすべきデータを保存する電子機器であって、構成が複雑でなく十分な小型化を図ることができるものが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１０８０２６号公報
【特許文献２】特開２００８−１４０２３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以下の分析は、本発明者によってなされたものである。
【０００７】
上記（１）のように、バックアップ電源によってキャッシュメモリ上のデータを保持する場合には、
（ａ）データを消失させることがないように復電するまでデータを保持する必要があり、
（ｂ）復電までの時間を考慮する必要があることから、
大容量のバックアップ電源（例えば、バッテリー）が必要となるという問題があった。
【０００８】
一方、上記（２）および（３）のように、キャッシュメモリ上のデータを他の装置へ書き込む場合には、
（ａ）データベースなどの構造を有するデータのストレージへの書き込みはランダムアクセスになることが多く、キャッシュメモリ上のデータおよび制御情報はアクセス時につねに更新されることから、他の装置への書き込みが不連続な書き込みとなり、
（ｂ）他の装置へ効率的にデータを書き込むために、書き込みデータおよび書き込み順序の並べ替えなどの複雑な制御が必要となり、
（ｃ）キャッシュの制御単位（書き込みデータサイズ、キャッシュのページサイズ等）と、退避専用領域またはストレージの制御単位（フラッシュＲＯＭのブロックサイズ、ＲＡＩＤのストライピングサイズ等）とが一致するとは限らないことから、制御単位を一致させるために不足データを読み込む必要があることから、
他の装置への書き込みの制御に時間がかかり、大容量のバックアップ電源（例えば、バッテリー）が必要となるという問題があった。
【０００９】
また、上記の特許文献１に記載のストレージシステムにおいても、２次電源としてバッテリーを備える必要ある。バックアップ電源用のバッテリーとしては、例えば、鉛蓄電池、ニッケル水素電池、リチウムイオン電池等が用いられる。しかし、これらのバッテリーには寿命があるため、キャッシュメモリ上のデータ保持時間やデータの書き込み時間に基づいて、実装するバッテリーの容量や充放電の繰り返し回数といった項目を設計段階において詳細に検討する必要がある。したがって、バックアップ電源のメンテナンスが複雑になるという問題があった。
【００１０】
そこで、主電源からの電力の供給が停止した場合におけるキャッシュメモリに格納されたデータを退避するのに要する時間を削減することによりバックアップ電源の容量を削減するとともに、バックアップ電源のメンテナンスを容易化することが課題となる。本発明の目的は、かかる課題を解決するためのキャッシュメモリバックアップ装置、方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の第１の視点に係るキャッシュメモリバックアップ装置は、揮発性のキャッシュメモリと、キャッシュメモリと同一又はそれ以上の容量を有し、前記キャッシュメモリに格納されたデータを退避するための不揮発性メモリと、キャッシュメモリに対する主電源からの電力の供給が停止した場合にキャッシュメモリ及び不揮発性メモリに電力を供給するキャパシタとを備える。
【００１２】
本発明の第２の視点に係るキャッシュメモリバックアップ方法は、揮発性のキャッシュメモリに対する主電源からの電力の供給が停止した場合に、キャッシュメモリ及びキャッシュメモリと同一又はそれ以上の容量を有する不揮発性メモリに対してキャパシタから電力を供給する工程と、キャッシュメモリに格納されたデータを不揮発性メモリに退避する工程とを含む。
【００１３】
本発明の第３の視点に係るキャッシュメモリバックアッププログラムは、揮発性のキャッシュメモリに対する主電源からの電力の供給が停止した場合に、キャッシュメモリ及び該キャッシュメモリと同一又はそれ以上の容量を有する不揮発性メモリに対してキャパシタから電力を供給する処理と、キャッシュメモリに格納されたデータを不揮発性メモリに退避する処理とをコンピュータに実行させる。
【００１４】
本発明の展開形態に係るストレージシステムは、利用者のデータを格納するためのストレージと、上記のキャッシュメモリバックアップ装置とを備え、キャッシュメモリは、利用者のデータを一時的に保持し、且つ／又は、利用者のデータをストレージに格納する際の制御情報を保持する。
【００１５】
なお、上記キャッシュメモリバックアッププログラムは、任意の記録媒体に記録することができる。
【発明の効果】
【００１６】
本発明に係るキャッシュメモリバックアップ装置、方法およびプログラムによると、主電源からの電力の供給が停止した場合におけるキャッシュメモリに格納されたデータを退避するのに要する時間を削減することによりバックアップ電源の容量を削減することができ、バックアップ電源のメンテナンスを容易化することができる。その理由は次の通りである。
【００１７】
主電源からの電力の供給が停止した場合に、キャッシュメモリの全領域を連続して、不揮発性メモリ（例えば、フラッシュＲＯＭ）のブロック単位で退避することにより、効率的に不揮発性メモリへの書き込みを行うことができる。すなわち、データの並べ替えなどの制御は不要となり、退避制御を簡易化でき、不揮発性メモリへの書き込みで発生するペナルティ（例えば、制御単位を一致させるための不足データの読み出し）を排除することができる。したがって、キャッシュメモリに格納されたデータを退避するのに要する時間を削減することができる。
【００１８】
また、データの退避に要する時間が削減されることにより、バックアップ電源の容量を削減することができる。したがって、バックアップ電源としてバッテリーを用いる代わりに、キャパシタを用いることができる。ゆえに、バンクアップ電源のメンテナンスを容易化することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態に係るキャッシュメモリバックアップ装置の構成を示すブロック図である。
【図２】本発明の実施例に係るストレージシステムの構成を示すブロック図である。
【図３】本発明の実施例に係るストレージシステムの構成を示す他のブロック図である。
【図４】本発明の実施例に係るキャッシュメモリバックアップ装置の動作の概略を示すフローチャートである。
【図５】本発明の実施例に係るキャッシュメモリバックアップ装置の動作の詳細を示すフローチャートである。
【図６】本発明の実施例に係るキャッシュメモリバックアップ装置の動作の詳細を示す他のフローチャートである。
【図７】本発明の実施例に係るキャッシュメモリバックアップ装置の動作の詳細を示すさらに他のフローチャートである。
【発明を実施するための形態】
【００２０】
本発明の実施形態に係るキャッシュバックアップ装置について、図面を参照して説明する。図１は、本実施形態に係るキャッシュバックアップ装置５０の構成を示すブロック図である。図１を参照すると、キャッシュバックアップ装置５０は、揮発性のキャッシュメモリ５３と、不揮発性メモリ５４と、キャパシタ５１とを備える。
【００２１】
不揮発性メモリ５４は、キャッシュメモリ５３と同一又はそれ以上の容量を有し、キャッシュメモリ５３に格納されたデータを退避する。キャパシタ５１は、キャッシュメモリ５３に対する主電源４０からの電力の供給が停止した場合に、キャッシュメモリ５３および不揮発性メモリ５４に電力を供給する。
【００２２】
また、キャッシュメモリ５３に格納されたデータを不揮発性メモリ５４のブロック単位で退避するようにしてもよい。さらに、不揮発性メモリ５４は、フラッシュＲＯＭであってもよい。
【００２３】
また、キャッシュメモリバックアップ装置５０は、さらに制御部５２を備えるようにしてもよい。制御部５２は、キャッシュメモリ５３に対する主電源４０からの電力の供給を監視するとともに、電力の供給が停止した場合には、キャッシュメモリ５３および不揮発性メモリ５４にキャパシタ５１から電力を供給するように制御する。
【００２４】
さらに、ストレージシステム７０において、利用者のデータを格納するためのストレージ６０と、上記のキャッシュメモリバックアップ装置５０とを備えるようにしてもよい。この場合には、キャッシュメモリ５３は、利用者のデータを一時的に保持し、かつ／または、利用者のデータをストレージ６０に格納する際の制御情報を保持する。また、ストレージシステムは、主電源４０をさらに備えるようにしてもよい。
【実施例】
【００２５】
本発明の実施例について、図面を参照して説明する。
【００２６】
（構成）
図２は、本実施例に係るストレージシステム８０の構成を示すブロック図である。図２を参照すると、ストレージシステム８０は、キャッシュメモリバックアップ装置として制御ボード１０を備え、ストレージとして外部記憶装置２０を備え、さらに、Ｉ／Ｏホスト３０および主電源４０を備える。
【００２７】
制御ボード１０は、主電源４０によって給電される。制御ボード１０は、Ｉ／Ｏホスト３０および外部記憶装置２０に接続されている。また、制御ボード１０は、キャパシタ１１、制御プロセッサ１２および揮発性のキャッシュメモリ１３を備え、不揮発性メモリとしてキャッシュメモリ１３と同一容量のフラッシュＲＯＭ１４を備える。
【００２８】
図３は、本実施例に係るストレージシステム８０の構成を示す他のブロック図である。図３は、主電源４０からの電力の供給が停止した場合のブロック図である。キャパシタ１１は、主電源４０からの電力の供給が停止した場合にバックアップ電源として動作し、キャッシュメモリ１３の退避制御のために最低限必要とされる、制御ボード１０上の制御プロセッサ１２、キャッシュメモリ１３およびフラッシュＲＯＭ１４に電力を供給する。
【００２９】
制御プロセッサ１２は、主電源４０からの電力の供給がある場合には、Ｉ／Ｏホスト３０からの書き込み要求を受け付けたとき、書き込みのための制御情報と書き込みデータをキャッシュメモリ１３に一時的に記録し、Ｉ／Ｏホスト３０に対して完了通知を行って書き込み要求を完了させる。また、制御プロセッサ１２は、キャッシュメモリ１３上に未書き込みのデータがある場合には、随時、制御情報にしたがって外部記憶装置２０に書き込む。
【００３０】
制御プロセッサ１２は、主電源４０からの電力の供給が停止した場合には、キャパシタ１１による電力の供給に切り替わったことを認識し、キャッシュメモリ１３の退避処理として、キャッシュメモリ１３上のデータのすべてをフラッシュＲＯＭ１４にコピーする。
【００３１】
（動作）
本実施例に係るキャッシュメモリバックアップ装置の動作について図面を参照して説明する。図４は、本実施例に係るキャッシュメモリバックアップ装置の動作の概略を示すフローチャートである。
【００３２】
図４および図５を参照すると、制御プロセッサ１２は、主電源４０から電力の供給をつねに監視し（ステップＳ１０）、主電源４０からの電力の供給がある場合には（ステップＳ１１のＹｅｓ）、Ｉ／Ｏホスト３０からのＩ／Ｏ要求に対する応答制御（ステップＳ２０）、および、キャッシュメモリ１３上の未書き込みデータの外部記憶装置２０への書き込み制御（ステップＳ３０）を行う。
【００３３】
図６を参照すると、制御プロセッサ１２は、Ｉ／Ｏ要求に対する応答制御において、主電源給電中フラグをチェックし（ステップＳ２１）、給電中である場合には（ステップＳ２１のＹｅｓ）、Ｉ／Ｏホスト３からの書き込み要求の有無を判定する（ステップＳ２２）。制御プロセッサ１２は、書き込み要求がある場合には（ステップＳ２２のＹｅｓ）、書き込みアドレス情報および書き込みデータをキャッシュメモリ１３上へ保存し（ステップＳ２３）、キャッシュメモリ１３上の保存場所と、外部記憶装置２０への書き込みが行われていないことを示す未書き込み情報とを制御情報に追加し（ステップＳ２４）、さらに、書き込み要求に対して終了応答を返却する（ステップＳ２５）。
【００３４】
図７を参照すると、制御プロセッサ１２は、未書き込みデータの書き込み制御（ステップＳ３０）において、主電源供給中フラグをチェックし（ステップＳ３１）、給電中である場合には（ステップＳ３１のＹｅｓ）、キャッシュメモリ１３上の制御情報をチェックし、外部記憶装置２０への未書き込みの有無を判定する（ステップＳ３２）。制御プロセッサ１２は、未書き込みデータがある場合には（ステップＳ３２のＹｅｓ）、未書き込みデータの外部記憶装置２０への書き込みを行い（ステップＳ３３）、書き込み完了後に制御情報に含まれる未書き込み情報を削除する（ステップＳ３４）。
【００３５】
図３を参照すると、主電源４０からの電力の供給が停止した場合には、制御プロセッサ１２、キャッシュメモリ１３およびフラッシュＲＯＭ１４はキャパシタ１１から電力を供給される。
【００３６】
図５を参照すると、制御プロセッサ１２は、主電源４０からの電力の供給が停止したことを検出した場合には（ステップＳ１１のＮｏ）、Ｉ／Ｏホスト３０からのＩ／Ｏ要求に対する応答制御、および、キャッシュメモリ１３上の未書き込みデータの外部記憶装置２０への書き込み制御を停止させるために主電源給電中フラグを停止中に設定する（ステップＳ１２）。また、制御プロセッサ１２は、外部記憶装置２０への未書き込みのデータの有無を判定する（ステップＳ１３）。制御プロセッサ１２は、未書き込みデータがある場合には（ステップＳ１３のＹｅｓ）、フラッシュＲＯＭ１４にとって最も効率の良いアクセス単位であるフラッシュＲＯＭ１４のブロック単位で、キャッシュメモリ１３のデータをフラッシュＲＯＭ１４に退避（コピー）する（ステップＳ１４〜Ｓ１７）。
【００３７】
（効果）
以上説明したように、本実施例に係るキャッシュメモリバックアップ装置（制御ボード１０）によると、バックアップ電源の少量化が可能となる。したがって、バックアップ電源としてバッテリーを用いる代わりに、大容量のキャパシタを用いることができる。
【００３８】
また、キャッシュメモリの退避処理に要する時間を短縮することができる。キャッシュメモリと退避用のフラッシュＲＯＭの容量を同一とし、キャッシュメモリのデータをすべて退避することで、退避制御をフラッシュＲＯＭのブロック単位で実行することができるからである。
【００３９】
さらに、バックアップ電源のメンテナンスが容易化される。従来バックアップ電源として用いられたバッテリーのように、保管時に定期的な補充電を実施する必要がないからである。
【００４０】
また、フラッシュＲＯＭの寿命を考慮する必要もなくなる。キャッシュメモリ上に未書き込みのデータが存在する場合において、停電などの不慮の事故によって主電源からの電力の供給が停止したときにのみ、キャッシュメモリの退避が実施される。したがって、フラッシュＲＯＭへの書き込みは稀にしか発生しないからである。
【００４１】
以上の記載は実施例に基づいて行ったが、本発明は、上記実施例に限定されるものではない。
【産業上の利用可能性】
【００４２】
本発明に係るキャッシュバックアップ装置、方法およびプログラムは、一例として、小容量のバックアップ電源によって実現することができるＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を外部記憶装置として使用した、小規模ストレージシステムに対して適用することができる。なお、プログラムは、任意の記録媒体に記録することができる。
【符号の説明】
【００４３】
１０  制御ボード
１１、５１  キャパシタ
１２  制御プロセッサ
１３、５３  キャッシュメモリ
１４  フラッシュＲＯＭ
２０  外部記憶装置
３０  Ｉ／Ｏホスト
４０  主電源
５０  キャッシュメモリバックアップ装置
５２  制御部
５４  不揮発性メモリ
６０  ストレージ
７０、８０  ストレージシステム
【図１】
2010160654.tif 000003
【図２】
2010160654.tif 000004
【図３】
2010160654.tif 000005
【図４】
2010160654.tif 000006
【図５】
2010160654.tif 000007
【図６】
2010160654.tif 000008
【図７】
2010160654.tif 000009