(57)【要約】【課題】例えばホストのディスク装置に対するアクセスを制御するストレージ制御装置において、ＣＰＵ負荷の低減およびＰＣＩアクセスの削減をはかって入出力性能の向上を実現する。【解決手段】データ転送記述子に設定されるデータ転送確認フラグがオンの場合、データ転送確認記述子をデータ転送記述子における転送情報に基づいて自動生成し、データ転送記述子に従って管理モジュール３０へのデータ転送を行なうとともに、管理モジュール３０へのデータ転送の終了後に、前記データ転送確認記述子に従ってブリッジモジュール４０から確認コードを読み出す。【選択図】図１
2005070992.tif 000002
【特許請求の範囲】
【請求項１】
第１モジュールと、第２モジュールと、インターフェイスバスを介して該第１モジュールおよび該第２モジュールをそれぞれ接続され該第１モジュールと該第２モジュールとの相互間をデータ転送可能に接続するブリッジモジュールと、該第１モジュールが該インターフェイスバスを用い該ブリッジモジュール経由で該第２モジュールへのデータ転送を行なった際に該ブリッジモジュールから該第２モジュールへのデータ転送を確認するための確認コードを該ブリッジモジュールに設定する確認コード設定手段とをそなえるとともに、
該第１モジュールが、
該第２モジュールへのデータ転送に必要な転送情報とデータ転送確認フラグとを含むデータ転送記述子を設定する記述子設定手段と、
前記データ転送確認フラグがオンの場合、前記確認コードを該ブリッジモジュールから該第１モジュールへ読み出すために必要な確認コード読出情報を含むデータ転送確認記述子を、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に基づいて自動的に生成する記述子生成手段と、
該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に従って該第２モジュールへのデータ転送を制御するとともに、前記データ転送確認フラグがオンの場合、該第２モジュールへのデータ転送の終了後に、該記述子生成手段によって自動生成された前記データ転送確認記述子における前記確認コード読出情報に従って、該ブリッジモジュールからの前記確認コードの読出を制御する制御手段とをそなえて構成されていることを特徴とする、モジュール間データ転送確認機能を有する装置。
【請求項２】
ディスク装置とホストとの間にそなえられ該ホストの該ディスク装置に対するアクセスを制御するストレージ制御装置であって、
該ディスク装置とのインターフェイスを制御するディスクインターフェイスモジュールと、
該ホストとのインターフェイスを制御するホストインターフェイスモジュールと、
本装置全体を統括的に管理する管理モジュールと、
インターフェイスバスを介して該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールをそれぞれ接続されこれらの該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールの相互間をデータ転送可能に接続するブリッジモジュールと、
該ディスクインターフェイスモジュールもしくは該ホストインターフェイスモジュールが該インターフェイスバスを用い該ブリッジモジュール経由で該管理モジュールへのデータ転送を行なった際に該ブリッジモジュールから該管理モジュールへのデータ転送を確認するための確認コードを該ブリッジモジュールに設定する確認コード設定手段とをそなえるとともに、
該ディスクインターフェイスモジュールおよび該ホストインターフェイスモジュールのうちの少なくとも一方（以下、インターフェイスモジュールという）が、
該管理モジュールへのデータ転送に必要な転送情報とデータ転送確認フラグとを含むデータ転送記述子を設定する記述子設定手段と、
前記データ転送確認フラグがオンの場合、前記確認コードを該ブリッジモジュールから該インターフェイスモジュールへ読み出すために必要な確認コード読出情報を含むデータ転送確認記述子を、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に基づいて自動的に生成する記述子生成手段と、
該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に従って該管理モジュールへのデータ転送を制御するとともに、前記データ転送確認フラグがオンの場合、該管理モジュールへのデータ転送の終了後に、該記述子生成手段によって自動生成された前記データ転送確認記述子における前記確認コード読出情報に従って、該ブリッジモジュールからの前記確認コードの読出を制御する制御手段とをそなえて構成されていることを特徴とする、ストレージ制御装置。
【請求項３】
該インターフェイスモジュールが、
該ブリッジモジュールから読み出された前記確認コードに基づいて該ブリッジモジュールと該管理モジュールとの間のデータ転送の正常／異常を判定する第１判定手段と、
該インターフェイスモジュールと該ブリッジモジュールとの間のデータ転送の正常／異常を判定する第２判定手段とをさらにそなえて構成されていることを特徴とする、請求項２記載のストレージ制御装置。
【請求項４】
ディスク装置とホストとの間にそなえられ該ホストの該ディスク装置に対するアクセスを制御するストレージ制御装置であって、該ディスク装置もしくは該ホストとのインターフェイスを制御するインターフェイスモジュールと、本ストレージ制御装置全体を統括的に管理する管理モジュールと、インターフェイスバスを介して該インターフェイスモジュールおよび該管理モジュールをそれぞれ接続されこれらの該インターフェイスモジュールおよび該管理モジュールの相互間をデータ転送可能に接続するブリッジモジュールと、該インターフェイスモジュールが該インターフェイスバスを用い該ブリッジモジュール経由で該管理モジュールへのデータ転送を行なった際に該ブリッジモジュールから該管理モジュールへのデータ転送を確認するための確認コードを該ブリッジモジュールに設定する確認コード設定手段とをそなえて構成されたストレージ制御装置において用いられる上記インターフェイスモジュールであって、
該管理モジュールへのデータ転送に必要な転送情報とデータ転送確認フラグとを含むデータ転送記述子を設定する記述子設定手段と、
前記データ転送確認フラグがオンの場合、前記確認コードを該ブリッジモジュールから本インターフェイスモジュールへ読み出すために必要な確認コード読出情報を含むデータ転送確認記述子を、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に基づいて自動的に生成する記述子生成手段と、
該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に従って該管理モジュールへのデータ転送を制御するとともに、前記データ転送確認フラグがオンの場合、該管理モジュールへのデータ転送の終了後に、該記述子生成手段によって自動生成された前記データ転送確認記述子における前記確認コード読出情報に従って、該ブリッジモジュールからの前記確認コードの読出を制御する制御手段とをそなえて構成されていることを特徴とする、ストレージ制御装置用インターフェイスモジュール。
【請求項５】
該ブリッジモジュールから読み出された前記確認コードに基づいて該ブリッジモジュールと該管理モジュールとの間のデータ転送の正常／異常を判定する第１判定手段と、
本インターフェイスモジュールと該ブリッジモジュールとの間のデータ転送の正常／異常を判定する第２判定手段とをさらにそなえて構成されていることを特徴とする、請求項４記載のストレージ制御装置用インターフェイスモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＰＣＩ(Peripheral Componet Interconnect)バス等のインターフェイスバスを介して接続された複数のモジュールから構成され、これらのモジュール間でのデータ転送を確認するための機能をそなえた装置に関し、より具体的には、物理デバイス（例えば磁気ディスク装置）とホストとの間にそなえられ、このホストの物理デバイスに対するアクセスを制御するストレージ制御装置や、そのストレージ制御装置において用いられるインターフェイスモジュール（例えばホストインターフェイスモジュール，ディスクインターフェイスモジュール）に関する。
【背景技術】
【０００２】
図４は一般的なストレージ装置（ストレージ制御装置）の構成を示すブロック図で、この図４に示すストレージ装置１は、サーバ（ホスト）４からのアクセスに応じて、サーバ４からのデータを書き込んだり、サーバ４から要求されたデータを読み出してサーバ４へ転送したりするものである。
このストレージ装置１は、複数のディスクユニット（ディスク装置，物理デバイス）２ａを有するディスクエンクロージャ２と、各ディスクユニット２ａとサーバ４との間にそなえられサーバ４の各ディスクユニット２ａに対するアクセスを制御するストレージ制御装置３とから構成されている。
【０００３】
ストレージ制御装置３は、ディスクインターフェイスモジュール１０，ホストインターフェイスモジュール２０，管理モジュール３０およびＰＣＩブリッジモジュール４０をそなえて構成されている。
ここで、ディスクインターフェイスモジュール１０は、ディスクインターフェイスバス５４を介してディスクエンクロージャ２における各ディスクユニット２ａとのインターフェイス（データ転送）を制御するものである。
【０００４】
ホストインターフェイスモジュール２０は、ファイバチャネルインターフェイスバス５０を介してサーバ４とのインターフェイス（データ転送）を制御するものである。
管理モジュール３０は、本ストレージ制御装置３の全体を統括的に管理するもので、サーバ４から各ディスクユニット２ａに書き込まれるべきデータや、各ディスクユニット２ａからサーバ４へ読み出されるべきデータを一時的に格納するキャッシュメモリを搭載され、このキャッシュメモリの管理を行なうものである。
【０００５】
ＰＣＩブリッジモジュール４０は、ＰＣＩバス（インターフェイスバス）５１，５２，５３を介してディスクインターフェイスモジュール１０，ホストインターフェイスモジュール２０および管理モジュール３０をそれぞれ接続され、これらのディスクインターフェイスモジュール１０，ホストインターフェイスモジュール２０および管理モジュール３０の相互間をデータ転送可能に接続するものである。
【０００６】
このような構成により、サーバ４からディスクユニット２ａへのデータ書込や、ディスクユニット２ａからサーバ４へのデータ読出は以下のように実行される。
サーバ４からディスクエンクロージャ２のディスクユニット２ａにデータを書き込む際には、まず、書込対象データが、サーバ４からファイバチャネルインターフェイスバス５０を介してホストインターフェイスモジュール２０へ転送され、このホストインターフェイスモジュール２０からＰＣＩバス５２，ＰＣＩブリッジモジュール４０およびＰＣＩバス５３を介して管理モジュール３０のキャッシュメモリに一時的に格納される（図４中の矢印Ａ１参照）。この後、管理モジュール３０のキャッシュメモリ上の書込対象データは、ＰＣＩバス５３，ＰＣＩブリッジモジュール４０およびＰＣＩバス５１を介してディスクインターフェイスモジュール１０へ転送され、このディスクインターフェイスモジュール１０からディスクインターフェイスバス５４を介して所定のディスクユニット２ａに書き込まれることになる（図４中の矢印Ａ２参照）。
【０００７】
逆に、ディスクエンクロージャ２のディスクユニット２ａからサーバ４へデータを読み出す際には、まず、読出対象データが、そのデータを保持するディスクユニット２ａからディスクインターフェイスバス５４を介してディスクインターフェイスモジュール１０へ転送され、このディスクインターフェイスモジュール１０からＰＣＩバス５１，ＰＣＩブリッジモジュール４０およびＰＣＩバス５３を介して管理モジュール３０のキャッシュメモリに一時的に格納される（図４中の矢印Ａ３参照）。この後、管理モジュール３０のキャッシュメモリ上の読出対象データは、ＰＣＩバス５３，ＰＣＩブリッジモジュール４０およびＰＣＩバス５２を介してホストインターフェイスモジュール２０へ転送され、このホストインターフェイスモジュール２０からファイバチャネルインターフェイスバス５０を介してサーバ４へ読み出されることになる（図４中の矢印Ａ４参照）。
【０００８】
次に、図５に示すブロック図を参照しながら、図４に示したストレージ制御装置３におけるディスクインターフェイスモジュール１０およびホストインターフェイスモジュール２０の構成について説明する。ディスクインターフェイスモジュール１０とホストインターフェイスモジュール２０とは、基本的に同一の構成を有しているが、ホストインターフェイスモジュール２０には、ファイバチャネルインターフェイスバス５０からの光信号を電気信号に変換する機能や、ホストインターフェイスモジュール１０における電気信号を光信号に変換してファイバチャネルインターフェイスバス５０へ送出する機能がそなえられ、ディスクインターフェイスモジュール１０にはこれらの機能がそなえられていない点で異なっている。
【０００９】
図５に示すように、ディスクインターフェイスモジュール１０およびホストインターフェイスモジュール２０（以下、単にインターフェイスモジュール１０，２０という場合がある）は、ＣＰＵ１１，チップセット１２，メモリ１３，インターフェイスモジュール−ＬＳＩ１４，データバッファ１５およびファイバチャネルチップ１６をそなえて構成されている。
【００１０】
ＣＰＵ（Central Processing Unit）１１は、本インターフェイスモジュール１０，２０を統括的に管理する第１処理部として機能するものである。
チップセット（Chip Set）１２は、ＣＰＵ１１を他デバイス（例えばメモリ１３）に繋ぐための機能や、ＰＣＩバス１７に接続するための機能を有している。ＣＰＵ１１は、このチップセット１２を介してメモリ１３に接続されるとともに、さらにチップセット１２およびＰＣＩバス１７を介してインターフェイスモジュール−ＬＳＩ１４に接続されている。なお、メモリ１３は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）によって構成されている。
【００１１】
インターフェイスモジュール−ＬＳＩ（Large Scale Integration）１４は、ＣＰＵ１１からの指示に応じ、ＰＣＩバス５１，５２を介して本インターフェイスモジュール１０，２０とＰＣＩブリッジモジュール３０との間のデータ転送の制御を行なう第２処理部（第２転送処理部）として機能するもので、このインターフェースモジュール−ＬＳＩ１４には、データバッファ１５が付設されている。
【００１２】
このデータバッファ１５は、例えばＤＤＲ(Double Data Rate)−ＳＤＲＡＭによって構成され、ＰＣＩブリッジモジュール４０へ転送すべきデータや、ＰＣＩブリッジモジュール４０から転送されてきたデータなどを一時的に格納するものである。
また、インターフェイスモジュール−ＬＳＩ１４には、ＰＣＩバス５１，５２を介してＰＣＩブリッジモジュール４０が接続され、ＰＣＩバス（インターフェイスバス）１７を介してチップセット１２が接続され、ＰＣＩバス（インターフェイスバス）１８を介してファイバチャネルチップ１６が接続されている。
【００１３】
さらに、インターフェイスモジュール−ＬＳＩ１４には、ＤＭＡＣ（Direct Memory Access Controller；制御手段）としての機能がそなえられており、図６や図７を参照しながら後述するごとく、ＣＰＵ１１は、通常、所定の制御プログラムを実行することにより、ディスクリプタ（記述子）をインターフェイスモジュール−ＬＳＩ１４におけるＤＭＡＣに設定し、インターフェイスモジュール−ＬＳＩ１４に、データ転送や後述する確認コード（ＡＡコード）の読出を実行させるようになっている。
【００１４】
ファイバチャネルチップ（ＦＣ-Chip）１６は、ファイバチャネルインターフェイスバス５０もしくはディスクインターフェイスバス５４を介して本インターフェイスモジュール１０，２０と各ディスクユニット２ａもしくはサーバ４との間のデータ転送を制御する第１転送処理部として機能するものである。
このようなインターフェイスモジュール１０，２０が、管理モジュール３０のキャッシュメモリにデータを転送する際には、図４を参照しながら前述したように、そのデータを、ＰＣＩバス５１〜５３を用いＰＣＩブリッジモジュール４０を経由させることになる。このとき、インターフェイスモジュール１０，２０は、ＰＣＩバス５１，５２によりＰＣＩブリッジモジュール４０へデータが正常に転送されたか否かを確認することはできるが、ＰＣＩブリッジモジュール４０から管理モジュール３０へデータが正常に転送されたか否かを確認することができない。このことは、信頼性を要求されるシステムにおいては問題となるため、インターフェイスモジュール１０，２０が、ＰＣＩブリッジモジュール４０から管理モジュール３０へのデータ転送も正常に行なわれたか否かを確認できるようにする必要がある。
【００１５】
そこで、下記特許文献１（特開２００１−２４３２０６号公報）では、ＰＣＩブリッジモジュール４０から管理モジュール３０へのＰＣＩ転送の正常終了確認（ＡＡ：Access Assurance）をデータ転送後に別途行なう手法が提案されている。この手法を実現するに当たって、ＰＣＩブリッジモジュール４０には、確認コード設定手段４１（図４参照）としての機能がそなえられている。この確認コード設定手段４１は、インターフェイスモジュール１０，２０がＰＣＩバス５１〜５３を用いＰＣＩブリッジモジュール４０経由で管理モジュール３０へのデータ転送を行なった際に、ＰＣＩブリッジモジュール４０から管理モジュール３０へのデータ転送を確認するための確認コード（ＡＡコード）をＰＣＩブリッジモジュール４０に設定するものである。そして、インターフェイスモジュール１０，２０は、データ転送後にＰＣＩブリッジモジュール４０から上記確認コードを読み出すことにより、ＰＣＩブリッジモジュール４０から管理モジュール３０へのデータ転送が正常に行なわれたか否かについて判断し、その判断結果に応じた処理（正常終了もしくはデータ再転送）を行なうようになっている。
【００１６】
以下に、図６および図７を参照しながら、上記手法についてより詳細に説明する。
まず、図６に示すシーケンス図（ステップＳ１１〜Ｓ３５）を参照しながら、上述したストレージ制御装置３の正常時動作について説明する。ＣＰＵ１１は、データ転送を開始するに当たり、転送すべきデータ単位（データブロック）毎にデータ転送用ディスクリプタおよび確認コード読出用ディスクリプタ（データ転送確認記述子）をインターフェイスモジュール−ＬＳＩ１４（ＤＭＡＣ）に設定するとともに（ＤＳＣ設定；ステップＳ１１）、ＤＭＡを起動する（ステップＳ１２）。
【００１７】
ここで、ディスクリプタ（ＤＳＣ：descriptor；記述子）は、ＤＭＡ転送に必要な情報一式を有するもので、データ転送用ディスクリプタは、管理モジュール３０へのデータ転送に必要な転送情報（例えば、転送長，転送元アドレス，転送先アドレス，その他の付加情報）を含んでおり、確認コード読出用ディスクリプタは、確認コードをＰＣＩブリッジモジュール４０からインターフェイスモジュール１０，２０へ読み出すために必要な確認コード読出情報（例えば、転送長，転送元アドレス，転送先アドレス，その他の付加情報）を含んでいる。図６および図７では、３つのデータ単位（データ１，２，３）を連続的に転送する例が示されており、この場合、ステップＳ１１では、３つのデータ転送用ディスクリプタおよび３つの確認コード読出用ディスクリプタを設定する必要がある。
【００１８】
ＣＰＵ１１から、ディスクリプタを設定されＤＭＡを起動されたインターフェイスモジュール−ＬＳＩ１４では、データ単位毎にデータ転送用ディスクリプタがロードされ（ＤＳＣロード；ステップＳ１３，Ｓ１９，Ｓ２５）、ロードされたデータ転送用ディスクリプタに従って各データがインターフェイスモジュール−ＬＳＩ１４からＰＣＩブリッジモジュール４０経由で管理モジュール３０へ順次転送される（ステップＳ１４，Ｓ１５，Ｓ２０，Ｓ２１，Ｓ２６，Ｓ２７）。各データの転送を完了すると、引き続き、確認コード読出用ディスクリプタがロードされ（ステップＳ１６，Ｓ２２，Ｓ２８）、ロードされた確認コード読出用ディスクリプタに従って、各データについての確認コード（ＡＡ code 1,2,3）が、ＰＣＩブリッジモジュール４０から取得され（ステップＳ１７，Ｓ２３，Ｓ２９）、データバッファ１５に格納される（ステップＳ１８，Ｓ２４，Ｓ３０）。
【００１９】
このようにして３つのデータ単位の転送を完了すると、インターフェイスモジュール−ＬＳＩ１４からＣＰＵ１１に対して終了通知（割り込み）が行なわれる（ステップＳ３１）。終了通知を受けたＣＰＵ１１は、インターフェイスモジュール−ＬＳＩ１４からステータスを読み出し（ステップＳ３２）、そのステータスに基づいて、インターフェイスモジュール１０，２０とＰＣＩブリッジモジュール４０との間のデータ転送の正常／異常を判定する（ステップＳ３３）。このステップＳ３２で正常判定がなされた場合、ＣＰＵ１１は、インターフェイスモジュール−ＬＳＩ１４（データバッファ１５）から確認コードを読み出し（ステップＳ３４）、その確認コードに基づいて、ＰＣＩブリッジモジュール４０と管理モジュール３０との間のデータ転送の正常／異常を判定する（ステップＳ３５）。図６に示すシーケンス図は、データ転送が正常に行なわれた時のストレージ制御装置３の動作を示しており、ステップＳ３５で正常判定がなされ、一連のデータ転送を完了する。
【００２０】
次に、図７に示すシーケンス図（ステップＳ１１〜Ｓ３４，Ｓ３６，Ｓ３７，Ｓ１１′，Ｓ１２′，Ｓ１９′〜Ｓ３５′）を参照しながら、上述したストレージ制御装置３の異常時動作について説明する。なお、図７において、図６と同一の符号を付されたステップは、同一もしくはほぼ同一の処理を実行するステップであり、その詳細な説明は省略する。また、図７において、データの再転送にかかるステップ符号には「′」を付している。
【００２１】
図７に示す例でも、図６と同様の手順（ステップＳ１１〜Ｓ３４）で３つのデータ単位の転送および確認コードの取得が行なわれるが、この図７に示す例では、２番目のデータ２の転送時にＰＣＩブリッジモジュール４０と管理モジュール３０との間で転送エラーが発生し、データ２の転送が異常終了した場合について説明する。
ＣＰＵ１１は、ステップＳ３４で、インターフェイスモジュール−ＬＳＩ１４（データバッファ１５）から読み出された確認コードに基づいて異常判定をすると、確認コード（ＡＡ code 2）からエラー内容を検出し（ステップＳ３６）、データ２の転送エラーを確認すると、データ２以降のデータ単位（ここでは２つのデータ２，３）の再転送を実行する（ステップＳ３７）。
【００２２】
再転送に際して、ＣＰＵ１１は、再び、再転送すべき２つのデータ２，３についてデータ転送用ディスクリプタおよび確認コード読出用ディスクリプタをインターフェイスモジュール−ＬＳＩ１４（ＤＭＡＣ）に設定するとともに（ステップＳ１１′）、ＤＭＡを起動する（ステップＳ１２′）。そして、図６に示した手順（ステップＳ１９〜Ｓ３０）と同様にしてデータ２，３の転送および確認コード（ＡＡ code 2,3）の取得・格納が行なわれる（ステップＳ１９′〜Ｓ３０′）。
【００２３】
このようにして２つのデータ単位の再転送を完了すると、ステップＳ３１〜Ｓ３５と同様の処理（終了通知，ステータスや確認コードの読出，正常／異常判定；ステップＳ３１′〜Ｓ３５′）が実行され、ステップＳ３５′で正常判定がなされると、一連のデータ転送を完了する。
【特許文献１】特開２００１−２４３２０６号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかしながら、図６および図７に示す手法では、ＣＰＵ１１において、転送対象のデータ単位毎に、２種類のディスクリプタ（データ転送用および確認コード読出用）を設定する必要があるほか、ＣＰＵ１１が、インターフェイスモジュール１０，２０とＰＣＩブリッジモジュール４０との間のデータ転送の正常／異常判定と、ＰＣＩブリッジモジュール４０と管理モジュール３０との間のデータ転送の正常／異常判定との両方を実行しなければならない。
【００２５】
近年、ホスト（サーバ）４からのデータ転送量の増大に伴い、データ単位毎に確認コード読出用ディスクリプタを設定するのは、ＣＰＵ１１に大きな負荷がかかるとともにＰＣＩアクセスに時間がかかり、確認コード読出用ディスクリプタの設定処理が大きなオーバヘッドとなり入出力性能の劣化の要因になっている。
また、全ての正常／異常判定をＣＰＵ１１で実行することにより、ＣＰＵ１１に大きな負荷がかかるとともにＰＣＩアクセスに時間がかかり、やはり、その判定処理が大きなオーバヘッドとなり入出力性能の劣化の要因になっている。
【００２６】
本発明は、このような課題に鑑み創案されたもので、確認コード読出用ディスクリプタを自動生成できるようにして確認コード読出用ディスクリプタの設定処理を省略し、ＣＰＵ負荷の低減およびＰＣＩアクセス数の削減をはかり、入出力性能の向上を実現することを目的としている。また、本発明は、データ転送の正常／異常判定を分散して実行できるようにするほか、データ転送の正常確認時における異常状態収集をプログラムの負担無く行なえるようにして、さらなるＣＰＵ負荷の低減およびＰＣＩアクセス数の削減をはかり、入出力性能の向上を実現することを目的としている。
【課題を解決するための手段】
【００２７】
上記目的を達成するために、本発明のモジュール間データ転送確認機能を有する装置（請求項１）は、第１モジュールと、第２モジュールと、インターフェイスバスを介して該第１モジュールおよび該第２モジュールをそれぞれ接続され該第１モジュールと該第２モジュールとの相互間をデータ転送可能に接続するブリッジモジュールと、該第１モジュールが該インターフェイスバスを用い該ブリッジモジュール経由で該第２モジュールへのデータ転送を行なった際に該ブリッジモジュールから該第２モジュールへのデータ転送を確認するための確認コードを該ブリッジモジュールに設定する確認コード設定手段とをそなえるとともに、該第１モジュールが、該第２モジュールへのデータ転送に必要な転送情報とデータ転送確認フラグとを含むデータ転送記述子を設定する記述子設定手段と、前記データ転送確認フラグがオンの場合、前記確認コードを該ブリッジモジュールから該第１モジュールへ読み出すために必要な確認コード読出情報を含むデータ転送確認記述子を、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に基づいて自動的に生成する記述子生成手段と、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に従って該第２モジュールへのデータ転送を制御するとともに、前記データ転送確認フラグがオンの場合、該第２モジュールへのデータ転送の終了後に、該記述子生成手段によって自動生成された前記データ転送確認記述子における前記確認コード読出情報に従って、該ブリッジモジュールからの前記確認コードの読出を制御する制御手段とをそなえて構成されていることを特徴としている。
【００２８】
ここで、該第１モジュールが、該第１モジュールを統括的に管理する第１処理部と、該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とをそなえて構成され、該第１処理部が、該記述子設定手段としての機能を果たすとともに、該第２処理部が、該記述子生成手段および該制御手段としての機能を果たすように構成してもよい。
【００２９】
また、該第１モジュールが、該ブリッジモジュールから読み出された前記確認コードに基づいて該ブリッジモジュールと該第２モジュールとの間のデータ転送の正常／異常を判定する第１判定手段と、該第１モジュールと該ブリッジモジュールとの間のデータ転送の正常／異常を判定する第２判定手段とをさらにそなえて構成されていてもよい。このとき、該第１判定手段により異常判定がなされた場合、該記述子生成手段が、詳細エラー情報を該ブリッジモジュールから該第１モジュールへ読み出すために必要なエラー読出情報を含むエラー読出記述子を自動生成するとともに、該制御手段が、該記述子生成手段によって自動生成された前記エラー読出記述子における前記エラー読出情報に従って、該ブリッジモジュールからの前記詳細エラー情報の読出を制御してもよい。また、該第１モジュールが、該第１モジュールを統括的に管理する第１処理部と、該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とをそなえて構成され、該第１処理部が、該記述子設定手段および第２判定手段としての機能を果たすとともに、該第２処理部が、該記述子生成手段，該制御手段および第１判定手段としての機能を果たすように構成してもよい。そして、該第２判定手段により異常判定がなされた場合、該第１処理部が、該ブリッジモジュールから読み出された前記詳細エラー情報を該第２処理部から取得し、その詳細エラー情報に基づいてデータ再送を該第２処理部に対して指示してもよい。
【００３０】
さらに、該第１モジュールから複数のデータブロックを該第２モジュールへ連続的に転送する場合、該記述子設定手段が、前記複数のデータブロックのうちの最後のデータブロックを転送するためのデータ転送記述子における前記データ転送確認フラグのみをオンに設定してもよい。
なお、上述した装置において、該インターフェイスバスはＰＣＩバスであってもよいし、該第１モジュールと該第２モジュールとの間のデータ転送が、該制御手段によって制御されるＤＭＡ転送として行なわれ、該記述子設定手段によって設定される記述子および該記述子生成手段によって自動生成される記述子が、ＤＭＡ転送に必要な情報一式を有するディスクリプタであってもよい。
【００３１】
本発明のストレージ制御装置（請求項２）は、ディスク装置とホストとの間にそなえられ該ホストの該物理デバイスに対するアクセスを制御するものであって、該ディスク装置とのインターフェイスを制御するディスクインターフェイスモジュールと、該ホストとのインターフェイスを制御するホストインターフェイスモジュールと、本装置全体を統括的に管理する管理モジュールと、インターフェイスバスを介して該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールをそれぞれ接続されこれらの該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールの相互間をデータ転送可能に接続するブリッジモジュールと、該ディスクインターフェイスモジュールもしくは該ホストインターフェイスモジュールが該インターフェイスバスを用い該ブリッジモジュール経由で該管理モジュールへのデータ転送を行なった際に該ブリッジモジュールから該管理モジュールへのデータ転送を確認するための確認コードを該ブリッジモジュールに設定する確認コード設定手段とをそなえるとともに、該ディスクインターフェイスモジュールおよび該ホストインターフェイスモジュールのうちの少なくとも一方（以下、単にインターフェイスモジュールという）が、該管理モジュールへのデータ転送に必要な転送情報とデータ転送確認フラグとを含むデータ転送記述子を設定する記述子設定手段と、前記データ転送確認フラグがオンの場合、前記確認コードを該ブリッジモジュールから該インターフェイスモジュールへ読み出すために必要な確認コード読出情報を含むデータ転送確認記述子を、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に基づいて自動的に生成する記述子生成手段と、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に従って該管理モジュールへのデータ転送を制御するとともに、前記データ転送確認フラグがオンの場合、該管理モジュールへのデータ転送の終了後に、該記述子生成手段によって自動生成された前記データ転送確認記述子における前記確認コード読出情報に従って、該ブリッジモジュールからの前記確認コードの読出を制御する制御手段とをそなえて構成されていることを特徴としている。
【００３２】
ここで、該インターフェイスモジュールが、該インターフェイスモジュールを統括的に管理する第１処理部と、該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とをそなえて構成され、該第１処理部が、該記述子設定手段としての機能を果たすとともに、該第２処理部が、該記述子生成手段および該制御手段としての機能を果たすように構成してもよい。
【００３３】
また、該インターフェイスモジュールが、該ブリッジモジュールから読み出された前記確認コードに基づいて該ブリッジモジュールと該管理モジュールとの間のデータ転送の正常／異常を判定する第１判定手段と、該インターフェイスモジュールと該ブリッジモジュールとの間のデータ転送の正常／異常を判定する第２判定手段とをさらにそなえて構成されていてもよい（請求項３）。このとき、該第１判定手段により異常判定がなされた場合、該記述子生成手段が、詳細エラー情報を該ブリッジモジュールから該インターフェイスモジュールへ読み出すために必要なエラー読出情報を含むエラー読出記述子を自動生成するとともに、該制御手段が、該記述子生成手段によって自動生成された前記エラー読出記述子における前記エラー読出情報に従って、該ブリッジモジュールからの前記詳細エラー情報の読出を制御してもよい。また、該インターフェイスモジュールが、該インターフェイスモジュールを統括的に管理する第１処理部と、該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とをそなえて構成され、該第１処理部が、該記述子設定手段および第２判定手段としての機能を果たすとともに、該第２処理部が、該記述子生成手段，該制御手段および第１判定手段としての機能を果たすように構成してもよい。そして、該第２判定手段により異常判定がなされた場合、該第１処理部が、該ブリッジモジュールから読み出された前記詳細エラー情報を該第２処理部から取得し、その詳細エラー情報に基づいてデータ再送を該第２処理部に対して指示してもよい。
【００３４】
さらに、該インターフェイスモジュールから複数のデータブロックを該管理モジュールへ連続的に転送する場合、該記述子設定手段が、前記複数のデータブロックのうちの最後のデータブロックを転送するためのデータ転送記述子における前記データ転送確認フラグのみをオンに設定してもよい。
なお、上述したストレージ制御装置において、該インターフェイスバスはＰＣＩバスであってもよいし、該インターフェイスモジュールと該管理モジュールとの間のデータ転送が、該制御手段によって制御されるＤＭＡ転送として行なわれ、該記述子設定手段によって設定される記述子および該記述子生成手段によって自動生成される記述子が、ＤＭＡ転送に必要な情報一式を有するディスクリプタであってもよい。
【００３５】
本発明のストレージ制御装置用インターフェイスモジュール（請求項４，５）は、上述したストレージ制御装置において用いられるものであって、上述したストレージ制御装置におけるインターフェイスモジュールと同様に構成されるものである。
【発明の効果】
【００３６】
上述した本発明のモジュール間データ転送確認機能を有する装置並びにストレージ制御装置および同装置用インターフェイスモジュールによれば、データ転送記述子に設定されるデータ転送確認フラグがオンの場合、データ転送確認記述子がデータ転送記述子における転送情報に基づいて自動生成され、前記データ転送記述子に従って管理モジュール（第２モジュール）へのデータ転送が行なわれるとともに、管理モジュールへのデータ転送の終了後に、前記データ転送確認記述子に従ってブリッジモジュールから確認コードが読み出されるので、従来行なわれていた確認コード読出用ディスクリプタの設定処理を省略することができ、ＣＰＵ負荷が大幅に低減されるとともにＰＣＩアクセス数が大幅に削減され、入出力性能が大幅に向上することになる。
【００３７】
また、２種類のデータ転送の正常／異常判定が第１処理部と第２処理部とに分散されて実行されるほか、エラー発生時には、エラー読出記述子が自動生成され、このエラー読出記述子に従ってブリッジモジュールから詳細エラー情報が読み出され、データ転送の正常確認時における異常状態収集をプログラムの負担無く行なえるので、さらなるＣＰＵ負荷の低減およびＰＣＩアクセス数の削減を達成でき、入出力性能のさらなる向上を実現することができる。
【発明を実施するための最良の形態】
【００３８】
以下、図面を参照して本発明の実施の形態を説明する。
〔１〕本発明の一実施形態の説明
本発明の一実施形態としてのストレージ装置１Ａも、図４に示すように、基本的に一般的なストレージ装置１とほぼ同様に構成されている。つまり、本実施形態のストレージ装置１Ａも、サーバ（ホスト）４からのアクセスに応じて、サーバ４からのデータを書き込んだり、サーバ４から要求されたデータを読み出してサーバ４へ転送したりするものである。そして、このストレージ装置１Ａも、複数のディスクユニット（ディスク装置，物理デバイス）２ａを有するディスクエンクロージャ２と、各ディスクユニット２ａとサーバ４との間にそなえられサーバ４の各ディスクユニット２ａに対するアクセスを制御するストレージ制御装置３Ａとから構成されている。
【００３９】
そして、本実施形態のストレージ制御装置３Ａも、図４に示すように、基本的に一般的なストレージ制御装置３とほぼ同様に、ディスクインターフェイスモジュール１０Ａ，ホストインターフェイスモジュール２０Ａ，管理モジュール３０およびＰＣＩブリッジモジュール４０Ａをそなえて構成されている。
ここで、ディスクインターフェイスモジュール（第１モジュール）１０Ａは、ディスクインターフェイスバス５４を介してディスクエンクロージャ２における各ディスクユニット２ａとのインターフェイス（データ転送）を制御するものである。
【００４０】
ホストインターフェイスモジュール（第１モジュール）２０Ａは、ファイバチャネルインターフェイスバス５０を介してサーバ４とのインターフェイス（データ転送）を制御するものである。
管理モジュール（第２モジュール）３０は、本ストレージ制御装置３Ａの全体を統括的に管理するもので、サーバ４から各ディスクユニット２ａに書き込まれるべきデータや、各ディスクユニット２ａからサーバ４へ読み出されるべきデータを一時的に格納するキャッシュメモリを搭載され、このキャッシュメモリの管理を行なうものである。
【００４１】
ＰＣＩブリッジモジュール（ブリッジモジュール）４０Ａは、ＰＣＩバス（インターフェイスバス）５１，５２，５３を介してディスクインターフェイスモジュール１０Ａ，ホストインターフェイスモジュール２０Ａおよび管理モジュール３０をそれぞれ接続され、これらのディスクインターフェイスモジュール１０Ａ，ホストインターフェイスモジュール２０Ａおよび管理モジュール３０の相互間をデータ転送可能に接続するものである。
【００４２】
このＰＣＩブリッジモジュール４０Ａには、前述と同様の確認コード設定手段４１としての機能がそなえられている。この確認コード設定手段４１は、インターフェイスモジュール１０Ａ，２０ＡがＰＣＩバス５１〜５３を用いＰＣＩブリッジモジュール４０Ａ経由で管理モジュール３０へのデータ転送を行なった際に、ＰＣＩブリッジモジュール４０Ａから管理モジュール３０へのデータ転送を確認するための確認コード（ＡＡコード）をＰＣＩブリッジモジュール４０Ａに設定するものである。そして、インターフェイスモジュール１０Ａ，２０Ａは、データ転送後にＰＣＩブリッジモジュール４０Ａから上記確認コードを読み出すことにより、ＰＣＩブリッジモジュール４０Ａから管理モジュール３０へのデータ転送が正常に行なわれたか否かについて判断し、その判断結果に応じた処理（正常終了もしくはデータ再転送）を行なうようになっている。
【００４３】
さらに、本実施形態のＰＣＩブリッジモジュール４０Ａには、このＰＣＩブリッジモジュール４０Ａと管理モジュール３０との間のデータ転送に際してエラーが発生した場合にそのエラーのアドレスを記憶・保持する機能が新たにそなえられている。
このような構成により、本実施形態のストレージ制御装置３Ａにおいても、サーバ４からディスクユニット２ａへのデータ書込や、ディスクユニット２ａからサーバ４へのデータ読出が、上述したストレージ制御装置３と同様の手順（図４中の矢印Ａ１〜Ａ４参照）で実行される。
【００４４】
次に、図１に示すブロック図を参照しながら、本実施形態としてのストレージ制御装置３Ａにおけるディスクインターフェイスモジュール１０Ａおよびホストインターフェイスモジュール２０Ａの構成について説明する。ディスクインターフェイスモジュール１０Ａとホストインターフェイスモジュール２０Ａとは、基本的に同一の構成を有しているが、ホストインターフェイスモジュール２０Ａには、ファイバチャネルインターフェイスバス５０からの光信号を電気信号に変換する機能や、ホストインターフェイスモジュール２０Ａにおける電気信号を光信号に変換してファイバチャネルインターフェイスバス５０へ送出する機能がそなえられ、ディスクインターフェイスモジュール１０Ａにはこれらの機能がそなえられていない点で異なっている。
【００４５】
図１に示すように、ディスクインターフェイスモジュール１０Ａおよびホストインターフェイスモジュール２０Ａ（以下、単にインターフェイスモジュール１０Ａ，２０Ａという場合がある）は、ＣＰＵ１１Ａ，チップセット１２，メモリ１３，インターフェイスモジュール−ＬＳＩ１４Ａ，データバッファ１５およびファイバチャネルチップ１６をそなえて構成されている。
【００４６】
ＣＰＵ（Central Processing Unit）１１Ａは、本インターフェイスモジュール１０Ａ，２０Ａを統括的に管理する第１処理部として機能するものであり、本実施形態では、ディスクリプタ設定手段１１１および第２判定手段１１２としての機能も果たすように構成されている。
ディスクリプタ設定手段（記述子設定手段）１１１は、転送すべきデータ単位（データブロック）毎に、管理モジュール３０へのデータ転送に必要な転送情報とデータ転送確認フラグとを含むデータ転送用ディスクリプタ（データ転送記述子）を、インターフェイスモジュール−ＬＳＩ１４ＡのＤＭＡＣ（制御手段１４２）に設定するものである。
【００４７】
ここで、ディスクリプタ（ＤＳＣ：descriptor；記述子）は、ＤＭＡ転送に必要な情報一式を有するもので、データ転送用ディスクリプタにおいては、管理モジュール３０へのデータ転送に必要な転送情報として、例えば、転送長，転送元アドレス，転送先アドレス，その他の付加情報が記述されている。そして、その他の付加情報の一つとして、後述する確認コード読出用ディスクリプタ（データ転送確認記述子）の自動生成をインターフェイスモジュール−ＬＳＩ１４Ａに指示する場合にオン設定（“１”に設定）される前記データ転送確認フラグが設定される。
【００４８】
また、本実施形態では、複数のデータブロック（データ単位）をインターフェイスモジュール１０Ａ，２０Ａから管理モジュール３０へ連続的に転送する場合、ディスクリプタ記述手段１１１は、これらのデータブロックのうちの最後のデータブロックを転送するためのデータ転送用ディスクリプタにおけるデータ転送確認フラグのみをオン（“１”）に設定するようになっている。これは、ＣＰＩブリッジモジュール４０Ａが、前述したような新機能（ＰＣＩブリッジモジュール４０Ａと管理モジュール３０との間のデータ転送に際してエラーが発生した場合にそのエラーのアドレスを記憶・保持する機能）をそなえたことに対応したものである。
【００４９】
第２判定手段１１２は、図２や図３を参照しながら後述するごとく、インターフェイスモジュール−ＬＳＩ１４Ａから読み出されたステータスに基づいて、インターフェイスモジュール１０Ａ，２０ＡとＰＣＩブリッジモジュール４０Ａとの間のデータ転送の正常／異常を判定するものである。
この第２判定手段１１２により異常判定がなされた場合、図３を参照しながら後述するごとく、ＣＰＵ１１Ａは、インターフェイスモジュール−ＬＳＩ１４ＡによってＰＣＩブリッジモジュール４０Ａから読み出された詳細エラー情報をインターフェイスモジュール−ＬＳＩ１４Ａから取得し、その詳細エラー情報に基づいてデータ再送をインターフェイスモジュール−ＬＳＩ１４Ａに対して指示する。つまり、ディスクリプタ設定手段１１１が機能することにより、再送対象のデータブロックについてのデータ転送用ディスクリプタがインターフェイスモジュール−ＬＳＩ１４Ａに設定されるようになっている。
【００５０】
チップセット（Chip Set）１２は、ＣＰＵ１１Ａを他デバイス（例えばメモリ１３）に繋ぐための機能や、ＰＣＩバス１７に接続するための機能を有している。ＣＰＵ１１Ａは、このチップセット１２を介してメモリ１３に接続されるとともに、さらにチップセット１２およびＰＣＩバス１７を介してインターフェイスモジュール−ＬＳＩ１４Ａに接続されている。なお、メモリ１３は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）によって構成されている。
【００５１】
インターフェイスモジュール−ＬＳＩ（Large Scale Integration）１４Ａは、ＣＰＵ１１Ａからの指示に応じ、ＰＣＩバス５１，５２を介して本インターフェイスモジュール１０Ａ，２０ＡとＰＣＩブリッジモジュール３０との間のデータ転送の制御を行なう第２処理部（第２転送処理部）として機能するもので、このインターフェイスモジュール−ＬＳＩ１４Ａには、データバッファ１５が付設されている。このデータバッファ１５は、例えばＤＤＲ(Double Data Rate)−ＳＤＲＡＭによって構成され、ＰＣＩブリッジモジュール４０Ａへ転送すべきデータや、ＰＣＩブリッジモジュール４０Ａから転送されてきたデータなどを一時的に格納するものである。
【００５２】
また、インターフェイスモジュール−ＬＳＩ１４Ａには、ＰＣＩバス５１，５２を介してＰＣＩブリッジモジュール４０Ａが接続され、ＰＣＩバス（インターフェイスバス）１７を介してチップセット１２が接続され、ＰＣＩバス（インターフェイスバス）１８を介してファイバチャネルチップ１６が接続されている。
さらに、本実施形態のインターフェイスモジュール−ＬＳＩ１４Ａには、ディスクリプタ生成手段１４１，制御手段（ＤＭＡＣ：Direct Memory Access Controller）１４２および第１判定手段１４３としての機能がそなえられている。
【００５３】
ディスクリプタ生成手段（記述子生成手段）１４１は、データ転送用ディスクリプタにおける前記データ転送確認フラグがオン（“１”）の場合、前記確認コード（ＡＡコード）をＰＣＩブリッジモジュール４０Ａからインターフェイスモジュール１０Ａ，２０Ａへ読み出すために必要な確認コード読出情報を含む確認コード読出用ディスクリプタ（データ転送確認記述子）を、ＣＰＵ１１Ａのディスクリプタ設定手段１１１によって設定されたデータ転送用ディスクリプタにおける転送情報に基づいて自動的に生成し、制御手段（ＤＭＡＣ）１４２に設定するものである。この確認コード読出用ディスクリプタに記述される、確認コード（ＡＡコード）のＰＣＩブリッジモジュール４０Ａ側アドレスは、データ転送先アドレスから限定条件として決定される。
【００５４】
制御手段１４２は、ＤＭＡＣとしての機能を果たすもので、ＣＰＵ１１Ａのディスクリプタ設定手段１１１によって設定されたデータ転送用ディスクリプタ（前記転送情報）に従って管理モジュール３０へのデータ転送を制御するとともに、データ転送用ディスクリプタにおける前記データ転送確認フラグがオン（“１”）の場合、管理モジュール３０へのデータ転送の終了後に、ディスクリプタ生成手段１４１によって自動生成された前記確認コード読出用ディスクリプタにおける前記確認コード読出情報に従って、ＰＣＩブリッジモジュール４０Ａからの確認コード（ＡＡコード）の読出を制御するものである。
【００５５】
第１判定手段１４３は、ＰＣＩブリッジモジュール４０Ａから読み出された前記確認コードに基づいてＰＣＩブリッジモジュール４０Ａと管理モジュール３０との間のデータ転送の正常／異常を判定するものである。
そして、第１判定手段１４３により異常判定がなされた場合、ディスクリプタ生成手段１４１が、詳細エラー情報（エラーアドレス）をＰＣＩブリッジモジュール４０Ａからインターフェイスモジュール１０，２０へ読み出すために必要なエラー読出情報を含むエラー読出用ディスクリプタ（エラー読出記述子）を自動生成するとともに、制御手段１４２が、ディスクリプタ生成手段１４１によって自動生成されたエラー読出用ディスクリプタ（前記エラー読出情報）に従って、ＰＣＩブリッジモジュール４０Ａからの前記詳細エラー情報の読出を制御するようになっている。
【００５６】
ファイバチャネルチップ（ＦＣ-Chip）１６は、ファイバチャネルインターフェイスバス５０もしくはディスクインターフェイスバス５４を介して本インターフェイスモジュール１０Ａ，２０Ａと各ディスクユニット２ａもしくはサーバ４との間のデータ転送を制御する第１転送処理部として機能するものである。
次に、図２および図３を参照しながら、上述のごとく構成された本実施形態のストレージ制御装置３Ａ（インターフェイスモジュール１０Ａ，２０Ａ）の動作について詳細に説明する。
【００５７】
まず、図２に示すシーケンス図（ステップＳ５１〜Ｓ７３）を参照しながら、上述したストレージ制御装置３Ａの正常時動作について説明する。ＣＰＵ１１は、データ転送を開始するに当たり、ディスクリプタ設定手段１１１としての機能により、転送すべきデータ単位（データブロック）毎に、前述したデータ転送用ディスクリプタをインターフェイスモジュール−ＬＳＩ１４Ａの制御手段（ＤＭＡＣ）１４２に設定するとともに（ＤＳＣ設定；ステップＳ５１）、ＤＭＡを起動する（ステップＳ５２）。
【００５８】
ここで、図２および図３では、図６および図７に示した例と同様、３つのデータ単位（データ１，２，３）を連続的に転送する例が示されており、この場合、ステップＳ５１では、３つのデータ転送用ディスクリプタを設定することになる。また、その際、各データ転送用ディスクリプタの付加情報として、前述したデータ転送確認フラグが設定される。本実施形態のごとくＰＣＩブリッジモジュール４０Ａが上記新機能を有している場合、前述したように、上記３つのデータ単位のうちの最後のデータ単位（データ３）を転送するためのデータ転送用ディスクリプタにおけるデータ転送確認フラグのみがオン（“１”）に設定され、その他のデータ単位（データ１，２）を転送するためのデータ転送用ディスクリプタにおけるデータ転送確認フラグはオフ（“０”）に設定される。ＰＣＩブリッジモジュール４０Ａが上記新機能を有していない場合には、データ単位を転送するための全てのデータ転送用ディスクリプタにおけるデータ転送確認フラグがオン（“１”）に設定される。
【００５９】
図２では、最後のデータ転送用ディスクリプタにおけるデータ転送確認フラグのみをオン（“１”）に設定した場合に実行される処理と、全てのデータ転送用ディスクリプタにおけるデータ転送確認フラグをオン（“１”）に設定した場合に実行される処理との両方が図示されているが、図２に示した処理のうちステップＳ５６，Ｓ５７，Ｓ５８，Ｓ６２，Ｓ６３，Ｓ６４の処理は、全てのデータ転送用ディスクリプタにおけるデータ転送確認フラグをオン（“１”）に設定した場合にのみ実行され、最後のデータ転送用ディスクリプタにおけるデータ転送確認フラグのみをオン（“１”）に設定した場合には省略される。また、図３では、最後のデータ転送用ディスクリプタにおけるデータ転送確認フラグのみをオン（“１”）に設定した場合に実行される処理のみが図示されている。
【００６０】
さて、ＣＰＵ１１から、データ転送用ディスクリプタを設定されＤＭＡを起動されたインターフェイスモジュール−ＬＳＩ１４Ａでは、データ単位毎にデータ転送用ディスクリプタがロードされ（ＤＳＣロード；ステップＳ５３，Ｓ５９，Ｓ６５）、制御手段（ＤＭＡＣ）１４２としての機能により、ロードされたデータ転送用ディスクリプタに従って各データがインターフェイスモジュール−ＬＳＩ１４からＰＣＩブリッジモジュール４０経由で管理モジュール３０へ順次転送される（ステップＳ５４，Ｓ５５，Ｓ６０，Ｓ６１，Ｓ６６，Ｓ６７）。
【００６１】
各データの転送を完了すると、データ転送用ディスクリプタにおけるデータ転送確認フラグがチェックされ、このフラグがオン（“１”）設定されている場合、ディスクリプタ生成手段１４１としての機能により、確認コード読出用ディスクリプタが、ＣＰＵ１１Ａのディスクリプタ設定手段１１１によって設定されたデータ転送用ディスクリプタにおける転送情報に基づいて自動的に生成され、制御手段（ＤＭＡＣ）１４２に設定される（ＤＳＣ生成；ステップＳ５６，Ｓ６２，Ｓ６８）。そして、制御手段（ＤＭＡＣ）１４２としての機能により、自動生成された確認コード読出用ディスクリプタに従って、確認コード（ＡＡ code 1,2,3の全て、もしくはＡＡ code 3のみ）が、ＰＣＩブリッジモジュール４０Ａから取得され（ステップＳ５７，Ｓ６３，Ｓ６９）、第１判定手段１４３としての機能により、ＰＣＩブリッジモジュール４０Ａから取得された確認コードに基づいてＰＣＩブリッジモジュール４０Ａと管理モジュール３０との間のデータ転送の正常／異常が自動的に判定される（ステップＳ５８，Ｓ６４，Ｓ７０）。図２に示すシーケンス図は、データ転送が正常に行なわれた時のストレージ制御装置３Ａの動作を示しており、ステップＳ５８，Ｓ６４，Ｓ７０の全て、もしくは、ステップＳ７０のみで正常判定がなされる。
【００６２】
このようにして３つのデータ単位の転送を完了すると、インターフェイスモジュール−ＬＳＩ１４ＡからＣＰＵ１１Ａに対して終了通知（割り込み）が行なわれる（ステップＳ７１）。終了通知を受けたＣＰＵ１１Ａは、インターフェイスモジュール−ＬＳＩ１４Ａからステータスを読み出し（ステップＳ７２）、第２判定手段１１２としての機能により、読み出されたステータスに基づいて、インターフェイスモジュール１０Ａ，２０ＡとＰＣＩブリッジモジュール４０Ａとの間のデータ転送の正常／異常が判定される（ステップＳ７３）。前述したように、図２に示すシーケンス図は、データ転送が正常に行なわれた時のストレージ制御装置３Ａの動作を示しており、ステップＳ７３では正常判定がなされ、一連のデータ転送を完了する。
【００６３】
次に、図３に示すシーケンス図を参照しながら、上述したストレージ制御装置３Ａの異常時動作について説明する。なお、図３において、図２と同一の符号を付されたステップは、同一もしくはほぼ同一の処理を実行するステップであり、その詳細な説明は省略する。また、図３において、データの再転送にかかるステップ符号には「′」を付している。
図３に示す例でも、図２と同様の手順（ステップＳ５１〜Ｓ５５，Ｓ５９〜Ｓ６１，Ｓ６５〜Ｓ７０）で３つのデータ単位が転送されるとともに最後のデータ単位についての確認コードが取得される。この図３に示す例では、図７に示した例と同様、２番目のデータ２の転送時にＰＣＩブリッジモジュール４０と管理モジュール３０との間で転送エラーが発生し、データ２の転送が異常終了した場合について説明する。このような異常（エラー）が発生した場合、本実施形態のＰＣＩブリッジモジュール４０Ａでは、上記新機能により、そのエラーアドレスが保持される（ステップＳ７４）。
【００６４】
そして、インターフェイスモジュール−ＬＳＩ１４Ａにおいて、第１判定手段１４３としての機能により、ＰＣＩブリッジモジュール４０Ａから取得された確認コードに基づいてＰＣＩブリッジモジュール４０Ａと管理モジュール３０との間のデータ転送が異常終了したことが認識されると（ステップＳ７０）、ディスクリプタ生成手段１４１としての機能により、エラー読出用ディスクリプタが自動的に生成され制御手段（ＤＭＡＣ）１４２に設定される（ＤＳＣ生成；ステップＳ７５）。そして、制御手段（ＤＭＡＣ）１４２としての機能により、自動生成されたエラー読出用ディスクリプタに従って、詳細エラー情報（エラーアドレス）がＰＣＩブリッジモジュール４０Ａから読み出される（ステップＳ７６）。
【００６５】
このようにしてエラーアドレスを取得すると、インターフェイスモジュール−ＬＳＩ１４ＡからＣＰＵ１１Ａに対して終了通知（割り込み）が行なわれる（ステップＳ７１）。終了通知を受けたＣＰＵ１１Ａは、インターフェイスモジュール−ＬＳＩ１４Ａからステータスを読み出し（ステップＳ７２）、第２判定手段１１２としての機能により、読み出されたステータスに基づいて、インターフェイスモジュール１０Ａ，２０ＡとＰＣＩブリッジモジュール４０Ａとの間のデータ転送の正常／異常が判定される（ステップＳ７３）。ここでは、転送エラーが発生したことが検出されて異常判定がなされ、引き続いて、ＣＰＵ１１Ａは、インターフェイスモジュール−ＬＳＩ１４Ａから、ステップＳ７６で取得されたエラーアドレスを読み出し（ステップＳ７７）、そのエラーアドレスに基づいてデータ２の転送中にエラーが発生したことが認識される（ステップＳ７８）。
【００６６】
この認識結果に応じて、ＣＰＵ１１Ａは、データ２以降のデータ単位（ここでは２つのデータ２，３）の再転送を実行する（ステップＳ７９）。再転送に際して、ＣＰＵ１１Ａは、ディスクリプタ設定手段１１１としての機能により、再び、再転送すべき２つのデータ２，３についてデータ転送用ディスクリプタをインターフェイスモジュール−ＬＳＩ１４Ａの制御手段（ＤＭＡＣ）１４２に設定するとともに（ステップＳ５１′）、ＤＭＡを起動する（ステップＳ５２′）。そして、図２に示した手順（ステップＳ５９〜Ｓ６１，Ｓ６５〜Ｓ７０）と同様にしてデータ２，３の転送および確認コード（ＡＡ code 3）の取得・自動判断が行なわれる（ステップＳ５９′〜Ｓ６１′，Ｓ６５′〜Ｓ７０′）。
【００６７】
このようにして２つのデータ単位の再転送を完了すると、ステップＳ７１〜Ｓ７３と同様の処理（終了通知，ステータスの読出，正常／異常判定；ステップＳ７１′〜Ｓ７３′）が実行され、ステップＳ７３′で正常判定がなされると、一連のデータ転送を完了する。
このように、本発明の一実施形態としてのストレージ制御装置３Ａ（インターフェイスモジュール１０Ａ，２０Ａ）によれば、データ転送用ディスクリプタに設定されるデータ転送確認フラグがオン（“１”）の場合、インターフェイスモジュール−ＬＳＩ１４Ａのディスクリプタ生成手段１４１としての機能により、データ転送確認用ディスクリプタがデータ転送用ディスクリプタにおける転送情報に基づいて自動的に生成され、データ転送用ディスクリプタに従って管理モジュール３０へのデータ転送が行なわれるとともに、管理モジュール３０へのデータ転送の終了後に、データ転送確認用ディスクリプタに従ってＰＣＩブリッジモジュール４０Ａから確認コードが読み出される。これにより、従来、ＣＰＵ１１で行なわれていた確認コード読出用ディスクリプタの設定処理を省略することができ、ＣＰＵ１１Ａの負荷が大幅に低減されるとともにＰＣＩアクセス数が大幅に削減され、入出力性能が大幅に向上することになる。
【００６８】
また、２種類のデータ転送の正常／異常判定するための判定手段１１２，１４３としての機能がそれぞれＣＰＵ（第１処理部）１１Ａおよびインターフェイスモジュール−ＬＳＩ（第２処理部）１４Ａによって実現されるほか、エラー発生時には、インターフェイスモジュール−ＬＳＩ１４Ａのディスクリプタ生成手段１４１としての機能によりエラー読出用ディスクリプタが自動的に生成され、このエラー読出記述子に従ってＰＣＩブリッジモジュール４０Ａから詳細エラー情報（エラーアドレス）が読み出され、データ転送の正常確認時における異常状態収集をプログラムの負担無く行なえる。これにより、さらなるＣＰＵ１１Ａの負荷の低減およびＰＣＩアクセス数の削減を達成でき、入出力性能のさらなる向上を実現することができる。
【００６９】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、本発明をストレージ制御装置に適用した場合について説明したが、本発明は、これに限定されるものではなく、ＰＣＩバス等のインターフェイスバスを介して接続された複数のモジュールから構成され、これらのモジュール間でのデータ転送を確認するための機能をそなえた装置であれば、上述した実施形態と同様に適用され、上述した実施形態と同様の作用効果を得ることができる。
【００７０】
また、上述した実施形態では、サーバ４とストレージ制御装置３Ａとの間のインターフェイスがファイバチャネルインターフェイスである場合について説明したが、本発明は、これに限定されるものではない。
さらに、上述したディスクリプタ設定手段１１１，第２判定手段１１２，ディスクリプタ生成手段１４１，制御手段１４２および第１判定手段１４３としての機能は、ＣＰＵ１１Ａやインターフェイスモジュール−ＬＳＩ１４Ａが所定のプログラムを実行することによって実現される。このプログラムは、例えばフレキシブルディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ等のコンピュータ読取可能な記録媒体に記録された形態で提供される。
【００７１】
〔３〕
（付記１）  第１モジュールと、第２モジュールと、インターフェイスバスを介して該第１モジュールおよび該第２モジュールをそれぞれ接続され該第１モジュールと該第２モジュールとの相互間をデータ転送可能に接続するブリッジモジュールと、該第１モジュールが該インターフェイスバスを用い該ブリッジモジュール経由で該第２モジュールへのデータ転送を行なった際に該ブリッジモジュールから該第２モジュールへのデータ転送を確認するための確認コードを該ブリッジモジュールに設定する確認コード設定手段とをそなえるとともに、
該第１モジュールが、
該第２モジュールへのデータ転送に必要な転送情報とデータ転送確認フラグとを含むデータ転送記述子を設定する記述子設定手段と、
前記データ転送確認フラグがオンの場合、前記確認コードを該ブリッジモジュールから該第１モジュールへ読み出すために必要な確認コード読出情報を含むデータ転送確認記述子を、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に基づいて自動的に生成する記述子生成手段と、
該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に従って該第２モジュールへのデータ転送を制御するとともに、前記データ転送確認フラグがオンの場合、該第２モジュールへのデータ転送の終了後に、該記述子生成手段によって自動生成された前記データ転送確認記述子における前記確認コード読出情報に従って、該ブリッジモジュールからの前記確認コードの読出を制御する制御手段とをそなえて構成されていることを特徴とする、モジュール間データ転送確認機能を有する装置。
【００７２】
（付記２）  該第１モジュールが、
該第１モジュールを統括的に管理する第１処理部と、
該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とをそなえて構成され、
該第１処理部が、該記述子設定手段としての機能を果たすとともに、
該第２処理部が、該記述子生成手段および該制御手段としての機能を果たすことを特徴とする、付記１記載のモジュール間データ転送確認機能を有する装置。
【００７３】
（付記３）  該第１モジュールが、
該ブリッジモジュールから読み出された前記確認コードに基づいて該ブリッジモジュールと該第２モジュールとの間のデータ転送の正常／異常を判定する第１判定手段と、
該第１モジュールと該ブリッジモジュールとの間のデータ転送の正常／異常を判定する第２判定手段とをさらにそなえて構成されていることを特徴とする、付記１記載のモジュール間データ転送確認機能を有する装置。
【００７４】
（付記４）  該第１判定手段により異常判定がなされた場合、該記述子生成手段が、詳細エラー情報を該ブリッジモジュールから該第１モジュールへ読み出すために必要なエラー読出情報を含むエラー読出記述子を自動生成するとともに、該制御手段が、該記述子生成手段によって自動生成された前記エラー読出記述子における前記エラー読出情報に従って、該ブリッジモジュールからの前記詳細エラー情報の読出を制御することを特徴とする、付記３記載のモジュール間データ転送確認機能を有する装置。
【００７５】
（付記５）該第１モジュールが、
該第１モジュールを統括的に管理する第１処理部と、
該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とをそなえて構成され、
該第１処理部が、該記述子設定手段および第２判定手段としての機能を果たすとともに、
該第２処理部が、該記述子生成手段，該制御手段および第１判定手段としての機能を果たすことを特徴とする、付記４記載のモジュール間データ転送確認機能を有する装置。
【００７６】
（付記６）  該第２判定手段により異常判定がなされた場合、該第１処理部が、該ブリッジモジュールから読み出された前記詳細エラー情報を該第２処理部から取得し、その詳細エラー情報に基づいてデータ再送を該第２処理部に対して指示することを特徴とする、付記５記載のモジュール間データ転送確認機能を有する装置。
（付記７）  該第１モジュールから複数のデータブロックを該第２モジュールへ連続的に転送する場合、該記述子設定手段が、前記複数のデータブロックのうちの最後のデータブロックを転送するためのデータ転送記述子における前記データ転送確認フラグのみをオンに設定することを特徴とする、付記１〜付記６のいずれか一項に記載のモジュール間データ転送確認機能を有する装置。
【００７７】
（付記８）  ディスク装置とホストとの間にそなえられ該ホストの該ディスク装置に対するアクセスを制御するストレージ制御装置であって、
該ディスク装置とのインターフェイスを制御するディスクインターフェイスモジュールと、
該ホストとのインターフェイスを制御するホストインターフェイスモジュールと、
本装置全体を統括的に管理する管理モジュールと、
インターフェイスバスを介して該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールをそれぞれ接続されこれらの該ディスクインターフェイスモジュール，該ホストインターフェイスモジュールおよび該管理モジュールの相互間をデータ転送可能に接続するブリッジモジュールと、
該ディスクインターフェイスモジュールもしくは該ホストインターフェイスモジュールが該インターフェイスバスを用い該ブリッジモジュール経由で該管理モジュールへのデータ転送を行なった際に該ブリッジモジュールから該管理モジュールへのデータ転送を確認するための確認コードを該ブリッジモジュールに設定する確認コード設定手段とをそなえるとともに、
該ディスクインターフェイスモジュールおよび該ホストインターフェイスモジュールのうちの少なくとも一方（以下、単にインターフェイスモジュールという）が、
該管理モジュールへのデータ転送に必要な転送情報とデータ転送確認フラグとを含むデータ転送記述子を設定する記述子設定手段と、
前記データ転送確認フラグがオンの場合、前記確認コードを該ブリッジモジュールから該インターフェイスモジュールへ読み出すために必要な確認コード読出情報を含むデータ転送確認記述子を、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に基づいて自動的に生成する記述子生成手段と、
該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に従って該管理モジュールへのデータ転送を制御するとともに、前記データ転送確認フラグがオンの場合、該管理モジュールへのデータ転送の終了後に、該記述子生成手段によって自動生成された前記データ転送確認記述子における前記確認コード読出情報に従って、該ブリッジモジュールからの前記確認コードの読出を制御する制御手段とをそなえて構成されていることを特徴とする、ストレージ制御装置。
【００７８】
（付記９）  該インターフェイスモジュールが、
該インターフェイスモジュールを統括的に管理する第１処理部と、
該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とをそなえて構成され、
該第１処理部が、該記述子設定手段としての機能を果たすとともに、
該第２処理部が、該記述子生成手段および該制御手段としての機能を果たすことを特徴とする、付記８記載のストレージ制御装置。
【００７９】
（付記１０）  該インターフェイスモジュールが、
該ブリッジモジュールから読み出された前記確認コードに基づいて該ブリッジモジュールと該管理モジュールとの間のデータ転送の正常／異常を判定する第１判定手段と、
該インターフェイスモジュールと該ブリッジモジュールとの間のデータ転送の正常／異常を判定する第２判定手段とをさらにそなえて構成されていることを特徴とする、請求の範囲第８項に記載のストレージ制御装置。
【００８０】
（付記１１）  該第１判定手段により異常判定がなされた場合、該記述子生成手段が、詳細エラー情報を該ブリッジモジュールから該インターフェイスモジュールへ読み出すために必要なエラー読出情報を含むエラー読出記述子を自動生成するとともに、該制御手段が、該記述子生成手段によって自動生成された前記エラー読出記述子における前記エラー読出情報に従って、該ブリッジモジュールからの前記詳細エラー情報の読出を制御することを特徴とする、付記１０記載のストレージ制御装置。
【００８１】
（付記１２）  該インターフェイスモジュールが、
該インターフェイスモジュールを統括的に管理する第１処理部と、
該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とをそなえて構成され、
該第１処理部が、該記述子設定手段および第２判定手段としての機能を果たすとともに、
該第２処理部が、該記述子生成手段，該制御手段および第１判定手段としての機能を果たすことを特徴とする、付記１１記載のストレージ制御装置。
【００８２】
（付記１３）  該第２判定手段により異常判定がなされた場合、該第１処理部が、該ブリッジモジュールから読み出された前記詳細エラー情報を該第２処理部から取得し、その詳細エラー情報に基づいてデータ再送を該第２処理部に対して指示することを特徴とする、付記１２記載のストレージ制御装置。
（付記１４）  該インターフェイスモジュールから複数のデータブロックを該管理モジュールへ連続的に転送する場合、該記述子設定手段が、前記複数のデータブロックのうちの最後のデータブロックを転送するためのデータ転送記述子における前記データ転送確認フラグのみをオンに設定することを特徴とする、付記８〜付記１３のいずれか一項に記載のストレージ制御装置。
【００８３】
（付記１５）  ディスク装置とホストとの間にそなえられ該ホストの該ディスク装置に対するアクセスを制御するストレージ制御装置であって、該ディスク装置もしくは該ホストとのインターフェイスを制御するインターフェイスモジュールと、本ストレージ制御装置全体を統括的に管理する管理モジュールと、インターフェイスバスを介して該インターフェイスモジュールおよび該管理モジュールをそれぞれ接続されこれらの該インターフェイスモジュールおよび該管理モジュールの相互間をデータ転送可能に接続するブリッジモジュールと、該インターフェイスモジュールが該インターフェイスバスを用い該ブリッジモジュール経由で該管理モジュールへのデータ転送を行なった際に該ブリッジモジュールから該管理モジュールへのデータ転送を確認するための確認コードを該ブリッジモジュールに設定する確認コード設定手段とをそなえて構成されたストレージ制御装置において用いられる上記インターフェイスモジュールであって、
該管理モジュールへのデータ転送に必要な転送情報とデータ転送確認フラグとを含むデータ転送記述子を設定する記述子設定手段と、
前記データ転送確認フラグがオンの場合、前記確認コードを該ブリッジモジュールから本インターフェイスモジュールへ読み出すために必要な確認コード読出情報を含むデータ転送確認記述子を、該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に基づいて自動的に生成する記述子生成手段と、
該記述子設定手段によって設定された前記データ転送記述子における前記転送情報に従って該管理モジュールへのデータ転送を制御するとともに、前記データ転送確認フラグがオンの場合、該管理モジュールへのデータ転送の終了後に、該記述子生成手段によって自動生成された前記データ転送確認記述子における前記確認コード読出情報に従って、該ブリッジモジュールからの前記確認コードの読出を制御する制御手段とをそなえて構成されていることを特徴とする、ストレージ制御装置用インターフェイスモジュール。
【００８４】
（付記１６）  本インターフェイスモジュールを統括的に管理する第１処理部と、該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とがそなえられ、
該第１処理部が、該記述子設定手段としての機能を果たすとともに、該第２処理部が、該記述子生成手段および該制御手段としての機能を果たすことを特徴とする、付記１５記載のストレージ制御装置用インターフェイスモジュール。
【００８５】
（付記１７）  該ブリッジモジュールから読み出された前記確認コードに基づいて該ブリッジモジュールと該管理モジュールとの間のデータ転送の正常／異常を判定する第１判定手段と、
本インターフェイスモジュールと該ブリッジモジュールとの間のデータ転送の正常／異常を判定する第２判定手段とをさらにそなえて構成されていることを特徴とする、付記１５記載のストレージ制御装置用インターフェイスモジュール。
【００８６】
（付記１８）  該第１判定手段により異常判定がなされた場合、該記述子生成手段が、詳細エラー情報を該ブリッジモジュールから本インターフェイスモジュールへ読み出すために必要なエラー読出情報を含むエラー読出記述子を自動生成するとともに、該制御手段が、該記述子生成手段によって自動生成された前記エラー読出記述子における前記エラー読出情報に従って、該ブリッジモジュールからの前記詳細エラー情報の読出を制御することを特徴とする、付記１７記載のストレージ制御装置用インターフェイスモジュール。
【００８７】
（付記１９）  本インターフェイスモジュールを統括的に管理する第１処理部と、該第１処理部からの指示に応じて該インターフェイスバスを介してデータ転送を行なう第２処理部とがそなえられ、
該第１処理部が、該記述子設定手段および第２判定手段としての機能を果たすとともに、該第２処理部が、該記述子生成手段，該制御手段および第１判定手段としての機能を果たすことを特徴とする、付記１８記載のストレージ制御装置用インターフェイスモジュール。
【００８８】
（付記２０）  該第２判定手段により異常判定がなされた場合、該第１処理部が、該ブリッジモジュールから読み出された前記詳細エラー情報を該第２処理部から取得し、その詳細エラー情報に基づいてデータ再送を該第２処理部に対して指示することを特徴とする、付記１９記載のストレージ制御装置用インターフェイスモジュール。
（付記２１）  本インターフェイスモジュールから複数のデータブロックを該管理モジュールへ連続的に転送する場合、該記述子設定手段が、前記複数のデータブロックのうちの最後のデータブロックを転送するためのデータ転送記述子における前記データ転送確認フラグのみをオンに設定することを特徴とする、付記１５〜付記２０のいずれか一項に記載のストレージ制御装置用インターフェイスモジュール。
【産業上の利用可能性】
【００８９】
以上のように、本発明によれば、データ転送確認フラグを用いてデータ転送確認記述子の自動生成・実行が可能になるので、従来行なわれていた確認コード読出用ディスクリプタの設定処理を省略することができ、ＣＰＵ負荷が大幅に低減されるとともにＰＣＩアクセス数が大幅に削減され、入出力性能が大幅に向上することになる。
従って、本発明は、例えばホストの物理デバイス（磁気ディスク装置等）に対するアクセスを制御するストレージ制御装置および同装置用インターフェイスモジュールに用いて好適であり、その有用性は極めて高いものと考えられる。
【図面の簡単な説明】
【００９０】
【図１】本発明の一実施形態としてのストレージ制御装置用インターフェイスモジュールの構成を示すブロック図である。
【図２】本実施形態のストレージ制御装置の正常時動作を説明するためのシーケンス図である。
【図３】本実施形態のストレージ制御装置の異常時動作を説明するためのシーケンス図である。
【図４】一般的なストレージ装置（ストレージ制御装置）および本実施形態のストレージ装置（ストレージ制御装置）の構成を示すブロック図である。
【図５】一般的なストレージ制御装置用インターフェイスモジュールの構成を示すブロック図である。
【図６】一般的なストレージ制御装置の正常時動作を説明するためのシーケンス図である。
【図７】一般的なストレージ制御装置の異常時動作を説明するためのシーケンス図である。
【符号の説明】
【００９１】
１Ａ    ストレージ装置
２    ディスクエンクロージャ
２ａ    ディスクユニット（ディスク装置，物理デバイス）
３Ａ    ストレージ制御装置
４    サーバ（ホスト）
１０Ａ    ディスクインターフェイスモジュール（第１モジュール）
１１Ａ    ＣＰＵ（第１処理部）
１１１    ディスクリプタ設定手段（記述子設定手段）
１１２    第２判定手段
１２    チップセット
１３    メモリ
１４Ａ    インターフェイスモジュール−ＬＳＩ（第２処理部，第２転送処理部）
１４１    ディスクリプタ生成手段（記述子生成手段）
１４２    制御手段（ＤＭＡＣ）
１４３    第１判定手段
１５    データバッファ
１６    ファイバチャネルチップ（第１転送処理部）
１７，１８    ＰＣＩバス（インターフェイスバス）
２０Ａ    ホストインターフェイスモジュール（第１モジュール）
３０    管理モジュール（第２モジュール）
４０Ａ    ＰＣＩブリッジモジュール（ブリッジモジュール）
４１    確認コード設定手段
５０    ファイバチャネルインターフェイスバス
５１，５２，５３    ＰＣＩバス（インターフェイスバス）
５４    ディスクインターフェイスバス
【図１】
2005070992.tif 000003
【図２】
2005070992.tif 000004
【図３】
2005070992.tif 000005
【図４】
2005070992.tif 000006
【図５】
2005070992.tif 000007
【図６】
2005070992.tif 000008
【図７】
2005070992.tif 000009