(57)【要約】【課題】  ディスクアレイシステムを構成するディスク記憶装置を管理する専用の装置などを設けることなく、ディスク記憶装置自体が、自律してデータの転送を行い、ディスク記憶装置間でデータの格納を補完することのできるディスク記憶システムを提供する。【解決手段】  ホストコンピュータ１と接続するディスク記憶装置であって、少なくとも２つの他のディスク記憶装置と接続され、他のディスク記憶装置との間でのデータの転送処理を実行するデータ転送手段を有し、データ転送手段で転送処理したデータの管理情報を保有するコネクトアダプタ部１００を備えた。【選択図】  図１ 
2005056200.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと接続する複数のホストインターフェースと、データを格納するディスク装置に接続するディスクインターフェースと、前記データを一時的に格納し、前記ホストインターフェースおよび前記ディスクインターフェースから共通にアクセスできるキャッシュメモリと、前記ホストインターフェース、前記ディスクインターフェースおよび前記キャッシュメモリを接続するスイッチ手段とを含む複数のディスク記憶装置を有するディスク記憶システムにおけるデータ管理方法であって、
前記複数のディスク記憶装置のそれぞれが、前記ディスク記憶装置間を接続するインターフェース内に、前記複数のディスク記憶装置の情報を保有し、
前記複数の各ディスク記憶装置自体が、前記複数のディスク記憶装置間でのデータの転送処理を実行し、この転送処理したデータの管理情報を、前記各ディスク記憶装置の前記インターフェース内に保有することを特徴とするデータ管理方法。
【請求項２】
請求項１記載のデータ管理方法において、
前記複数のディスク記憶装置間でのデータの転送処理は、前記ホストコンピュータからのデータ要求または他のディスク記憶装置からのデータ要求を解析し、その解析結果及び前記管理情報に基づいて実行されることを特徴とするデータ管理方法。
【請求項３】
請求項１または２記載のデータ管理方法において、
前記複数のディスク記憶装置間でのデータの転送処理を実行する際、前記データのアドレスを転送先のディスク記憶装置のアドレスに張り替えて転送処理を実行することを特徴とするデータ管理方法。
【請求項４】
請求項１、２または３記載のデータ管理方法において、
前記複数のディスク記憶装置間でのデータの転送処理を実行する際、転送するデータをキャッシュメモリに格納し、第１の転送先のディスク記憶装置が障害のとき、前記キャッシュメモリに格納したデータのアドレスを、第２の転送先のディスク記憶装置のアドレスに張り替えて転送処理を実行することを特徴とするデータ管理方法。
【請求項５】
請求項３または４記載のデータ管理方法において、
前記転送されたデータを前記ディスク記憶装置内のディスク装置に格納したとき、そのデータの管理情報を前記データを格納したディスク記憶装置から、転送元のディスク記憶装置へ通知することを特徴とするデータ管理方法。
【請求項６】
請求項１、２、３、４または５記載のデータ管理方法において、
前記複数のディスク記憶装置間でのデータの転送処理は、前記ディスク記憶装置内のディスク装置の格納領域の状態に基づいて実行されることを特徴とするデータ管理方法。
【請求項７】
ホストコンピュータと接続する複数のホストインターフェースと、データを格納するディスク装置に接続するディスクインターフェースと、前記データを一時的に格納し、前記ホストインターフェースおよび前記ディスクインターフェースから共通にアクセスできるキャッシュメモリと、前記ホストインターフェース、前記ディスクインターフェースおよび前記キャッシュメモリを接続するスイッチ手段とを含むディスク記憶装置であって、
少なくとも２つの他のディスク記憶装置と接続され、前記他のディスク記憶装置との間でのデータの転送処理を実行するデータ転送手段を有し、前記他のディスク記憶装置及び前記他のディスク記憶装置以降に接続された複数のディスク記憶装置の情報と前記データ転送手段で転送処理したデータの管理情報を保有するインターフェースを備えたことを特徴とするディスク記憶装置。
【請求項８】
請求項７記載のディスク記憶装置において、
前記データ転送手段は、前記データのアドレスを解析するアドレス解析手段を含み、前記ホストコンピュータからのデータ要求または前記他のディスク記憶装置からのデータ要求を前記アドレス解析手段により解析し、その解析結果及び前記管理情報に基づいて、データの転送処理を実行することを特徴とするディスク記憶装置。
【請求項９】
請求項８記載のディスク記憶装置において、
前記データ転送手段は、前記データのアドレスを変換するアドレス変換手段を含み、前記ホストコンピュータからのデータ要求または前記インターフェースに接続された第１のディスク記憶装置からのデータ要求を前記アドレス解析手段により解析し、その解析結果及び前記管理情報に基づいて、アドレス変換手段により前記データのアドレスを前記インターフェースに接続された第２のディスク記憶装置のアドレスに張り替えて転送処理を実行することを特徴とするディスク記憶装置。
【請求項１０】
請求項８または９記載のディスク記憶装置において、
前記データ転送手段は、前記他のディスク記憶装置との間でのデータの転送処理を実行する際、転送するデータを前記キャッシュメモリに格納し、前記インターフェースに接続された第１の転送先のディスク記憶装置が障害のとき、前記キャッシュメモリに格納したデータのアドレスを、前記インターフェースに接続された第２の転送先のディスク記憶装置のアドレスに張り替えて転送処理を実行することを特徴とするディスク記憶装置。
【請求項１１】
請求項９または１０記載のディスク記憶装置において、
前記データ転送手段は、前記他のディスク記憶装置から転送されたデータを前記ディスク記憶装置内のディスク装置に格納したとき、そのデータの管理情報を転送元のディスク記憶装置へ通知することを特徴とするディスク記憶装置。
【請求項１２】
請求項７、８、９、１０または１１記載のディスク記憶装置において、
前記データ転送手段は、前記ディスク記憶装置内のディスク装置の格納領域に基づいて、データの転送処理を実行することを特徴とするディスク記憶装置。
【請求項１３】
請求項７、８、９、１０、１１または１２記載のディスク記憶装置において、
前記データ転送手段と前記スイッチ手段を同じプリント基板に実装したことを特徴とするディスク記憶装置。
【請求項１４】
請求項９、１０、１１または１２記載のディスク記憶装置において、
前記アドレス変換手段を前記スイッチ手段に実装したことを特徴とするディスク記憶装置。
【請求項１５】
ホストコンピュータと接続する複数のホストインターフェースと、データを格納するディスク装置に接続するディスクインターフェースと、前記データを一時的に格納し、前記ホストインターフェースおよび前記ディスクインターフェースから共通にアクセスできるキャッシュメモリと、前記ホストインターフェース、前記ディスクインターフェースおよび前記キャッシュメモリを接続するスイッチ手段とを含む複数のディスク記憶装置を有するディスク記憶システムであって、
前記複数のディスク記憶装置は、それぞれ、前記複数のディスク記憶装置間でのデータの転送処理を実行するデータ転送手段を有し、前記複数のディスク記憶装置の情報および前記データ転送手段で転送処理したデータの管理情報を保有するインターフェースを備え、
前記複数のディスク記憶装置を前記インターフェースを介してループ状に接続することを特徴とするディスク記憶システム。
【請求項１６】
請求項１５記載のディスク記憶システムにおいて、
前記複数のディスク記憶装置のデータ転送手段は、前記データのアドレスを解析するアドレス解析手段および前記データのアドレスを変換するアドレス変換手段を含み、
前記複数のディスク記憶装置のデータ転送手段は、それぞれ、
前記アドレス解析手段により、隣のディスク記憶装置からのデータ要求が自分のディスク記憶装置に対する要求でないとアドレス解析された場合は、別の隣のディスク記憶装置へデータを中継し、
前記アドレス解析手段により、隣のディスク記憶装置からのデータ要求が自分のディスク記憶装置に対する要求であるとアドレス解析された場合は、自分のディスク記憶装置のドライブ装置にデータをアクセスできるかどうかを認知し、自分のディスク記憶装置のドライブ装置にデータをアクセスできる場合は、前記データを格納または取り出しを実施し、要求元のディスク記憶装置に管理情報を通知し、自分のディスク記憶装置のドライブ装置にデータをアクセスできない場合は、前記データのアドレスを張り替えて別の隣の装置へデータを中継することを特徴とするディスク記憶システム。
【請求項１７】
請求項１６記載のディスク記憶システムにおいて、
前記複数のディスク記憶装置のデータ転送手段は、それぞれ、データのアドレスを張り替える場合は、ループ内の任意のディスク記憶装置のアドレスへアドレスを張り替えることを特徴とするディスク記憶システム。
【請求項１８】
請求項１７記載のディスク記憶システムにおいて、
前記複数のディスク記憶装置のデータ転送手段は、それぞれ、あらかじめ用意したリストのグループを指定して前記ループ内の任意の装置を選択することを特徴とするディスク記憶システム。
【請求項１９】
請求項１６、１７または１８記載のディスク記憶システムにおいて、
前記複数のディスク記憶装置のインターフェースに装置外勘合部を接続し、前記装置外勘合部を介して、前記複数のディスク記憶装置をループ状に接続し、
前記ディスク記憶装置または前記ディスク記憶装置のインターフェースが故障した際、前記装置外勘合部により、隣のディスク記憶装置と別の隣のディスク記憶装置の接続をバイパスすることを特徴とするディスク記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを分割して複数の磁気ドライブに格納するディスク記憶装置を複数接続したディスク記憶システムに関し、特に、ディスク記憶装置間におけるデータの転送技術に関する。
【背景技術】
【０００２】
銀行、証券、電話会社等に代表される大企業では、従来、各所に分散していたコンピュータおよびストレージを、データセンターの中に集中化してコンピュータシステムおよびストレージシステム構成することにより、コンピュータシステムおよびストレージシステムの運用、保守、管理に要する費用を削減する傾向にあり、特に、大型／ハイエンドのストレージシステムには、数百台以上のホストコンピュータへ接続するためのチャネルインタフェースのサポート（コネクティビティ）、数百テラバイト以上の記憶容量のサポートが要求されている。
【０００３】
その上で、さらに情報化社会の進歩は処理する通信、データの量は急速な増加が止まることを知らない。しかし予測のできないデータ量の増加は、物理的な拡張はストレージシステムの運用、保守、管理に要するコストと手間を増加させている。
【０００４】
そこで、昨今、ストレージプールとして、ユーザーのニーズにより様々なニーズに応える自由なシステム構成が求められ、その中には複数のストレージ間の空き容量を有効に使うようにバーチャルボリュームを構築することも求められている。
【０００５】
また、保守のためにも、高信頼な構成モジュールと、クラスタシステム、これらを組み合わせるシステム構築技術による、高可用システムや、また、客ニーズに応じたシステムの構築を可能とし、増設や構成変更にも容易に対応できるフレキシビリティ等などの拡張性と共にトータルストレージ容量を圧縮したり、増設や構成変更を容易化する運用性が求められている。
【０００６】
従来、例えば、図２３に示すように、スイッチルータを介して、複数のホストコンピュータとディスク記憶装置を接続したり、図２４に示すように、ファイバチャネルを介して、複数のホストコンピュータとディスク記憶装置を接続するものがあった（例えば、特許文献１参照）。
【特許文献１】特開２０００−３３９０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
現状では、ボリュームの拡張はユーザー側で設定を変更、修正して初めて成立するが、ＯＳやミドルウェアに制限されてしまうのはオープン性を損ないユーザーの拡張性を低くしてしまい、また、オンタイムでも柔軟な動的な変更をするには、記憶装置側で自律的にできる方が、運用面でコストが小さい。
【０００８】
しかしながら、図２３に示すような、従来のディスクアレイシステムでは、ホストコンピュータとディスク記憶装置の対応は基本的に１対１であり、１台のディスク記憶装置が障害になりデータを格納できなくなったり、容量不足でデータの格納ができなくなってしまった場合は、それぞれの装置で保守を実施しなくてはならず、ホストコンピュータ側で、別装置にアドレスを変更してデータ格納場所を変える必要があるという問題があり、また、図２４に示すような構成であっても、突発的なアクシデントによってデータセンターが麻痺することを防ぐために、バーチャルボリュームのバックアップを取ったり、リストアしたりすることディザスタ・リカバリが求められているが、増加するディスク記憶装置群とそれを管理するマネージメント装置、あるいはストレージスイッチをあらたに設けることは管理運用コストの増大と管理の複雑化を余儀なくされてしまうという問題があった。
【０００９】
そこで、本発明の目的は、ディスク記憶システムを構成するディスク記憶装置を管理する専用の装置などを設けることなく、ディスク記憶装置自体が、自律してデータの転送を行い、ディスク記憶装置間でデータの格納を補完することのできるディスク記憶システムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明によるデータ管理方法は、ホストコンピュータと接続する複数のホストインターフェースと、データを格納するディスク装置に接続するディスクインターフェースと、データを一時的に格納し、ホストインターフェースおよびディスクインターフェースから共通にアクセスできるキャッシュメモリと、ホストインターフェース、ディスクインターフェースおよびキャッシュメモリを接続するスイッチ手段とを含む複数のディスク記憶装置を有するディスク記憶システムにおけるデータ管理方法であって、複数のディスク記憶装置のそれぞれが、ディスク記憶装置間を接続するインターフェース内に、複数のディスク記憶装置の情報を保有し、複数の各ディスク記憶装置自体が、複数のディスク記憶装置間でのデータの転送処理を実行し、この転送処理したデータの管理情報を、各ディスク記憶装置のインターフェース内に保有するものである。
【００１１】
また、本発明によるディスク記憶装置は、ホストコンピュータと接続する複数のホストインターフェースと、データを格納するディスク装置に接続するディスクインターフェースと、データを一時的に格納し、ホストインターフェースおよびディスクインターフェースから共通にアクセスできるキャッシュメモリと、ホストインターフェース、ディスクインターフェースおよびキャッシュメモリを接続するスイッチ手段とを含むディスク記憶装置であって、少なくとも２つの他のディスク記憶装置と接続され、他のディスク記憶装置との間でのデータの転送処理を実行するデータ転送手段を有し、他のディスク記憶装置及び他のディスク記憶装置以降に接続された複数のディスク記憶装置の情報とデータ転送手段で転送処理したデータの管理情報を保有するインターフェースを備えたものである。
【００１２】
また、本発明によるディスク記憶システムは、ホストコンピュータと接続する複数のホストインターフェースと、データを格納するディスク装置に接続するディスクインターフェースと、データを一時的に格納し、ホストインターフェースおよびディスクインターフェースから共通にアクセスできるキャッシュメモリと、ホストインターフェース、ディスクインターフェースおよびキャッシュメモリを接続するスイッチ手段とを含む複数のディスク記憶装置を有するディスク記憶システムであって、複数のディスク記憶装置は、それぞれ、複数のディスク記憶装置間でのデータの転送処理を実行するデータ転送手段を有し、複数のディスク記憶装置の情報およびデータ転送手段で転送処理したデータの管理情報を保有するインターフェースを備え、複数のディスク記憶装置をインターフェースを介してループ状に接続するものである。
【発明の効果】
【００１３】
本発明によれば、ディスク記憶システムを構成するディスク記憶装置を管理する専用の装置などを設けることなく、ディスク記憶装置間でデータの格納を補完することができ、データ量の増加にすぐ対応できないディスク記憶装置を他のディスク記憶装置が容量を間借りさせることでサービスの劣化を低減させことができる。
【００１４】
また、本発明によれば、ディスク記憶装置間でアドレスとデータを順繰り渡していくこともでき、ディスク記憶装置間に特別なスイッチを設けなくとも、各ディスク記憶装置が中継しながらデータ転送を行うことができる。
【００１５】
また、本発明によれば、ディスク記憶装置間は独自のプロトコルでホストに影響させずに実施でき、各ディスク記憶装置が協調しつつもなるべく独立にホストコンピュータからの要求に応えることができ、運用コストの安い比較的容易なストレージプールを実現することが可能である。
【００１６】
また、本発明によれば、ディスク記憶装置が中継装置として動作した際、通過データをモニターし、複製データや、転送ログを分散化して保存することでバックアップの軽量化の効果を期待できる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１８】
図１は本発明の一実施の形態によるディスク記憶システムの一例を示す構成図、図２はディスク記憶システムを構成するディスク記憶装置の一例を示す構成図である。
【００１９】
図１において、ディスク記憶システムは、ホストコンピュータ１に接続された複数のディスク記憶装置１０を、チェーンリンク２０により接続している。
【００２０】
ディスク記憶装置１０とチェーンリンク２０との間は、ディスク記憶装置１０のコネクタアダプタ部１００をＩ／Ｆ制御部として装置外勘合部１２０を介して接続している。
【００２１】
また、装置外勘合部１２０は、コネクタアダプタ部１００の保守時や使用不可の時は、チェーンリンク２０をバイパスする機能を持たせており、装置外勘合部１２０をあらかじめ設置しておき、ディスク記憶装置１０を増設するまでバイパスしておくという使い方もでき、ディスク記憶装置１０の増減設をしやすくできるようにしている。
【００２２】
また、各ディスク記憶装置１０のコネクトアダプタ部１００は、装置外勘合部１２０を介して、両隣のディスク記憶装置１０と結ぶチェーンリンク２０のそれぞれと接続し、チェーンリンク２０は、全体として少なくとも２系統の経路を持つように配置している。これは、ディスク記憶装置１０間のチェーンリンク２０の１つが障害のときでも、経路を換えてアクセスできるようにするためであり、本実施の形態では複数のディスク記憶装置１０間でデータを中継させて転送することによりチェーンリンク２０の障害に対応している。
【００２３】
図２において、ディスク記憶装置１０は、ホストコンピュータ１と接続する２つのホストインターフェースであるインターフェース部（ホストアダプタ部）２と、磁気ディスク群６と接続する４つのディスクインターフェースであるインターフェース部（ディスクアダプタ部）３を有している。各磁気ディスク群６がそれぞれ２つのディスクアダプタ部３に接続しているのは、どちらかのディスクアダプタ部３の故障時でもディスクへのアクセスが可能なように２つの経路のパスを設けるためである。
【００２４】
また、ホストアダプタ部２とディスクアダプタ部３は、スイッチ手段であるスイッチ部５を介して、キャッシュメモリ部４と内部パスを通して接続している。
【００２５】
スイッチ部５が２つ存在するのは、２つ以上の経路があることによる転送帯域（性能）向上と、どちらかのスイッチ部５が故障してもキャッシュメモリ部４へアクセスできるようにである。
【００２６】
また、キャッシュメモリ部４は、内部に複数のメモリモジュールを内蔵し、ホストコンピュータ１より、磁気ディスク群６への書き込み要求が発生した場合に、ホストアダプタ部２が磁気ディスク群６へ記録する書き込みデータを一時的に格納するために使う。
【００２７】
また、ホストコンピュータ１が読み出し要求をした場合は、キャッシュメモリ部４上にデータがあれば、磁気ディスク群６から読み出さずにホストアダプタ部２がキャッシュメモリ部４上からデータをホストコンピュータ１に転送し、応答時間を短くする。
【００２８】
また、ディスクアダプタ部３は、ホストアダプタ部２に呼応し、磁気ディスク群６よりキャッシュメモリ部４へのデータの格納（ステージング）を行い、あるいはキャッシュメモリ部４より磁気ディスク群６へのデータの格納（デステージング）を行う。
【００２９】
また、ディスクアダプタ部３は、データを複数のブロックに分散して磁気ディスク群６の中の複数のディスクに格納する制御も実施でき、また、データに対するパリティ冗長データを生成させて磁気ディスク群６の中に格納し、復元することもできる。これは一般的にいうディスクアレイ（ＲＡＩＤ）技術のことを指す。
【００３０】
以上の構成要素は、単独に設置するディスク記憶装置の基本要素であり、本実施の形態では、ディスク記憶装置間を接続するための要素である、インターフェースとなるコネクトアダプタ部１００を新たに設置し、スイッチ部５のパスをコネクトアダプタ部１００に接続させるようにスイッチ部を拡張し、コネクトアダプタ部１００からスイッチ部５を介してキャッシュメモリ部４にデータをアクセスできるようにし、また、コネクトアダプタ部１００は、装置外勘合部１２０を介してチェーンリンク２０に接続されている。
【００３１】
次に、本実施の形態のディスク記憶装置１０のスイッチ部５およびコネクトアダプタ部１００の詳細について説明する。
【００３２】
図３はスイッチ部の一例を示す構成図、図４はコネクトアダプタ部１００の一例を示す構成図、図５はコネクトアダプタ部１００内の装置外勘合部１２０の一例を示す構成図である。
【００３３】
図３において、スイッチ部５は、ホストアダプタ部２、ディスクアダプタ部３、コネクトアダプタ部１００からつながるパスに接続するパスＩＦ部５０１とキャッシュメモリ部４からつながるパスに接続するパスＩＦ部５０１と、両者間を互いに接続するセレクタ５０４と、パケットバッファ５０３と、データのエラーチェック回路部５０２とホストアダプタ部２、ディスクアダプタ部３、コネクトアダプタ部１００の各アダプタ部から送出されたアドレス及びコマンドを解析するアドレス／コマンド解析部５０６と、データ転送制御部５０５を有する。
【００３４】
データ転送制御部５０５は、制御線でキャッシュメモリ部４に接続され、内部のアービタ５０７により、アドレス／コマンド解析部５０６で解析したアダプタ側に接続するパスからのアクセス要求のアービトレーション（調停）を行い、セレクタ５０４の切り替えを行う。
【００３５】
パケットバッファ５０３は、アダプタ側のパスとキャッシュメモリ側のパスでデータ転送速度に差がある場合、速度差を吸収するために、転送するデータの一部または全部をバッファリングする。
【００３６】
アドレス／コマンド解析部５０６は、アドレス及びコマンドを格納するバッファと、アドレス抽出部と、コマンド抽出部を有しており（図示せず）、アドレス／コマンド解析部５０６は各アダプタパスごと、それぞれに割り当てられたバッファに、アドレス、コマンドを格納する。アドレス抽出部及びコマンド抽出部では、アクセスするキャッシュパスを割り出し、データ転送制御部５０５内のアービタ５０７へ切り替え要求（リクエスト）送出する。
【００３７】
もし、複数のアダプタが１つのキャッシュメモリに対してアクセス要求をしている場合は、リクエストに対してアービトレーション（調停）を行い、アダプタ側のパスとキャッシュ側のパスの接続切り替えを実施する。
【００３８】
なお、このアービトレーション（調停）は優先度（プライオリティー）の制御により、各アダプタに対するパス接続のバランスを調整することも可能である。
【００３９】
図４において、コネクトアダプタ部１００はそれぞれをチェーンリンク２０で接続される。なお、チェーンリンク２０を実施する物理的な接続はケーブルの場合もあれば、無線の場合もあり得る。無線の場合は送信するコネクトアダプタ部１００の送受信回路を無線変換することにより実施可能である。この例では、２つのチェーンリンク２０が装置外勘合部１２０を介してコネクトアダプタ部１００に接続している。
【００４０】
装置外勘合部１２０の内部には、図５に示されるようなバイパススイッチ１２１によって、ディスク記憶装置１０が動作可能な場合に出力されるアライブ信号出力回路１１７からのアライブ信号３０がアサートされていない際は、片方のチェーンリンク２０からもう片方のチェーンリンク２０へ出力をバイパスする。これはディスク記憶装置１０の故障の場合、そのディスク記憶装置１０あるいはコネクトアダプタ部１００を保守交換する際でも、中継経路が切断せずに次の中継装置へデータを送るためである。
【００４１】
なお、コネクトアダプタ部１００を複数実装させ、装置外勘合部１２０内のバイパススイッチ１２１を複数実装することにより、ディスク記憶装置１０間に複数のチェーンリンク２０を設けて、接続できるように実装を拡張することも可能である。
【００４２】
また、装置外勘合部１２０に接続するパスにつながるパケットバッファ１０７とディスク記憶装置１０内部のスイッチ部５に接続するパスにつながるパスＩＦ部１０８と、両者を互いに接続するセレクタ１０９と、チェーンリンク２０側のデータのエラーチェックをする入力と出力のエラーチェック回路部１０５と、スイッチ側パスのデータのエラーチェックをする入力と出力のエラーチェック回路部１０６と、データ転送手段であるデータ転送制御部１１０がある。
【００４３】
このデータ転送制御部１１０は、チェーンリンク２０から他のディスク記憶装置１０より転送されるアドレス及びコマンドを解析するアドレス解析手段であるアドレス解析部１１１、アービタ１１２、アドレス変換手段であるアドレス変換部１１３、メモリ１１４、マイクロプロセッサ１１５を有している。
【００４４】
なお、データ転送制御部１１０をスイッチ部５と同じプリント基板に実装するようにしてもよく、また、データ転送制御部１１０のアドレス変換部１１３をスイッチ部５に実装するようにしてもよい。
【００４５】
なお、本実施の形態のディスク記憶システムは、図１に示した接続構成だけではなく、例えば、図６に示すような、複数のディスク記憶装置１０の間を、スイッチを経由して切り替える構成でもよい。このスイッチはあくまでもチェーンリンク２０の別形態であり、各ディスク記憶装置１０同士の接続を切り替えるものである。
【００４６】
また、図１に示した接続構成を発展させて、図７に示すように、複数のディスク記憶装置１０を接続してもよい。これは、各ディスク記憶装置１０の四方にコネクタアダプタ部１００を配置し、それぞれをチェーンリンク２０で接続するものであり、縦のリンクと横のリンクが織り目のように緻密に接続し、ディスク記憶装置１０の集合体を成すものである。
【００４７】
次に、本実施の形態のディスク記録システムの動作の概略について説明する。
【００４８】
図８はディスク記録システムの動作の概略を説明するための説明図、図９はホストの認識する論理ボリュームと実態の磁気ディスクの物理ボリュームとの関係を説明するための説明図、図１０は自分のディスク記憶装置内部のボリュームの所有者が誰であるかを管理する管理マップを示す図、図１１は装置内論理アドレス（ＬＵ番号）を説明するための説明図である。
【００４９】
図２３や図２４に示すような従来のディスク記憶システムでは、接続するためのルータースイッチや、ホストと各装置を接続するインターフェースの故障により、システムはダウンし多大な被害を受け、また、ディスク記憶装置の制御はホスト側で管理されることにより装置の増設時にはホスト側の設定が必要であるが、本実施の形態における図１、図６、図７に示すような構成においては、ホスト側に対して構成の設定を求めることなく運用が可能である。
【００５０】
つまり、図８に示すように、ホストコンピュータＡは接続するディスクコントローラＡに接続できる磁気ディスクが、実線と点線を合わせた磁気ディスク群と認知しているが、ディスク記憶装置１０自身の管理により、実体としてはディスク記憶装置１０の各アダプタなどからなるディスクコントローラＡ、Ｂ、Ｃ、Ｄを結ぶチェーンリンク２０を介して、ディスクコントローラＣの配下の増設ディスクにアクセスされるように動作する。
【００５１】
このように実体の記憶デバイスのボリュームとホストの認識する論理ボリュームを仮想化することによってホスト側に障害時の切り替え設定や、増設による論理パーテーションの設定の労力を減らすことが可能となる。
【００５２】
また、図９に示すように、ホストコンピュータ１が管理している論理ボリューム自体は、実体として接続するディスク記憶装置１０の容量以上の仮想ボリュームを持ち、ホストコンピュータ１側の設定をすることなく、各ディスク記憶装置１０が融通しあうことで容量分のアクセスをホストコンピュータ１にサービスすることが可能である。
【００５３】
この際、各ディスク記憶装置１０において、自分のディスク記憶装置１０内部のボリュームの所有者が誰であるかを管理しなければならない。
【００５４】
本実施の形態では、図１０に示すような管理情報である管理マップを各ディスク記憶装置１０内に保有している。これはホストコンピュータ１から指定されるホスト論理アドレス（ＬＵ番号：論理ユニット番号）に対応した自装置の論理アドレスとそのＢＬＫ（例として５１２バイト）単位に管理元装置ＩＤとプロテクト情報をテーブルにし、アクセスするデータをマッピングしている。
【００５５】
図１１に示すように、装置内論理アドレス（ＬＵ番号）はディスクアレイ構成のように複数のドライブをストライプに物理アドレスを持つことが多い。なお、図１、図２、図６、図７に示す各ディスク記憶装置１０に存在する磁気ディスク群６は物理的にはその場所、場所で構成等が異なることもある。
【００５６】
次に、本実施の形態のディスク記録システムの動作の詳細について説明する。
【００５７】
図１２はディスク記憶装置のコネクトアダプタ間のプロトコルフェーズを示す図、図１３はチェーンリンク上のパケットのフォーマットの一例を示す図、図１４は装置間データアドレスフォーマットを示す図、図１５は装置間データアドレスマップを示す図、図１６は送られたデータの宛先が自分でない場合に次にホッピングする動作を説明するための説明図、図１７は当初受信先装置において自分の装置のディスクに空きがない場合、あるいは障害がおこった場合にアドレスを変換して次に中継する動作を説明するための説明図、図１８は保管用ストレージに退避するケースを説明するための説明図である。
【００５８】
通常時、つまりホストコンピュータ１から要求されるデータを格納する磁気ディスク群６が自装置にマッピングされるときは、ホストコンピュータ１からの格納要求に対しては自装置内にて処理ができる。しかし自装置外、すなわち他の装置へマッピングされるデータのアクセス要求がきた場合、他の装置に転送し対象の装置が応答する動作を行う。
【００５９】
まず、ホストコンピュータ１から受け付けたデータはまずキャッシュメモリ部４に保管される。そして、デステージさせるディスクエリアがないと認識した場合、コネクトアダプタ部１００は、キャッシュメモリ部４に一時に格納されているデータを装置外に転送する。
【００６０】
コネクトアダプタ部１００間の転送について、プロトコルはとくに規定はしないし、Ｉ／Ｆを選択すればいいが、ここでは一例として、図１２示すようなプロトコルフェーズを示す。アドレス・コマンドフェーズ、データフェーズ、メッセージ（ＲＥＱ，ＭＡＰ＿ＵＰＤＡＴＥ）フェーズである。
【００６１】
送信元のディスク記憶装置１０から受信先のディスク記憶装置１０の間を中継装置となるディスク記憶装置１０が、それぞれのフェーズごとにデータを順番に渡していく。その際、転送開始のＲＥＱのメッセージ、転送終了のＳＴＡＴＵＳメッセージの間にアドレス・コマンド、データを送信する。図１２に示す例ではライト時のデータ方向であるがリードの際はデータ８０８の方向が、反対になる。
【００６２】
また、コネクトアダプタ部１００は、受信するデータパケットが、どのフェーズのデータでどこが発信元で送信先なのかを常にポーリングしている。そのためデータパケットのフォーマットのヘッダに装置アドレス情報とフェーズ・コマンド情報を載せ、プロトコルを監視させる。このチェーンリンク２０上のパケットのフォーマットの例を図１３に示す。
【００６３】
このとき転送先アドレスはチェーンリンク２０でつながる装置の中のアドレスとなる。コネクトアダプタ部１００からのデータを中継するためには、データの責任元、つまり送信元の装置のアドレスと、格納先の装置のアドレスをこのコネクトアダプタ部１００のデータ転送制御部１１０は認識しなくてはいけない。このアドレスのフォーマットは、図１４に示す装置間データアドレスフォーマット１１１１の例のように、ホストコンピュータ１からデータの識別ＩＤと宛先である受信先アドレス、送信元である送信元アドレスを構成させ、これをデータ転送制御部１１０は解析する。
【００６４】
送信元の装置アドレスは、その装置をチェーンリンク２０の中で特定する装置ＩＤとその装置内において管理される装置内論理アドレスがあり、これに対応する受信先の装置の装置アドレスにも、装置ＩＤと装置内論理アドレスがある。装置ＩＤはチェーンリンク２０でつながる装置各個が固有で定められている。
【００６５】
また、アドレス解析部１１１は、転送元の装置のアドレスと転送先装置のアドレスをチェックし、すなわち、装置ＩＤを抽出して、そのＩＤを元に、図４に示す信号（２）より入力される転送先のアドレスが（Ａ）他の装置に対するアドレスの場合、（Ｂ）自分の装置に対するアドレスの場合かをまず判断する。
【００６６】
ここで、アドレス解析部１１１で判断された（Ａ）と（Ｂ）の場合の動作について説明する。
【００６７】
まず、（Ａ）の場合は、送信元とは別のリンクで接続しているディスク記憶装置１０へホッピングして中継をする。すなわち、図１６に示す中継装置１１０１の動作となる。
【００６８】
まず、ホストから責任元である送信元装置１１００にデータがライト要求がある（ステップ１）。そして、データは送信元装置１１００のホストアダプタ部２より、キャッシュメモリ部４に一度、バッファリングされる（ステップ２）。
【００６９】
そして、ディスクへのデステージが不可であるため（ステップ３）、そのデータはコネクトアダプタ部１００により受信先装置１１０２へ装置の外へライト要求として転送する（ステップ４）。ここで送信元装置１１００と受信先装置１１０２のチェーンリンク２０の中間に位置する中継装置１１０１は、送信元装置１１００からのデータを一時的に受信することになる。
【００７０】
そして、中継装置１１０１では、図１３に示されたプロトコルパケットのヘッダ部にある送信先装置ＩＤが自分でないことを解析し、となりの装置へ中継しなければならないと判断する。すなわち、中継装置１１０１では、データを受信し（ステップ５）、アドレスを解析し（ステップ６）、データ送信を実施する（ステップ７）。
【００７１】
そして、受信先装置１１０２はデータを受信し（ステップ８）、自分の装置に格納できると判断して、データをキャッシュメモリ部４に一旦格納し（ステップ９）、装置内部論理アドレスをアロケートしたら、マップ更新情報を送信元装置１１００宛てに発信する（ステップ１０）。
【００７２】
その後、装置内部のディスクの物理アドレスを割り当てて、キャッシュメモリ部４よりディスクへデステージングする（ステップ１３）。マップ更新情報は各中継装置のホッピングを経て（ステップ１１）、送信元装置１１００にたどりつき（ステップ１２）、送信元のアドレスマップが正しく受信先装置１１０２に更新される。なおリードの場合は中継にてアドレスの張り替えはない。
【００７３】
なお、ステップ６での具体的な内部の動作としては、図４において、データ転送制御部１１０により、２つのパケットバッファ１０７間をセレクタ１０９を介しアドレスを転送し、装置外勘合部１２０を介し別の装置へ転送（ホッピング）する。
【００７４】
そして、スイッチバイパス部１１６のセレクト信号（図４中の（１））を切り替え、
次にくるデータレコードをバイパスさせて次の装置に中継させるという動作を行う。
【００７５】
また、（Ｂ）の場合、すなわちアドレスの送信先の装置ＩＤが自分の装置ＩＤと一致した場合は、送信元アドレスをキーにメモリ１１４に格納される、図１５に示す装置間データアドレスマップ１０００をサーチし、該当するデータアドレスが登録されているかを確認する。
【００７６】
この装置間データアドレスマップ１０００は、借用させている装置における格納先アドレス１０１０とその本来データの管理している管理元アドレス１０２０を実際のホスト論理ＩＤをキーに参照される。すなわち管理元アドレス１０２０の装置ＩＤ１００４が自分の装置のＩＤであれば、自分が他の装置に間借りしたデータのアドレスマップの場合であり、また別のケース、格納先アドレス１０１０の装置ＩＤが自分の装置ＩＤであれば、自分の装置に間借りしているデータのアドレスマップの情報と認識する。
【００７７】
コマンドがライトの場合は、装置間データアドレスマップ１０００でホスト論理ＩＤ１００１をサーチし、格納先アドレスの装置内論理アドレスが登録されていなければ、新規に割り当てられる。
【００７８】
また、コマンドがリードの場合は装置間データアドレスマップ１０００をサーチして得られた装置内論理アドレスより、別の装置内の論理・物理アドレス変換テーブルにて物理アドレスに変換して、キャッシュメモリ部４にある場合はキャッシュメモリの物理アドレスから、あるいはキャッシュメモリ部４に存在しない場合はディスクアダプタ部３を介して磁気ディスクの物理アドレスから取り出し、コネクトアダプタ部１００より、要求元、すなわちデータの本来の管理元アドレスの装置へデータを送信する。
【００７９】
なお、論理アドレスの単位は、論理ボリュームで管理してもよく、あるいは、ブロック単位や複数ブロックの領域単位でもよい。ただしブロック単位にすれば管理テーブルが大きくなり、論理ボリュームにすれば、膨大なデータを装置外にアクセスすることになる。
【００８０】
図１０、図１１に示す論理アドレスの例では、ＬＵ番号とブロックアドレスにより構成され、ＲＡＩＤ構成を加味した論理―物理変換により、物理アドレスに変換され格納される。
【００８１】
次に、データの宛先が自分の装置であり、自分がデータを引き受ける場合の動作について説明する。
【００８２】
まず、データを引き受けられるディスク格納領域があることを確認し、新たに装置内論理アドレスをアロケートする。なお、装置内論理アドレスは、最終的にディスクアダプタ部３により、磁気ディスク群６に対する装置内物理アドレスに変換され、マッピングされることになる。
【００８３】
具体的にはマッピングテーブルを持つ方法や、計算アルゴリズムにより配置をきめる方法などが考えられ、すなわち、装置内論理アドレスをアロケートしたことに呼応して磁気ディスク群６への装置内物理アドレスもマッピングされる。
【００８４】
以上により、アドレスをマッピングしたら、アドレスをキャッシュメモリ部４へ転送する。キャッシュメモリ部４への転送アドレスは装置内の論理アドレスに変換される。この変換についてはデータ転送制御部１１０内のアドレス変換部１１３が行い論理アドレスからキャッシュメモリ上への物理アドレスへ変換され、図４に示す（４）に出力される。
【００８５】
スイッチ部５は、その装置内物理アドレスにより内部のデータパスをコネクトアダプタ部１００と指定されるキャッシュメモリ部４へ接続を切り替える。次に、コネクトアダプタ部１００はデータフェーズのパケットを受信し、これをキャッシュメモリ部４へ一時格納する。
【００８６】
そして、キャッシュメモリ部４よりディスクアダプタ部３が、装置内物理アドレスへデステージングを行い、データが磁気ディスク群６へ格納される。
【００８７】
また、キャッシュメモリ部４へデータを一時、格納した段階でコネクトアダプタ部１００は、マップ更新のメッセージフェーズをパケットの中のヘッダ情報にある宛先装置ＩＤを送信元装置のＩＤにして、次の装置へ転送する。その場合のパケットのヘッダ以外の他の部分すなわちデータには、アドレスのマップ情報が加えられ転送される。またＮＧの場合は、図１３に示すフェーズＩＤはＦＦ：メッセージアボートとなり、障害情報をデータとして送信する。
【００８８】
これらのメッセージは、各装置のチェーンリンク２０を中継され、転送先の装置は受信して、自分のメモリのアドレスマップに対して更新をかける。中継をしている装置に対してはアドレスマップの情報の更新はない。自分に関連しない場合はホッピングするだけである。
【００８９】
次に、自分の装置内の磁気ディスク群６にデータの格納領域がない場合の動作について説明する。
【００９０】
自分の装置内の磁気ディスク群６に格納領域がなかった場合は、自分の装置に格納できない以上は他の装置へ転送し、それを送信元に通知する方針を採択することになる。
【００９１】
よって、このとき受信されたアドレスフェーズのパケットの中のアドレス情報をとなりへ中継すればよく、そこにある転送先の装置アドレスをとなりの装置、あるいは任意の装置にスワップさせる必要がある。
【００９２】
任意の装置を優先的にスワップさせる方針は、図４に示すマイクロプロセッサ１１５のマイクロプログラムにより、アドレス変換部１１３へ固定のアドレスへスワップさせる指示をすればよいし、それ以外の指示をしない場合にはとなりの装置ＩＤを採択すればよい。
【００９３】
図４に示すデータ転送制御部１１０は内部のアドレス変換部１１３より、アドレスをとなりのアドレスへの張り替え（スワップ）を完了させる。
【００９４】
まず、図１７に示すように、当初受信先装置１２０１は、送信元装置１２００より、データ要求とデータを受信したが（ステップ２１）、データを格納できないことがわかり（ステップ２２，ステップ２３）、アドレスを別の受信先装置へ張り替え（ステップ２４）、で送信する（ステップ２５）。
【００９５】
そして、中継装置を経て（中継装置の動きは図１６を参照）、最終受信先装置１２０２はデータを受信し（ステップ２６）、自分の装置に格納できると判断して、データをキャッシュメモリ部４に一旦格納し（ステップ２７）、装置内部論理アドレスをアロケートしたら、マップ更新情報を送信元装置１２００宛てに発信する（ステップ２８）。
【００９６】
その後、装置内部のディスクの物理アドレスを割り当てて、キャッシュメモリ部４より磁気ディスク群６へデステージングする（ステップ３１）。マップ更新情報は各中継装置１１０１のホッピングを経て（ステップ２９）、送信元装置１２００にたどりつき、送信元のアドレスマップが正しく最終受信先装置に更新される（ステップ３０）。なお、リードの場合は中継にてアドレスの張り替えはない。
【００９７】
よって、図１６に示すようにホッピング中継を実施し、要求の送信元装置１１００と受信先装置１１０２がデータを中継装置１１０１の複数を経てやりとりする。なお、任意の装置アドレスを決定する具体的な方法については、後述する。
【００９８】
次に、他の装置にデータが入らない場合の動作について説明する。
【００９９】
まずは、他の装置にデータが入らない場合でＮＧを報告するケースでは、中継装置１１０１を多重に経由した結果、引き取りが実施されない場合については、ループを辿って送信元にデータが返されることになる。あるいは、データの代わりにＮＧのメッセージが送信元の装置が最初に送信した隣の装置とはリング上にて別の側にあるとなりの装置、すなわち送信元の一つ手前の中継装置によって送られなくてはならない。
【０１００】
これは、図１７に示すステップ３０の代わりに自分の宛先でデータが返信されるか、ＮＧメッセージが送信されるかにより、中継先ＮＧを知る。
【０１０１】
この場合、データはディスク格納されないためホストコンピュータ１からのリクエストをそれ以上受けることはデータ保証上不可であり、容量不足をシステムで支えることが不可となる。
【０１０２】
また、他の装置にデータが入らない場合で保管用ストレージに退避するケースでは、容量不足をシステムで支えることが不可となるような場合を想定し、たとえば、図１８に示すように、バックアップ用のテープストレージ６０や通常のディスクより性能は劣るがより廉価で容量の大きいディスクストレージ６１等を用意し、送信元への１つ手前の最終受信先装置１２０２は送信元装置１２００にエラーを返さずに、バックアップ用のテープストレージ６０やディスクストレージ６１等にアドレスを張り替え、送信する（ステップ４０）。
【０１０３】
そして、バックアップ用のテープストレージ６０やディスクストレージ６１等はこれを受信し（ステップ４１）、データを格納する（ステップ４２）。そして、バックアップ用のテープストレージ６０やディスクストレージ６１等からもコネクトアダプタ部１００による受信の報告を受けそれを送信元の装置に送る（ステップ４３）。
【０１０４】
そして、そのデータは送信元装置１２００にたどりつき、送信元のアドレスマップが正しくバックアップ用のテープストレージ６０やディスクストレージ６１等に更新される（ステップ４４）。
【０１０５】
この際、テープストレージや廉価ディスクストレージに格納したことは、図１５の装置ＩＤ１００４の例に示す、種別により区別し、送信元へ情報を送ることができる。
【０１０６】
また、ホストの接続しない、ホストアダプタ機能のない保管用のディスク筐体をあらかじめ、ループ内に何台か接続させて、ループ内で共用できる予備のディスク容量をあらかじめ準備しておく運用も考えられる。そして次にリードする際には保管ストレージを選択することにより各ディスクコントローラ（ＤＫＣ）の中継の時間を減らすことができるが、頻繁なアクセスを実施されるデータならば次回は、他のデータとスワップさせるよう送信元の装置でその処理を実施する。その際は後述する、装置間コピー機能を使用してもよい。
【０１０７】
また、他の装置にデータが入らない場合で別のループへ転送するケースでは、例えば、図７に示すような接続構成において、ひとつの装置が、複数のコネクトアダプタとそれに接続するループを持つことにより、転送先の装置を他のループの接続するコネクトアダプタ部１００を通して転送することが可能である。
【０１０８】
いま、図７の中、例（００，２）で示されるコネクトアダプタ部１００は装置Ｎｏ．＝‘００’でコネクタＮｏ．２のロケーションで表される。装置００から装置‘１１’へ転送したい場合には、（００，３）−（０１，１）−（０１，４）−（１１，２）と装置‘０１’の内部のスイッチ部５を介してコネクトアダプタ部１００同士の中継が可能となる。また別のルートとして装置‘１０’を経由してもよく、その際は（００，４）−（１０，２）−（１０，３）−（１１，１）と転送する。
【０１０９】
次に、任意の装置にアドレスをスワップさせる場合の相手装置の決定方法について説明する。
【０１１０】
まず、特定装置ＩＤを決定する方法としては、アドレスを優先的に任意の装置にスワップさせる方針についていくつか例を示す。
【０１１１】
ひとつは、アドレスマップに存在する他装置ＩＤを選択する方針である。これは実績を考慮した選択であり、故障等の情報が事前にわからない場合最も確実な選択である。
【０１１２】
さらに特定の装置との供与関係ができた場合は、ステージングされたキャッシュ上のデータの効率が上がりリード時の性能が出ることが予想される。
【０１１３】
もうひとつは反対にアドレスマップに存在しない、格納実績のない他装置ＩＤを選択するという方針もある。これは最初の方法だと、集中的にある装置に依存してしまい結果、その装置の容量も不足してしまうことを危惧し、逆に分散化させるという方針である。分散化した配置により、より多くの容量の交替装置の選択ができる。この方針の欠点は分散化することにより複数の装置渡りしているデータのリードアクセスの場合、それぞれのデータをそれぞれの装置でステージするオーバーヘッドがかかる。分散化した配置により、より多くの容量の交替装置の選択ができる。
【０１１４】
さらにひとつは、ある特定のグループＩＤのリストを予め作成しておき、これに従って分散化させるという選択である。ある特定のグループの選択のため、各装置の残容量や負荷状態のパラメータ値を集めリスト化するということも考えられる。
【０１１５】
負荷状態と残容量の問い合わせには、図１３におけるフェーズＩＤ部のメッセージオプション１と送信先ＩＤを“ＦＦＦＦ”にしてブロードキャスト発信をすることを、負荷状態コールと定義したときに、各装置はメッセージを中継する際にデータ部に自分のＩＤ＋負荷状態指数を表記し、順順につないで送信元に返し、これを送信元がマイクロプロセッサ１１５が解析してリスト化をして、プロセッサ下のメモリにリストを保管する。
【０１１６】
残容量の問い合わせについても、メッセージオプション２と送信先ＩＤ“ＦＦＦＦ”の組み合わせにより、残容量コールを定義し、負荷状態コールと同様、情報を入手しリスト化する。
【０１１７】
各装置は、あらかじめ設定されている論理デバイス以外に未定義のディスクあるいは未使用の論理デバイスを管理しておき、その使用可能な容量を通知する。
【０１１８】
上記リストを残容量、負荷状態についてソートし、残容量にて評価指数の大きいベスト４を選出してグループ化し、その中でデータをホッピングする宛先を選定したりあるいは負荷状態の指数について小さいもの順位のベスト４を選出してグループ化し、その中のデータを選定する方法が考えられる。
【０１１９】
また、ロケーションとループ情報による制約条件で転送先を決定する方法としては、前述した特定装置のリストによる検索では、あらかじめ接続可能な装置の情報を全て持つ（あるいは特定グループ範囲の装置の情報を持つ）ことが前提となる。
【０１２０】
図１に示すような１重ループでは比較的に容易に考えられるが、実際の装置構成としては、複数のコネクトアダプタ部１００と複数のチェーンリンク２０が想定される。
【０１２１】
図７に示した例では、各装置の４方にコネクトアダプタ部１００とリンクによる４つのループに接続させた装置の配置図であった。この装置群の情報をすべてが持つことは望ましいが、膨大な情報量となり、全体の構成の拡大に合わせて拡張するのは現実的ではない。
【０１２２】
よって、装置間でデータの授受をする装置群の情報を各装置が管理し、効率のよいターゲット（送信先）の選定をして、中継する装置ごとにその都度、選択を委ねて、最終的に送信先を報告する方法をしている。
【０１２３】
中継装置は、自分のコネクトアダプタ部１００に接続するループの情報を管理し、距離の近い他装置のアダプタを選んだり、アクセス制限の条件リストにより中継先を選定する方法がある。
【０１２４】
この場合、障害情報、空き容量情報、アクセス許可情報等のパラメータで決定される制約条件の装置リストをもとにしてもよく、その情報はメッセージ通信により、装置間にて情報のコミニケーションをとり入力される。
【０１２５】
次に、この転送先の決定動作の具体例について説明する。
【０１２６】
図１９は転送先の決定動作の具体例を説明するための説明図である。
【０１２７】
まず、図１９に示す装置‘００’がデータを他装置に転送したい場合、接続したことのある装置‘２０’、装置‘２１’、装置‘２２’に転送しようと装置を選ぶ。
【０１２８】
（１）例えば、空き領域がある装置で近い（通信距離と接続料金の安い）ターゲットのリストの中でこの３つの装置の順位で一番が装置‘２２’だったとする。
【０１２９】
そして、装置‘２２’をターゲットアドレスとし、（２）自分のループの中で一番近い装置に転送をする。
【０１３０】
すなわち、（００，４）からループ接続した（１０，２）に接続し、装置‘１０’はそのループの中継をして装置‘０２’へ転送する。
【０１３１】
そして、（０２，４）に転送された後、装置‘０２’は別ループへ内部のスイッチ部５を通って、（０２，１）を選択して、（３）別ループへつなぐこともできるが、そのループ上は負荷が大きい、あるいは同じループ転送の方が効率がいいという判断から、この場合は選択せず、そのまま（１２，２）へ転送する。
【０１３２】
また、装置‘１２’はターゲットである装置‘２２’に、（４）近いコネクトアダプタ部１００へ内部のスイッチ部５を経て、（１２，４）へ転送し、ターゲットの装置‘２２’はこれを（２２，２）を経て受信し、格納ができることから自分の装置へ格納し、受け取ったことを装置‘００’へ転送する。
【０１３３】
次に、中継装置となるディスク記憶装置の転送における付加機能について説明する。
【０１３４】
図２０は中継時に中継装置がデータをモニターする動作を説明するための説明図、図２１は中継装置がモニターしたデータを別ボリュームにして登録する動作を説明するための説明図、図２２は受信先データを他の装置にスワップさせる動作を説明するための説明図である。
【０１３５】
まず、中継装置がデータをモニターする機能としては、図２０に示すように、まず、送信元装置１３００よりデータを中継装置１３０１が受信する（ステップ５１）。
【０１３６】
そして、データを受信した中継装置１３０１がアドレスを解析し（ステップ５２）、装置ＩＤが自分でないことで、本来は、データをホッピングさせて送信する（ステップ５４）だけだが、この機能の際にはキャッシュメモリ部４へ書き込みも並行して実施する（ステップ５３）。また、装置内部論理アドレスにアロケートする。
【０１３７】
そして、磁気ディスク群６へキャッシュメモリ部４からデステージングする（ステップ５５）。
【０１３８】
ステップ５３とステップ５４を並行して実行する方法としては、例えば図４に示すセレクタ１０９の出力を送信方向のパケットバッファ１０７と内部パスＩ／Ｆ部１０８に両方、開くことで実施できる。このモニターデータはたとえば中継装置１３０１のひとつがデータをロストした場合でも来歴をたどり、送信元装置１３００よりリトライせずに、途中の中継装置１３０１からデータをもう一度取り出して再度送信することにも使用できる。
【０１３９】
またデータチェックコードを複数の装置でチェックすることが可能である。また、ログデータとして、各中継装置１３０１で小量に分散化してデータをもつことも可能である。
【０１４０】
また、中継装置がモニターしたデータを別ボリュームにして登録する機能としては、もし、モニターしたデータをマスターデータのコピーとして管理する場合、どの中継装置１３０１がコピーを格納したかを責任元の送信元装置に知らせなくてはならない。
【０１４１】
それは、図２１に示すように、図２０に示す処理のモニターの各ステップに加えて、メッセージ（アドレス更新）を実施し、その中のマップに、図１５に示す格納先アドレス１０１０のうちの識別子１００３に、例えば、複製先装置を示す識別子‘０２’を指定して送り（ステップ６０）、送信元装置１３００は、受信先装置１３０２のアドレス更新のメッセージを合わせてアドレスマップに追記させておく（ステップ６１）。また、この複製先のデータを別のボリュームにしたてたい場合には、ホスト側でホスト論理ＩＤを別のものに更新することで、記憶装置内のアドレスマップも更新を計れば実現可能である。
【０１４２】
また、受信先データを他の装置にスワップさせる機能（装置間コピー）としては、他装置に格納しているデータを能動的に別装置に移動したいという場合（例えば、ネットワークのトラフィックや課金の変動で違う装置群に指定したいという場合など）は、管理元装置より、データの装置間のコピーが可能である（移動の場合はコピー後に、元データを廃棄する）。
【０１４３】
まず、図２２に示すように、管理元装置１４００より、送信先装置１４０２にあるデータを中継装置兼受信装置１４０１へコピーしたい場合は、管理元装置１４００から発行される図１３に示すコマンドヘッダでフェーズＩＤを“２０：装置間転送”と指定され、図１４に示す装置間データアドレスフォーマット１１１１内において、受信先アドレスを中継装置兼受信装置１４０１のアドレスに、そして送信先アドレスを送信先装置１４０２のアドレスに指定されたコマンドを受信する（ステップ７１）。
【０１４４】
そして、中継装置兼受信装置１４０１のコネクトアダプタ部１００が受け取り（ステップ７２）、送信先装置１４０２へコマンドを転送し（ステップ７３）、送信先装置１４０２がコマンドを受け取り、装置間コピーと解析し（ステップ７４）、自装置内の管理元装置１４００の指定のデータを磁気ディスク群６より読み出し（ステップ７５）、キャッシュメモリ部４を介してリードして（ステップ７６）、中継装置兼受信装置１４０１へ転送する（ステップ７７）。
【０１４５】
そして、中継装置兼受信装置１４０１は受信し、データをキャッシュメモリ部４に一旦格納し（ステップ７８）、これを自装置内の領域に格納し（ステップ７９）、格納した結果を管理元装置１４００へ転送し（ステップ８０）、ステップ８１、ステップ８２を経て管理元装置１４００は総置換コピー完了を確認する（ステップ８３）。
【０１４６】
また、この際、中継装置兼受信装置１４０１より管理元装置１４００へ逆方向に転送して完了を報告してもよい（転送先は中継装置兼受信装置１４０１が決めてよい）。
【０１４７】
この装置間コピーをサポートすることにより、分散して広がったデータをなるべく意図的な配置に再配置することが可能となり、より柔軟なデータ管理が可能となる。
【０１４８】
以上のように、本実施の形態では、ディスク記憶装置自体が自律して、複数のディスク記憶装置間でのデータの転送処理を実行し、そのデータの管理情報を、各ディスク記憶装置内に保有しているので、ディスク記憶システムを構成するディスク記憶装置を管理する専用の装置などを設けることなく、ディスク記憶装置間でデータの格納を補完することができ、データ量の増加にすぐ対応できないディスク記憶装置を他のディスク記憶装置が容量を間借りさせることでサービスの劣化を低減させことが可能である。
【０１４９】
また、ディスク記憶装置間でアドレスとデータを順繰り渡していくこともでき、ディスク記憶装置間に特別なスイッチを設けなくとも、各ディスク記憶装置が中継しながらデータ転送を行うことが可能である。
【０１５０】
また、ディスク記憶装置間は独自のプロトコルでホストに影響させずに実施でき、各ディスク記憶装置が協調しつつもなるべく独立にホストコンピュータからの要求に応えることができ、運用コストの安い比較的容易なストレージプールを実現することが可能である。
【０１５１】
また、ディスク記憶装置が中継装置として動作した際、通過データをモニターし、複製データや、転送ログを分散化して保存することでバックアップの軽量化の効果を期待することが可能である。
【０１５２】
また、複数のディスク記憶装置内のデータの管理を行うマスターサーバや、複数のディスク記憶装置内に記憶されるデータを蓄積してディスク記憶装置からのリクエストによりデータを出力する蓄積装置などを設ける必要がないため、マスターサーバや蓄積装置などを管理するための管理運用コストを低減させることが可能となる。
【０１５３】
なお、本実施の形態では、ディスク記憶装置が自律している例を記載したが、本発明はディスク記憶装置に限られることなく、複数のスイッチやその他の情報処理装置が相互に接続して自律するものであってもよく、これらはディスク記憶装置に含まれるものである。
【０１５４】
その場合のスイッチやその他の情報処理装置の各々は、本実施の形態のディスク記憶装置と類似の構成及び動作をすることとなる。
【図面の簡単な説明】
【０１５５】
【図１】本発明の一実施の形態によるディスク記憶システムの一例を示す構成図である。
【図２】本発明の一実施の形態によるディスク記憶システムを構成するディスク記憶装置の一例を示す構成図である。
【図３】本発明の一実施の形態によるスイッチ部の一例を示す構成図である。
【図４】本発明の一実施の形態によるコネクトアダプタ部の一例を示す構成図である。
【図５】本発明の一実施の形態によるコネクトアダプタ部内の装置外勘合部の一例を示す構成図である。
【図６】本発明の一実施の形態によるディスク記憶システムの、他の接続構成を示す構成図である。
【図７】本発明の一実施の形態によるディスク記憶システムの、他の接続構成を示す構成図である。
【図８】本発明の一実施の形態によるディスク記録システムの動作の概略を説明するための説明図である。
【図９】本発明の一実施の形態によるホストの認識する論理ボリュームと実態の磁気ディスクの物理ボリュームとの関係を説明するための説明図である。
【図１０】本発明の一実施の形態による自分のディスク記憶装置内部のボリュームの所有者が誰であるかを管理する管理マップを示す図である。
【図１１】本発明の一実施の形態による装置内論理アドレス（ＬＵ番号）を説明するための説明図である。
【図１２】本発明の一実施の形態によるディスク記憶装置のコネクトアダプタ間のプロトコルフェーズを示す図である。
【図１３】本発明の一実施の形態によるチェーンリンク上のパケットのフォーマットの一例を示す図である。
【図１４】本発明の一実施の形態による装置間データアドレスフォーマットを示す図である。
【図１５】本発明の一実施の形態による装置間データアドレスマップを示す図である。
【図１６】本発明の一実施の形態による送られたデータの宛先が自分でない場合に次にホッピングする動作を説明するための説明図である。
【図１７】本発明の一実施の形態による当初受信先装置において自分の装置のディスクに空きがない場合、あるいは障害がおこった場合にアドレスを変換して次に中継する動作を説明するための説明図である。
【図１８】本発明の一実施の形態による保管用ストレージに退避するケースを説明するための説明図である。
【図１９】本発明の一実施の形態による転送先の決定動作の具体例を説明するための説明図である。
【図２０】本発明の一実施の形態による中継時に中継装置がデータをモニターする動作を説明するための説明図である。
【図２１】本発明の一実施の形態による中継装置がモニターしたデータを別ボリュームにして登録する動作を説明するための説明図である。
【図２２】本発明の一実施の形態による受信先データを他の装置にスワップさせる動作を説明するための説明図である。
【図２３】従来のディスク記憶システムを示す構成図である。
【図２４】従来のディスク記憶システムを示す構成図である。
【符号の説明】
【０１５６】
１…ホストコンピュータ、１０…ディスク記憶装置、２…ホストアダプタ部、３…ディスクアダプタ部、５…スイッチ部、４…キャッシュメモリ部、６…磁気ディスク群、２０…チェーンリンク、１００…コネクトアダプタ部、１０７…パケットバッファ、１０８…パスＩＦ部、１０９…セレクタ、１１０…データ転送制御部、１１１…アドレス解析部、１１２…アービタ、１１３…アドレス変換部、１１４…メモリ、１１５…マイクロプロセッサ、１２０…装置外勘合部、１２１…バイパススイッチ、１２３…セレクタ、５０１…パスＩＦ部、５０２…エラーチェック回路部、５０３…パケットバッファ、５０４…セレクタ、５０５…データ転送制御部、５０６…アドレス／コマンド解析部、５０７…アービタ。
【図１】
2005056200.tif 000003
【図２】
2005056200.tif 000004
【図３】
2005056200.tif 000005
【図４】
2005056200.tif 000006
【図５】
2005056200.tif 000007
【図６】
2005056200.tif 000008
【図７】
2005056200.tif 000009
【図８】
2005056200.tif 000010
【図９】
2005056200.tif 000011
【図１０】
2005056200.tif 000012
【図１１】
2005056200.tif 000013
【図１２】
2005056200.tif 000014
【図１３】
2005056200.tif 000015
【図１４】
2005056200.tif 000016
【図１５】
2005056200.tif 000017
【図１６】
2005056200.tif 000018
【図１７】
2005056200.tif 000019
【図１８】
2005056200.tif 000020
【図１９】
2005056200.tif 000021
【図２０】
2005056200.tif 000022
【図２１】
2005056200.tif 000023
【図２２】
2005056200.tif 000024
【図２３】
2005056200.tif 000025
【図２４】
2005056200.tif 000026