本発明のディスクアレイ制御装置の実施例について、以下、図面を用いて説明する。
図1に、本発明のディスクアレイ制御装置の一実施例を示す。
ディスクアレイ制御装置1は、大別すると、メインフレーム50に接続するための2つのメインフレーム用チャネルIF部411、ワークステーション51に接続するための2つFC(Fiber Channel)用チャネルIF部413、磁気ディスク20に接続するための2つのSCSI用ディスクIF部414、磁気ディスク20に接続するための2つのFC用ディスクIF部415、4つのセレクタ部13、2つのキャッシュメモリ部14、及び2つの共有メモリ部、アクセスパス0:135、アクセスパス1:136、及びアクセスパス2:137とを有する。本実施例では、アクセスパス0:135及びアクセスパス1:136の1本当りの帯域幅は全て等しい(例えば、200MB/sec)と仮定する。なお、以下では、説明の便宜上、メインフレーム50とワークステーション51とをホストコンピュータと呼ぶ場合もある。
メインフレーム用チャネルIF部411及びFC用チャネルIF部413は、ホストコンピュータとの2つのIF(ホストIF)102と、ホストコンピュータに対する入出力を制御する2つのマイクロプロセッサ101と、キャッシュメモリ部14へのアクセスを制御するアクセス制御部(CMアクセス制御部)104と、共有メモリ部15へのアクセスを制御するアクセス制御部(SMアクセス制御部)105とを有し、ホストコンピュータ50とキャッシュメモリ部14間のデータ転送、及びマイクロプロセッサ101と共有メモリ部15間の制御情報の転送を実行する。マイクロプロセッサ101及びホストIF102は内部バス106によって接続され、CMアクセス制御部104及びSMアクセス制御部105は、2つのホストIF102に接続されている。
SCSI用ディスクIF部414及びFC用ディスクIF部415は、磁気ディスク装置20との2つのIF(ドライブIF)103と、磁気ディスク装置20に対する入出力を制御する2つのマイクロプロセッサ101と、キャッシュメモリ部14へのアクセスを制御するアクセス制御部(CMアクセス制御部)104と、共有メモリ部15への1つのアクセス制御部(SMアクセス制御部)105とを有し、磁気ディスク装置20とキャッシュメモリ部14間のデータ転送、及びマイクロプロセッサ101と共有メモリ部15間の制御情報の転送を実行する。マイクロプロセッサ101及びドライブIF103は内部バス106によって接続され、CMアクセス制御部104及びSMアクセス制御部105は、2つのドライブIF103に接続されている。ディスクIF部はRAID機能の実行も行う。
キャッシュメモリ部14は、キャッシュメモリ(CM)コントローラ105とメモリモジュール106とを有し、磁気ディスク装置20へ記録するデータを格納する。また、共有メモリ部15は、共有メモリ(SM)コントローラ115とメモリモジュール106とを有し、制御情報を格納する。
次に、本実施例の特徴のひとつである、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415と、キャッシュメモリ部14及び共有メモリ部15との接続形態について説明する。
メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415内の各CMアクセス制御部104にはそれぞれ2本のアクセスパス0:135が接続され、それらは、2重化されたセレクタ部13に接続される。1つのセレクタ部13には、1つのメインフレーム用チャネルIF部411と1つのFC用チャネルIF部413とから、及びSCSI用ディスクIF部414及びFC用ディスクIF部415とから、計4本のアクセスパス0:135が接続される。また、1つのセレクタ部13には2本のアクセスパス1:136が接続され、それらは、2重化されたキャッシュメモリ部14内のCMコントローラ107に接続される。したがってCMコントローラ107には、4つのセレクタ部13から、計4本のアクセスパス1:136が接続される。
セレクタ部13は、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、FC用ディスクIF部415チャネルIF部11、又はディスクIF部12からのアクセス要求が、キャッシュメモリ部14へのアクセスパス1:136の数に相当する2個より多い場合には、それらのアクセス要求の内2個だけを選択して実行する機能を有している。
ディスクアレイ制御装置1のスループットを向上させるためには、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415とキャッシュメモリ部との間のアクセスパス数を増やし、内部パス性能を向上させることが有効である。しかし、そのアクセスパス数を増やしていくと、上述のように、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415とキャッシュメモリ部14との間のアクセスパスのデータ幅は広くとる必要があるので、キャッシュメモリ部14のLSIピンネック及びパッケージのコネクタネックという問題が生じる。そこで、本実施例では、1つのセレクタ部13からキャッシュメモリ部14へ接続されるアクセスパスの数を、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415から1つのセレクタ部13に接続されるアクセスパスの数より少なくし、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415の合計数よりもセレクタ部13の合計数が少なくなるようにすることにより、キャッシュメモリ部14に接続されるアクセスパス数を削減している。
なお、セレクタ部13を2重化し、1つのメインフレーム用チャネルIF部411、1つのFC用チャネルIF部413、1つのSCSI用ディスクIF部414、及び1つのFC用ディスクIF部415から1つのキャッシュメモリ部14へのアクセスルートを2つ設けているのは、一方のアクセスルートに障害が発生した場合でも、もう一方のアクセスルートによりキャッシュメモリ部14へアクセス可能とし、耐障害性を向上させるためである。
一方、ディスクアレイ制御装置1のホストコンピュータへの応答時間を短くするためには、共有メモリ部15に格納される制御情報へのアクセス時間をできるだけ短くする必要がある。図1に示したCMアクセス制御部104とCMコントローラ105との間のように、SMアクセス制御部105とSMコントローラ108との間をセレクタ部を介して接続すると、セレクタ部での処理のオーバーヘッドにより、共有メモリ部15に格納される制御情報へのアクセス時間を短くすることができない。また、上述したように、共有メモリ部15に格納される1つの制御情報のデータ長はキャッシュメモリ部14に格納する1つのデータのデータ長に比べかなり小さいので、アクセスパス2:137のデータ幅は、アクセスパス0:135のデータ幅の半分以下とすることが可能である。したがって、共有メモリ部15へのアクセスパス数を増やしても共有メモリ部内の共有メモリメモリコントローラ(図2では共有メモリコントローラを図示していない)のLSIのピン数不足等の問題が生じることは少ない。そこで、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415内の各SMアクセス制御部114と、共有メモリ部15内のSMコントローラ115との間はアクセスパス2:137により直接接続している。
次に、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415からキャッシュメモリ部14へのアクセスについて説明する。
図4に、CMアクセス制御部104内の構成を示す。CMアクセス制御部104は、セレクタ302と、アドレス、コマンド、データを一時格納するパケットバッファ303と、セレクタ部13に繋がるアクセスパス0:135とのパスIF301と、データのエラーチェック部300と、データ転送制御部310とを有する。セレクタ302の2つのポートはデータ線210でホストIF102あるいはドライブIF103に接続される。また、セレクタ302の他の2つのポートはパスIF301に接続される。パスIF301はアクセスパス0:135でセレクタ部13に接続される。データ転送制御部310は、制御線1:211でホストIF102あるいはドライブIF103に接続され、制御線2:212でセレクタ部13内のデータ転送制御部315に接続される。また、データ転送制御部310は、アービタ308によりホストIF102あるいはドライブIF103からのアクセス要求のアービトレーションを行い、セレクタ302の切り替えを行う。
図5に、セレクタ部13内の構成を示す。セレクタ部13は、チャネルIF部11及びディスクIF部12に繋がるアクセスパス0:135との8つのパスIF301と、CMコントローラ105に繋がるアクセスパス1:136との4つのパスIF301と、両者間を互いに接続するセレクタ306と、パケットバッファ303と、データのエラーチェック部300と、CMアクセス制御部104から送出されたアドレス及びコマンドを解析するアドレス・コマンド(adr、cmd)解析部305と、データ転送制御部315を有する。データ転送制御部315は、制御線2:212でCMアクセス制御部104内のデータ転送制御部310に接続され、制御線3:213でCMコントローラ105内のデータ転送制御部315に接続される。また、データ転送制御部315は、アービタ308により、adr、cmd解析部305で解析した8本のアクセスパス0:135からのアクセス要求のアービトレーションを行い、セレクタ306の切り替えを行う。パケットバッファ303は、アクセスパス0:135側のパスとアクセスパス1:136側のパスでデータ転送速度に差がある場合、速度差を吸収するために、転送するデータの一部または全部をバッファリングする。
adr、cmd解析部305は、アドレス及びコマンドを格納するバッファと、adr抽出部と、cmd抽出部を有する(図示していない)。adr、cmd解析部305では、CMアクセス制御部104に接続される8本のアクセスパス0:135それぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。adr抽出部及びcmd抽出部では、アクセスするCMコントローラ105とアクセスの種類を割り出し、データ転送制御部315内のアービタ308へ送出する。
図6は、キャッシュメモリ部14内の構成を示している。キャッシュメモリ部14は、CMコントローラ105とメモリモジュール106を有する。CMコントローラ105は、セレクタ部13に繋がるアクセスパス1:136との4つのパスIF301と、セレクタ304と、データを一時格納するパケットバッファ303と、データのエラーチェック部300と、メモリモジュール106へのアクセスを制御するメモリ制御部307と、CMアクセス制御部104から送出されたアドレス及びコマンドを解析するadr、cmd解析部305と、データ転送制御部315を有する。データ転送制御部315は、制御線3:213でセレクタ部13内のデータ転送制御部315に接続される。また、データ転送制御部315は、アービタ308により、adr、cmd解析部305で解析した4本のアクセスパス1:136からのアクセス要求のアービトレーションを行い、セレクタ304の切り替えを行う。
adr、cmd解析部305は、バッファと、adr抽出部と、cmd抽出部を有する(図示していない)。adr、cmd解析部305では、CMコントローラ105に接続される4本のアクセスパス1:136それぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。adr抽出部及びcmd抽出部では、アクセスするメモリのアドレスとアクセスの種類を割り出し、メモリ制御部307へ送出する。また、4本のアクセスパス1:136からのアクセス要求をデータ転送制御部315内のアービタ308へ送出する。
次に、キャッシュメモリ部14へのアクセス時の手順について述べる。キャッシュメモリ部14へアクセスする場合、マイクロプロセッサ101は、ホストIF102あるいはドライブIF103へ、キャッシュメモリ部14へのアクセス開始を指示する。
アクセス開始の指示を受けたホストIF102あるいはドライブIF103は、制御線1:211によりCMアクセス制御部104内のデータ転送制御部310へアクセス開始を示す信号を送出する。それとともに、データ線210を通してアドレス、コマンド、データ(データの書き込み時のみ)を送出する。
CMアクセス制御部104は、データ線210を通して送られてきたアドレス、コマンド、データ(データの書き込み時のみ)をパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行ってパスIF301の使用権を決定し、セレクタ302を切り替える。
図7は、キャッシュメモリ部14へデータを書き込む場合の、CMアクセス制御部104からCMコントローラ105へのアクセスの流れを示している。CMアクセス制御部104内のデータ転送制御部310は、アービトレーションによってアクセスパス0:135の使用権が決定されると、制御線2:212によってセレクタ部13内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ501)。続いて、アドレス(ADR)及びコマンド(CMD)を送出する(ステップ502)。
セレクタ部13内のデータ転送制御部315は、CMアクセス制御部104からREQ信号を受け取ると、次にアクセスパス0:135を通して送られてくるアドレス及びコマンドを受信し、adr、cmd解析部305で解析したアクセス要求に基づいてアービトレーションを行う(ステップ503)。アービトレーションの結果、アクセスパス1:136への接続権を得たら、データ転送制御部315はセレクタ306を切り替える(ステップ504)とともに、制御線2:212により、CMアクセス制御部104内のデータ転送制御部310へ、アクセスパス1:136への接続権が得られたことを示す信号(ACK)を返す(ステップ505)。次にデータ転送制御部315は、制御線3:213によってCMコントローラ105内のデータ転送制御部315へアクセス開始を示す信号(REQ)を出す(ステップ506)。続いて、アドレス及びコマンドを送出す
る(ステップ507)。
CMアクセス制御部104はACK信号を受けると、パケットバッファ303からデータ(DATA)を読み出し、セレクタ302、パスIF301を介してアクセスパス0:135へ送出する。セレクタ部13は、アクセスパス0:135を通して送られてきたデータを、パスIF301及びセレクタ306を介してアクセスパス1:136へ送出する(ステップ509)。
CMコントローラ105内のデータ転送制御部315は、制御線3:213によってREQ信号を受け取ると、次にアクセスパス1:136を通して送られてくるアドレス及びコマンドを受信し、adr、cmd解析部305で解析したアクセス要求に基づいてアービトレーションを行い(ステップ508)、セレクタ304を切り替える。アクセスパス1:136を通して送られてくるデータはパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール106へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ510)。次に、パケットバッファ303からデータを読み出し、セレクタ304を介してメモリモジュール106へ書き込む(ステップ511)。
メモリモジュール106へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部315においてアクセス状況を示すステータス(STATUS)を生成する(ステップ512)。次に、ステータスをセレクタ部13を介してCMアクセス制御部104へ送出する(ステップ513)。セレクタ部13内のデータ転送制御部315はステータスを受け取ると、CMコントローラ105へのREQ信号をオフする(ステップ514)。CMアクセス制御部104内のデータ転送制御部310はステータスを受け取ると、セレクタ部13へのREQ信号をオフする(ステップ515)。セレクタ部13内のデータ転送制御部315はCMアクセス制御部104からのREQ信号のオフを確認すると、CMアクセス制御部104へのACK信号をオフする(ステップ516)。
CMアクセス制御部104内のデータ転送制御部310はステータスを受け取ると、制御線1:211により、ホストIF102あるいはドライブIF103へキャッシュメモリ部14へのアクセスの終了を報告する。
キャッシュメモリ部14からデータを読み出す場合の、CMアクセス制御部104からCMコントローラ105へのアクセスの流れは、ステップ501から508までとステップ512以降は、データの書き込みの場合と同じである。
ここでCMアクセス制御部104は、ステップ505でACK信号を受けると、データの受信待ち状態に入る。
ステップ508でメモリアクセス権を得ると、CMコントローラ105はメモリモジュール106からデータを読み出し、セレクタ304、パスIF301を介してアクセスパス1:136にデータを送出する。
セレクタ部13は、アクセスパス1:136を通してデータを受信すると、パスIF301及びセレクタ306を介してアクセスパス0:135にデータを送出する。
CMアクセス制御部104は、アクセスパス0:135を通してデータを受信すると、セレクタ302、データ線210を介してホストIF102あるいはドライブIF103へデータを送出する。
次に、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415から共有メモリ部15へのアクセスについて説明する。
図8に、SMアクセス制御部105内の構成を示す。SMアクセス制御部104は、セレクタ302と、アドレス、コマンド、データを一時格納するパケットバッファ303と、SMコントローラ108に繋がるアクセスパス2:137とのパスIF301と、データのエラーチェック部300と、データ転送制御部310を有する。セレクタ302の2つのポートはデータ線220でマイクロプロセッサ101に接続される。また、セレクタ302の他の2つのポートはパスIF301に接続される。パスIF301はアクセスパス2:137でSMコントローラ108に接続される。データ転送制御部310は、制御線5:221でマイクロプロセッサ101に接続され、制御線6:222でSMコントローラ108内のデータ転送制御部315に接続される。また、データ転送制御部310は、アービタ308によりマイクロプロセッサ101からのアクセス要求のアービトレーションを行い、セレクタ302の切り替えを行う。
図9に、共有メモリ部15内の構成を示す。共有メモリ部15は、SMコントローラ108とメモリモジュール109を有する。SMコントローラ108は、SMアクセス制御部105に繋がるアクセスパス2:137との4つのパスIF301と、セレクタ309と、データを一時格納するパケットバッファ303と、データのエラーチェック部300と、メモリモジュール109へのアクセスを制御するメモリ制御部307と、SMアクセス制御部105から送出されたアドレス及びコマンドを解析するadr、cmd解析部305と、データ転送制御部315を有する。データ転送制御部315は、制御線6:222でSMアクセス制御部105内のデータ転送制御部310に接続される。また、データ転送制御部315は、アービタ308により、adr、cmd解析部305で解析した4本のアクセスパス2:137からのアクセス要求のアービトレーションを行い、セレクタ309の切り替えを行う。
adr、cmd解析部305は、バッファと、adr抽出部と、cmd抽出部を有する(図示していない)。adr、cmd解析部305では、SMコントローラ108に接続される4本のアクセスパス2:137それぞれに1つずつ割り当てられたバッファに、アドレス、コマンドを格納する。adr抽出部及びcmd抽出部では、アクセスするメモリのアドレスとアクセスの種類を割り出し、メモリ制御部307へ送出する。また、4本のアクセスパス2:137からのアクセス要求をデータ転送制御部315内のアービタ308へ送出する。
次に、共有メモリ部15へのアクセス時の手順について述べる。共有メモリ部15へアクセスする場合、マイクロプロセッサ101は、制御線5:221によりSMアクセス制御部105内のデータ転送制御部310へアクセス開始を示す信号を送出する。それとともに、データ線220を通してアドレス、コマンド、データ(データの書き込み時のみ)を送出する。
SMアクセス制御部105は、データ線220を通して送られてきたアドレス、コマンド、データ(データの書き込み時のみ)をパケットバッファ303に格納する。データ転送制御部310はアービトレーションを行ってパスIF301の使用権を決定し、セレクタ302を切り替える。
図10に、共有メモリ部15へデータを書き込む場合の、SMアクセス制御部105からSMコントローラ108へのアクセスの流れを示す。SMアクセス制御部105内のデータ転送制御部310は、アービトレーションによってアクセスパス2:137の使用権が決定されると、制御線6:222によってSMコントローラ108へアクセス開始を示す信号(REQ)を出す(ステップ601)。続いて、アドレス、コマンド、及びデータを連続して送出する(ステップ602)。
SMコントローラ108内のデータ転送制御部315は、制御線6:222によってREQ信号を受け取ると、次にアクセスパス2:137を通して送られてくるアドレス、コマンド、及びデータを受信する。アドレスとコマンドは、adr、cmd解析部305で解析し、アクセス要求に基づいてアービトレーションを行い(ステップ603)、セレクタ309を切り替える。データはパケットバッファ303に格納する。アービトレーションの結果、メモリモジュール109へのアクセス権を得たら、メモリの制御情報をメモリ制御部307へ送出し、メモリアクセスのための前処理を行う(ステップ604)。次に、パケットバッファ303からデータを読み出し、セレクタ309を介してメモリモジュール109へ書き込む(ステップ605)。
メモリモジュール109へのアクセスが終了すると、メモリアクセスの後処理を行い、データ転送制御部315においてアクセス状況を示すステータス(STATUS)を生成する(ステップ606)。次に、ステータスをSMアクセス制御部105へ送出する(ステップ607)。SMアクセス制御部105内のデータ転送制御部310はステータスを受け取ると、SMコントローラ108へのREQ信号をオフする(ステップ608)。
SMアクセス制御部105内のデータ転送制御部310はステータスを受け取ると、制御線5:221により、マイクロプロセッサ101へ共有メモリ部15へのアクセスの終了を報告する。
共有メモリ部15からデータを読み出す場合のSMアクセス制御部105からSMコントローラ108へのアクセスの流れは、ステップ601から604までとステップ606以降は、データの書き込みの場合と同じである。
ステップ604でメモリアクセスの前処理を行った後、SMコントローラ108はメモリモジュール109からデータを読み出し、セレクタ309、パスIF301を介してアクセスパス2:137にデータを送出する。
SMアクセス制御部105は、アクセスパス2:137を通してデータを受信すると、セレクタ302、データ線220を介してマイクロプロセッサ101へデータを送出する。
次に本実施例の他の特徴について説明する。
各セレクタ部13の帯域幅が異なると、帯域幅が狭いセレクタ部13に繋がったメインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、又はFC用ディスクIF部415のデータ転送スループットが、帯域幅の広いセレクタ部13に繋がったメインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、又はFC用ディスクIF部415のデータ転送スループットより低くなるという問題がある。このような場合、2つのメインフレーム用チャネルIF部411との間、2つのFC用チャネルIF部413との間、2つのSCSI用ディスクIF部414との間、又はFC用ディスクIF部415との間に性能差が生じ、ディスクアレイ装置1全体でデータ転送性能がアンバランスとなる。
そこで、本実施例では、セレクタ部13が有する帯域幅を、各セレクタ部13でほぼ等しくしている。より詳細には、いずれのセレクタ部13にも、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415からのアクセスパス0:135を1つずつ接続し、キャッシュメモリ部14へのアクセスパス1:136を2つ接続する。言い換えれば、本実施例の特徴は、各セレクタ部13に繋がっているチャネルIF部の種類(チャネルIF部の種類とは、ホストコンピュータとのインターフェースの種類で分類した種類であり、本実施例では、メインフレーム用チャネルIF部411、FC用チャネルIF部413の2種類を想定)とそれら数の組み合わせ、及びディスクIF部の種類(ディスクIF部の種類とは、磁気ディスク装置とのインターフェースの種類で分類した種類であり、本実施例では、SCSI用ディスクIF部414、又はFC用ディスクIF部415の2種類を想定)とその数の組み合わせを、各セレクタ部13で同一にするという点にある。本実施例では、アクセスパス0:135及びアクセスパス1:136の1本当りの帯域幅は全て等しい(例えば、200MB/sec)と仮定しているので、このようにすることで、各セレクタ部13の帯域幅を等しくすることができる。また、例えば、メインフレーム用チャネルIF部411に接続されるアクセスパス0:135の帯域幅を100MB/secとし、FC用チャネルIF部413に接続されるアクセスパス0:135の帯域幅を200MB/secとし、これらの帯域幅を異ならしめた場合であっても、本実施例のように構成することにより、各セレクタ部13の帯域幅を等しくすることが可能である。この結果、同種類のチャネルIF部の間、又は同種類のディスクIF部の間で性能を均等にすることが可能になる。
本実施例によれば、各ホストコンピュータからのアクセス頻度が同程度である場合には、各セレクタ部13に対するアクセス頻度はほぼ等しくなる。言い換えると、各セレクタ部13の使用率はほぼ等しくなる。したがって、2つのメインフレーム用チャネルIF部411の間、2つのFC用チャネルIF部413の間、2つのSCSI用ディスクIF部414間、又は2つのFC用ディスクIF部415間でスループットに差が生じにくくなる。その結果、ディスクアレイ制御装置1全体で、データ転送スループットのバランスを取ることができ、データ転送スループットの高いディスクアレイ制御装置を提供できる。なお、チャネルIF部の種類としては、本実施例で示した以外にも、SCSIチャネル、メタルチャネル等が考えられる。
次に、本実施例のいくつかの変形例を示す。なお、以下の変形例では、上述の実施例1と異なる点のみを説明する。また、以下の変形例では共有メモリ部の記載を省略している。
[変形例1]
図11に示したディスクアレイ制御装置1では、左側の2つのセレクタ部13には、それぞれ、1つのメインフレーム用FCチャネルIF部410、1つのSCSI用チャネルIF部412、1つのSCSI用ディスクIF部414、及び1つのFC用ディスクIF部415から計8本のアクセスパス0:135で接続されている。また、右側の2つのセレクタ部13には、それぞれ、1つのSCSI用チャネルIF部412、1つのFC用チャネルIF部413、1つのSCSI用ディスクIF部414、及び1つのFC用ディスクIF部415から計8本のアクセスパス0:135で接続されている。さらに、セレクタ部13には、4つのキャッシュメモリ部14へのアクセスパス1:136がそれぞれ1本ずつ、計4本接続されている。
セレクタ部13は、メインフレーム用チャネルIF部411、FC用チャネルIF部413、SCSI用ディスクIF部414、FC用ディスクIF部415チャネルIF部11、又はディスクIF部12からのアクセス要求が、キャッシュメモリ部14へのアクセスパス1:136の数に相当する2個より多い場合には、それらのアクセス要求の内2個だけを選択して実行する機能を有している。
本変形例2においても、セレクタ部13を設けることにより、キャッシュメモリ部14のLSIピンネック及びパッケージのコネクタネックという問題を解消することができる。
また、どのセレクタ部13にも、ファイバチャネル180と接続されるチャネルIF部及びディスクIF部と、SCSIチャネルと接続されるチャネルIF部及びディスクIF部とが接続されており、各セレクタ部13に繋がっているチャネルIF部11の種類と数及びディスクIF部12の種類と数を各セレクタで同一にし、帯域幅を揃えてある。これにより、上述したようにディスクアレイ制御装置1全体で、データ転送スループットのバランスを取ることができ、データ転送スループットの高いディスクアレイ制御装置を提供できる。
[変形例2]
図12に示したディスクアレイ制御装置1においても、各セレクタ部13には、2つのメインフレーム用チャネルIF部、1つのSCSI用チャネルIF部412、1つのFC用チャネルIF部413、2つのSCSI用ディスクIF部414、2つのFC用ディスクIF部415が接続されており、各セレクタ部13に繋がっているチャネルIF部11の種類と数及びディスクIF部12の種類と数を各セレクタで同一にし、帯域幅を揃えてある。
また、本変形例2では、メインフレーム用チャネルIF部411、SCSI用チャネルIF部412、FC用チャネルIF部413、SCSI用ディスクIF部414、及びFC用ディスクIF部415にそれぞれ2本のアクセスパス0:135を接続し、それらを2つの異なるセレクタ部13に1本ずつ接続している。こうすることにより、1つのチャネルIF部あるいはディスクIF部から1つのキャッシュメモリ部14へのアクセスルートが2つとなる。これにより、1つのアクセスパス0:135、アクセスパス1:136、またはセレクタ部13に障害が発生した場合でも、もう1つのアクセスルートによりキャッシュメモリ部14へアクセスすることが可能となるため、耐障害性を向上させることができる。
[変形例3]
図13に示すディスクアレイ制御装置1では、SCSI用チャネルIF部412、FC用チャネルIF部413、SCSI用ディスクIF部414、FC用ディスクIF部415とキャッシュメモリ部14との間を、複数のスイッチスイッチ(SW)16で構成した相互結合網140で接続している。この場合にも、各SW間で、その帯域幅を等しくすることにより、ディスクアレイ制御装置1全体のデータ転送スループットのバランスをとることが可能となる。
[変形例4]
図14に示すディスクアレイ制御装置1では、ホストコンピュータ又は磁気ディスク装置と、帯域幅の広いファイバチャネルで接続されるメインフレーム用FCチャネルIF部410、FC用チャネルIF部413、FC用ディスクIF部415をセレクタ部13aに接続し、ホストコンピュータ又は磁気ディスク装置と、帯域幅の狭いESCONチャネル181又はSCSIチャネル182で接続されるメインフレーム用チャネルIF部411、SCSI用チャネルIF部412、SCSI用ディスクIF部414をセレクタ部13bに接続している。
また、各セレクタ部13aには8本のアクセスパス1:136を接続し、それらを2本ずつ、4つのキャッシュメモリ部14へ接続し、各セレクタ部13bにはアクセスパス1:136を4本接続し、それらを1本ずつ、4つのキャッシュメモリ部14へ接続している。アクセスパス0:135及びアクセスパス1:136の1本当りの帯域幅は200MB/secと仮定しているので、セレクタ部13aの帯域幅は、セレクタ部13bの帯域幅より広くなる。
このように、ホストコンピュータとの間の帯域幅が広いチャネルIF部及び磁気ディスク装置20との帯域幅が広いディスクIF部が接続されるセレクタ部と、ホストコンピュータとの間の帯域幅が狭いチャネルIF部及び磁気ディスク装置との帯域幅が狭いディスクIF部が接続されるセレクタ部とを分け、各セレクタ部の帯域幅を、該セレクタ部に繋がるチャネルIF部及びディスクIF部の帯域幅に見合うように設定することで、ディスクアレイ制御装置1全体のデータ転送スループットのバランスを取ることが可能である。また、一部のセレクタ部の帯域幅がネックとなってデータ転送スループットが抑えられるのを防ぐことが可能となる。
なお、チャネルIF部が繋がるセレクタ部とディスクIF部が繋がるセレクタ部とを分けてもよい。
[変形例5]
図15に示すディスクアレイ制御装置においても、変形例4と同様に、ホストコンピュータとの間の帯域幅が広いチャネルIF部及び磁気ディスク装置20との帯域幅が広いディスクIF部が接続されるセレクタ部13aとキャッシュメモリ部14との間の帯域幅を、ホストコンピュータとの間の帯域幅が狭いチャネルIF部及び磁気ディスク装置との帯域幅が狭いディスクIF部が接続されるセレクタ部13bとキャッシュメモリ部14との間の帯域幅よりも広くしている。
また、本変形例では、メインフレーム用FCチャネルIF部410、FC用チャネルIF部413、及びFC用ディスクIF部415にそれぞれ2本のアクセスパス0:135を接続し、それらを2つの異なるセレクタ部13aに1本ずつ接続し、メインフレーム用チャネルIF部411、SCSI用チャネルIF部412、及びSCSI用ディスクIF部414にそれぞれ2本のアクセスパス0:135を接続し、それらを2つの異なるセレクタ部13bに1本ずつ接続している。こうすることにより、1つのチャネルIF部あるいはディスクIF部から1つのキャッシュメモリ部14へのアクセスルートが2つとなる。これにより、1つのアクセスパス0:135、アクセスパス1:136、またはセレクタ部13に障害が発生した場合でも、もう1つのアクセスルートによりキャッシュメモリ部14へアクセスすることが可能となるため、耐障害性を向上させることができる。
[変形例6]
図16に示すディスクアレイ制御装置1では、変形例4と同様に、ホストコンピュータとの間の帯域幅が広いチャネルIF部及び磁気ディスク装置20との帯域幅が広いディスクIF部が接続されるセレクタ部と、ホストコンピュータとの間の帯域幅が狭いチャネルIF部及び磁気ディスク装置との帯域幅が狭いディスクIF部が接続されるセレクタ部とを分けている。
本変形例では、セレクタ部13bに接続されるアクセスパス0:135bの1本当たりの帯域幅、及びアクセスパス1:136bの1本当たりの帯域幅を、セレクタ部13aに接続されるアクセスパス0:135bの1本当たりの帯域幅、及びアクセスパス1:136bの1本当たりの帯域幅より狭くしている。例えば、セレクタ部13aに接続されるアクセスパス0:135bの1本当たりの帯域幅、及びアクセスパス1:136bの1本当たりの帯域幅を上述の例と同様に200MB/sec(例えば、アクセスパスの幅を2B、周波数100MHz)と仮定した場合、セレクタ部13bに接続されるアクセスパス0:135bの1本当たりの帯域幅、及びアクセスパス1:136bの1本当たりの帯域幅を例えば100MB/sec(例えば、アクセスパスの幅を1B、周波数100MHz、又は、アクセスパスの幅を2B、周波数50MHz)とする。従って、セレクタ部13aとチャネルIF部及びディスクIF部との間の帯域幅、及びセレクタ部13aとキャッシュメモリ部14との間の帯域幅は、セレクタ部13bとチャネルIF部及びディスクIF部との間の帯域幅、及びセレクタ部13bとキャッシュメモリ部14との間の帯域幅より広くなる。
このように、ホストコンピュータとの間の帯域幅が広いチャネルIF部及び磁気ディスク装置20との帯域幅が広いディスクIF部が接続されるセレクタ部13aと、ホストコンピュータとの間の帯域幅が狭いチャネルIF部及び磁気ディスク装置との帯域幅が狭いディスクIF部が接続されるセレクタ部13bとを分け、各セレクタ部の帯域幅を、該セレクタ部に繋がるチャネルIF部及びディスクIF部の帯域幅に見合うように設定することで、ディスクアレイ制御装置1全体のデータ転送スループットのバランスを取ることが可能である。また、一部のセレクタ部の帯域幅がネックとなってデータ転送スループットが抑えられるのを防ぐことが可能となる。
[変形例7]
図17に示すディスクアレイ制御装置においても、変形例6と同様に、本変形例では、セレクタ部13bに接続されるアクセスパス0:135bの1本当たりの帯域幅、及びアクセスパス1:136bの1本当たりの帯域幅を、セレクタ部13aに接続されるアクセスパス0:135bの1本当たりの帯域幅、及びアクセスパス1:136bの1本当たりの帯域幅より狭くしている。
また、本変形例では、メインフレーム用FCチャネルIF部410、FC用チャネルIF部413、及びFC用ディスクIF部415にそれぞれ2本のアクセスパス0:135を接続し、それらを2つの異なるセレクタ部13aに1本ずつ接続し、メインフレーム用チャネルIF部411、SCSI用チャネルIF部412、及びSCSI用ディスクIF部414にそれぞれ2本のアクセスパス0:135を接続し、それらを2つの異なるセレクタ部13bに1本ずつ接続している。こうすることにより、1つのチャネルIF部あるいはディスクIF部から1つのキャッシュメモリ部14へのアクセスルートが2つとなる。これにより、1つのアクセスパス0:135、アクセスパス1:136、またはセレクタ部13に障害が発生した場合でも、もう1つのアクセスルートによりキャッシュメモリ部14へアクセスすることが可能となるため、耐障害性を向上させることができる。
1・・・ディスクアレイ制御装置、411・・・メインフレーム用チャネルIF部、413・・・FC用チャネルIF部、414・・・SCSI用ディスクIF部、415・・・FC用ディスクIF部、13・・・セレクタ部、14・・・キャッシュメモリ部、20・・・磁気ディスク装置、50・・・メインフレーム、51・・・ワークステーション、101・・・マイクロプロセッサ、102・・・ホストIF、103・・・ドライブIF、104・・・CMアクセス制御部、105・・・CMコントローラ、106・・・メモリモジュール、110、111・・・内部バス、135・・・アクセスパス0、136・・・アクセスパス1、137・・・アクセスパス2。