(57)【要約】【課題】ディスク制御装置内のメモリ間のデータ転送に対してデータを保護する機構を提供する。【解決手段】ホストコンピュータとディスクドライブとの間のデータ転送を制御するディスク制御装置であって、チャネルメモリを有するチャネル部と、キャッシュメモリを有するキャッシュ部と、を備え、前記チャネルメモリと前記キャッシュメモリとの間で、パケットによってデータが転送され、前記パケットが転送される際に、前記転送されるパケットのヘッダ情報の整合性を検証することによって当該転送の許否を決定する制御部を備える。【選択図】図１
2008083788.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータとディスクドライブとの間のデータ転送を制御するディスク制御装置であって、
チャネルメモリを有するチャネル部と、
キャッシュメモリを有するキャッシュ部と、を備え、
前記チャネルメモリと前記キャッシュメモリとの間で、パケットによってデータが転送され、
前記パケットが転送される際に、前記転送されるパケットのヘッダ情報の整合性を検証することによって当該転送の許否を決定する制御部を備えることを特徴とするディスク制御装置。
【請求項２】
前記ディスク制御装置は、さらに、前記チャネル部及び前記キャッシュ部を接続し、内部ネットワークを形成するスイッチ部を備え、
前記スイッチ部は、前記内部ネットワークを介して、前記チャネルメモリと前記キャッシュメモリとの間でパケットを転送し、
前記スイッチ部は、前記制御部を備えることによって、前記パケットを転送する際に、前記転送されるパケットのヘッダ情報の整合性を検証することを特徴とする請求項１に記載のディスク制御装置。
【請求項３】
前記チャネル部及び前記キャッシュ部の少なくとも一つは、前記制御部を備えることによって、前記パケットを転送する際に、前記転送されるパケットのヘッダ情報の整合性を検証することを特徴とする請求項１に記載のディスク制御装置。
【請求項４】
前記ディスク制御装置は、さらに、他のディスク装置と接続するスイッチ部を備え、
前記スイッチ部は、前記他のディスク制御装置との間で前記パケットを転送し、
前記スイッチ部は、前記制御部を備えることによって、前記パケットを前記ディスク制御装置間で転送する際に、前記転送されるパケットのヘッダ情報の整合性を検証することを特徴とする請求項１に記載のディスク制御装置。
【請求項５】
前記チャネル部及び前記プロセッサ部の少なくとも一つは、前記パケット転送を起動するＤＭＡコントローラを備え、
前記制御部は、前記ディスク制御装置間でパケットが転送される際に、前記転送先ディスク制御装置に備わるＤＭＡコントローラによって転送が起動された場合に当該転送を許可し、前記転送元ディスク制御装置に備わるＤＭＡコントローラによって転送が起動された場合に当該転送を許可しないことを特徴とする請求項４記載のディスク制御装置。
【請求項６】
前記チャネル部及び前記プロセッサ部の少なくとも一つは、前記パケット転送を起動するためのＤＭＡコントローラを備えることを特徴とする請求項１に記載のディスク制御装置。
【請求項７】
前記各メモリの記憶領域は、前記ホストコンピュータから送信されたデータが格納されるデータ領域と、前記ディスク制御装置内の動作を制御するためのデータが格納される制御領域と、に分割され、
前記制御部は、前記パケットを転送する際に、前記転送されるパケットのヘッダ情報に基づいて、前記転送元のメモリの領域と前記転送先のメモリの領域との整合性を検証することを特徴とする請求項１に記載のディスク制御装置。
【請求項８】
前記ディスク制御装置は、さらに、前記データの転送を制御するプロセッサを備え、
前記データ領域及び前記制御領域は、さらに、前記ホストコンピュータとの接続ポートによって使用される領域及び当該パケットの転送を制御するプロセッサによって使用される領域に分割されており、
前記制御部は、前記パケットを転送する際に、前記転送されるパケットのヘッダ情報に基づいて、前記転送元のメモリの領域と前記転送先のメモリの領域との整合性を検証することを特徴とする請求項７に記載のディスク制御装置。
【請求項９】
前記制御部は、
前記パケットの転送元アドレス及び転送先アドレスに基づいて、前記パケットの転送元のメモリの領域の属性及び前記転送先のメモリの領域の属性を特定し、
前記パケットの転送コマンドと前記特定された領域の属性に基づいて、当該転送の許否を決定することを特徴とする請求項１に記載のディスク制御装置。
【請求項１０】
前記制御部は、前記転送元の領域の属性と前記転送先の領域の属性とが一致する場合に、前記転送を許可することを特徴とする請求項９に記載のディスク制御装置。
【請求項１１】
前記ディスク制御装置は、前記転送元の領域の属性と、前記転送先の領域の属性と、前記パケット転送の転送コマンドとの関係によって、転送の許否を定めた転送条件を保持し、
前記制御部は、前記転送条件を参照して、前記参照された転送条件によって許可されている場合には、転送を許可することを特徴とする請求項９に記載のディスク制御装置。
【請求項１２】
ホストコンピュータとディスクドライブとの間のデータ転送を制御するディスク制御装置におけるデータ転送制御方法であって、
前記ディスク制御装置は、チャネルメモリを有するチャネル部と、キャッシュメモリを有するキャッシュ部と、を備え、
前記データ転送制御方法は、
前記チャネルメモリと前記キャッシュメモリとの間で、パケットによってデータを転送する際に、前記転送されるパケットのヘッダ情報の整合性を検証することによって当該転送の許否を決定し、
前記転送が許可されると決定された場合に、パケットを転送することを特徴とするデータ転送制御方法。
【請求項１３】
前記ディスク制御装置は、さらに、他のディスク制御装置と接続されており、
前記データ転送制御方法は、前記ディスク制御装置間でパケットを転送する際に、前記転送されるパケットのヘッダ情報の整合性を検証することを特徴とする請求項１２に記載のデータ転送制御方法。
【請求項１４】
前記チャネル部及び前記プロセッサ部の少なくとも一つは、前記パケット転送を起動するＤＭＡコントローラを備え、
前記データ転送制御方法は、前記ディスク制御装置間でパケットを転送する際に、前記転送先ディスク制御装置に備わるＤＭＡコントローラによって転送が起動された場合に当該転送を許可し、前記転送元ディスク制御装置に備わるＤＭＡコントローラによって転送が起動された場合に当該転送を許可しないことを特徴とする請求項１３記載のデータ転送制御方法。
【請求項１５】
前記各メモリは、前記ホストコンピュータから送信されたデータが格納されるデータ領域と、前記ディスク制御装置内の動作を制御するためのデータが格納される制御領域と、に分割されており、
前記データ転送制御方法は、前記パケットを転送する際に、前記転送されるパケットのヘッダ情報に基づいて、前記転送元のメモリの領域と前記転送先のメモリの領域との整合性を検証することを特徴とする請求項１２に記載のデータ転送制御方法。
【請求項１６】
前記ディスク制御装置は、さらに、前記データの転送を制御するプロセッサを備え、
前記データ領域及び前記制御領域は、さらに、前記ホストコンピュータとの接続ポートによって使用される領域及び当該パケットの転送を制御するプロセッサによって使用される領域に分割されており、
前記データ転送制御方法は、前記パケットを転送する際に、前記転送されるパケットのヘッダ情報に基づいて、前記転送元のメモリの領域と前記転送先のメモリの領域との整合性を検証することを特徴とする請求項１５に記載のデータ転送制御方法。
【請求項１７】
前記パケットの転送元アドレス及び転送先アドレスに基づいて、前記パケットの転送元のメモリの領域の属性及び前記転送先のメモリの領域の属性を特定し、
前記パケットの転送コマンドと前記特定された領域の属性に基づいて、当該転送の許否を決定することを特徴とする請求項１２に記載のデータ転送制御方法。
【請求項１８】
前記転送元の領域の属性と前記転送先の領域の属性とが一致する場合に、前記転送を許可することを特徴とする請求項１７に記載のデータ転送制御方法。
【請求項１９】
前記ディスク制御装置は、前記転送元の領域の属性と、前記転送先の領域の属性と、前記パケット転送の転送コマンドとの関係によって、転送の許否を定めた転送条件を保持し、
前記データ転送制御方法は、前記転送条件を参照して、前記参照された転送条件によって許可されている場合には、転送を許可することを特徴とする請求項１７に記載のデータ転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータとディスクドライブ装置との間のデータ転送を制御するディスク制御装置に関する。
【背景技術】
【０００２】
近年、ストレージコンソリデーションによるＴＣＯの削減及びデータの戦略的活用など、大規模ストレージの重要性は、ますます高まっている。コンソリデーションの進展に伴って、ストレージ装置には、ポート数増加、大容量化、高性能化及び高機能化など、一層の高スケーラブル化が必要となる。
【０００３】
その一方で、市場のストレージハードウェア価格低減の要求は非常に強い。ストレージの容量単価は、毎年−２０％で減少しており、このトレンドを実現するためには、ストレージ装置のアーキテクチャも含めたシステム全般にわたるコスト低減が必須となっている。
【０００４】
ストレージ装置の高スケーラブル化と、低コスト化を両立させる一つの解として、複数のディスク制御装置をクラスタ接続するクラスタ型ディスク制御装置が提案されている。クラスタ型ディスク制御装置では、複数のディスク制御装置を接続することによって、飛躍的にスケーラビリティを高めることができる。また、ユーザのニーズに見合った数のディスク制御装置を用意することによって、無駄なハードウェアリソースをなくすことができ、コストを低減することができる。従って、クラスタ型ディスク制御装置を用いることによって、スケーラビリティとコストを両立させることができる。
【０００５】
前述した背景技術（クラスタ型ディスク制御装置）については、例えば、特許文献１に記載されている。
【０００６】
クラスタ型ディスク制御装置のような大規模システムでは、複数のユーザから要求された多くのジョブが同時に実行される。これらのジョブは、システム内のハードウェア資源を部分的に共有、又は、専有することによって必要な処理を行う。特に、典型的なハードウェア資源であるメモリは、空間的・時間的に分割されて管理され、分割された領域が必要な処理に割り当てられる。従って、メモリ資源をいかに他のジョブと干渉しないように管理するか、言い換えれば、メモリ領域をどのようにして保護するかが、重要なポイントとなる。
【０００７】
メモリに格納されたデータを保護するためにページテーブル仮想記憶方法が広く採用されている。ページテーブル仮想記憶方法では、論理的なメモリアドレス空間毎に、物理メモリアドレス空間とアクセス属性（アクセス可否、ＲＥＡＤ可否、ＷＲＩＴＥ可否等）を定義し、複数のジョブが同じ論理アドレス空間を共有していたとしても、物理的なハードウェア資源が重ならないようにする。さらに、アドレス空間毎にアクセス制限を設定することによって、不適切なアクセスを排除する。
【０００８】
ページテーブル方式では、プロセッサ（ジョブ）毎にページテーブルを設けて、アドレスを変換する。通常は、アドレスを高速に変換するためのキャッシュ機構（例えば、ＴＬＢ）が設けられることが多い。ページテーブル方式によるメモリ保護の一例については、たとえば、特許文献２に記載されている。
【特許文献１】特開２００５−２２８２４５号公報
【特許文献２】特開２００３−２４２０３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
クラスタ方式による大規模ディスク制御装置は、キャッシュ部、チャネル部及びプロセッサ部等の複数の構成を備える。各構成には、それぞれ、キャッシュメモリ、チャネルメモリ及びプロセッサメモリが備わり、基本的なＩＯ処理を実行するために、これら複数のメモリ間でデータを転送する必要がある。たとえば、プロセッサがチャネル部を制御する場合は、プロセッサメモリとチャネルメモリとの間でデータが転送される。また、チャネル部からキャッシュ部にデータを取り込む際には、チャネルメモリからキャッシュメモリへデータが転送される。
【００１０】
従来のページテーブル方式は、特定のジョブ（特定のジョブを実行するプロセッサ）が特定の領域をアクセスできるかを規定するものであって、このように複数のメモリ領域の間のデータの転送に対してメモリを保護する仕組みを提供するものではない。つまり、従来技術では、ディスク制御装置における、複数メモリ領域間のデータ転送からメモリに格納されたデータを保護することができなかった。
【００１１】
また、クラスタ方式による大規模ディスク制御装置では、システム全体の可用性を高めるために、ディスク制御装置クラスタ間の独立性を高める必要がある。すなわち、クラスタ間をまたがるメモリ間のデータ転送においては、特にメモリに格納されたデータを確実に保護して、あるクラスタの障害が別のクラスタに波及することを防止する必要がある。
【００１２】
この点に関しても、従来技術は、クラスタ間でデータを転送する際に、メモリを保護する特別な仕組みを提供しておらず、クラスタ方式によるディスク制御装置のメモリに格納されたデータを保護することができなかった。
【００１３】
本発明の目的は、前述した従来技術の欠点を改善し、ディスク制御装置クラスタ内、及び、ディスク制御装置クラスタ間におけるメモリ間のデータ転送に対して、メモリ保護機構を提供し、ディスク制御装置の信頼性を向上させることにある。
【課題を解決するための手段】
【００１４】
本発明の代表的な一例を示せば以下の通りである。すなわち、ホストコンピュータとディスクドライブとの間のデータ転送を制御するディスク制御装置であって、チャネルメモリを有するチャネル部と、キャッシュメモリを有するキャッシュ部と、を備え、前記チャネルメモリと前記キャッシュメモリとの間で、パケットによってデータが転送され、前記パケットが転送される際に、前記転送されるパケットのヘッダ情報の整合性を検証することによって当該転送の許否を決定する制御部を備えることを特徴とするディスク制御装置である。
【発明の効果】
【００１５】
本発明のディスク制御装置によれば、ディスク制御装置内部でパケットを転送するとき、パケットヘッダ情報の整合性を検証し、整合性の確認されたパケットのみを転送することによって、不適切な転送を防止することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面を参照して説明する。
【００１７】
＜実施形態１＞
図１は、第１の実施の形態のディスク制御装置（１クラスタ）の構成を示す。
【００１８】
ディスク制御装置クラスタ１０は、ホストコンピュータ接続ポート１４０を有するフロントエンド部（ＦＥ  ＰＫ）１００、ディスクドライブ接続ポート２４０を有するバックエンド部（ＢＥ  ＰＫ）２００、プロセッサ部（ＭＰ  ＰＫ）３００、キャッシュ部（ＣＭ  ＰＫ）４００、及び、スイッチ部（ＳＷ  ＰＫ）５００と、を備える。
【００１９】
フロントエンド部１００は、チャネルプロトコルを制御するプロトコル制御チップ（ＰＣＶ）１３０、プロトコル制御チップ１３０によって使用されるデータ等を格納するチャネルメモリ（ＨＭ）１２０、他のパッケージと通信するためのハブ（ＬＲ）１１０、及び、チャネルメモリ１２０からのデータ転送を制御するＤＭＡコントローラ（ＤＭＡＣ）１１５を備える。フロントエンド部１００は、例えば、図１２に示すように、ホストコンピュータ３０に接続される。
【００２０】
バックエンド部２００は、チャネルプロトコルを制御するプロトコル制御チップ（ＰＣＶ）２３０、プロトコル制御チップ２３０によって使用されるデータ等を格納するチャネルメモリ（ＨＭ）２２０、他のパッケージと通信するためのハブ（ＬＲ）２１０、及び、チャネルメモリ２２０からのデータ転送を制御するＤＭＡコントローラ（ＤＭＡＣ）２１５を備える。バックエンド部２００は、例えば、図１２に示すように、ディスクドライブ２０に接続される。
【００２１】
プロセッサ部３００は、プロセッサ（ＭＰ）３３０、プロセッサ３３０によって使用されるデータ等を格納するプロセッサメモリ（ＬＭ）３２０、他のパッケージと通信するためのメモリコントローラ（ＭＣ）３１０、及び、プロセッサメモリ３２０からのデータ転送を制御するＤＭＡコントローラ（ＤＭＡＣ）３１５を備える。キャッシュ部４００は、キャッシュメモリ（ＣＭ）４２０、及び、他のパッケージと通信するためのメモリコントローラ（ＣＭＣ）４１０を備える。
【００２２】
スイッチ部５００は、フロントエンド部１００、バックエンド部２００、プロセッサ部３００及びキャッシュ部４００を接続するスイッチ（ＳＷ）５１０を備える。また、スイッチ５１０は、他のクラスタを接続するためのクラスタ間接続ポート５４０を備える。さらに、スイッチ５１０は、メモリ間のデータ転送を保護するスイッチアクセス制御機構５５０を備える。
【００２３】
ディスク制御装置クラスタ１０内には、フロントエンド部１００、バックエンド部２００、プロセッサ部３００及びキャッシュ部４００を接続する内部ネットワークが、スイッチ５１０によって構成される。内部ネットワークによって、これらの構成、及び、各部に備わるメモリがスイッチ５１０を介して接続される。内部ネットワークにおいてメモリ空間を一意に特定するために、各部のメモリアドレス空間が内部ネットワークアドレス空間にマッピングされる。図２は、マッピングされたメモリのアドレスを示す。複数のチャネルメモリ１２０、プロセッサメモリ３１０、キャッシュメモリ４２０に、内部ネットワークの一意のアドレスが割り当てられる。従って、内部ネットワークのアドレスを指定することによって、その対象が属するクラスタ内で、他の構成部分を含めて一意にメモリ領域を指定することが可能となる。
【００２４】
図３は、第１の実施の形態の内部ネットワークの転送において使用されるパケットの構成を示す。
【００２５】
パケット６００は、ヘッダ６０１とペイロード６０２とを含む。ヘッダ６０１は、コマンド６１０、転送元アドレス６１１、第一の転送先アドレス６１２、第二の転送先アドレス６１３、データ長６１４、パケットシーケンス管理情報６１５及びヘッダチェックコード６１６を含む。ペイロードには、データ６２０、データチェックコード６２１が含まれる。
【００２６】
ディスク制御装置のＩＯ処理動作の中で、前述した内部ネットワークパケットを用いて、チャネルメモリ１２０、プロセッサメモリ３２０及びキャッシュメモリ４２０間でデータが転送される。例えば、ホストコンピュータからのＷＲＩＴＥデータは、フロントエンド部１００のチャネルメモリ１２０に一時的に記憶（バッファリング）された後に、キャッシュメモリ４２０に転送される。さらに、適当なタイミングで、キャッシュメモリ４２０からバックエンド部２００のチャネルメモリ２２０に転送された後、転送されたデータはディスクドライブ２０に書き込まれる。また、プロセッサ３３０は、フロントエンド部１００及びバックエンド部２００のチャネルを制御するために、チャネルメモリ１２０、２２０とプロセッサメモリ３２０との間でデータを転送する。
【００２７】
本実施形態のディスク制御装置では、これらメモリ間のデータ転送の際に、内部ネットワークパケットのコマンド６１０、転送元アドレス６１１及び転送先アドレス６１２、６１３を用いて、当該データ転送を実行してよいかチェックする。データ転送が許可されている場合のみ転送が実行され、許可されていない場合は、エラーとして転送を中断する。
【００２８】
次に、第１の実施の形態のスイッチアクセス制御機構５５０による、メモリ間データ転送保護の動作を図４及び図５を参照して説明する。
【００２９】
図４は、第１の実施の形態においてチャネルメモリ（ＨＭ）から二つキャッシュメモリ（ＣＭ１、ＣＭ２）に、メモリ間でデータを転送する場合の、スイッチ５１０によるデータ転送保護のシーケンス図である。
【００３０】
プロセッサ（ＭＰ）３３０からフロントエンド部１００に対してＤＭＡ転送を起動すると（１４０１）、チャネルメモリ（ＨＭ）１２０からスイッチ（ＳＷ）５１０を介して、二つのキャッシュメモリ（ＣＭ１、ＣＭ２）４２０に対してパケットが転送される（１４０２）。なお、図示は省略するが、ＤＭＡ転送の起動（１４０１）の前に、ＤＭＡ転送に必要とされるＤＭＡ転送用パラメータがプロセッサメモリ３２０上に作成され、作成されたパラメータがプロセッサメモリ３２０からチャネルメモリ１２０に転送される（図１４の１２０１、１２０２参照）。
【００３１】
キャッシュメモリ４２０に対するパケット転送の際、スイッチ５１０において、パケットのヘッダ６０１を解析し、転送コマンド、転送元メモリアドレス及び転送先メモリアドレスを取得する。そして、取得した転送元メモリアドレス及び転送先メモリアドレスから転送元メモリアドレスの領域属性及び転送先メモリアドレスの領域属性を取得する。図４に示す例では、転送コマンドはキャッシュ２重ＷＲＩＴＥである。
【００３２】
そして、スイッチアクセス制御機構５５０は、転送コマンド、転送元アドレス及び転送先アドレスが正しい組み合わせか否かを判定して、転送１４０４、１４０５を実行するか否かを決定する（１４０３）。すなわち、転送元アドレスがキャッシュ２重ＷＲＩＴＥコマンドによるデータ転送が許可されている領域に含まれるか、及び、転送先アドレスがキャッシュ２重ＷＲＩＴＥコマンドによるデータ転送が許可されている領域に含まれるか否かを判定する。
【００３３】
なお、この転送処理において、スイッチ５１０で転送されるべきデータがコピーされていることに注意すべきである。そのために、スイッチ５１０では、１回だけアクセスチェックを実行すればよい。
【００３４】
図５は、第１の実施の形態においてキャッシュメモリ（ＣＭ１）から別のキャッシュメモリ（ＣＭ２）に、メモリ間でデータを転送する場合の、スイッチ５１０によるデータ転送保護のシーケンス図である。
【００３５】
プロセッサ（ＭＰ）３３０からフロントエンド部１１０に対してＤＭＡ転送を起動すると（１６０１）、キャッシュ部４００に対してコピーコマンドを送信することによって、データ転送を開始するように制御がされる（１６０２、１６０３）。なお、図示は省略するが、ＤＭＡ転送の起動（１４０１）の前に、ＤＭＡ転送に必要とされるＤＭＡ転送用パラメータがプロセッサメモリ３２０上に作成され、作成されたパラメータがプロセッサメモリ３２０からチャネルメモリ１２０に転送される（図１４の１２０１、１２０２参照）。
【００３６】
キャッシュメモリ（ＣＭ１）がコピーコマンドを受信すると、ＣＭ１とＣＭ２の間で、スイッチ（ＳＷ）５１０を介して、メモリ間のデータ転送が開始される（１６０４）。この際、メモリ転送の経路上にあるスイッチ５１０において、前述と同様に、パケットヘッダ６１０を解析し、転送コマンド（キャッシュ間ＣＯＰＹ）と、転送元メモリアドレス（ＣＭ１）の領域属性と、転送先メモリアドレス（ＣＭ２）の領域属性を取得する。そして、スイッチアクセス制御機構５５０は、転送コマンド、転送元アドレス及び転送先アドレスが正しい組み合わせか否かを判定して、転送１６０６を実行するか否かを決定する（１６０５）。すなわち、転送元アドレスがキャッシュ間ＣＯＰＹコマンドによるデータ転送が許可されている領域に含まれるか、及び、転送先アドレスがキャッシュ間ＣＯＰＹコマンドによるデータ転送が許可されている領域に含まれるか否かを判定する。
【００３７】
図６は、第１の実施の形態のアクセス制御機構５５０の構成を示す。
【００３８】
アクセス制御機構５５０は、アドレスを解析するアドレスデコード回路７００（ＡＤＤＲＥＳＳ  ＤＥＣＯＤＥ）、メモリのアドレスと領域の属性との関係を保持するアドレス領域テーブル７１０（ＲＥＧＩＯＮ  ＴＡＢＬＥ）、コマンドを解析するコマンドデコード回路７２０（ＣＭＤ  ＤＥＣＯＤＥ）、及び、コマンド及びアドレスの整合性を検証する整合性チェック回路７３０（ＣＯＮＳＩＳＴＥＮＣＹ  ＣＨＥＣＫ）を備える。
【００３９】
アドレスデコード回路７００は、転送元アドレス６１１、第１の転送先アドレス６１２及び第２の転送先アドレス６１３を解析し、アドレス領域テーブル７１０を参照することによって、これらのアドレスが属する領域を特定し、各領域の属性（ＲＥＧＩＯＮ＃）を特定する。整合性チェック回路７３０は、特定された領域の属性間の整合性を検証し、アドレスの整合性の結果を出力する。例えば、前記転送元の領域の属性と前記転送先の領域の属性が一致する場合に、両者は整合していると判定し、データ転送が許可される。
【００４０】
また、コマンドデコード回路７２０は、転送コマンド６１０を解析する。整合性チェック回路７３０は、アドレスデコード回路７００によって特定された各領域の属性とコマンドとの整合性を検証し、コマンドの整合性の結果を出力する。
【００４１】
なお、整合性チェック回路７３０を、コマンド整合性チェック回路とアドレス整合性チェック回路とに分けて構成してもよい。この場合、コマンド整合性チェック回路は、コマンドとアドレスとの整合性をチェックし、アドレス整合性チェック回路は、転送元アドレスと転送先アドレスの整合性をチェックする。このようにすると、整合性チェック処理を分散処理することができ、処理を高速化することができる。
【００４２】
なお、本実施の形態では、アクセス制御機構５５０は、ハードウェアで実装されるが、プロセッサで実行されるソフトウェアで実装されてもよい。
【００４３】
図７は、第１の実施の形態の転送制約条件の定義例を示す。この転送制約条件は、整合性チェック回路７３０に保持されているが、整合性チェック回路７３０によって参照可能であれば、その保持されている場所は限定されない。
【００４４】
図７に示す転送制約条件の定義例では、クラスタ内のチャネルメモリからプロセッサメモリへのデータ転送では、制御領域間におけるデータ転送のみが許可される。また、クラスタ内のキャッシュメモリからキャッシュメモリへの転送では、データ領域間におけるデータ転送のみが許可される。このように、転送制約条件を設けることによって、不正な転送を防止して、メモリに格納されたデータを保護することが可能となり、ディスク制御装置を高信頼化することができる。
【００４５】
また、図７には、クラスタ間転送の転送制約条件も示されているが、クラスタ間の転送制約条件は第３の実施の形態で後述する。
【００４６】
図８は、第１の実施の形態のアクセス制御機構５５０の動作のフローチャートである。
【００４７】
アクセス制御機構５５０は、コマンドデコード回路７２０によって転送コマンドをデコードし、アドレスデコード回路７００によって転送元アドレス及び転送先アドレスをデコードする。そして、転送元アドレス及び転送先アドレスで指定される各領域の属性を特定する（８１０）。その後、整合性チェック回路７３０によって、転送元領域の属性と転送先領域の属性が一致するか否かを判定する（８２０）。両領域の属性が一致しない場合はエラーとする。
【００４８】
一方、両領域の属性が一致する場合は、整合性チェック回路７３０によって、クラスタ内転送かクラスタ間転送かを判定する（８５０）。この判定は、コマンドがクラスタ内転送コマンドかクラスタ間転送コマンドかによって判定する。
【００４９】
その結果、クラスタ内転送であれば、クラスタ内転送制約条件を満たすか否かを判定する（８３０）。クラスタ内転送制約条件を満たさない場合はエラーとし、クラスタ内転送制約条件を満たす場合はデータ転送を許可する。一方、クラスタ間転送であれば、クラスタ間転送制約条件を満たすか否かを判定する（８４０）。クラスタ間転送制約条件を満たさない場合はエラーとし、クラスタ間転送制約条件を満たす場合はデータ転送を許可する。
【００５０】
以上説明したように、第１の実施の形態のディスク制御装置によると、アクセス制御機構によって、内部ネットワークを介してパケットが転送される際に、パケットヘッダ情報の整合性を検証し、整合性の確認されたパケットのみを転送することによって、不適切な転送を防止することが可能となり、ディスク制御装置を高信頼化することができる。特に、スイッチ５１０にアクセス制御機構５５０を設けることによって、パケットヘッダ情報の整合性をスイッチ部で検証することができる。すなわち、アクセス制御をスイッチ部のみで実行することから、集中的にメモリ間のデータ転送を検証することができ、ディスク制御装置のコストを低減することができる。
【００５１】
また、第１の実施の形態のディスク制御装置によると、パケットの転送元アドレス及び転送先アドレスに基づいて、パケットの転送元の領域の属性及び転送先の領域の属性を特定する。そして、パケット転送コマンドと転送先及び転送元の領域の属性に基づいて転送の許否を決定することによって、転送されるパケットに含まれる情報のみでパケットを転送をしてよいか否かを判断することができる。
【００５２】
さらに、第１の実施の形態のディスク制御装置によると、転送元の領域属性と、転送先の領域属性と、パケット転送コマンドとの関係によって、転送の許否を規定した転送制約条件を保持する・そして、転送制約条件を参照して、許可された転送のみを実行することによって、より細かなメモリ保護機構を実現することができる。
【００５３】
＜実施形態２＞
図９は、第２の実施の形態のディスク制御装置（１クラスタ）の構成を示す。
【００５４】
図９に示した第２の実施の形態のディスク制御装置クラスタ１０では、キャッシュメモリコントローラ４１０がキャッシュメモリアクセス制御機構４５０を備える。同様に、ハブ１１０及び２１０が、各々、チャネルメモリアクセス制御機構１５０及び２５０を備え、プロセッサメモリコントローラ３１０がプロセッサメモリアクセス制御機構３５０を備える。
【００５５】
次に、第２の実施の形態のキャッシュメモリアクセス制御機構４５０による、メモリ間データ転送保護の動作を図１０及び図１１を参照して説明する。
【００５６】
図１０は、第２の実施の形態においてチャネルメモリ（ＨＭ）から二つキャッシュメモリ（ＣＭ１、ＣＭ２）に、メモリ間でデータを転送する場合の、キャッシュメモリアクセス制御機構４５０によるデータ転送保護のシーケンスである。
【００５７】
プロセッサ（ＭＰ）３３０からフロントエンド部１００に対してＤＭＡ転送を起動すると（１５０１）、チャネルメモリ（ＨＭ）１２０からスイッチ（ＳＷ）５１０を介して、二つのキャッシュメモリ（ＣＭ１、ＣＭ２）に対してパケットが転送される（１５０２）。なお、図示は省略するが、ＤＭＡ転送の起動（１４０１）の前に、ＤＭＡ転送に必要とされるＤＭＡ転送用パラメータがプロセッサメモリ３２０上に作成され、作成されたパラメータがプロセッサメモリ３２０からチャネルメモリ１２０に転送される（図１４の１２０１、１２０２参照）。
【００５８】
キャッシュメモリ４２０に対するパケット転送の際、各キャッシュメモリにおいて、パケットのヘッダ６０１を解析し、転送コマンド、転送元メモリアドレス及び転送先メモリアドレス（ＣＭ１又はＣＭ２）を取得する。そして、取得した転送元メモリアドレス及び転送先メモリアドレスから転送元メモリアドレスの領域属性及び転送先メモリアドレスの領域属性を取得する。図１０に示す例では、転送コマンドはキャッシュ２重ＷＲＩＴＥである。
【００５９】
そして、ＣＭ１のキャッシュメモリアクセス制御機構４５０は、転送コマンド、転送元アドレス及び転送先アドレスが正しい組み合わせか否かを判定して、転送１５０３を実行するか否かを決定する（１５０４）。すなわち、転送元アドレスがキャッシュ２重ＷＲＩＴＥコマンドによるデータ転送が許可されている領域に含まれるか、及び、転送先アドレスがキャッシュ２重ＷＲＩＴＥコマンドによるデータ転送が許可されている領域に含まれるか否かを判定する。
【００６０】
その結果、転送が許可されると判断されると、メモリコントローラ４１０は、スイッチ５１０から転送されたデータ（１５０３）をキャッシュメモリ４２０に書き込む。一方、転送が許可されないと判断されると、スイッチ５１０から転送されたデータ（１５０３）をキャッシュメモリ４２０に書き込むことなく破棄する。
【００６１】
同様に、ＣＭ２のキャッシュメモリアクセス制御機構４５０は、転送コマンド、転送元アドレス及び転送先アドレスが正しい組み合わせか否かを判定して、転送１５０５を実行するか否かを決定する（１５０６）。
【００６２】
その結果、転送が許可されると判断されると、メモリコントローラ４１０は、スイッチ５１０から転送されたデータ（１５０５）をキャッシュメモリ４２０に書き込む。一方、転送が許可されないと判断されると、スイッチ５１０から転送されたデータ（１５０５）をキャッシュメモリ４２０に書き込むことなく破棄する。
【００６３】
なお、一方のキャッシュメモリアクセス制御機構４５０によって、転送が許可されないと判断されると、キャッシュメモリ（ＣＭ１）４２０及びキャッシュメモリ（ＣＭ２）４２０に書き込むことなく破棄してもよい。すなわち、双方のキャッシュメモリアクセス制御機構４５０によって、転送が許可された場合に、キャッシュメモリ（ＣＭ１）４２０及びキャッシュメモリ（ＣＭ２）４２０に対する２重ＷＲＩＴＥが実行される。
【００６４】
図１１は、第２の実施の形態においてキャッシュメモリ（ＣＭ１）から別のキャッシュメモリ（ＣＭ２）に、メモリ間でデータを転送する場合の、キャッシュメモリアクセス制御機構４５０によるデータ転送保護のシーケンス図である。
【００６５】
プロセッサ（ＭＰ）３３０からフロントエンド部１１０に対してＤＭＡ転送を起動すると（１７０１）、キャッシュ部４００に対してコピーコマンドを送信することによって、データ転送を開始するように制御がなされる（１７０２、１７０３）。なお、図示は省略するが、ＤＭＡ転送の起動（１４０１）の前に、ＤＭＡ転送に必要とされるＤＭＡ転送用パラメータがプロセッサメモリ３２０上に作成され、作成されたパラメータがプロセッサメモリ３２０からチャネルメモリ１２０に転送される（図１４の１２０１、１２０２参照）。
【００６６】
キャッシュメモリ（ＣＭ１）がコピーコマンドを受信すると、ＣＭ１とＣＭ２の間で、スイッチ（ＳＷ）５１０を介して、メモリ間のデータ転送が開始される（１７０３）。この際、宛先キャッシュメモリ（ＣＭ２）のキャッシュメモリアクセス制御機構４５０において、前述と同様に、パケットヘッダ６１０を解析し、転送コマンド（キャッシュ間ＣＯＰＹ）と、転送元メモリアドレス（ＣＭ１）の領域属性と、転送先メモリアドレス（ＣＭ２）の領域属性を取得する。そして、スイッチアクセス制御機構５５０は、転送コマンド、転送元アドレス及び転送先アドレスが正しい組み合わせか否かを判定して、転送１６６０を実行するか否かを決定する（１７０４、１７０５）。すなわち、転送元アドレスがキャッシュ間ＣＯＰＹコマンドによるデータ転送が許可されている領域に含まれるか、及び、転送先アドレスがキャッシュ間ＣＯＰＹコマンドによるデータ転送が許可されている領域に含まれるか否かを判定する。
【００６７】
その結果、転送が許可されると判断されると、メモリコントローラ４１０は、スイッチ５１０から転送されたデータ（１７０５）をキャッシュメモリ４２０に書き込む。一方、転送が許可されないと判断されると、スイッチ５１０から転送されたデータ（１７０５）をキャッシュメモリ４２０に書き込むことなく破棄する。
【００６８】
以上説明したように、第２の実施の形態のディスク制御装置によると、メモリ間のデータ転送においてメモリを保護することができる。また、転送先メモリのメモリアクセス制御機構（例えば、キャッシュメモリコントローラ４１０のキャッシュメモリアクセス制御機構４５０）を設ける。これによって、チャネル部、キャッシュ部及びプロセッサ部のいずれかで、パケットヘッダ情報の整合性を検証することによって、分散してメモリ間のデータ転送を保護することができる。特に、データが書き込まれるメモリのメモリアクセス制御機構によって転送が許可されるか否かをチェックするので、メモリ書き込み直前のチェックが可能となり、より高信頼化を実現することができる。
【００６９】
なお、第２の実施の形態のディスク制御装置では、転送先のメモリに備わるメモリアクセス制御機構において、データ転送の整合性を検証したが、転送元のメモリに備わるメモリアクセス制御機構において、データ転送の整合性を検証してもよい。この場合、高い信頼性が必要なデータ転送時には、転送先のメモリアクセス制御機構においてデータ転送の整合性を検証し、通常の信頼性で足りるデータ転送時には、転送元のメモリアクセス制御機構においてデータ転送の整合性を検証するとよい。
【００７０】
また、前述した第１の実施の形態と第２の実施の形態とを混在させて実装することも可能である。すなわち、スイッチ部５００がスイッチアクセス制御機構５５０を備え、キャッシュ部４００がキャッシュメモリアクセス制御機構４５０を備え、フロントエンド部１００がチャネルメモリアクセス制御機構１５０を備え、フロントエンド部２００がチャネルメモリアクセス制御機構２５０を備え、プロセッサ部３００がプロセッサメモリアクセス制御機構３５０を備える。なお、各メモリアクセス制御機構は一つ又は複数備えればよい。
【００７１】
そして、スイッチアクセス制御機構５５０及びデータ転送先のメモリのメモリアクセス制御機構の両方によって転送の許否をチェックしてもよい。
【００７２】
また、コマンドの種類及び／又はデータの転送先に従って、スイッチアクセス制御機構５５０及びデータ転送先のメモリのメモリアクセス制御機構のいずれかによって転送の許否をチェックしてもよい。例えば、キャッシュ部へのデータ転送の場合は、キャッシュメモリアクセス制御機構４５０で転送の許否をチェックし、その他へのデータ転送の場合は、スイッチアクセス制御機構５５０で転送の許否をチェックしてもよい。
【００７３】
＜実施形態３＞
図１２は、第３の実施の形態の複数クラスタを含むディスク制御装置の構成を示す。
【００７４】
ディスク制御装置クラスタ１０は、ホストコンピュータ（ＨＯＳＴ）３０と接続されたフロントエンド部（ＦＥ  ＰＫ）１００と、ディスクドライブ装置２０と接続されたバックエンド部（ＢＥ  ＰＫ）２００と、プロセッサ部（ＭＰ  ＰＫ）３００と、キャッシュ部（ＣＭ  ＰＫ）４００と、スイッチ部（ＳＷ  ＰＫ）５００と、を備える。ディスク制御装置クラスタ１０の間は、お互いのスイッチ部５００によって接続されている。スイッチ部５００は、スイッチアクセス制御機構５５０を備える。
【００７５】
第３の実施の形態のディスク制御装置は、図１３に示すように、メモリ間（チャネルメモリ１２１、１２２からキャッシュメモリ３２１、３２２等）で、データを転送するためのＤＭＡコントローラ１１５、１１６、３１５、３１６が設けられている。
【００７６】
第３の実施の形態のディスク制御装置では、スイッチアクセス制御機構５５０が、メモリ間でデータを転送してよいかをチェックする。データ転送が許可されている場合のみ転送が実行され、許可されていない場合は、エラーとして転送を中断する。従って、クラスタ間のデータ転送時にも、メモリに格納されたデータを保護することができる。
【００７７】
図１４は、第３の実施の形態のＤＭＡを用いたクラスタ内のデータ転送処理のシーケンス図である。
【００７８】
チャネルメモリ用ＤＭＡコントローラ１１５を起動するためには、当該ＤＭＡコントローラ１１５にＤＭＡパラメータを通知する必要がある。このため、プロセッサ３３０は、プロセッサメモリ３２０上にＤＭＡ転送用パラメータを作成し、プロセッサメモリ用ＤＭＡコントローラ３１５を起動する（１２０１）。そして、プロセッサメモリ用ＤＭＡコントローラ３１５は、プロセッサメモリ３２０に格納されたＤＭＡ転送用パラメータを、スイッチ５１０を介して、チャネルメモリ１２０に転送する（１２０２）。
【００７９】
その後、プロセッサ３３０は、チャネルメモリ用ＤＭＡコントローラ１１５を起動する（１２０４）。そして、チャネルメモリ用ＤＭＡコントローラ１１５は、転送済みのＤＭＡパラメータリストを用いて、チャネルメモリ１２０に格納されたデータを、スイッチ５１０を介して、キャッシュメモリ４２０に転送する（１２０５）。
【００８０】
従って、プロセッサメモリ３２０からチャネルメモリ１２０に対するパラメータの転送（１２０２）と、チャネルメモリ１２０からキャッシュメモリ４２０に対するデータの転送（１２０５）と、の二つのＤＭＡ転送が実行される。いずれのデータ転送においても、スイッチ５１０のアクセス制御機構５５０によって、当該データ転送の妥当性が検証されるため（１２０３、１２０６）、データ転送時にメモリに格納されたデータを保護することができる。
【００８１】
図１５は、第３の実施の形態のＤＭＡを用いたクラスタ間のデータ転送処理のシーケンス図である。図１５は、クラスタ１のキャッシュメモリ（ＣＭ１）４２１からクラスタ２のプロセッサメモリ（ＬＭ２）３２３にデータを転送した場合の動作フローを示す。なお、クラスタ間のデータ転送は、ＲＥＡＤモードのみが許可される。
【００８２】
まず、クラスタ１のプロセッサ（ＭＰ１）３３０は、データのＤＭＡ転送を起動するために、クラスタ２のプロセッサ（ＭＰ２）３３１に対して、クラスタ１のキャッシュメモリ（ＣＭ１）４２１からのＲＥＡＤ転送をするように要求する。このため、プロセッサ３３０は、プロセッサメモリ３２１０上に制御情報を作成し、プロセッサメモリ用ＤＭＡコントローラ３１５を起動する（１３０１）。そして、プロセッサメモリ用ＤＭＡコントローラ３１５は、プロセッサメモリ（ＬＭ１）３２１に格納された制御情報を、スイッチ（ＳＷ１）５１０及びスイッチ（ＳＷ２）５１１を介して、プロセッサメモリ（ＬＭ２）３２３に転送する（１３０２、１３０３、１３０４）。さらに、プロセッサ（ＭＰ１）３３０は、プロセッサ間通知によって、転送された制御情報を処理するように、プロセッサ（ＭＰ２）３３１に依頼する。
【００８３】
そこで、プロセッサ（ＭＰ２）３３１は、プロセッサメモリ用ＤＭＡコントローラ３１６を起動する（１３０６）。そして、プロセッサメモリ用ＤＭＡコントローラ３１６は、プロセッサメモリ（ＬＭ２）３２３に格納された制御情報に含まれるＤＭＡ転送用パラメータをチャネルメモリ１２０に転送する（１３０７）。
【００８４】
その後、プロセッサ（ＭＰ２）３３１は、チャネルメモリ用ＤＭＡコントローラ１１６を起動する（１３０８）。そして、チャネルメモリ用ＤＭＡコントローラ１１６は、転送済みのＤＭＡパラメータリストを用いて、クラスタ１のキャッシュメモリ（ＣＭ１）４２１にＲＥＡＤコマンドを送信して（１３０９）、クラスタ１のキャッシュメモリ４２１に格納されたデータを、スイッチ（ＳＷ１）５１０及びスイッチ（ＳＷ２）５１１を介して、プロセッサメモリ３２３に転送する（１３１０）。
【００８５】
いずれのデータ転送においても、スイッチ５１０、５１１のアクセス制御機構５５０、５５１によって、当該データ転送の妥当性が検証されるため（１３１１、１３１２、１３１３）、データ転送時にメモリに格納されたデータを保護することができる。
【００８６】
データ転送先であるクラスタ２からみると、自クラスタのＤＭＡコントローラが他クラスタのデータを持ってくるという処理になることから、ＲＥＡＤモードと呼ばれる。ＲＥＡＤモードによってクラスタ間のデータを転送することによって、他クラスタのメモリ領域にはデータが書き込まれない。従って、他クラスタのメモリへデータを書き込むことがなく、メモリに格納されたデータを保護することができる。
【００８７】
次に、第３の実施の形態のデータ転送制約条件について説明する。
【００８８】
図７には、クラスタ間転送の転送制約条件も示されている。この定義例では、クラスタ間転送については、プロセッサメモリ間の転送、キャッシュメモリからチャネルメモリの転送、及びキャッシュメモリからプロセッサメモリへのデータ転送のみが許可されている。さらに、キャッシュメモリからのデータ転送については、ＲＥＡＤモードのみが許可される。
【００８９】
以上説明したように、第３の実施の形態のディスク制御装置によると、スイッチアクセス制御機構５５０が、クラスタ間のデータ転送を実行してよいか否かを検証し、整合性の確認されたパケットのみを転送するので、不適切な転送を防止することが可能となる。よって、クラスタ間を含めたメモリ間のデータ転送時のデータが保護され、メモリに格納されたデータを保護することができ、ディスク制御装置を高信頼化することができる。
【００９０】
また、第３の実施の形態のディスク制御装置によると、ディスク制御装置クラスタ間のパケット転送において、転送先クラスタに属するＤＭＡコントローラが転送を起動した場合のみ、当該転送の実行を許可することによって、他のクラスタのメモリ領域にはデータが書き込まれない。従って、他クラスタのメモリに格納されたデータを保護することができ、モジュール間の独立性を高めることができ、クラスタ構成のディスク制御装置を高信頼性化することができる。
【００９１】
＜実施形態４＞
次に、本発明の第４の実施の形態について、前述した図１３を用いて説明する。
【００９２】
図１３に示したディスク制御装置では、クラスタ１のチャネルメモリ１２０が、チャネルメモリデータ領域１２１とチャネルメモリ制御領域１２２とに分割されている。また、クラスタ１のプロセッサメモリ３２０が、プロセッサメモリデータ領域３２１とプロセッサメモリ制御領域３２２とに分割されている。また、クラスタ１のキャッシュメモリ４２０が、キャッシュメモリデータ領域４２１とキャッシュメモリ制御領域４２２とに分割されている。同様に、クラスタ２のチャネルメモリが、チャネルメモリデータ領域１２３とチャネルメモリ制御領域１２４とに分割されている。また、クラスタ２のプロセッサメモリが、プロセッサメモリデータ領域３２３とプロセッサメモリ制御領域３２４とに分割されている。また、クラスタ１のキャッシュメモリが、キャッシュメモリデータ領域４２３とキャッシュメモリ制御領域４２４とに分割されている。
【００９３】
図１６Ａ〜Ｃは、更に詳細に分割されたメモリ領域を示す。
【００９４】
図１６Ａに示すように、チャネルメモリは、データ領域と制御領域とに分割され、さらに、分割された各領域が、接続ポート毎に分割されている。また、すべての接続ポートが共有して使用することができる領域として共有領域が設けられている。
【００９５】
同様に、図１６Ｂに示すように、プロセッサメモリは、データ領域と制御領域とに分割され、さらに、分割された各領域が、処理を担当するプロセッサ毎に分割されている。また、同じプロセッサ部に備わる全てのプロセッサが共有して使用することができる領域として、プロセッサ部共有領域が設けられている。
【００９６】
同様に、図１６Ｃに示すように、キャッシュメモリは、データ領域と制御領域とに分割される。
【００９７】
これらの領域には、全てのモジュールの全てのメモリ領域で重複することのない一意の内部ネットワークアドレス空間が付与される。従って、内部ネットワークアドレスを識別することによって、そのアドレスが含まれる領域を特定することができる。これによって、アクセス制御機構は、メモリ間のデータ転送の妥当性を検証して、メモリに格納されたデータを保護することが可能となり、ディスク制御装置を高信頼化することができる。
【００９８】
図１７Ａ〜Ｃは、メモリ領域が更に詳細に分割された変形例を示す。
【００９９】
図１７Ａに示すように、チャネルメモリは、データ領域と制御領域とに分割され、さらに、分割された各領域が、接続ポート毎かつ処理を担当するプロセッサ毎に分割されている。また、すべての接続ポートが共有して使用することができる領域として、パッケージ共有領域が設けられており、パッケージ共有領域も処理担当プロセッサ毎に分割されている。
【０１００】
図１７Ｂに示すように、プロセッサメモリは、データ領域と制御領域とに分割され、さらに、分割された各領域が、処理を担当するプロセッサ毎かつ接続ポート毎に分割されている。また、同じプロセッサ部に備わる全てのプロセッサが共有して使用することができる領域としてプロセッサ部共有領域が設けられており、プロセッサ部共有領域も接続ポート毎に分割されている。
【０１０１】
図１７Ｃに示すように、キャッシュメモリは、、データ領域と制御領域とに分割される、さらに、分割された各領域が、処理を担当するプロセッサ毎に分割されている。
【０１０２】
以上説明したように、第４の実施の形態のディスク制御装置によると、全ての構成部分の全てのメモリ領域で重複することのない一意の内部ネットワークアドレスが付与される。従って、このようにメモリ領域を細分化することによって、内部ネットワークアドレスが含まれる領域の属性をより詳細に特定することができる。従って、アクセス制御機構は、より詳細にメモリの領域の属性を特定することによって、メモリに格納されたデータをより確実に保護することができ、ディスク制御装置を高信頼化することができる。
【０１０３】
特に、メモリの領域を、ホストコンピュータからのデータを格納するためのデータ領域と、ディスク制御装置内の動作を制御するためのデータを格納する制御領域とに分割することによって、障害からユーザデータをより確実に保護することができる。
【０１０４】
さらに、前記データ領域と前記制御領域とを、ホストコンピュータとの接続ポート及び当該パケット転送を制御するプロセッサによって分割することで、ユーザデータをより確実に保護することができる。
【図面の簡単な説明】
【０１０５】
【図１】第１の実施の形態のディスク制御装置の構成を示すブロック図である。
【図２】第１の実施の形態のディスク制御装置の内部ネットワークアドレス空間を示す図である。
【図３】第１の実施の形態のディスク制御装置において使用される、内部ネットワークパケットの構成を示す図である。
【図４】第１の実施の形態のディスク制御装置のメモリ間のデータ転送を示すシーケンス図である。
【図５】第１の実施の形態のディスク制御装置のメモリ間のデータ転送を示すシーケンス図である。
【図６】第１の実施の形態のアクセス制御機構の構成を示すブロック図である。
【図７】第１の実施の形態のディスク制御装置の転送制約条件の定義例を示す図である。
【図８】第１の実施の形態のアクセス制御機構の動作を示すフローチャートである。
【図９】第２の実施の形態のディスク制御装置の構成を示すブロック図である。
【図１０】第２の実施の形態のディスク制御装置のメモリ間のデータ転送を示すシーケンス図である。
【図１１】第２の実施の形態のディスク制御装置のメモリ間のデータ転送を示すシーケンス図である。
【図１２】第３の実施の形態のディスク制御装置の概略の構成を示すブロック図である。
【図１３】第３の実施の形態のディスク制御装置の詳細な構成を示すブロック図である。
【図１４】第３の実施の形態のクラスタ内のデータ転送処理のシーケンス図である。
【図１５】第３の実施の形態のクラスタ間のデータ転送処理のシーケンス図である。
【図１６Ａ】第４の実施の形態の分割されたメモリ領域を示す図である。
【図１６Ｂ】第４の実施の形態の分割されたメモリ領域を示す図である。
【図１６Ｃ】第４の実施の形態の分割されたメモリ領域を示す図である。
【図１７Ａ】第４の実施の形態の分割されたメモリ領域を示す図である。
【図１７Ｂ】第４の実施の形態の分割されたメモリ領域を示す図である。
【図１７Ｃ】第４の実施の形態の分割されたメモリ領域を示す図である。
【符号の説明】
【０１０６】
１０、１１  ディスク制御装置クラスタ
２０  ディスクドライブ
３０  ホストコンピュータ
１００、１０１  フロントエンド部（ＦＥ  ＰＫ）
１１０、１１１  ハブ（ＬＲ）
１１５、１１６  ＤＭＡコントローラ
１２０  チャネルメモリ（ＨＭ）
１３０、１３１  プロトコル制御チップ（ＰＣＶ）
１４０  ホストコンピュータ接続ポート
１５０  アクセス制御機構
２００  バックエンド・パッケージ（ＢＥ  ＰＫ）
２１０  ハブ（ＬＲ）
２２０  チャネルメモリ（ＨＭ）
２３０  プロトコル制御チップ（ＰＣＶ）
２４０  ディスクドライブ接続ポート
２５０  アクセス制御機構
３００、３０１  プロセッサ部（ＭＰ  ＰＫ）
３１０、３１１  メモリコントローラ（ＭＣ）
３１５、３１６  ＤＭＡコントローラ
３２０  プロセッサメモリ（ＬＭ）
３３０、３３１  マイクロプロセッサ（ＭＰ）
３５０  アクセス制御機構
４００、４０１  キャッシュメモリ部（ＣＭ  ＰＫ）
４１０、４１１  キャッシュメモリコントローラ（ＣＭＣ）
４２０  キャッシュメモリ（ＣＭ）
４５０  アクセス制御機構
５００、５０１  スイッチ部（ＳＷ  ＰＫ）
５１０、５１１  スイッチ（ＳＷ）
５４０  クラスタ間接続ポート
５５０、５５１  アクセス制御機構
７００  アドレスデコード回路（ＡＤＤＲＥＳＳ  ＤＥＣＯＤＥ）
７１０  アドレス領域テーブル（ＲＥＧＩＯＮ  ＴＡＢＬＥ）
７２０  コマンドデコード回路（ＣＭＤ  ＤＥＣＯＤＥ）
７３０  整合性チェック回路（ＣＯＮＳＩＳＴＥＮＣＹ  ＣＨＥＣＫ）
【図１】
2008083788.tif 000003
【図２】
2008083788.tif 000004
【図３】
2008083788.tif 000005
【図４】
2008083788.tif 000006
【図５】
2008083788.tif 000007
【図６】
2008083788.tif 000008
【図７】
2008083788.tif 000009
【図８】
2008083788.tif 000010
【図９】
2008083788.tif 000011
【図１０】
2008083788.tif 000012
【図１１】
2008083788.tif 000013
【図１２】
2008083788.tif 000014
【図１３】
2008083788.tif 000015
【図１４】
2008083788.tif 000016
【図１５】
2008083788.tif 000017
【図１６Ａ】
2008083788.tif 000018
【図１６Ｂ】
2008083788.tif 000019
【図１６Ｃ】
2008083788.tif 000020
【図１７Ａ】
2008083788.tif 000021
【図１７Ｂ】
2008083788.tif 000022
【図１７Ｃ】
2008083788.tif 000023