(57)【要約】【課題】複数のポートを有するディスクアレイ装置において、ユーザが実際に必要としている数のポートのみを使用可能とする。【解決手段】ディスクアレイ装置は、情報処理装置からデータ入出力要求を受信するチャネル制御部と、チャネル制御部が受信したデータ入出力要求をもとに、ハードディスクドライブに対してデータ入出力要求を送信するディスク制御部と、チャネル制御部とディスク制御部とがデータを読み書きできる共有メモリとを有し、ユーザが実際に使用するポートの情報が共有メモリのポート制御テーブルに記憶され、チャネル制御部は、ポート制御テーブルを参照し、複数のポートの各々について情報処理装置から受信するリンク初期化のプリミティブシーケンスに応答するかどうかにより、各ポートの使用可否を制御する。【選択図】      図１
2005165440.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートを有し、前記複数のポートがケーブルを介して情報処理装置と接続され、前記情報処理装置から前記ハードディスクドライブに対するデータ入出力要求を受信するチャネル制御部と、
複数のハードディスクドライブと通信可能に接続され、前記チャネル制御部が受信した前記ハードディスクドライブに対するデータ入出力要求をもとに、前記ハードディスクドライブに対してデータ入出力要求を送信するディスク制御部と、
前記チャネル制御部と前記ディスク制御部とがデータを読み書きできる共有メモリと
を有し、
前記複数のポートを使用許可するかどうかを示す制御情報が前記共有メモリのポート制御テーブルに設定され、
前記チャネル制御部は、前記ポート制御テーブルに設定されている前記制御情報を参照し、前記ポートについて前記情報処理装置から受信する接続要求に応答するかどうかを決定する
ことを特徴とするディスクアレイ装置。
【請求項２】
請求項１に記載のディスクアレイ装置であって、
前記制御情報が、使用可能な前記ポートの数である使用可能ポート数であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネル制御部は、前記複数のポートのうちのリンクが初期化されている前記ポートの数を使用ポート数として前記制御テーブルに記憶し、
前記チャネル制御部は、
前記ポートを介して前記リンク初期化のプリミティブシーケンスを受信すると、前記ポート制御テーブルの前記使用可能ポート数と前記使用ポート数とを参照し、前記使用ポート数が前記使用可能ポート数未満である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、前記使用ポート数が前記使用可能ポート数以上である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信しない
ことを特徴とするディスクアレイ装置。
【請求項３】
請求項１に記載のディスクアレイ装置であって、
前記チャネル制御部は、前記複数のポートを制御する複数のプロトコルプロセッサを備え、
前記制御情報が、使用可能な前記プロトコルプロセッサの数である使用可能プロトコルプロセッサ数であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネル制御部は、前記複数のポートのうちのリンクが初期化されている前記ポートを制御する前記プロトコルプロセッサを使用プロトコルプロセッサとして前記ポート制御テーブルに記憶し、
前記チャネル制御部は、前記使用プロトコルプロセッサの数を使用プロトコルプロセッサ数として前記ポート制御テーブルに記憶し、
前記チャネル制御部は、
前記リンク初期化のプリミティブシーケンスを受信すると、前記ポート制御テーブルを参照して当該ポートを制御する前記プロトコルプロセッサが前記使用プロトコルプロセッサであるか判定し、
前記使用プロトコルプロセッサである場合は前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、
前記使用プロトコルプロセッサでない場合は、前記ポート制御テーブルの前記使用可能プロトコルプロセッサ数と前記使用プロトコルプロセッサ数とを参照し、前記使用プロトコルプロセッサ数が前記使用可能プロトコルプロセッサ数未満である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、前記使用プロトコルプロセッサ数が前記使用可能プロトコルプロセッサ数以上である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信しない
ことを特徴とするディスクアレイ装置。
【請求項４】
請求項１に記載のディスクアレイ装置であって、
前記チャネル制御部は、複数の前記ポートの組であるポートグループを複数有し、
前記制御情報が、使用可能な前記ポートグループの数である使用可能ポートグループ数であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネル制御部は、前記複数のポートのうちのリンクが初期化されている前記ポートが属する前記ポートグループを使用ポートグループとして前記ポート制御テーブルに記憶し、
前記チャネル制御部は、前記使用ポートグループの数を使用ポートグループ数として前記ポート制御テーブルに記憶し、
前記チャネル制御部は、
前記リンク初期化のプリミティブシーケンスを受信すると、前記ポート制御テーブルを参照して当該ポートが属する前記ポートグループが前記使用ポートグループであるか判定し、
前記使用ポートグループである場合は前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、
前記使用ポートグループでない場合は、前記ポート制御テーブルの前記使用可能ポートグループ数と前記使用ポートグループ数とを参照し、前記使用ポートグループ数が前記使用可能ポートグループ数未満である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、前記使用ポートグループ数が前記使用可能ポートグループ数以上である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信しない
ことを特徴とするディスクアレイ装置。
【請求項５】
請求項１に記載のディスクアレイ装置であって、
前記チャネル制御部を実現するための回路が基板上に形成されているパッケージを複数有し、
前記制御情報が、使用可能な前記パッケージの数である使用可能パッケージ数であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネル制御部は、前記複数のポートのうちのリンクが初期化されている前記ポートが属する前記パッケージを使用パッケージとして前記ポート制御テーブルに記憶し、
前記チャネル制御部は、前記使用パッケージの数を使用パッケージ数として前記ポート制御テーブルに記憶し、
前記チャネル制御部は、
前記リンク初期化のプリミティブシーケンスを受信すると、前記ポート制御テーブルを参照して当該ポートが属する前記パッケージが前記使用パッケージであるか判定し、
前記使用パッケージである場合は前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、
前記使用パッケージでない場合は、前記ポート制御テーブルの前記使用可能パッケージ数と前記使用パッケージ数とを参照し、前記使用パッケージ数が前記使用可能パッケージ数未満である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、前記使用パッケージ数が前記使用可能パッケージ数以上である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信しない
ことを特徴とするディスクアレイ装置。
【請求項６】
請求項１に記載のディスクアレイ装置であって、
前記制御情報が、前記情報処理装置との間で使用可能な論理パスの数である使用可能論理パス数であり、
前記接続要求が、前記情報処理装置との間の論理パスの確立要求であり、
前記チャネル制御部は、確立されている前記論理パスの数を使用論理パス数として前記ポート制御テーブルに記憶し、
前記チャネル制御部は、
前記論理パスの確立要求を受信すると、前記ポート制御テーブルの前記使用可能論理パス数と前記使用論理パス数とを参照し、前記使用論理パス数が前記使用可能論理パス数未満である場合には、前記論理パスの確立要求に応答して論理パスを確立し、前記使用論理パス数が前記使用可能論理パス数以上である場合には、前記論理パスの確立要求に応答しない
ことを特徴とするディスクアレイ装置。
【請求項７】
請求項１に記載のディスクアレイ装置であって、
前記制御情報が、前記ポートの使用可否であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネル制御部は、
前記チャネル制御部全体の制御を司るチャネルプロセッサと、
前記ポートを制御するプロトコルプロセッサと、
前記プロトコルプロセッサが参照するレジスタと
を有し、
前記チャネルプロセッサは、
前記ポート制御テーブルの前記ポートの使用可否を参照し、前記レジスタに前記ポートの使用可否を設定し、
前記プロトコルプロセッサは、
前記リンク初期化のプリミティブシーケンスを受信すると、前記レジスタを参照し、当該ポートの使用が許可されている場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、当該ポートの使用が許可されていない場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信しない
ことを特徴とするディスクアレイ装置。
【請求項８】
請求項１に記載のディスクアレイ装置であって、
前記チャネル制御部は、
前記チャネル制御部全体の制御を司るチャネルプロセッサと、
前記ポートを制御するプロトコルプロセッサと、
前記プロトコルプロセッサが参照するレジスタと
を有し、
前記制御情報が、前記プロトコルプロセッサの使用可否であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネルプロセッサは、
前記ポート制御テーブルの前記プロトコルプロセッサの使用可否を参照し、前記レジスタに前記プロトコルプロセッサの使用可否を設定し、
前記プロトコルプロセッサは、
前記リンク初期化のプリミティブシーケンスを受信すると、前記レジスタを参照し、当該プロトコルプロセッサの使用が許可されている場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、当該プロトコルプロセッサの使用が許可されていない場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信しない
ことを特徴とするディスクアレイ装置。
【請求項９】
請求項１に記載のディスクアレイ装置であって、
前記チャネル制御部は、
前記チャネル制御部全体の制御を司るチャネルプロセッサと、
前記ポートを制御するプロトコルプロセッサと、
前記プロトコルプロセッサが参照するレジスタと、
複数の前記ポートの組であるポートグループと
を有し、
前記制御情報が、前記ポートグループの使用可否であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネルプロセッサは、
前記ポート制御テーブルの前記ポートグループの使用可否を参照し、前記レジスタに前記ポートグループの使用可否を設定し、
前記プロトコルプロセッサは、
前記リンク初期化のプリミティブシーケンスを受信すると、前記レジスタを参照し、当該ポートグループの使用が許可されている場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、当該ポートグループの使用が許可されていない場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信しない
ことを特徴とするディスクアレイ装置。
【請求項１０】
請求項１に記載のディスクアレイ装置であって、
前記チャネル制御部を実現するための回路が基板上に形成されているパッケージを複数有し、
前記チャネル制御部は、
前記チャネル制御部全体の制御を司るチャネルプロセッサと、
前記ポートを制御するプロトコルプロセッサと、
前記プロトコルプロセッサが参照するレジスタと
を有し、
前記制御情報が、前記パッケージの使用可否であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネルプロセッサは、
前記ポート制御テーブルの前記パッケージの使用可否を参照し、前記レジスタに前記パッケージの使用可否を設定し、
前記プロトコルプロセッサは、
前記リンク初期化のプリミティブシーケンスを受信すると、前記レジスタを参照し、当該パッケージの使用が許可されている場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信し、当該パッケージの使用が許可されていない場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信しない
ことを特徴とするディスクアレイ装置。
【請求項１１】
請求項２に記載のディスクアレイ装置であって、
通信可能に接続されている管理端末を有し、
前記管理端末は、前記使用可能ポート数の変更を前記チャネル制御部に通知するユーザインタフェースを有し、
前記チャネル制御部は、
前記管理端末から前記使用可能ポート数の変更要求を受信すると、前記ポート制御テーブルの前記使用可能ポート数を変更し、前記ポート制御テーブルの前記使用ポート数を参照し、
前記使用可能ポート数が前記使用ポート数以上である場合は、前記ケーブルが接続されているがリンクが初期化されていない前記ポートがある場合には、前記使用ポート数が前記使用可能ポート数を超えない範囲の前記ポートについて、前記リンク初期化のプリミティブシーケンスを前記情報処理装置に送信し、
前記使用可能ポート数が前記使用ポート数未満である場合は、前記使用ポート数が前記使用可能ポート数となるよう、リンクが初期化されている前記ポートについて、リンク切断のプリミティブシーケンスを前記情報処理装置に送信する
ことを特徴とするディスクアレイ装置。
【請求項１２】
請求項２に記載のディスクアレイ装置であって、
通信可能に接続されている管理端末を有し、
前記管理端末は、リンクが初期化されている前記ポートのポート番号と前記ケーブルが接続されているがリンクが初期化されていない前記ポートのポート番号とを指定して当該２つの前記ポートの入れ替え要求を前記チャネル制御部に送信するユーザインタフェースを有し、
前記チャネル制御部は、前記入れ替え要求を受信すると、前記リンクが初期化されている前記ポートについて、リンク切断のプリミティブシーケンスを前記情報処理装置に送信し、前記ケーブルが接続されているがリンクが初期化されていない前記ポートについて、前記リンク初期化のプリミティブシーケンスを前記情報処理装置に送信する
ことを特徴とするディスクアレイ装置。
【請求項１３】
請求項２に記載のディスクアレイ装置であって、
前記使用可能ポート数が複数の時間帯ごとに設定されており、
前記チャネル制御部は、
前記ポート制御テーブルの前記複数の時間帯のうちで現在時刻が含まれている前記時間帯の前記使用可能ポート数と前記使用ポート数とを参照し、
前記使用可能ポート数が前記使用ポート数以上である場合は、前記ケーブルが接続されているがリンクが初期化されていない前記ポートがある場合には、前記使用ポート数が前記使用可能ポート数を超えない範囲の前記ポートについて、前記リンク初期化のプリミティブシーケンスを前記情報処理装置に送信し、
前記使用可能ポート数が前記使用ポート数未満である場合は、前記使用ポート数が前記使用可能ポート数となるよう、リンクが初期化されている前記ポートについて、リンク切断のプリミティブシーケンスを前記情報処理装置に送信し、
前記ポートごとの使用時間を前記ポート制御テーブルに記憶する
ことを特徴とするディスクアレイ装置。
【請求項１４】
請求項２〜１０に記載のディスクアレイ装置であって、
通信可能に接続されている管理端末を有し、
前記管理端末は、前記制御情報である前記使用可能ポート数、前記使用可能プロトコルプロセッサ数、前記使用可能ポートグループ数、前記使用可能パッケージ数、前記使用可能論理パス数、前記複数のポートの各々の使用可否、前記複数のプロトコルプロセッサの各々の使用可否、前記複数のポートグループの各々の使用可否、又は前記複数のパッケージの各々の使用可否を前記ポート制御テーブルに設定するためのユーザインタフェースを備える
ことを特徴とするディスクアレイ装置。
【請求項１５】
請求項１に記載のディスクアレイ装置であって、
管理端末と通信可能に接続され、
前記複数のポートの使用率を測定する測定時間間隔と前記使用率の閾値であるポート使用率閾値とが前記共有メモリの性能モニタリングテーブルに設定され、
前記チャネル制御部は、
前記性能モニタリングテーブルに設定されている前記測定時間間隔ごとに前記複数のポートの前記使用率を測定し、
前記複数のポートの前記使用率を前記性能モニタリングテーブルに記憶し、
前記複数のポートのうちで前記使用率が前記ポート使用率閾値を超えている前記ポートを前記管理端末に通知する
ことを特徴とするディスクアレイ装置。
【請求項１６】
請求項１５に記載のディスクアレイ装置であって、
前記管理端末は、前記ポートと測定時間とを指定し、前記ポートの前記使用率を前記性能モニタリングテーブルから前記測定時間の間取得し、取得した前記使用率を表示するユーザインタフェースを備える
ことを特徴とするディスクアレイ装置。
【請求項１７】
複数のポートを有し、前記複数のポートがケーブルを介して情報処理装置と接続され、前記情報処理装置から前記ハードディスクドライブに対するデータ入出力要求を受信するチャネル制御部と、
複数のハードディスクドライブと通信可能に接続され、前記チャネル制御部が受信した前記ハードディスクドライブに対するデータ入出力要求をもとに、前記ハードディスクドライブに対してデータ入出力要求を送信するディスク制御部と、
前記チャネル制御部と前記ディスク制御部とがデータを読み書きできる共有メモリと
を有し、
前記複数のポートを使用許可するかどうかを示す制御情報が前記共有メモリのポート制御テーブルに設定されているディスクアレイ装置の制御方法であって、
前記チャネル制御部は、
前記ポート制御テーブルに設定されている前記制御情報を参照するステップと、
前記複数のポートの各々について前記情報処理装置から受信する接続要求に応答するかどうかを決定するステップと
を備えることを特徴とするディスクアレイ装置。
【請求項１８】
請求項１７に記載のディスクアレイ装置の制御方法であって、
前記制御情報が、使用可能な前記ポートの数である使用可能ポート数であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネル制御部は、
前記複数のポートのうちのリンクが初期化されている前記ポートの数を使用ポート数として前記制御テーブルに記憶するステップと、
前記ポートを介して前記リンク初期化のプリミティブシーケンスを受信するステップと、
前記ポート制御テーブルの前記使用可能ポート数と前記使用ポート数とを参照するステップと、
前記使用ポート数が前記使用可能ポート数未満である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信するステップと、
前記使用ポート数が前記使用可能ポート数以上である場合には、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置を送信しないステップと
を備えることを特徴とするディスクアレイ装置の制御方法。
【請求項１９】
請求項１７に記載のディスクアレイ装置の制御方法であって、
前記制御情報が、前記ポートの使用可否であり、
前記接続要求が、前記情報処理装置と前記ポートとのリンクを初期化するリンク初期化のプリミティブシーケンスであり、
前記チャネル制御部は、
前記チャネル制御部全体の制御を司るチャネルプロセッサと、
前記ポートを制御するプロトコルプロセッサと、
前記プロトコルプロセッサが参照するレジスタと
を有し、
前記チャネルプロセッサは、
前記ポート制御テーブルの前記ポートの使用可否を参照するステップと、
前記レジスタに前記ポートの使用可否を設定するステップと
を有し、
前記プロトコルプロセッサは、
前記リンク初期化のプリミティブシーケンスを受信するステップと、
前記レジスタに設定されている前記ポートの使用可否を参照するステップと、
当該ポートの使用が許可されている場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信するステップと、
当該ポートの使用が許可されていない場合は、前記リンク初期化のプリミティブシーケンスに対応するプリミティブシーケンスを前記情報処理装置に送信しないステップと
を有する
ことを特徴とするディスクアレイ装置。
【請求項２０】
複数のポートを有し、前記複数のポートがファイバケーブルを介して情報処理装置と接続され、前記情報処理装置から前記ハードディスクドライブに対するデータ入出力要求を受信するチャネル制御部と、
複数のハードディスクドライブと通信可能に接続され、前記チャネル制御部が受信した前記ハードディスクドライブに対するデータ入出力要求をもとに、前記ハードディスクドライブに対してデータ入出力要求を送信するディスク制御部と、
前記チャネル制御部と前記ディスク制御部とがデータを読み書きできる共有メモリと、
前記データ入出力要求にともない前記チャネル制御部と前記ディスク制御部とがデータを一時的に記憶するキャッシュメモリと、
通信可能に接続されている管理端末と
を有し、
前記チャネル制御部は、
前記ポートと通信可能に接続され、前記情報処理装置との間におけるデータ送受信を制御するプロトコルプロセッサと、
前記プロトコルプロセッサと前記共有メモリと前記キャッシュメモリとに通信可能に接続され、前記チャネル制御部全体の制御を司るチャネルプロセッサと、
前記チャネルプロセッサと通信可能に接続され、前記チャネルプロセッサによりデータの読み書きが行われるローカルメモリと
を有し、
前記管理端末は、前記複数のポートのうちの使用可能とする前記ポートの数である使用可能ポート数を前記ポート制御テーブルに設定し、
前記チャネルプロセッサは、前記複数のポートのうちの使用許可されている前記ポートの数を使用ポート数として前記制御テーブルに記憶し、
前記プロトコルプロセッサは、前記ポートに前記ファイバケーブルが接続され、前記ポートを介してリンク初期化のプリミティブシーケンスを受信すると、当該ポートの使用可否を前記チャネルプロセッサに問い合わせ、
前記チャネルプロセッサは、前記ポート制御テーブルの前記使用可能ポート数と前記使用ポート数とを参照し、前記使用ポート数が前記使用可能ポート数未満である場合には、当該ポートの使用許可を前記プロトコルプロセッサに通知し、前記使用ポート数が前記使用可能ポート数以上である場合には、当該ポートの使用禁止を前記プロトコルプロセッサに通知し、
前記プロトコルプロセッサは、前記チャネルプロセッサから前記使用許可の通知を受信すると、前記リンク初期化のプリミティブシーケンスに応答してリンクを初期化し、前記チャネルプロセッサから前記使用禁止の通知を受信すると、前記リンク初期化のプリミティブシーケンスに応答しない
ことを特徴とするディスクアレイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置及びディスクアレイ装置の制御方法に関する。
【背景技術】
【０００２】
ユーザは、ディスクアレイ装置の導入時の装置構成に応じた導入コストや、ディスクアレイ装置導入後の使用状況に応じた運用コストを負担する必要がある。特許文献１においては、ディスクアレイ装置導入後にポートごとのアクセス回数やデータ転送量の測定データを記憶し、この測定データをもとに運用コストの課金を行う方法が開示されている。
【特許文献１】特開２００２−２３６８５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ユーザはディスクアレイ装置が備える複数のポートの全てを利用する必要がない場合においても、ディスクアレイ装置が備える全てのポート数に応じた導入コストを負担する必要がある。そこで、ユーザが実際に必要としているポート数のポートのみを使用可能とし、当該ポートの数に応じたコストによりディスクアレイ装置を導入可能とすることが求められている。特許文献２においては、ディスクアレイ装置導入後に、各ポートのデータ転送量をもとに従量課金を行う方法が開示されているが、ディスクアレイ装置導入時にユーザが実際に必要としているポートの数に応じた導入コストを設定することはできない。
【０００４】
本発明は上記課題を鑑みてなされたものであり、ディスクアレイ装置及びディスクアレイ装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成する本発明のうち主たる発明に係るディスクアレイ装置は、複数のハードディスクドライブと、複数のポートを有し、前記複数のポートがケーブルを介して情報処理装置と接続され、前記情報処理装置から前記ハードディスクドライブに対するデータ入出力要求を受信するチャネル制御部と、前記複数のハードディスクドライブと通信可能に接続され、前記チャネル制御部が受信した前記ハードディスクドライブに対するデータ入出力要求をもとに、前記ハードディスクドライブに対してデータ入出力要求を送信するディスク制御部と、前記チャネル制御部と前記ディスク制御部とがデータを読み書きできる共有メモリとを有し、前記複数のポートを使用許可するかどうかを示す制御情報が前記共有メモリのポート制御テーブルに設定され、前記チャネル制御部は、前記ポート制御テーブルに設定されている前記制御情報を参照し、前記ポートについて前記情報処理装置から受信する接続要求に応答するかどうかを決定する。
【発明の効果】
【０００６】
ディスクアレイ装置及びディスクアレイ装置の制御方法を提供することができる。
【発明を実施するための最良の形態】
【０００７】
＝＝ディスクアレイ装置の全体構成＝＝
図１は、本実施の形態に係るディスクアレイ装置１００の全体構成を示すブロック図である。
【０００８】
ディスクアレイ装置１００は、ディスク制御装置１１０とディスク駆動装置１２０とを備えている。ディスクアレイ装置１００は情報処理装置２００と通信手段により接続されている。通信手段は、例えば、ＬＡＮ（Local Area Network）やＳＡＮ（Storage Area Network）、ｉＳＣＳＩ（Internet Small Computer System Interface）、ＥＳＣＯＮ（Enterprise Systems Connection）（登録商標）、ＦＩＣＯＮ（Fibre Connection）（登録商標）などである。
【０００９】
情報処理装置２００は、ＣＰＵ（Central Processing Unit）やメモリを備えるコンピュータであり、パーソナルコンピュータやワークステーション、メインフレームなどのコンピュータである。情報処理装置２００は、結合された複数台のコンピュータで構成されることもある。情報処理装置２００ではオペレーティングシステムが動作している。オペレーティングシステム上ではアプリケーションソフトウエアが動作している。アプリケーションソフトウエアは、例えば、銀行の自動預金預け払いシステムや航空機の座席予約システムの機能を提供する。
【００１０】
ディスク制御装置１１０はディスクアレイ装置１００全体の制御を司る。ディスク駆動装置１２０はデータを記憶するハードディスクドライブ１２１を多数備える。ディスク制御装置１１０は、情報処理装置２００から受信したコマンドに従ってハードディスクドライブ１２１に対する制御を行う。例えば情報処理装置２００からデータの入出力要求を受信して、ハードディスクドライブ１２１に記憶されているデータの入出力のための処理を行う。
【００１１】
ディスク制御装置１１０は、チャネル制御部１０１、ディスク制御部１０２、共有メモリ１０３、キャッシュメモリ１０４、これらの間を通信可能に接続するクロスバスイッチなどで構成されるスイッチング制御部１０５、及び管理端末１０６などを備えて構成される。
【００１２】
キャッシュメモリ１０４は、主としてチャネル制御部１０１とディスク制御部１０２との間で授受されるデータを一時的に記憶するために用いられる。例えばチャネル制御部１０１が情報処理装置２００から受信したデータ入出力コマンドが書き込みコマンドである場合には、チャネル制御部１０１は情報処理装置２００から受信した書き込みデータをキャッシュメモリ１０４に書き込む。またディスク制御部１０２はキャッシュメモリ１０４から書き込みデータを読み出してハードディスクドライブ１２１に書き込む。
【００１３】
ディスク制御部１０２は、チャネル制御部１０１により共有メモリ１０３に書き込まれたデータ入出力要求を読み出してそのデータ入出力要求に設定されているコマンド（例えば、ＳＣＳＩ（Small Computer System Interface）規格のコマンド）に従ってハードディスクドライブ１２１にデータの書き込みや読み出しなどの処理を実行する。ディスク制御部１０２はハードディスクドライブ１２１から読み出したデータをキャッシュメモリ１０４に書き込む。またデータの書き込み完了通知や読み出し完了通知などをチャネル制御部１０１に送信する。ディスク制御部１０２は、ハードディスクドライブ１２１をいわゆるＲＡＩＤ（Redundant Array of Inexpensive Disks）方式に規定されるＲＡＩＤレベル（例えば、０，１，５）で制御する機能を備えることもある。
【００１４】
ハードディスクドライブ１２１により提供される記憶領域は、この記憶領域上に論理的に設定されるボリュームである論理ボリュームを単位として管理されている。ハードディスクドライブ１２１へのデータの書き込みや読み出しは、論理ボリュームに付与される識別子を指定して行なうことができる。
【００１５】
管理端末１０６はディスクアレイ装置１００を保守・管理するためのコンピュータである。チャネル制御部１０１やディスク制御部１０２において実行されるソフトウエアやパラメータの変更は、管理端末１０６からの指示により行われる。管理端末１０６はディスクアレイ装置１００に内蔵される形態とすることもできるし、別体とすることもできる。
【００１６】
なお、ディスクアレイ装置１００は、以上に説明した構成のもの以外にも、例えば、ＮＦＳ（Network File System）などのプロトコルにより情報処理装置２００からファイル名指定によるデータ入出力要求を受け付けるように構成されたＮＡＳ（Network Attached Storage）として機能するものなどであってもよい。
【００１７】
共有メモリ１０３はチャネル制御部１０１、ディスク制御部１０２、及び管理端末１０６からアクセスが可能である。チャネル制御部１０１とディスク制御部１０２との間におけるデータ入出力要求コマンドの受け渡しに利用される他、ディスクアレイ装置１００の管理情報等が記憶される。本実施の形態においては、後述するポート制御テーブル等が共有メモリ１０３に記憶される。
【００１８】
＝＝ディスクアレイ装置の外観構成＝＝
図２は、本実施の形態に係るディスクアレイ装置１００の外観構成を示す図である。図２に示すディスクアレイ装置１００ではディスク制御装置１１０が中央に配置され、その左右にディスク駆動装置１２０が配置されている。なお、ディスクドライブ１２１はディスク制御装置１１０にも収納されるようにすることができる。
【００１９】
ディスク制御装置１１０は、コントローラ１１１、ファン１１３、電源部１１２を備えている。コントローラ１１１はチャネル制御部１０１、ディスク制御部１０２、共有メモリ１０３、キャッシュメモリ１０４、又はスイッチング制御部１０５等を搭載する基板である。ディスク制御装置１１０にコントローラ１１１が装着されることにより、ディスクアレイ装置１００の制御が行われる。ファン１１３はディスク制御装置１１０を冷却するために用いられる。電源部１１２はディスク制御装置１１０への電力の供給を行うために用いられる。
【００２０】
ディスク駆動装置１２０には多数のディスクドライブ１２１が収納される。ディスクドライブ１２１は、ディスク駆動装置１２０を構成する筐体に着脱可能なように収納されている。
【００２１】
図３は、コントローラ１１１がディスク制御装置１１０の装着部１３０に挿入される様子を示している。装着部１３０には複数のスロットが設けられており、各スロットにはコントローラ１１１を装着するためのガイドレールが設けられている。ガイドレールに沿ってコントローラ１１１をスロットに挿入することにより、コントローラ１１１をディスク制御装置１１０に装着することができる。各スロットに装着されたコントローラ１１１は、ガイドレールに沿って引き抜くことにより取り外すことができる。またコントローラ１１１には、コントローラ１１１とディスク制御装置１１０とを電気的に接続するためのコネクタが設けられている。コネクタはディスク制御装置１１０の装着部１３０の奥手方向正面部に設けられた相手側コネクタと嵌合する。
【００２２】
＝＝チャネル制御部の構成＝＝
図４は、本実施の形態に係るチャネル制御部３０１の構成を示すブロック図である。チャネル制御部３０１は、ポート４０１、プロトコル制御部４０２、及びチャネルプロセッサ４０３等を含んで構成されている。
【００２３】
ポート４０１は、ファイバチャネルケーブル４０４を介して情報処理装置２００のポート２１０と通信可能に接続されている。ファイバチャネルケーブル４０４が光ファイバの場合、ポート４０１には、ポートプラグ４０５が接続されている。ポートプラグ４０５は光ファイバの波長を変化させることが可能である。ファイバチャネルケーブルには、シングルモードファイバとマルチモードファイバの２種類があり、それぞれの波長が異なっている。そのため、ファイバチャネルケーブルの種類に応じてポートプラグ４０５を変更することにより、ポート４０１はファイバチャネルケーブルの種類によらず、通信を行うことが可能となる。
【００２４】
プロトコル制御部４０２は、ポート４０１の制御を司る。プロトコル制御部４０２は、プロトコルプロセッサ４０６、プロトコルプロセッサ４０６の処理を制御する制御用レジスタ４０７、及びポート４０１との間で送受信するデータを一時的に記憶する送受信用レジスタ４０８を備えている。プロトコルプロセッサ４０６は、ＣＰＵであり、メモリ等に格納されているマイクロプログラムを実行することにより、ポート４０１の制御を行う。
【００２５】
チャネルプロセッサ４０３は、ＣＰＵであり、メモリ等に格納されているマイクロプログラムを実行することにより、チャネル制御部３０１全体の制御を行う。チャネルプロセッサ４０３は、共有メモリ１０３、キャッシュメモリ１０４、及びプロトコル制御部４０２とハブ４０９を介して通信可能に接続されている。ハブ４０９は、送受信されるデータを一時的に記憶する通信用バッファ４１０を備えている。チャネルプロセッサ４０３には、チャネルプロセッサ４０３が共有メモリ１０３等から読み出したデータを一時的に記憶しておく際等に使用するローカルメモリ４１１が接続されている。
【００２６】
チャネル制御部３０１には複数のポート４０１によりポートグループ４１２が形成されている。また、チャネル制御部３０１には複数のポート４０１を含むパッケージ４１３が形成され、１つのパッケージ４１３が１つのコントローラ１１１に搭載されている。なお、ディスクアレイ装置１００には、チャネル制御部３０１のパッケージ４１３を２つ以上実装することも可能である。これにより、１つのパッケージ４１３に障害が発生した場合には別のパッケージ４１３を用いることでディスクアレイ装置１００の耐障害性を高めることも可能である。
【００２７】
＝＝リンク初期化＝＝
図５は、情報処理装置２００のポート２１０とチャネル制御部３０１のポート４０１との間の物理的なリンクを初期化する処理において送受信されるプリミティブシーケンス５０１を含む一連の手順を示す図である。ファイバチャネルケーブル４０４がポート４０１に接続されると、プロトコルプロセッサ４０６は情報処理装置２００から送信されているＮＯＳ（Not_Operational Primitive Sequence）を検出する。そして、プロトコルプロセッサ４０６は、ポート４０１を介して情報処理装置２００にＮＯＳを送信する。これに続いて、情報処理装置２００とチャネル制御部３０１との間でＯＬＳ（Offline Primitive Sequence）、ＬＲ（Link Reset Primitive Sequence）、及びＬＲＲ（Link Reset Response Primitive Sequence）が送受信される。これにより、情報処理装置２００のポート２１０とチャネル制御部３０１のポート４０１との間の物理的なリンクが確立される。物理的なリンクが確立された後は、フレームの送受信を行う準備ができていることを示すプリミティブシグナルのＩｄｌｅがやりとりされ、その後ファイバチャネルのファブリックへ参加するためのＦＬＯＧＩフレームの送受信が行われる。これにより、物理的なリンクの初期化が完了する。
【００２８】
また、チャネル制御部３０１のポート４０１からファイバチャネルケーブル４０４が抜去されると、プロトコルプロセッサ４０６は当該ポート４０１からロスオブシグナル（Loss of Signal）を検出することができる。
【００２９】
＝＝論理パス＝＝
物理的なリンクが初期化された後に、情報処理装置２００がディスクアレイ装置１００にアクセスする際に用いる論理パスの確立が行われる。
【００３０】
図６は、情報処理装置２００が備えるチャネルイメージ６０１を示す図である。チャネルイメージ６０１は、論理的な情報処理装置のことであり、ディスクアレイ装置１００からは各チャネルイメージ６０１は独立した情報処理装置であるように見える。複数のチャネルイメージ６０１が、１つのポート２１０を通してディスクアレイ装置１００と接続されている。
【００３１】
図７は、ディスクアレイ装置１００が備えるＣＵ（Controll Unit）イメージ７０１を示す図である。ＣＵイメージ７０１は、論理的なディスクアレイ装置のことであり、情報処理装置２００からは各ＣＵイメージ７０１は独立したディスクアレイ装置であるように見える。ディスクアレイ装置１００のポート４０１は複数のＣＵイメージ７０１により共有されている。
【００３２】
チャネルイメージ６０１とＣＵイメージ７０１との間でデータの送受信を行うために、チャネルイメージ６０１とＣＵイメージ７０１とが通信を行う経路を設定する必要がある。この経路のことを論理パスと呼ぶ。論理パスはチャネルイメージ６０１、情報処理装置２００のポート２１０、ディスクアレイ装置１００のポート４０１、及びＣＵイメージ７０１の組合せに対して定義される。
【００３３】
論理パスを確立する際に情報処理装置２００とチャネル制御部３０１との間で送受信されるフレームシーケンスを図８に示す。まず、情報処理装置２００はＥＬＰ（Establish Logical Path）フレームをチャネル制御部３０１に送信する。このＥＬＰフレームには、確立する論理パスのチャネルイメージ６０１の番号、情報処理装置２００のポート２１０の番号、ディスクアレイ装置１００のポート４０１の番号、及びＣＵイメージ７０１の番号が設定されている。チャネル制御部３０１のプロトコルプロセッサ４０６は、ＥＬＰフレームを受信すると、ＬＰＥ（Logical Path Established）フレームを情報処理装置２００に送信する。情報処理装置２００は、ＬＰＥフレームを受信すると、ＬＡＣＫ（Link Level Acknowledgement）フレームをチャネル制御部３０１に送信する。この一連のフレームの送受信により論理パスが確立される。なお、確立されている論理パスの削除は、図９に示すＲＬＰ（Remove Logical Path）フレーム、ＬＰＲ（Logical Path Removed）フレーム、及びＬＡＣＫフレームの送受信により行われる。
【００３４】
以上、ディスクアレイ装置１００の構成および基本的な動作について説明した。以降において、情報処理装置２００が使用することができるポート４０１をチャネル制御部３０１が制御する方法について説明する。
【００３５】
＝＝使用可能数によるポート制御＝＝
まず、ポート数による制御方法について説明する。ディスクアレイ装置１００を導入するユーザは、複数のポート４０１のうちの使用したいポート数である「使用可能ポート数」を決定する。ユーザは使用可能ポート数に応じた料金をディスクアレイ装置１００の提供者に支払い、ライセンスキーを取得する。ユーザは、管理端末１０６から図１０に示す画面にて使用可能ポート数を入力する。ユーザは、使用可能ポート数を入力する際には、管理端末１０６から図１１に示す画面にて提供者から取得したライセンスキーを入力する必要がある。
【００３６】
このようにして入力された使用可能ポート数は、図１２に示すポート制御テーブル１２０１の「使用可能ポート数」の欄に設定される。ポート制御テーブル１２０１は、ディスクアレイ装置１００の共有メモリ１０３に記憶されている。ポート制御テーブル１２０１には、この他に「使用ポート数」の欄および「接続ポート情報」の欄がある。「使用ポート数」の欄には、チャネル制御部３０１により使用が許可されているポート４０１の数が記憶されている。「接続ポート情報」の欄には、ディスクアレイ装置１００が備える各ポート４０１の状態等が記憶されている。なお、ポート４０１の状態には、「接続稼働」、「接続非稼働」、「非接続」、及び「障害」の４つの状態がある。「接続稼働」は、当該ポート４０１にファイバチャネルケーブル４０４が接続され、チャネル制御部３０１により使用が許可されていることを表している。「接続非稼働」は、当該ポート４０１にファイバチャネルケーブル４０４が接続されているが、チャネル制御部３０１により使用が禁止されていることを表している。「非接続」は、ファイバチャネルケーブル４０４が接続されていないことを表している。「障害」は、何らかの障害が発生していることを表している。
【００３７】
図１３は、ファイバチャネルケーブル４０４がポート４０１に接続された際の、チャネル制御部３０１の処理を示すフローチャートである。プロトコルプロセッサ４０６はプリミティブシーケンスであるＮＯＳを受信すると（Ｓ１３０１）、チャネルプロセッサ４０３へ、当該ポート４０１の使用可否を問い合わせる（Ｓ１３０２）。チャネルプロセッサ４０３は、共有メモリ１０３に記憶されているポート制御テーブル１２０１の使用ポート数と使用可能ポート数とを参照し（Ｓ１３０３）、使用ポート数が使用可能ポート数未満であるか確認する（Ｓ１３０４）。
【００３８】
使用ポート数が使用可能ポート数未満である場合、チャネルプロセッサ４０３は、ポート制御テーブル１２０１の当該ポート４０１の状態を「接続稼働」に設定し（Ｓ１３０５）、使用ポート数に１加算する（Ｓ１３０６）。チャネルプロセッサ４０３はプロトコルプロセッサ４０６へ当該ポート４０１の使用許可を通知する（Ｓ１３０７）。プロトコルプロセッサ４０６は、使用許可の通知を受信すると、物理的なリンクを初期化するためのプリミティブシーケンス５０１の送受信を行う（Ｓ１３０８）。プロトコルプロセッサ４０６はリンク初期化の処理が正常に終了したかどうか確認する（Ｓ１３０９）。リンク初期化の処理が正常に終了している場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３にリンク初期化の完了を通知する（Ｓ１３１０）。リンク初期化の処理が正常に終了していない場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３にリンク初期化がエラーとなったことを通知する（Ｓ１３１１）。チャネルプロセッサ４０３は、リンク初期化のエラーの通知を受信すると、ポート制御テーブル１２０１の使用ポート数を１減じる（Ｓ１３１２）。
【００３９】
使用ポート数が使用可能ポート数未満でない場合、チャネルプロセッサ４０３は、プロトコルプロセッサ４０６へ当該ポート４０１の使用禁止を通知する（Ｓ１３１３）。そして、チャネルプロセッサ４０３は、ポート制御テーブル１２０１の当該ポート４０１の状態を「接続非稼働」に設定する（Ｓ１３１４）。プロトコルプロセッサ４０６は、チャネルプロセッサ４０３から当該使用禁止の通知を受信すると、当該ポート４０１について情報処理装置２００にＮＯＳを返信しない。そのため、当該ポート４０１には情報処理装置２００との間の物理的なリンクが確立されず、情報処理装置２００は当該ポートを介してハードディスクドライブ１２１との間でデータ入出力を行うことができない。なお、リンクを初期化しない方法はＮＯＳの返信を行わないことに限られず、プロトコルプロセッサ４０６が図５に示すリンク初期化処理における何れかのフレームを情報処理装置１００に送信しないこととしてもよい。
【００４０】
図１４は、ファイバチャネルケーブル４０４がポート４０１から抜去された際の、チャネル制御部３０１の処理を示すフローチャートである。プロトコルプロセッサ４０６はファイバチャネルケーブル４０４が抜去されたことを示すロスオブシグナルを受信すると（Ｓ１４０１）、チャネルプロセッサ４０３へ当該ポート４０１にファイバチャネルケーブル４０４が接続されていないことを通知する（Ｓ１４０２）。チャネルプロセッサ４０３は、ポート制御テーブル１２０１の使用ポート数を１減じ（Ｓ１４０３）、当該ポートの状態を「非接続」に設定する（Ｓ１４０４）。なお、ポート４０１の一時的な接触不良等により検出されるロスオブシグナルによる誤動作を防ぐため、プロトコルプロセッサ４０６は、ロスオブシグナルを受信後、ファイバチャネルケーブル４０４が抜去されている状態が一定時間継続している場合のみ、チャネルプロセッサ４０３へ通知することとしてもよい。
【００４１】
これにより、複数のポート４０１を有するディスクアレイ装置１００において、情報処理装置２００が使用可能なポート４０１を制限することが可能となる。
【００４２】
ディスクアレイ装置１００を導入するユーザは、必要なポート４０１の数にかかわらず、パッケージ４１３単位にチャネル制御部３０１を導入する必要がある。そのため、チャネル制御部３０１が備える全てのポート４０１を必要としないユーザにとっては、ディスクアレイ装置１００の導入時に必要以上のコストを要することとなる。
【００４３】
そこで、チャネル制御部３０１が備える複数のポート４０１について、使用可能なポート４０１をポート制御テーブル１２０１にて制限することにより、使用可能なポート数に応じたコストを設定することが可能となる。また、ディスクアレイ装置１００導入後に使用可能なポート数を追加する場合においても、そのポート数に応じたコストを設定することが可能となる。これにより、ディスクアレイ装置１００を使用するユーザにとっては、必要なポート数分のコストのみを負担すれば良いこととなり、ディスクアレイ装置１００導入時のコストを削減することができる。
【００４４】
ポート数に応じたコスト設定を行えない場合であっても、ディスクアレイ装置１００の提供者はユーザの申請するポート数に応じたコストを設定することがあった。しかし、このような場合にユーザが実際に使用しているポート数を把握できないため、ポート４０１に対する適切な課金ができていない状況にあった。前述のように使用可能なポート４０１をポート制御テーブルを用いて制限することにより、ディスクアレイ装置１００の提供者は、ユーザが使用しているポート４０１に対して適切な課金を行うことが可能となる。
【００４５】
また、ユーザは、将来の拡張性を考慮し、初期導入時に余分なチャネル制御部３０１を導入しておくことも可能である。余分なチャネル制御部３０１が必要ない間はこのチャネル制御部３０１が備えるポート４０１についてのコストは不要である。データ量の増大等により余分なチャネル制御部３０１のポート４０１を使用する必要が生じた場合は、保守員によるチャネル制御部３０１の増設作業等を行うことなく、管理端末１０６からポート制御テーブル１２０１の設定を変更することにより、当該チャネル制御部３０１のポート４０１が使用可能となる。これにより、ポート数追加時の作業時間の短縮および作業コストの削減を図ることができる。
【００４６】
以上、使用可能なポート４０１の数によりチャネル制御部３０１がポート４０１の使用可否を制御する方法を示したが、使用可能なポート４０１の数ではなく、使用可能なポートグループ４１２の数によりポート４０１の使用可否を制御することとしてもよい。
【００４７】
図１５は、ポートグループ４１２の数によりポートの使用可否を制御する場合のポート制御テーブル１５０１を示している。ポート制御テーブル１５０１には、「使用可能ポートグループ数」、「使用ポートグループ数」、「接続ポート情報」、及び「接続ポートグループ情報」の欄がある。「使用可能ポートグループ数」の欄には、管理端末１０６から登録される使用可能なポートグループ４１２の数が設定されている。なお、管理端末１０６において使用可能ポートグループ数を登録する画面は、図１０に示した使用可能ポート数を登録する画面と同様である。「使用ポートグループ数」の欄には、チャネル制御部３０１により使用が許可されているポートグループ４１２の数が記憶されている。「接続ポート情報」の欄には、ポート数によりポート４０１の使用可否を制御する場合と同じく、各ポート４０１の状態が記憶されている。「接続ポートグループ情報」の欄には、ディスクアレイ装置１００が備える各ポートグループ４１２の状態が記憶されている。なお、ポートグループ４１２の状態には、「使用許可」、「使用禁止」、及び「障害」の３つの状態がある。「使用許可」は当該ポートグループ４１２の使用が許可されていること、「使用禁止」は当該ポートグループ４１２の使用が禁止されていることを表している。また、「障害」は当該ポートグループ４１２において何らかの障害が発生していることを表している。
【００４８】
図１６は、ポートグループ数によりポート４０１の使用可否を制御する場合において、ポート４０１にファイバチャネルケーブル４０４が接続された際のチャネル制御部３０１の処理を示すフローチャートである。
【００４９】
プロトコルプロセッサ４０６は、リンク初期化のプリミティブシーケンスであるＮＯＳを受信すると（Ｓ１６０１）、当該ポートの使用可否をチャネルプロセッサ４０３に問い合わせる（Ｓ１６０２）。チャネルプロセッサ４０３は、ポート制御テーブル１５０１の接続ポートグループ情報を取得し、当該ポート４０１の属するポートグループ４１２が使用許可の状態であるか確認する（Ｓ１６０４）。
【００５０】
当該ポート４０１の属するポートグループ４１２が使用許可されている場合、チャネルプロセッサ４０３はプロトコルプロセッサ４０６に当該ポート４０１の使用許可を通知する（Ｓ１６０５）。プロトコルプロセッサ４０６は当該通知を受信すると、リンク初期化のプリミティブシーケンス５０１の送受信を行う（Ｓ１６０６）。プロトコルプロセッサ４０６は、リンク初期化の処理が正常に終了したかどうか確認する（Ｓ１６０７）。リンク初期化の処理が正常に終了している場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３へリンク初期化の完了を通知する（Ｓ１６０８）。チャネルプロセッサ４０３はポート制御テーブル１５０１の接続ポート情報を接続稼働ポートに設定する（Ｓ１６０９）。チャネルプロセッサ４０３は、管理端末１０６へ当該ポート４０１の接続ポート情報が変更されたことを通知する（Ｓ１６１０）。なお、接続ポート情報の変更を管理端末１０６へ通知するのは、後述するポート状態確認画面１８０１の情報を更新するためである。リンク初期化の処理が正常に終了していない場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３へリンク初期化の処理がエラーとなったことを通知する（Ｓ１６１１）。チャネルプロセッサ４０３は、リンク初期化のエラー通知を受信すると、ポート制御テーブル１５０１の当該ポート４０１の接続ポート情報を障害ポートに設定する（Ｓ１６１２）。
【００５１】
当該ポート４０１の属するポートグループ４１２が使用許可されていない場合、チャネルプロセッサ４０３は、ポート制御テーブル１５０１の使用可能ポートグループ数と使用ポートグループ数とを取得する（Ｓ１６１３）。チャネルプロセッサ４０３は、使用ポートグループ数が使用可能ポートグループ数未満であるかどうか確認する（Ｓ１６１４）。使用ポートグループ数が使用可能ポートグループ数以上である場合、チャネルプロセッサ４０３はプロトコルプロセッサ４０６へ当該ポート４０１の使用禁止を通知する（Ｓ１６１５）。チャネルプロセッサ４０３は、ポート制御テーブル１５０１の当該ポートの接続ポート情報を接続非稼働ポートに設定し、当該ポートグループの接続ポートグループ情報を使用禁止に設定する（Ｓ１６１６）。使用ポートグループ数が使用可能ポートグループ数未満である場合、チャネルプロセッサ４０３は、ポート制御テーブル１５０１の使用ポートグループ数に１加算する（Ｓ１６１７）。チャネルプロセッサ４０３は、プロトコルプロセッサ４０６へ当該ポート４０１の使用許可を通知する（Ｓ１６１８）。プロトコルプロセッサ４０６は当該通知を受信すると、リンク初期化のプリミティブシーケンス５０１の送受信を行う（Ｓ１６１９）。プロトコルプロセッサ４０６は、リンク初期化の処理が正常に終了したかどうか確認する（Ｓ１６２０）。リンク初期化の処理が正常に終了している場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３へリンク初期化の完了を通知する（Ｓ１６２１）。チャネルプロセッサ４０３はポート制御テーブル１５０１の接続ポート情報を接続稼働ポートに設定し、当該ポートグループ４１２の接続ポートグループ情報を使用許可に設定する（Ｓ１６２２）。チャネルプロセッサ４０３は、管理端末１０６へ当該ポート４０１の接続ポート情報が変更されたことを通知する（Ｓ１６２３）。リンク初期化の処理が正常に終了していない場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３へリンク初期化の処理がエラーとなったことを通知する（Ｓ１６２４）。チャネルプロセッサ４０３は、リンク初期化のエラー通知を受信すると、ポート制御テーブル１５０１の当該ポート４０１の接続ポート情報を障害ポートに設定し（Ｓ１６２５）、使用ポートグループ数から１減じる（Ｓ１６２６）。
【００５２】
このように、使用可能なポートグループ４１２の数により、情報処理装置２００が使用可能なポート４０１の数を制御することも可能である。同様に、チャネル制御部３０１は、プロトコルプロセッサ４０６の数またはパッケージ４１３の数により、情報処理装置２００が使用可能なポート４０１の数を制御することも可能である。
【００５３】
また、チャネル制御部３０１は、論理パスの数によりポート４０１の使用可否を制御することも可能である。
【００５４】
図１７は、チャネル制御部３０１が、情報処理装置との間で確立されている論理パスの数により、情報処理装置２００からのアクセスを制御する場合のポート制御テーブル１７０１を示す図である。ポート制御テーブル１７０１は、「使用可能論理パス数」、「使用論理パス数」、及び「論理パス情報」の欄を備えている。「使用可能論理パス数」の欄には、管理端末１０６から登録される使用可能な論理パスの数が設定されている。なお、管理端末１０６において使用可能論理パス数を登録する画面は、図１０に示した使用可能ポート数を登録する画面と同様である。「使用論理パス数」の欄には、チャネル制御部３０１から使用を許可され、情報処理装置２００との間で確立されている論理パスの数が記憶されている。「論理パス情報」の欄には、論理パス番号ごとに、制御ＦＬＧ、ＣＨＬポート＃、ＤＫＣポート＃、ＣＨＬＩｍｇ＃、及びＣＵＩｍｇ＃が記憶されている。制御ＦＬＧは、当該論理パスが既に確立されているかどうかを示している。ＣＨＬポート＃は、情報処理装置２００のポート２１０のポート番号、ＤＫＣポート＃は、ディスクアレイ装置１００のポート４０１のポート番号を表している。また、ＣＨＬＩｍｇ＃はチャネルイメージ６０１の番号、ＣＵＩｍｇ＃はＣＵイメージ７０１の番号を表している。
【００５５】
チャネル制御部３０１は、情報処理装置２００から論理パスの確立要求であるＥＬＰフレームを受信すると、ポート制御テーブル１７０１の論理パス情報の制御ＦＬＧを参照し、ＥＬＰフレームで指定されたＣＨＬポート＃、ＤＫＣポート＃、ＣＨＬＩｍｇ＃、及びＣＵＩｍｇ＃の論理パスが既に確立されているかどうか確認する。論理パスが既に確立されている場合、チャネル制御部３０１は、情報処理装置２００にＬＰＥフレームを送信し、当該論理パスを再度確立する。論理パスがまだ確立されていない場合、チャネル制御部３０１はポート制御テーブル１７０１の使用可能論理パス数と使用論理パス数とを参照し、使用論理パス数が使用可能論理パス数未満であるかどうか確認する。使用論理パス数が使用可能論理パス数未満である場合、チャネル制御部３０１はポート制御テーブル１７０１の使用論理パス数に１加算し、情報処理装置２００にＬＰＥフレームを送信する。これにより、当該論理パスが確立される。使用論理パス数が使用可能論理パス数以上である場合、チャネル制御部３０１は、ＬＲＪ（Link Level Reject）フレームを情報処理装置２００に送信し、当該論理パスを確立しない。
【００５６】
このように、チャネル制御部３０１は、物理的なポート４０１の数だけでなく、ポート４０１の上に形成される論理パスの数により、情報処理装置２００が使用可能なポート４０１を制御することが可能である。
【００５７】
以上、使用可能なポート数、ポートグループ数、論理パス数など、数により情報処理装置２００が使用可能なポート４０１を制御する方法について説明した。
【００５８】
＝＝使用可能番号によるポート制御＝＝
次に、情報処理装置２００が使用可能なポート４０１をポート番号等を指定することにより制御することもできる。
【００５９】
まず、チャネル制御部３０１が備えるポート４０１のポート番号を用いて、情報処理装置２００が使用可能なポート４０１を制御する方法について説明する。図１８は、管理端末１０６において、使用可能なポート４０１を登録する画面１８０１を示す図である。画面１８０１には、チャネル制御部３０１が備えるポート４０１ごとの状態及び各状態のポート４０１の数が表示されている。ポート４０１の状態には、「Ａｃｔｉｖｅ」、「Ｉｎａｃｔｉｖｅ」、「障害」、及び「未実装」がある。「Ａｃｔｉｖｅ」は、当該ポート４０１の使用が許可されていることを示している。「Ｉｎａｃｔｉｖｅ」は、当該ポート４０１の使用が許可されていないことを示している。「障害」は、当該ポート４０１に障害が発生していることを示している。また、「未実装」は、ディスクアレイ装置１００に実装することが可能であるが、まだ実装されていないポート４０１を示している。画面１８０１において、「Ｉｎａｃｔｉｖｅ」の状態にあるポート４０１を選択し、「Ａｃｔｉｖｅ」ボタンを押下し、「Ａｐｐｌｙ」ボタンを押下することにより、当該ポート４０１は「Ａｃｔｉｖｅ」状態に変更される。また、「Ａｃｔｉｖｅ」の状態にあるポート４０１を選択し、「Ｉｎａｃｔｉｖｅ」ボタンを押下し、「Ａｐｐｌｙ」ボタンを押下することにより、当該ポート４０１は「Ｉｎａｃｔｉｖｅ」状態に変更される。このようにして設定された各ポート４０１の状態は、図１９に示すポート制御テーブル１９０１に記憶される。ポート制御テーブル１９０１は共有メモリに記憶されており、管理端末１０６から設定された各ポート４０１の使用可否が設定されている。
【００６０】
チャネルプロセッサ４０３は、管理端末１０６からポート制御テーブル１９０１の変更通知を受信すると、ポート制御テーブル１９０１の接続ポート情報を参照する。チャネルプロセッサ４０３は、各ポート４０１の接続可否を図２０に示すポート閉塞制御テーブル２００１に設定する。このポート閉塞制御テーブル２００１は、各ポート４０１を制御するプロトコル制御部４０２の制御用レジスタ４０７に記憶されている。
【００６１】
プロトコルプロセッサ４０６は、情報処理装置２００からＮＯＳを受信すると、制御用レジスタ４０７を参照し、当該ポート４０１の使用可否を判断する。使用が許可されている場合、プロトコルプロセッサ４０６は、プリミティブシーケンスに応答し、物理的なリンクを確立する。使用が許可されていない場合、プロトコルプロセッサ４０６は、プリミティブシーケンスに応答せず、物理的なリンクを確立しない。
【００６２】
このように、ポート４０１の番号を指定することで、情報処理装置２００が使用可能なポート４０１を制御することができる。
【００６３】
また、図１８の画面１８０１は、前述したポート数による制御を行う場合においても、各ポート４０１の状態を確認するために使用することができる。この場合、「Ａｃｔｉｖｅ」とは「接続稼働」を示し、「Ｉｎａｃｔｉｖｅ」とは「接続非稼働」または「未接続」を示す。また、使用ポート数が使用可能ポート数未満である場合には、「残」の欄に使用することができる残りのポート数が表示される。なお、管理端末１０６は、定期的またはチャネルプロセッサ４０３からの通知により共有メモリのポート制御テーブル１２０１を参照して、当該画面１８０１の情報を更新する。
【００６４】
以上、チャネル制御部３０１がポート番号によりポート４０１の使用可否を制御する方法について説明した。同様に、プロトコルプロセッサ４０６、ポートグループ４１２、パッケージ４１３、ポートプラグ４０５、プロトコル制御部４０２、ＨＵＢ４０９等を指定して、各ポート４０１の使用可否を制御することも可能である。例えば、プロトコルプロセッサ４０６を指定したポート４０１の使用可否の設定は、画面１８０１のポート４０１の表示を図２１のようにプロトコルプロセッサ４０６単位に指定可能な状態に変更した画面２１０１から行うことが可能である。
【００６５】
＝＝使用可能ポート数変更の制御＝＝
次に、ポート数により情報処理装置２００が使用可能なポート４０１を制御する場合において、管理端末１０６から使用可能ポート数を変更する場合の動作について説明する。
【００６６】
図２２は、チャネル制御部３０１が管理端末１０６から使用可能ポート数の変更要求を受信した際の処理を示すフローチャートである。なお、管理端末１０６における使用可能ポート数を変更する画面は、図１０の画面１００１と同様である。
【００６７】
チャネルプロセッサ４０３は、管理端末１０６から使用可能ポート数の更新要求を受信すると（Ｓ２２０１）、ポート制御テーブル１２０１の使用ポート数を参照する（Ｓ２２０２）。チャネルプロセッサ４０３は、管理端末１０６から受信した使用可能ポート数が使用ポート数未満であるかどうか確認する（Ｓ２２０３）。
【００６８】
管理端末１０６から受信した使用可能ポート数が使用ポート数以上である場合、チャネルプロセッサ４０３は、ポート制御テーブル１２０１の使用可能ポート数に管理端末１０６から受信した使用可能ポート数を設定する（Ｓ２２０４）。そして、チャネルプロセッサ４０３は、ポート制御テーブル１２０１の接続ポート情報を参照し、「接続非稼働」の状態にあるポート４０１の数が使用可能ポート数と使用ポート数との差以下であるかどうか確認する（Ｓ２２０５）。「接続非稼働」のポート４０１の数が使用可能ポート数と使用ポート数との差以下である場合、チャネルプロセッサ４０３は、全ての「接続非稼働」のポート４０１の使用許可をプロトコルプロセッサ４０６に通知する（Ｓ２２０６）。「接続非稼働」のポート４０１の数が使用可能ポート数と使用ポート数との差以下でない場合、チャネルプロセッサ４０３は、使用可能ポート数と使用ポート数との差の数の「非稼動」のポート４０１を優先順位が高い順に選択し、選択したポート４０６の使用許可をプロトコルプロセッサ４０６に通知する（Ｓ２２０７）。そして、チャネルプロセッサ４０３は、ポート制御テーブル１２０１の使用ポート数を変更する（Ｓ２２０８）。なお、各ポート４０１の優先順位はポート制御テーブル１２０１の接続ポート情報に設定されている。
【００６９】
プロトコルプロセッサ４０６は、使用許可されたポート４０１について、情報処理装置２００との間で、物理的なリンクを初期化するためのプリミティブシーケンス５０１の送受信を行う（Ｓ２２０９）。プロトコルプロセッサ４０６は、リンク初期化の処理が正常に終了しているかどうか確認する（Ｓ２２１０）。リンク初期化の処理が正常に終了している場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３へリンク初期化が完了したことを通知する（Ｓ２２１１）。リンク初期化の処理が正常に終了していない場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３にリンク初期化の処理がエラーとなったことを通知する（Ｓ２２１２）。チャネルプロセッサ４０３は、リンク初期化のエラーの通知を受信すると、ポート制御テーブル１２０１の使用ポート数からリンク初期化がエラーとなったポート４０１の数を減じる（Ｓ２２１３）。
【００７０】
管理端末１０６から受信した使用可能ポート数が使用ポート数未満である場合、チャネルプロセッサ４０３は管理端末１０６に使用可能ポート数が使用ポート数未満であることを通知する（Ｓ２２１４）。チャネルプロセッサ４０３は、管理端末１０６から当該設定変更処理を続行するかどうかを受信する（Ｓ２２１５）。  
設定変更を続行しない場合は、ポート制御テーブル１２０１の使用可能ポート数の更新を行わずに処理を終了する。設定変更を続行する場合、チャネルプロセッサ４０３は管理端末１０６から使用を中止するポート４０１のポート番号を受信する（Ｓ２２１６）。チャネルプロセッサ４０３は、使用ポート数と使用を中止するポート４０１の数との差が使用可能ポート数以下となっているか確認する（Ｓ２２１７）。使用可能ポート数以下になると、チャネルプロセッサ４０３は、管理端末１０６から受信したポート番号のポート４０１について、使用を中止するようプロトコルプロセッサ４０６へ通知する（Ｓ２２１８）。チャネルプロセッサ４０３は、ポート制御テーブル１２０１の使用可能ポート数に管理端末１０６から受信した使用可能ポート数を設定する（Ｓ２２１９）。プロトコルプロセッサ４０６は、チャネルプロセッサ４０３からポート４０１の使用中止の通知を受信すると、当該ポート４０１の物理的なリンクの切断処理を開始する（Ｓ２２２０）。  
なお、リンクの切断は、ＯＬＳを５ミリ秒以上送信することにより行われる。そして、プロトコルプロセッサ４０６は、リンクの切断処理の完了をチャネルプロセッサ４０３に通知する（Ｓ２２２１）。チャネルプロセッサ４０３は、ポート制御テーブル１２０１の使用ポート数から使用を中止したポート４０１の数を減じ、当該ポート４０１の状態を「接続非稼動」に設定する（Ｓ２２２２）。チャネルプロセッサ４０３はポート４０１の使用中止が完了したことを管理端末１０６に通知し、処理を終了する。なお、使用を中止するポート４０１のポート番号を管理端末１０６から受信するのではなく、ポート４０１の優先順位に従って使用を中止するポート４０１を選択することとしてもよい。
【００７１】
このように、管理端末１０６から使用可能ポート数を変更した場合、変更後の使用可能ポート数に応じて、各ポート４０１の状態を変更することが可能である。例えば、ディスクアレイ装置１００の導入後に、使用可能なポート数を増やす場合において、ファイバチャネルケーブル４０４が接続されているが使用が許可されていないポート４０１を使用可能とすることができる。また、使用可能なポート数を減らす場合において、使用されているポート４０１の数を使用可能ポート数となるよう変更することができる。いずれの場合においても、ファイバチャネルケーブル４０４の抜き差し等の作業を必要とせず、管理端末１０６からポート制御テーブル１２０１の設定変更のみを行えばよいため、作業時間の短縮および作業コストの削減を図ることができる。
【００７２】
以上、使用可能ポート数を変更する際の処理について説明したが、同様の手順により、使用可能プロトコルプロセッサ数、使用可能ポートグループ数、使用可能パッケージ数等の変更を行うことも可能である。
【００７３】
＝＝使用ポート入れ替えの制御＝＝
次に、ポート数により情報処理装置２００が使用可能なポート４０１を制御する場合において、２つのポート４０１の状態を入れ替える方法について説明する。
【００７４】
図２３は、管理端末１０６から状態を入れ替える２つのポート４０１を指定する画面２３０１である。画面２３０１に「接続稼動」のポート４０１のポート番号と「接続非稼動」のポート４０１のポート番号とを入力し、「Ｃｈａｎｇｅ」ボタンを押下すると、２つのポート４０１のポート番号が設定された入れ替え要求がチャネル制御部３０１に送信される。
【００７５】
図２４は、チャネル制御部３０１における２つのポート４０１の入れ替え処理を示すフローチャートである。チャネルプロセッサ４０３は、管理端末１０６から「接続稼動」のポート４０１のポート番号と「接続非稼動」のポート４０１のポート番号とが設定された入れ替え要求を受信する（Ｓ２４０１）。
【００７６】
まず、チャネルプロセッサ４０３は、管理端末１０６から指定された「接続稼動」のポート４０１の使用を中止するようプロトコルプロセッサ２４０２に通知する（Ｓ２４０２）。プロトコルプロセッサ４０６は、当該ポート４０１の物理的なリンクの切断処理を開始する（Ｓ２４０３）。そして、プロトコルプロセッサ４０６は、リンクの切断処理の完了をチャネルプロセッサ４０３に通知する（Ｓ２４０４）。チャネルプロセッサ４０３は、当該ポート４０１について、ポート制御テーブル１２０１の接続ポート情報を「接続非稼動」に設定する（Ｓ２４０５）。
【００７７】
次に、チャネルプロセッサ４０３は、管理端末１０６から指定された「接続非稼動」のポート４０１の使用許可をプロトコルプロセッサ４０６に通知する（Ｓ２４０６）。プロトコルプロセッサ４０６は、当該ポート４０１について、情報処理装置２００との間で、物理的なリンクを初期化するためのプリミティブシーケンス５０１の送受信を行う（Ｓ２４０７）。プロトコルプロセッサ４０６は、リンク初期化の処理が正常に終了しているかどうか確認する（Ｓ２４０８）。リンク初期化の処理が正常に終了している場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３へリンク初期化が完了したことを通知する（Ｓ２４０９）。チャネルプロセッサ４０３は、当該ポート４０１について、ポート制御テーブル１２０１の接続ポート情報を「接続稼動」に設定する（Ｓ２４１０）。リンク初期化の処理が正常に終了していない場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３にリンク初期化の処理がエラーとなったことを通知する（Ｓ２４１１）。チャネルプロセッサ４０３は、リンク初期化のエラーの通知を受信すると、ポート制御テーブル１２０１の使用ポート数を１減じる（Ｓ２４１２）。
【００７８】
このように、管理端末１０６からの入力により、２つのポート４０１の状態を入れ替えることが可能である。例えば、ポート４０１の障害に備え、ディスクアレイ装置１００の導入時にはポート制御テーブル１２０１に設定されている使用可能ポート数以上のポート４０１にファイバチャネルケーブル４０４を接続しておく。そして、使用しているポート４０１の障害を検知した場合等に、このポート４０１を使用禁止し、ファイバチャネルケーブル４０４が接続されているが使用禁止されている別のポート４０１を使用可能とすることができる。この場合、ファイバチャネルケーブル４０４の抜き差し等の作業を必要とせず、管理端末１０６からポート制御テーブル１２０１の設定変更のみを行えばよいため、障害復旧時間の短縮および作業コストの削減を図ることができる。
【００７９】
＝＝時間帯に応じてポート数を制御＝＝
ポート数により情報処理装置２００が使用可能なポート４０１を制御する方法を説明したが、このポート数を時間帯により変更する方法を説明する。
【００８０】
図２５は、時間帯により使用可能ポート数を変更する場合のポート制御テーブル２５０１を示す図である。ポート制御テーブル２５０１は、「使用可能ポート数タイムテーブル」、「使用ポート数」、「接続ポート情報」、及び「全ポート使用時間」の欄を備えている。「使用可能ポート数タイムテーブル」の欄には、時間帯ごとの使用可能ポート数が記憶されている。図２５の例は、９：００から１７：００までの使用可能ポート数が「４」、１７：００から９：００までの使用可能ポート数が「８」であることを示している。「使用ポート数」の欄には、チャネル制御部３０１から使用許可されているポート４０１の数が記憶されている。「接続ポート情報」の欄には、各ポート４０１の状態、優先順位、及び使用時間が記憶されている。なお、各ポート４０１の状態とは前述した「接続稼動」、「接続非稼動」、及び「障害」のことである。また、「全ポート使用時間」の欄には、全てのポート４０１の使用時間の合計が記憶されている。
【００８１】
図２６は、時間帯に応じて使用可能ポート数を変更する場合の、チャネル制御部３０１の処理を示すフローチャートである。チャネルプロセッサ４０３は、ポート制御テーブル２５０１の使用ポート数タイムテーブルを参照し、現在時刻が属する時間帯が変わると図２６に示すポート数切替処理を実行する。
【００８２】
チャネルプロセッサ４０３は、前の時間帯の使用可能ポート数と現在の時間帯の使用可能ポート数とを比較し、ポート数の切替があるかどうか確認する（Ｓ２６０１）。ポート数の切替がある場合、チャネルプロセッサ４０３はポート制御テーブル２５０１の使用ポート数を参照し（Ｓ２６０２）、現在の時間帯の使用可能ポート数が使用ポート数未満であるかどうか確認する（Ｓ２６０３）。
【００８３】
使用可能ポート数が使用ポート数以上である場合、チャネルプロセッサ４０３は、「接続非稼動」のポート４０１の数が使用可能ポート数と使用ポート数との差以下であるかどうか確認する（Ｓ２６０４）。「接続非稼動」のポート４０１の数が使用可能ポート数と使用ポート数との差以下である場合、チャネルプロセッサ４０３は、「接続非稼動」の全てのポート４０１の使用許可をプロトコルプロセッサ４０６に通知する（Ｓ２６０５）。「接続非稼動」のポート４０１の数が使用可能ポート数と使用ポート数との差以下でない場合、チャネルプロセッサ４０３は、使用可能ポート数と使用ポート数との差の数の「接続非稼動」のポート４０１を優先順位の高い順に選択し、プロトコルプロセッサ４０６に選択したポート４０６の使用許可を通知する（Ｓ２６０６）。そして、チャネルプロセッサ４０３は、ポート制御テーブル２５０１の使用ポート数を変更し、使用許可されたポート４０１の状態を「接続稼動」に設定する（Ｓ２６０７）。
【００８４】
プロトコルプロセッサ４０６は、使用許可されたポート４０１について、情報処理装置２００との間で、物理的なリンクを初期化するためのプリミティブシーケンス５０１の送受信を行う（Ｓ２６０８）。プロトコルプロセッサ４０６は、リンク初期化の処理が正常に終了しているかどうか確認する（Ｓ２６０９）。リンク初期化の処理が正常に終了している場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３へリンク初期化が完了したことを通知する（Ｓ２６１０）。リンク初期化の処理が正常に終了していない場合、プロトコルプロセッサ４０６は、チャネルプロセッサ４０３にリンク初期化の処理がエラーとなったことを通知する（Ｓ２６１１）。チャネルプロセッサ４０３は、リンク初期化のエラーの通知を受信すると、ポート制御テーブル２５０１の使用ポート数からリンク初期化がエラーとなったポート４０１の数を減じる（Ｓ２６１２）。
【００８５】
現在の時間帯の使用可能ポート数が使用ポート数未満である場合、チャネルプロセッサ４０３は、使用ポート数と使用可能ポート数との差の数の「接続稼動」のポート４０１を優先順位の低い順に選択し、プロトコルプロセッサ４０６に選択したポート４０６の使用中止を通知する（Ｓ２６１３）。プロトコルプロセッサ４０６は、チャネルプロセッサ４０３からポート４０１の使用中止の通知を受信すると、当該ポート４０１の物理的なリンクの切断処理を開始する（Ｓ２６１４）。プロトコルプロセッサ４０６は、リンクの切断処理の完了をチャネルプロセッサ４０３に通知する（Ｓ２６１５）。チャネルプロセッサ４０３は、ポート制御テーブル２５０１の使用ポート数から使用を中止したポート４０１の数を減じ、当該ポート４０１の状態を「接続非稼動」に設定する（Ｓ２６１６）。
【００８６】
また、チャネルプロセッサ４０３は、ポート制御テーブル２５０１を定期的に参照し、「接続稼動」のポート４０１の使用時間と「全ポート使用時間」を更新する。
【００８７】
このように、時間帯に応じて情報処理装置２００が使用可能なポート４０１の数を変更することが可能である。例えば、日中のオンライン業務と夜間のバッチ処理のように、ディスクアレイ装置１００に対する入出力の負荷が時間帯により異なる場合において、時間帯ごとに使用可能なポート数を設定することができる。また、ポート４０１ごとの使用時間を記憶しておくことにより、ポート４０１の使用時間に応じた課金を行うことができる。そのため、ディスクアレイ装置１００を使用するユーザは入出力負荷が最大時のポート数のみによる課金ではなく、利用形態に即した課金を選択することができ、コストを削減することが可能となる。
【００８８】
＝＝ポートごとの使用率測定＝＝
これまでに、情報処理装置２００が使用可能なポート４０１を制御する方法について説明した。次に、チャネル制御部３０１が各ポート４０１の使用率を測定する方法について説明する。
【００８９】
図２７は、チャネル制御部３０１が参照する性能モニタリングテーブルを示す図である。性能モニタリングテーブル２７０１は、「測定時間間隔」、「ポート使用率閾値」、及び「ポート情報」の欄を備えており、共有メモリ１０３に記憶されている。「測定時間間隔」及び「ポート使用率閾値」は、図１０の画面１００１と同様の画面を用いて、管理端末１０６から登録される。
【００９０】
チャネルプロセッサ４０３は、性能モニタリングテーブル２７０１の測定時間間隔を参照し、この測定時間間隔ごとに、各ポート４０１の使用率を測定する。各ポート４０１の使用率は、一定時間において実際にポート４０１が使用されている時間の割合により求められる。チャネルプロセッサ４０３は、測定した使用率を性能モニタリングテーブル２７０１のポート情報に記憶する。チャネルプロセッサ４０３は、使用率が性能モニタリングテーブル２７０１に設定されているポート使用率閾値を超えているポート４０１がある場合は、その内容を管理端末１０６に通知する。
【００９１】
管理端末１０６は、図２８に示す画面２８０１を用いて、各ポート４０１の使用率の推移を確認することができる。ポート４０１の使用率を表示する場合、画面２８０１においてポート４０１の番号と測定時間とを入力し、「ＯＫ」ボタンを押下する。管理端末１０６は、指定された測定時間の間、指定されたポート４０１について、性能モニタリングテーブル２７０１に記憶されている使用率を参照し、画面２８０１に描画する。
【００９２】
これにより、ユーザは負荷の高いポート４０１が無いか確認することができる。また、この情報を、使用可能なポート４０１を追加すべきかどうかの判断に用いることができる。そのため、使用可能なポート４０１の数を実際のデータ量に応じた適正な数にすることが可能となり、余分なポート４０１を追加することによるコストの増大や、ポート４０１の不足による処理性能の低下を防止することが可能となる。
【００９３】
以上、本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。  
例えば、本実施の形態において、情報処理装置２００はメインフレームに限られずパーソナルコンピュータやワークステーションなどのオープン系コンピュータであってもよい。
【００９４】
なお、オープン系の場合、論理パスを情報処理装置２００のポート２１０とディスクアレイ装置１００のポート４０１との組合せを表すパスに置き換えられる。メインフレームにおけるＥＬＰフレームは、オープン系において情報処理装置２００がディスクアレイ装置１００に送信するＰＬＯＧＩフレームにあたる。また、メインフレームにおけるＬＰＥフレームは、オープン系においてディスクアレイ装置１００が情報処理装置２００に送信するＰＬＯＧＩの完了を示す応答フレームにあたる。また、メインフレームにおけるＬＲＪフレームは、オープン系においてディスクアレイ装置１００が情報処理装置２００に送信するＰＬＯＧＩの拒絶を示す応答フレームにあたる。
【００９５】
オープン系においてパス数での制御を行う場合、図１７のポート制御テーブル１７０１の論理パス情報には、情報処理装置２００のポート４０１のＷＷＮ（World Wide Name）とディスクアレイ装置１００のポート４０１のポート番号であるＤＫＣポート＃とが記憶されているものとする。これにより、オープン系の場合においても、メインフレームの場合と同様にパス数での制御を行うことが可能である。
【図面の簡単な説明】
【００９６】
【図１】本実施の形態に係るディスクアレイ装置の全体構成を示すブロック図である。
【図２】本実施の形態に係るディスクアレイ装置の外観構成を示す図である。
【図３】本実施の形態に係るコントローラがディスク制御装置の装着部に挿入される様子を示す図である。
【図４】本実施の形態に係るチャネル制御部の構成を示すブロック図である。
【図５】本実施の形態に係るリンク初期化の処理において情報処理装置とチャネル制御部との間で送受信されるプリミティブシーケンスを含む一連のデータを示す図である。
【図６】本実施の形態に係る情報処理装置が備えるチャネルイメージを示す図である。
【図７】本実施の形態に係るディスクアレイ装置が備えるＣＵイメージを示す図である。
【図８】本実施の形態に係る論理パスを確立する際に情報処理装置とチャネル制御部との間で送受信されるフレームシーケンスを示す図である。
【図９】本実施の形態に係る論理パスを削除する際に情報処理装置とチャネル制御部との間で送受信されるフレームシーケンスを示す図である。
【図１０】本実施の形態に係る管理端末にて使用可能ポート数を入力する画面である。
【図１１】本実施の形態に係る管理端末にてライセンスキーを入力する画面である。
【図１２】本実施の形態に係るポート数にてポートの制御を行う場合のポート制御テーブルを示す図である。
【図１３】本実施の形態に係るポート数にてポートの制御を行う場合のファイバチャネルケーブルがポートに接続された際のチャネル制御部の処理を示すフローチャートである。
【図１４】本実施の形態に係るポート数にてポートの制御を行う場合のファイバチャネルケーブルがポートから抜去された際のチャネル制御部の処理を示すフローチャートである。
【図１５】本実施の形態に係るポートグループ数にてポートの制御を行う場合のポート制御テーブルを示す図である。
【図１６】本実施の形態に係るポートグループ数にてポートの制御を行う場合のファイバチャネルケーブルがポートに接続された際のチャネル制御部の処理を示すフローチャートである。
【図１７】本実施の形態に係る論理パス数にてポートの制御を行う場合のポート制御テーブルを示す図である。
【図１８】本実施の形態に係る管理端末にて使用可能なポートを登録する画面である。
【図１９】本実施の形態に係るポート番号にてポートの制御を行う場合のポート制御テーブルを示す図である。
【図２０】本実施の形態に係るポート番号にてポートの制御を行う場合のポート閉塞制御テーブルを示す図である。
【図２１】本実施の形態に係る管理端末にて使用可能なプロトコルプロセッサを登録する画面である。
【図２２】本実施の形態に係るポート数にてポートの制御を行う場合の使用可能ホ゜ート数の変更要求が管理端末から入力された際のチャネル制御部の処理を示すフローチャートである。
【図２３】本実施の形態に係る管理端末にて２つのポートの状態の入れ替えを指定する画面である。
【図２４】本実施の形態に係るチャネル制御部にて２つのポートの状態の入れ替え処理を示すフローチャートである。
【図２５】本実施の形態に係る時間帯により使用可能ポート数を変更する場合のポート制御テーブルを示す図である。
【図２６】本実施の形態に係る時間帯により使用可能ポート数を変更する場合のチャネル制御部の処理を示すフローチャートである。
【図２７】本実施の形態に係る性能モニタリングテーブルを示す図である。
【図２８】本実施の形態に係る管理端末においてポートの使用率を表示する画面である。
【符号の説明】
【００９７】
１００  ディスクアレイ装置              １０１  チャネル制御部
１０２  ディスク制御部                  １０３  共有メモリ
１０４  キャッシュメモリ                １０５  スイッチング制御部
１０６  管理端末                        １１０  ディスク制御装置
１１１  コントローラ                    １１２  電源部
１１３  ファン                          １２０  ディスク駆動装置
１２１  ハードディスクドライブ
２００  情報処理装置                    ２１０  ポート
４０１  ポート                          ４０２  プロトコル制御部
４０３  チャネルプロセッサ              ４０４  ファイバチャネルケーブル
４０５  ポートプラグ                    ４０６  プロトコルプロセッサ
４０７  制御用レジスタ                  ４０８  送受信用レジスタ
４０９  ハブ                            ４１０  通信用バッファ
４１１  ローカルメモリ                  ４１２  ポートグループ
４１３  パッケージ
５０１  プリミティブシーケンス          ６０１  チャネルイメージ
７０１  ＣＵイメージ
【図１】
2005165440.tif 000003
【図２】
2005165440.tif 000004
【図３】
2005165440.tif 000005
【図４】
2005165440.tif 000006
【図５】
2005165440.tif 000007
【図６】
2005165440.tif 000008
【図７】
2005165440.tif 000009
【図８】
2005165440.tif 000010
【図９】
2005165440.tif 000011
【図１０】
2005165440.tif 000012
【図１１】
2005165440.tif 000013
【図１２】
2005165440.tif 000014
【図１３】
2005165440.tif 000015
【図１４】
2005165440.tif 000016
【図１５】
2005165440.tif 000017
【図１６】
2005165440.tif 000018
【図１７】
2005165440.tif 000019
【図１８】
2005165440.tif 000020
【図１９】
2005165440.tif 000021
【図２０】
2005165440.tif 000022
【図２１】
2005165440.tif 000023
【図２２】
2005165440.tif 000024
【図２３】
2005165440.tif 000025
【図２４】
2005165440.tif 000026
【図２５】
2005165440.tif 000027
【図２６】
2005165440.tif 000028
【図２７】
2005165440.tif 000029
【図２８】
2005165440.tif 000030