(57)【特許請求の範囲】
【請求項１】
複数のディスク装置を並列のインタフェースを介して接続し、前記各ディスク装置の同一ストライプのデータが書換えられた場合に、新たに書換えられたデータ、その他の同一ストライプのデータから新たなパリティデータを作成する第１の手段と、新たに書換えられたデータ、この書換えられる前の旧データ、旧パリティデータから新たなパリティデータを作成する第２の手段とのうち、いずれかの手段を選択して、新たにパリティデータを作成するようにしたディスクアレイ制御装置であって、
パリティデータの作成に必要なデータを記録可能なキャッシュメモリ手段と、
前記キャッシュメモリ手段に記録されていないためにディスク装置からデータを読み込む必要がある場合における、当該データを読み込む必要のあるディスク装置の数について、前記第１の手段の方が選択されやすいように重みづけを行なって、前記第１の手段によりデータを読込む必要のあるディスク装置の数と、第２の手段によりデータを読込む必要のあるディスク装置の数とを比較する手段と、
前記比較の結果に基づき、読込むディスク装置の数が少ない方の手段を選択する判定手段と
を設けたことを特徴とするディスクアレイ制御装置。
【請求項２】
前記重みづけは、前記第１の手段によりデータを読込む必要のあるディスク装置の数から、前記ディスク装置の台数に応じた任意の数を減じることにより行なうようにしたことを特徴とする請求項１に記載のディスクアレイ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディスクアレイ制御装置に係り、特に、複数のディスク装置に対して並列にデータアクセスを行なうディスクアレイ制御装置に関する。
【０００２】
【従来の技術】
従来から、ハードディスクドライブ等の複数のディスク装置を並列のインタフェースを介して接続することにより、大容量のデータを管理することができるとともに、データアクセスの高速化、データの安定化を図るようにしたＲＡＩＤレベルのディスクアレイ装置が開発されている。
【０００３】
また、例えば、ＲＡＩＤレベル５のこのようなディスクアレイ装置においては、データを各ディスク装置にストライプ状に分散して記録するとともに、各データのパリティデータも各ディスク装置に分散して記録するようになっており、これにより、並列にデータアクセスを行なうことにより高速アクセスが可能となり、前記パリティデータに基づいてデータを復旧することも可能となっている。
【０００４】
また、このような従来のディスクアレイ装置においては、各ディスク装置の同一ストライプのデータが書換えられた場合に、新たにパリティデータを作成することが行なわれている。この新たにパリティデータを作成する手段としては、同一ストライプのうち、新たに書換えられたデータと、その他のデータとから新たなパリティデータを作成する手段（第１の手段）と、新たに書換えられたデータと、この書換えられる前の旧データと、旧パリティデータとから新たなパリティデータを作成する手段（第２の手段）とがある。
【０００５】
一般に、各ディスク装置のデータが読込まれると、このデータはキャッシュメモリに記録され、その後のデータの読込みを、ディスク装置ではなく、キャッシュメモリから行なうことにより、読込み速度を高めるようになっている。
【０００６】
そのため、前記第１の手段により新たなパリティデータを作成するか、あるいは、第２の手段により新たなパリティデータを作成するかを選択するかは、従来、まず、前記キャッシュメモリに記録されているデータを調べ、このキャッシュメモリに記録されていないデータを読込む必要のあるディスク装置の数を、比較することにより行なうようにしていた。すなわち、図４に示すように、第１の手段により新たにパリティにデータを読込む必要のあるディスク装置の数ｎ１と、第２の手段により新たにパリティデータを作成する場合にデータを読込む必要のあるディスク装置の数ｎ２とを比較し、読込むディスク装置の数が少ない方の手段を選択して、新たなパリティデータを作成するようにしていた。
【０００７】
【発明が解決しようとする課題】
しかし、従来のパリティデータ作成手段においては、読込む必要のあるディスク装置の数の少ない手段を選択してパリティデータを作成するものであるが、キャッシュメモリにデータが記録されている場合には、その後にデータの書換えが行なわれる場合にも、このキャッシュメモリのデータを利用することが可能であることから、パリティデータの作成に必要なデータがキャッシュメモリに記録されている可能性の高い第１の手段を用いる方が、パリティデータの作成を効率よく行なうことができる。
【０００８】
しかしながら、従来のパリティデータ作成手段では、単にデータの読込みディスク装置の数を比較するだけであるので、必ずしも、データの読込み速度を高めることができず、パリティデータの作成を効率よく行なうことができないという問題を有している。
【０００９】
本発明は前記した点に鑑みてなされたもので、新たにデータが書込まれた際に、データの読込み速度を高める、パリティデータの作成を効率よく行なうことのできるディスクアレイ制御装置を提供することを目的とするものである。
【００１０】
【課題を解決するための手段】
前記目的を達成するため請求項１に記載の発明に係るディスクアレイ制御装置は、複数のディスク装置を並列のインタフェースを介して接続し、前記各ディスク装置の同一ストライプのデータが書換えられた場合に、新たに書換えられたデータ、その他の同一ストライプのデータから新たなパリティデータを作成する第１の手段と、新たに書換えられたデータ、この書換えられる前の旧データ、旧パリティデータから新たなパリティデータを作成する第２の手段とのうち、いずれかの手段を選択して、新たにパリティデータを作成するようにしたディスクアレイ制御装置であって、パリティデータの作成に必要なデータを記録可能なキャッシュメモリ手段と、前記キャッシュメモリ手段に記録されていないためにディスク装置からデータを読み込む必要がある場合における、当該データを読み込む必要のあるディスク装置の数について、前記第１の手段の方が選択されやすいように重みづけを行なって、前記第１の手段によりデータを読込む必要のあるディスク装置の数と、第２の手段によりデータを読込む必要のあるディスク装置の数とを比較する手段と、前記比較の結果に基づき、読込むディスク装置の数が少ない方の手段を選択する判定手段とを設けたことを特徴とするものである。
【００１１】
この請求項１に記載の発明によれば、パリティデータの作成に必要なデータを記録可能なキャッシュメモリ手段が設けられており、比較する手段が前記キャッシュメモリ手段に記録されていないためにディスク装置からデータを読み込む必要がある場合における、当該データを読み込む必要のあるディスク装置の数について、前記第１の手段の方が選択されやすいように重みづけを行なって、第１の手段によりデータを読込む必要のあるディスク装置の数と、第２の手段によりデータを読込む必要のあるディスク装置の数とを比較し、判定手段がその比較の結果に基づき読込むディスク装置の数が少ない方の手段を選択するようにして、第１の手段によるパリティデータの作成の機会を多くするように制御しているので、その後にデータの書換えが行なわれる場合にも、前記キャッシュメモリ手段のデータを利用することが可能となり、データの読込み速度を高めることができ、パリティデータの作成を迅速に行なうことができるものである。
【００１２】
また、請求項２に記載のディスクアレイ制御装置は、請求項１において、前記重みづけは、前記第１の手段によりデータを読込む必要のあるディスク装置の数から、前記ディスク装置の台数に応じた任意の数を減じることにより行なうようにしたことを特徴とするものである。
【００１３】
この請求項２に記載の発明によれば、第１の手段によりデータを読込む必要のあるディスク装置の数から、ディスク装置の台数に応じた任意の数を減じることにより重みづけを行なうようにしているので、適正に第１の手段の方が選択されやすいように制御することができる。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を図１から図３を参照して説明する。
【００１５】
図１は本発明に係るディスクアレイ制御装置の実施の一形態を示したもので、本実施形態のディスクアレイ制御装置１は、データの読込みあるいは書込み等のコマンドを出力してＩ／Ｏリクエストを行なうためのホスト装置２を有しており、このホスト装置２には、ホストバス３を介してＲＡＩＤ制御装置４が接続されている。
【００１６】
また、このＲＡＩＤ制御装置４には、例えば、ＳＣＳＩインタフェース型の、例えば、ハードディスクドライブ等の複数のディスク装置５，５…がドライブバス６を介してそれぞれ並列に接続されている。
【００１７】
また、前記ＲＡＩＤ制御装置４は、同一ストライプのデータが書換えられた場合に、新たにパリティデータを作成するようになっている。この場合に、例えば、図２に示すように、各ディスク装置５のストライプデータとして、Ｄ０、Ｄ１、Ｄ２、Ｄ３が記録されている場合において、１つのストライプデータＤ０が新たにＤ０´に書換えられた場合に、パリティデータＰを新たなパリティデータＰ´を作成する手段には、次のようなものがある。
【００１８】
まず、同一ストライプのうち、新たに書換えられたデータＤ０´と、その他のデータＤ１、Ｄ２、Ｄ３とから次の式（１）に基づいて新たなパリティデータＰ´を作成する手段（第１の手段）がある。
（１）Ｐ´＝Ｄ０´＋Ｄ１＋Ｄ２＋Ｄ３
また、その他に、新たに書換えられたデータＤ０´と、この書換えられる前の旧データＤ０と、旧パリティデータＰとから次の式（２）に基づいて新たなパリティデータＰ´を作成する手段（第２の手段）がある。
（２）Ｐ´＝Ｄ０´＋Ｄ０＋Ｐ
さらに、本実施形態においては、ＲＡＩＤ制御装置４に、判定手段７が設けられており、この判定手段７により、前記式（１）に基づく第１の手段により新たなパリティデータＰ´を作成するか、あるいは、式（２）に基づく第２の手段により新たなパリティデータＰ´を作成するかを判定するようになっている。具体的には、本実施形態においては、この判定を行なう際に、第１の手段により新たにパリティデータを作成する場合にデータを読込む必要のあるディスク装置５の数ｎ１と、第２の手段により新たにパリティデータを作成する場合にデータを読込む必要のあるディスク装置５の数ｎ２とを比較し、読込むディスク装置５の数が少ない方の手段を選択するものであるが、この場合に、本実施形態においては、さらに、第１の手段の方が選択されやすいように、重みづけを行なうようになっている。
【００１９】
これは、第１の手段による場合は、式（１）に必要な値が同一ストライプのデータを利用するものであるため、各データがキャッシュメモリに記録されている可能性が高く、ディスク装置５の読込みが不要な場合があり得るのに対して、第２の手段による場合は、旧データおよび旧パリティデータを利用するものであり、これら旧データおよび旧パリティデータは、キャッシュメモリに記録されていないことから、第２の手段による場合は、必ず、ディスク装置５を読込む必要があるため、第１の手段の方が迅速にパリティデータを作成できる可能性が高いためである。
【００２０】
次に、本実施形態の作用について、図３に示すフローチャートを参照して説明する。
【００２１】
本実施形態においては、新たなストライプデータがディスク装置５に書込まれた場合に、判定手段７により、第１の手段または第２の手段のいずれにより、新たなパリティデータを作成するかを判定するようになっている。この判定は、本実施形態においては、判定手段７により、第１の手段による場合にデータを読込む必要のあるディスク装置５の数ｎ１から重みｇを減じた値と、第２の手段による場合にデータを読込む必要のあるディスク装置５の数ｎ２とを比較し、少ない方の手段を選択するようになっている。この重みｇは、連続的な書込み要求かどうか、ディスク装置５の台数、ストライプデータの大きさ等により、適宜設定されるものであり、例えば、ｇ＝１のように設定されるものである。
【００２２】
このように重みｇを１に設定した場合には、第１の手段による読込みディスク装置５の数ｎ１が、第２の手段による読込みディスク装置５の数ｎ２よりも１台多くなる場合であっても、第１の手段によりパリティデータが作成されることになる。
【００２３】
したがって、本実施形態においては、判定手段７により、第１の手段によるデータの読込みディスク装置５の数に重みづけを行ない、第１の手段によるパリティデータの作成の機会を多くするように制御するようにしているので、その後にデータの書換えが行なわれる場合にも、キャッシュメモリのデータを利用することが可能となり、データの読込み速度を高めることができ、パリティデータの作成を迅速に行なうことができる。
【００２４】
なお、本発明は前記実施形態のものに限定されるものではなく、必要に応じて種々変更することが可能である。
【００２５】
【発明の効果】
以上述べたように請求項１に記載の発明に係るディスクアレイ制御装置は、キャッシュメモリ手段に記録されていないためにディスク装置からデータを読み込む必要がある場合における、当該データを読み込む必要のあるディスク装置の数について、第１の手段の方が選択されやすいように重みづけを行なうにしており、第１の手段によるパリティデータの作成の機会を多くするように制御するようにしたので、その後にデータの書換えが行なわれる場合にも、キャッシュメモリ手段のデータを利用することが可能となり、データの読込み速度を高めることができ、パリティデータの作成を迅速に行なうことができるものである。
【００２６】
また、請求項２に記載のディスクアレイ制御装置は、第１の手段によりデータを読込む必要のあるディスク装置の数から、ディスク装置の台数に応じた任意の数を減じることにより重みづけを行なうようにしたので、適正に第１の手段の方が選択されやすいように制御することができる等の効果を奏する。
【図面の簡単な説明】
【図１】  本発明に係るディスクアレイ制御装置の実施形態を示すブロック図
【図２】  本発明のディスクアレイ制御装置によるデータの書込み状態を示す説明図
【図３】  本発明のディスクアレイ制御装置によるパリティデータの作成動作を示すフローチャート
【図４】  従来のパリティデータの作成動作を示すフローチャート
【符号の説明】
１  ディスクアレイ制御装置
２  ホスト装置
３  ホストバス
４  ＲＡＩＤ制御装置
５  ディスク装置
６  ドライブバス
７  判定手段
【図１】
0003718387.tif 000002
【図２】
0003718387.tif 000003
【図３】
0003718387.tif 000004
【図４】
0003718387.tif 000005