(57)【要約】【課題】高信頼性を維持しながら、高い転送効率（性能）と低コスト化を実現するディスク制御装置を提供すること。【解決手段】ホストコンピュータ又はディスクドライブ装置との接続インターフェースを持つチャネルアダプタ１００と、ホストコンピュータとディスクドライブ装置の間で転送されるデータを一時的に格納するメモリアダプタ３００と、チャネルアダプタとメモリアダプタの動作を制御するプロセッサアダプタ２００と、チャネルアダプタ、メモリアダプタ、プロセッサアダプタの間を互いに接続して内部ネットワークを構成するスイッチアダプタ４００と、を備え、チャネルアダプタ等の各アダプタは、内部ネットワークの通信プロトコル制御を行うＤＭＡコントローラ１２０，２２０，３２０，４２０を有し、各アダプタに設けられたＤＭＡコントローラの間でパケット多重通信を行うこと。【選択図】図１
2005228245.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータ又はディスクドライブ装置との接続インターフェースを持つチャネルアダプタと、前記ホストコンピュータと前記ディスクドライブ装置の間で転送されるデータを一時的に格納するメモリアダプタと、前記チャネルアダプタと前記メモリアダプタの動作を制御するプロセッサアダプタと、前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタの間を互いに接続して内部ネットワークを構成するスイッチアダプタと、を備え、
前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタ、及び前記スイッチアダプタは、前記内部ネットワークの通信プロトコル制御を行うＤＭＡコントローラを有し、
各アダプタに設けられた前記ＤＭＡコントローラの間でパケット多重通信を行う
ことを特徴とするディスク制御装置。
【請求項２】
請求項１において、
前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタ及び前記スイッチアダプタは、それぞれ複数のＤＭＡコントローラと１つ以上のデータリンクエンジンを有し、
複数の前記ＤＭＡコントローラは前記データリンクエンジンを共有しており、複数の前記ＤＭＡコントローラは前記データリンクエンジンを介してＤＭＡ転送を同時に実行する
ことを特徴とするディスク制御装置。
【請求項３】
請求項１又は２において、
前記ＤＭＡコントローラは、複数の受信ＦＩＦＯバッファと複数の送信ＦＩＦＯバッファを持ち、
複数の前記受信ＦＩＦＯバッファの間で受信データ間の競合が調停され、複数の前記送信ＦＩＦＯバッファの間で送信データ間の競合が調停される
ことを特徴とするディスク制御装置。
【請求項４】
請求項１又は２において、
前記ＤＭＡコントローラは、受信ＦＩＦＯバッファと送信ＦＩＦＯバッファを持ち、
複数の前記ＤＭＡコントローラに属するそれぞれの前記受信ＦＩＦＯバッファの間で受信データ間の競合が調停され、複数の前記ＤＭＡコントローラに属するそれぞれの前記送信ＦＩＦＯバッファの間で送信データ間の競合が調停される
ことを特徴とするディスク制御装置。
【請求項５】
ホストコンピュータ又はディスクドライブ装置との接続インターフェースを持つチャネルアダプタと、前記ホストコンピュータと前記ディスクドライブ装置の間で転送されるデータを一時的に格納するメモリアダプタと、前記チャネルアダプタと前記メモリアダプタの動作を制御するプロセッサアダプタと、前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタの間を互いに接続して内部ネットワークを構成するスイッチアダプタと、を備え、
前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタ及び前記スイッチアダプタは、それぞれ、前記内部ネットワークの通信プロトコル制御を行う複数のＤＭＡコントローラと、前記ＤＭＡコントローラによって共有される１つ以上のデータリンクエンジンと、を有し、
前記ＤＭＡコントローラが複数の受信ＦＩＦＯバッファと送信ＦＩＦＯバッファを有することで、１つのデータリンクエンジンに対して複数のバッファを対応させ、
複数の前記ＤＭＡコントローラに属するそれぞれの前記受信ＦＩＦＯバッファの間で受信データ間の競合が調停され、複数の前記ＤＭＡコントローラに属するそれぞれの前記送信ＦＩＦＯバッファの間で送信データ間の競合が調停されることで、複数のバッファ間に優先度を設け、
１つのデータリンクエンジンに制御系の内部ネットワークとデータ系の内部ネットワークを混在させて、各アダプタに設けられた前記ＤＭＡコントローラの間でパケット多重通信を行う
ことを特徴とするディスク制御装置。
【請求項６】
ホストコンピュータ又はディスクドライブ装置との接続インターフェースを持つチャネルアダプタと、前記ホストコンピュータと前記ディスクドライブ装置の間で転送されるデータを一時的に格納するメモリアダプタと、前記チャネルアダプタと前記メモリアダプタの動作を制御するプロセッサアダプタと、前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタの間を互いに接続して内部ネットワークを構成するスイッチアダプタと、を備え、
前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタ、及び前記スイッチアダプタは、前記内部ネットワークの通信プロトコル制御を行うＤＭＡコントローラを有するディスク制御装置であって、
各アダプタの前記ＤＭＡコントローラ間で転送されるパケットは、転送先のＤＭＡコントローラを指定するアドレスフィールドと、転送元のＤＭＡコントローラを指定するアドレスフィールドと、１つのＤＭＡ転送を複数のパケットに分割して転送する際の転送順序を管理するＤＭＡシーケンスフィールドと、を有し、
前記ＤＭＡシーケンスフィールドは、１つのＤＭＡ転送内においてユニークなタスクＩＤを持つ
ことを特徴とするディスク制御装置。
【請求項７】
請求項６において、
各アダプタのＤＭＡコントローラ間で転送されるパケットは、前記パケットの中継ＤＭＡコントローラを指定する第１のアドレスと、宛先ＤＭＡコントローラを指定する第２及び第３のアドレスと、前記宛先ＤＭＡコントローラに転送すべき転送データと、を持つ
ことを特徴とするディスク制御装置。
【請求項８】
請求項６又は７において、
前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタ及び前記スイッチアダプタは、それぞれ複数のＤＭＡコントローラと１つ以上のデータリンクエンジンを有し、
各アダプタのＤＭＡコントローラ間で転送されるパケットは、前記データリンクエンジンに対する制御情報を含んだルーティング部と、前記ＤＭＡコントローラに対する制御情報を含んだコマンド部と、それ以外のデータを含んだデータ部と、から構成され、
前記ルーティング部は当該ルーティング部内の転送エラーを保証するためのルーティング部エラーチェックコードを含み、前記コマンド部は当該コマンド部内の転送エラーを保証するためのコマンド部エラーチェックコードを含み、前記データ部は当該データ部内の転送エラーを保証するためのデータ部エラーチェックコードを含む
ことを特徴とするディスク制御装置。
【請求項９】
請求項６、７又は８において、
前記転送元のアドレスフィールドで指定されたＤＭＡコントローラから、前記転送先のアドレスフィールドで指定されたＤＭＡコントローラに対して、分割ＤＭＡ転送を行い、
前記転送先アドレスフィールドで指定されたＤＭＡコントローラは、前記転送元アドレスフィールドで指定されたＤＭＡコントローラに対して、前記分割したＤＭＡ転送に対応した分割終了ステータスを返送し、
前記分割終了ステータスは、前記分割したＤＭＡ転送に含まれていたＤＭＡシーケンスフィールドの情報を有し、
前記転送元アドレスフィールドで指定されたＤＭＡコントローラは、前記分割終了ステータスに含まれている前記ＤＭＡシーケンスフィールドの情報を確認することによって前記分割したＤＭＡ転送の転送順序の確認を行う
ことを特徴とするディスク制御装置。
【請求項１０】
請求項６ないし９のいずれか１つの請求項において、
前記ＤＭＡコントローラ間で転送されるパケットが、前記スイッチアダプタ内のＤＭＡコントローラを指定する第１のアドレスと、宛先ＤＭＡコントローラを指定する第２及び第３のアドレスと、前記宛先ＤＭＡコントローラに転送すべき転送データと、を有する場合、
前記スイッチアダプタ内のＤＭＡコントローラにおいて、前記第２のアドレスを前記転送先のアドレスフィールドに持ち且つ前記転送データを含んだパケットと、前記第３のアドレスを前記転送先のアドレスフィールドに持ち且つ前記転送データを含んだパケットと、を生成する
ことを特徴とするディスク制御装置。
【請求項１１】
請求項６又は７において、
各アダプタのＤＭＡコントローラ間で転送されるパケットは、パケット制御情報を含んだヘッダ部と、それ以外のデータを含んだデータ部と、から構成され、
前記ヘッダ部は当該ヘッダ部内の転送エラーを保証するためのヘッダ部エラーチェックコードを含み、前記データ部は当該データ部内の転送エラーを保証するためのデータ部エラーチェックコードを含み、
前記スイッチアダプタ内のＤＭＡコントローラは、ヘッダ部エラーチェックコードが正常なパケットのみを通過させる
ことを特徴とするディスク制御装置。
【請求項１２】
請求項１において、
前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタ及び前記スイッチアダプタは、複数のＤＭＡコントローラと複数のデータリンクエンジンを有し、
前記ＤＭＡコントローラが前記データリンクエンジンを介してＤＭＡ転送を実行する際、１つのＤＭＡ転送内では同一のデータリンクエンジンを介して転送が行われる
ことを特徴とするディスク制御装置。
【請求項１３】
ホストコンピュータ又はディスクドライブ装置との接続インターフェースを持つ一のチャネルアダプタと、前記ホストコンピュータと前記ディスクドライブ装置の間で転送されるデータを一時的に格納する一のメモリアダプタと、前記一のチャネルアダプタと前記一のメモリアダプタの動作を制御する一のプロセッサアダプタと、前記一のチャネルアダプタ、前記一のメモリアダプタ、前記一のプロセッサアダプタの間を互いに接続して内部ネットワークを構成する一のスイッチアダプタと、を備え、前記一のチャネルアダプタ、前記一のメモリアダプタ、前記一のプロセッサアダプタ、及び前記一のスイッチアダプタは、前記内部ネットワークの通信プロトコル制御を行うＤＭＡコントローラを有し、各アダプタに設けられた前記ＤＭＡコントローラの間でパケット多重通信を行う一のディスク制御装置と、
前記一のディスク制御装置に備えられた前記一のチャネルアダプタ、前記一のメモリアダプタ、前記一のプロセッサアダプタ、及び前記一のスイッチアダプタと同様の構成である他のディスク制御装置と、を設け、
前記一のスイッチアダプタは、前記一の各アダプタに接続されるとともに前記他の各アダプタにも接続され、
前記他のスイッチアダプタは、前記他の各アダプタに接続されるとともに前記一の各アダプタにも接続される
ことを特徴とするディスク制御装置。
【請求項１４】
請求項１３において、
前記一のスイッチアダプタ及び／又は前記他のスイッチアダプタの拡張ポートに対して、更に他のスイッチアダプタの拡張ポートを接続する
ことを特徴とするディスク制御装置。
【請求項１５】
ホストコンピュータ又はディスクドライブ装置との接続インターフェースを持つチャネルアダプタと、前記ホストコンピュータと前記ディスクドライブ装置の間で転送されるデータを一時的に格納するメモリアダプタと、前記チャネルアダプタと前記メモリアダプタの動作を制御するプロセッサアダプタと、前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタの間を互いに接続して内部ネットワークを構成するスイッチアダプタと、を備え、
前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタ、及び前記スイッチアダプタは、前記内部ネットワークの通信プロトコル制御を行うＤＭＡコントローラと、前記内部ネットワークとの間でＤＭＡ転送を実行するデータリンクエンジンと、を有し、
各アダプタに設けられた前記ＤＭＡコントローラの間で転送されるパケットは、転送先のＤＭＡコントローラを指定するアドレスフィールドと、転送元のＤＭＡコントローラを指定するアドレスフィールドと、１つのＤＭＡ転送を複数パケットに分割して転送する際の転送順序を管理するＤＭＡシーケンスフィールドと、を備える
ことを特徴とするディスク制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のディスクドライブ装置を制御するためのディスク制御装置に係り、特に、コネクションレス型多重通信を用いた高信頼のディスク制御装置に関する。
【背景技術】
【０００２】
半導体記憶装置を記憶媒体とするコンピュータの主記憶の入出力性能に比べて、磁気ディスクドライブを記憶媒体とするディスクサブシステム（以下「サブシステム」という）の入出力性能は３〜４桁程度小さく、従来からこの差を縮めること、すなわちサブシステムの入出力性能を向上させる努力がなされている。サブシステムの入出力性能を向上させるための１つの方法として、データを複数の磁気ディスクドライブ装置に格納するディスク制御装置が用いられている。
【０００３】
例えば、図１６に示した、従来より知られているディスク制御装置は、ホストコンピュータ又はディスクドライブ装置との間のデータ転送を実行する複数のチャネルアダプタ２１００と、ホストコンピュータとディスクドライブ装置との間で転送されるデータを一時的に格納するキャッシュメモリアダプタ２３００と、ディスク制御装置の動作に関する制御情報を格納する制御メモリアダプタ２３０１と、キャッシュメモリアダプタとチャネルアダプタとを接続するためのスイッチアダプタ２４００と、を備えている。チャネルアダプタ２１００とキャッシュメモリアダプタ２３００との間は、複数のスイッチアダプタ２４００を通してデータ系内部ネットワークにより接続される。チャネルアダプタ２１００と制御メモリアダプタ２３０１との間は、制御系内部ネットワークで接続される。このネットワーク接続により、キャッシュメモリアダプタ２３００および制御メモリアダプタ２３０１は全てのチャネルアダプタ２１００からアクセス可能な構成となっている。
【０００４】
チャネルアダプタ２１００は、データ系内部ネットワークとのパケット転送を実行するためのデータリンクエンジン（ＤＬＥ）２１１０と、データ系内部ネットワークとのＤＭＡ転送を実行するためのＤＭＡコントローラ（ＤＭＡＣ）２１２０と、ＤＬＥ２１１０とＤＭＡＣ２１２０とを接続するセレクタ２１１５と、ホストコンピュータ又はディスクドライブ装置との通信を制御するプロトコルエンジン（ＰＥ）２１３０と、ホストコンピュータ又はディスクドライブ装置と接続するためのポート２１４０と、制御系内部ネットワークとのパケット転送を実行するためのＤＬＥ２２１０と、制御系内部ネットワークとのＤＭＡ転送を実行するためのＤＭＡＣ２２２０と、ディスク制御装置の動作をコントロールするマイクロプロセッサ（ＭＰ）２２３０と、ＤＭＡＣ２１２０とＰＥ２１３０又はＭＰ２２３０を接続するセレクタ２１２５と、を有している。
【０００５】
キャッシュメモリアダプタ２３００と制御メモリアダプタ２３０１は、データ系内部ネットワーク又は制御系内部ネットワークとのパケット転送を実行するためのＤＬＥ２３１０と、各内部ネットワークとのＤＭＡ転送を実行するためのＤＭＡＣ２３２０と、メモリコントローラ（ＭＣ）２３３０と、メモリモジュール（ＭＭ）２３４０と、ＤＬＥ２３１０とＤＭＡＣ２３２０を接続するセレクタ２３１５と、ＤＭＡＣ２３２０とＭＣ２３３０を接続するセレクタ２３２５と、を有している。
【０００６】
スイッチアダプタ２４００は、データ系内部ネットワークとのパケット転送を実行するＤＬＥ２４１０と、データ系内部ネットワークでのＤＭＡ転送を実行するＤＭＡＣ２４２０と、スイッチの複数のＤＭＡＣ２４２０間を接続するためのセレクタ２４３０と、を有している。
【０００７】
各アダプタ間のデータ転送は、それぞれのアダプタ内のＤＭＡＣが連携して動作することで実現される。次に、一例として、ホストコンピュータからディスク制御装置内のキャッシュメモリアダプタ２３００にデータをＤＭＡ転送する場合の動作概要について、図１８及び図１９を用いて説明する。
【０００８】
ホストコンピュータから接続ポート２１４０を介してＷＲＩＴＥリクエストが発行された場合、ＭＰ２２３０は、ＷＲＩＴＥデータを一時的に格納するためのキャッシュメモリアダプタの領域を計算し、その結果をＤＭＡリスト２６００としてチャネルアダプタ内のＤＭＡＣ２１２０に通知する。ＤＭＡＣ２１２０は、ＤＭＡ転送に必要なキャッシュメモリアダプタまでのパスを確保するためのリクエスト２６０５を発行する。ＷＲＩＴＥデータは、信頼性向上のため、複数のキャッシュメモリアダプタ（ＤＭＡＣ２３２１と２３２２をそれぞれに有する２つのキャッシュメモリアダプタ）に格納されるので、複数のパス確保リクエストが発行される。必要なパスが確保できたなら、ＤＭＡＣ２１２０は、ＤＭＡリスト２６００にしたがってＷＲＩＴＥデータを、中継ポイントにあるスイッチのＤＭＡＣ２４２０に向けて転送する。この際、ホストコンピュータからのＷＲＩＴＥデータは、あらかじめ決められている適当な大きさに分割されて転送される。
【０００９】
スイッチアダプタ２４００のＤＭＡＣ２４２０は、チャネルアダプタ２１００のＤＭＡＣ２１２０から送られてきた転送リクエストから、複数のキャッシュメモリアダプタのＤＭＡＣ２３２１、２３２２に対する分割ＤＭＡリクエスト２６１１、２６１２を生成する。ＤＭＡＣ２３２１、２３２２は、リクエスト２６１１、２６１２に対して、リクエスト終了報告である分割ステータス２６２１、２６２２を返す。チャネルアダプタのＤＭＡＣ２１２０は、分割ステータス２６２１、２６２２を確認してから、次の分割ＤＭＡリクエストを発行する。すべての分割ＤＭＡリクエストに対する分割ステータスが返ってきたら、ＤＭＣＡ２１２０は、確保したキャッシュメモリアダプタへのパスの開放リクエスト２６２５を発行し、ＭＰ２２３０に完了ステータス２６３０を返すことで、ＤＭＡリスト２６００の処理が完了する。なお、ＭＰ２２３０は、上記のＤＭＡ転送中、必要に応じて制御メモリアダプタにアクセスするが、その際、チャネルアダプタ２１００のＤＭＡＣ２２２０と制御メモリアダプタ２３０１のＤＭＡＣ２３２０との間で同様のＤＭＡ転送が実行される。
【００１０】
図１７は、上述のＤＭＡ転送において使用されるパケットの構造を示している。コマンドパケット２５２０は、転送先ＤＭＡＣを示すアドレスフィールド２５２１と、転送元ＤＭＡＣを示すアドレスフィールド２５２２と、転送データを格納すべきメモリアドレスフィールド２５２３、２５２４と、エラーチェックコード２５２５と、を有している。
【００１１】
パス確保リクエスト２６０５は、コマンドパケット２５２０を用いて行われる。また、データパケット２５３０は、転送先ＤＭＡＣを示すアドレスフィールド２５３１と、転送元ＤＭＡＣを示すアドレスフィールド２５３２と、転送データ２５３３と、エラーチェックコード２５３５と、を有している。分割ＤＭＡリクエストはデータパケット２５３０を用いて実行される。
【００１２】
図２０は、パスリクエストコマンド２６０５と分割ＤＭＡデータリクエスト２６１０の転送プロトコルを示している。障害処理を簡易化するために、実行はすべて非多重通信で行われる。すなわち、分割ＤＭＡリクエスト２６１０に対する分割ステータス２６２０が返送されたのを確認した上で、次の分割ＤＭＡリクエスト２６１０が発行される。
【００１３】
ここで、図１６〜図２０を用いて説明した上述の背景技術と同様な技術が、特許文献１及び特許文献２に記載されている。
【特許文献１】特開２００３−８４９１９
【特許文献２】特開平１１−３１２１２６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上述したように、特許文献１と２に記載されたような従来のディスク制御装置内のＤＭＡ転送では、その実装の容易さから、コネクション型の非多重通信が使われていた。すなわち、ＤＭＡＣが、ＤＭＡ転送を実行する前に必要なパスを確保しておき、ＤＭＡ転送中においてはパスを占有していた（コネクション型通信）。さらに、直前の分割ＤＭＡ転送に対する分割ステータスを確認するまでは、次の分割ＤＭＡ転送を実行することができなかった（非多重通信）。
【００１５】
そのために、従来のディスク制御装置では、内部ネットワークパスの使用効率が低く、そのことが性能改善の阻害要因となっていた。また、限定されたパス使用効率で必要なパス帯域を確保するという条件を満たすために、データ系内部ネットワークと制御系内部ネットワークをそれぞれ設置するなどの複雑な内部ネットワーク構造が必要となり、コスト高の要因となっていた。
【００１６】
本発明の目的は、上記従来技術の課題を改善し、従来と同等の高信頼性を維持しながら、高い転送効率（性能）を実現し、さらに、低コスト化を実現するためのコネクションレス型多重通信を用いたディスク制御装置を提供することにある。
【課題を解決するための手段】
【００１７】
前記課題を解決するために、本発明は主として次のような構成を採用する。  
ホストコンピュータ又はディスクドライブ装置との接続インターフェースを持つチャネルアダプタと、前記ホストコンピュータと前記ディスクドライブ装置の間で転送されるデータを一時的に格納するメモリアダプタと、前記チャネルアダプタと前記メモリアダプタの動作を制御するプロセッサアダプタと、前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタの間を互いに接続して内部ネットワークを構成するスイッチアダプタと、を備え、
前記チャネルアダプタ、前記メモリアダプタ、前記プロセッサアダプタ、及び前記スイッチアダプタは、前記内部ネットワークの通信プロトコル制御を行うＤＭＡコントローラを有し、
各アダプタに設けられた前記ＤＭＡコントローラの間でパケット多重通信を行う構成とする。
【発明の効果】
【００１８】
本発明によれば、コネクションレス型多重通信を適用することによって、１つの分割ＤＭＡ転送の中だけでなく（後述するが、図１１に示す分割ＤＭＡと分割ステータスの転送状況）、複数のＤＭＡ転送の間でも（図１１に示す分割ＤＭＡ６１５と分割ＤＭＡ６１６の交互の転送状況）、多重化することが可能となり、パス利用効率が飛躍的に改善されて、従来は別々に設置していた制御系内部ネットワークとデータ系内部ネットワークを別設する必然性がなくなる。そのため、キャッシュメモリアダプタと制御メモリアダプタを統合してメモリアダプタとし、さらに、パス利用効率の改善によってパス使用制限が緩和されるのでシャネルアダプタ内のプロセッサをプロセッサアダプタとしてチャネルアダプタから独立させることが可能となる。これにより、高性能で、拡張性にすぐれ、低コストなディスク制御装置を構成することが可能となる。
【発明を実施するための最良の形態】
【００１９】
本発明の実施形態に係るディスク制御装置について、図１〜図１５を参照しながら以下詳細に説明する。
【００２０】
図１は、本発明の実施形態に係るディスク制御装置の全体構成を示す図である。本実施形態に係るディスク制御装置は、ホストコンピュータ又はディスクドライブ装置との接続インターフェース１４０を持つチャネルアダプタ１００と、ホストコンピュータとディスクドライブ装置の間で転送されるデータを一時的に格納するメモリアダプタ３００と、チャネルアダプタ１００及びメモリアダプタ３００の動作を制御するプロセッサアダプタ２００と、チャネルアダプタ１００、メモリアダプタ３００、プロセッサアダプタ２００の間を接続して内部ネットワークを構成するためのスイッチアダプタ４００と、を備えている。
【００２１】
また、チャネルアダプタ１００、プロセッサアダプタ２００、メモリアダプタ３００、スイッチアダプタ４００が、内部ネットワークの通信プロトコル制御を行うＤＭＡコントローラ（ＤＭＡＣ）１２０、２２０、３２０、４２０をそれぞれ有している。各ＤＭＡＣは、データリンクエンジン（ＤＬＥ）１１０、２１０、３１０、４１０を介して、ＤＭＡ転送を実行する。これらのＤＭＡコントローラ間では、図１１に示すコネクションレス型パケット多重通信が行われる。
【００２２】
図１１は本発明の実施形態にディスク制御装置に用いられる多重通信転送プロトコルを示す図である。図１１において、或る分割ＤＭＡリクエストに対する分割ステータスの確認を待たずに、次の分割ＤＭＡリクエストが発行されている（多重通信、すなわち、１つの分割ＤＭＡ転送の中での多重通信）。さらに、ＤＭＡ１とＤＭＡ２の間のＤＭＡ転送とＤＭＡ３とＤＭＡ４との間のＤＭＡ転送が同じＤＬＥ１−ＤＬＥ２間のパスを共有して行われている（コネクションレス型通信）。図１１の例示で云うと、分割ＤＭＡ６１５と分割ＤＭＡ６１６がＤＬＥ１−ＤＬＥ２間のパスを共有して交互に転送されて多重通信を行っている。そして、後述する図８の説明で明らかになるように、宛先とデータと分割ＤＭＡリクエストの順序制御を行う情報（ＴＡＳＫ  ＩＤ）を含んだパケット構造を採用することによって、上述したコネクションレス型の多重通信を行うことが可能となるのである。
【００２３】
図１及び図１１に示す構成例によれば、コネクションレス型多重通信を適用することによって、１つの分割ＤＭＡ転送の中だけでなく、複数のＤＭＡ転送の間でも多重化することが可能となり、パス利用効率が飛躍的に改善されて（パスに時間間隔を空けることなくデータ転送できるのでパス効率が向上する）、従来技術で設けられていた制御系内部ネットワークとデータ系内部ネットワークを別設する必然性がなくなる。そのため、キャッシュメモリアダプタと制御メモリアダプタを統合してメモリアダプタとし、さらに、パスの利用制限が緩和されたことによってプロセッサをプロセッサアダプタとしてチャネルアダプタから独立させることが可能となる。これにより、より拡張性、柔軟性にすぐれた低コストのディスク制御装置を構成することが可能となる。
【００２４】
次に、図５は本発明の実施形態に係るディスク制御装置におけるプロセッサアダプタの具体的構成例を示す図であり、図２はプロセッサアダプタに用いられるデータリンクエンジンの具体的構成例を示す図である。なお、図２のデータリンクエンジン（ＤＬＥ）はプロセッサアダプタに限らず、他のアダプタにも使用される構成例である。
【００２５】
図５に示すプロセッサアダプタ２００は、マイクロプロセッサ（ＭＰ）２３０と複数のＤＭＡコントローラ２２０と１つ以上のデータリンクエンジン（ＤＬＥ）２１０とを有し、ＭＰ２３０とＤＭＡＣ２２０の間がセレクタ２２５によって接続され、複数のＤＭＡコントローラ２２０がセレクタ２１５を通してＤＬＥ２１０を共有している。すなわち、ＤＬＥの数よりもＤＭＡＣの数の方がはるかに多いのが通常である。
【００２６】
複数のＤＭＡコントローラ２２０からのリクエストはセレクタ２１５内のＤＭＡＣ調停回路２１５０によって調停されることで、同じＤＬＥ２１０を介して複数のＤＭＡＣからのＤＭＡ転送を同時に実行すること（コネクションレス通信）が可能となっている。ＤＬＥ２１０からの受信データは、ＤＬＥ調停回路２１５５によって、目的のＤＭＡＣ２２０に分配される。
【００２７】
図２において、ＤＬＥは、送信ポート１１０１と送信バッファ１１０２と受信ポート１１０５と受信バッファ１１０６と再送論理回路１１１０と再送バッファ１１２０とから構成されている。再送バッファと再送論理回路は、データリンクでのエラーフリー転送を実現するための処理を実行する。すなわち、送信バッファから送信ポートを通して送出されたパケットは、再送論理回路１１１０によって再送バッファ１１２０に格納される。受信ポートには、当該パケットが正しく届いたかどうかのステータスが返送され、エラーが報告された場合、再送論理回路により再送バッファからパケットの再送が行われる。図２に示すＤＬＥ構成により、パケット単位のデータリンクエラー制御が可能となり、多重通信を実現することができる。
【００２８】
図５及び図２に示す構成例によれば、コネクションレス型の多重通信が可能となり、高性能で、より柔軟かつ単純な低コストのディスク制御装置を実現することができる。
【００２９】
次に、図４は本発明の実施形態に係るディスク制御装置におけるチャネルアダプタの具体的構成例を示す図であり、図３はチャネルアダプタに用いられるＤＭＡコントローラの具体的構成例を示す図である。なお、図３のＤＭＡコントローラ（ＤＭＡＣ）はチャネルアダプタに限らず、他のアダプタにも使用される構成例である。
【００３０】
図４に示すチャネルアダプタは、プロトコルエンジン１３０と、ＤＭＡＣ１２０と、ＤＬＥ１１０と、を備え、ＰＥ１３０とＤＭＡＣ１２０がセレクタ１２５を通して接続され、ＤＭＡＣ１２０とＤＬＥ１１０がセレクタ１１５を介して接続されている。ＤＭＡコントローラ１２０が、複数（ＶＣ０、ＶＣ１）の受信ＦＩＦＯバッファと複数（ＶＣ０、ＶＣ１）の送信ＦＩＦＯバッファを持っている。
【００３１】
図３に示すＤＭＡコントローラ１２０は、マルチプレクサ１２０１と、送信ＦＩＦＯバッファ１２０２と、デマルチプレクサ１２０５と、受信ＦＩＦＯバッファ１２０６と、トランザクション論理回路１２１０と、シーケンス管理テーブル１２２０と、パケット生成論理回路１２３０と、パケット分解論理回路１２４０と、から構成されている。複数の送信ＦＩＦＯバッファ１２０２の間で送信データ間の競合が調停回路１２１２により調停されマルチプレクサ１２０１によって選択される。
【００３２】
同様に、受信データは、調停回路１２１２の制御によるデマルチプレクサ１２０５の選択動作によって、複数の受信ＦＩＦＯバッファ１２０６の中の適当なＦＩＦＯに格納される。パケット生成論理回路１２３０とパケット分解論理回路１２４０は、パケットの生成と分解を行うための論理回路である。シーケンス制御論理回路１２１３とシーケンス管理テーブル１２２０は、分割ＤＭＡのＤＭＡシーケンスを管理するための論理回路であり、その動作については後述する。
【００３３】
図４及び図３に示す構成例によれば、１つのＤＬＥに対して、複数（ＶＣ０、ＶＣ１）のバッファを対応させることができ、例えば、制御系内部ネットワークとデータ系内部ネットワークを１つのＤＬＥに混在させることができる（例として、ＶＣＯはデータ系内部ネットワーク用、ＶＣ１は制御系ネットワーク用）。さらに、調停回路１２１２の動作により、複数のバッファ間に優先度を設けることができ、例えば、制御系内部ネットワークをデータ系内部ネットワークより優先させることにより、両者の混在による制御系内部ネットワークのアクセス遅延時間増大を回避することができる。すなわち、本構成例により、より単純な内部ネットワーク構成のディスク制御装置を実現することが可能となり、性能改善と低コスト化の両立を実現することができる。
【００３４】
次に、図６は本発明の実施形態に係るディスク制御装置におけるメモリアダプタの具体的構成例を示す図である。図６に示すメモリアダプタは、メモリモジュール（ＭＭ）３４０と、メモリコントローラ（ＭＣ）３３０と、ＤＭＡＣ３２０と、ＤＬＥ３１０と、を備え、ＭＣ３３０とＤＭＡＣ３２０がセレクタ３２５を通して接続され、ＤＭＡＣ３２０とＤＬＥ３１０がセレクタ３１５を介して接続されている。ＤＭＡコントローラ（ＤＭＡＣ）３２０が、それぞれ受信ＦＩＦＯバッファ（ＶＣ０またはＶＣ１）と送信ＦＩＦＯバッファ（ＶＣ０またはＶＣ１）を持っている。複数の送信ＦＩＦＯバッファＶＣ０の間及び複数の送信ＦＩＦＯバッファＶＣ１の間で送信データ間の競合が調停されて、ＤＬＥ３１０にデータが送信される。同様に、複数の受信ＦＩＦＯバッファＶＣ０の間及び複数の受信ＦＩＦＯバッファＶＣ１の間で受信データ間の経路調停がなされて、適当な受信ＦＩＦＯにデータが格納される。
【００３５】
また、ＤＭＡＣ３２０とＭＣ３３０との間は、調停回路３２５０と調停回路３２５５によって、競合条件が調停される。これにより、１つのＭＣを複数のＤＭＡＣで共有することができ、調停回路の機能として、ＤＭＡＣ間での優先度制御を実現することも可能となる。これにより、例えば、制御系内部ネットワーク用のＤＭＡＣとデータ系内部ネットワーク用のＤＭＡＣを設けて、制御系内部ネットワーク用のＤＭＡＣを優先させることにより、制御系内部ネットワークのアクセスがデータ系内部ネットワークの動作に干渉される影響を抑制することが可能となる。
【００３６】
図６に示す構成例によると、１つのＤＬＥに対して、複数のＤＭＡＣを対応させることができ、例えば、制御系内部ネットワークとデータ系内部ネットワークを１つのＤＬＥに混在させることができる。また、１つのＭＣに対して、複数のＤＭＡＣを対応させることができ、制御系メモリとデータ系メモリを混在させることが可能となる。すなわち、本構成例により、より単純な内部ネットワーク構成のディスク制御装置を実現することが可能となり、性能改善と低コスト化の両立を実現することができる。
【００３７】
次に、図８は本発明の実施形態に係るディスク制御装置内の複数のＤＭＡコントローラ間で転送されるパケットの具体的構成例を示す図である。図８に示すパケット５００は、転送先のＤＭＡコントローラを指定するアドレスフィールド５１１と、転送元ＤＭＡコントローラを指定するアドレスフィールド５２１と、１つのＤＭＡ転送を複数のパケットに分割して転送する際の転送順序を管理するためのＤＭＡシーケンスフィールド５２４と、を少なくとも備えている。
【００３８】
本発明の実施形態に係るディスク制御装置においては、コネクションレス型の多重通信によるＤＭＡ転送が行われるため、ＤＭＡの転送順序を保証し、エラーチェックや、障害処理を適切に行う必要がある。そのための手段として、パケットを確実に特定することができるようにＤＭＡシーケンスフィールドを設け、このフィールドを、１つのＤＭＡ転送内においてユニークになる（識別できる）ように（好ましくは、シーケンシャルにインクリメント）制御する。
【００３９】
図８に示すパケット構成例によれば、コネクションレス型の多重通信によるＤＭＡ転送においても、適切な順序保証とそのチェックを行うことができ、また、障害発生時にも適切な障害処理を実施することが可能となる。すなわち、本構成例により、従来と同等の高信頼ディスク制御装置を実現することが可能となる。
【００４０】
また、図８に示したパケット５００は、パケットの中継ＤＭＡコントローラを指定する第１のアドレス５１１と、宛先ＤＭＡコントローラを指定する第２のアドレス５２２及び第３のアドレス５２３と、宛先ＤＭＡコントローラに転送すべき転送データ５３１と、を備えている。チャネルアダプタ１００からメモリアダプタ３００へのＷＲＩＴＥリクエストの際は、第１のアドレスとしてスイッチアダプタのＤＭＡＣ４２０が、第２及び第３のアドレスとしてメモリアダプタのＤＭＡＣ３２０が指定される。複数のメモリアダプタのアドレスを指定するのは、信頼性向上を目指して、キャッシュメモリに対し２重ＷＲＩＴＥを実施するためである。
【００４１】
このようなパケット構成によって、２重ＷＲＩＴＥを含んだＤＭＡ転送機能を、コネクションレス型の多重通信に適用することが可能となり、高信頼のディスク制御装置を実現することができる。
【００４２】
さらに、図８に示したパケット５００は、ＤＬＥに対する制御情報を含んだルーティングヘッダ５１０と、ＤＭＡコントローラに対する制御情報を含んだコマンドヘッダ５２０と、それ以外のデータを含んだデータブロック５３０と、から構成され、ルーティングヘッダ５１０は、当該ルーティングヘッダ内の転送エラーを保証するためのルーティングヘッダエラーチェックコード５１５を有し、コマンドヘッダ５２０は、当該コマンドヘッダ内の転送エラーを保証するためのコマンドヘッダエラーチェックコード５２５を含み、データブロック５３０は、当該データブロック内の転送エラーを保証するためのデータブロックエラーチェックコード５３５を含んでいる。
【００４３】
このようなパケット構成によって、ルーティング制御情報と、ＤＭＡＣ制御情報と、データ情報を別々のエラーチェックコードで保護することが可能となり、より細かなＤＭＡ転送制御と障害回復処理が行える。とくに、スイッチアダプタ経由の２重ＷＲＩＴＥ時などルーティング制御情報の書き換えが必要となる場合でも、エラーチェックコード再計算の範囲を最小限に限定することが可能とり、高信頼かつ高性能なディスク制御装置を実現することができる。
【００４４】
次に、図９は本発明の実施形態に係るディスク制御装置に用いられるパケットのフローを示す図であり、図１０は本発明の実施形態に係るディスク制御装置に用いられるプロトコルを示す図である。図９及び図１０の例示では、チャネルアダプタのＤＭＡＣ１２０からスイッチアダプタのＤＭＡＣ４２０に分割ＤＭＡリクエスト６１０を発行している。すなわち、分割ＤＭＡリクエスト６１０のパケットには、転送元アドレスフィールド５２１として、マスターＤＭＡであるチャネルアダプタＤＭＡＣ１２０が指定され、転送先アドレスフィールド５１１としては、スイッチアダプタＤＭＡＣ４２０が指定されている。
【００４５】
ＤＭＡコントローラ４２０は、ＤＭＡコントローラ１２０に、分割ＤＭＡ転送リクエスト６１０に対応した分割終了ステータス６２１、６２２を返送する。分割終了ステータス６２１、６２２には、分割ＤＭＡ転送リクエスト６１０に含まれていたＤＭＡシーケンスフィールド５２４の情報が含まれており、ＤＭＡコントローラ１２０は、そのＤＭＡシーケンスフィールドの情報を確認することで、分割ＤＭＡ転送の転送順序の確認を行う。
【００４６】
図１２は、本発明の実施形態に係るディスク制御装置に用いられる分割ＤＭＡ送信時のＤＭＡシーケンスフィールド更新フローを示す図であり、図１３は本発明の実施形態に係るディスク制御装置に用いられる分割ステータス受信時のＤＭＡシーケンスフィールド確認フローを示す図である。各ＤＭＡＣは、現在のＤＭＡシーケンスフィールドの値を変数ＣＵＲＲ＿ＤＭＡ＿ＳＥＱに保持している。分割ＤＭＡ送信時には、ＣＵＲＲ＿ＤＭＡ＿ＳＥＱをインクリメントしながら、各転送パケットのＤＭＡシーケンスフィールド５２４に挿入する。また、各ＤＭＡＣは、次に戻ってくるべき分割ＤＭＡステータスの値を変数ＮＥＸＴ＿ＤＭＡ＿ＳＥＱに保持している。分割ＤＭＡステータスが戻ってきたなら、そのＤＭＡシーケンスの値を期待値と比較し、一致したならＮＥＸＴ＿ＤＭＡ＿ＳＥＱをインクリメントする。不一致の場合は、現在しかかり中の分割ＤＭＡ転送リクエスト（ＮＥＸＴ＿ＤＭＡ＿ＳＥＱからＣＵＲＲ＿ＤＭＡ＿ＳＥＱまで）をキャンセルした後、プロセッサに障害通知を行う。
【００４７】
図９及び図１０、図１２及び図１３に示す構成例によれば、分割ＤＭＡ転送においても、ＤＭＡシーケンスフィールド５２４を用いて確実にＤＭＡ毎の転送順序の制御を行うことが可能となる。すなわち、本構成例によって、コネクションレス型の多重通信で、高信頼のディスク制御装置を実現することができる。
【００４８】
また、図９及び図１０には、本発明の実施形態に係るディスク制御装置に用いられる２重ＷＲＩＴＥのパケットフロー（プロトコル）を示してある。本構成例では、チャネルアダプタＤＭＡＣ１２０からスイッチアダプタＤＭＡＣ４２０を介してメモリアダプタのＤＭＡＣ３２１、３２２に分割ＤＭＡリクエスト６１１、６１２を発行している。すなわち、分割ＤＭＡリクエスト６１０のパケットには、転送元アドレスフィールド５２１としてチャネルアダプタＤＭＡＣ１２０が指定され、転送先アドレスフィールド５１１としてスイッチアダプタＤＭＡＣ４２０が指定され、宛先フィールドとしてメモリアダプタＤＭＡＣ３２１，３２２が指定され、データブロック（フィールド）５３１には、転送データが格納されている。
【００４９】
スイッチアダプタ内のＤＭＡコントローラ４２０で、ＤＭＡＣ３２１を転送先アドレスフィールドに持ち、転送データ５３１を含んだ分割ＤＭＡリクエストパケット６１１と、ＤＭＡＣ３２２を転送先アドレスフィールドに持ち、転送データ５３１を含んだ分割ＤＭＡリクエストパケット６１２が生成され、それぞれの転送先アドレスにたいして転送が行われる。メモリアダプタのＤＭＡＣ３２１、３２２では、分割ＤＭＡリクエスト６１１、６１２に対して、スイッチアダプタＤＭＡＣ４２０を介してチャネルアダプタＤＭＡＣ１２０に対し分割ステータス６２１、６２２を返送する。
【００５０】
図９及び図１０の上述した構成例により、スイッチアダプタのＤＭＡＣによるキャッシュメモリ２重ＷＲＩＴＥが実現できる。メモリアダプタ３００に近接したスイッチアダプタ４００のＤＭＡＣ４２０で２重ＷＲＩＴＥのためのパケットを生成するので、内部ネットワーク内の帯域を浪費することがなく、パス効率を向上させることができる。すなわち、本構成例例により、高性能かつ高信頼なディスク制御装置を実現することが可能となる。
【００５１】
次に、図７は、本発明の実施形態に係るディスク制御装置におけるスイッチアダプタの具体的構成例を示す図である。図７に示すスイッチアダプタは、複数のＤＬＥ４１０と複数のＤＭＡＣ４２０とセレクタ４３０とを備えている。受信側ＤＬＥ４１０から受信されたパケットは、受信側ＤＭＡＣ４２０の中で複数の受信ＦＩＦＯバッファ（ＶＣ０，ＶＣ１）に分けて格納された後、送信ＦＩＦＯバッファ間毎に存在するセレクタ論理回路４３０１、４３０２、４３０６、４３０７を通して、送信側ＤＭＡＣ４２０内の送信ＦＩＦＯに送られ、送信側ＤＬＥ４１０から送出される。
【００５２】
図７に示す構成例では、図８に示すルーティング制御情報、ＤＭＡＣ制御情報及びデータ情報を有するパケットと同様に、複数のＤＭＡコントローラ間で転送されるパケットが、パケット制御情報を介して、宛先のＤＭＡＣ情報を含んだヘッダ部と、それ以外のデータを含んだデータ部とから構成されており、ヘッダ部は、当該ヘッダ部内の転送エラーを保証するためのヘッダ部エラーチェックコードを含み、データ部は、当該データ部内の転送エラーを保証するためのデータ部エラーチェックコードを含んでいる。
【００５３】
スイッチアダプタ内の受信側ＤＭＡコントローラ４２０は、ヘッダ部エラーチェックコードを確認するまでは、パケットを送信側ＤＭＡＣに送らない。ヘッダ部エラーチェックコードを確認した後、パケットのヘッダ部とデータ部が、送信側ＤＭＡＣに対してパイプライン処理的に送られる。また、ヘッダ部エラーチェックコードでエラーが見つかった場合は、そのパケットを破棄し、しかるべきエラー処理を実行する。
【００５４】
図７に示す構成例により、スイッチアダプタは、受信ＤＬＥからすべてのデータ部を取り込んで、データ部エラーチェックコードを確認する前に、送信ＤＬＥからの送信処理を始める事ができるとともに、ヘッダ部にエラーが生じて宛先の不正となったパケットに対しては、パケット転送を破棄することによってエラーの伝播を抑制することが可能となる。すなわち、本構成例により、高性能かつ高信頼なディスク制御装置を実現することが可能となる。
【００５５】
また、図４に示すチャネルアダプタ、図５に示すプロセッサアダプタのように、本発明の実施形態に係るディスク制御装置に用いられるアダプタでは、複数のＤＭＡＣが複数のＤＬＥを共有する構成をとっている。図４のチャネルアダプタを例にすると、ＤＬＥが２個でＤＭＡＣが１６個設けられて、各ＤＭＡＣが数の少ないＤＬＥを共有するという状況が考えられる。この冗長構成により、例えば、ＤＭＡＣが或るＤＬＥを介してＤＭＡ通信していた際に当該ＤＬＥに障害が発生した場合でも、ＤＭＡＣ調停回路１１５０（図４参照）または２１５０（図５参照）で経路制御することにより、別のＤＬＥと接続し直すことが可能となる。同様に、複数のＤＭＡＣの処理を、ＤＭＡＣ調停回路１１５０または２１５０で経路制御することにより、複数のＤＬＥ間に割り振って、負荷分散を実現することも可能となる。
【００５６】
ただし、本構成例の調停回路１１５０及び２１５０は、同じＤＭＡＣからの一連の分割ＤＭＡリクエストと分割ステータスについては、同じＤＬＥから送受信するように制御する。より好ましくは、同じＤＭＡＣからのリクエストとステータスについては、通常動作の送受信ＤＬＥを固定する。
【００５７】
図４と図５に示すような構成例により、一連の分割ＤＭＡリクエストと分割ステータスの内部ネットワーク経路が固定され、経路の相違による順序の入れ替え（追い越し）の可能性がなくなり、分割ＤＭＡリクエストと分割ステータスの順序制御を著しく容易にする。すなわち、本構成例によって、高信頼なディスク制御装置を容易に実現することが可能となる。
【００５８】
次に、図１４は本発明の他の実施形態に係るディスク制御装置の全体構成を示す図である。図１４に示す本発明の他の実施形態では、複数のチャネルアダプタ１００と複数のプロセッサアダプタ２００と複数のメモリアダプタ３００とが、複数のスイッチアダプタ４００によって接続されている。すべてのアダプタ間に複数のパスを設けることにより、任意の一点障害を救済できる冗長性を実現することができる。各アダプタの接続態様は図１４に図示する通りであり、それぞれのアダプタは、対応している２つのアダプタに対してそれぞれのパスを設けている。
【００５９】
本発明の他の実施形態によって、ディスク制御装置のシステムとしての冗長性を高めることで、信頼性を向上させることが可能となる。
【００６０】
さらに、図１５は本発明の更に他の実施形態に係るディスク制御装置の全体構成を示す図である。図１５に示す本発明の更に他の実施形態では、図１４に示す本発明の他の実施形態に係るディスク制御装置２つを、そのスイッチアダプタの拡張ポート同士を接続させることにより、ディスク制御装置全体として拡張した構成をとる。この接続態様により、チャネルアダプタ、プロセッサアダプタ、メモリアダプタを増設することができ、同一のアーキテクチャでシステムのスケーラビリティを向上させている。すなわち、本発明の更に他の実施形態により、ディスク制御装置のスケーラビリティを改善することが可能となる。
【００６１】
以上説明したように、図１〜図１５に図示するような本発明の実施形態に係るディスク制御装置を採用すると、次に示すような機能や効果を奏させることが可能となる。すなわち、本実施形態によれば、１つのＤＬＥに対して、複数のバッファを対応させることができ、例えば、制御系内部ネットワークとデータ系内部ネットワークを１つのＤＬＥに混在させることができる。さらに、調停回路の動作により、複数のバッファ間に優先度を設けることができ、例えば、制御系内部ネットワークをデータ系内部ネットワークより優先させることにより、両者の混在による制御系内部ネットワークのアクセス遅延時間増大を回避することができる。これにより、より単純な内部ネットワーク構成のディスク制御装置を実現することが可能となり、性能改善と低コスト化の両立を実現することができる。
【００６２】
また、本実施形態によれば、１つのＤＬＥに対して、複数のＤＭＡＣを対応させることができ、例えば、制御系内部ネットワークとデータ系内部ネットワークを１つのＤＬＥに混在させることができる。また、１つのＭＣに対して、複数のＤＭＡＣを対応させることができ、制御系メモリとデータ系メモリを混在させることが可能となる。これにより、より単純な内部ネットワーク構成のディスク制御装置を実現することが可能となり、性能改善と低コスト化の両立を実現することができる。
【００６３】
また、本実施形態によれば、コネクションレス型の多重通信によるＤＭＡ転送においても、適切な順序保証とそのチェックを行うことができ、また、障害発生時にも適切な障害処理を実施することが可能で、従来と同等の高信頼ディスク制御装置を実現することができる。また、本実施形態によれば、ルーティング制御情報と、ＤＭＡＣ制御情報と、データ情報を別々のエラーチェックコードで保護することが可能となり、より細かなＤＭＡ転送制御と障害回復処理が行える。特に、スイッチアダプタ経由の２重ＷＲＩＴＥ時などルーティング制御情報の書き換えが必要となる場合でも、エラーチェックコード再計算の範囲を最小限に限定することが可能とり、高信頼かつ高性能なディスク制御装置を実現することができる。
【００６４】
また、本実施形態によれば、スイッチアダプタのＤＭＡＣによるキャッシュメモリ２重ＷＲＩＴＥが実現できる。キャッシュメモリアダプタに近接したスイッチアダプタのＤＭＡＣで２重ＷＲＩＴＥのためのパケットを生成するので、内部ネットワーク内の帯域を浪費することがなく、パス効率を向上させることができる。
【００６５】
また、本実施形態によれば、スイッチアダプタは、受信ＤＬＥからすべてのデータ部を取り込んでデータ部エラーチェックコードを確認する前に、送信ＤＬＥからの送信処理を始めることができるとともに、ヘッダ部にエラーが生じて宛先の不正となったパケットに対しては、パケット転送を破棄することによってエラーの伝播を抑制することが可能となる。また、本実施形態によれば、一連の分割ＤＭＡリクエストと分割ステータスの内部ネットワーク経路が固定され、経路の相違による順序の入れ替え（追い越し）の可能性がなくなり、分割ＤＭＡリクエストと分割ステータスの順序制御を著しく容易にする。
【００６６】
また、本実施形態によれば、ディスク制御装置のシステムとして冗長性を持たせることで、信頼性を向上させることが可能となる。また、本実施形態によれば、ディスク制御装置のスケーラビリティを改善することが可能となる。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態に係るディスク制御装置の全体構成を示す図である。
【図２】本実施形態に係るディスク制御装置における各アダプタに用いられるデータリンクエンジンの具体的構成例を示す図である。
【図３】本実施形態に係るディスク制御装置における各アダプタに用いられるＤＭＡコントローラの具体的構成例を示す図である。
【図４】本実施形態に係るディスク制御装置におけるチャネルアダプタの構成を示す図である。
【図５】本実施形態に係るディスク制御装置におけるプロセッサアダプタの構成を示す図である。
【図６】本実施形態に係るディスク制御装置におけるメモリアダプタの構成を示す図である。
【図７】本実施形態に係るディスク制御装置におけるスイッチアダプタの構成例を示す図である。
【図８】本実施形態に係るディスク制御装置に用いられるパケットの構成を示す図である。
【図９】本実施形態に係るディスク制御装置に用いられるパケットフローを示す図である。
【図１０】本実施形態に係るディスク制御装置に用いられるプロトコルを示す図である。
【図１１】本実施形態に係るディスク制御装置に用いられる多重通信転送プロトコルを示す図である。
【図１２】本実施形態に係るディスク制御装置に用いられる分割ＤＭＡ送信時のＤＭＡシーケンスフィールド更新フローを示す図である。
【図１３】本実施形態に係るディスク制御装置に用いられる分割ステータス受信時のＤＭＡシーケンスフィールド確認フローを示す図である。
【図１４】本発明の他の実施形態に係るディスク制御装置の全体構成を示す図である。
【図１５】本発明の更に他の実施形態に係るディスク制御装置の全体構成を示す図である。
【図１６】従来のディスク制御装置の全体構成を示す図である。
【図１７】従来のディスク制御装置に用いられるパケットの構成を示す図である。
【図１８】従来のディスク制御装置に用いられるパケットフローを示す図である。
【図１９】従来のディスク制御装置に用いられるプロトコルを示す図である。
【図２０】従来のディスク制御装置に用いられる非多重通信転送プロトコルを示す図である。
【符号の説明】
【００６８】
１００  チャネルアダプタ
１１０，２１０，３１０，４１０  データリンクエンジン
１１５，１２５，２１５，２２５、３１５，３２５，４３０  セレクタ
１２０，２２０，３２０，３２１，３２２，４２０  ＤＭＡコントローラ
１３０  プロトコルエンジン
２００  プロセッサアダプタ
２３０  マイクロプロセッサ
３００  メモリアダプタ
３３０  メモリコントローラ
３４０  メモリモジュール
４００  スイッチアダプタ
５００  転送パケット
５１０  ルーティングヘッダ部
５１１  転送先アドレスフィールド
５２０  コマンドヘッダ部
５２１  転送元アドレスフィールド
５２２，５２３  ＤＭＡ宛先アドレス
５２４  ＤＭＡシーケンスフィールド
５３０  データブロック部
６００  ＤＭＡリスト
６１０，６１１，６１２，６１５，６１６  分割ＤＭＡリクエスト
６２１，６２２，６２５，６２６  分割ステータス
６３０  完了ステータス
【図１】
2005228245.tif 000003
【図２】
2005228245.tif 000004
【図３】
2005228245.tif 000005
【図４】
2005228245.tif 000006
【図５】
2005228245.tif 000007
【図６】
2005228245.tif 000008
【図７】
2005228245.tif 000009
【図８】
2005228245.tif 000010
【図９】
2005228245.tif 000011
【図１０】
2005228245.tif 000012
【図１１】
2005228245.tif 000013
【図１２】
2005228245.tif 000014
【図１３】
2005228245.tif 000015
【図１４】
2005228245.tif 000016
【図１５】
2005228245.tif 000017
【図１６】
2005228245.tif 000018
【図１７】
2005228245.tif 000019
【図１８】
2005228245.tif 000020
【図１９】
2005228245.tif 000021
【図２０】
2005228245.tif 000022