説明

バックアップ制御装置、バックアップ制御方法及びコンピュータプログラム

【課題】より少ない消費電力によって、不揮発性デバイス書き込み方式によるバックアップ処理を可能とすること。
【解決手段】バックアップ制御装置であって、キャッシュデータを格納するメモリと、不揮発性であり、キャッシュデータの全てを格納可能な容量を有する不揮発性メモリと、メモリに格納されたキャッシュデータをバックアップする場合に、メモリに格納されたキャッシュデータを読み出し、読み出したキャッシュデータを不揮発性メモリに書き込む演算部と、を備え、メモリは、演算部がキャッシュデータを不揮発性メモリに書き込みを行っている間は、セルフリフレッシュモードで動作することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、揮発性メモリに記録されたデータをバックアップする技術に関する。
【背景技術】
【0002】
ディスクアレイ装置では、主電源による電力供給が途絶えた状態でもキャッシュデータを保持する必要がある。そのために、いくつかのバックアップ技術が提案されている。RAM(Random Access Memory)デバイス保持方式では、補助電源からメモリに給電し、リフレッシュ動作を継続することによってキャッシュデータを保持する。また、不揮発性デバイス書き込み方式では、不揮発性デバイスにキャッシュデータを書き込むことによってキャッシュデータを保持する(特許文献1参照)。
【0003】
図5は、本発明に関連する不揮発性デバイス書き込み方式によりバックアップを行うディスクアレイコントローラR1の構成を表す概略ブロック図である。図6は、ディスクアレイコントローラR1の処理の流れを表すフローチャートである。ディスクアレイコントローラR1の演算部R105は、バックアップ移行指示を受けると、二次電池R104に放電を開始させる。また、演算部R105は、メモリR101に記憶されている転送プログラムを実行する。そして、演算部R105は、転送プログラムに応じて、メモリR101からキャッシュデータを読み出し、不揮発性メモリR102に書き込む。
【0004】
図7は、ディスクアレイコントローラR1の処理の概略を表す図である。演算部R105が不揮発性メモリR102に書き込み処理を行っている間、演算部R105によるメモリR101へのアクセスが無い時間は、メモリR101はアイドルモードとなっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平8−161236号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記の不揮発性デバイス書き込み方式には、以下のような問題があった。一般的に、不揮発性メモリR102への書き込み処理には、揮発性のメモリR101からの読み出し処理に比べて、より多くの時間を要してしまう。その間は、メモリR101へ給電してキャッシュデータを保持する必要がある。また、演算部R105が実行する転送プログラムはメモリR101に格納されている。そのため、演算部R105が転送プログラムに従って動くためには、演算部R105が不揮発性メモリR102に書き込み処理を行っている間も、メモリR101を通常動作させておく必要があった。以上のことから、メモリR101の動作のために、多くの電力を要することとなり、二次電池R104の容量を大きくしておく必要があった。
【0007】
上記事情に鑑み、本発明は、より少ない消費電力によって、不揮発性デバイス書き込み方式によるバックアップ処理を可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【0008】
本発明の一態様は、バックアップ制御装置であって、キャッシュデータを格納するメモリと、不揮発性であり、前記キャッシュデータの全てを格納可能な容量を有する不揮発性メモリと、前記メモリに格納された前記キャッシュデータをバックアップする場合に、前記メモリに格納された前記キャッシュデータを読み出し、読み出したキャッシュデータを前記不揮発性メモリに書き込む演算部と、を備え、前記メモリは、前記演算部が前記キャッシュデータを前記不揮発性メモリに書き込みを行っている間は、セルフリフレッシュモードで動作することを特徴とする。
【0009】
本発明の一態様は、バックアップ制御方法であって、キャッシュデータを格納するメモリと、不揮発性であり、前記キャッシュデータの全てを格納可能な容量を有する不揮発性メモリと、を備えるバックアップ制御装置が、前記メモリに格納された前記キャッシュデータをバックアップする場合に、前記メモリに格納された前記キャッシュデータを読み出すステップと、前記バックアップ制御装置が、前記メモリから読み出したキャッシュデータを前記不揮発性メモリに書き込むステップと、前記バックアップ制御装置が、前記キャッシュデータを前記不揮発性メモリに書き込みを行っている間は、前記メモリをセルフリフレッシュモードで動作させるステップと、を備える。
【0010】
本発明の一態様は、キャッシュデータを格納するメモリと、不揮発性であり、前記キャッシュデータの全てを格納可能な容量を有する不揮発性メモリと、を備えるコンピュータに対し、前記メモリに格納された前記キャッシュデータをバックアップする場合に、前記メモリに格納された前記キャッシュデータを読み出すステップと、前記メモリから読み出したキャッシュデータを前記不揮発性メモリに書き込むステップと、前記キャッシュデータを前記不揮発性メモリに書き込みを行っている間は、前記メモリをセルフリフレッシュモードで動作させるステップと、を実行させるためのコンピュータプログラムである。
【発明の効果】
【0011】
本発明により、より少ない消費電力によって、不揮発性デバイス書き込み方式によるバックアップ処理が可能となる。
【図面の簡単な説明】
【0012】
【図1】ディスクアレイコントローラのシステム構成を表すシステム構成図である。
【図2】ディスクアレイコントローラの処理の流れを表すフローチャートである。
【図3】メモリ及び不揮発性メモリの状態遷移の概略を表す図である。
【図4】バックアップ制御装置のシステム構成を表すシステム構成図である。
【図5】本発明に関連する不揮発性デバイス書き込み方式によりバックアップを行うディスクアレイコントローラの構成を表す概略ブロック図である。
【図6】本発明に関連するディスクアレイコントローラの処理の流れを表すフローチャートである。
【図7】本発明に関連するディスクアレイコントローラの処理の概略を表す図である。
【発明を実施するための形態】
【0013】
図1は、ディスクアレイコントローラ1のシステム構成を表すシステム構成図である。ディスクアレイコントローラ1は、ディスクアレイ(Disk Array)を制御する装置である。ディスクアレイとは、複数のハードディスクを用いた装置であり、例えばRAID(Redundant Arrays of Inexpensive Disks)やJBOD(Just a Bunch Of Disks)等の装置である。
【0014】
ディスクアレイコントローラ1は、メモリ101、不揮発性メモリ102、プログラム格納メモリ103、補助電源部104、演算部105、機能部201を備える。図1には、3以上の機能部201が図示されるが、機能部201は1つ又は2つであっても良く、その数は特に限定されない。
【0015】
ディスクアレイコントローラ1には、不図示の主電源部から電力が供給される。主電源部は、ディスクアレイコントローラ1の一部として構成されても良いし、ディスクアレイコントローラ1の外部装置として構成されても良い。主電源部が電力の供給を正常に行っている間は、ディスクアレイコントローラ1の各部は、主電源部によって供給される電力によって動作する。一方、主電源部が電力の供給を正常に行えない場合は、図1の補助電源部供給範囲として破線の矩形に囲まれる各部は、補助電源部104によって供給される電力によって動作する。具体的には、メモリ101、不揮発性メモリ102、プログラム格納メモリ103、補助電源部104、演算部105が、補助電源部供給範囲に含まれる。そして、ディスクアレイコントローラ1は、補助電源部104によって供給される電力によって動作している間に、不揮発性デバイス書き込み方式によりバックアップを行い、メモリ101に格納されているキャッシュデータを不揮発性メモリ102に格納する。
【0016】
メモリ101は、揮発性メモリ装置を用いて構成され、例えばSDRAM(Synchronous Dynamic Random Access Memory)を用いて構成される。メモリ101は、ディスクアレイコントローラ1が制御する対象となるディスクアレイのキャッシュデータと、ディスクアレイを制御するための制御プログラムとを格納する。
【0017】
不揮発性メモリ102は、不揮発性メモリ装置を用いて構成され、電力が供給されない状態となってもデータを保持し続ける。不揮発性メモリ102は、主電源部が電力の供給を正常に行えない場合に、演算部105によって書き込まれるキャッシュデータを格納する。不揮発性メモリ102は、少なくとも、メモリ101に格納されているキャッシュデータの全てを格納するための容量を備えている。
【0018】
プログラム格納メモリ103は、不揮発性メモリ装置を用いて構成され、電力が供給されない状態となってもデータを保持し続ける。プログラム格納メモリ103は、ディスクアレイを制御するための制御プログラムを格納している。制御プログラムは、転送プログラムを含んでいる。転送プログラムとは、主電源部が電力の供給を正常に行えない場合に、演算部105がメモリ101に格納されているキャッシュデータを不揮発性メモリ102に転送してバックアップを行うためのプログラムである。プログラム格納メモリ103は、上記の各プログラムを予め格納している際に、圧縮された状態で格納しておくように構成されても良い。
【0019】
補助電源部104は、電力を要する装置に対して電力を供給するための装置であり、例えば充放電可能な電池(二次電池)を用いて構成される。補助電源部104は、主電源部が電力の供給を正常に行えない場合に、補助電源部供給範囲に含まれる各部に電力を供給する。
【0020】
演算部105は、例えばCPU(Central Processing Unit)等のプロセッサ装置を用いて構成される。演算部105は、メモリ101、不揮発性メモリ102、プログラム格納メモリ103、補助電源部104に対して通信手段を有する。演算部105は、プログラム格納メモリ103に格納されている制御プログラムに基づいて動作し、ディスクアレイコントローラ1に備えられる各部を制御することによって、ディスクアレイコントローラ1としての動作を実現する。また、演算部105は、主電源部が電力の供給を正常に行えない場合には、転送プログラムを実行することによって、メモリ101に格納されるキャッシュデータを不揮発性メモリ102に転送する処理を行う。
【0021】
機能部201は、通信機能を有する装置(通信部)や、主電源部の動作を監視する装置(主電源監視部)や、外部装置とのインタフェースとして動作する装置(インタフェース部)など、ディスクアレイコントローラ1に必要となる各種装置を表す。各機能部201は、互いに同じ装置であっても良いし、互いに異なる装置であっても良い。
【0022】
図2は、ディスクアレイコントローラ1の処理の流れを表すフローチャートである。上述したように、主電源部が電力の供給を正常に行っている間は、ディスクアレイコントローラ1の各部は主電源部によって供給される電力によって動作する。一方、主電源部が電力の供給を正常に行えなくなると、機能部201(主電源監視部)が異常の発生を検出し、バックアップ移行指示を演算部105に通知する。この場合、演算部105は、バックアップ移行指示を受ける(ステップS101)。また、主電源監視部が電力の供給を正常に行えなくなると、補助電源部104は放電を開始し、補助電源部供給範囲内の各部に対して電力の供給を始める(ステップS102)。補助電源部104が放電を開始するきっかけは、機能部201(主電源監視部)からのバックアップ移行指示の受信であっても良いし、演算部105からの放電開始指示の受信であっても良いし、その他であっても良い。
【0023】
演算部105は、バックアップ移行指示を受けると、メモリ101から、展開された状態の転送プログラムを読み出す(ステップS103)。演算部105は、メモリ101から読み出された転送プログラムを、展開された状態で(圧縮されていない状態で)プログラム格納メモリ103に書き込む(ステップS104)。そして、演算部105は、プログラム格納メモリ103に展開された状態で書き込まれた転送プログラムを実行する(ステップS105)。このとき、演算部105は、転送プログラムをメモリ101に書き込むことなく、プログラム格納メモリ103に格納された転送プログラムを参照することによって、転送プログラムを実行する。
【0024】
転送プログラムを実行すると、演算部105は、メモリ101に格納されているキャッシュデータの全てを不揮発性メモリ102に書き込んだか否か判定する(ステップS106)。メモリ101に格納されているキャッシュデータのうち、不揮発性メモリ102に書き込まれていないデータが残っている場合(ステップS106−NO)、演算部105は、メモリ101から新たなキャッシュデータを読み出す(ステップS107)。新たなキャッシュデータとは、未だ不揮発性メモリ102に書き込まれていないキャッシュデータである。
【0025】
次に、演算部105は、メモリ101に対し、セルフリフレッシュモードに移行することを指示する(ステップS108)。メモリ101は、セルフリフレッシュモードに移行することの指示を受けると、セルフリフレッシュモードの状態に移行する。セルフリフレッシュモードとは、メモリ101が、外部からのアクセスによらず、自身のリフレッシュカウンタを用いて自動的にリフレッシュ動作を実行するモードである。メモリ101がセルフリフレッシュモードの状態で消費する電力は、通常時にメモリ101が消費する電力よりも小さい。
【0026】
次に、演算部105は、メモリ101から読み出したキャッシュデータを、不揮発性メモリ102に書き込む(ステップS109)。演算部105は、不揮発性メモリ102に書き込む処理が完了すると、メモリ101に対しセルフリフレッシュモードを解除することを指示する(ステップS110)。メモリ101は、セルフリフレッシュモードを解除することの指示を受けると、セルフリフレッシュモードを解除し、通常の状態に移行する。この後、演算部105は、ステップS106の処理に戻る。
【0027】
ステップS106の処理において、メモリ101に格納されているキャッシュデータのうち、不揮発性メモリ102に書き込まれていないデータが残っていない場合(ステップS106−YES)、演算部105は、それまで実行していた転送プログラムを完了する(ステップS111)。そして、演算部105は、補助電源部104に対し放電を終了するように指示する。この指示を受けて、補助電源部104は放電を終了する(ステップS112)。
【0028】
図3は、メモリ101及び不揮発性メモリ102の状態遷移の概略を表す図である。図3において、メモリの段にある“R”の文字を含む矩形は、演算部105によるキャッシュデータの読み込み処理が行われている状態を表す。バックアップが開始されると、まず演算部105はメモリ101からキャッシュデータを読み出す。その後、演算部105は、メモリ101をセルフリフレッシュモードの状態にし、不揮発性メモリ102にキャッシュデータの書き込みを行う。図3から明らかなように、演算部105がメモリ101からキャッシュデータを読み出す処理に要する時間は、演算部105が不揮発性メモリ102にキャッシュデータを書き込む処理に要する時間に比べて非常に短い。そのため、ディスクアレイコントローラ1は、演算部105が不揮発性メモリ102にキャッシュデータを書き込む処理を行っている間、メモリ101をセルフリフレッシュモードとすることによって、この間のメモリ101における消費電力を削減することが可能となる。したがって、バックアップ処理に要する消費電力の総量を削減できるため、補助電源部104に用いられる二次電池の低価格化や小型化を実現できる。また、同様の理由により、補助電源部104に用いられる二次電池の選択の幅を広げることが可能となる。
【0029】
<変形例>
ディスクアレイコントローラ1が備えるメモリ101、不揮発性メモリ102、プログラム格納メモリ103、補助電源部104、演算部105を、バックアップ制御装置10として構成しても良い。図4は、バックアップ制御装置10のシステム構成を表すシステム構成図である。バックアップ制御装置10は、キャッシュデータのバックアップを必要とする装置であれば、ディスクアレイに拘わらずどのような装置に備えられても良い。このように構成されたバックアップ制御装置10は、上記のディスクアレイコントローラ1と同様の効果を奏する。
【0030】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0031】
1…ディスクアレイコントローラ, 10…バックアップ制御装置, 101…メモリ, 102…不揮発性メモリ, 103…プログラム格納メモリ, 104…補助電源部, 105…演算部, 201…機能部

