(57)【要約】  【課題】アクセスの無いハードディスクを意図的に作り出すことによりその駆動装置を停止させ、ハードディスクストレージ装置の運用コスト削減を図ることを目的としている。  【解決手段】  ハードディスクストレージ装置は、ホストサーバーから発行されたRead/Write要求の仮想ボリューム上の論理ブロック位置を論理ユニット上の論理ブロック位置に変換し、論理ユニット上の論理ブロック位置から物理ディスク上の物理ブロック位置への変換し、所定の条件を満足した他の論理ユニット上へ移動すべき論理ユニット上の論理ブロックを検出し、その論理ユニット上の論理ブロックをホストサーバーから発行されたRead/Write要求時に変換しておいた物理ディスク上の物理ブロック位置に基づき他の論理ユニット上へ移動させ、その移動により低価格・大容量ハードディスクユニットから構成される論理ユニットが所定の条件を満足すると、その論理ユニットを構成する物理ディスクを停止させる。 【選択図】図１
2007219703.tif 000002
【特許請求の範囲】
【請求項１】
ホストサーバーに接続され、複数の第１のハードディスクユニット及び複数の第２のハードディスクユニットを備えたハードディスクストレージ装置の制御装置として振る舞うコンピュータに、
前記ホストサーバーから発行されたRead/Write要求で指定された仮想ボリューム上の論理ブロック位置を論理ユニット上の論理ブロック位置に変換するマッピング制御ステップと、
前記論理ユニット上の論理ブロック位置から、所定のルールに基づき前記第１のハードディスクユニット又は前記第２のハードディスクユニット上の物理ブロック位置への変換処理を行うRAID制御ステップと、
所定の条件に基づいて、他の論理ユニット上へ移動すべき論理ユニット上の論理ブロックを検出する移動データ検出ステップと、
前記移動データ検出ステップが検出した論理ユニット上の論理ブロックを、前記RAID制御ステップが変換した前記第１のハードディスクユニット又は前記第２のハードディスクユニット上の物理ブロック位置に基づき、前記他の論理ユニット上へ移動させるデータ移動ステップと、
前記データ移動ステップが実行したデータブロックの移動により前記第２のハードディスクユニットから構成される論理ユニットが所定の条件に一致したことを検出すると、前記論理ユニットを構成する物理ディスクを停止または起動させるディスク起動停止制御ステップと
を実行させるハードディスクストレージ制御プログラム。
【請求項２】
前記移動データ検出ステップは、
アクセス間隔時間が予め設定しておいた閾値以上の前記第１のハードディスクユニットから構成される論理ユニット上の論理ブロックを、アクセス間隔時間が予め設定しておいた閾値以上の前記第２のハードディスクユニットから構成される論理ユニット上へ移動させると共に、
アクセス間隔時間が予め設定しておいた閾値以下の前記第２のハードディスクユニットから構成される論理ユニット上の論理ブロックを前記第１のハードディスクユニットから構成される論理ユニット上へ移動させるように、論理ユニット上の論理ブロックを検出することを特徴とする請求項１記載のハードディスクストレージ制御プログラム。
【請求項３】
前記ディスク起動停止制御ステップは、アクセス間隔時間が最短の論理ブロックのアクセス時間が予め設定しておいた閾値以上の第２のハードディスクユニットから構成される論理ユニットを停止の対象とすることを特徴とする請求項１、及び請求項２記載のハードディスクストレージ制御プログラム。
【請求項４】
ホストサーバーに接続され、複数の第１のハードディスクユニット及び複数の第２のハードディスクユニットを備えたハードディスクストレージ装置であって、
前記ホストサーバーから発行されたRead/Write要求で指定された仮想ボリューム上の論理ブロック位置を論理ユニット上の論理ブロック位置に変換するマッピング制御手段と、
前記論理ユニット上の論理ブロック位置から、所定のルールに基づき前記第１のハードディスクユニット又は前記第２のハードディスクユニット上の物理ブロック位置への変換処理を行うRAID制御手段と、
所定の条件に基づいて、他の論理ユニット上へ移動すべき論理ユニット上の論理ブロックを検出する移動データ検出手段と、
前記移動データ検出ステップが検出した論理ユニット上の論理ブロックを、前記RAID制御ステップが変換した前記第１のハードディスクユニット又は前記第２のハードディスクユニット上の物理ブロック位置に基づき、前記他の論理ユニット上へ移動させるデータ移動手段と、
前記データ移動ステップが実行したデータブロックの移動により前記第２のハードディスクユニットから構成される論理ユニットが所定の条件に一致したことを検出すると、前記論理ユニットを構成する物理ディスクを停止または起動させるディスク起動停止制御手段と
を有することを特徴とするハードディスクストレージ装置。
【請求項５】
ホストサーバーに接続され、複数の第１のハードディスクユニット及び複数の第２のハードディスクユニットを備えたハードディスクストレージ装置の制御方法であって、
前記ホストサーバーから発行されたRead/Write要求で指定された仮想ボリューム上の論理ブロック位置を論理ユニット上の論理ブロック位置に変換するマッピング制御ステップと、
前記論理ユニット上の論理ブロック位置から、所定のルールに基づき前記第１のハードディスクユニット又は前記第２のハードディスクユニット上の物理ブロック位置への変換処理を行うRAID制御ステップと、
所定の条件に基づいて、他の論理ユニット上へ移動すべき論理ユニット上の論理ブロックを検出する移動データ検出ステップと、
前記移動データ検出ステップが検出した論理ユニット上の論理ブロックを、前記RAID制御ステップが変換した前記第１のハードディスクユニット又は前記第２のハードディスクユニット上の物理ブロック位置に基づき、前記他の論理ユニット上へ移動させるデータ移動ステップと、
前記データ移動ステップが実行したデータブロックの移動により前記第２のハードディスクユニットから構成される論理ユニットが所定の条件に一致したことを検出すると、前記論理ユニットを構成する物理ディスクを停止または起動させるディスク起動停止制御ステップと
を有することを特徴とするハードディスクストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数のハードディスクユニットを備えるハードディスクストレージ装置に対するアクセス制御に関し、特に低価格・大容量ハードディスクユニットの省エネルーギー化に関する。
【背景技術】
【０００２】
IT（Information Technology）の発展に伴い、ストレージシステムに格納されるデータの容量は増大の一途を辿っている。これらのデータをすべて高性能なハードディスクのみから構成されたRAID（Redundant Array of Independent Disks）システムに格納することは、運用コストが高くなってしまい現実的ではない。そのために、参照頻度が少なくなったデータは、ニアラインストレージと呼ばれる安価なハードディスクで構成されたRAIDシステムに格納したり、磁気テープや光ディスクのようなオフラインメディアに格納したりといった、階層的なストレージシステムが用いられているのが現状である。
【０００３】
磁気テープや光ディスクのようなオフラインメディアを使用したストレージの場合、メディア価格が安価であるとともに、メディアにアクセスするまで駆動装置を動作させる必要がないために運用コストも低く抑えることが可能である。しかしながら、メディアにアクセスが必要になった際、実際にデータ転送が可能になるまでの時間が長く、ハードディスクのような高速なアクセスはできない。そのため、高性能RAID装置と磁気テープ装置の中間的な使い方ができるニアラインストレージが注目されている。
【０００４】
安価なハードディスクで構成されたニアラインストレージを用いた場合、高性能なハードディスクで構成されたRAIDシステムと比較して、導入コストを低く抑えることが可能である。しかしながら、駆動装置を常時動作させた場合の装置消費電力量や冷却に必要な空調消費電力量は、高性能なハードディスクで構成されたRAIDシステムの場合とほぼ同等であり、運用コストは変わらなくなってしまう。また、安価なハードディスクは、一般的に24時間365日運用を想定した信頼性を持たない場合が多く、適度に停止させながら使用する方が寿命を延ばすことができる。
【０００５】
そのため、運用コストの削減や、故障率の低減のために、アクセス頻度の少ないハードディスクの駆動装置を停止させることが行われている。たとえば、「複数の磁気ディスク装置の構成と上位装置からのアクセスとの関連を制御する手段と、設定された論理ドライブ内の磁気ディスク装置の節電（電源オンオフや節電モードの選択）を制御する節電制御手段と、磁気ディスク装置の診断を制御する制御手段を設け、ディスクアレイ装置において、所定の磁気ディスク装置に対し、上位装置からアクセスが無くなり予め定めた時間経過後、節電モードに移行させるか又は、電源をオフにする（節電処理）。」技術が開示されている（例えば、特許文献１参照）。
【０００６】
また、相対的にMTBFが短いHDD（Hard Disk Drive）を使用する記憶制御装置において、MTBF（Mean Time Between Failure）から推定される障害発生までの期間をできるだけ長くすることを目的として、「当該HDD上のデータに対して、ホストコンピュータからアクセスが可能なHDDについては、スピンドルモータを回転させ、ホストコンピュータからのアクセスがないと明確に分かっているHDDについてはスピンドルモータを停止させる制御を行い、ホストコンピュータからのアクセスの可／不可については、当該HDDが提供する記憶領域（内部論理ボリューム）が、ホストコンピュータにより認識されてアクセスが可能であるホスト論理ボリュームに対応付けられているかどうかによって判断する」技術が開示されている（例えば、特許文献２参照）。
【特許文献１】特開２０００−２９３３１４号公報  （第２−３頁）
【特許文献２】特開２００５−１９００３６号公報  （第５−６頁）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来はハードディスクの駆動装置を停止させる場合、アクセスの無いハードディスクを検出して駆動装置の停止を行っていた。そのため、ハードディスクストレージ装置に実装されているすべてのハードディスクに対し、まんべんなくアクセスがあるようなコンピュータシステムを運用する場合には、特許文献１や２に記載されている技術を導入しても駆動装置を停止させることは困難であった。本発明は上記のような問題点を解決するために、ハードディスクに格納されるデータブロックを他のハードディスクへ移動させ、アクセスの無いハードディスクを意図的に作り出すことによりその駆動装置を停止させ、ハードディスクストレージ装置の運用コスト削減を図ることを目的としている。
【課題を解決するための手段】
【０００８】
図１は、本発明における実施例の全体構成図が示してある。本発明のハードディスクストレージ制御プログラムは、複数の第１の（高性能・高信頼性）ハードディスクユニットと複数の第２の（低価格・大容量）ハードディスクユニットを備えたハードディスクストレージ２の制御装置として振る舞うコンピュータ上で動作するプログラムであり、マッピング制御手段２１（請求項１におけるマッピング制御ステップを実行する。）は、ホストサーバーから発行されたRead/Write要求で指定された仮想ボリューム上の論理ブロック位置を論理ユニット上の論理ブロック位置に変換し、RAID制御手段２２（請求項１におけるRAID制御ステップを実行する。）は、マッピング制御手段２１が変換した論理ユニット上の論理ブロック位置を物理ディスク上の物理ブロック位置へ変換する。
【０００９】
移動データ検出手段２４（請求項１における移動データ検出ステップを実行する。）は、所定の条件を満足した、他の論理ユニット上へ移動すべき論理ユニット上の論理ブロックを検出し、データ移動手段２５（請求項１におけるデータ移動ステップを実行する。）は、移動データ検出手段２４が検出した論理ユニット上の論理ブロックを、RAID制御ステップが変換した物理ディスク上の物理ブロック位置に基づき、前記他の論理ユニット上へ移動させ、ディスク起動停止制御手段２３（請求項１におけるディスク起動停止制御ステップを実行する。）は、データ移動手段２５が実行したデータブロックの移動により第２のハードディスクユニットから構成される論理ユニットが所定の条件を満足したことを検出すると、その論理ユニットを構成する物理ディスクを停止または起動させることにより、アクセスの無いハードディスクを意図的に作り出し、その駆動装置を停止させることによりハードディスクストレージシステムの運用コスト削減を図ることが可能となる。
【００１０】
なお、移動データ検出手段２４は、アクセス間隔（未アクセス）時間が予め設定しておいた閾値以上の前記第１のハードディスクユニットから構成される論理ユニット上の論理ブロックを、アクセス間隔時間が予め設定しておいた閾値以上の前記第２のハードディスクユニットから構成される論理ユニット上へ移動させると共に、アクセス間隔時間が予め設定しておいた閾値以下の前記第２のハードディスクユニットから構成される論理ユニット上の論理ブロックを前記第１のハードディスクユニットから構成される論理ユニット上へ移動させるように、論理ユニット上の論理ブロックを検出することで不要なデータブロックの移動を防止することができ、より効率的な低価格・大容量ハードディスクユニットの省エネルーギー化が可能となる。
【００１１】
また、ディスク起動停止制御手段２３は、アクセス間隔時間が最短である論理ブロックのアクセス間隔時間が予め設定しておいた閾値以上の第２のハードディスクユニットから構成される論理ユニットを停止の対象とすることにより定期的なハードディスクパトロール機能によって起動された第２のハードディスクユニットから構成される論理ユニットに対しても再度停止させる事が可能となる。
【発明の効果】
【００１２】
ハードディスクに格納されるデータブロックを所定のルールに基づき他のハードディスクに移動させることにより、アクセス頻度の少ないハードディスクを意図的に作り出し、そのハードディスクを停止することが可能となる。その結果、より一層ハードディスクストレージ装置の運用コストの削減や、故障率の低減を図ることが可能となる。
【発明を実施するための最良の形態】
【００１３】
【実施例】
【００１４】
図１は、本発明に係る実施例の全体構成図が示してある。本発明のハードディスクストレージ装置２は、ホストサーバー１から発行されたRead/Write要求の仮想ボリューム上の論理ブロック位置をマッピングテーブル３に基づき論理ユニット上の論理ブロック位置に変換するマッピング制御手段２１、論理ユニット上の論理ブロック位置から物理ディスク上の物理ブロック位置への変換処理を行うRAID制御手段２２、低価格・大容量ハードディスクユニット５の停止・起動を制御するディスク起動停止制御手段２３、常に起動させておく高性能・高信頼性ハードディスクユニット４、所定の条件に基づき回転を停止させる低価格・大容量ハードディスクユニット５、データブロックを移動させるためのデータ移動手段２５、移動させるべきデータブロックを検出する移動データ検出手段２４、高性能・高信頼性ハードディスクユニット４の動作に必要な情報を上位のプログラムに提供したり管理するディスクドライバ１（２６）、低価格・大容量ハードディスクユニット５の動作に必要な情報を上位のプログラムに提供したり管理するディスクドライバ２（２７）から構成される。
【００１５】
なお、マッピング制御手段２１、RAID制御手段２２、ディスク起動停止制御手段２３、移動データ検出手段２４、データ移動手段２５は、図示していないが、それぞれハードディスクストレージ装置２の制御装置として振る舞うコンピュータ上で動作するハードディスクストレージ制御プログラムのマッピング制御ステップ、RAID制御ステップ、ディスク起動停止制御ステップ、移動データ検出ステップ、データ移動ステップとして実装されるものとする。以下に本実施例の各構成要素についての詳細が記述してある。なお、RAID制御手段２２、ディスクドライバ１（２６）、ディスクドライバ２（２７）については従来技術であり、本発明の本質的な部分ではないので詳細な説明については省略する。
【００１６】
（１）マッピング制御手段２１
通常のRAID装置の場合でも、ホストサーバー１に見せるLU（Logical Unit：論理ユニット）は複数の物理ディスクから構成されているため、ホストサーバー１から渡される論理ユニット番号とLBA（Logical Block Address：ロジカルブロックアドレス）から、どの物理ディスクのどのアドレスにアクセスさせるかの変換が必要になる。しかしながら、RAIDタイプ、ディスク本数、ストライプサイズ等のパラメタは予めハードディスクストレージシステムに設定されているため、その変換にはマッピングテーブルは必要とせず、一意に算出できる。
【００１７】
本ハードディスクストレージシステムでは、ホストサーバーに見せるボリュームは図６で示すように仮想的なもの（仮想ボリュームと呼ぶ）であり、仮想ボリューム→ 論理ユニット（RAID）→ 物理ディスクの二段階のアドレス変換により、ホストサーバーのアクセスするLBAを物理ディスクのアドレスに置き換える。ここで、仮想ボリュームから論理ユニットへのアドレス変換のためにマッピングテーブルを使用する。
【００１８】
（２）RAID制御手段２２
論理ユニット上の論理ブロック位置から物理ディスク上の物理ブロック位置への変換処理など従来からのRAIDシステムの制御を行うもので、本発明の本質的な部分ではないため処理の詳細については省略する。
【００１９】
（３）ディスク起動停止制御手段２３
従来からある物理ディスクに対する電源制御を行うコンポーネントであり、ハードディスクの起動（スピンアップ）、停止（スピンダウン）を行う。また、停止中のハードディスクに対し、定期的に起動を行い、ハードディスクの状態チェックを行うパトロール機能も持つ。
ハードディスクの起動を行う契機は以下である。
−装置のPower On時。
−停止しているハードディスク内のデータブロックにアクセスが発生した時。
−停止しているハードディスクに対してパトロールを行う時。
ハードディスクの停止を行う契機は以下である。
−装置のPower Off時。
−稼動しているハードディスク内のデータブロックの未アクセス時間が閾値を越えた時。
【００２０】
（４）移動データ検出手段２４
所定の契機でマッピングテーブルを検査し、所定のルールに基づき論理ユニット上のデータブロックを移動すべきか否かを判断する機能を持つ。移動すべきデータブロックを検出した場合には、データ移動手段２５を起動してデータブロックの移動を行い、データブロックの移動が完了した時点でマッピング制御手段２１に通知を行い、マッピングテーブルの変更を行う。
本機能が動作するのは、以下の契機による。
−指定されたインターバル時間による一定間隔の起動（無効指定あり）。
−ハードディスクパトロール機能の動作時。
本機能が動作した場合、動作終了前に停止可能な論理ユニットの検出および停止処理が行われる。
【００２１】
（５）データ移動手段２５
論理ユニット上のデータブロックを高性能・高信頼性ハードディスクユニットから構成される論理ユニット（HLU）から低価格・大容量ハードディスクユニットから構成される論理ユニット（ELU）へ、またはELUからHLUへ移動させる機能を持つ。移動データ検出手段２４からの呼び出しにより動作を開始する。移動元論理ユニットとそのLBA、移動先論理ユニットとそのLBAをパラメタとしてデータブロックのコピーを行う。コピー完了時（移動元と移動先の対象データブロックが等価状態になった時点）に移動データ検出手段２４に応答を行う。
【００２２】
なお、本機能はRAIDシステムが汎用的に持つリビルド機能（ディスク故障時にホットスワップディスクへデータをコピーする機能）を流用することにより実装可能である。また、マッピングテーブル３の詳細については図２の説明を、高性能・高信頼性ハードディスクユニット４および低価格・大容量ハードディスクユニット５の詳細については図７の説明を参照されたい。
【００２３】
図２は、本発明に係るマッピングテーブル例が示してある。マッピングテーブルは、ホストサーバー１から発行されたRead/Write要求の仮想ボリューム上の論理ブロック位置をマッピング制御手段２１が論理ユニット上の論理ブロック位置に変換するときに使用されるテーブルである。仮想ボリューム番号欄には、図６で示すように、ホストサーバーに見せる仮想ボリュームのボリューム通し番号が格納される。仮想ボリュームブロックアドレス欄には、仮想ボリュームに割り当てられたすべてのブロックアドレスが格納される。
【００２４】
論理ユニット番号欄には、仮想ボリュームブロックアドレスに対応づけてマッピング制御手段２１が変換した論理ユニット上の論理ブロックの論理ユニット番号が格納される。論理ユニットブロックアドレス欄には同様に論理ブロックアドレスが格納される。仮想ボリュームブロックアドレスに対応する論理ユニット番号が「空」の場合には、その仮想ボリュームブロックアドレスは未マッピングであることを示している。
【００２５】
マッピング済の仮想ボリュームブロックアドレスに対しては、ステータス欄に変換先の論理ユニットが起動されている（Normal）か、停止されている（Inactive）かの情報が格納される。また、最終参照時刻欄には仮想ボリュームブロックアドレスに対してホストサーバー１から発行されたRead/Write要求の最終時刻が格納される。
【００２６】
図３は、本発明に係るホストサーバーからのRead/Write処理手順を示すフローチャートである。ホストサーバーからRead/Write要求が発生した場合、マッピング制御手段がマッピングテーブルに基づき仮想ボリューム上の論理ブロック位置から論理ユニット上の論理ブロック位置へのアドレス変換を行う（Ｓ３０１）。変換すべき仮想ボリューム上の論理ブロック位置がすでにマッピングテーブル上に存在するかどうか検索し、マッピングされているかどうかを判定する（Ｓ３０２）。
【００２７】
マッピングされている場合には、マッピングテーブルのステータスを参照し、対象論理ユニットが停止中（Inactive）かどうかを判定する（Ｓ３０３）。停止中でない場合には、Ｓ３０７のデータ転送処理に進む。停止中の場合には、対応するハードディスクを起動させるためにディスク起動停止制御手段をCALLする（Ｓ３０４）。ディスク起動停止制御手段からの戻りコードを判定するなどして対応するハードディスクの起動が成功したかどうかを判定する（Ｓ３０５）。成功した場合にはデータ転送処理を行い（Ｓ３０７）処理を終了する。成功しなかった場合にはホストサーバーにエラー応答を返し（Ｓ３０６）処理を終了する。
【００２８】
仮想ボリューム上のアクセス対象ブロックが未マッピングの場合、図示してはいないが高性能・高信頼性ハードディスクユニットの管理テーブルを参照しHLUに空きがあるかどうかを判定する（Ｓ３０８）。空きがある場合には、空きのHLUの論理ユニット番号と論理ユニットアドレスをマッピングテーブル上のアクセス対象の仮想ボリュームブロックアドレスに対応する論理ユニット番号と論理ユニットアドレスの欄に格納することによりマッピングし（Ｓ３０９）、Ｓ３０７のデータ転送処理に進む。
HLUに空きがない場合には、図示してはいないが低価格・大容量ハードディスクユニットの管理テーブルを参照しActive ELUに空きがあるかどうかを判定する（Ｓ３１０）。空きがある場合には、空きのELUの論理ユニット番号と論理ユニットアドレスをマッピングテーブル上のアクセス対象の仮想ボリュームブロックアドレスに対応する論理ユニット番号と論理ユニットアドレスの欄に格納することによりマッピングし（Ｓ３１１）、Ｓ３０７のデータ転送処理に進む。
【００２９】
Active ELUに空きがない場合には、停止中の低価格・大容量ハードディスクを起動させるためにディスク起動停止制御手段をCALLし（Ｓ３１２）、新たに起動したELUの空きブロックの論理ユニット番号と論理ユニットアドレスをマッピングテーブル上のアクセス対象の仮想ボリュームブロックアドレスに対応する論理ユニット番号と論理ユニットアドレスの欄に格納することによりマッピングし（Ｓ３１１）、Ｓ３０７のデータ転送処理に進む。
【００３０】
なお、論理ユニットから物理ディスクへの変換処理は従来通りRAID制御手段が行うものとし、HLUやELUに空きがあるかどうかの判定は従来からあるRAID制御手段が使用する管理テーブルを参照するか、RAID制御手段に問い合わせることで可能である。また、データ転送処理に関しては従来技術であり、本発明の本質的な部分ではないため処理の詳細については省略する。
【００３１】
図４は、本発明に係る指定インターバル契機のデータ移動処理手順を示すフローチャートである。指定インターバル契機でデータ移動を行うか否かは装置のポリシー設定による。ポリシー設定によりインターバル指定があるか判定し（Ｓ４０１）、指定されていない場合には処理を終了する。指定されていた場合には、指定インターバルでのタイマーが起動され、移動データ検出手段２４をCALLする（Ｓ４０２）。移動データ検出手段２４は、Active ELUからHLUへの移動対象データを抽出する（Ｓ４０３）。本契機でのデータ移動の対象となる論理ユニットは、その時点で稼動中のもの（HLUおよびActive ELU）であり、停止中（Inactive ELU）の論理ユニットは対象外となる。また、データブロックの移動方向はELU ⇒ HLUのみである。なお、移動データブロックの検出論理についての詳細は、別途図５の説明（移動データブロックの検出論理）を参照されたい。
【００３２】
対象となる論理ユニット内に移動すべきデータブロックが検出されたかどうか判定し（Ｓ４０４）、検出されなかった場合にはＳ４０８の停止可能な論理ユニットが存在するかどうかの判定処理へ進む。検出された場合には、データ移動手段２５をCALLする（Ｓ４０５）。データ移動手段２５は、移動元論理ユニットから移動先論理ユニットにデータブロックのコピーを行う。コピー処理は、RAID装置の汎用機能であるリビルド機能を用いるため、コピー中の対象データブロックに対するホストサーバーからのRead/Writeアクセスも可能である。
【００３３】
コピーが完了し、移動元ブロックと移動先ブロックが等価状態になると、データ移動手段２５は一時的に対象ブロックへのアクセスを禁止状態にし、移動データ検出手段２４にコピー完了通知を行う（Ｓ４０６）。完了通知を受けた移動データ検出手段２４は、マッピング制御手段２１に対し、マッピングテーブルの変更処理を依頼する（Ｓ４０７）。
マッピングテーブルの変更処理を受けたマッピング制御手段２１は、仮想ボリュームの対象ブロックと対応する論理ユニット番号・論理ブロックアドレスを、移動元論理ユニットのものから移動先論理ユニットのものに変更し、対象ブロックのアクセス禁止状態を解除する。マッピングテーブルの変更が完了すると、移動データ検出手段２４にマッピングテーブル変更完了通知を行う。
【００３４】
マッピングテーブルの変更が完了すると、最後にActive ELUの中で、停止可能な論理ユニットが存在するかどうかの調査を行い（Ｓ４０８）、存在した場合にはディスク起動停止制御手段２３をCALLし、対象の論理ユニットに属するハードディスクの動作を停止する（Ｓ４０９）。なお、停止ELUの検出論理についての詳細は、別途図５の説明（停止ELUの検出論理）を参照されたい。
【００３５】
図５は、本発明に係るハードディスクパトロール契機のデータ移動処理手順を示すフローチャートである。停止状態のハードディスクは、アクセスが発生した際に起動を行い、データ転送処理を行うが、定期的にハードウェアに異常がないかをチェックし正常に動作することを確認しておく必要がある。そのため、ハードディスクパトロール機能は、適切な時間間隔で停止状態のハードディスクを起動させ、ハードディスクの状態を調査する（Ｓ５０１）。（パトロール間隔は、装置パラメータとして予め設定しておくものとする）
次に、移動データ検出手段２４をCALLし移動対象データを抽出する（Ｓ５０２）。本契機で呼び出される移動データ検出手段２４は、すべてのディスクが稼動状態となっていることから、全論理ユニットを対象に移動すべきデータブロックの検出を後述の（移動データブロックの検出論理）に従って行う。
【００３６】
対象となる論理ユニット内に移動すべきデータブロックが検出されたかどうか判定し（Ｓ５０３）、検出されなかった場合にはＳ５０７の停止可能な論理ユニットが存在するかどうかの判定処理へ進む。検出された場合には、データ移動手段２５をCALLする（Ｓ５０４）。データ移動手段２５の処理の詳細については、図４の場合と同様であるので省略する。コピーが完了し、移動元ブロックと移動先ブロックが等価状態になると、データ移動手段２５は一時的に対象ブロックへのアクセスを禁止状態にし、移動データ検出手段２４にコピー完了通知を行う（Ｓ５０５）。完了通知を受けた移動データ検出手段２４は、マッピング制御手段２１に対し、マッピングテーブルの変更処理を依頼する（Ｓ５０６）。
【００３７】
マッピングテーブルの変更処理を受けたマッピング制御手段２１の処理の詳細については、図４の場合と同様であるので省略する。マッピングテーブルの変更が完了すると、次にActive ELUの中で、停止可能な論理ユニットが存在するかどうかの調査を行い（Ｓ５０７）、存在した場合にはディスク起動停止制御手段２３をCALLし、対象の論理ユニットに属するハードディスクの動作を停止する（Ｓ５０８）。なお、停止ＥＬＵの検出論理についての詳細は、後述の（停止ELUの検出論理）を参照されたい。
【００３８】
（移動データブロックの検出論理）
データブロックの移動には、HLU ⇒ ELUという方向と、ELU ⇒ HLUという方向の二種類がある。指定インターバル契機では、ELU ⇒ HLU方向のみの移動が行われ、ハードディスクパトロール契機では両方向の移動が行われる。HLU ⇒ ELU方向へのデータブロック移動の場合、選択すべきELUはアクセス頻度の低いものである必要があり、通常そのELUはInactiveとなっているはずである。データブロック移動の目的は、Inactive状態のELUを増やすことであるから、データ移動のためにInactive状態のELUをActiveに変更するのは本末転倒となる。そのため、ハードディスクパトロールにより、すべてのELUが起動状態となっているときのみ、HLU ⇒ ELU方向へのデータブロック移動を実施する。
以下に、移動すべきデータブロックの検出論理を記述する。
【００３９】
（１）HLU ⇒ ELU
HLU上のデータブロックをELUへ移動させる場合、判断基準は単純な未アクセス時間（LRU（Least Recently Used）制御）を使用する。この未アクセス時間はポリシー設定により変更可能とし、装置のチューニングを可能にする。未アクセス時間は、移動データブロックの選択基準として用いられるとともに、後述の（停止ELUの検出論理）で説明する停止するELUの選択基準としても使用される。また、移動可能データブロック検索処理の負荷を下げるため、データブロックはマッピングテーブルと同時にLRUキューとしても管理する。
【００４０】
（ａ）HLUから選択する移動元データブロックは以下の条件をすべて満たすものである。
−仮想ボリュームの論理ブロックとマッピングされている。
−未アクセス時間がポリシーで指定される閾値以上。
最も未アクセス時間が長いデータブロックであっても、閾値以下であればデータ移動を抑止し、不要な移動処理を削減させる。
−ELUにマッピングされていない空きブロック数以下。
ELUに空きがなければ移動を行えないため、ELUの空きブロック数が同時移動可能なブロック数の上限となる。なお、ELUの空きブロック数が少ない状態が発生した場合には、装置としての空き容量が不足していると考えられるため、ディスクの増設を促す目的でメッセージを上げる。（HLUに空きがたくさんあれば必ずしも空き容量不足ではないので、アラームとはしない）
−ポリシーで指定される最大移動ブロック数以下。
データブロック移動が多いと装置の内部負荷が増大し、ホストレスポンスに悪影響を与えるため、同時に移動させるブロック数の上限を設定する。
【００４１】
（ｂ）ELUから選択する移動先データブロックは以下の条件をすべて満たすものである。
−仮想ボリュームの論理ブロックとマッピングされていない。
−移動先ELU内のデータブロックの未アクセス時間の最小値がポリシーで指定される閾値以上。
常に稼動しているHLUから移動するのであるから、停止されるELUへ移動しなければ意味がない。パトロールで起動される前にInactive ELUであったELUへ移動させると言い換えることもできる。
−空きスペースの小さいELU。
上記2つの条件を満足し、対象とすべきELUが複数ある場合には、マッピングされているデータブロックの多い（空きスペースの小さい）ELUを選択する。これは、マッピングされるブロックを詰めて格納させることにより、空きスペースの大きいELUをたくさん作るためである。空きスペースの大きいInactive ELUはホストからのアクセスにより、Active ELUに変更される確立が低いことから本条件を設けている。
【００４２】
（２）ELU ⇒ HLU
ELUからHLUへのデータブロックの移動の場合、移動の結果Inactive ELUの数が増加し、発熱・消費電力の削減が行われることが望ましい。（図６を参照されたい）
（ａ）ELUから選択する移動元データブロックは以下の条件をすべて満たすものである。
−仮想ボリュームの論理ブロックとマッピングされている。
−未アクセス時間がポリシーで指定される閾値以下。
最も未アクセス時間が短いデータブロックであっても、閾値以上であればデータ移動を抑止し、不要な移動処理を削減させる。
−HLUにマッピングされていない空きブロック数以下。
HLUに空きがなければ移動を行えないため、HLUの空きブロック数が同時移動可能なブロック数の上限となる。
−ポリシーで指定される最大移動ブロック数以下。
データブロック移動が多いと装置の内部負荷が増大し、ホストレスポンスに悪影響を与えるため、同時に移動させるブロック数の上限を設定する。
【００４３】
（ｂ）HLUから選択する移動先データブロックは以下の条件をすべて満たすものである。
−仮想ボリュームの論理ブロックとマッピングされていない。
−アクセス頻度の少ないHLU。
対象となるHLUが複数ある場合には、マッピングされているデータブロックのアクセス頻度の少ないHLUを選択する。これは、特定のHLUの負荷が高くなることによる性能劣化を防止するためである。HLUのアクセス頻度は、特定のインターバルで各論理ユニット単位に収集している性能情報を使用し、そのインターバル間隔でのアクセス数で求める。
【００４４】
（停止ELUの検出論理）
停止ELUの検出処理は、データブロックの移動処理が実行された後に行われる。データブロックの移動処理の結果、移動されるデータブロックが無かったとしても、必ず停止ELUの検出処理は行われる。
停止すべきELUは以下の条件を満たすものである。
−ELU内の最も未アクセス時間が短いデータブロックの未アクセス時間が、ポリシーで設定される閾値以上であるELU。
【００４５】
図６は、仮想ボリュー無と論理ユニット（RAID）へのマッピング例が示してある。二段階のアドレス変換をイメージ化したもので、ホストサーバーの利用者が仮想ボリューム上の論理ブロックをアクセスすると本発明に係るマッピング制御手段２１はマッピングテーブルに基づき仮想ボリューム上の論理ブロック位置を論理ユニット上の論理ブロック位置に変換し、RAID制御手段２２が論理ユニット上の論理ブロック位置を物理ディスク上の物理ブロック位置に変換することにより物理ディスクへのアクセスが可能となることを示している。
【００４６】
マッピングテーブルは、仮想ボリュームを固定長のブロックに分割し、そのブロックと対応する論理ユニットのブロックの対応を管理する。具体的には、仮想ボリューム番号とブロック開始アドレス、およびそのブロックに対応する論理ユニット番号と開始LBAを対応させる。また、マッピングテーブルは、各ブロックのアクセス頻度情報最終参照時刻も保持する。RAID制御手段２２は従来からのハードディスクストレージ装置に備わった手段であり、物理ディスクは様々なRAIDタイプのものが使用可能である。
【００４７】
図７は、ハードディスクユニット例が示してある。
（１）高性能・高信頼性ハードディスクユニット
24時間365日運用に耐える信頼性、高スループット性能・高レスポンス性能、障害予兆検出機能を持つFC（Fibre Channel）- SCSI(Small Computer System Interface)ハードディスクで構成されるハードディスクユニット。本資料ではHLU（High performance Logical Unit）と記述してある。
【００４８】
本発明は、論理ユニット間でデータブロックの移動を行い、停止可能なハードディスクを作り出すものであるが、その一方で、アクセス頻度の高いデータブロックの集まる論理ユニットが存在することになる。アクセス頻度の高いデータブロック群を格納するハードディスクは停止させることができないため、信頼性および性能の高いハードディスクにそれらのデータブロックを集めることにより、装置全体の信頼性・性能の向上を図る。
【００４９】
（２）低価格・大容量ハードディスクユニット
価格が安く、容量の大きいSATA(SerialATA)・FATA(Fibre Attached Technology Adapted)といった種類のハードディスクユニット。本資料ではELU（Economy Logical Unit）と記述してある。発熱量・消費電力量の削減およびディスクの寿命向上のために、一定条件で稼動を停止し、装置運用中には、稼動しているものと停止しているものが存在する。それぞれ、稼動中のものをActive ELU、停止中のものをInactive ELUと記述する。稼動・停止は個々のハードディスク単体に対して行うのではなく、論理ユニット単位に行う。
【００５０】
図８は、Inactive ELUの増加例が示してある。例えばActive ELUの内、１論理ブロックのみが所定の時間内に使用されているELUが存在すると仮定する。そのELUは、たった１論理ブロックが所定の時間内に使用されただけでELUをActiveにしておく必要がある。ところが、この１論理ブロックをHLUに移動することができればInactiveにすることが可能であり、ELU全体の停止が可能となる。
【００５１】
図９は、ハードディスクストレージ装置の構成例が示してある。仮想ボリュームとして、ボリューム数：8本、ボリューム容量：2TB、総容量：16TB、HLUとして、論理ユニット数：2本、RAIDタイプ：RAID-5（4+1）、物理ディスク数：10本、物理ディスクタイプ：FC, 300GB, 15,000rpm、論理ユニット総容量：2.4TB、ELUとして、論理ユニット数：4本、RAIDタイプ：RAID-5（4+1）、物理ディスク数：20本、物理ディスクタイプ：FATA, 500GB, 7,200rpm、論理ユニット総容量：8TB、ポリシー設定として、移動データブロック検出インターバル設定：あり、移動データブロック検出インターバル時間：12時間（7時と19時に設定）、未アクセス時間閾値：168時間（7日間）、ディスクパトロールインターバル：24時間（午前3時に設定）が設定されていると仮定する。
【００５２】
仮想ボリュームの総容量は16TBであり、論理ユニットの総容量10.4TBよりも大きくなっているが、実際に使われている仮想ボリュームの合計容量が論理ユニットの総容量よりも小さければ良いので、このような定義が可能になる（仮想ボリュームの総使用量が論理ユニットの総容量よりも大きくなった時点でエラーを通知し、物理ディスクの増設を促す）。
ホストサーバーは、あくまでも仮想ボリュームに対してアクセスを行うので、仮想ボリューム内のブロックがどの論理ユニットにマッピングされているのかを知る必要はない。
【００５３】
ポリシーの設定により7時と19時に、Active ELUからHLUへ移動すべきデータブロックがあるかチェックが行われる。移動すべきデータブロックが見つかれば、Active ELUからHLUへのデータコピーが行われ、マッピングテーブルが変更される。データブロック移動の結果、コピー元Active ELU内の最近参照されたデータブロックの未アクセス時間が調査され、168時間以上アクセスされていなければ、そのActive ELUは物理ディスクの動作を停止し、Inactive ELUとなる。
【００５４】
また、3時にはハードディスクパトロールが動作し、停止されているInactive ELUをすべて起動した後、全物理ハードディスクに対して正常か否かの調査が行われる。調査後、HLUからELUへ、またELUからHLUへ移動すべきデータブロックがあるかチェックが行われる。移動すべきデータブロックが見つかれば、データコピーが行われ、マッピングテーブルが変更される。その後、すべてのELU内の最近参照されたデータブロックの未アクセス時間の未アクセス時間が調査され、168時間以上アクセスされていなければ、そのActive ELUは物理ディスクの動作を停止し、Inactive ELUとなる。
【００５５】
上記の通り、本発明が適用されたハードディスクストレージ装置においては、ハードディスクに格納されるデータブロックを所定のルールに基づき他のハードディスクに移動させることにより、アクセス頻度の少ないハードディスクを意図的に作り出し、そのハードディスクを停止することが可能となる。その結果、より一層の運用コストの削減や、故障率の低減を図ることができる。
【００５６】
また、データブロックの移動を行うために仮想ボリュームの概念を用いている。そのため、実際の物理ディスクの容量に依存しないボリュームをホストサーバーに見せることになり、柔軟なストレージ運用が可能になる。たとえば、通常のRAID装置であれば、新規に論理ユニットを定義する際には、その論理ユニット容量を満足する未使用の物理ディスクが必要であるが、仮想ボリュームでは論理ユニットに空きスペースさえあれば定義が可能であり、新たに物理ディスクを増設する必要がなくなる。
【図面の簡単な説明】
【００５７】
【図１】実施例の全体構成図
【図２】マッピングテーブル例
【図３】ホストサーバーRead/Write処理
【図４】指定インターバル契機のデータ移動処理
【図５】ハードディスクパトロール契機のデータ移動処理
【図６】仮想ボリュー無と論理ユニット（RAID）へのマッピング例
【図７】ハードディスクユニット例
【図８】Inactive ELUの増加例
【図９】ハードディスクストレージ装置の構成例
【符号の説明】
【００５８】
１      ホストサーバー
２      ハードディスクストレージ装置
３      マッピングテーブル
４      高性能・高信頼性ハードディスクユニット
５      低価格・大容量ハードディスクユニット
２１      マッピング制御手段
２２      RAID制御手段
２３      ディスク起動停止制御手段
２４      移動データ検出手段
２５      データ移動手段
２６      ディスクドライバ１
２７      ディスクドライバ２
【図１】
2007219703.tif 000003
【図２】
2007219703.tif 000004
【図３】
2007219703.tif 000005
【図４】
2007219703.tif 000006
【図５】
2007219703.tif 000007
【図６】
2007219703.tif 000008
【図７】
2007219703.tif 000009
【図８】
2007219703.tif 000010
【図９】
2007219703.tif 000011