(57)【特許請求の範囲】
【請求項１】
サーバ装置から受信した書き込み対象のデータを格納するための第１のデバイスと、
前記第１のデバイスと混在してランクを構成する、前記第１のデバイスと比してデータ処理能力の低い第２のデバイスと、
前記第１のデバイスと前記第２のデバイスとに対してＲＡＩＤ（Redundant Arrays of Independent Disks）制御を行なうと共に、前記ＲＡＩＤ制御される前記第１のデバイス及び前記第２のデバイスに前記書き込み対象のデータを格納する場合に、前記第１のデバイスに対する書き込み対象のデータを前記第１のデバイスに格納する一方、前記第１のデバイス対する書き込み対象のデータの書き込み時間と同じ書き込み時間となるように前記第２のデイバスに対する書き込み対象のデータを圧縮して圧縮データを生成し、生成した圧縮データを前記第２のデバイスに格納する制御部と、
を備えることを特徴とするディスクアレイ装置。
【請求項２】
前記制御部は、
読み出し対象のデータが前記第２のデバイスから読み出された前記圧縮データである場合に、前記圧縮データを伸長して読み出し対象のデータを生成し、生成した読み出し対象のデータを前記サーバ装置に送信する一方、読み出し対象のデータが前記第１のデバイスから読み出された読み出し対象のデータである場合に、当該読み出し対象のデータを前記サーバ装置に送信する
ことを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
サーバ装置から受信した書き込み対象のデータを格納するための第１のデバイスと、
前記第１のデバイスと混在してランクを構成する、前記第１のデバイスと比してデータ処理能力の低い第２のデバイスと、
前記第１のデバイス及び前記第２のデバイスを制御する制御部と、
を有し、
前記第１のデバイスと前記第２のデバイスとに対してＲＡＩＤ（Redundant Arrays of Independent Disks）制御が行なわれる、ディスクアレイ装置の制御方法であって、
前記制御部が、前記ＲＡＩＤ制御される前記第１のデバイス及び前記第２のデバイスに前記書き込み対象のデータを格納する場合に、前記第１のデバイスに対する書き込み対象のデータを前記第１のデバイスに格納する一方、前記第１のデバイス対する書き込み対象のデータの書き込み時間と同じ書き込み時間となるように前記第２のデバイスに対する書き込み対象のデータを圧縮して圧縮データを生成し、生成した圧縮データを前記第２のデバイスに格納するステップ
を実行することを特徴とするディスクアレイ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、ディスクアレイ装置においてランク（ＲＡＮＫ）を構成するデバイスには、同一のデバイスが使用されている。すなわち、ディスクアレイ装置は、同一の回転数のＨＤＤ（Hard Disk Drive）を使用することにより、書き込み速度を統一する。
【０００３】
また、近年、高速デバイスと低速デバイスとを混在してランクを構成するディスクアレイ装置が登場している。高速デバイスと低速デバイスとを混在してランクを構成するディスクアレイ装置として、例えば、特許文献１の外部記憶装置が開示されている。特許文献１の外部記憶装置は、半導体メモリとハードディスクとを備え、書込みデータを半導体メモリに格納可能と判断した場合には、書込みデータを圧縮して半導体メモリに格納し、書込みデータを半導体メモリに格納不可能と判断した場合には、書込みデータをハードディスクに格納する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０７０４８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、高速デバイスと低速デバイスとを混在してランクを構成する場合、書き込み速度が異なるため、データの書き込みが終わるまでの時間の差が生じ、高速デバイスを使用する意味がない。また、高速デバイスのみを使用してランクを構成する場合、書き込み速度は向上するが、コストが高くなるという問題がある。
【０００６】
本発明は以上の点を考慮してなされたものであり、アクセス性能を向上させ得るディスクアレイ装置及びその制御方法を提案するものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するために本発明のディスクアレイ装置の一態様は、サーバ装置から受信した書き込み対象のデータを格納するための第１のデバイスと、前記第１のデバイスと混在してランクを構成する、前記第１のデバイスと比してデータ処理能力の低い第２のデバイスと、前記書き込み対象のデータを第２のデバイスに格納する場合に、前記書き込み対象のデータを圧縮して圧縮データを生成し、生成した圧縮データを前記第２のデバイスに格納する一方、前記書き込み対象のデータを第１のデバイスに格納する場合に、当該書き込み対象のデータを前記第１のデバイスに格納する制御部と、を備えることを特徴とする。
【０００８】
また、本発明のディスクアレイ装置の制御方法の一態様は、サーバ装置から受信した書き込み対象のデータを格納するための第１のデバイスと、前記第１のデバイスと混在してランクを構成する、前記第１のデバイスと比してデータ処理能力の低い第２のデバイスと、前記第１のデバイス及び前記第２のデバイスを制御する制御部と、を有するディスクアレイ装置の制御方法であって、前記制御部が、前記書き込み対象のデータを第２のデバイスに格納する場合に、前記書き込み対象のデータを圧縮して圧縮データを生成し、生成した圧縮データを前記第２のデバイスに格納する第１のステップと、前記制御部が、前記書き込み対象のデータを第１のデバイスに格納する場合に、当該書き込み対象のデータを前記第１のデバイスに格納する第２のステップと、を備えることを特徴とする。
【０００９】
従って、本発明のディスクアレイ装置及びディスクアレイ装置の制御方法一態様は、回転数の異なるデバイスを使用してランクを構成した場合にであっても、書き込み速度の差が生じることがない。すなわち、本発明のディスクアレイ装置及びディスクアレイ装置の制御方法一態様は、第１のデバイスと第２のデバイスとが混在するランクが構成されている状態でのデータの書き込み時に、書き込み時間に費やす時間を第１のデバイスとほぼ同一にすることができる。
【発明の効果】
【００１０】
本発明によれば、アクセス性能を向上させ得るディスクアレイ装置及びその制御方法を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】ストレージシステムの構成の一例を示す図である。
【図２】データの書き込み処理手順の一例を示すフローチャートである。
【図３】データの読み出し処理手順の一例を示すフローチャートである。
【図４】データの書き込み処理の実施例の説明に供する概念図である。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
【００１３】
（構成）
図１は、本実施形態のストレージシステム１の構成の一例を示す図である。ストレージシステム１は、例えば、サーバ装置２とディスクアレイ装置３とを備える。サーバ装置２及びディスクアレイ装置３は、例えば、所定のネックワークを介して接続される。
【００１４】
サーバ装置２は、例えば、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源、情報入力装置、情報出力装置を備えたコンピュータ装置である。サーバ装置２は、例えば、書き込み要求をディスクアレイ装置３に送信して、対応するデータをディスクアレイ装置３に書き込む。また、サーバ装置２は、例えば、読み出し要求をディスクアレイ装置３に送信して、対応するデータをディスクアレイ装置３から読み出す。
【００１５】
所定のネットワークは、例えば、ＬＡＮ（Local Area Network）、ＳＡＮ（Storage Area Network）、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。
【００１６】
ディスクアレイ装置３は、例えば、ＣＰＵ１１とキャッシュメモリ１２とディスクディレクタ１３と低速／高速デバイス判別部１４と圧縮／伸長処理部１５とＨＤＤ部１６とを少なくとも１つずつ備える。また、ＨＤＤ部１６は、例えば、低速デバイス１７と高速デバイス１８とを備える。
【００１７】
ＣＰＵ１１は、サーバ装置２とネットワークを介して接続され、サーバ装置２から受信した各種要求やデータの送受信を制御する。ＣＰＵ１１は、ネットワークの種類に応じた種々のインタフェースを用いることができる。また、ＣＰＵ１１は、当該ディスクアレイ装置３全体を制御する。すなわち、ＣＰＵ１１は、サーバ装置２から受信した各種要求を解釈して、各構成要素を制御する。
【００１８】
さらに、ＣＰＵ１１は、例えば、ＨＤＤ部１６の低速デバイス１７と高速デバイス１８とに対して、例えば、ＲＡＩＤ１やＲＡＩＤ５等のＲＡＩＤ（Redundant Arrays of Independent Disks）制御を行うことにより、ディスクアレイ装置３の信頼性、可用性及び性能を向上させることもできる。この場合、ＣＰＵ１１は、ＨＤＤ部１６により提供される物理的な記憶領域（ＲＡＩＤグループ）上に、１又は複数の論理ディスクを設定する。そして、ＣＰＵ１１は、サーバ装置２から当該論理ディスクのアドレスが指定されると、この論理ディスク内に所定の大きさのブロック単位でデータを記憶する。
【００１９】
キャッシュメモリ１２は、サーバ装置２から受信したデータを一時的に保持する。また、キャッシュメモリ１２は、ディスクアレイ装置３内部で使用する各種プログラムや、各種テーブルを保持する。
【００２０】
ディスクディレクタ１３は、ＨＤＤ部１６と接続され、サーバ装置２から受信したデータのＨＤＤ部１６に対する読み書きを制御する。ディスクディレクタ１３は、ファイバチャネル、ＳＡＳ（Serial Attached SCSI）、ＳＡＴＡ（Serial ATA）等の種類に応じた種々のインタフェースを用いることができる。
【００２１】
低速／高速デバイス判別部１４は、サーバ装置２から受信したデータをＨＤＤ部１６の低速デバイス１７に格納するのか、又は高速デバイス１８に格納するのかを判断する。
【００２２】
圧縮／伸長処理部１５は、ＨＤＤ部１６の低速デバイス１７に格納されるデータを圧縮する。なお、圧縮方法は特に限定しない。そのため、圧縮速度、圧縮率を自由に選択して、データに対して最適な圧縮方法を使用することができる。
【００２３】
ＨＤＤ部１６の低速デバイス１７及び高速デバイス１８は、サーバ装置２から受信したデータを格納する。低速デバイス１７は、例えば、ディスクの回数数が低速のディスク装置等のデータ処理能力の低いデバイスである。また、高速デバイス１８は、例えば、ディスクの回数数が高速のディスク装置や半導体メモリ等のデータ処理能力の高いデバイスである。また、ＨＤＤ部１６には、低速デバイス１７と高速デバイス１８とが混在するランク（ＲＡＮＫ）が構成されている。
【００２４】
（データの書き込み処理手順）
次に、本実施形態のストレージシステム１の動作について詳細に説明する。図２は、本実施形態のディスクアレイ装置３のデータの書き込み処理手順の一例を示すフローチャートである。
【００２５】
ＣＰＵ１１は、サーバ装置２からデータの書き込み要求を受信すると、図２に示すデータの書き込み処理手順を実行し、サーバ装置２から書き込み対象のデータを受信する（ステップＳＰ１）。
【００２６】
続いて、ＣＰＵ１１は、受信した書き込み対象のデータに対して所定のデータ処理を行う（ステップＳＰ２）。例えば、ＣＰＵ１１は、書き込み対象のデータをどのランクの低速デバイス１７及び／又は高速デバイス１８に格納するか等を決定する。
【００２７】
続いて、ＣＰＵ１１は、受信した書き込み対象のデータをキャッシュメモリ１２に一時的に格納する（ステップＳＰ３）。続いて、ＣＰＵ１１は、所定のタイミングで、キャッシュメモリ１２に一時的に格納された書き込み対象のデータを読み出して、ディスクディレクタ１３に送信する（ステップＳＰ４）。なお、ディスクディレクタ１３は、書き込み対象のデータに対して所定の処理を行い、書き込み対象のデータを低速／高速デバイス判別部１４に送信する。
【００２８】
続いて、低速／高速デバイス判別部１４は、書き込み対象のデータが低速デバイス１７に格納するデータであるか否かをチェックする（ステップＳＰ５）。
【００２９】
そして、低速／高速デバイス判別部１４は、書き込み対象のデータが低速デバイス１７に格納するデータである場合（ステップＳＰ５：ＹＥＳ）には、書き込み対象のデータを圧縮／伸長処理部１５に送信する。続いて、圧縮／伸長処理部１５は、書き込み対象のデータを圧縮して、圧縮された書き込み対象のデータを生成する（ステップＳＰ６）。続いて、圧縮／伸長処理部１５は、圧縮された書き込み対象のデータをＨＤＤ部１６に送信する。
【００３０】
これに対して、低速／高速デバイス判別部１４は、書き込み対象のデータが低速デバイス１７に格納するデータでない場合（ステップＳＰ５：ＮＯ）には、書き込み対象のデータが低速デバイス１７に格納するデータであるため、書き込み対象のデータをそのままＨＤＤ部１６に送信する。
【００３１】
やがて、ＨＤＤ部１６の低速デバイス１７は、受信された圧縮した書き込み対象のデータを書き込み（ステップＳＰ７）、その後、図２に示すデータの書き込み処理手順を終了する（ステップＳＰ８）。また、ＨＤＤ部１６の高速デバイス１８は、受信した書き込み対象のデータを書き込み（ステップＳＰ７）、その後、図２に示すデータの書き込み処理手順を終了する（ステップＳＰ８）。
【００３２】
（データの読み出し処理手順）
図３は、本実施形態のディスクアレイ装置３のデータの読み出し処理手順の一例を示すフローチャートである。
【００３３】
ＣＰＵ１１は、サーバ装置２からデータの読み出し要求を受信すると、図３に示すデータの読み出し処理手順を実行し、ＨＤＤ部１６の読み出し対象の低速デバイス１７又は読み出し対象の高速デバイス１８に読み出し対象のデータの読み出し命令を送信する。
【００３４】
続いて、読み出し対象の低速デバイス１７は、読み出し対象のデータの読み出し命令を受信すると、圧縮された読み出し対象のデータを読み出す（ステップＳＰ１）。また、読み出し対象の高速デバイス１８は、読み出し対象のデータの読み出し命令を受信すると、読み出し対象のデータを読み出す（ステップＳＰ１１）。続いて、読み出し対象の低速デバイス１７又は読み出し対象の高速デバイス１８は、圧縮された読み出し対象のデータ又は読み出し対象のデータを低速／高速デバイス判別部１４に送信する。
【００３５】
続いて、低速／高速デバイス判別部１４は、ＨＤＤ部１６（読み出し対象の低速デバイス１７又は読み出し対象の高速デバイス１８）から読み出されたデータが圧縮された読み出し対象のデータであるか否かをチェックする（ステップＳＰ１２）。
【００３６】
そして、低速／高速デバイス判別部１４は、ＨＤＤ部１６から読み出されたデータが圧縮された読み出し対象のデータである（ステップＳＰ１２：ＹＥＳ）には、圧縮された読み出しデータを圧縮／伸長処理部１５に送信する。続いて、圧縮／伸長処理部１５は、圧縮された読み出し対象データを伸長し、伸長された読み出し対象のデータ（読み出し対象のデータ）を生成する（ステップＳＰ１３）。続いて、圧縮／伸長処理部１５は、生成した読み出し対象のデータをディスクディレクタ１３に送信する（ステップＳＰ１４）。なお、ディスクディレクタ１３は、読み出し対象のデータに対して所定の処理を行い、読み出し対象のデータをＣＰＵ１１に送信する。
【００３７】
続いて、ＣＰＵ１１は、受信した読み出し対象のデータに対して所定のデータ処理を行う（ステップＳＰ１５）。
【００３８】
続いて、ＣＰＵ１１は、受信した読み出し対象のデータをキャッシュメモリ１２に一時的に格納する（ステップＳＰ１６）。続いて、ＣＰＵ１１は、所定のタイミングで、キャッシュメモリ１２に一時的に格納された読み出し対象のデータを読み出して、サーバ装置２に送信し（ステップＳＰ１７）、その後、図３に示すデータの読み出し処理手順を終了する（ステップＳＰ１８）。
【００３９】
（実施例）
次に、ストレージシステム１のデータの書き込み時の実施例について詳細に説明する。図４は、ディスクアレイ装置３のデータの書き込み時の具体的な処理の実施例の説明に供する概念図である。図４の横軸は、時間の経過を表している。
【００４０】
図４では、低速デバイス１７として回転数７２００[rpm]を１つ、高速デバイス１８として１５０００[rpm]のデバイスを１つ使用してランクが構成されている。この場合、ディスクアレイ装置３は、例えば、書き込み対象のデータを低速デバイス１７及び高速デバイス１８に同時に書き込む。書き込み速度は、回転数が速いために、高速デバイス１８の方が低速デバイス１７に比べて約２倍速い。
【００４１】
また、低速デバイス１７及び高速デバイス１８に書き込むデータがそれぞれＡ、Ｂ、Ｃであるとし、低速デバイス１７及び高速デバイス１８に書き込むデータ量がそれぞれＡＶ、ＢＶ、ＣＶであるとする。さらに、図５中、入力は、低速デバイス１７及び高速デバイス１８がデータを取り込むことをいい、圧縮は、低速デバイス１７及び高速デバイス１８がデータを圧縮することをいい、ライト（Write）は、低速デバイス１７及び高速デバイス１８がデータを書き込むことをいう。さらに、図５中、Ａ入力、Ｂ入力、Ｃ入力は、入力時間といい、Ａ圧縮、Ｂ圧縮、Ｃ圧縮は、圧縮時間といい、Ａライト、Ｂライト、Ｃライトは、ライト時間という。
【００４２】
この場合、高速デバイス１８に書き込むデータ総量Ｘは以下のようになる。
【００４３】
【数１】
0005392580.tif 000002
【００４４】
また、圧縮／伸長処理部１５でのデータの圧縮率が５０[%]であるとすると、低速デバイス１７に書き込むデータ総量Ｙは以下のようになる。
【００４５】
【数２】
0005392580.tif 000003
【００４６】
ここで、圧縮時間が入力時間の５０[%]であるとし、データＡの圧縮時間がＡＴであるとすると、データＢの入力処理及び圧縮処理は、データＡの圧縮時間及びライト時間中に終了する。このため、データＡの書き込みが終了した直後にデータＢの書き込みが始まる。同様に、データＢの書き込みが終了した直後にデータＣの書き込みが始まる。
【００４７】
従って、低速デバイス１７に書き込むデータ総量Ｙは、高速デバイス１８に書き込むデータ総量Ｘの１／２となるため、全体の書き込み時間はほぼ同一となる。
【００４８】
すなわち、全体の時間をみると、低速デバイス１７は、書き込み速度が高速デバイス１８より２倍時間がかかるが、圧縮により、データ量を１／２にするため、書き込み時間は、高速デバイス１８側と変わらない。圧縮時間だけ余分に時間がかかるが、圧縮時間は、ライト時間に比べてはるかに小さいため、無視することができる。
【００４９】
（動作及び効果）
このようにして、本実施形態のディスクアレイ装置３では、圧縮／伸長処理部１５が、書き込み対象のデータを低速デバイス１７に格納する場合に、書き込み対象のデータを圧縮して圧縮データを生成し、生成した圧縮データを低速デバイス１７に格納する一方、低速／高速デバイス判別部１４が、書き込み対象のデータを高速デバイス１８に格納する場合に、当該書き込み対象のデータを高速デバイス１８に格納する。
【００５０】
従って、本実施形態のディスクアレイ装置３は、低速デバイス１７に送信されるデータを圧縮することで低速デバイス１７への書き込み量を減らすことができるため、低速デバイス１７と高速デバイス１８とが混在するランクが構成されている状態でのデータの書き込み時に、書き込み時間に費やす時間を高速デバイスとほぼ同一にすることができる。
【００５１】
また、例えば、高速デバイス１８はスピンドルモータや精密位置決めヘッド機構及び制御回路を必要とし、１台当たりのコストが高くなるため、本実施形態のディスクアレイ装置３は、低速デバイス１７を使用することで、コストを削減することができる。
【００５２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００５３】
（付記１）サーバ装置から受信した書き込み対象のデータを格納するための第１のデバイスと、前記第１のデバイスと混在してランクを構成する、前記第１のデバイスと比してデータ処理能力の低い第２のデバイスと、前記書き込み対象のデータを第２のデバイスに格納する場合に、前記書き込み対象のデータを圧縮して圧縮データを生成し、生成した圧縮データを前記第２のデバイスに格納する一方、前記書き込み対象のデータを第１のデバイスに格納する場合に、当該書き込み対象のデータを前記第１のデバイスに格納する制御部と、を備えることを特徴とするディスクアレイ装置である。
【００５４】
（付記２）前記制御部は、読み出し対象のデータが前記第２のデバイスから読み出された前記圧縮データである場合に、前記圧縮データを伸長して読み出し対象のデータを生成し、生成した読み出し対象のデータを前記サーバ装置に送信する一方、読み出し対象のデータが前記第１のデバイスから読み出された読み出し対象のデータである場合に、当該読み出し対象のデータを前記サーバ装置に送信することを特徴とする付記１に記載のディスクアレイ装置である。
【００５５】
（付記３）サーバ装置から受信した書き込み対象のデータを格納するための第１のデバイスと、前記第１のデバイスと混在してランクを構成する、前記第１のデバイスと比してデータ処理能力の低い第２のデバイスと、前記第１のデバイス及び前記第２のデバイスを制御する制御部と、を有するディスクアレイ装置の制御方法であって、前記制御部が、前記書き込み対象のデータを第２のデバイスに格納する場合に、前記書き込み対象のデータを圧縮して圧縮データを生成し、生成した圧縮データを前記第２のデバイスに格納する第１のステップと、前記制御部が、前記書き込み対象のデータを第１のデバイスに格納する場合に、当該書き込み対象のデータを前記第１のデバイスに格納する第２のステップと、を備えることを特徴とするディスクアレイ装置の制御方法である。
【符号の説明】
【００５６】
１……ストレージシステム、２……サーバ装置、３……ディスクアレイ装置、１１……ＣＰＵ、１２……キャッシュメモリ、１３……ディスクディレクタ、１４……低速／高速デバイス判別部、１５……圧縮／伸長処理部、１６……ＨＤＤ部、１７……低速デバイス、１８……高速デバイス
【図１】
0005392580.tif 000004
【図２】
0005392580.tif 000005
【図３】
0005392580.tif 000006
【図４】
0005392580.tif 000007