【特許請求の範囲】
【請求項1】
キャッシュデータを格納するメモリと、
不揮発性であり、前記キャッシュデータの全てを格納可能な容量を有する不揮発性メモリと、
前記メモリに格納された前記キャッシュデータをバックアップする場合に、前記メモリに格納された前記キャッシュデータを読み出し、読み出したキャッシュデータを前記不揮発性メモリに書き込む演算部と、を備え、
前記メモリは、前記演算部が前記キャッシュデータを前記不揮発性メモリに書き込みを行っている間は、セルフリフレッシュモードで動作することを特徴とする、バックアップ制御装置。
【請求項2】
プログラム用不揮発性メモリをさらに備え、
前記メモリは、前記演算部が前記キャッシュデータを前記メモリから読み出し前記不揮発性メモリに書き込むためのプログラムを格納し、
前記演算部は、前記メモリに格納された前記キャッシュデータをバックアップする場合に、前記メモリに格納されている前記プログラムを、前記プログラム用不揮発性メモリに書き込み、前記プログラム用不揮発性メモリから前記プログラムを読み出すことによって当該プログラムを実行する
ことを特徴とする請求項1に記載のバックアップ制御装置。
【請求項3】
前記プログラム用不揮発性メモリは、前記演算部が動作するためのプログラムを予め格納しているプログラム格納用のメモリであることを特徴とする、請求項2に記載のバックアップ制御装置。
【請求項4】
キャッシュデータを格納するメモリと、不揮発性であり、前記キャッシュデータの全てを格納可能な容量を有する不揮発性メモリと、を備えるバックアップ制御装置が、前記メモリに格納された前記キャッシュデータをバックアップする場合に、前記メモリに格納された前記キャッシュデータを読み出すステップと、
前記バックアップ制御装置が、前記メモリから読み出したキャッシュデータを前記不揮発性メモリに書き込むステップと、
前記バックアップ制御装置が、前記キャッシュデータを前記不揮発性メモリに書き込みを行っている間は、前記メモリをセルフリフレッシュモードで動作させるステップと、
を備えるバックアップ制御方法。
【請求項5】
キャッシュデータを格納するメモリと、不揮発性であり、前記キャッシュデータの全てを格納可能な容量を有する不揮発性メモリと、を備えるコンピュータに対し、
前記メモリに格納された前記キャッシュデータをバックアップする場合に、前記メモリに格納された前記キャッシュデータを読み出すステップと、
前記メモリから読み出したキャッシュデータを前記不揮発性メモリに書き込むステップと、
前記キャッシュデータを前記不揮発性メモリに書き込みを行っている間は、前記メモリをセルフリフレッシュモードで動作させるステップと、
を実行させるためのコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate