JP2010287097A - 記憶装置制御方法、記憶装置制御プログラム - Google Patents

記憶装置制御方法、記憶装置制御プログラム Download PDF

Info

Publication number
JP2010287097A
JP2010287097A JP2009141217A JP2009141217A JP2010287097A JP 2010287097 A JP2010287097 A JP 2010287097A JP 2009141217 A JP2009141217 A JP 2009141217A JP 2009141217 A JP2009141217 A JP 2009141217A JP 2010287097 A JP2010287097 A JP 2010287097A
Authority
JP
Japan
Prior art keywords
storage device
data write
target storage
data
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009141217A
Other languages
English (en)
Other versions
JP5279626B2 (ja
Inventor
Yukie Hiratsuka
幸恵 平塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2009141217A priority Critical patent/JP5279626B2/ja
Publication of JP2010287097A publication Critical patent/JP2010287097A/ja
Application granted granted Critical
Publication of JP5279626B2 publication Critical patent/JP5279626B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】性質の異なる複数のストレージ装置を用いて、データ書込処理の性能や信頼性等を向上させる。
【解決手段】ターゲット記憶装置に対するデータ書込命令を一時格納用記憶装置に対するデータ書込命令に変換し、このデータ書込命令を用いて一時格納用記憶装置にデータを書き込む。これにより、ターゲット記憶装置に対するデータ書込処理の少なくとも一部を一時格納用記憶装置に分散させ、データ書き込み処理の性能や信頼性等を向上させることができる。
【選択図】図1

Description

本発明は、複数の記憶装置を制御する方法およびそのプログラムに関するものである。
PC(Personal Computer)やAV機器などには、USB(Universal Serial Bus)やIEEE1394など複数のインターフェースを備えているものがある。それらのインターフェースにストレージ装置を接続することにより、機器本体が内蔵するストレージ装置とは別にストレージ装置を使用することができる。
上記のインターフェースを通して接続可能なストレージ装置には、たとえば、USBフラッシュメモリドライブ、SDカード、光ディスク装置などがある。これらのストレージ装置は、データ転送速度、消費電力の点でそれぞれ異なった特徴を持っている。
近年、上記のような異なる特徴をもつストレージ装置を連携動作させることで、I/O性能を向上させる方法が検討されている。たとえば、マイクロソフト社が開発したReadyBoostという技術では、高速な読み出し速度をもつUSBフラッシュメモリドライブやSDカードを、HDD(Hard Disk Drive)とともに仮想メモリとして使用する。下記特許文献1及び非特許文献1に、ReadyBoostに関する事項が記載されている。
US 2006/0090031 A1
Microsoft Corporation,Windows PC Accelerators,2006
上記従来技術では、外部接続された複数のストレージ装置の1つを仮想メモリとして機能させることにより、仮想メモリに係る処理の高速化を図る制御方法が記載されている。
一方で、複数のストレージ装置を用いて、データ書込処理の性能や信頼性等を向上させることに対する要求がある。上記従来技術では、異なった性質を持つ複数のストレージ装置を用いて仮想メモリに係る処理の性能を向上させることはできるが、データ書込処理に関する性能や信頼性等を全般的に向上させることについては記載されていない。
本発明は、上記のような課題を解決するためになされたものであり、性質の異なる複数のストレージ装置を用いて、データ書込処理の性能や信頼性等を向上させることを目的とする。
本発明に係る記憶装置制御方法では、ターゲット記憶装置に対するデータ書込命令を一時格納用記憶装置に対するデータ書込命令に変換し、このデータ書込命令を用いて一時格納用記憶装置にデータを書き込む。
本発明に係る記憶装置制御方法では、ターゲット記憶装置に対するデータ書込命令の少なくとも一部を一時格納用記憶装置に転送する。これにより、ターゲット記憶装置に対するデータ書込処理の少なくとも一部を一時格納用記憶装置に分散させ、データ書き込み処理の性能や信頼性等を向上させることができる。
実施の形態1に係る記憶装置制御プログラムの構成図である。 バッファ用記憶装置320にバッファ用記憶領域321用の領域を確保するためのパーティション設定画面である。 各記憶装置上の記憶領域を設定した結果を示す図である。 実施の形態2に係る記憶装置制御プログラムの構成図である。 実施の形態4に係る記憶装置制御プログラムの構成図である。 書込レート算出部240の処理フロー図である。 実施の形態5に係る記憶装置制御プログラムの構成図である。 バッテリー残量取得部170がバッテリー残量を取得する処理に係るフローチャートである。 バッファ用記憶装置320に書き込まれたデータをターゲット記憶装置310に書き戻す際の動作フローである。 実施の形態6に係る記憶装置制御プログラムの構成図である。 ターゲット記憶装置310のエラー検出に伴うコマンド複製処理に係る処理フローである。
(実施の形態1)
図1は、本発明の実施の形態1に係る記憶装置制御プログラムの構成図である。
本実施の形態1に係る記憶装置制御プログラムは、PCやAV機器などのコンピューターが備えるCPU(Central Processing Unit)などの演算装置によって実行されるソフトウェアプログラムである。演算装置は、同プログラムが規定する動作にしたがって、後述の動作を行う。上記記憶装置制御プログラムは、PCなどのコンピューターに実装されている。
本発明の実施の形態1に係る記憶装置制御プログラムを実行するコンピューターは、ターゲット記憶装置310、およびバッファ用記憶装置320に、適当な入出力インターフェースを介して接続されている。本実施の形態1に係る記憶装置制御プログラムは、このコンピューターの演算装置によって実行され、ターゲット記憶装置310とバッファ用記憶装置320を制御する。
ターゲット記憶装置310は、上記コンピューターが備える主要な記憶装置である。バッファ用記憶装置320は、一時格納用記憶装置として用いられる。詳細は後述する。
また、上記コンピューターは、本実施の形態1に係る記憶装置制御プログラムの他に、ターゲット記憶装置310に対して制御コマンドを発行するためのデバイスドライバ群(上位デバイスドライバ410、中間デバイスドライバ420、物理デバイスドライバ430)と、バッファ用記憶装置320に対して制御コマンドを発行するためのデバイスドライバ群(上位デバイスドライバ440、中間デバイスドライバ450、物理デバイスドライバ460)と、を有する。
これらのデバイスドライバ群は、ソフトウェアプログラムとして実装されている。当該コンピューターの演算装置は、これらのデバイスドライバが規定する動作にしたがって、ターゲット記憶装置310およびバッファ用記憶装置320に対して制御コマンドを発行する。
なお、これらのデバイスドライバ群は、必要に応じて、コンピューターのOS(Operating System)が備えるIOマネージャー470を介して、制御コマンドを実行する。
本実施の形態1に係る記憶装置制御プログラムは、デバイス連携アプリケーション100、フィルタドライバ200を有する。これらはいずれも、当該コンピューターの演算装置が実行するソフトウェアプログラムである。
フィルタドライバ200は、ターゲット記憶装置310に対する物理デバイスドライバ430と中間デバイスドライバ420の間に介在する。
デバイス連携アプリケーション100は、上記各デバイスドライバやフィルタドライバ200よりも上位のプリケーションプログラムとして実装されている。デバイス連携アプリケーション100は、これらのソフトウェアプログラムが提供する機能を利用して後述の動作を行う。
デバイス連携アプリケーション100、フィルタドライバ200、およびこれらプログラムが備える各機能部は、本実施の形態1に係る記憶装置制御プログラムを実行する演算装置の動作を規定する。演算装置はその規定にしたがって動作する。以下の説明では、記載の簡易のため、上記各プログラムまたはその各機能部が動作を実行するものとして記載するが、コンピューター上で実際に動作を実行するハードウェアは演算装置であることを付言しておく。
フィルタドライバ200は、データ書込コマンド転送部210を備える。データ書込コマンド転送部210は、フィルタドライバ200の一部を構成するソフトウェアモジュールなどの形態で実装することができる。
データ書込コマンド転送部210は、各デバイスドライバを介してターゲット記憶装置310に対して発行されたデータ書込コマンドの少なくとも一部をキャプチャし、ターゲット記憶装置310に送信することなく、デバイス連携アプリケーション100に転送する。
デバイス連携アプリケーション100は、データ書込コマンド生成部110、バッファ領域確保部120、アドレス管理部130、コマンド変換部140を備える。これら各部は、デバイス連携アプリケーション100の一部を構成するソフトウェアモジュールなどの形態で実装することができる。
コマンド変換部140は、フィルタドライバ200が転送した制御コマンドを、バッファ用記憶装置320に対する制御コマンドに変換する。
バッファ領域確保部120は、バッファ用記憶装置320上に、ブロック単位でアクセス可能なバッファ用記憶領域321を一時格納用記憶領域として確保する。
アドレス管理部130は、バッファ領域確保部120がバッファ用記憶領域321を確保する際に、データを書き込むための書込開始アドレスを記憶する。書込開始アドレスの記憶先は、当該コンピューターが備えるメモリ装置などの記憶装置を用いればよい。
データ書込コマンド生成部110は、ターゲット記憶装置310にデータを書き込むための制御コマンドを生成する。
以上、本実施の形態1に係る記憶装置制御プログラムと周辺装置の構成を説明した。
次に、本実施の形態1に係る記憶装置制御プログラムの動作を、下記(ステップ1)〜(ステップ6)にしたがって説明する。
(ステップ1)バッファ用記憶領域321のパーティション設定
図2は、バッファ用記憶装置320にバッファ用記憶領域321用の領域を確保するためのパーティション設定画面である。
ユーザーは、上述のコンピューターを操作して、図2に示すパーティション設定画面を表示するよう当該コンピューターに要求する。
デバイス連携アプリケーション100は、上記要求を受けると、バッファ用記憶装置320として用いることのできる記憶装置を検索する。例えば、データ書込速度が所定の基準値を満たしているか否かを、バッファ用記憶装置320として用いることができるか否かの基準とすればよい。デバイス連携アプリケーション100は、バッファ用記憶装置320としてアクセス可能な記憶装置を検出すると、その記憶装置のバッファ用の領域として割り当て不可能な記憶領域と割り当て可能な記憶領域を、区別して扱う。バッファ用の記憶領域として割り当て可能な領域とは、自由にデータを書き込み可能な空き領域のことであり、割り当てが済んでいない領域や、割り当てが済んだ領域であってデータの書き込み可能な領域のことである。
図2は、ユーザーが未使用の記憶装置(したがってすべての記憶領域はバッファ用の領域として割り当て可能)上に、ストレージ用記憶領域とバッファ用の記憶領域をそれぞれ設定し、それらのサイズを設定した場合の例を示している。
(ステップ2)バッファ用記憶領域321を確保する
図3は、図2の画面を通してユーザーがバッファ用の記憶装置にストレージの記憶領域とバッファ用の記憶領域を設定した結果をバッファ用の記憶装置に反映した時の結果の例を示す図である。
デバイス連携アプリケーション100のバッファ領域確保部120は、図2のパーティション設定画面で設定した内容にしたがって、バッファ用記憶装置320上にバッファ用記憶領域321を確保する。
(ステップ3)バッファ用記憶領域321の書込開始アドレスを記憶する
デバイス連携アプリケーション100のアドレス管理部130は、バッファ領域確保部120が確保したバッファ用記憶領域321の開始アドレス、すなわちバッファ用記憶領域321にデータを書き込む際の書込開始アドレスを記憶する。
(ステップ4)データ書込コマンドを転送する
ターゲット記憶装置310に対するデータ書込コマンドは、例えば当該コンピューター上の他のソフトウェアアプリケーションなどがターゲット記憶装置310にデータを書き込もうとする際に、各層のデバイスドライバによって発行される。
フィルタドライバ200のデータ書込コマンド転送部210は、ターゲット記憶装置310に対するデータ書込コマンドが発行されると、これを抽出し、ターゲット記憶装置310に対して出力せずに、デバイス連携アプリケーション100へ転送する。
(ステップ5)データ書込コマンドを変換する
デバイス連携アプリケーション100のコマンド変換部140は、フィルタドライバ200より転送されたデータ書込コマンドを、バッファ用記憶装置310に対するデータ書込コマンドに変換する。ターゲット記憶装置310のデバイスドライバが使用するデータ書込コマンドの形式と、バッファ用記憶装置320のデバイスドライバが使用するデータ書込コマンドの形式とが異なる場合は、コマンド形式の変換も併せて行う。コマンド変換部140は、変換して得たデータ書込コマンドを、バッファ用記憶装置320の中間デバイスドライバ450にセットする。
なお、コマンド変換部140は、コマンド変換を行う際に、アドレス管理部130が記憶したバッファ用記憶領域321の書込開始アドレスを用いて、各記憶装置上における書込アドレスの変換も行う。具体的には、ターゲット記憶装置310上のLBA(Logical Block Addressing)を、バッファ用記憶装置320のバッファ用記憶領域321内のLBAアドレスに変換する。
(ステップ6)バッファ用記憶領域321へデータを書き込む
バッファ用記憶装置320の各層のデバイスドライバは、ステップ5で生成されたデータ書込コマンドを用いて、ターゲット記憶装置310に書き込まれる予定であったデータをバッファ用記憶領域321内に書き込む。
以上、本実施の形態1に係る記憶装置制御プログラムの動作を説明した。
本実施の形態1では、ターゲット記憶装置310に対するデータ書込コマンドを抽出するため、コマンドを捕捉しやすいように、中間デバイスドライバ420と物理デバイスドライバ430の間にフィルタドライバ200というモジュールを導入した。しかし、ターゲット記憶装置310に対するデータ書込コマンドを捕捉することができるのであれば、本実施の形態1におけるフィルタドライバ200以外の仕組みを用いることもできる。他の実施の形態においても同様である。
以上のように、本実施の形態1によれば、ターゲット記憶装置310に対するデータ書込コマンドとその書込アドレスは、バッファ用記憶装置320のバッファ用記憶領域321に対するデータ書込コマンドとその書込アドレスに変換される。
これにより、ターゲット記憶装置310とは別の記憶装置を、バッファ用記憶装置320として使用することができる。たとえば、複数の記憶装置が混在する環境下において、いずれかの記憶装置に、他の記憶装置へ書き込まれるべきデータを一時的に退避させることができる。
また、本実施の形態1によれば、バッファ用記憶装置320は、ターゲット記憶装置310と同様の不揮発性の記憶装置、例えばUSBメモリやSDカード、HDDなどを用いて構成することができる。
これにより、いずれ削除することを前提とした揮発性の記憶装置などの予備的なデータ領域とは異なり、バッファ用記憶領域321に格納されたデータは、ターゲット記憶装置310に格納されたデータと同等に取り扱うこともできる。
したがって、複数の記憶装置で構成されたストレージ環境を、より柔軟かつ多用途に取り扱うことができる。
また、本実施の形態1において、コマンド変換部140が制御コマンドの形式を変換する場合は、それぞれ異なるデバイスドライバで制御される複数の記憶装置を連携動作させることができる。
(実施の形態2)
本発明の実施の形態2では、ターゲット記憶装置310に対するデータ書込コマンドを転送するか否かを指定することのできる構成と動作例を説明する。また、バッファ用記憶領域321に格納されているデータをターゲット記憶装置310に書き戻す構成と動作についても併せて説明する。その他の構成は、実施の形態1と同様である。
図4は、本実施の形態2に係る記憶装置制御プログラムの構成図である。
本実施の形態2において、デバイス連携アプリケーション100は、実施の形態1で説明した構成に加え、フィルタON部150、フィルタOFF部160を備える。これら各部は、データ連携アプリケーション100の一部を構成するソフトウェアモジュールなどの形態で実装することができる。
フィルタON部150は、後述のON部220に対して、データ書込コマンド転送部210の動作開始を指示する。フィルタOFF部160は、後述のOFF部230に対して、データ書込コマンド転送部210の動作停止を指示する。
本実施の形態2において、フィルタドライバ200は、実施の形態1で説明した構成に加え、ON部220、OFF230を備える。これら各部は、フィルタドライバ200の一部を構成するソフトウェアモジュールなどの形態で実装することができる。
ON部220およびOFF部230は、それぞれ、フィルタON部150、フィルタOFF部160より、データ書込コマンド転送部210の動作開始/動作停止の指示を受け取るためのソフトウェア上のインターフェースである。
本実施の形態2において、アドレス管理部130は、バッファ用記憶領域321上の書込開始アドレスを記憶する際に、この書込開始アドレスに対応するターゲット記憶装置310上の書込開始アドレスを記憶する。両者の対応関係については後述する。
本実施の形態2において、データ書込コマンド設定部110は、アドレス管理部130が記憶しているターゲット記憶装置310上の書込開始アドレスを用いて、バッファ用記憶領域321内に格納されているデータをターゲット記憶装置310に書き戻すためのデータ書込コマンドを生成する。また、生成したデータ書込コマンドをターゲット記憶装置310の中間デバイスドライバ420にセットする。詳細は後述する。
以上、本実施の形態2に係る記憶装置制御プログラムの構成を説明した。
次に、本実施の形態2に係る記憶装置制御プログラムの動作を、下記(ステップ1)〜(ステップ9)にしたがって説明する。
(ステップ1)〜(ステップ3)
これらのステップは、実施の形態1の(ステップ1)〜(ステップ3)と同様である。
(ステップ4)フィルタドライバ101をONにする
デバイス連携アプリケーション100のフィルタON部150は、データ書込コマンド転送部210の動作を開始するため、ON部220に対してその旨を指示する。ON部220は、上記指示を受け取ると、データ書込コマンド転送部210の動作を開始させる。
(ステップ5)〜(ステップ6)
これらのステップは、実施の形態1の(ステップ4)〜(ステップ5)と同様である。
(ステップ7)書込アドレスのセットを記憶する
デバイス連携アプリケーション100のアドレス管理部130は、上記(ステップ6)におけるコマンド変換前のターゲット記憶装置310上の書込アドレスと、コマンド変換後のバッファ用記憶装置321上の書込アドレスとのセットを、管理情報として記憶する。
(ステップ8)バッファ用記憶領域321へデータを書き込む
本ステップは、実施の形態1の(ステップ6)と同様である。
(ステップ9)ターゲット記憶装置310へデータを戻す
デバイス連携アプリケーション100は、バッファ用記憶領域321内に書き込んだデータをターゲット記憶装置310へ戻す場合は、以下の動作を実行する。
(ステップ9:その1)
データ書込コマンド生成部110は、アドレス管理部130が記憶した上述の書込アドレスのセットを用いて、バッファ用記憶領域321が格納しているデータを、同領域の先頭アドレスから順次読み出す。
(ステップ9:その2)
書込コマンド生成部110は、アドレス管理部130が記憶した上述の書込アドレスのセットを用いて、ターゲット記憶装置310上の書込アドレスを取得する。
(ステップ9:その3)
書込コマンド生成部110は、上記(その1)〜(その2)の結果を用いて、バッファ用記憶領域321が格納しているデータをターゲット記憶装置310に書き込むためのデータ書込コマンドを生成する。このときのデータ書込コマンドは、バッファ用記憶装置320に対して発行されたデータ書込コマンドを変換して生成するわけではないので、コマンド変換を行う必要はない。
(ステップ9:その4)
フィルタOFF部160は、フィルタドライバ200のOFF部230に対して、データ書込コマンド転送部210の動作をOFFするよう指示する。OFF部230は、その指示にしたがって、データ書込コマンド転送部210の動作をOFFする。
(ステップ9:その5)
書込コマンド生成部110は、上記(その3)で生成したデータ書込コマンドを、ターゲット記憶装置310の中間デバイスドライバ420にセットする。ターゲット記憶装置310の中間デバイスドライバ420は、そのデータ書込コマンドを実行し、ターゲット記憶装置310にデータを書き込む。
以上、本実施の形態2に係る記憶装置制御プログラムの動作を説明した。
本実施の形態2では、フィルタドライバ200はON部220とOFF部230を備えていることを説明したが、データ書込コマンド転送部210の動作をON/OFFすることができるのであれば、その他の構成を用いることもできる。他の実施の形態においても同様である。
以上のように、本実施の形態2によれば、データ書込コマンド転送部210の動作をON/OFFすることができるので、ターゲット記憶装置310に対するデータ書込コマンドを、任意のタイミングでデータ連携アプリケーション100に転送することができる。
また、本実施の形態2によれば、バッファ用記憶領域321に格納されているデータをターゲット記憶装置310に書き戻すことができる。これにより、ターゲット記憶装置310とは別の記憶装置を、一時格納用のバッファとして使用することができるので、記憶装置の構成の柔軟性が増し、複数種類の記憶装置を多様な用途で利用することができる。
(実施の形態3)
本発明の実施の形態3では、バッファ用記憶装置320を利用してターゲット記憶装置320の省電力動作を図る動作について説明する。なお、本実施の形態3に係る記憶装置制御プログラムおよび周辺装置の構成は、実施の形態2と同様である。
以下、本実施の形態3に係る記憶装置制御プログラムの動作を説明する。
(ステップ1)〜(ステップ8)
これらのステップにおける動作は、実施の形態2で説明した(ステップ1)〜(ステップ8)と同様である。
(ステップ9)ターゲット記憶装置310を省電力モードへ移行する
ターゲット記憶装置310に対し、データ書込コマンドばかりが発行されている状況を仮定する。この場合、ターゲット記憶装置310に対する制御コマンドは、全てフィルタドライバ200によってフィルタリングされ、デバイス連携アプリケーション100に転送されることになる。すなわち、ターゲット記憶装置310は実質的には動作していないかのような状況となる。
本実施の形態3では、この状況を利用し、ターゲット記憶装置310を省電力モード(スリープモード)に移行して消費電力を抑制することを図る。具体的には、例えば以下のような手法を用いることができる。
(ステップ9:手法その1)
デバイス連携アプリケーション100またはフィルタドライバ200は、ターゲット記憶装置310に対して発行される制御コマンドを監視しておく。例えばデータ書込コマンドばかりが所定時間連続して発行されているような状況を検知すると、デバイス連携アプリケーション100またはフィルタドライバ200は、ターゲット記憶装置310に対して省電力モードに移行すべき旨の制御コマンドを発行する。
(ステップ9:手法その2)
ターゲット記憶装置310が自ら、自己に対する制御コマンドが所定時間発行されていないことを検知し、自律的に省電力モードに移行する。
(ステップ10)バッファ用記憶装置320に書き込むデータ量をカウントする
デバイス連携アプリケーション100は、例えばコマンド変換部140がバッファ用記憶装置320の中間デバイスドライバ450にデータ書込コマンドをセットする際に、そのデータ書込コマンドがバッファ用記憶領域321に書き込むデータ量を積算しておく。
(ステップ11)ターゲット記憶装置310を通常モードに戻す
デバイス連携アプリケーション100は、バッファ用記憶領域321に書き込んだデータ量が所定のデータ容量閾値以上となったときなどを基準として、ターゲット記憶装置310をスリープモードから通常モードに復帰させる。具体的には、例えば以下のような手法を用いることができる。
(ステップ11:手法その1)
デバイス連携アプリケーション100は、ターゲット記憶装置310に対して通常モードに移行すべき旨の制御コマンドを発行する。
(ステップ11:手法その2)
デバイス連携アプリケーション100は、上記のような制御コマンドは発行せず、次の(ステップ12)を直接実行する。ターゲット記憶装置310は、データ書込コマンドを受け付けると、自律的に通常モードに復帰する。
(ステップ12)ターゲット記憶装置310へデータを戻す
本ステップは、実施の形態2で説明した(ステップ9)と同様である。
以上、本実施の形態3に係る記憶装置制御プログラムの動作を説明した。
なお、省電力化の観点からは、バッファ用記憶装置320は消費電力が低い記憶装置を選択することが好ましい。例えば、あらかじめ各記憶装置の仕様を調べておき、好ましい記憶装置をバッファ用記憶装置320として選択するように、デバイス連携アプリケーション100を設定しておくとよい。
以上のように、本実施の形態3によれば、バッファ用記憶装置320にデータ書込コマンドを発行している間は、ターゲット記憶装置310を省電力モード(スリープモード)に移行することができる。
これにより、ターゲット記憶装置310の省電力化を図ることができる。特に、データ書込時の消費電力が高いターゲット記憶装置310への書き込み頻度があまり高くない場合に本実施の形態3の手法を用いると、効果的である。
(実施の形態4)
本発明の実施の形態4では、ターゲット記憶装置310に対するデータ書込処理の一部をバッファ用記憶装置320にも分散する動作例を説明する。
図5は、本実施の形態4に係る記憶装置制御プログラムの構成図である。
本実施の形態4におけるフィルタドライバ200は、実施の形態2または3で説明した構成に加えて、書込レート算出部240を備える。なお図5では、図4の構成に加えて書込レート算出部240を設けた例を図示した。その他の構成は、実施の形態2または3と同様である。
書込レート算出部240は、ターゲット記憶装置310に対する単位時間あたりのデータ書込要求速度(データ書込要求レート)を算出する。書込レート算出部240は、フィルタドライバ200の一部を構成するソフトウェアモジュールなどの形態で実装することができる。
図6は、書込レート算出部240の処理フロー図である。以下、図6の各ステップについて説明する。なお、フィルタドライバ200のデータ書込コマンド転送部210は、既に動作を開始済みであるものとする。
(図6:ステップS600)
書込レート算出部240は、例えば所定の時間間隔毎に、本動作フローを開始する。
(図6:ステップS601)
書込レート算出部240は、所定時間内に処理されたデータ書込コマンドのデータ転送要求量を計算する。これは、ターゲット記憶装置310に対する同時間内の平均データ書込要求レートを計算していることに相当する。
(図6:ステップS602)
書込レート算出部240は、ステップS601で計算したデータ転送要求量が所定のデータ転送要求量閾値以上である場合は、ステップS603へ進む。データ転送要求量閾値以上ではない場合は、本動作フローを終了する。本ステップは、上記データ書込要求レートが所定のデータ書込要求レート閾値以上であるか否かを判定しているということもできる。
(図6:ステップS603)
フィルタドライバ200のデータ書込コマンド転送部210は、ターゲット記憶装置310に対するデータ書込コマンドの一部を、デバイス連携アプリケーション100に転送する。以後の動作は実施の形態1の(ステップ5)の該当部分以後と同様である。
以上、書込レート算出部240の処理フローを説明した。
なお、データ書込コマンド転送部210がデータ書込コマンドの転送を開始した後に、上記図6のステップS601で計算したデータ書込要求レートが一定の転送レート(例えばデータ転送要求量閾値)以下に低下した際は、以下の追加処理を実行してもよい。
(追加処理:ステップ1)
デバイス連携アプリケーション100のフィルタOFF部160は、フィルタドライバ200のデータ書込コマンド転送部210の動作を停止するため、OFF部230に対してその旨を指示する。OFF部230は、上記指示を受け取ると、データ書込コマンド転送部210の動作を停止させる。
(追加処理:ステップ2)
デバイス連携アプリケーション100は、バッファ用記憶領域321が格納しているデータを、ターゲット記憶装置310に戻す。本ステップの具体的な処理内容は、例えば実施の形態2で説明した(ステップ9)と同様でよい。
本実施の形態4では、データ書込要求レートが所定の閾値以上となったときに、ターゲット記憶装置310に対して大きなデータ書込負荷がかかるものと判断し、データ書込コマンドの一部をバッファ用記憶装置320に転送することを説明した。
一方、データ書込要求レートのみならず、データ読込要求レートなどその他の処理負荷も総和して、ターゲット記憶装置310に対して全体的に負荷がかかっているか否かを基準に、コマンドを転送するか否かを判定してもよい。この場合は、図6のステップS601において、データ書込要求レートに加えてその他の処理要求レートも併せて計算し、ステップS602では、その総和が所定閾値以上であるか否かを判断するようにするとよい。
また、本実施の形態4では、データ書込コマンドを転送する例を説明したが、例えばバッファ用記憶装置320とターゲット記憶装置310の双方に同一の読込対象データが存在しているときは、データ読込コマンドの一部を転送して、データ読込処理の高速化を図ることも考えられる。
また、本実施の形態4では、実際のデータ書込処理ではなく、データ書込「要求」レートなどを判定基準とした。これは、ストレージ装置の仕様によっては、データ書込「要求」受領後、HDD側にデータを転送した時点(HDD内部のバッファへのデータ転送が終了しただけでディスクにデータが書き込まれていない状態)でコマンド処理が終了したとみなされる場合があるため、データ書込「要求」が発行された時点での書き込み要求量を基に負荷を求めたものである。実際のデータ書込完了(ディスクへのデータ書き込みの完了)をストレージ装置の外部から把握することができれば、必ずしもデータ書込「要求」レートなどを判定基準としなくともよい。
以上のように、本実施の形態4によれば、ターゲット記憶装置310の処理負荷(例えばデータ書込負荷)が高まったときに、ターゲット記憶装置310に対する制御コマンドの一部を、デバイス連携アプリケーション100を介してバッファ用記憶装置320に転送することができる。
これにより、例えば映像コンテンツのような大容量データをダウンロードして書き込むような負荷の高い処理をターゲット記憶装置310が実行する際に、その処理の一部をバッファ用記憶装置320に分散することができる。したがって、同処理を複数の記憶装置に分散して高速に処理することができる。
この手法は、特にモバイル機器のように、機器外部からのデータの移動を高速に行う必要のある機器において有効である。
(実施の形態5)
本発明の実施の形態5では、ターゲット記憶装置310が使用するバッテリー残量に応じて、ターゲット記憶装置310に対するデータ書込処理をバッファ用記憶装置320に転送する動作例を説明する。これにより、ターゲット記憶装置310が電源から切断されてバッテリー動作をしている間に、データ書込が失敗することを防ぐことを図る。
本実施の形態5では、例えばノートPCのようにバッテリー動作を行う可能性のあるコンピューターの記憶装置としてターゲット記憶装置310が用いられている状況を想定する。ただし、本実施の形態5はこれに限られるものではなく、ターゲット記憶装置310がバッテリー動作をする状況が発生し得る任意の環境において、適用することができる。
なお、ターゲット記憶装置310、またはターゲット記憶装置310を備えているコンピューターは、ターゲット記憶装置310が使用するバッテリー残量および自己が電源に接続されているか否かを表す信号やデータを外部に提示する機能を有するものとする。
図7は、本実施の形態5に係る記憶装置制御プログラムの構成図である。本実施の形態5において、デバイス連携アプリケーション100は、実施の形態1〜4いずれかで説明した構成に加え、バッテリー残量取得部170を備える。その他の構成は、実施の形態1〜4いずれかと同様である。なお、図7では、実施の形態2で説明した構成に加えてバッテリー残量取得部170を備える構成を図示した。
バッテリー残量取得部170は、ターゲット記憶装置310が電力源として使用するバッテリー残量と、各記憶装置の消費電力とを取得する機能を備える。バッテリー残量取得部170は、データ連携アプリケーション100の一部を構成するソフトウェアモジュールなどの形態で実装することができる。
ここでいうバッテリーとは、ターゲット記憶装置310本体が備えているものでもよいし、ターゲット記憶装置310を備えるコンピューターが使用するバッテリーでもよい。後者の場合、ターゲット記憶装置310は、当該コンピューターから電力供給を受けて動作する。
各記憶装置の消費電力は、各記憶装置の仕様に基づきあらかじめ適当なファイルなどに各記憶装置の平均消費電力値を記録しておく、などの手法で把握すればよい。
図8は、バッテリー残量取得部170がバッテリー残量を取得する処理に係るフローチャートである。以下、図8の各ステップについて説明する。なお、フィルタドライバ200のデータ書込コマンド転送部210は、既に動作を開始済みであるものとする。
(図8:ステップS800)
バッテリー残量取得部170は、例えば所定の時間間隔毎に本動作フローを開始する。
(図8:ステップS801)
バッテリー残量取得部170は、ターゲット記憶装置310が使用するバッテリー残量を取得する。取得したバッテリー残量が所定のバッテリー残量閾値以下である場合は、ステップS802へ進む。バッテリー残量閾値以下ではない場合、あるいはバッテリー残量閾値以下であってもターゲット記憶装置310が電源に接続されている場合は、本動作フローを終了する。
(図8:ステップS802)
フィルタドライバ200のデータ書込コマンド転送部210は、ターゲット記憶装置310に対するデータ書込コマンドを、デバイス連携アプリケーション100に転送する。また、バッテリー残量取得部170は、各記憶装置の消費電力を、デバイス連携アプリケーション100に報告する。
デバイス連携アプリケーション100は、消費電力の最も少ないバッファ用記憶装置320を選択する。
デバイス連携アプリケーション100は、上記選択したバッファ用記憶装置310に対して、実施の形態1の(ステップ5)の該当部分以後と同様の手順を実行する。
以上、バッテリー残量取得部170がバッテリー残量を取得する処理に係るフローチャートを説明した。なお、バッファ用記憶装置320が電源に接続されていることが明らかである場合は、ステップS802において、必ずしも消費電力の低いバッファ用記憶装置320を選択する必要はない。
図9は、バッファ用記憶装置320に書き込まれたデータをターゲット記憶装置310に書き戻す際の動作フローである。以下、図9の各ステップについて説明する。
(図9:ステップS900)
バッテリー残量取得部170は、例えば所定の時間間隔毎に本動作フローを開始する。
(図9:ステップS901)
バッテリー残量取得部170は、図8の動作の後、ターゲット記憶装置310が再び電源に接続されたか否かを判定する。必ずしもターゲット記憶装置310本体が直接電源に接続されている必要はなく、バッテリーを使用せずに動作し得る状態にあるか否かを判定すればよい。ターゲット記憶装置310、またはターゲット記憶装置310を備えるコンピューターは、バッテリー残量取得部170に対し、ターゲット記憶装置310がバッテリー動作をしているか否かを返答する。ターゲット記憶装置310が電源に接続されている場合はステップS902へ進む。接続されていない場合は、本動作フローを終了する。
(図9:ステップS902)
デバイス連携アプリケーション100は、バッファ用記憶領域321が格納しているデータをターゲット記憶装置310へ戻す。本ステップの具体的な処理内容は、実施の形態2で説明した(ステップ9)と同様である。
以上、ターゲット記憶装置310が再び電源に接続された際の動作フローを説明した。本実施の形態5では、ノートPCのような単一のコンピューターにターゲット記憶装置310とバッファ用記憶装置320が接続され、ノートPCがバッテリー動作を開始するとこれらの記憶装置もバッテリー動作を行う状況を想定した。本実施の形態5の適用対象はこれに限られるものではなく、例えばネットワーク接続型の記憶装置が電源から切断されてバッテリー動作をするような状況でも、適用することができる。
以上のように、本実施の形態5によれば、ターゲット記憶装置310が電源から切断されてバッテリー動作をしている間は、バッファ用記憶装置320にデータを書き込むことができる。これにより、ターゲット記憶装置310が急に電源から切断されてバッテリー動作を開始したような場合でも、書込データが消失する懸念が減少するので、ターゲット記憶装置310の信頼性を高めることができる。
また、本実施の形態5によれば、デバイス連携アプリケーション100は、ターゲット記憶装置310が再び電源に接続されたときは、バッファ用記憶領域321に書き込まれているデータをターゲット記憶装置310に戻す。
これにより、ターゲット記憶装置310の電源状態が復帰した時点で、速やかにデータを元の状態に戻すことができるので、ターゲット記憶装置310内のデータの時間的連続性を保つことができる。
(実施の形態6)
本発明の実施の形態6では、ターゲット記憶装置310にエラーが発生した際に、ターゲット記憶装置310に書き込むデータをバッファ用記憶装置320にも同時に書き込んで信頼性の向上を図る動作例を説明する。
図10は、本実施の形態6に係る記憶装置制御プログラムの構成図である。
本実施の形態6において、フィルタドライバ200は、実施の形態1〜5いずれかで説明した構成に加え、エラー検出部250、コマンド複製部260を備える。その他の構成は、実施の形態1〜5いずれかと同様である。なお、図10では、実施の形態2で説明した構成に加えてエラー検出部250とコマンド複製部260を備える構成を図示した。
エラー検出部250は、ターゲット記憶装置310にエラーが発生したときに、これを検出する。例えば、データ書込コマンドがエラー終了した場合などが相当する。
エラー検出部250は、ターゲット記憶装置310に任意の種類のエラーが1度でも発生すればこれをエラーとして取り扱ってもよいし、ある特定の種類のエラー、例えばデータ書込コマンドのエラーのみを監視してもよい。また、エラーが1回発生したのみの時点ではこれをエラーとして取り扱わず、所定時間内のエラー発生回数が任意の閾値以上となったときなど、エラーがある程度連続して発生しているときに、初めてエラーが発生しているものと判定してもよい。
コマンド複製部260は、ターゲット記憶装置310に対する制御コマンドを複製し、デバイス連携アプリケーション100に転送する。
コマンド複製部260は、ターゲット記憶装置310に対する任意の制御コマンドを複製するようにしてもよいし、特定種類の制御コマンド、例えばデータ書込コマンドのみを複製するようにしてもよい。以下の説明では、データ書込コマンドのみを複製するものとする。
図11は、ターゲット記憶装置310のエラー検出に伴うコマンド複製処理に係る処理フローである。以下、図11の各ステップについて説明する。
(図11:ステップS1100)
フィルタドライバ200は、例えば所定の時間間隔毎に本動作フローを開始する。
(図11:ステップS1101)
フィルタドライバ200のエラー検出部250は、ターゲット記憶装置310にエラーが発生しているか否かを判定する。エラーが発生している場合はステップS1102へ進む。エラーが発生していない場合は、本動作フローを終了する。
(図11:ステップS1102)
コマンド複製部260は、ターゲット記憶装置310に対するデータ書込コマンドを複製し、デバイス連携アプリケーション100に転送する。
(図11:ステップS1103)
デバイス連携アプリケーション100のコマンド変換部140は、実施の形態1の(ステップ5)以降と同様の処理を実行する。また、データ連携アプリケーション100は、複製元のデータ書込コマンドを、ターゲット記憶装置310の中間デバイスドライバ420にセットする。
以上、ターゲット記憶装置310のエラー検出に伴うコマンド複製処理に係るフローを説明した。
以上の動作によって、ターゲット記憶装置310に対するデータ書込コマンドは、そのままターゲット記憶装置310に対して実行されるとともに、バッファ用記憶装置320に対しても同時に実行されることになる。
以上のように、本実施の形態6によれば、ターゲット記憶装置310にエラーが発生した際は、ターゲット記憶装置310に対するデータ書込コマンドは、バッファ用記憶装置320に対しても同時に発行されることになる。
これにより、エラー終了する可能性のあるデータ書込コマンドを実行する際は、その書込対象データをバッファ用記憶装置320へミラーリングすることができるので、ターゲット記憶装置310の信頼性を高めることができる。
(実施の形態7)
本発明の実施の形態7では、バッファ用記憶領域321を確保する際の別動作例について説明する。その他の構成は、実施の形態1〜6のいずれかと同様である。
本実施の形態7において、データ連携アプリケーション100のバッファ領域確保部120は、バッファ用記憶装置320を備えるコンピューターのファイルシステムを介さずに、バッファ用記憶領域321を確保する。これにより、バッファ用記憶装置320を備えるコンピューターのOSは、データ連携アプリケーション100を介することなくバッファ用記憶領域321にデータを書き込むことができなくなる。
上記の結果、バッファ用記憶装置320を備えるコンピューター上の他のアプリケーションが、バッファ用記憶領域321に書き込まれているデータを上書きしたり、バッファ用記憶領域321に他のデータを書き込んでバッファ用記憶領域321の容量を消費したりすることがなくなる。そのため、バッファ用記憶領域321は、データ連携アプリケーション100以外のアプリケーションからのデータ書込による影響を受けることはない。
なお、書き込み効率の観点から、バッファ領域確保部120は、ブロック単位でアクセス可能な領域をバッファ用記憶領域321として確保することが好適であるが、必ずしもこれに限られるものではない。
以上のように、本実施の形態7において、バッファ領域確保部120は、OSのファイルシステムを介さずにバッファ用記憶領域321を確保する。これにより、データ連携アプリケーション100は、バッファ用記憶装置320に接続されたコンピューター上で他のアプリケーション等が動作している場合でも、バッファ用記憶領域321を確実に確保することができる。
(実施の形態8)
以上の実施の形態1〜7では、中間デバイスドライバ420および450が取り扱うレベルの制御コマンドについて、転送したりコマンド形式を変換したりする例を説明した。本発明の対象はこれに限られるものでなく、各記憶装置に対する任意のレベルのコマンドを対象とすることができることを付言しておく。
(実施の形態9)
以上の実施の形態1〜8において、バッファ用記憶領域321が格納しているデータをターゲット記憶装置310に書き戻した後は、バッファ用記憶領域321内のデータを削除してもよい。また、これに代えてもしくはこれと平行して、バッファ用記憶領域321を解放してもよい。これにより、バッファ用記憶装置320の記憶容量の消費を抑えることができる。
以上の実施の形態1〜9では、本発明に係る記憶装置制御プログラムを実行するコンピューターが、ターゲット記憶装置310とバッファ用記憶装置320に接続されている例を説明した。以下では、当該コンピューターと各記憶装置の構成について、具体例を挙げる。
(構成具体例1:ノートPC)
本発明に係る記憶装置制御プログラムを実行するコンピューターとして、ノートPCを用いることができる。
ターゲット記憶装置310は、当該ノートPCが備えるHDDである。バッファ用記憶装置320として、当該ノートPCが備える他のHDD、例えば1つ目のHDDとは異なるインターフェースで当該ノートPCに接続された内蔵HDDを用いることが考えられる。あるいは、USBメモリなどの外付け記憶装置をバッファ用記憶装置320として用いることも考えられる。
(構成具体例2:ネットワーク接続記憶装置)
ターゲット記憶装置310およびバッファ用記憶装置320として、NAS(Network Attached Storage)を用いることも考えられる。この場合、本発明に係る記憶装置制御プログラムを実行するコンピューターとして、ネットワークを介してNASと接続されたコンピューターを用いることができる。
(構成具体例3:SAN)
SAN(Storage Area Network)を構成する各ストレージ装置をターゲット記憶装置310およびバッファ用記憶装置320として用いることも考えられる。この場合、本発明に係る記憶装置制御プログラムを実行するコンピューターとして、SANのコントローラーを用いることができる。
(構成例4:UPS(無停電電源装置))
上記実施の形態5において、バッテリー動作する記憶装置の1例として、UPSから電力の供給を受けて動作しているNAS等の記憶装置が考えられる。例えば、ターゲット記憶装置310、バッファ用記憶装置320がともに使用する電源が故障によって遮断されてUPSにより動作している状況を想定する。
全ての記憶装置がUPSによって動作をしている場合、できる限りUPSの消耗を抑えるため、極力消費電力の少ない記憶装置をバッファ用記憶装置320として選択することが望ましい。実施の形態5で説明した手法は、このような状況下で有用である。
この場合、ターゲット記憶装置310としてのNASが使用する電源が故障等から復帰した時点で、バッファ用記憶装置320からターゲット記憶装置310にデータを書き戻すことになる。
100:デバイス連携アプリケーション、110:データ書込コマンド生成部、120:バッファ領域確保部、130:アドレス管理部、140:コマンド変換部、150:フィルタON部、160:フィルタOFF部、170:バッテリー残量取得部、200:フィルタドライバ、210:データ書込コマンド転送部、220:ON部、230:OFF部、240:書込レート算出部、250:エラー検出部、260:コマンド複製部、310:ターゲット記憶装置、320:バッファ用記憶装置、321:バッファ用記憶領域、410:上位デバイスドライバ、420:中間デバイスドライバ、430:物理デバイスドライバ、440:上位デバイスドライバ、450:中間デバイスドライバ、460:物理デバイスドライバ、470:IOマネージャー。

Claims (14)

  1. 複数の記憶装置を制御する方法であって、
    前記複数の記憶装置のうち1つの記憶装置をターゲット記憶装置として選択するとともに他の記憶装置を一時格納用記憶装置として選択するステップと、
    前記一時格納用記憶装置上に一時格納用記憶領域を確保するステップと、
    前記ターゲット記憶装置に対するデータ書込命令の少なくとも一部を転送して受け取るステップと、
    前記ターゲット記憶装置に対するデータ書込命令を前記一時格納用記憶領域に対するデータ書込命令に変換する命令変換ステップと、
    前記一時格納用記憶領域に対するデータ書込命令を用いて、前記ターゲット記憶装置に書き込まれるべきデータを前記一時格納用記憶領域に書き込む一時書込ステップと、
    を有することを特徴とする記憶装置制御方法。
  2. 前記一時格納用記憶領域を確保する際にそのデータ書込アドレスを記憶しておき、
    前記一時書込ステップでは、
    前記一時格納用記憶領域に対するデータ書込命令および前記一時格納用記憶領域上のデータ書込アドレスを用いて、前記ターゲット記憶装置に書き込まれるべきデータを前記一時格納用記憶領域に書き込む
    ことを特徴とする請求項1記載の記憶装置制御方法。
  3. 前記ターゲット記憶装置に対するデータ書込命令を前記ターゲット記憶装置に対して送信せずに転送して前記一時格納用記憶領域に対するデータ書込命令に変換するか否かを指定するステップを有する
    ことを特徴とする請求項1記載の記憶装置制御方法。
  4. 前記ターゲット記憶装置上におけるデータ書込アドレスと前記一時格納用記憶装置上のデータ書込アドレスの対応関係を記憶するステップを有し、
    前記ターゲット記憶装置上におけるデータ書込アドレスを用いて前記ターゲット記憶装置に対するデータ書込命令を生成するステップと、
    そのデータ書込命令を用いて前記一時格納用記憶領域に格納されているデータを前記ターゲット記憶装置に書き込むステップと、
    を有することを特徴とする請求項1記載の記憶装置制御方法。
  5. 前記ターゲット記憶装置に書き込まれるべきデータを前記一時格納用記憶領域に書き込む間は前記ターゲット記憶装置を省電力モードに移行させるステップを有する
    ことを特徴とする請求項1記載の記憶装置制御方法。
  6. 前記ターゲット記憶装置上におけるデータ書込アドレスと前記一時格納用記憶領域上のデータ書込アドレスの対応関係を記憶するステップと、
    前記一時格納用記憶領域に格納されているデータ容量をカウントするステップと、
    前記データ容量が所定のデータ容量閾値以上となったときに前記ターゲット記憶装置を省電力モードから復帰させるステップと、
    前記ターゲット記憶装置上におけるデータ書込アドレスを用いて前記ターゲット記憶装置に対するデータ書込命令を生成するステップと、
    そのデータ書込命令を用いて前記一時格納用記憶領域に格納されているデータを前記ターゲット記憶装置に書き込むステップと、
    を有することを特徴とする請求項5記載の記憶装置制御方法。
  7. 前記ターゲット記憶装置に対するデータ書込要求レートを算出するステップと、
    前記データ書込要求レートが所定のデータ書込要求レート閾値以上となったときに前記ターゲット記憶装置に対するデータ書込命令の少なくとも一部を転送して前記一時格納用記憶領域に対するデータ書込命令に変換するステップと、
    を有することを特徴とする請求項1記載の記憶装置制御方法。
  8. 前記データ書込要求レートが所定値以下まで低下したときに前記ターゲット記憶装置に対するデータ書込命令を転送して前記一時格納用記憶領域に対するデータ書込命令に変換することを中止するステップと、
    前記ターゲット記憶装置上におけるデータ書込アドレスを用いて前記ターゲット記憶装置に対するデータ書込命令を生成するステップと、
    そのデータ書込命令を用いて前記一時格納用記憶領域に格納されているデータを前記ターゲット記憶装置に書き込むステップと、
    を有することを特徴とする請求項7記載の記憶装置制御方法。
  9. 前記ターゲット記憶装置が電力源として使用するバッテリー残量を取得するステップと、
    前記ターゲット記憶装置がバッテリー動作をしており、かつ前記バッテリー残量が所定のバッテリー残量閾値以下になったときに、前記ターゲット記憶装置に対するデータ書込命令の少なくとも一部を転送して前記一時格納用記憶領域に対するデータ書込命令に変換するステップと、
    を有することを特徴とする請求項1記載の記憶装置制御方法。
  10. 前記複数の記憶装置のうち、バッテリー動作をしており、かつ他の記憶装置よりも消費電力の低い記憶装置を特定する特定ステップと、
    前記特定ステップで特定した記憶装置を前記一時格納用記憶装置として選択するステップと、
    を有することを特徴とする請求項9記載の記憶装置制御方法。
  11. 前記ターゲット記憶装置における処理エラーを検出するステップと、
    前記処理エラーを検出したときに前記ターゲット記憶装置に対するデータ書込命令の少なくとも一部の複製を転送して前記一時格納用記憶領域に対するデータ書込命令に変換するステップと、
    を有することを特徴とする請求項1記載の記憶装置制御方法。
  12. 前記ターゲット記憶装置に書き込まれるべきデータを前記ターゲット記憶装置にそのまま書き込むとともに前記一時格納用記憶装置にも書き込む
    ことを特徴とする請求項11記載の記憶装置制御方法。
  13. 請求項1から請求項12までのいずれか1項に記載の記憶装置制御方法をコンピューターに実行させることを特徴とする記憶装置制御プログラム。
  14. 前記一時格納用記憶領域を確保するステップでは、前記コンピューターに、
    前記一時格納用記憶領域を前記コンピューターのオペレーティングシステムのファイルシステムが介在しない領域に確保させる
    ことを特徴とする請求項13記載の記憶装置制御プログラム。
JP2009141217A 2009-06-12 2009-06-12 記憶装置制御プログラム Expired - Fee Related JP5279626B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009141217A JP5279626B2 (ja) 2009-06-12 2009-06-12 記憶装置制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009141217A JP5279626B2 (ja) 2009-06-12 2009-06-12 記憶装置制御プログラム

Publications (2)

Publication Number Publication Date
JP2010287097A true JP2010287097A (ja) 2010-12-24
JP5279626B2 JP5279626B2 (ja) 2013-09-04

Family

ID=43542742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009141217A Expired - Fee Related JP5279626B2 (ja) 2009-06-12 2009-06-12 記憶装置制御プログラム

Country Status (1)

Country Link
JP (1) JP5279626B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097635B2 (en) 2014-03-27 2018-10-09 Fujitsu Limited Storage management device, and performance tuning method
US10142211B2 (en) 2013-09-27 2018-11-27 Fujitsu Limited Storage management device and control method
JP7092908B1 (ja) 2021-02-24 2022-06-28 Necプラットフォームズ株式会社 データ制御装置、データ制御方法、データ制御システム、およびデータ制御プログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10255403A (ja) * 1997-03-12 1998-09-25 Internatl Business Mach Corp <Ibm> ディスクドライブ装置及びディスクドライブ装置のエラー回復処理方法
JP2000148401A (ja) * 1998-11-11 2000-05-30 Alps Electric Co Ltd ミラーリングシステム
JP2001005698A (ja) * 1999-06-25 2001-01-12 Toshiba Corp 計算機システムおよび障害情報採取方法
JP2001005699A (ja) * 1999-06-25 2001-01-12 Toshiba Corp 計算機システムおよび障害情報採取方法
JP2006031152A (ja) * 2004-07-13 2006-02-02 Dainippon Printing Co Ltd バックアップ保存処理装置、バックアップ保存処理方法、バックアップ保存処理プログラム、及び記録媒体
JP2007272430A (ja) * 2006-03-30 2007-10-18 Brother Ind Ltd ドライブ構成設定プログラム
JP2008034085A (ja) * 2006-07-27 2008-02-14 Hitachi Global Storage Technologies Netherlands Bv 複数の動作モードを有する不揮発性メモリを備えたディスクドライブ
JP2008071478A (ja) * 2006-09-13 2008-03-27 Hitachi Global Storage Technologies Netherlands Bv 故障に関するデータを格納する不揮発性メモリを備えたディスクドライブ
WO2009055175A1 (en) * 2007-10-24 2009-04-30 International Business Machines Corporation System and method for using reversed backup operation for minimizing the disk spinning time and the number of spin-up operations

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10255403A (ja) * 1997-03-12 1998-09-25 Internatl Business Mach Corp <Ibm> ディスクドライブ装置及びディスクドライブ装置のエラー回復処理方法
JP2000148401A (ja) * 1998-11-11 2000-05-30 Alps Electric Co Ltd ミラーリングシステム
JP2001005698A (ja) * 1999-06-25 2001-01-12 Toshiba Corp 計算機システムおよび障害情報採取方法
JP2001005699A (ja) * 1999-06-25 2001-01-12 Toshiba Corp 計算機システムおよび障害情報採取方法
JP2006031152A (ja) * 2004-07-13 2006-02-02 Dainippon Printing Co Ltd バックアップ保存処理装置、バックアップ保存処理方法、バックアップ保存処理プログラム、及び記録媒体
JP2007272430A (ja) * 2006-03-30 2007-10-18 Brother Ind Ltd ドライブ構成設定プログラム
JP2008034085A (ja) * 2006-07-27 2008-02-14 Hitachi Global Storage Technologies Netherlands Bv 複数の動作モードを有する不揮発性メモリを備えたディスクドライブ
JP2008071478A (ja) * 2006-09-13 2008-03-27 Hitachi Global Storage Technologies Netherlands Bv 故障に関するデータを格納する不揮発性メモリを備えたディスクドライブ
WO2009055175A1 (en) * 2007-10-24 2009-04-30 International Business Machines Corporation System and method for using reversed backup operation for minimizing the disk spinning time and the number of spin-up operations
JP2011502302A (ja) * 2007-10-24 2011-01-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 逆データ・バックアップのための方法、コンピュータ・プログラム及びシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10142211B2 (en) 2013-09-27 2018-11-27 Fujitsu Limited Storage management device and control method
US10097635B2 (en) 2014-03-27 2018-10-09 Fujitsu Limited Storage management device, and performance tuning method
JP7092908B1 (ja) 2021-02-24 2022-06-28 Necプラットフォームズ株式会社 データ制御装置、データ制御方法、データ制御システム、およびデータ制御プログラム
JP2022128621A (ja) * 2021-02-24 2022-09-05 Necプラットフォームズ株式会社 データ制御装置、データ制御方法、データ制御システム、およびデータ制御プログラム

Also Published As

Publication number Publication date
JP5279626B2 (ja) 2013-09-04

Similar Documents

Publication Publication Date Title
US7856526B2 (en) Storage apparatus and power-saving control method of storage apparatus
EP2254036B1 (en) Storage apparatus and data copy method
US7461201B2 (en) Storage control method and system for performing backup and/or restoration
US8843716B2 (en) Computer system, storage apparatus and data transfer method
US10146435B2 (en) Storage system and data write method
US11960749B2 (en) Data migration method, host, and solid state disk
US20100223422A1 (en) Advanced Dynamic Disk Memory Module
US9471306B2 (en) Information processing apparatus and copy control method
US9182912B2 (en) Method to allow storage cache acceleration when the slow tier is on independent controller
US9201601B2 (en) Reducing required battery capacity for data backup in a storage system with multiple controllers
JP5721344B2 (ja) システム、システムの制御方法、及び、プログラム
JP2009080603A (ja) ストレージ装置及びその省電力方法
KR20170068373A (ko) 메모리 데이터 보호 메커니즘을 갖는 전자 시스템 및 그것의 동작 방법
US20130275668A1 (en) Data processing method and device
JP2007305106A (ja) 高電力プロセッサ及び低電力プロセッサ並びにスレッド転送を伴うシステム
KR100827287B1 (ko) 반도체 보조 기억 장치 및 이를 이용한 데이터 저장 방법
JP5279626B2 (ja) 記憶装置制御プログラム
US8627126B2 (en) Optimized power savings in a storage virtualization system
US20070245081A1 (en) Storage system and performance tuning method thereof
KR20140029215A (ko) 정보 처리 장치, 기록 매체 및 영역 해방 제어 방법
US20140122854A1 (en) Information processing apparatus and activation method therefor
US9836359B2 (en) Storage and control method of the same
JP5773446B2 (ja) 記憶装置、冗長性回復方法、およびプログラム
TWI501588B (zh) 使用輔助處理器存取本地儲存裝置之技術
US11422963B2 (en) System and method to handle uncompressible data with a compression accelerator

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130521

LAPS Cancellation because of no payment of annual fees