上、または、容量増加、または、冗長度増加を目的とする記憶装置の増設を、システムを停止せずに、動的に行なうことのできるアレイ形式の記憶装置システムに関する。【従来の技術】従来、アレイ形式の記憶装置システムとして、ディスクアレイ・システムが知られている。動作させることにより、処理装置と外部記憶装置間での高速なデータ転送速度の実現を図るシステムである。pp.109-116)に記載がある。InexpensiveDisks)(レイド)と呼ぶディスクアレイの形態を提示している。【0006】RAIDは、通常の入出力データを複数のドライブに分散記憶すると共に、冗長データを記憶する。落が生じた場合に、データ復元機能と共に用いることにより、欠落した前記データを復元可能とする目的を持っている。【0008】ディスクアレイ・システムでのドライブの増設は、1台単位の増設ではなく、データ分散する複数のドライブ群を単位として増設していた。置増設後の取り込み処理が容易である。【0010】つまり、増設前の記憶領域の最大アドレスの後ろに追加する形で、増設した領域を取り込むことが出来る。【0011】しかし、1台単位の増設としてデータ分散の幅を変更するドライブの増設、特にシステムを停止しない動的な増設については言及されていない。量の増設のためのコストが増加するという問題があった。配する記憶装置数を変更できないため、データ転送時に並列動作する記憶装置数を増加させることができない。送速度の向上が図れないという問題点がある。データを記憶している記憶装置群に対して、新たにドライブを追加しても、アドレスのマッピングの変更だけでは、冗長度の増加ができないという問題点がある。置を個別に増設することを可能にし、しかも、その増設をシステムを停止させることなく動的に実現できる技術を提供することにある。【0018】本発明の前記目的並びにその他の目的及び新規な特徴は、本明細書の記載及び添付図面によって明らかにする。置を記憶する書き込み位置記憶手段と、処理装置からのアクセス要求のアクセス位置と前記書き込み位置を比較する比較手段と、比較手段の比較結果から、処理装置からのデータアクセスに用いるデータ分配パターンを決定する決定手段とを有することを特徴とする。憶データを制御装置のメモリに読出すことを特徴とする。新たに作成したr個の冗長データを、増設後の(n+k)個の記憶装置に分配して書き込み、データの再配置を行うことを特徴とする。増設後の(n+k)個の記憶装置に書き込み、データの再配置を行うことを特徴とする。御装置の作成手段が、制御装置のメモリに読み出した(n+k−(r+s))個のデータから、記憶装置システムの冗長度に応じて新たに(r+s)個の冗長データを作成し、制御装置の再配置手段が、前記制御装置のメモリに読み出した前記(n+k−(r+s))個のデータ及び前記新たに作成した(r+s)個の冗長データを、増設後の(n+k)個の記憶装置に書き込み、データの再配置を行うことを特徴とする。長データを、増設後の(n+k)個の記憶装置に分配して書き込み、データの再配置を行うことを特徴とする。送速度の向上、あるいは、記憶装置追加による冗長度の増加を図ることができる。参照して本発明の実施例を詳細に説明する。【0027】なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。【0028】図1は、本発明の一実施例である記憶装置システムの概略構成を示すブロック図である。行する、CPUを有する処理装置、1021〜1025はデータを記憶するドライブ装置であり、ドライブ装置1025は増設用ドライブ装置である。【0030】1010は、アレイ形式の記憶装置システムの制御装置(ディスクアレイ制御装置)である。【0031】ディスクアレイ制御装置1010は、ホストI/F1011、キャッシュメモリ1012、ドライブI/F1013、CPU1030、制御用メモリ1035等から構成される。成、冗長データを用いたデータの復元などを行う。置数と、システムの冗長度と、1個の記憶装置に1回に分配するデータ量の情報からなるデータ分配パターンがテーブルの形で記憶されている。【0034】データは、最初4台のドライブ装置1021〜1024に記憶してある。【0035】データは、ブロック単位で各ドライブ装置に分配し、3ブロックにつき1ブロックの冗長データ(パリティデータ)・ブロックを付ける。【0036】この冗長データは、対象となる3ブロックのデータから生成し、何れの1ブロックのデータが欠落しても復元できる冗長度を持つ。中を避けるために、複数のドライブ装置1021〜1024に分散して記憶している。【0038】図2は、本実施例におけるディスクアレイ制御装置1010の機能ブロック図である。御用メモリ、1012はキャッシュメモリである。【0040】前記各機能は、各機能毎に定めらているプログラムを、ディスクアレイ制御装置1010のCPU1030が実行することにより実現される。【0042】データ分配パターン設定機能2010は、オペレータからの記憶装置増設のコマンドを受け付けると、制御用メモリ1035に予め記憶してある、増設前の元々のシステムに含まれていた記憶装置数と、システムの冗長度と、1個の記憶装置に1回に分配するデータ量の情報を読み出し、増設する記憶装置数と前記制御用メモリ1035から読み出した情報を基に、新たなデータ分配パターンを決定し、その情報を制御用メモリ1035に書き込む。【0043】なお、制御用メモリ1035には、データ再配置が完了するまで、旧のデータ分配パターンも記憶しておく。【0044】その後、データ再配置機能2020を起動する。制御機能2090を介して読み出す。長データの作成を依頼する。配置機能2020がキャッシュメモリ1012上に読み出したデータから、新たなデータ分配パターンに応じて、新たに冗長データを作成する。【0048】新たに作成した冗長データはキャッシュメモリ1012に記憶する。装置1021〜1025に、ドライブ入出力制御機能2090を介して書き込み、データの再配置を行う。【0050】また、データ再配置機能2020は、キャッシュ常駐化機能2060に対して、再配置処理中のデータのキャッシュメモリ1012からの追い出し(リプレース)の禁止を指示する。配パターンのデータの再配置が完了後、停止する。制御機能2090にアクセス要求の実行を依頼する。【0053】ドライブ入出力制御機能2090は、データ分配パターン境界管理機能2050の提供する情報を基に、データ再配置の処理中かどうかをチェックし、データ再配置処理中でなければ新/旧データ分配パターンのどちらからを選択し、記憶装置1021〜1025に対する入出力処理を行なう。【0054】データ再配置中の領域は、対象データのドライブ上のデータ配置パターンが記憶装置1021〜1025間で不整合になるので、記憶装置1021〜1025に直接アクセスすると、不正なデータをアクセスする場合がある。【0055】そこで、キャッシュ・ヒット機能2080により、記憶装置1021〜1025にアクセスすることを防止する。【0056】キャッシュ・ヒット機能2080は、キャッシュ常駐化機能2060によりキャッシュメモリ1012上に保持されているデータについて、当該データに対して処理装置1001から読み出し/書き込み要求があった場合に、キャッシュメモリ1012上のデータの読み出し/キャッシュメモリ1012へのデータ書き込みだけで、即ち、記憶装置1021〜1025に直接アクセスすることなく、対応する。置中に処理装置1001からキャッシュメモリ1012に書き込みのあったデータを、対応する記憶装置1021〜1025に書き込む。置中領域を区別し、入出力制御がどちらのパターンでアクセスするかを判断するための情報を与える。【0060】次に、図6を用いて、本実施例におけるデータ再配置に伴う、データ分配パターン境界制御について説明する。【0061】図6は、本実施例におけるデータ再配置に伴う、データ分配パターン境界制御を説明するための図である。【0062】図6において、アドレスは、各記憶装置に分散して記憶されているデータの論理アドレスを示しており、また、データの論理アドレスから、データが記憶される各記憶装置の物理アドレスへの変換は、従来例と同様、マッピング情報に基づき行われる。配パターンでデータアクセスが可能な再配置完了領域6020の最終アドレスを示す。旧データ分配パターンでアクセスできる。行ポインタ6011に挾まれた再配置中領域6030は、再配置処理中であり、データ分配のパターンが乱れている。【0066】そのため、前記した如く、この領域に対しては、キャッシュメモリ1012上のデータをアクセスする。【0067】前記2つのポインタは、前記制御用メモリ1035に記憶される。【0068】次に、図3を用いて、データ転送速度向上の目的で、ドライブ装置1025を増設した場合について詳しく説明する。度向上の目的で、ドライブ装置1025を増設した場合のデータの流れを示す図である。【0070】データ転送速度を向上させるために、データ分配するドライブ数を増加させ、並列にデータ転送できるドライブ数を増加させる。【0071】増設したドライブ装置1025には、データが記憶されていないので、ドライブ装置1021〜1024に既に記憶しているデータを、ドライブ装置1021〜1025について再配置する。【0072】オペレータからのドライブ装置増設を受け付けたデータ分配パターン設定機能2010は、データ分配の幅を5ドライブ、冗長度1のデータ分配パターンを設定し制御用メモリ1035に記憶する。【0073】その後、データ再配置機能2020に制御を渡す。処理を図3および図5のフローチャートを用いて説明する。機能2020の再配置処理の手順を示すフローチャートである。【0076】始めに、データ分配パターン設定機能2010が、制御用メモリ1035に記憶してある、新旧のデータ分配パターンを取得する(ステップ5010)。配置完了ポインタ6012をドライブの先頭アドレスに設定する(ステップ5020)。置用のデータが読み出されているかを調べる(ステップ5030)。用のデータが読み出されていない。連続する2ブロックのデータ3011〜3018を、旧データ分配パターンに基づいてキャッシュメモリ1012上へ読み出すように、ドライブ入出力制御機能2090に依頼する(ステップ5040)。【0081】次に、読み出したデータ3011〜3018について、キャッシュ常駐化機能2060に対してリプレース禁止を指示する(ステップ5050)。置未実行ポインタ6011を進める(ステップ5060)。憶する(ステップ5070)。【0084】次に、新たに作成した冗長データ3021について、キャッシュ常駐化機能2060に対してリプレース禁止を指示する(ステップ5080)。記新たなデータ分配パターンに基づき、各記憶装置1021〜1025に、読み出したデータ3011〜3013,3015、および、新たに作成した冗長データ3021の書き込みを依頼する(ステップ5090)。【0086】次に、ステップ5090における出力完了を待って、再配置完了ポインタ6012をデータ3015のアドレスまで進める(ステップ5100)。【0087】次に、データ3011〜3015と冗長データ3021について、キャッシュ常駐化機能2060に対してリプレース禁止を解除する(ステップ5110)。【0088】また、ステップ5030において、再配置のために読み出したデータ内、再配置の対象にならずキャッシュメモリ1012上に残っているデータ(図3におけるデータ3016、3018等)で、冗長データが作成可能な場合には、ステップ5070へ進み、前記ステップ5070〜ステップ5110の処理を実行する。【0089】次に、再配置完了ポインタ6012が、データの最終アドレスに到達したか否かを判断し(ステップ5120)、再配置完了ポインタ6012が、データの最終アドレスに到達していれば、再配置終了とし、データの最終アドレスに到達していなければ、ステップ5030から、前記処理を繰り返す。合について詳しく説明する。【0091】図4は、本実施例において、冗長度を1から2に増加させる目的で、ドライブ装置1025を増設した場合のデータの流れを示す図である。【0093】しかし、特定のドライブ装置に対するアクセスの集中を防ぐために新規に作成する冗長データを含めて、冗長データを複数のドライブ装置1021〜1025に分散して記憶するため、データの再配置を行なう。【0094】ドライブ装置増設を受け付けたデータ分配パターン設定機能2010は、データ分配の幅を5ドライブ、冗長度2のデータ分配パターンを設定し制御用メモリ1035に記憶する。【0095】その後、データ再配置機能2020に制御を渡す。処理を図4および図5のフローチャートを用いて説明する。配パターンを取得する(ステップ5010)。配置完了ポインタ6012をドライブの先頭アドレスに設定する(ステップ5020)。置用のデータが読み出されているかを調べる(ステップ5030)。用のデータが読み出されていない。連続する2ブロックのデータ4011〜4018を、旧データ分配パターンに基づいてキャッシュメモリ1012上へ読み出すように、ドライブ入出力制御機能2090に依頼する(ステップ5040)。【0102】次に、読み出したデータ4011〜4018について、キャッシュ常駐化機能2060に対してリプレース禁止を指示する(ステップ5050)。置未実行ポインタ6011を進める(ステップ5060)。成機能2030を用いて、新たに冗長データ4021〜4024を作成し、新たに作成した冗長データ4021〜4024は、キャッシュメモリ1012に記憶する(ステップ5070)。【0105】次に、新たに作成した冗長データ4021〜4024について、キャッシュ常駐化機能2060に対してリプレース禁止を指示する(ステップ5080)。成した冗長データ4021〜4024の書き込みを依頼する(ステップ5090)。【0107】次に、ステップ5090における出力完了を待って、再配置完了ポインタ6012をデータ4018のアドレスまで進める(ステップ5100)。駐化機能2060に対してリプレース禁止を解除する(ステップ5110)。能な場合には、ステップ5070へ進み、前記ステップ5070〜ステップ5110の処理を実行する。【0110】次に、再配置完了ポインタ6012が、データの最終アドレスに到達したか否かを判断し(ステップ5120)、再配置完了ポインタ6012が、データの最終アドレスに到達していれば、再配置終了とし、データの最終アドレスに到達していなければ、ステップ5030から、前記処理を繰り返す。【0111】以上説明したように、本実施例によれば、1個のドライブ1025を増設する場合に、増設前から存在するデータを増設したドライブを含めた形でデータ分配パターンを作成し、データを再配置することにより、データ転送速度の向上を目的とした増設、あるいは、冗長度を増加させデータ信頼性の向上を目的とした増設が実現できる。再配置処理に必要な時間を短縮できる。配置に伴って、新たに冗長データを作成するのに必要なデータのブロック数だけあれば良い。【0114】また、ドライブ装置1025を増設する際に、増設前のデータ分配パターンでの読み出しにおいて、冗長データも読み出しているので、ドライブ装置1021〜1024の全体障害又は部分障害により読み出すべきデータの一部が読み出せなかった場合には、キャッシュメモリ1013上のデータを用いて、新たなデータの入出力を必要とせずに、当該データを回復することもできる。合においても、ドライブ装置を増設する際に、増設前のデータ分配パターンでの読み出しにおいて、冗長データも読み出すようにしている。長データを作成するのに必要なデータだけあれば良いのは、明細書および図面の記載から明らかであるから、キャッシュメモリ1012に読み出すデータから、冗長データを除くことも可能である。【0117】ただし、増設前の記憶装置1021〜1024から冗長データ以外のデータをキャッシュメモリ1012に読み出す際に、閉塞している記憶装置が存在する場合には、増設前の記憶装置の内、正常な記憶装置からデータを読み出し、冗長データを用いて閉塞している記憶装置に記憶されているデータを復元する必要がある。明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更し得ることは言うまでもない。【発明の効果】以上説明したように、本願発明によれば、記憶装置を増設する際に、動的なデータの再配置が可能となり、データを分散する複数の記憶装置群を単位とした増設ではなく、記憶装置1個単位での増設が可能となり、記憶容量の増設に伴うコストを削減することが可能となる。【0120】これにより、データを分配する記憶装置数を変更できるので、記憶装置追加によるデータ転送速度の向上を図ることができる。置追加による冗長度の増加を図ることができ、データの信頼性の向上を図ることができる。略構成を示すブロック図である。本実施例におけるディスクアレイ制御装置の機能ブロック図である。的で、ドライブ装置を増設した場合のデータの流れを示す図である。本実施例において、冗長度を1から2に増加させる目的で、ドライブ装置を増設した場合のデータの流れを示す図である。置処理の手順を示すフローチャートである。本実施例におけるデータ再配置に伴う、データ分配パターン境界制御を説明するための図である。比較手段の比較結果から、処理装置からのデータアクセスに用いるデータ分配パターンを決定する決定手段とを有することを特徴とするアレイ形式の記憶装置システム。項1に記載のアレイ形式の記憶装置システム。成した(r+k)個の冗長データを、増設後の(n+k)個の記憶装置に書き込み、データの再配置を行うことを特徴とする請求項2に記載のアレイ形式の記憶装置システム。置を行うことを特徴とする請求項2に記載のアレイ形式の記憶装置システム。手段における判別結果に応じて前記データをアクセスするアクセス手段とを有することを特徴とする記憶装置システム。判別を行うことを特徴とする請求項7に記載の記憶装置システム。