(57)【特許請求の範囲】
【請求項１】
バックエンド部に対するデータの入出力を制御するコントローラと、
前記バックエンド部に設けられ、前記コントローラに木構造のトポロジで接続された複数のエクスパンダと、
前記バックエンド部に設けられ、それぞれ対応する前記エクスパンダに接続された複数の記憶装置と、
ホスト装置からの入出力要求に基づいて前記コントローラを制御する制御部と
を備え、
前記コントローラは、
前記バックエンド部において発生したリンク障害を前記制御部に通知し、
前記制御部は、
前記コントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記ホスト装置の入出力要求の発行を制限し又は前記ホスト装置から送信される入出力要求の受領を制限し、
前記コントローラは、ＳＡＳ（Serial Attached SCSI）に準拠したＳＡＳコントローラであり、
前記エクスパンダは、前記ＳＡＳ規格に準拠したＳＡＳエクスパンダであり、
前記記憶装置は、前記ＳＡＳ規格に準拠したハードディスク装置であり、
前記制御部は、ホスト装置からの入出力要求に応答して前記ハードディスク装置へのデータ入出力を制御するＣＰＵ（Central Processing Unit）であり、
前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とが、複数の物理リンクを１つの論理的なリンクとして集約したワイドリンクを介してそれぞれ接続され、
前記ＣＰＵは、
前記ＳＡＳコントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記リンク障害の発生及び障害箇所をシステム管理者に通知すると共に、
前記ハードディスク装置として、リンクレートの異なる複数種類の前記ハードディスク装置が存在する場合には、前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記ハードディスク装置の総数と、各リンクレートの前記ハードディスク装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替え、
予めユーザにより作成されたユーザスケジュールが設定されている場合には、当該ユーザスケジュールに従って、対応するワイドリンクについて、各リンクレートにそれぞれ割り当てる物理リンク数を切り替え、
前記ユーザスケジュールが設定されている場合においても、動作モードとしてリンク割当て切替え自動モードが設定されているときには、１日所定の時間間隔で区分してなる時間帯ごとに、直前の前記時間帯における各リンクレートのハードディスク装置に対するアクセス比率と、予め定められた周期における過去の対応する日の各リンクレートのアクセス比率とに基づいて、各リンクレートに対する物理リンク数の割り当てを切り替える必要があるか否かを判断し、
各リンクレートに対する物理リンク数の割り当てを切り替える必要があると判断した場合には、前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記ハードディスク装置の総数と、各リンクレートの前記ハードディスク装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替える
ことを特徴とするディスクアレイ装置。
【請求項２】
バックエンド部に対するデータの入出力を制御するコントローラと、
前記バックエンド部に設けられ、前記コントローラに木構造のトポロジで接続された複数のエクスパンダと、
前記バックエンド部に設けられ、それぞれ対応する前記エクスパンダに接続された複数の記憶装置と、
ホスト装置からの入出力要求に基づいて前記コントローラを制御する制御部と
を備え、
前記コントローラは、
前記バックエンド部において発生したリンク障害を前記制御部に通知し、
前記制御部は、
前記コントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記ホスト装置の入出力要求の発行を制限し又は前記ホスト装置から送信される入出力要求の受領を制限し、
前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とが、複数の物理リンクを１つの論理的なリンクとして集約したワイドリンクを介してそれぞれ接続され、
前記制御部は、
前記記憶装置として、リンクレートの異なる複数種類の記憶装置が存在する場合であって、前記コントローラからの前記リンク障害の通知を受信したときには、前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記記憶装置の総数と、各リンクレートの前記記憶装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替える
ことを特徴とするディスクアレイ装置。
【請求項３】
前記制御部は、
前記リンク障害の発生及び障害箇所をシステム管理者に通知する
ことを特徴とする請求項２に記載のディスクアレイ装置。
【請求項４】
前記制御部は、
予めユーザにより設定された第１のスケジュールが設定されている場合には、当該第１のスケジュールに従って、対応するワイドリンクについて、各リンクレートにそれぞれ割り当てる物理リンク数を切り替える
ことを特徴とする請求項２に記載のディスクアレイ装置。
【請求項５】
前記制御部は、
各リンクレートにそれぞれ割り当てる物理リンク数を自動的に切り替える動作モードが設定されているときには、１日所定の時間間隔で区分してなる時間帯ごとに、直前の前記時間帯における各リンクレートの記憶装置に対するアクセス比率と、予め定められた参照すべき第２のスケジュールとに基づいて各リンクレートに対する物理リンク数の割り当てを切り替える必要があるか否かを判断し、
各リンクレートに対する物理リンク数の割り当てを切り替える必要があると判断した場合には、前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記記憶装置の総数と、各リンクレートの前記記憶装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替える
ことを特徴とする請求項２に記載のディスクアレイ装置。
【請求項６】
前記第２のスケジュールは、
予め定められた周期における過去の対応する日の各リンクレートのアクセス比率である
ことを特徴とする請求項５に記載のディスクアレイ装置。
【請求項７】
ディスクアレイ装置におけるトラフィック制御方法において、
前記ディスクアレイ装置は、
バックエンド部に対するデータの入出力を制御するコントローラと、
前記バックエンド部に設けられ、前記コントローラに木構造のトポロジで接続された複数のエクスパンダと、
前記バックエンド部に設けられ、それぞれ対応する前記エクスパンダに接続された複数の記憶装置と、
ホスト装置からの入出力要求に基づいて前記コントローラを制御する制御部とを有し、
前記コントローラが、前記バックエンド部において発生したリンク障害を前記制御部に通知する第１のステップと、
前記制御部が、前記コントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記ホスト装置の入出力要求の発行を制限し又は前記ホスト装置から送信される入出力要求の受領を制限する第２のステップと
を備え、
前記コントローラは、ＳＡＳ（Serial Attached SCSI）に準拠したＳＡＳコントローラであり、
前記エクスパンダは、前記ＳＡＳ規格に準拠したＳＡＳエクスパンダであり、
前記記憶装置は、前記ＳＡＳ規格に準拠したハードディスク装置であり、
前記制御部は、ホスト装置からの入出力要求に応答して前記ハードディスク装置へのデータ入出力を制御するＣＰＵ（Central Processing Unit）であり、
前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とが、複数の物理リンクを１つの論理的なリンクとして集約したワイドリンクを介してそれぞれ接続され、
前記第２のステップにおいて、
前記ＣＰＵは、前記ＳＡＳコントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記リンク障害の発生及び障害箇所をシステム管理者に通知すると共に、
前記第１及び第２のステップの処理と並行して、
前記ＣＰＵは、
前記ハードディスク装置として、リンクレートの異なる複数種類の前記ハードディスク装置が存在する場合には、前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記ハードディスク装置の総数と、各リンクレートの前記ハードディスク装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、
算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替えると共に、
予めユーザにより設定されたユーザスケジュールに従って、対応するワイドリンクについて、各リンクレートにそれぞれ割り当てる物理リンク数を切り替え、
リンク割当て切替え自動モードが設定されているときには、１日所定の時間間隔で区分してなる時間帯ごとに、直前の前記時間帯における各リンクレートのハードディスク装置に対するアクセス比率と、予め定められた周期における過去の対応する日の各リンクレートのアクセス比率とに基づいて各リンクレートに対する物理リンク数の割り当てを切り替える必要があるか否かを判断し、
各リンクレートに対する物理リンク数の割り当てを切り替える必要があると判断した場合には、前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記ハードディスク装置の総数と、各リンクレートの前記ハードディスク装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替える
ことを特徴とするトラフィック制御方法。
【請求項８】
ディスクアレイ装置におけるトラフィック制御方法において、
前記ディスクアレイ装置は、
バックエンド部に対するデータの入出力を制御するコントローラと、
前記バックエンド部に設けられ、前記コントローラに木構造のトポロジで接続された複数のエクスパンダと、
前記バックエンド部に設けられ、それぞれ対応する前記エクスパンダに接続された複数の記憶装置と、
ホスト装置からの入出力要求に基づいて前記コントローラを制御する制御部とを有し、
前記コントローラが、前記バックエンド部において発生したリンク障害を前記制御部に通知する第１のステップと、
前記制御部が、前記コントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記ホスト装置の入出力要求の発行を制限し又は前記ホスト装置から送信される入出力要求の受領を制限する第２のステップと
を備え、
前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とが、複数の物理リンクを１つの論理的なリンクとして集約したワイドリンクを介してそれぞれ接続され、
前記制御部は、
前記第１及び第２のステップの処理と並行して、
前記記憶装置として、リンクレートの異なる複数種類の記憶装置が存在する場合であって、前記コントローラからの前記リンク障害の通知を受信したときには、前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記記憶装置の総数と、各リンクレートの前記記憶装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替える
ことを特徴とするトラフィック制御方法。
【請求項９】
前記第２のステップにおいて、
制御部は、前記リンク障害の発生及び障害箇所をシステム管理者に通知する
ことを特徴とする請求項８に記載のトラフィック制御方法。
【請求項１０】
前記第１及び第２のステップと並行して、
前記制御部は、予めユーザにより設定された第１のスケジュールに従って、対応するワイドリンクについて、各リンクレートにそれぞれ割り当てる物理リンク数を切り替える
ことを特徴とする請求項８に記載のトラフィック制御方法。
【請求項１１】
前記第１及び第２のステップと並行して、
前記制御部は、
各リンクレートにそれぞれ割り当てる物理リンク数を自動的に切り替える動作モードが設定されているときには、１日所定の時間間隔で区分してなる時間帯ごとに、直前の前記時間帯における各リンクレートの記憶装置に対するアクセス比率と、予め定められた参照すべき第２のスケジュールとに基づいて各リンクレートに対する物理リンク数の割り当てを切り替える必要があるか否かを判断し、
各リンクレートに対する物理リンク数の割り当てを切り替える必要があると判断した場合には、前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記記憶装置の総数と、各リンクレートの前記記憶装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替える
ことを特徴とする請求項８に記載のトラフィック制御方法。
【請求項１２】
前記第２のスケジュールは、
予め定められた周期における過去の対応する日の各リンクレートのアクセス比率である
ことを特徴とする請求項１１に記載のトラフィック制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置及びトラフィック制御方法に関し、例えばワイドリンク技術が適用されたディスクアレイ装置に適用して好適なものである。
【背景技術】
【０００２】
従来、ＳＡＳ（Serial  Attached  SCSI）規格におけるデータ転送制御技術として、デバイス間で並列に接続された複数の物理リンクを１本の論理的なリンク（以下、これを論理リンクと呼ぶ）として集約する「ワイドリンク」と呼ばれる技術がある（例えば、特許文献１参照）。ワイドリンクは、ＳＡＳイニシエータから指示を与えることなく、ＳＡＳイニシエータ及びＳＡＳエクスパンダ間や、ＳＡＳエクスパンダ同士間で自動的に形成することができる。
【０００３】
また、ＳＡＳ規格における他のデータ転送技術として、１本の物理リンクを時分割することにより複数の仮想的な物理リンク（以下、これも論理リンクと呼ぶ）を形成する技術がある（例えば、特許文献１参照）。
【０００４】
この論理リンクは、ワイドリンクを形成する個々の物理リンクに対して設定することができる。従って、例えば最大データ転送速度（以下、これをリンクレートと呼ぶ）が６Ｇｂｐｓの２本の物理リンクから１本のワイドリンクが形成されている場合、個々の物理リンク上にリンクレートが３Ｇｂｐｓの論理リンクを２本ずつ設定することによって、そのワイドリンク内にリンクレートが３Ｇｂｐｓの論理リンクを４本設定することができる。
【０００５】
この場合において、ＳＡＳイニシエータは、各論理リンクをそれぞれ介して異なるＳＡＳターゲットとコネクションを確立することができる。従って、上述の例において、ＳＡＳイニシエータは、同時に４つのＳＡＳターゲットとデータの送受信を同時に行うことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２５０６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、従来、かかるワイドリンク技術を適用したディスクアレイ装置では、装置立ち上げ時以外のリンク障害（例えば通信不能となる障害）報告はリカバリの対象としていない。このためリカバリ対象の障害による径路診断処理が実行されない限り、ワイドリンクを形成するすべての物理リンクがダウン（「down」）するまで動作を継続する。
【０００８】
しかしながら、例えばリンク障害により１本の物理リンクで動作を継続しているときも、ワイドリンクを構成するすべての物理リンクが稼働中（「active」）の場合と同様にホスト装置からのＩ／Ｏを受領するため、高負荷時にコマンドタイムアウトが頻発し、ＳＡＳコントロールの閉塞やシステムダウンの要因となる問題があった。
【０００９】
またワイドリンクを構成する物理リンクのうちの１本の物理リンクがダウンした場合においても、径路診断処理においてその障害が検出されたときにそのワイドリンク全体を閉塞するため、２系統のＳＡＳコントローラ及びＳＡＳエクスパンダが設けられた冗長構成のディスクアレイ装置の場合、他系のコントローラが高負荷となってシステムダウンが発生するおそれがあった。
【００１０】
本発明は以上の点を考慮してなされたもので、システムダウンを防止して信頼性を向上させ得るディスクアレイ装置及びトラフィック制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１１】
かかる課題を解決するため本発明においては、バックエンド部に対するデータの入出力を制御するコントローラと、前記バックエンド部に設けられ、前記コントローラに木構造のトポロジで接続された複数のエクスパンダと、前記バックエンド部に設けられ、それぞれ対応する前記エクスパンダに接続された複数の記憶装置と、ホスト装置からの入出力要求に基づいて前記コントローラを制御する制御部とを備え、前記コントローラは、前記バックエンド部において発生したリンク障害を前記制御部に通知し、前記制御部は、前記コントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記ホスト装置の入出力要求の発行を制限し又は前記ホスト装置から送信される入出力要求の受領を制限し、前記コントローラは、ＳＡＳ（Serial Attached SCSI）に準拠したＳＡＳコントローラであり、前記エクスパンダは、前記ＳＡＳ規格に準拠したＳＡＳエクスパンダであり、前記記憶装置は、前記ＳＡＳ規格に準拠したハードディスク装置であり、前記制御部は、ホスト装置からの入出力要求に応答して前記ハードディスク装置へのデータ入出力を制御するＣＰＵ（Central Processing Unit）であり、前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とが、複数の物理リンクを１つの論理的なリンクとして集約したワイドリンクを介してそれぞれ接続され、前記ＣＰＵは、前記ＳＡＳコントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記リンク障害の発生及び障害箇所をシステム管理者に通知すると共に、前記ハードディスク装置として、リンクレートの異なる複数種類の前記ハードディスク装置が存在する場合には、前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記ハードディスク装置の総数と、各リンクレートの前記ハードディスク装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替え、予めユーザにより作成されたユーザスケジュールが設定されている場合には、当該ユーザスケジュールに従って、対応するワイドリンクについて、各リンクレートにそれぞれ割り当てる物理リンク数を切り替え、前記ユーザスケジュールが設定されている場合においても、動作モードとしてリンク割当て切替え自動モードが設定されているときには、１日所定の時間間隔で区分してなる時間帯ごとに、直前の前記時間帯における各リンクレートのハードディスク装置に対するアクセス比率と、予め定められた周期における過去の対応する日の各リンクレートのアクセス比率とに基づいて、各リンクレートに対する物理リンク数の割り当てを切り替える必要があるか否かを判断し、各リンクレートに対する物理リンク数の割り当てを切り替える必要があると判断した場合には、前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とをそれぞれ接続する前記ワイドリンク��うちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記ハードディスク装置の総数と、各リンクレートの前記ハードディスク装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替えるようにした。
また本発明においては、バックエンド部に対するデータの入出力を制御するコントローラと、前記バックエンド部に設けられ、前記コントローラに木構造のトポロジで接続された複数のエクスパンダと、前記バックエンド部に設けられ、それぞれ対応する前記エクスパンダに接続された複数の記憶装置と、ホスト装置からの入出力要求に基づいて前記コントローラを制御する制御部とを備え、前記コントローラは、前記バックエンド部において発生したリンク障害を前記制御部に通知し、前記制御部は、前記コントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記ホスト装置の入出力要求の発行を制限し又は前記ホスト装置から送信される入出力要求の受領を制限し、前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とが、複数の物理リンクを１つの論理的なリンクとして集約したワイドリンクを介してそれぞれ接続され、前記制御部は、前記記憶装置として、リンクレートの異なる複数種類の記憶装置が存在する場合であって、前記コントローラからの前記リンク障害の通知を受信したときには、前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記記憶装置の総数と、各リンクレートの前記記憶装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替えるようにした。
【００１２】
さらに本発明においては、ディスクアレイ装置におけるトラフィック制御方法において、前記ディスクアレイ装置は、バックエンド部に対するデータの入出力を制御するコントローラと、前記バックエンド部に設けられ、前記コントローラに木構造のトポロジで接続された複数のエクスパンダと、前記バックエンド部に設けられ、それぞれ対応する前記エクスパンダに接続された複数の記憶装置と、ホスト装置からの入出力要求に基づいて前記コントローラを制御する制御部とを有し、前記コントローラが、前記バックエンド部において発生したリンク障害を前記制御部に通知する第１のステップと、前記制御部が、前記コントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記ホスト装置の入出力要求の発行を制限し又は前記ホスト装置から送信される入出力要求の受領を制限する第２のステップとを備え、前記コントローラは、ＳＡＳ（Serial Attached SCSI）に準拠したＳＡＳコントローラであり、前記エクスパンダは、前記ＳＡＳ規格に準拠したＳＡＳエクスパンダであり、前記記憶装置は、前記ＳＡＳ規格に準拠したハードディスク装置であり、前記制御部は、ホスト装置からの入出力要求に応答して前記ハードディスク装置へのデータ入出力を制御するＣＰＵ（Central Processing Unit）であり、前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とが、複数の物理リンクを１つの論理的なリンクとして集約したワイドリンクを介してそれぞれ接続され、前記第２のステップにおいて、前記ＣＰＵは、前記ＳＡＳコントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記リンク障害の発生及び障害箇所をシステム管理者に通知すると共に、前記第１及び第２のステップの処理と並行して、前記ＣＰＵは、前記ハードディスク装置として、リンクレートの異なる複数種類の前記ハードディスク装置が存在する場合には、前記ＳＡＳコントローラ及び最上位の前記ＳＡＳエクスパンダ間と、前記ＳＡＳエクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記ハードディスク装置の総数と、各リンクレートの前記ハードディスク装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替えると共に、予めユーザにより設定されたユーザスケジュールに従って、対応するワイドリンクについて、各リンクレートにそれぞれ割り当てる物理リンク数を切り替え、リンク割当て切替え自動モードが設定されているときには、１日所定の時間間隔で区分してなる時間帯ごとに、直前の前記時間帯における各リンクレートのハードディスク装置に対するアクセス比率と、予め定められた周期における過去の対応する日の各リンクレートのアクセス比率とに基づいて各リンクレートに対する物理リンク数の割り当てを切り替える必要があるか否かを判断し、各リンクレートに対する物理リンク数の割り当てを切り替える必要があると判断した場合には、前記ＳＡＳコントローラ及び最上位の前記ＳＡ��エクスパンダ間と、前記ＳＡＳエクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記ハードディスク装置の総数と、各リンクレートの前記ハードディスク装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替えるようにした。
さらに本発明においては、ディスクアレイ装置におけるトラフィック制御方法において、前記ディスクアレイ装置は、バックエンド部に対するデータの入出力を制御するコントローラと、前記バックエンド部に設けられ、前記コントローラに木構造のトポロジで接続された複数のエクスパンダと、前記バックエンド部に設けられ、それぞれ対応する前記エクスパンダに接続された複数の記憶装置と、ホスト装置からの入出力要求に基づいて前記コントローラを制御する制御部とを有し、前記コントローラが、前記バックエンド部において発生したリンク障害を前記制御部に通知する第１のステップと、前記制御部が、前記コントローラから前記リンク障害の通知が与えられたときに、必要に応じて前記ホスト装置の入出力要求の発行を制限し又は前記ホスト装置から送信される入出力要求の受領を制限する第２のステップとを備え、前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とが、複数の物理リンクを１つの論理的なリンクとして集約したワイドリンクを介してそれぞれ接続され、前記制御部は、前記第１及び第２のステップの処理と並行して、前記記憶装置として、リンクレートの異なる複数種類の記憶装置が存在する場合であって、前記コントローラからの前記リンク障害の通知を受信したときには、前記コントローラ及び最上位の前記エクスパンダ間と、前記エクスパンダ間とをそれぞれ接続する前記ワイドリンクのうちの対応するワイドリンクについて、当該ワイドリンクに接続されているリンクレートごとの前記記憶装置の総数と、各リンクレートの前記記憶装置に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートにそれぞれ割り当てる物理リンク数を算出し、算出結果に基づいて、必要に応じて各リンクレートにそれぞれ割り当てる物理リンク数を切り替えるようにした。
【発明の効果】
【００１３】
本発明によれば、バックエンド部にリンク障害が発生したときに、バックエンド部において処理すべきホスト装置からの入出力要求を制限することができるため、コマンドタイムアウトが頻発したり、コントローラの閉塞やシステムダウンなどの発生を未然かつ有効に防止することができる。かくするにつき信頼性を向上させ得るディスクアレイ装置及びトラフィック制御方法を実現できる。
【図面の簡単な説明】
【００１４】
【図１】本実施の形態による計算機システムの全体構成を示すブロック図である。
【図２】（Ａ）〜（Ｃ）は、リンク割当て機能の説明に供する図表及びブロック図である。
【図３Ａ】（Ａ）〜（Ｃ）は、リンク割当て機能の説明に供する図表及びブロック図である。
【図３Ｂ】（Ａ）〜（Ｃ）は、多重転送機能を適用したリンク割当て処理の説明に供する図表及びブロック図である。
【図４】（Ａ）及び（Ｂ）は、多重転送機能の説明に供する概念図である。
【図５】（Ａ−１）〜（Ｂ−３）は、リンク割当て切替え機能の説明に供する概念図である。
【図６】マイクロプログラム及びバックエンド情報の説明に供する概念図である。
【図７】ＳＡＳコントローラの説明に供する概念図である。
【図８】エクスパンダ情報の説明に供する概念図である。
【図９】リンク状態情報の説明に供する概念図である。
【図１０】リンク割当て情報の説明に供する概念図である。
【図１１】多重転送情報の説明に供する概念図である。
【図１２】性能閾値情報の説明に供する概念図である。
【図１３】監視性能情報の説明に供する概念図である。
【図１４】リンク割当て切替えスケジュール情報の説明に供する概念図である。
【図１５】第１のトラフィック制御処理の処理手順を示すフローチャートである。
【図１６】第２のトラフィック制御処理の処理手順を示すフローチャートである。
【図１７】径路診断処理の処理手順を示すフローチャートである。
【図１８】バックエンド情報採取処理の処理手順を示すフローチャートである。
【図１９】リンク割当て処理の処理手順を示すフローチャートである。
【図２０】スケジュール更新処理の処理手順を示すフローチャートである。
【図２１】リンク割当て切替え処理の処理手順を示すフローチャートである。
【発明を実施するための最良の形態】
【００１５】
以下図面について、本発明の一実施の形態を詳述する。
【００１６】
（１）本実施の形態による計算機システムの構成
図１において、１は全体として本実施の形態による計算機システムを示す。この計算機システム１は、複数のホスト装置２、ディスクアレイ装置３及び管理クライアント４から構成される。
【００１７】
ホスト装置２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。ホスト装置２は、例えばキーボード、スイッチ、ポインティングデバイス及び又はマイクロフォン等の情報入力装置（図示せず）と、例えばモニタディスプレイ及び又はスピーカ等の情報出力装置（図示せず）とを備えており、ＳＡＮ（Storage Area Network）５Ａを介してディスクアレイ装置３と接続されている。
【００１８】
ディスクアレイ装置３は、ホストインタフェース１０、ＣＰＵ１１、メモリ１２、スイッチ１３、ＳＡＳコントローラ１４及びＳＡＳエクスパンダ１５などの冗長化された各種コンポーネントと、複数のハードディスク装置１６とを備えて構成される。
【００１９】
ホストインタフェース１０は、ホスト装置２との間で通信を行う際の通信インタフェースとして機能するもので、ＳＡＮ５Ａを介してホスト装置２と送受するデータやコマンドのフォーマット変換処理を実行する。
【００２０】
ＣＰＵ１１は、ホスト装置２からのデータ入出力要求に応答してハードディスク装置１６へのデータ入出力（ライトアクセス又はリードアクセス）を制御するプロセッサであり、メモリ１２に格納された後述のマイクロプログラムを実行することによりホストインタフェース１０、スイッチ１３及びＳＡＳコントローラ１４等を制御する。
【００２１】
メモリ１２は、マイクロプログラム及び制御情報などを保持するために用いられるほか、ホストインタフェース１０及びＳＡＳコントローラ１４間において転送されるデータを一時的に保持するために用いられる。
【００２２】
スイッチ１３は、ＣＰＵ１１の制御に基づいて、ホストインタフェース１０及びＳＡＳコントローラ１４間のデータ転送を制御する。スイッチ１３は、冗長化された他方のスイッチ１３とバス１９を介して通信可能に接続されており、これにより冗長化された２つのＣＰＵ１１間においてスイッチ１３及びバス１９を介してコマンドやデータ等を相互にやり取りすることができるようになされている。
【００２３】
ＳＡＳコントローラ１４は、内部にＳＣＳＩ（Small Computer System Interface）コマンドを制御するＳＳＰイニシエータと、ＳＡＳエクスパンダ１５に指示するコマンドを制御するＳＭＰ（Serial Management Protocol）イニシエータとをそれぞれ１つ以上備える。
【００２４】
ＳＡＳコントローラ１４の各ポートには、それぞれＳＡＳアドレスが付与される。ＳＡＳアドレスは、ＳＡＳコントローラ１４の各プロトコルのイニシエータポートがターゲットポートに対してフレーム転送する際の送信元ポート（Source Port）及び送信先ポート（Destination Port）を指定するためのポート識別子である。このＳＡＳアドレスとしては、通常、ＷＷＮ（World Wide Name）が用いられる。
【００２５】
ＳＡＳコントローラ１４は、複数のＳＡＳエクスパンダ１５と接続される。ＳＡＳエクスパンダ１５は、１つのＳＡＳコントローラ１４に対して複数のハードディスク装置１６を接続するためのデバイス拡張スイッチである。このＳＡＳエクスパンダ１５は、ＳＡＳエクスパンダ１５同士で木構造のトポロジで拡張して接続することができ、これにより１つのＳＡＳコントローラ１４が、複数のＳＡＳエクスパンダ１５を介して多数のハードディスク装置１６を制御することができるようになされている。
【００２６】
本実施の形態の場合、ＳＡＳコントローラ１４及び当該ＳＡＳコントローラ１４と直接接続された最上位のＳＡＳエクスパンダ１５間と、ＳＡＳエクスパンダ１５同士間とは、いずれもワイドリンク１７を介して接続されており、これによりＳＡＳコントローラ１４がワイドリンク１７を介して複数のハードディスク装置１６に同時にアクセスできるようになされている。
【００２７】
ハードディスク装置１６は、ＳＡＳハードディスク装置から構成される。ハードディスク装置１６は、２つのＳＳＰターゲットポートを備えており、これら２つのＳＳＰターゲットポートがそれぞれ上述のように冗長化された２つのＳＡＳエクスパンダ１５のうちの互いに異なるＳＡＳエクスパンダ１５と接続される。これら２つのＳＳＰターゲットポートにはそれぞれ別個のＳＡＳアドレスが付与される。ハードディスク装置１６は、ＳＡＳコントローラ１４によりＳＣＳＩコマンドによって制御される。
【００２８】
なお、ＳＡＳハードディスク装置としては、リンクレートが異なる複数種類（リンクレートが１．５Ｇｂｐｓ，３Ｇｂｐｓ，６Ｇｂｐｓ，１２Ｇｂｐｓ，……）のものが存在するが、本ディスクアレイ装置３に適用するハードディスク装置１６は、リンクレートが同一のものである必要はなく、リンクレートが異なる複数種類のＳＡＳハードディスク装置が混在していても良い。
【００２９】
管理クライアント４は、例えばパーソナルコンピュータ、ワークステーション、あるいは携帯情報端末等のコンピュータから構成され、ＬＡＮ５Ｂを介してディスクアレイ装置３と接続されている。この管理クライアント４は、ディスクアレイ装置３に対して各種設定を行うためのＧＵＩ（Graphical User Interface）や各種情報を表示する表示装置と、オペレータが各種操作や各種設定入力を行うためのキーボードやマウス等の入力装置と、ＬＡＮ５Ｂを介して仮想化装置３と通信を行うための通信装置とを備える。後述するユーザスケジュール等の作成及び設定や、多重転送モードの設定、リンク割当て切替え間隔及びリンク割当て切替え自動モードの設定などもこの管理クライアント４を用いて行われる。
【００３０】
（２）ディスクアレイ装置に搭載された各種機能
次に、ディスクアレイ装置３に搭載されたトラフィック制御のための各種機能について説明する。
【００３１】
本実施の形態の場合、ディスクアレイ装置３には、ＳＡＳコントローラ１４、ＳＡＳエクスパンダ１５、ハードディスク装置１６及びこれらのリンクから構成されるバックエンド部１８においてリンク障害が発生した場合に、必要に応じてホスト装置２からの入出力要求を制限するＩ／Ｏ制限機能が搭載されている点を第１の特徴としている。
【００３２】
実際上、ディスクアレイ装置３は、バックエンド部１８においてリンク障害が発生し又はデバイス（ＳＡＳエクスパンダ１５及びハードディスク装置１６）数が変化した場合、バックエンド部１８全体のＩＯＰＳ（１秒当たりのデータの入出力量）や、バックエンド部１８内の各パス及び各ポートのＩＯＰＳといった、バックエンド部１８の現在の性能に関する情報を採取する。
【００３３】
そしてディスクアレイ装置３は、かかるバックエンド部１８の現在の性能が、予め登録されているユーザが要求する性能を下回る場合には、例えばホスト装置２から受領する（受け付ける）コマンド数を通常時よりも低減するなどの所定のＩ／Ｏ制限を行う。
【００３４】
またディスクアレイ装置３は、バックエンド部１８内にリンクレートが異なる複数種類のハードディスク装置１６が混在する場合に、ＳＡＳコントローラ１４及び最上位のＳＡＳエクスパンダ１５間や、ＳＡＳエクスパンダ１５同士間を接続するワイドリンク１７を構成する複数の物理リンク１７Ａを、そのワイドリンク１７に接続されているリンクレートごとのハードディスク装置１６の総数と、各リンクレートのハードディスク装置１６に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートに比例配分するリンク割当て機能が搭載されている点を第２の特徴としている。
【００３５】
実際上、ディスクアレイ装置３においては、リンクレートの異なる複数種類のハードディスク装置１６がバックエンド部１８に混在する場合、対象とするワイドリンク１７について、リンクレートごとの次式により算出される数値Ｌの比率を算出する。
（数１）
Ｌ＝Ｎ×ＬＲ×ＡＲ                                                ……（１）
【００３６】
ここで（１）式において、Ｎは、対象とするワイドリンク１７以降に存在するそのリンクレートのハードディスク装置１６の数を表し、ＬＲは、そのリンクレートを表す。またＡＲは、対象とするワイドリンク１７以降に存在する各リンクレートのハードディスク装置１６に対するアクセス総数を比率で表したときのそのリンクレートに対応する項の値を表す。
【００３７】
そしてディスクアレイ装置３は、リンクレートごとのかかる数値Ｌの比率に基づき、そのワイドリンク１７を構成する物理リンク１７Ａを比例配分するようにして、各リンクレートに割り当てるべき物理リンク数をそれぞれ決定する。
【００３８】
そしてディスクアレイ装置３は、上述のようにしてリンクレートごとにそれぞれ決定した数の物理リンク１７Ａを、対象とするワイドリンク１７を構成する物理リンク１７Ａの中から各リンクレートにそれぞれ割り当て、この後、そのリンクレートに対応したハードディスク装置１６に対するアクセスは、そのリンクレートに対して割り当てた物理リンクのみを介して行う。
【００３９】
例えば、図２（Ｂ）に示すように、ＳＡＳコントローラ１４に直接接続された第１のＳＡＳエクスパンダ１５及び当該第１のＳＡＳエクスパンダ１５に接続された第２のＳＡＳエクスパンダ１５に、それぞれ６Ｇｂｐｓのハードディスク装置１６が３台と、３Ｇｂｐｓのハードディスク装置１６が２台接続されている環境において、図２（Ａ）に示すように、６Ｇｂｐｓのハードディスク装置１６に対するアクセス総数と、３Ｇｂｐｓのハードディスク装置に対するアクセス総数との比率が１：１であるものとする。
【００４０】
この場合、ディスクアレイ装置３は、ＳＡＳコントローラ１４及び第１のＳＡＳエクスパンダ１５間を接続するワイドリンク１７について、６Ｇｂｐｓ及び３Ｇｂｐｓの各リンクレートにそれぞれ割り当てるべき物理リンク数の比率を、次式
（数２）
（６Ｇｂｐｓ×６台×１）：（３Ｇｂｐｓ×４台×１）                  ……（２）
により計算する。
【００４１】
この例では、（２）式が３：１となるため、ディスクアレイ装置３は、ＳＡＳコントローラ１４及び第１のＳＡＳエクスパンダ１５間のワイドリンク１７を構成する４本の物理リンク１７Ａを３：１の比率で按分し、６Ｇｂｐｓのリンクレートに対して３本の物理リンク１７Ａを割り当て、３Ｇｂｐｓのリンクレートに対して１本の物理リンク１７Ａを割り当てる。そしてディスクアレイ装置３は、この後、６Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その６Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行い、３Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その３Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行う。
【００４２】
また図２（Ｃ）に示すように、第２のＳＡＳエクスパンダ１５と接続された６Ｇｂｐｓのハードディスク装置１６に対するアクセス総数と、３Ｇｂｐｓのハードディスク装置１６に対するアクセス総数との比率が１：１の場合、ディスクアレイ装置３は、第１のエクスパンダ１５及び第２のＳＡＳエクスパンダ１５間を接続するワイドリンク１７について、６Ｇｂｐｓ及び３Ｇｂｐｓの各リンクレートにそれぞれ割り当てるべき物理リンク数の比率を、次式
（数３）
（６Ｇｂｐｓ×３台×１）：（３Ｇｂｐｓ×２台×１）                  ……（３）
により計算する。
【００４３】
この例では、（３）式が３：１となるため、ディスクアレイ装置３は、第１及び第２のＳＡＳエクスパンダ１５間のワイドリンク１７を構成する４本の物理リンク１７Ａを３：１の比率で按分し、６Ｇｂｐｓのリンクレートに対して３本の物理リンク１７Ａを割り当て、３Ｇｂｐｓのリンクレートに対して１本の物理リンク１７Ａを割り当てる。そしてディスクアレイ装置３は、この後、６Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その６Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行い、３Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その３Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行う。
【００４４】
また、例えば図２（Ｂ）と同じ図３Ａ（Ｂ）に示す環境において、図３Ａ（Ａ）に示すように、６Ｇｂｐｓのハードディスク装置１６に対するアクセス総数と、３Ｇｂｐｓのハードディスク装置１６に対するアクセス総数との比率が１：３であったとする。
【００４５】
この場合、ディスクアレイ装置３は、第１及び第２のＳＡＳエクスパンダ１５間を接続するワイドリンク１７について、６Ｇｂｐｓ及び３Ｇｂｐｓの各リンクレートにそれぞれ割り当てるべき物理リンク数の比率を、次式
（数４）
（６Ｇｂｐｓ×６台×１）：（３Ｇｂｐｓ×４台×３）              ……（４）
により計算する。
【００４６】
この例では、（４）式が１：１となるため、ディスクアレイ装置３は、ＳＡＳコントローラ１４及び第１のＳＡＳエクスパンダ１５間のワイドリンク１７を構成する４本の物理リンク１７Ａを、１：１の比率で按分し、６Ｇｂｐｓのリンクレートに対して２本の物理リンク１７Ａを割り当て、３Ｇｂｐｓのリンクレートに対して２本の物理リンク１７Ａを割り当てる。そしてディスクアレイ装置３は、この後、６Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その６Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行い、３Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その３Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行う。
【００４７】
また図３Ａ（Ｃ）に示すように、第２のＳＡＳエクスパンダ１５と接続された６Ｇｂｐｓのハードディスク装置１６に対するアクセス総数と、３Ｇｂｐｓのハードディスク装置１６に対するアクセス総数との比率が１：６の場合、ディスクアレイ装置３は、第１及び第２のＳＡＳエクスパンダ１５間を接続するワイドリンク１７について、６Ｇｂｐｓ及び３Ｇｂｐｓの各リンクレートにそれぞれ割り当てるべき物理リンク数の比率を、次式
（数５）
（６Ｇｂｐｓ×３台×１）：（３Ｇｂｐｓ×２台×３）              ……（５）
により計算する。
【００４８】
この例では、（５）式が１：１となるため、ディスクアレイ装置３は、第１及び第２のＳＡＳエクスパンダ１５間のワイドリンク１７を構成する４本の物理リンク１７Ａを１：１の比率で按分し、６Ｇｂｐｓのリンクレートに対して２本の物理リンク１７Ａを割り当て、３Ｇｂｐｓのリンクレートに対して２本の物理リンク１７Ａを割り当てる。そしてディスクアレイ装置３は、この後、６Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その６Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行い、３Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その３Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行う。
【００４９】
なお本実施の形態の場合、ディスクアレイ装置３においては、１本の物理リンク１７Ａを論理分割して複数の論理リンクを設定し、これら論理リンクをそれぞれ介して異なるハードディスク装置にデータ転送（多重転送）を行うこともできる。そして本ディスクアレイ装置３の場合、このような論理分割及び多重転送モードの設定を物理リンク１７Ａごとに行うことができる。
【００５０】
例えば図４（Ａ）のようにＳＡＳコントローラ１４及びＳＡＳエクスパンダ１５間が、２つの物理リンク１７Ａから構成されるワイドリンク１７で接続され、ＳＡＳエクスパンダ１５に対してリンクレートが３Ｇｂｐｓの２つの第１のハードディスク装置１６と、リンクレートが６Ｇｂｐｓの１つの第２のハードディスク装置１６とが接続されている場合、ディスクアレイ装置３は、一方の物理リンク１７Ａを２つの論理リンクに論理分割すると共に、当該物理リンク１７Ａの転送モードとして多重転送モードを設定する。
【００５１】
そしてディスクアレイ装置３は、かかる論理分割により得られた２つの論理リンクのうちの一方の論理リンクを介して一方の第１のハードディスク装置１６との間のデータ転送を行い、他方の論理リンクを介して他方の第２のハードディスク装置１６との間のデータ転送を行う。
【００５２】
この場合において、ディスクアレイ装置３は、例えば図４（Ｂ）に示すように、他方の第１のハードディスク装置１６に対するアクセスがない期間は、一方の第１のハードディスク装置１６に対してデータ転送を行う際に、転送対象のデータにレートマッチングのための補正データを挿入することにより、コネクション速度を３Ｇｂｐｓにマッチングさせる。
【００５３】
従って、例えば図３Ａ（Ｂ）と同じ図３Ｂ（Ｂ）の環境において、図３Ｂ（Ａ）に示すように、６Ｇｂｐｓのハードディスク装置１６に対するアクセス総数と、３Ｇｂｐｓのハードディスク装置１６に対するアクセス総数との比率が１：６であり、リンクレートが３Ｇｂｐｓのハードディスク装置１６については、２台で１本の物理リンク１７Ａを使用するように多重転送モードが設定されているものとする。
【００５４】
この場合、ディスクアレイ装置３は、第１及び第２のＳＡＳエクスパンダ１５間を接続するワイドリンク１７について、６Ｇｂｐｓ及び３Ｇｂｐｓの各リンクレートにそれぞれ割り当てるべき物理リンク数の比率を、次式
（数６）
（６Ｇｂｐｓ×６台×１）：（３Ｇｂｐｓ×４台×６／２）              ……（６）
により計算する。
【００５５】
この例では、（６）式が１：１となるため、ディスクアレイ装置３は、ＳＡＳコントローラ１４及び第１のＳＡＳエクスパンダ１５間のワイドリンク１７を構成する４本の物理リンク１７Ａを、１：１の比率で按分し、６Ｇｂｐｓのリンクレートに対して２本の物理リンク１７Ａを割り当て、３Ｇｂｐｓのリンクレートに対して２本の物理リンク１７Ａを割り当てる。そしてディスクアレイ装置３は、この後、６Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その６Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行い、３Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その３Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行う。
【００５６】
また図３Ｂ（Ｃ）に示すように、第２のＳＡＳエクスパンダ１５と接続された６Ｇｂｐｓのハードディスク装置１６に対するアクセス総数と、３Ｇｂｐｓのハードディスク装置１６に対するアクセス総数との比率が１：６の場合、ディスクアレイ装置３は、第１及び第２のＳＡＳエクスパンダ１５間を接続するワイドリンク１７について、６Ｇｂｐｓ及び３Ｇｂｐｓの各リンクレートにそれぞれ割り当てるべき物理リンク数の比率を、次式
（数7）
（６Ｇｂｐｓ×３台×１）：（３Ｇｂｐｓ×２台×６／２）              ……（７）
により計算する。
【００５７】
この例では、（７）式が１：１となるため、ディスクアレイ装置３は、第１及び第２のＳＡＳエクスパンダ１５間のワイドリンク１７を構成する４本の物理リンク１７Ａを１：１の比率で按分し、６Ｇｂｐｓのリンクレートに対して２本の物理リンク１７Ａを割り当て、３Ｇｂｐｓのリンクレートに対して２本の物理リンク１７Ａを割り当てる。そしてディスクアレイ装置３は、この後、６Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その６Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行い、３Ｇｂｐｓのハードディスク装置１６に対するアクセスは、その３Ｇｂｐｓのハードディスク装置１６に割り当てた物理リンク１７Ａのみを介して行う。
【００５８】
加えて、本実施の形態によるディスクアレイ装置３は、以上のような各リンクレートに対する物理リンク１７Ａの割り当てを、ユーザが予め作成したスケジュール（以下、これをユーザスケジュールと呼ぶ）又は過去のリンクレートごとのアクセス状況等に従って切り替えるリンク割当て切替え機能もが搭載されている点を第３の特徴とする。
【００５９】
実際上、ディスクアレイ装置３においては、ユーザが、ＳＡＳコントローラ１４及びＳＡＳエクスパンダ１５間や、ＳＡＳエクスパンダ１５同士間を接続する各ワイドリンク１７について、所望するタイミングで各リンクレートに対する物理リンク１７Ａの割当て数を変更するスケジュール（以下、これをユーザスケジュールと呼ぶ）を作成し、これを登録することができる。
【００６０】
そしてディスクアレイ装置３は、かかるユーザスケジュールが登録されている場合には、そのユーザスケジュールを、各リンクレートにそれぞれ割り当てる物理リンク数を切り替えるためのスケジュールである切替えスケジュールに反映させ、この後、この切替えスケジュールに従って、各リンクレートに対する物理リンク１７Ａの割当て数を指定された時刻に切り替える。
【００６１】
またディスクアレイ装置３は、かかるユーザスケジュールが登録されている場合であっても、所定の動作モード（以下、これをリンク割当て切替え自動モードと呼ぶ）が設定されているときには、各リンクレートのハードディスク装置１６に対する過去のアクセス総数の比率に基づいて切替えスケジュールを作成し、この切替えスケジュールと、直前の各リンクレートのハードディスク装置１６に対するアクセス総数の比率（以下、これをアクセス比率と呼ぶ）とに基づいて各リンクレートに対する物理リンク１７Ａの割当て数を切り替える。
【００６２】
具体的に、ディスクアレイ装置３は、１日を予め設定された一定の時間間隔（以下、これをリンク割当て切替え間隔と呼ぶ）で区分したときの各時間帯について、各リンクレートのハードディスク装置１６に対するアクセス総数の比率（アクセス比率）をそれぞれアクセス比率情報として記憶している。
【００６３】
そしてディスクアレイ装置３は、予め設定された切替えスケジュールの周期（１日、１週、１カ月又は１年などであり、以下、これをスケジュール管理周期と呼ぶ）における過去の対応する日のアクセス比率情報を参考スケジュールとして、スケジュール管理周期分の参考スケジュールからなる切替えスケジュールを作成する。なお、スケジュール管理周期における過去の対応する日とは、かかるスケジュール管理周期が１日の場合には前日、１週間の場合には１週間前の日、１カ月の場合には１カ月前の日、１年の場合には１年前の日が該当する。
【００６４】
そしてディスクアレイ装置３は、時間帯が切り替わるタイミングで、切替えスケジュールと、直前の時間帯における各リンクレートのアクセス比率とに従って、次の時間帯において各リンクレートにそれぞれ割り当てる物理リンク数の比率を決定し、この決定結果に応じて各リンクレートに対して対応する数の物理リンク１７Ａをそれぞれ割り当てる。
【００６５】
なお、ディスクアレイ装置３は、かかる処理の過程において、例えばスケジュール管理周期における過去の対応する日のアクセス比率情報を保持していない場合には、前日のアクセス比率情報を参考スケジュールとして利用する。またディスクアレイ装置３は、前日のアクセス比率情報を保持していない場合には、直前の時間帯において計測により得られた各リンクレートのアクセス比率を利用して、次の時間帯における各リンクレートに対する物理リンク数の割り当てを行う。
【００６６】
以上のリンク割当て切替え機能に関するディスクアレイ装置３の具体的な動作を、図５を参照して説明する。この例では、ディスクアレイ装置３に設定されたリンク割当て切替え間隔が３０分、スケジュール管理周期が１週間である。
【００６７】
図５（Ａ−１）の「１」の行に示すように、１週目の初日は、参考スケジュールが存在しないため、ディスクアレイ装置３は、時間帯ごとに、直前の時間帯における各リンクレートのアクセス比率に基づいて各リンクレートに対する物理リンク１７Ａの割当て数を決定する。またディスクアレイ装置３は、この際、図５（Ａ−２）の「１」の行に示すように、各時間帯における各リンクレートのアクセス比率を記録する。
【００６８】
またディスクアレイ装置は、１週目の２日目以降は、図５（Ａ−１）の「２」〜「７」の行にそれぞれ示すように、前日の各時間帯における各リンクレートのアクセス比率を参考スケジュールとして切替えスケジュールに反映する。
【００６９】
そしてディスクアレイ装置３は、その切替えスケジュールと、直前の時間帯における各リンクレートのアクセス比率とを比較し、これらの間の差異が予め定められた所定範囲内であるときには切替えスケジュールに従って、またかかる差異がかかる所定範囲を超えるときには直前の時間帯における各リンクレートのアクセス比率に従って、図５（Ａ−３）の「２」〜「７」の行にそれぞれ示すように、時間帯ごとに、各リンクレートに対する物理リンク１７Ａの割当て数を決定する。そしてディスクアレイ装置３は、この決定結果に従って、各リンクレートにそれぞれ対応する数の物理リンク１７Ａを割り当てる。この際、ディスクアレイ装置３は、図５（Ａ−２）の「２」〜「７」の行にそれぞれ示すように、各時間帯における各リンクレートのアクセス比率を記録する。
【００７０】
さらにディスクアレイ装置３は、２週目以降は、図５（Ｂ−１）に示すように、前週の時間帯ごとの各リンクレートのアクセス比率を参考スケジュールとして、当該参考スケジュールを切替えスケジュールに反映する。
【００７１】
そしてディスクアレイ装置３は、その切替えスケジュールと、直前の時間帯における各リンクレートのアクセス比率とに基づいて、図５（Ｂ−３）に示すように、時間帯ごとに、上述のようにして各リンクレートに対する物理リンク１７Ａの割当て数を決定する。そしてディスクアレイ装置３は、この決定結果に従って、各リンクレートにそれぞれ対応する数の物理リンク１７Ａを割り当てる。この際、ディスクアレイ装置３は、図５（Ｂ−２）に示すように、各時間帯における各リンクレートのアクセス比率を記録し、これを次週の参考スケジュールとして利用する。
【００７２】
（３）バックエンド情報
以上のような本実施の形態によるトラフィック制御を実現するための手段として、０系及び１系の各メモリ１２（図１）には、図６に示すように、それぞれ上述のマイクロプログラム２０に加えてバックエンド情報２１が格納されている。
【００７３】
バックエンド情報２１は、バックエンド部１８（図１）を管理するための情報であり、ＳＡＳコントローラ情報２２、エクスパンダ情報２３、リンク状態情報２４、リンク割当て情報２５、多重転送情報２６、性能情報２７及びリンク割当て切替えスケジュール情報２８から構成される。
【００７４】
ＳＡＳコントローラ情報２２は、ＳＡＳコントローラ１４に接続されたＳＡＳエクスパンダ１５及びハードディスク装置１６を管理するための情報であり、図７に示すように、自系のＳＡＳコントローラ１４に接続されたＳＡＳエクスパンダ１５のリンクレートごとの数と、バックエンド部１８に存在するハードディスク装置１６のリンクレートごとの数とをそれぞれ含む。
【００７５】
またエクスパンダ情報２３は、バックエンド部１８に存在する個々のＳＡＳエクスパンダ１５に関する情報であり、図８に示すように、ＳＡＳエクスパンダ１５ごとのそのＳＡＳエクスパンダ１５に接続されている他のＳＡＳエクスパンダ１５の数と、そのＳＡＳエクスパンダ１５から送信されてきた後述のレポートジェネラル情報と、そのＳＡＳエクスパンダ１５の物理ＰＨＹごとの、その物理ＰＨＹに物理リンク１７Ａを介して接続されたデバイスに関する情報（以下、これを接続デバイス情報と呼ぶ）とを含む。
【００７６】
なお物理ＰＨＹとは、例えばＳｅｒＤｅｓ（Serializer/DeSerializer：シリアルパラレル変換回路）を備える通信モデム部位を指す。ＳＡＳコントローラ１４及びＳＡＳエクスパンダ１５は、それぞれ接続された１本の物理リンク１７Ａに対して１つの物理ＰＨＹを備える。また接続デバイス情報は、対応する物理ＰＨＹに接続されている他のデバイスの種別と、そのデバイスのリンクレートと、そのデバイスのＳＡＳアドレスとを含む情報である。
【００７７】
リンク状態情報２４は、バックエンド部１８を構成するＳＡＳコントローラ１４及び各ＳＡＳエクスパンダ１５がそれぞれ有する各物理ＰＨＹのリンク状態を表す情報であり、図９に示すように、ＳＡＳコントローラ１４の各物理ＰＨＹの状態（障害なし「active」又は障害「down」）と、各ＳＡＳエクスパンダ１５の各物理ＰＨＹの状態（「active」又は「down」）とを含む。
【００７８】
リンク割当て情報２５は、バックエンド部１８を構成するＳＡＳコントローラ１４及び各ＳＡＳエクスパンダ１５がそれぞれ有する各物理ＰＨＹにそれぞれ割り当てられたリンクレートを管理するための情報であり、図１０に示すように、ＳＡＳコントローラ１４の各物理ＰＨＹ及び各ＳＡＳエクスパンダ１５の各物理ＰＨＹにそれぞれ設定されたリンクレート（３Ｇｂｐｓ，６Ｇｂｐｓ，１２Ｇｂｐｓ，……）を表す情報を含む。
【００７９】
多重転送情報２６は、バックエンド部１８を構成するＳＡＳコントローラ１４及び各ＳＡＳエクスパンダ１５がそれぞれ有する各物理ＰＨＹについて、多重化転送モードが設定されているか否かを管理するための情報であり、図１１に示すように、ＳＡＳコントローラ１４の物理ＰＨＹごと及び各ＳＡＳエクスパンダ１５の物理ＰＨＹごとの多重転送の設定の有無（有効は「enable」、無効は「disable」）を表す情報を含む。
【００８０】
性能閾値情報２７Ａは、バックエンド部１８の性能に関する情報であり、図１２に示すようなバックエンド部１８の性能の閾値に関する情報（以下、これを性能閾値情報と呼ぶ）２７Ａと、図１３に示すようなバックエンド部１８から収集した現在の性能に関する情報（以下、これを監視性能情報と呼ぶ）２７Ｂとから構成される。
【００８１】
性能閾値情報２７Ａは、バックエンド部１８の仕様等により定められたバックエンド部１８の性能限界に関する情報（以下、これを性能限界情報と呼ぶ）２７ＡＡと、ユーザが要求する性能に関する情報（以下、これをユーザ要求性能情報と呼ぶ）２７ＡＢと、一定の性能監視時間ごとの性能実測値の最大値に関する情報（以下、これを実測最大値情報と呼ぶ）２７ＡＣとを含む。
【００８２】
そしてシステム性能限界情報２７ＡＡ、ユーザ要求性能情報２７ＡＢ及び実測最大値情報２７ＡＣは、それぞれバックエンド部１８全体のＩＯＰＳと、バックエンド部１８内のパスごとのＩＯＰＳと、ポート（デバイスの物理ＰＨＹ）ごとのＩＯＰＳと、各リンクレートに対するアクセスの比率（アクセス比率）とを含む。
【００８３】
また監視性能情報２７Ｂは、定期的に取得されたバックエンド部１８全体の性能に関する情報であり、図１３に示すように、バックエンド部１８全体のＩＯＰＳと、バックエンド部１８内のパスごとのＩＯＰＳと、ポートごとのＩＯＰＳとに関する情報を含む。
【００８４】
リンク割当て切替えスケジュール情報２８は、ユーザスケジュールと、少なくともスケジュール管理周期分のアクセス比率変化情報とを少なくとも含む。また動作モードとしてリンク割当て切替え自動モードが設定されている場合には、切替えスケジュールを表す情報が含まれる。
【００８５】
なお、バックエンド部１８を構成するＳＡＳコントローラ１４、各ＳＡＳエクスパンダ１５及び各ハードディスク装置１６のリンクレートがいずれも同じ場合には、リンク割当て情報２５（図１０）、多重転送情報（図１１）及びリンク割当て切替えスケジュール情報２８（図１４）は不要となる。
【００８６】
（４）トラフィック制御に関するマイクロプログラムの処理
次に、本実施の形態によるトラフィック制御に関するディスクアレイ装置３の具体的な処理内容について説明する。なお、以下においては、各種処理の処理主体を「マイクロプログラム」として説明するが、実際上は、かかるマイクロプログラム２０に基づいて対応する処理をＣＰＵ１１（図１１）が実行することは言うまでもない。
（４−１）同一リンクレート時におけるトラフィック制御処理
図１５は、バックエンド部１８を各ハードディスク装置１６のリンクレートがすべて同じ場合におけるトラフィック制御に関するマイクロプログラム２０の処理内容を示す。
【００８７】
マイクロプログラム２０は、ディスクアレイ装置３の電源が投入された立ち上がり時や、バックエンド部１８におけるリンク障害の発生又はデバイス数の変化をＳＡＳコントローラ１４から通知されると、この図１５に示す第１のトラフィック制御処理を開始する。そしてマイクロプログラム２０は、まず、所定の径路診断処理を実行することにより、バックエンド部１８におけるリンク障害の有無を確認すると共に、バックエンド部１８にリンク障害が発生しているときにはその障害箇所を特定する（ＳＰ１）。
【００８８】
続いてマイクロプログラム２０は、かかる径路診断処理により得られたＳＡＳコントローラ１４及び各ＳＡＳエクスパンダ１５の物理ＰＨＹごとのリンク状態（「active」又は「down」）に基づいて、図９について上述したリンク状態情報２４を更新する（ＳＰ２）。
【００８９】
次いでマイクロプログラム２０は、ディスカバー処理を実行することにより、バックエンド情報２１（図６）のうちのＳＡＳコントローラ情報２２（図７）、ＳＡＳエクスパンダ情報２３（図８）、リンク状態情報２４（図９）及びリンク割当て情報２５（図１０）と、性能情報２７（図６）のうちの監視性能情報２７Ｂ（図１３）とについて、最新の情報を採取する（ＳＰ３）。
【００９０】
続いてマイクロプログラム２０は、この第１のトラフィック制御処理の開始事由が、デバイス数が変化した旨の通知をＳＡＳコントローラ１４から送信されたことによるものであるか否かを判断する（ＳＰ４）。そしてマイクロプログラム２０は、この判断において肯定結果を得ると、この第１のトラフィック制御処理を終了する。
【００９１】
これに対してマイクロプログラム２０は、ステップＳＰ４の判断において否定結果を得ると、ホスト装置２に対するＩ／Ｏ制限が必要か否かを判断する（ＳＰ５）。具体的に、マイクロプログラム２０は、ホスト装置２からコマンドを受信してからそのコマンドを実行するまでの時間を常に測定しており、その時間が予め設定された閾値を越えている場合にはＩ／Ｏ制限が必要と判断し、その時間がかかる閾値を越えていない場合にはＩ／Ｏ制限が不要と判断することになる。
【００９２】
そしてマイクロプログラム２０は、ステップＳＰ５の判断において否定結果を得るとステップＳＰ７に進み、これに対して肯定結果を得ると、ホスト装置２からのＩ／Ｏを制限する（ＳＰ６）。例えば、マイクロプログラム２０は、ホスト装置２からのコマンドを受け付ける数（処理キュー数）を制限することにより、ホスト装置２に対するＩ／Ｏ制限を行う。
【００９３】
続いてマイクロプログラム２０は、ステップＳＰ３において採取した現在のバックエンド部１８の各種性能と、メモリ１２に格納されているバックエンド情報２１（図６）のうちの性能閾値情報２７Ａ（図１２）に基づき得られる各性能の閾値とをそれぞれ比較することにより、現在のバックエンド部１８の性能が、リンク障害が発生したとシステム管理者に通知しないでも良い程度の状態であるか否かを判断する（ＳＰ７）。
【００９４】
そしてマイクロプログラム２０は、この判断において肯定結果を得るとこの第１のトラフィック制御処理を終了する。これに対してマイクロプログラム２０は、ステップＳＰ７の判断において否定結果を得ると、リンク障害の発生及び障害箇所を示す情報と、障害部位の交換を促す警告とをシステム管理者に通知する（ＳＰ８）。具体的には、必要なコマンド及び情報を管理クライアント４に送信することにより、かかる情報及び警告を管理クライアント４に表示させる。そしてマイクロプログラム２０は、この後、この第１のトラフィック制御処理を終了する。
【００９５】
（４−２）リンクレート混在時におけるトラフィック制御処理
一方、図１６は、バックエンド部１８内にリンクレートが異なる複数種類のハードディスク装置１６が混在する場合におけるトラフィック制御に関するマイクロプログラム２０の処理内容を示す。
【００９６】
マイクロプログラム２０は、ディスクアレイ装置３の電源が投入された立ち上がり時や、ＳＡＳコントローラ１４からリンク障害の発生又はデバイス数の変化が通知されると、この図１６に示す第２のトラフィック制御処理を開始する。
【００９７】
そしてマイクロプログラム２０は、図１５について上述した第１のトラフィック制御処理のステップＳＰ１〜ステップＳＰ３と同様にステップＳＰ１０〜ステップＳＰ１２を処理することにより、径路診断処理と、バックエンド情報２１（図６）のリンク状態情報２４の更新と、バックエンド情報２１の採取処理とを実行する。
【００９８】
続いてマイクロプログラム２０は、採取したバックエンド情報２１に基づいて、バックエンド部１８内の対応するワイドリンク１７を構成する物理リンク１７Ａを各リンクレートにそれぞれ割り当てる設定をＳＡＳコントローラ１４に対して行うと共に、この設定に応じてバックエンド情報２１のリンク割当て情報２５（図１０）を更新する（ＳＰ１３）。
【００９９】
次いでマイクロプログラム２０は、図について上述した第１のトラフィック制御処理のステップＳＰ５〜ステップＳＰ８と同様にステップＳＰ１４〜ステップＳＰ１７を処理し、この後、この第２のトラフィック制御処理を終了する。
【０１００】
（４−３）径路診断処理
図１７は、第１のトラフィック制御処理（図１５）のステップＳＰ１又は第２のトラフィック制御処理（図１６）のステップＳＰ１０においてマイクロプログラム２０により実行される経路診断処理の処理手順を示す。
【０１０１】
マイクロプログラム２０は、第１のトラフィック制御処理（図１５）のステップＳＰ１又は第２のトラフィック制御処理（図１６）のステップＳＰ１０に進むと、この図１７に示す径路診断処理を開始し、まず、バックエンド部１８内の診断対象とするデバイス（ＳＡＳコントローラ１４又はＳＡＳエクスパンダ１５）及びそのデバイスの物理ＰＨＹを１つ選択する（ＳＰ２０）。
【０１０２】
この際、マイクロプログラム２０は、バックエンド情報２１のリンク状態情報２４（図９）を参照して、最初はデバイスとしてＳＡＳコントローラ１４を選択し、この後は、接続順位がＳＡＳコントローラに近いＳＡＳエクスパンダ１５から順番に選択する。
【０１０３】
またマイクロプログラム２０は、この後、ＳＡＳコントローラ１４を介してそのデバイスのその物理ＰＨＹに対してループバック設定を行う（ＳＰ２１）。
【０１０４】
続いてマイクロプログラム２０は、ステップＳＰ２０において選択した物理ＰＨＹについてのエラーカウンタのカウント値を、ステップＳＰ２０において選択したデバイスから取得し、取得したカウント値を診断前のカウント値として保持する（ＳＰ２２）。
【０１０５】
次いでマイクロプログラム２０は、ＳＡＳコントローラ１４を制御することにより、そのデバイスのその物理ＰＨＹに対してテストパターン信号を送信し（ＳＰ２３）、この後、ステップＳＰ２０において選択した物理ＰＨＹについてのエラーカウンタのカウント値を、ステップＳＰにおいて選択したデバイスから取得し、取得したカウント値を診断後のカウント値として保持する（ＳＰ２４）。
【０１０６】
続いてマイクロプログラム２０は、ステップＳＰ２０において取得したカウント値と、ステップＳＰ２４において取得したカウント値とを比較し、テストパターン信号の送信後にエラーカウンタのカウント値が上昇したか否かを判断する（ＳＰ２５）。
【０１０７】
マイクロプログラム２０は、この判断において肯定結果を得ると、そのデバイスのその物理ＰＨＹを障害部位と判断して、リンク状態情報２４（図９）におけるその物理ＰＨＹの状態を『障害（「down」）』に更新する（ＳＰ２６）。そしてマイクロプログラム２０は、この後、この径路診断処理を終了する。
【０１０８】
これに対してマイクロプログラム２０は、ステップＳＰ２５の判断において否定結果を得ると、そのデバイスのその物理ＰＨＹに対するループバック設定を解除し（ＳＰ２７）、未診断の物理ＰＨＹがあるか否か（すべてのデバイスのすべての物理ＰＨＹについて診断を完了したか否か）を判断する（ＳＰ２８）。
【０１０９】
そしてマイクロプログラム２０は、この判断において否定結果を得ると、ステップＳＰ２０に戻り、この後、ステップＳＰ２０において選択する物理ＰＨＹを順次他の物理ＰＨＹ（同じデバイスの他の物理ＰＨＹ又は他のデバイスの物理ＰＨＹ）に切り替えながら、ステップＳＰ２０〜ステップＳＰ２８の処理を繰り返す。
【０１１０】
そしてマイクロプログラム２０は、やがてバックエンド部１８内のすべてのデバイスのすべての物理ＰＨＹについての診断を実行し終えることによりステップＳＰ２８において肯定結果を得ると、この径路診断処理を終了する。
【０１１１】
（４−４）バックエンド情報採取処理
一方、図１８は、第１のトラフィック制御処理（図１５）のステップＳＰ３又は第２のトラフィック制御処理（図１６）のステップＳＰ１２においてマイクロプログラム２０により実行されるバックエンド情報採取処理の処理手順を示す。
【０１１２】
マイクロプログラム２０は、第１のトラフィック制御処理のステップＳＰ３又は第２のトラフィック制御処理のステップＳＰ１２に進むと、この図１８に示すバックエンド情報採取処理を開始し、まず、最上位のＳＡＳエクスパンダ１５（ＳＡＳコントローラ１４に直結されたＳＡＳエクスパンダ１５）を「ルートのＳＡＳエクスパンダ」として設定する（ＳＰ３０）。
【０１１３】
続いてマイクロプログラム２０は、すべての物理ＰＨＹについて接続デバイス情報を収集し終えていないＳＡＳエクスパンダ１５を１つ選択する。またマイクロプログラム２０は、検索対象の物理ＰＨＹの識別子（以下、これを検索対象ＰＨＹ  ＩＤと呼ぶ）を初期化（「０」を設定）する（ＳＰ３１）。
【０１１４】
次いでマイクロプログラム２０は、ステップＳＰ３１において選択したＳＡＳエクスパンダ１５に対して、ＳＡＳ規格のＳＭＰ（Serial Management Protocol）のコマンドセットであるＳＭＰレポートジェネラルのリクエストを発行する（ＳＰ３２）。これによりマイクロプログラム２０は、かかるリクエストに対する応答により、そのＳＡＳエクスパンダ１５の物理ＰＨＹの総数や、そのＳＡＳエクスパンダ１５に設定されたルーティングテーブルのエントリ数などの情報（レポートジェネラル情報）を取得することができる。
【０１１５】
続いてマイクロプログラム２０は、ステップＳＰ３１において選択したＳＡＳエクスパンダに対し、対象とすべき物理ＰＨＹの識別子として現在の検索対象ＰＨＹ  ＩＤを指定して、ＳＡＳ規格において定義されているＳＭＰディスカバーリクエスト（SMP Discover Request）を発行する（ＳＰ３３）。これによりマイクロプログラム２０は、その物理ＰＨＹに何らかのデバイス（ＳＡＳコントローラ１４、ＳＡＳエクスパンダ１５及び又はハードディスク装置１６）が接続されている場合に、そのデバイスに関して、デバイス種別、リンクレート及び接続先のＳＡＳアドレスなどの情報（以下、これをＰＨＹ情報と呼ぶ）を取得することができる。そしてマイクロプログラム２０は、このとき取得したＰＨＹ情報に基づいてエクスパンダ情報２３（図８）を更新する。
【０１１６】
次いでマイクロプログラム２０は、ステップＳＰ３３において取得したＰＨＹ情報に基づいて、そのとき対象としている物理ＰＨＹに何らかのデバイスが接続されているか否かを判断する（ＳＰ３４）。そしてマイクロプログラム２０は、この判断において否定結果を得ると、ステップＳＰ３８に進む。
【０１１７】
これに対してマイクロプログラム２０は、ステップＳＰ３４の判断において肯定結果を得ると、ステップＳＰ３３において取得したＰＨＹ情報を解析し、この解析により得られたかかるデバイス（そのとき対象としている物理ＰＨＹに接続されていると判断されたデバイス）に接続されているＳＡＳエクスパンダ数やハードディスク装置数などに基づいて、バックエンド情報２１のＳＡＳコントローラ情報２２（図７）等を更新する。
【０１１８】
続いてマイクロプログラム２０は、ステップＳＰ３４において検出したデバイスが自系のデバイスであるか否かを判断する（ＳＰ３６）。そしてマイクロプログラム２０は、この判断において否定結果を得るとステップＳＰ３８に進む。
【０１１９】
これに対してマイクロプログラム２０は、ステップＳＰ３６の判断において肯定結果を得ると、ＳＡＳコントローラ１４からそのとき対象としている物理ＰＨＹを備えるＳＡＳエクスパンダ１５に到達するまでの間に存在する各ＳＡＳエクスパンダ１５がそれぞれ保持するルーティングテーブルに、ステップＳＰ３４において検出したデバイスのＳＡＳアドレスを登録する（ＳＰ３７）。
【０１２０】
さらにマイクロプログラム２０は、上述した検索対象ＰＨＹ  ＩＤの値を１だけ増加させ（ＳＰ３８）、この後、検索対象ＰＨＹ  ＩＤの値が、ステップＳＰ３１において選択したＳＡＳエクスパンダ１５が備える物理ＰＨＹの数よりも小さいか否かを判断する（ＳＰ３９）。
【０１２１】
マイクロプログラム２０は、この判断において肯定結果を得るとステップＳＰ３３に戻り、この後、ステップＳＰ３３〜ステップＳＰ３９の処理を繰り返す。そしてマイクロプログラム２０は、やがて、そのとき対象としているＳＡＳエクスパンダ１５（ステップＳＰ３１において選択したＳＡＳエクスパンダ１５）が備えるすべての物理ＰＨＹについてステップＳＰ３３〜ステップＳＰ３８の処理を実行し終えることによりステップＳＰ３９において否定結果を得ると、未検索のＳＡＳエクスパンダ１５があるか否かを判断する（ＳＰ４０）。
【０１２２】
そしてマイクロプログラム２０は、この判断において肯定結果を得るとステップＳＰ３１に戻り、この後、ステップＳＰ３１〜ステップＳＰ４０の処理を繰り返す。そしてマイクロプログラム２０は、やがてすべてのＳＡＳエクスパンダ１５についてステップＳＰ３１〜ステップＳＰ３９の処理を実行し終えることによりステップＳＰ４０において否定結果を得ると、現在の対象ＳＡＳエクスパンダ１５が「ルートのＳＡＳエクスパンダ」であるか否かを判断する（ＳＰ４１）。
【０１２３】
マイクロプログラム２０は、この判断において否定結果を得ると、そのとき対象としているＳＡＳエクスパンダ１５を検索済みのＳＡＳエクスパンダ１５として設定し、この後、そのＳＡＳエクスパンダ１５よりもよりＳＡＳコントローラ１４に近い上位のＳＡＳエクスパンダ１５を選択する（ＳＰ４２）。
【０１２４】
そしてマイクロプログラム２０は、この後、ステップＳＰ４０に戻り、この後ステップＳＰ４１において肯定結果を得るまで同様の処理を繰り返す。そしてマイクロプログラム２０は、やがて「ルートのＳＡＳエクスパンダ」にまで到達すると、このバックエンド情報採取処理を終了する。
【０１２５】
（４−５）リンク割当て処理
他方、図１９は、第２のトラフィック制御処理（図１６）のステップＳＰ１３においてマイクロプログラム２０により実行されるリンク割当て処理の処理手順を示す。なお、このリンク割当て処理は、ユーザスケジュール又は切替えスケジュールにおいて各リンクレートに対する物理リンク１７Ａの割当て数を変更するタイミングとなった場合にも、マイクロプログラム２０により実行される。
【０１２６】
マイクロプログラム２０は、第２のトラフィック制御処理のステップＳＰ１３に進み、又は、ユーザスケジュールにおいて各リンクレートに対する物理リンク１７Ａの割当て数を変更する時刻となると、この図１９に示すリンク割当て処理を開始する。そしてマイクロプログラム２０は、まず、当該マイクロプログラム２０が定期的にＳＡＳコントローラ１４にコマンドを発行することにより収集しているバックエンド部１８（図１）の性能に関する情報を取得し、取得した情報に基づいて、バックエンド情報２１（図６）の監視性能情報２７Ｂ（図１３）を更新する（ＳＰ５０）。
【０１２７】
続いてマイクロプログラム２０は、このリンク割当て処理の開始理由がスケジュール（ユーザスケジュール又は切替えスケジュール）によりものであるか否かを判断する（ＳＰ５１）。そしてマイクロプログラム２０は、この判断において肯定結果を得ると、リンク割当て情報２５（図１０）にスケジュールを反映させ（ＳＰ５２）、この後、ステップＳＰ５６に進む。
【０１２８】
これに対してマイクロプログラム２０は、ステップＳＰ５１の判断において否定結果を得ると、対象とすべきワイドリンク１７（図１）について、そのワイドリンク１７を構成する残りの物理リンク１７Ａ（図１）を各リンクレートにそれぞれ割り当てることができるか否かを判断する（ＳＰ５３）。
【０１２９】
なお、ここで言う「対象とすべきワイドリンク」とは、第２のトラフィック制御処理の開始事由が「ディスクアレイ装置３の電源が投入された」ことである場合には、バックエンド部１８内のすべてのワイドリンク１７が該当し、第２のトラフィック制御処理の開始事由が「ＳＡＳコントローラ１４からリンク障害の発生又はデバイス数の変化が通知された」ことである場合には、バックエンド部１８内のその影響を受けるワイドリンク１７が該当する。
【０１３０】
またステップＳＰ５３における判断は、リンクレートの種類に対する残りの物理リンク１７Ａの数に基づいて行われる。例えばマイクロプログラム２０は、３Ｇｂｐｓ及び６Ｇｂｐｓのリンクレートが混在するワイドリンク１７において、リンク状態が「active」の物理リンク１７Ａが２つ以上であれば、残りの物理リンク１７Ａを各リンクレートにそれぞれ割り当てることができ、リンク状態が「active」の物理リンク１７Ａが１つしかなければ、残りの物理リンク１７Ａを各リンクレートに割り当てることができないと判断する。また、マイクロプログラム２０は、３Ｇｂｐｓ、６Ｇｂｐｓ及び１２Ｇｂｐｓのリンクレートが混在するワイドリンク１７において、リンク状態が「active」の物理リンク１７Ａが３以上であれば、残りの物理リンク１７Ａを各リンクレートに割り当てることができ、リンク状態が「active」の物理リンク１７Ａが２しかなければ、残りの物理リンク１７Ａを各リンクレートに割り当てることができないと判断する。
【０１３１】
そしてマイクロプログラム２０は、ステップＳＰ５３の判断において否定結果を得ると、低速なリンクレートに合わせて接続を設定し（ＳＰ５４）、この後、このリンク割当て処理を終了する。
【０１３２】
これに対してマイクロプログラム２０は、ステップＳＰ５３の判断において否定結果を得ると、対象となる各ワイドリンク１７について、図２及び図３について上述した方法により各リンクレートにそれぞれ割り当てるべき物理リンク数を決定し、決定結果に基づいてバックエンド情報２１のリンク割当て情報２５（図１０）を更新する（ＳＰ５５）。
【０１３３】
続いてマイクロプログラム２０は、ステップＳＰ５２又はステップＳＰ５５において更新したリンク割当て情報２５に基づいて、対象となる各ワイドリンク１７について、各リンクレートに物理リンク１７Ａをそれぞれ割り当てる（ＳＰ５６）。この物理リンク１７Ａの割り当ては、ステップＳＰ５２又はステップＳＰ５５において更新したリンク割当て情報２５に基づいて、バックエンド情報２１の多重転送情報２６（図１１）を更新することにより行われる。そしてマイクロプログラム２０は、この後、このリンク割当て処理を終了する。
【０１３４】
なおバックエンド部１８において、この後のデータ転送では、かかる多重転送情報２６に従って、ＳＡＳコントローラ１４及びＳＡＳエクスパンダ１５間や、ＳＡＳエクスパンダ１５同士間において、多重転送モードが設定された物理リンク１７Ａにおいて多重転送が行われる。
【０１３５】
（４−６）スケジュール更新処理
図２０は、上述のスケジュール管理周期ごとにマイクロプログラム２０により実行されるスケジュール更新処理の具体的な処理内容を示す。
【０１３６】
マイクロプログラム２０は、スケジュール管理周期ごとにこの図２０に示すスケジュール更新処理を開始し、まず、動作モードとしてリンク割当て切替え自動モードが設定されているか否かを判断する（ＳＰ６０）。
【０１３７】
マイクロプログラム２０は、この判断において否定結果を得ると、バックエンド情報２１のリンク割当て切替えスケジュール情報２８（図１４）に含まれる予め設定されたユーザスケジュールを読み出し、このユーザスケジュールを切替えスケジュールに反映させ（ＳＰ６１）、この後、このスケジュール更新処理を終了する。
【０１３８】
これに対してマイクロプログラム２０は、ステップＳＰ６０の判断において肯定結果を得ると、各リンクレートに対する物理リンク１７Ａの割り当てを切替えるべき時間間隔（リンク割当て切替え間隔）を、予めユーザにより指定された時間間隔に設定する（ＳＰ６２）。
【０１３９】
なお、各リンクレートに対する物理リンク１７Ａの割り当ての切り替え中はバックエンド部１８に対するアクセスが停止されるため、かかるリンク割当て切替え間隔を短くすると計算機システム１全体としての性能が低下することになる。従って、かかるリンク割当て切替え間隔は、システム性能に影響を及ぼさない程度に調整する必要がある。
【０１４０】
続いてマイクロプログラム２０は、スケジュール管理周期を、予めユーザにより指定された周期に設定し（ＳＰ６３）、この後、参考スケジュールが存在するか否かを判断する（ＳＰ６４）。
【０１４１】
マイクロプログラム２０は、この判断において否定結果を得るとこのスケジュール切替え処理を終了する。これに対してマイクロプログラム２０は、ステップＳＰ６４の判断において肯定結果を得ると、参考スケジュールを切替えスケジュールに反映させ（ＳＰ６５）、この後、このスケジュール更新処理を終了する。
【０１４２】
（４−７）リンク割当て切替え処理
図２１は、動作モードとしてリンク割当て切替えモードが設定されている場合に、上述のスケジュール更新処理の（図２０）ステップＳＰ６２において設定されたリンク割当て切替え間隔ごとにマイクロプログラム２０により実行されるリンク割当て切替え処理の処理手順を示す。
【０１４３】
マイクロプログラム２０は、動作モードとしてリンク割当て切替えモードが設定されている場合、リンク割当て切替え間隔ごとに、この図２０に示すリンク割当て切替え処理を開始し、まず、当該マイクロプログラム２０が定期的に更新している監視性能情報２７Ｂ（図１３）から、対象とすべき各ワイドリンク１７の直前の時間帯における各リンクレートのアクセス比率を取得する（ＳＰ７０）。
【０１４４】
続いてマイクロプログラム２０は、対象とすべき各ワイドリンク１７について、切替えスケジュールにおいて規定された各リンクレートに対してそれぞれ割り当てるべき物理リンク１７Ａの比率と、ステップＳＰ７０において取得した直前の時間帯における各リンクレートのアクセス比率とを比較する（ＳＰ７１）。
【０１４５】
そしてマイクロプログラム２０は、この比較結果に基づいて、対象とすべき各ワイドリンク１７について、各リンクレートに対して割り当てる物理リンク数を切り替える必要があるか否かを判断する（ＳＰ７２）。
【０１４６】
そしてマイクロプログラム２０は、この判断において否定結果を得るとステップＳＰ７４に進み、これに対して肯定結果を得ると、対象とすべき各ワイドリンク１７について、図１９について上述したリンク割当て処理を実行することにより各リンクレートに対して必要数の物理リンク１７Ａをそれぞれ割り当てる（ＳＰ７３）。
【０１４７】
次いでマイクロプログラム２０は、ステップＳＰ７０において取得した各ワイドリンク１７における各リンクレートのアクセス比率をアクセス比率情報として、バックエンド情報２１のうちのリンク割当て切替えスケジュール情報２８（図１４）に追加登録し（ＳＰ７４）、この後、このリンク割当て切替え処理を終了する。
【０１４８】
（５）本実施の形態の効果
以上のように本実施の形態による計算機システム１では、バックエンド部１８においてリンク障害が発生した場合に、必要に応じてホスト装置２からのＩ／Ｏを制限するようにしているため、コマンドタイムアウトが頻発したり、ＳＡＳコントローラ１４の閉塞やシステムダウンなどの発生を未然かつ有効に防止することができる。かくするにつきディスクアレイ装置３の信頼性を向上させることができる。
【０１４９】
また本計算機システム１では、バックエンド部１８内にリンクレートが異なる複数種類のハードディスク装置１６が混在する場合に、ＳＡＳコントローラ１４及び最上位のＳＡＳエクスパンダ１５間や、ＳＡＳエクスパンダ１５同士間を接続するワイドリンク１７を構成する複数の物理リンク１７Ａを、そのワイドリンク１７に接続されているリンクレートごとのハードディスク装置１６の総数と、各リンクレートのハードディスク装置１６に対するアクセス総数の割合と、リンクレートとに基づいて各リンクレートに比例配分するため、ユーザの環境に合致した物理リンクの割り当てを行うことができる。
【０１５０】
さらに本計算機システム１では、各リンクレートに対する物理リンク１７Ａの割り当てを、ユーザが予め作成したユーザスケジュール又は参照スケジュールに従って割り当てることもできるため、より一層とユーザの要求及びシステムの環境に合致した物理リンクの割り当てを行うことができる。
【０１５１】
（６）他の実施の形態
なお上述の実施の形態においては、本発明を図１のように構成されたディスクアレイ装置３に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を有するディスクアレイ装置に広く適用することができる。
【０１５２】
また上述の実施の形態においては、マイクロプログラム２０がＳＡＳコントローラ１４からリンク障害の通知が与えられたときに、必要に応じてホスト装置２から送信される入出力要求の受領を制限するようにした場合について述べたが、本発明はこれに限らず、例えばマイクロプログラム２０がホスト装置２に対して入出力要求の発行を制限するように通知することにより、ホスト装置２側でディスクアレイ装置３に送信する入出力要求の数を制限するようにしても良い。このようにすることによって、ホスト装置２に対するかかる通知の後のマイクロプログラム２０の負荷を低減することができる。
【０１５３】
さらに上述の実施の形態においては、バックエンド部１８に対するデータの入出力を制御するコントローラをＳＡＳコントローラ１４により構成し、ＳＡＳコントローラ１４に木構造のトポロジで接続される複数のエクスパンダをＳＡＳエクスパンダ１５により構成し、それぞれ対応するＳＡＳエクスパンダ１５に接続される記憶装置をＳＡＳハードディスク装置１６により構成するようにした場合について述べたが、本発明はこれに限らず、これらコントローラ、エクスパンダ及び記憶装置としてＳＡＳコントローラ１４、ＳＡＳエクスパンダ１５及びＳＡＳハードディスク装置１６以外のものを適用するようにしても良い。
【０１５４】
さらに上述の実施の形態においては、本実施の形態によるＩ／Ｏ制限機能、リンク割当て機能及びリンク割当て切替え機能に関する処理を実行する制御部としてディスクアレイ装置３全体の動作制御を司るＣＰＵ１１（及びマイクロプログラム２０）を適用するようにした場合について述べたが、本発明はこれに限らず、かかる制御部としての処理を実行するハードウェアやソフトウェアをＣＰＵ１１とは別個に設けるようにしても良い。このようにしても上述の実施の形態と同様の効果を得ることができる。
【産業上の利用可能性】
【０１５５】
本発明はワイドリンク技術が適用されたディスクアレイ装置に適用することができる。
【符号の説明】
【０１５６】
１  計算機システム
２  ホスト装置
３  ディスクアレイ装置
４  管理クライアント
１１  ＣＰＵ
１２  メモリ
１４  ＳＡＳコントローラ
１５  エクスパンダ
１６  ハードディスク装置
１７  ワイドリンク
１７Ａ  物理リンク
２０  マイクロプログラム
２１  バックエンド情報
２２  ＳＡＳコントローラ情報
２３  エクスパンダ情報
２４  リンク状態情報
２５リンク割当て情報
２６  多重転送情報
２７  性能情報
２７Ａ  性能閾値情報
２７Ｂ  監視性能情報
２８  リンク割当て切替えスケジュール情報
【図１】
0005439608.tif 000002
【図２】
0005439608.tif 000003
【図３Ａ】
0005439608.tif 000004
【図３Ｂ】
0005439608.tif 000005
【図４】
0005439608.tif 000006
【図５】
0005439608.tif 000007
【図６】
0005439608.tif 000008
【図７】
0005439608.tif 000009
【図８】
0005439608.tif 000010
【図９】
0005439608.tif 000011
【図１０】
0005439608.tif 000012
【図１１】
0005439608.tif 000013
【図１２】
0005439608.tif 000014
【図１３】
0005439608.tif 000015
【図１４】
0005439608.tif 000016
【図１５】
0005439608.tif 000017
【図１６】
0005439608.tif 000018
【図１７】
0005439608.tif 000019
【図１８】
0005439608.tif 000020
【図１９】
0005439608.tif 000021
【図２０】
0005439608.tif 000022
【図２１】
0005439608.tif 000023