(57)【特許請求の範囲】
【請求項１】
シリアル・アタッチド小型コンピュータシステムインタフェース（SAS）システムであって、前記SASシステムは、SASコントローラ、第１の拡張カード、第２の拡張カードおよび第３の拡張カードを含み、且つ、前記第１の拡張カードは第１のポートおよび第２のポートを含み、
前記第２の拡張カードおよび前記第３の拡張カードは、前記第１の拡張カードを使用することによって、前記SASコントローラへの通信接続を確立し、
前記第１の拡張カードは、前記第１のポートを介して、前記第２の拡張カードへの通信接続を確立し、
前記第１の拡張カードは、前記第２のポートを介して、前記第３の拡張カードへの通信接続を確立し、
前記第２の拡張カードは、前記第３の拡張カードに接続され、
前記SASコントローラは、拡張カードトラバーサルを開始して、前記SASシステムの拡張カードのトポロジ構造を取得するように構成され、
前記SASコントローラは、前記第２の拡張カードによって返されるトポロジ構造情報および前記第３の拡張カードによって返されるトポロジ構造情報を受信するようにさらに構成され、
受信された前記トポロジ構造情報が、前記第２の拡張カードが、前記第３の拡張カードに直接接続されることを示す場合、前記第２の拡張カードおよび前記第３の拡張カードは、前記拡張カードトラバーサルにおいて、トラバースされるべき拡張カードとしてもはや使用されない、SASシステム。
【請求項２】
前記第２の拡張カードは第３のポートを含み、且つ、前記第３の拡張カードは第４のポートを含み、
前記第２の拡張カードが前記第３の拡張カードに接続されることは、具体的には、前記第３のポートが前記第４のポートに接続されることを含み、
前記第２の拡張カードは、前記第３のポート以外のポートを介して、受信されたSASシステム状態変化メッセージをブロードキャストし、且つ、前記第３の拡張カードは、前記第４のポート以外のポートを介して、受信されたSASシステム状態変化メッセージをブロードキャストする、請求項１に記載のSASシステム。
【請求項３】
前記第３のポートおよび前記第４のポートは、減法属性ポートであり、前記減法属性ポートの各々は、受信されたデータパケットのフォワーディングポートが前記第２又は第３の拡張カードのルーティングテーブル内で発見されることができないときに、データパケットを送信するために使用される、請求項２に記載のSASシステム。
【請求項４】
前記第２の拡張カードは、受信されたSASシステム状態変化メッセージをブロードキャストせず、または、前記第３の拡張カードは、受信されたSASシステム状態変化メッセージをブロードキャストしない、請求項１に記載のSASシステム。
【請求項５】
前記SASコントローラは、前記SASシステムの前記拡張カードの取得された前記トポロジ構造に従って、前記SASコントローラから前記第３の拡張カードまでの最短経路を計算し、
前記SASコントローラから前記第３の拡張カードまでの前記最短経路が前記第２の拡張カードを通過する場合、前記SASコントローラから前記第３の拡張カードまでの前記最短経路に従って、前記第１の拡張カードおよび前記第２の拡張カードのルーティングテーブルを確立するようにさらに構成される、請求項１に記載のSASシステム。
【請求項６】
シリアル・アタッチド小型コンピュータシステムインタフェース（SAS）システムの拡張カードトラバーサル方法であって、前記SASシステムは、SASコントローラ、第１の拡張カード、第２の拡張カードおよび第３の拡張カードを含み、且つ、
前記拡張カードトラバーサル方法は、
拡張カードトラバーサルを開始して、前記SASシステムの拡張カードのトポロジ構造を取得するステップと、
前記第１の拡張カードを使用することによって、前記第２の拡張カードによって返されるトポロジ構造情報を受信し、且つ、前記第１の拡張カードを使用することによって、前記第３の拡張カードによって返されるトポロジ構造情報を受信するステップであって、前記第２の拡張カードによって返される前記トポロジ構造情報は、前記第２の拡張カードが前記第３の拡張カードに直接接続されることを含み、前記第３の拡張カードによって返される前記トポロジ構造情報は、前記第３の拡張カードが前記第２の拡張カードに直接接続されることを含む、ステップと、
前記拡張カードトラバーサルにおいて、その後、前記第２の拡張カードをトラバースされるべき拡張カードとして使用することをスキップし、且つ、前記第３の拡張カードをトラバースされるべき拡張カードとして使用することをスキップするステップとを含む、方法。
【請求項７】
前記SASシステムの前記拡張カードの取得された前記トポロジ構造に従って、前記SASコントローラから前記第３の拡張カードまでの最短経路を計算するステップと、前記SASコントローラから前記第３の拡張カードまでの前記最短経路が前記第２の拡張カードを通過する場合、
前記SASコントローラから前記第３の拡張カードまでの前記最短経路に従って、前記第１の拡張カードおよび前記第２の拡張カードのルーティングテーブルを確立するステップとをさらに含む、請求項６に記載の方法。
【請求項８】
プロセッサ、メモリ、通信インタフェースおよびバスを含むコントロールデバイスであって、前記プロセッサ、前記メモリおよび前記通信インタフェースは、前記バスを使用することによって互いに通信し、
前記通信インタフェースは、拡張カードと通信するように構成され、
前記メモリは、プログラムを記憶するように構成され、
前記コントロールデバイスが動作するとき、前記プロセッサは、請求項６または７に記載の前記方法を実行するために、前記メモリ内に記憶された前記プログラムを実行するように構成される、コントロールデバイス。
【請求項９】
コントロール装置であって、前記コントロール装置は、シリアル・アタッチド小型コンピュータシステムインタフェース（SAS）システムのために使用され、且つ、前記SASシステムは、前記コントロール装置、第１の拡張カード、第２の拡張カードおよび第３の拡張カードを含み、
前記コントロール装置は、
拡張カードトラバーサルを開始して、前記SASシステムの拡張カードのトポロジ構造を取得するように構成されるトラバーサル開始ユニットと、
前記第１の拡張カードを使用することによって、前記第２の拡張カードによって返されるトポロジ構造情報を受信し、前記第１の拡張カードを使用することによって、前記第３の拡張カードによって返されるトポロジ構造情報を受信し、前記第２の拡張カードをトラバースされるべき拡張カードとしてもはや使用せず、前記第３の拡張カードをトラバースされるべき拡張カードとしてもはや使用しないように構成されるトラバーサル処理ユニットであって、前記第２の拡張カードによって返される前記トポロジ構造情報は、前記第２の拡張カードが前記第３の拡張カードに直接接続されることを含み、前記第３の拡張カードによって返される前記トポロジ構造情報は、前記第３の拡張カードが前記第２の拡張カードに直接接続されることを含む、トラバーサル処理ユニットとを含む、コントロール装置。
【請求項１０】
前記コントロール装置は、
前記SASシステムの前記拡張カードの取得された前記トポロジ構造に従って、SASコントローラから前記第３の拡張カードまでの最短経路を計算し、前記SASコントローラから前記第３の拡張カードまでの前記最短経路が前記第２の拡張カードを通過する場合、
前記SASコントローラから前記第３の拡張カードまでの前記最短経路に従って、前記第１の拡張カードおよび前記第２の拡張カードのルーティングテーブルを確立するように構成されるルーティングテーブル管理ユニットをさらに含む、請求項９に記載のコントロール装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信分野に関し、詳細には、SASシステム、SASシステムトラバーサル方法および装置に関する。
【背景技術】
【０００２】
シリアル・アタッチドSCSIシステムまたはSASドメインとも呼ばれる、シリアル・アタッチド小型コンピュータシステムインタフェース（Serial Attached Small Computer System Interface、略してSAS）システムは、エンタープライズレベルで、新しい世代のシリアルポイントツーポイント記憶デバイスインタフェースである。SASシステムは、非常に好適な拡張能力を有するとともに、SAS拡張デバイス（拡張カードとも呼ばれる）を使用することによって、大量のディスクデバイスに接続されることができる。一般に、SASコントローラおよび拡張カードを含む一組のデバイスは、SASシステムと呼ばれる。図１に示されるように、既存のSASシステムにおけるSASコントローラは、複数のコントローラポートを有するとともに、複数の拡張カードに接続されることができる。既存のSASシステムにおけるコントローラポート１が、例として使用される。コントローラポート１は拡張カード１に接続され、且つ、拡張カード１は、複数の拡張カードポートを有するとともに、ハードディスクおよび別の拡張カードに接続されることができる。例えば、拡張カードポート１は拡張カード２に接続され、且つ、拡張カードポート２は拡張カード３に接続される。拡張カード１と同様に、拡張カード２もまた、複数の拡張カードおよびハードディスクに接続されてよい。SASシステム全体における拡張カード間の接続の構造はツリー状であり、且つ、従って、SASシステム全体における拡張カードおよびハードディスクの数は、十分に拡張されることができる。拡張カード１と同様に、拡張カード３もまた、複数の拡張カードおよびハードディスクに接続されてよい。
【０００３】
SASシステムでは、拡張カードに接続されるハードディスクが読み出される必要がある場合、例えば、拡張カード５に接続されるハードディスクが読み出される必要がある場合、拡張カード５は、SASコントローラによって送信された読み出し命令を受信することができるとともに、読み出し命令が、拡張カード１を使用することによって拡張カード２にルーティングされ、拡張カード２を使用することによって拡張カード４にルーティングされ、次いで、拡張カード４を使用することによって拡張カード５にルーティングされた後にのみ、対応する動作を実行する。このプロセス中、拡張カード５からSASコントローラまでのルーティング経路のいずれかの部分において問題が発生した場合、例えば、拡張カード１が故障した場合、拡張カード１と拡張カード２との間の通信チャネルは切断され、または、拡張カード２が故障した場合、拡張カード５は、SASコントローラによって送信された命令を受信することができず、このことは、システム全体における故障を引き起こす。加えて、SASシステムの拡張能力は比較的強いため、拡張カード間のカスケーディングの深度は比較的大きくてよく、且つ、故障の確率および故障のケースにおける損失もまた、それに応じて増加する。
【発明の概要】
【課題を解決するための手段】
【０００４】
前述の従来技術に対して、本発明は提案される。本発明によると、既存の技術的解決手段におけるSASシステムの拡張カード間のツリー状ネットワーキングによる、SASシステムの比較的低い安定性および信頼性という問題が解決されることができる。
【０００５】
本発明の実施形態の第１の態様は、シリアル・アタッチド小型コンピュータシステムインタフェースSASシステムを提供し、ここで、SASシステムは、SASコントローラ、第１の拡張カード、第２の拡張カードおよび第３の拡張カードを含み、且つ、第１の拡張カードは第１のポートおよび第２のポートを含み、
第２の拡張カードおよび第３の拡張カードは、第１の拡張カードを使用することによって、SASコントローラへの通信接続を確立し、
第１の拡張カードは、第１のポートを介して、第２の拡張カードへの通信接続を確立し、
第１の拡張カードは、第２のポートを介して、第３の拡張カードへの通信接続を確立し、
第２の拡張カードは、第３の拡張カードに接続される。
【０００６】
第１の態様を参照すると、第１の態様の第１の実施方式では、第２の拡張カードは第３のポートを含み、且つ、第３の拡張カードは第４のポートを含み、
第２の拡張カードが第３の拡張カードに接続されることは、具体的には、第３のポートが第４のポートに接続されることを含み、
第２の拡張カードは、第３のポート以外のポートを介して、受信されたSASシステム状態変化メッセージをブロードキャストし、且つ、第３の拡張カードは、第４のポート以外のポートを介して、受信されたSASシステム状態変化メッセージをブロードキャストする。
【０００７】
第１の態様の第１の実施方式を参照すると、第１の態様の第２の実施方式では、第３のポートおよび第４のポートは、減法属性ポートである。
【０００８】
第１の態様を参照すると、第１の態様の第３の実施方式では、第２の拡張カードは、受信されたSASシステム状態変化メッセージをブロードキャストせず、または、第３の拡張カードは、受信されたSASシステム状態変化メッセージをブロードキャストしない。
【０００９】
第１の態様および第１の態様の第１、第２および第３の実施方式を参照すると、第１の態様の第４の実施方式では、SASコントローラは、拡張カードトラバーサルを開始して、SASシステムの拡張カードのトポロジ構造を取得するように構成され、
SASコントローラは、第２の拡張カードによって返されるトポロジ構造情報を受信し、第３の拡張カードによって返されるトポロジ構造情報を受信するようにさらに構成され、ここで、第２の拡張カードによって返されるトポロジ構造情報は、第２の拡張カードが第３の拡張カードに接続されることを含み、第３の拡張カードによって返されるトポロジ構造情報は、第３の拡張カードが第２の拡張カードに接続されることを含み、
拡張カードトラバーサルでは、第２の拡張カードは、トラバースされるべき拡張カードとしてもはや使用されず、且つ、第３の拡張カードは、トラバースされるべき拡張カードとしてもはや使用されない。
【００１０】
第１の態様の第４の実施方式を参照すると、第１の態様の第５の実施方式では、SASコントローラは、SASシステムの拡張カードの取得されたトポロジ構造に従って、SASコントローラから第３の拡張カードまでの最短経路を計算し、SASコントローラから第３の拡張カードまでの最短経路が第２の拡張カードを通過する場合、
SASコントローラから第３の拡張カードまでの最短経路に従って、第１の拡張カードおよび第２の拡張カードのルーティングテーブルを確立するようにさらに構成される。
【００１１】
本発明の実施形態の第２の態様は、シリアル・アタッチド小型コンピュータシステムインタフェースSASシステムの拡張カードトラバーサル方法を提供し、ここで、SASシステムは、SASコントローラ、第１の拡張カード、第２の拡張カードおよび第３の拡張カードを含み、且つ、
拡張カードトラバーサル方法は、
拡張カードトラバーサルを開始して、SASシステムの拡張カードのトポロジ構造を取得するステップと、
第１の拡張カードを使用することによって、第２の拡張カードによって返されるトポロジ構造情報を受信し、且つ、第１の拡張カードを使用することによって、第３の拡張カードによって返されるトポロジ構造情報を受信するステップであって、ここで、第２の拡張カードによって返されるトポロジ構造情報は、第２の拡張カードが第３の拡張カードに接続されることを含み、第３の拡張カードによって返されるトポロジ構造情報は、第３の拡張カードが第２の拡張カードに接続されることを含む、ステップと、
拡張カードトラバーサルにおいて、第２の拡張カードをトラバースされるべき拡張カードとして使用することをスキップし、且つ、第３の拡張カードをトラバースされるべき拡張カードとして使用することをスキップするステップとを含む。
【００１２】
第２の態様を参照すると、第２の態様の第１の実施方式では、方法は、SASシステムの拡張カードの取得されたトポロジ構造に従って、SASコントローラから第３の拡張カードまでの最短経路を計算するステップと、SASコントローラから第３の拡張カードまでの最短経路が第２の拡張カードを通過する場合、
SASコントローラから第３の拡張カードまでの最短経路に従って、第１の拡張カードおよび第２の拡張カードのルーティングテーブルを確立するステップとをさらに含む。
【００１３】
本発明の実施形態の第３の態様は、プロセッサ、メモリ、通信インタフェースおよびバスを含むコントロールデバイスを提供し、ここで、プロセッサ、メモリおよび通信インタフェースは、バスを使用することによって互いに通信し、ここで、
通信インタフェースは、拡張カードと通信するように構成され、
メモリは、プログラムを記憶するように構成され、
コントロールデバイスが動作するとき、プロセッサは、本発明の実施形態の第２の態様に係る任意の方法を実行するために、メモリ内に記憶されたプログラムを実行するように構成される。
【００１４】
本発明の実施形態の第４の態様はコントロール装置を提供し、ここで、コントロール装置は、SASシステムのために使用され、且つ、SASシステムは、コントロール装置、第１の拡張カード、第２の拡張カードおよび第３の拡張カードを含み、
コントロール装置は、
拡張カードトラバーサルを開始して、SASシステムの拡張カードのトポロジ構造を取得するように構成されるトラバーサル開始ユニットと、
第１の拡張カードを使用することによって、第２の拡張カードによって返されるトポロジ構造情報を受信し、第１の拡張カードを使用することによって、第３の拡張カードによって返されるトポロジ構造情報を受信し、第２の拡張カードをトラバースされるべき拡張カードとしてもはや使用せず、第３の拡張カードをトラバースされるべき拡張カードとしてもはや使用しないように構成されるトラバーサル処理ユニットであって、ここで、第２の拡張カードによって返されるトポロジ構造情報は、第２の拡張カードが第３の拡張カードに接続されることを含み、第３の拡張カードによって返されるトポロジ構造情報は、第３の拡張カードが第２の拡張カードに接続されることを含む、トラバーサル処理ユニットとを含む。
【００１５】
第４の態様を参照すると、第４の態様の第１の実施方式では、コントロール装置は、
SASシステムの拡張カードの取得されたトポロジ構造に従って、SASコントローラから第３の拡張カードまでの最短経路を計算し、SASコントローラから第３の拡張カードまでの最短経路が第２の拡張カードを通過する場合、
SASコントローラから第３の拡張カードまでの最短経路に従って、第１の拡張カードおよび第２の拡張カードのルーティングテーブルを確立するように構成されるルーティングテーブル管理ユニットをさらに含む。
【００１６】
本発明の実施形態の第５の態様は拡張カードを提供し、ここで、拡張カードは、第１のポートおよび第２のポートを含み、
拡張カードは、別の拡張カード経由の第１のポートを介して、さらに別の拡張カードへの通信接続を確立し、且つ、
拡張カードは、第２のポートを介して、さらに別の拡張カードに接続される。
【００１７】
第５の態様を参照すると、第５の態様の第１の実施方式では、拡張カードは、第２のポート以外のポートを介して、受信されたSASシステム状態変化メッセージをブロードキャストする。
【００１８】
第５の態様の第１の実施方式を参照すると、第５の態様の第２の実施方式では、第２のポートは減法属性ポートである。
【００１９】
第５の態様を参照すると、第５の態様の第３の実施方式では、拡張カードは、受信されたSASシステム状態変化メッセージをブロードキャストしない。
【００２０】
上で提供される実施形態によると、SASシステムにおける拡張カードのトポロジ構造は環状に設定され、すなわち、同じ拡張カードの異なるポートから延伸される２つの拡張カードは直接接続され、その結果、SASシステムにおける拡張カードは、実際、SASコントローラへの２つの可能な通信チャネルを有し、このことは、SASシステムの信頼性および安定性を改善する。
【図面の簡単な説明】
【００２１】
本発明の実施形態における、または従来技術における技術的解決手段をより明確に説明するために、以下では、実施形態のために必要とされる添付図面を簡潔に説明する。明らかに、以下の説明における添付図面は、本発明のいくつかの実施形態を示し、且つ、当業者は、創造的努力無しにこれらの添付図面から他の図面をさらに導出することができる。
【００２２】
【図１】図１は、従来技術に適用されるSASシステムの概略構成図である。
【図２】図２は、本発明のシステムの実施形態１において適用されるSASシステムの概略構成図である。
【図３】図３は、本発明のシステムの実施形態２において適用されるSASシステムの概略構成図である。
【図４】図４は、本発明の方法の実施形態において適用されるSASシステムの拡張カードトラバーサル方法の概略フローチャートである。
【図５】図５は、本発明のデバイスの実施形態において適用されるコントロールデバイスの概略構成図である。
【図６ａ】図６ａおよび図６ｂは、本発明の装置の実施形態１において適用されるコントロール装置の概略構成図である。
【図６ｂ】図６ａおよび図６ｂは、本発明の装置の実施形態１において適用されるコントロール装置の概略構成図である。
【図７】図７は、本発明の装置の実施形態２において適用される拡張カードの概略構成図である。
【発明を実施するための形態】
【００２３】
本発明の実施形態の目的、技術的解決手段および利点をより明確にするために、以下では、本発明の実施形態における添付図面を参照して、本発明の実施形態における技術的解決手段を明確且つ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態の一部であるが全てではない。創造的努力無しに、本発明の実施形態に基づいて、当業者によって得られる全ての他の実施形態は、本発明の保護範囲に包含されるべきである。
【００２４】
本発明の実施形態はSASシステムを提供する。図２に示されるように、SASシステムは、SASシステム全体に属する拡張カードおよびハードディスクを管理するように構成されたSASコントローラを含み、且つ、SASコントローラの管理機能は、拡張カードに操作命令を送信するステップ、SASシステムのトポロジ構造を取得するとともに拡張カードのルーティングテーブルを設定するステップ、SASシステムの状態変化を監視するステップ等々を含む。SASコントローラは複数のコントローラポートを含み、且つ、従って、各SASコントローラは複数の拡張カードに接続されてよく、簡潔のために、ただ一つのSASコントローラのケースが明細書において説明される。SASシステムは、SASシステムを共同して管理する複数のSASコントローラを含んでよいことは留意されるべきである。拡張カードは複数のインタフェースを含み、ここで、いくつかのインタフェースはハードディスクに接続するように構成されてよく、且つ、いくつかのインタフェースは別の拡張カードに接続するように構成されてよく、その結果、SASシステム全体で組み立てられるハードディスクの数は十分に拡張されることができる。加えて、拡張カードは、ルータの機能と同様の機能をさらに有する。SASコントローラが操作命令を送信するとき、操作命令を受信する拡張カードは、ポートを介して、事前に設定されたルーティングテーブルに従って、次の拡張カードに操作命令を送信し、その結果、操作命令は、予期される拡張カードに達することができる。拡張カードは、SASシステムのトポロジ構造を取得する機能および拡張カードのルーティングテーブルを設定する機能をさらに含んでよい。
【００２５】
前述の内容に基づいて、本発明の実施形態は、SASシステム、SASシステムトラバーサル方法および装置を提供する。
【００２６】
明細書を通して、「拡張カード」という用語はまた、expanderまたは拡張デバイスと呼ばれてもよく、これは、SASシステムにおけるスイッチングデバイスであり、且つ、拡張カード間または拡張カードとSASコントローラとの間のデータ通信を実行するように構成される。加えて、拡張カードは、様々なタイプのハードディスクまたはSASシステムにおける別の端末デバイスにさらに直接接続されてよい。
【００２７】
明細書を通して、「通信接続」または「接続」という用語は、通信が、通信チャネルを介して、拡張カード間または拡張カードとSASコントローラとの間で実行されることができることを表し、ここで、通信チャネルは、１つまたは複数の拡張カードを含んでよく、または、「通信接続」または「接続」は、拡張カード間または拡張カードとSASコントローラとの間の直接接続を表してよい。例えば、図２では、拡張カード２および拡張カード４を使用することによって、拡張カード６と拡張カード１との間で通信接続が確立され、拡張カード４を使用することによって、拡張カード２と拡張カード６との間で通信接続が確立され、しかし、拡張カード６と拡張カード４との間で通信接続が直接確立される。
【００２８】
明細書を通して、「〜に接続する」という用語は、拡張カードが直接接続されることを表す。図２に示されるように、拡張カード６は、拡張カードポート３を介して、拡張カード５の拡張カードポート４に接続され、且つ、次いで、拡張カード６および拡張カード５は、別の拡張カードを使用すること無しに、互いに直接通信することができ、すなわち、拡張カード６は拡張カード５に接続される。
【００２９】
明細書を通して、「SASシステム状態変化メッセージ」という用語は、拡張カードが、拡張カードの各ポート上に組み立てられたデバイスが変化したと検出したとき、例えば、ハードディスクのプラグインまたはプラグアウト、またはハードディスクの故障を検出したとき、SASシステムにおける拡張カードによって拡張カードに接続される別の拡張カードに送信されるブロードキャストメッセージを表し、ここで、ブロードキャストメッセージは、拡張カード上に組み立てられたデバイスが変化したと別の拡張カードに通知するために使用される。加えて、SASシステム状態変化メッセージを取得した後、SASシステムにおけるコントロールデバイス、例えば、SASコントローラは、SASシステムにおける各拡張カードについて状態トラバーサルクエリを開始する。実際には、SASシステム状態変化メッセージは、プリミティブメッセージとして設計されてよく、例えば、BROADCAST (CHANGE)プリミティブとして設計されてよい。従って、SASシステム状態変化メッセージはまた、ブロードキャストプリミティブと呼ばれてもよい。
【００３０】
明細書を通して、「拡張カードトラバーサル」という用語は、SASシステム状態変化メッセージを受信した後、SASシステムにおけるコントロールデバイス、例えば、SASコントローラは、SASシステムにおけるデバイスの状態が変化したことを習得し、且つ、SASシステムにおける各拡張カードの状態および各拡張カード上に組み立てられたデバイスの状態を習得するために、SASシステムにおける各拡張カードについてトラバーサルを連続的に開始することを表す。SASシステムにおける各拡張カードの状態を習得した後、SASコントローラは、状態に従って、各拡張カードのルーティングテーブルをさらに設計してよく、その結果、SASコントローラは、拡張カード上に組み立てられたデバイス（例えば、ハードディスク）に成功裏にアクセスすることができる。
【００３１】
システムの実施形態１
【００３２】
本発明のシステムの実施形態１はSASシステムを提供し、且つ、SASシステムの概略構成図は、SASコントローラおよび拡張カード１−６を含む図２に示され、ここで、拡張カード１は、拡張カードポート１および拡張カードポート２を含み、拡張カード６および拡張カード５は、拡張カード１を使用することによって、SASコントローラへの通信接続を確立し、拡張カード１は、拡張カードポート１を介して、拡張カード６への通信接続を確立し、拡張カード１は、拡張カードポート２を介して、拡張カード５への通信接続を確立し、拡張カード６は、拡張カード５に接続される。
【００３３】
SASシステムの前述の設計では、それを介してSASコントローラが拡張カード６にアクセスするチャネルが、例として使用される。SASコントローラは、拡張カード１、２、４および６のチャネルを使用することによって、または、拡張カード１、３、５および６のチャネルを使用することによって、拡張カード６にアクセスすることができる。従って、２つのチャネルのうちのどちらかにおいて故障が発生した場合、SASコントローラは、もう一方のチャネルを使用することによって、拡張カード６に依然としてアクセスすることができ、このことは、SASシステムの信頼性を改善する。
【００３４】
具体的には、拡張カード６は、拡張カード１、２および４を使用することによって、SASコントローラへの通信接続を確立し、拡張カード５は、拡張カード１および３を使用することによって、SASコントローラへの通信接続を確立し、拡張カード１はまた、別の拡張カードを使用することによってSASコントローラへの通信接続を確立してもよい。
【００３５】
任意で、拡張カード６は拡張カードポート３を含み、且つ、拡張カード５は、拡張カードポート４を含み、次いで、拡張カード６が拡張カード５に接続されることは、具体的には、拡張カードポート３が拡張カードポート４に接続されることを含む。このケースでは、拡張カード６がSASシステム状態変化メッセージを受信した場合、拡張カード６は、SASシステム状態変化メッセージを、SASシステム状態変化メッセージを送信した拡張カードを除く、拡張カード６に接続される全ての拡張カードにブロードキャストし、ここで、SASシステム状態変化メッセージを送信した拡張カードを除く、全ての拡張カードは、拡張カード５を含む。拡張カード６によって送信されたSASシステム状態変化メッセージを受信した後、拡張カード５は、SASシステム状態変化メッセージを拡張カード３にブロードキャストし続ける。次いで、拡張カード３は、拡張カード１にSASシステム状態変化メッセージをブロードキャストし、拡張カード１は、拡張カード２にSASシステム状態変化メッセージをブロードキャストし、拡張カード２は、拡張カード４にSASシステム状態変化メッセージをブロードキャストし、拡張カード４は、拡張カード６にSASシステム状態変化メッセージをブロードキャストして戻し、拡張カード６は、ブロードキャストサイクルを再び続ける。SASシステム状態変化メッセージがSASシステム内で無制限にブロードキャストされることを防ぐために、SASシステム状態変化メッセージを受信した後、拡張カード６は、拡張カードポート３を介して、SASシステム状態変化メッセージを拡張カード５に送信せず、加えて、SASシステム状態変化メッセージを受信した後、拡張カード５もまた、拡張カードポート４を介して、SASシステム状態変化メッセージを拡張カード６に送信しない。従って、SASシステム状態変化メッセージは、拡張カードポート３と拡張カードポート４との間で送信されることはできず、且つ、SASシステム状態変化メッセージは、SASシステム内で循環してブロードキャストされない。
【００３６】
具体的には、SASシステム状態変化メッセージを受信した後、拡張カード６は、拡張カードポート３を介して、SASシステム状態変化メッセージを拡張カード５に送信せず、加えて、SASシステム状態変化メッセージを受信した後、拡張カード５もまた、拡張カードポート４を介して、SASシステム状態変化メッセージを拡張カード６に送信しない。拡張カード５および拡張カード６については、機能を実施するための複数の方式がある。拡張カードにおいては、３つのタイプの拡張カードポートが定義され、すなわち、直接（Direct、略してD）属性ポート、テーブル（Table、略してT）属性ポートおよび減法（Subtractive、略してS）属性ポートが定義される。一般に、直接属性ポートは、ハードディスクデバイスに直接接続するように構成され、テーブル属性ポートは、別の拡張カードに接続するように構成され、減法属性ポートは特殊なポートである。SASプロトコルは、ただ一つの減法属性ポートが、一つの拡張カード上に設置されることができると規定し、且つ、受信されたデータパケットのフォワーディングポートが拡張カードのルーティングテーブル内で発見されることができないとき、データパケットは、減法属性ポートを使用することによって送信される。実際には、拡張カードポート３および拡張カードポート４は、減法属性ポートとして設定されてよく、次いで、拡張カード５および拡張カード６によって受信されるSASシステム状態変化メッセージをブロードキャストするとき、拡張カード５および拡張カード６は、減法属性ポートを使用することによって、SASシステム状態変化メッセージをブロードキャストしない。あるいは、拡張カードポート３および拡張カードポート４は、テーブル属性ポートとして設定されてよく、次いで、拡張カード６および拡張カード５によって受信されるSASシステム状態変化メッセージをブロードキャストするとき、拡張カード６および拡張カード５は、テーブル属性ポートを使用することによって、SASシステム状態変化メッセージをブロードキャストしない。実際には、目的を達成するための複数の方式があってよく、且つ、詳細はここでは説明されない。
【００３７】
任意で、SASシステム状態変化メッセージが循環してブロードキャストされるという前述の問題を解決する間、拡張カード６はまた、拡張カード６によって受信されるSASシステム状態変化メッセージをブロードキャストしなくてもよい。すなわち、いずれかの拡張カードがSASシステム状態変化メッセージを拡張カード６に送信するとき、拡張カード６は、SASシステム状態変化メッセージを別の拡張カードにブロードキャストしない。しかしながら、拡張カード６上に組み立てられたデバイスが変化したとき、すなわち、拡張カード６がSASシステム状態変化メッセージを生成するとき、拡張カード６は、SASシステム状態変化メッセージを、拡張カード６に接続される別の拡張カードにさらにブロードキャストする。あるいは、拡張カード６の機能は、SASシステムにおけるいずれかの拡張カードによって実施されてよい。
【００３８】
拡張カード６または拡張カード５の前述の設定は、帯域外方式で実行されてよく、すなわち、拡張カード６または拡張カード５は、拡張カード６または拡張カード５のインタフェースを使用することによって直接設定されることは留意されるべきである。あるいは、拡張カード６または拡張カード５の前述の設定は、帯域内方式で実行されてよく、すなわち、設定メッセージは、SASコントローラを使用することによって、拡張カード６または拡張カード５に配送され、または、拡張カード６または拡張カード５は、配送において設定されてよい。
【００３９】
任意で、SASコントローラは、拡張カードトラバーサルを開始して、SASシステムの拡張カードのトポロジ構造を取得するように構成されるとともに、拡張カード５によって返されるトポロジ構造情報を受信し、拡張カード６によって返されるトポロジ構造情報を受信し、拡張カードトラバーサルにおいて、拡張カード５をトラバースされるべき拡張カードとしてもはや使用せず、拡張カード６をトラバースされるべき拡張カードとしてもはや使用しないようにさらに構成され、ここで、拡張カード５によって返されるトポロジ構造情報は、拡張カード５が拡張カード６に接続されることを含み、拡張カード６によって返されるトポロジ構造情報は、拡張カード６が拡張カード５に接続されることを含む。
【００４０】
具体的には、SASコントローラがSASシステム状態変化メッセージを受信した後、または、SASシステムが、拡張カードを初期化する必要があるとき、SASシステムの通常動作を保証するために、SASコントローラは、拡張カードトラバーサルを開始して、SASシステムの拡張カードのトポロジ構造および各拡張カード上に組み立てられるデバイスに関する情報（例えば、ハードディスク情報）を取得する。拡張カードトラバーサルは、具体的には、REPORT GENERAL要求を拡張カードに送信することであってよい。実際には、幅優先トラバーサルシーケンスが一般に、拡張カードトラバーサルのために使用される。図２におけるSASシステムが例として使用される。SASコントローラは最初に、REPORT GENERAL要求を拡張カード１に送信し、REPORT GENERAL要求を受信した後、拡張カード１は、拡張カード１が拡張カード２および拡張カード３に接続されることをSASコントローラに通知する。SASコントローラは、トラバースされるべき拡張カードとして拡張カード２および拡張カード３を使用するとともに、REPORT GENERAL要求を拡張カード２および拡張カード３に連続的に再送信する。類推によって、全ての拡張カードの状況が得られる。
【００４１】
拡張カードトラバーサルプロセスの間、SASコントローラが、拡張カード５によって返されるとともに、拡張カード５が拡張カード６に接続されることを示す、トポロジ構造情報を受信するとともに、拡張カード６によって返されるとともに、拡張カード６が拡張カード５に接続されることを示す、トポロジ構造情報をさらに受信した場合、拡張カード５と拡張カード６との間のトポロジ構造はツリー状でなく、環状であることを示す。このケースでは、トラバーサルが、拡張カード５と拡張カード６との間で循環されることを防ぐために、拡張カード５および拡張カード６は、トラバースされるべき拡張カードとして使用され続けない。拡張カードトラバーサルの次のステップでは、拡張カード６よりも拡張カード５に接続される別の拡張カード、または、拡張カード５よりも拡張カード６に接続される別の拡張カードは、トラバースされるべき拡張カードとして使用される。
【００４２】
前述の拡張カード５および拡張カード６がSASシステム内に存在するケースでは、SASシステムにおける２つの拡張カード間の通信チャネルが切断される場合、例えば、拡張カード４と拡張カード６との間の通信チャネルが切断される場合、拡張カードトラバーサルを開始した後、SASコントローラは、拡張カード５および拡張カード６が接続されることを発見しない。このケースでは、SASコントローラは、現在のトポロジ構造に従って、各拡張カードのルーティングテーブルを再設計し、且つ、SASシステム全体は依然として通常通り動作することができる。
【００４３】
任意で、SASコントローラは、SASシステムの拡張カードの取得されたトポロジ構造に従って、拡張カード１−６のルーティングテーブルを確立し、拡張カード１−６のルーティングテーブルを拡張カードにそれぞれ送信するようにさらに構成される。
【００４４】
具体的には、SASシステムにおける拡張カードトラバーサルを完了した後、SASコントローラは、SASシステム内の全ての拡張カードの間のトポロジ構造を取得し、SASシステムの拡張カードのトポロジ構造に従って、SASコントローラから拡張カードまでの最短経路を計算し、最短経路に従って、SASシステムにおける拡張カードのルーティングテーブルを設定し、ここで、ここでの最短経路は、SASコントローラによって送信された操作要求がターゲット拡張カードに達する前に、拡張カード間で最も低いホップ数を有する経路を指す。
【００４５】
図２が例として使用される。SASコントローラが拡張カードのトポロジ構造を取得した後、SASコントローラから拡張カード５までの２つの通信チャネル、すなわち、拡張カード1-2-4-6-5または拡張カード1-3-5がある。SASコントローラは、２つの通信チャネルのうちのより短い方、すなわち、拡張カード1-3-5を選択するとともに、最短経路に従って、拡張カード１および拡張カード３のルーティングテーブルを設定し、その結果、拡張カードが、SASコントローラによって拡張カード５に送信された操作要求を受信した後、拡張カード１は、拡張カード１の前述の設定されたルーティングテーブルに従って、拡張カード３に操作命令を送信し、拡張カード３は、拡張カード３の前述の設定されたルーティングテーブルに従って、拡張カード５に操作命令を送信する。同様に、SASコントローラから拡張カード４までの２つの通信チャネル、拡張カード1-2-4および拡張カード1-3-5-6-4があり、且つ、従って、SASコントローラから拡張カード４までの最短経路は、拡張カード1-2-4である。拡張カード１および拡張カード２のルーティングテーブルは、最短経路に従って設定され、従って、SASコントローラによって拡張カード４に送信される操作要求は、拡張カード１および拡張カード２を使用することによって、拡張カード４に送信されることができる。類推によって、SASコントローラからSASシステムにおける各拡張カードまでの最短経路における、拡張カードのルーティングテーブルの確立は、最短経路を使用することによる、SASコントローラの各拡張カードへの操作要求の送信をサポートする。
【００４６】
このシステムの実施形態では、SASシステムにおける拡張カードのトポロジ構造は環状に設定され、すなわち、同じ拡張カードの異なるポートから延伸される２つの拡張カードは直接接続され、その結果、SASシステムにおける拡張カードは、実際、SASコントローラへの少なくとも２つの可能な通信チャネルを有する。２つの通信チャネルのうちの１つのチャネルにおいて故障が発生するとき、SASシステム全体の動作は、各拡張カードのルーティングテーブルを再設定することによって維持され続けることができる。低い信頼性を有するSASシステムが最適化され、ここで、従来のSASシステムにおける拡張カードのツリー状のトポロジ構造によって、拡張カードに接続される全ての子拡張カードは、拡張カードが故障したときに失効する。加えて、システム改善により、SASシステム状態変化メッセージが循環してブロードキャストされるという問題は、拡張カードが、SASシステム状態変化メッセージを処理する方式を改善することによって解決される。
【００４７】
システムの実施形態２
【００４８】
本発明のシステムの実施形態２はSASシステムを提供し、且つ、SASシステムの概略構成図は図３に示される。本実施形態は、システムの実施形態１に対する補足であるとともに、拡張されたSASシステムのネットワーキング構造を主に示すことは留意されるべきである。しかしながら、システムにおける各デバイスの具体的な実施は、システムの実施形態１のものと本質的に異ならず、且つ、詳細はここでは再び説明されない。
【００４９】
図３に示されるように、実際には、SASシステムは複数のSASコントローラを含んでよい。このケースでは、SASシステムの拡張カードのトポロジ構造はより複雑であり得、しかし、トポロジ構造の本質は、システムの実施形態１のものと同様である。例えば、SASコントローラ１について、拡張カード１はSASコントローラ１に接続され、拡張カード３は、拡張カード２を使用することによって、拡張カード１への通信接続を確立し、拡張カード４は、拡張カード１への通信接続を確立し、拡張カード３は拡張カード４に接続される。SASコントローラ２については、拡張カード３はSASコントローラ２に接続され、拡張カード１は、拡張カード２を使用することによって、拡張カード３への通信接続を確立し、拡張カード４は、拡張カード３への通信接続を確立し、拡張カード１は拡張カード４に接続される。すなわち、SASシステムでは、各SASコントローラのために、SASシステムのものであるとともに、SASコントローラによって制御される拡張カードのトポロジ構造は、システムの実施形態１のものと同様である。
【００５０】
方法の実施形態
【００５１】
本発明のこの方法の実施形態は、SASシステムの拡張カードトラバーサル方法を提供し、且つ、拡張カードトラバーサル方法の概略フローチャートは図４で示される。トラバーサル方法が適用されるSASシステムは、SASコントローラ、第１の拡張カード、第２の拡張カードおよび第３の拡張カードを含む。トラバーサル方法は、SASコントローラまたはSASコントローラのいくつかの機能を集積する拡張カードによって実行されてよい。説明の容易さのために、SASコントローラは、本実施形態を実行するためのエンティティとして使用される。
【００５２】
トラバーサル方法は以下を含む：
【００５３】
ステップ２０２：拡張カードトラバーサルを開始して、SASシステムの拡張カードのトポロジ構造を取得する。
【００５４】
具体的には、SASコントローラがSASシステム状態変化メッセージを受信した後、または、SASシステムが、拡張カードを初期化する必要があるとき、SASシステムの通常動作を保証するために、SASコントローラは、拡張カードトラバーサルを開始して、SASシステムの拡張カードのトポロジ構造および各拡張カード上に組み立てられるハードディスクに関する情報を取得する。拡張カードトラバーサルを開始することは、具体的には、REPORT GENERAL要求を拡張カードに送信することであってよい。
【００５５】
ステップ２０４：第１の拡張カードを使用することによって、第２の拡張カードによって返されるトポロジ構造情報を受信し、第１の拡張カードを使用することによって、第３の拡張カードによって返されるトポロジ構造情報を受信し、ここで、第２の拡張カードによって返されるトポロジ構造情報は、第２の拡張カードが第３の拡張カードに接続されることを含み、第３の拡張カードによって返されるトポロジ構造情報は、第３の拡張カードが第２の拡張カードに接続されることを含む。
【００５６】
具体的には、SASコントローラがREPORT GENERAL要求を第２の拡張カードおよび第３の拡張カードに送信した後、第２の拡張カードおよび第３の拡張カードは、第１の拡張カードを使用することによって、SASコントローラに、第２の拡張カードおよび第３の拡張カードに接続される拡張カードに関する情報、すなわち、トポロジ構造情報を返す。SASコントローラは、トポロジ構造情報に含まれる拡張カードをトラバースされるべき拡張カードとして使用するとともに、次のラウンドのトラバーサルにおいて、これらの拡張カードにREPORT GENERAL要求を送信する。第２の拡張カードによって返されるトポロジ構造情報が、第３の拡張カードに関する情報、例えば、第３の拡張カードのID番号を含む場合、第２の拡張カードは第３の拡張カードに接続されることを示す。同様に、第３の拡張カードによって返されるトポロジ構造情報が第２の拡張カードに関する情報を含む場合、第３の拡張カードが第２の拡張カードに接続されることを示す。第２の拡張カードと第３の拡張カードとの間の接続関係は、システムの実施形態１における、拡張カード５と拡張カード６の接続関係と同様である。加えて、第２の拡張カードによって返されるトポロジ構造情報は、第２の拡張カードに接続される別の拡張カードに関する情報、例えば、ID番号をさらに含む。第３の拡張カードによって返されるトポロジ構造情報は、第３の拡張カードに接続される別の拡張カードに関する情報をさらに含む。
【００５７】
ステップ２０６：拡張カードトラバーサルでは、第２の拡張カードを、トラバースされるべき拡張カードとしてもはや使用せず、且つ、第３の拡張カードを、トラバースされるべき拡張カードとしてもはや使用しない。
【００５８】
詳細には、システムの実施形態１におけるSASコントローラの動作を参照されたい。ステップ２０４で、第２の拡張カードと第３の拡張カードとの間の接続関係が、システムの実施形態１における、拡張カード５と拡張カード６の接続関係と同様であると分かった場合、すなわち、第２の拡張カードおよび第３の拡張カードは、同じ拡張カードの異なるポートから延伸される２つの拡張カードであり、且つ、第２の拡張カードは第３の拡張カードに接続されると分かった場合、SASコントローラは、拡張カードトラバーサルが、第２の拡張カードと第３の拡張カードとの間で循環することを防ぐために、第２の拡張カードおよび第３の拡張カードを、トラバースされるべき拡張カードとして使用しない。加えて、SASシステムにおける全ての拡張カードが、完全にトラバースされ、且つ、SASシステムの拡張カードトラバーサルの結果が得られるまで、第２の拡張カードおよび第３の拡張カードに接続される別の拡張カードが、トラバースされるべき拡張カードとして使用され、且つ、REPORT GENERAL要求は、拡張カードトラバーサルの次のステップで別の拡張カードに送信される。
【００５９】
任意で、ステップ２０６の後、SASコントローラは、拡張カードトラバーサルの結果に従って、SASシステムの拡張カードのトポロジ構造をさらに生成する。図２が例として使用される。SASシステムの拡張カードのトポロジ構造は、拡張カード１の子拡張カードは、拡張カード２および拡張カード３であり、拡張カード２の子拡張カードは拡張カード４であり、拡張カード３の子拡張カードは拡張カード５であり、拡張カード４および拡張カード５の両方の子拡張カードは拡張カード６であることであり、ここで、拡張カードの子拡張カードは、拡張カードに接続されるとともに、拡張カードを使用することによって、SASコントローラへの通信接続を確立する拡張カードを指す。拡張カードの接続関係によると、SASコントローラは、第１の拡張カード、第２の拡張カードおよび第３の拡張カードのルーティングテーブルをそれぞれ確立し、第１の拡張カードのルーティングテーブルを第１の拡張カードに送信し、第２の拡張カードのルーティングテーブルを第２の拡張カードに送信し、第３の拡張カードのルーティングテーブルを第３の拡張カードに送信する。具体的には、SASコントローラがルーティングテーブルを確立するここでのプロセスは、SASコントローラから第１の拡張カード、第２の拡張カードおよび第３の拡張カードまでの最短経路を計算すること、SASコントローラから第１の拡張カード、第２の拡張カードおよび第３の拡張カードまでの最短経路に従って、SASシステムにおける各拡張カードのルーティングテーブルを確立することを含み、ここで、各拡張カードのルーティングテーブルはまた、第１の拡張カード、第２の拡張カードおよび第３の拡張カードのルーティングテーブルを含む。ここでの具体的なステップについては、SASコントローラが拡張カードトラバーサルを完了するとともに、最短経路によってルーティングテーブルを確立する、システムの実施形態１におけるプロセスを参照されたく、且つ、詳細はここでは再び説明されない。
【００６０】
SASコントローラから第３の拡張カードまでの最短経路は、SASシステムの拡張カードの取得されたトポロジ構造に従って計算され、且つ、SASコントローラから第３の拡張カードまでの最短経路が第２の拡張カードを通過するケースでは、第１の拡張カードおよび第２の拡張カードのルーティングテーブルは、SASコントローラから第３の拡張カードまでの最短経路に従って確立される。
【００６１】
同様に、SASコントローラから第２の拡張カードまでの最短経路は、SASシステムの拡張カードの取得されたトポロジ構造に従って計算され、且つ、SASコントローラから第２の拡張カードまでの最短経路が第３の拡張カードを通過するケースでは、第１の拡張カードおよび第３の拡張カードのルーティングテーブルは、SASコントローラから第２の拡張カードまでの最短経路に従って確立される。
【００６２】
この方法の実施形態は、SASシステムの拡張カードトラバーサル方法を提供する。拡張カードトラバーサルを実行するプロセスの間、２つの環状に接続される拡張カードがあることが発見される場合、システムの実施形態１における拡張カードの環状のトポロジ構造がSASシステム内に存在することを示し、且つ、２つの相互に接続される拡張カードは、トラバースされるべき拡張カードとしてもはや使用されない。この方法の実施形態において提供される方法は、システムの実施形態１またはシステムの実施形態２におけるSASシステムの拡張カードのトポロジ構造における、SASシステムの拡張カードトラバーサルをサポートし、その結果、システムの実施形態１またはシステムの実施形態２で提供されるより高い信頼性を有するSASシステムが成功裏に動作することができる。加えて、拡張カードのトポロジ構造において、SASコントローラから拡張カードまでの１より多くの経路があってよい。方法では、拡張カードのトポロジ構造におけるSASシステムの効率的な動作は、最短経路を設計することによって実施される。
【００６３】
デバイスの実施形態
【００６４】
本発明のデバイスの実施形態１はコントロールデバイスを提供し、且つ、コントロールデバイスの概略構成図は、図５に示される。コントロールデバイス４００は、プロセッサ４０２、メモリ４０４、通信インタフェース４０６およびバス４０８を含む。プロセッサ４０２、メモリ４０４および通信インタフェース４０６は、バス４０８を使用することによって、相互通信接続を実施する。
【００６５】
プロセッサ４０２は、汎用中央処理装置（Central Processing Unit、CPU）、マイクロプロセッサ、特定用途向け集積回路（Application Specific Integrated Circuit、ASIC）または1つ以上の集積回路を使用してよいとともに、本発明の前述の方法の実施形態で提供される技術的解決手段を実施するために、関連プログラムを実行するように構成される。
【００６６】
メモリ４０４は、読み出し専用メモリ（Read Only Memory、ROM）、スタティック記憶デバイス、ダイナミック記憶デバイスまたはランダムアクセスメモリ（Random Access Memory、RAM）であってよい。メモリ４０４は、オペレーティングシステムまたは別のアプリケーションプログラムを記憶してよい。本発明の実施形態で提供される技術的解決手段が、ソフトウェアまたはファームウェアを使用することによって実施されるとき、本発明の前述の方法の実施形態で提供される技術的解決手段を実施するために使用されるプログラムコードが、メモリ４０４に記憶されるとともに、プロセッサ４０２によって実行される。
【００６７】
通信インタフェース４０６は、拡張カードによって返されるトポロジ構造情報を取得するために、拡張カードと通信するように構成される。
【００６８】
バス４０８は、それを介して、コントロールデバイス４００の構成要素（例えば、プロセッサ４０２、メモリ４０４および通信インタフェース４０６）間で情報が送信されるチャネルを含んでよい。
【００６９】
図５に示されるハードウェア構造および前述の説明は、本発明の各実施形態で提供されるSASコントローラまたは拡張カードに適用可能である。
【００７０】
このデバイスの実施形態は、SASシステムに適用されるコントロールデバイスを提供する。拡張カードトラバーサルを実行するプロセスの間、コントロールデバイスが、通信インタフェースを介して、拡張カードによって返されるトポロジ構造情報を受信するとともに、２つの環状に接続される拡張カードがあることが発見する場合、システムの実施形態１における拡張カードの環状のトポロジ構造がSASシステム内に存在することを示す。コントロールデバイスは、メモリ内の関連プログラムを実行することによって、２つの相互に接続される拡張カードを、トラバースされるべき拡張カードとしてもはや使用しない。コントロールデバイスは、システムの実施形態１またはシステムの実施形態２におけるSASシステムの拡張カードのトポロジ構造における、SASシステムの拡張カードトラバーサルをサポートし、その結果、システムの実施形態１またはシステムの実施形態２で提供されるより高い信頼性を有するSASシステムが成功裏に動作することができる。加えて、拡張カードのトポロジ構造において、SASコントローラから拡張カードまでの１より多くの経路があってよい。最短経路を設計することによって、コントロールデバイスは、拡張カードのトポロジ構造におけるSASシステムの効率的な動作を実施する。
【００７１】
装置の実施形態１
【００７２】
本発明の装置の実施形態１はコントロール装置を提供し、且つ、コントロール装置の概略構成図は、図６ａに示される。コントロール装置６００は、SASシステムのために使用され、且つ、SASシステムは、コントロール装置６００、第１の拡張カード、第２の拡張カードおよび第３の拡張カードを含む。実際には、コントロール装置６００は、前述のシステムの実施形態１またはシステムの実施形態２におけるSASコントローラまたは拡張カードであってよく、且つ、実際のコントロール装置６００は、前述のデバイスの実施形態におけるコントロールデバイス４００のものであってよい。
【００７３】
コントロール装置６００は、拡張カードトラバーサルを開始して、SASシステムの拡張カードのトポロジ構造を取得するように構成されるトラバーサル開始ユニット６０２と、
第１の拡張カードを使用することによって、第２の拡張カードによって返されるトポロジ構造情報を受信し、第１の拡張カードを使用することによって、第３の拡張カードによって返されるトポロジ構造情報を受信し、第２の拡張カードをトラバースされるべき拡張カードとしてもはや使用せず、第３の拡張カードをトラバースされるべき拡張カードとしてもはや使用しないように構成されるトラバーサル処理ユニット６０４であって、ここで、第２の拡張カードによって返されるトポロジ構造情報は、第２の拡張カードが第３の拡張カードに接続されることを含み、第３の拡張カードによって返されるトポロジ構造情報は、第３の拡張カードが第２の拡張カードに接続されることを含む、トラバーサル処理ユニット６０４とを含む。
【００７４】
具体的には、トラバーサル開始ユニット６０２の機能の詳細については、方法の実施形態におけるトラバーサル方法のステップ２０２を参照されたく、トラバーサル処理ユニット６０４の機能の詳細については、方法の実施形態におけるトラバーサル方法のステップ２０４およびステップ２０６を参照されたい。詳細はここでは再び説明されない。
【００７５】
任意で、図６ｂに示されるように、コントロール装置８００は、その機能がコントロール装置６００におけるトラバーサル開始ユニット６０２のものと同様であるトラバーサル開始ユニット８０２およびその機能がトラバーサル処理ユニット６０４のものと同様であるトラバーサル処理ユニット８０４を含むとともに、トラバーサル処理ユニット８０４によって取得されるSAS拡張カードトラバーサル結果に従って、すなわち、SASシステムの拡張カード間の接続の状況に従って、各拡張カードのルーティングテーブルを設定するとともに、ルーティングテーブルを各拡張カードに送信するように構成されるルーティングテーブル管理ユニット８０６をさらに含む。図２が例として使用される。コントロール装置８００がSASシステムに適用される場合、SASシステムの拡張カードのものであるとともにトラバーサル処理ユニット８０４によって得られるトポロジ構造は、拡張カード１の子拡張カードは、拡張カード２および拡張カード３であり、拡張カード２の子拡張カードは拡張カード４であり、拡張カード３の子拡張カードは拡張カード５であり、拡張カード４および拡張カード５の両方の子拡張カードは拡張カード６であることであり、ここで、拡張カードの子拡張カードは、拡張カードに接続されるとともに、拡張カードを使用することによって、SASコントローラへの通信接続を確立する拡張カードを指す。拡張カードの接続関係によると、ルーティングテーブル管理ユニット８０６は、第１の拡張カード、第２の拡張カードおよび第３の拡張カードのルーティングテーブルをそれぞれ確立し、第１の拡張カードのルーティングテーブルを第１の拡張カードに送信し、第２の拡張カードのルーティングテーブルを第２の拡張カードに送信し、第３の拡張カードのルーティングテーブルを第３の拡張カードに送信する。
【００７６】
具体的には、ルーティングテーブル管理ユニット８０６がルーティングテーブルを確立するここでのプロセスは、SASコントローラから第３の拡張カードまでの最短経路を計算すること、SASコントローラから第３の拡張カードまでの最短経路が第２の拡張カードを通過するケースでは、SASコントローラから第３の拡張カードまでの最短経路に従って、第１の拡張カードおよび第２の拡張カードのルーティングテーブルを確立することを含む。同様に、SASコントローラから第２の拡張カードまでの最短経路は、SASシステムの拡張カードの取得されたトポロジ構造に従って計算され、且つ、SASコントローラから第２の拡張カードまでの最短経路が第３の拡張カードを通過するケースでは、第１の拡張カードおよび第３の拡張カードのルーティングテーブルは、SASコントローラから第２の拡張カードまでの最短経路に従って確立される。ここでの具体的なステップについては、SASコントローラが拡張カードトラバーサルを完了するとともに、最短経路によってルーティングテーブルを確立する、システムの実施形態１におけるプロセスを参照されたく、且つ、詳細はここでは再び説明されない。
【００７７】
装置の実施形態１は、SASシステムに適用されるコントロール装置を提供する。拡張カードトラバーサルを実行するプロセスの間、コントロール装置が、２つの環状に接続される拡張カードがあることが発見する場合、システムの実施形態１における拡張カードの環状のトポロジ構造がSASシステム内に存在することを示し、且つ、２つの相互に接続される拡張カードは、トラバースされるべき拡張カードとしてもはや使用されない。コントロール装置は、システムの実施形態１またはシステムの実施形態２におけるSASシステムの拡張カードのトポロジ構造における、SASシステムの拡張カードトラバーサルをサポートし、その結果、システムの実施形態１またはシステムの実施形態２で提供されるより高い信頼性を有するSASシステムが成功裏に動作することができる。加えて、拡張カードのトポロジ構造において、SASコントローラから拡張カードまでの１より多くの経路があってよい。最短経路を設計することによって、コントロール装置は、拡張カードのトポロジ構造におけるSASシステムの効率的な動作を実施する。
【００７８】
装置の実施形態２
【００７９】
本発明の装置の実施形態２は拡張カードを提供し、ここで、拡張カードは第１のポートおよび第２のポートを含む。
【００８０】
拡張カードは、別の拡張カード経由の第１のポートを介して、さらに別の拡張カードへの通信接続を確立し、且つ、拡張カードは、第２のポートを介して、さらに別の拡張カードに接続される。
【００８１】
具体的には、拡張カードとさらに別の拡張カードとの間の接続関係については、システムの実施形態１における拡張カード５と拡張カード６との間の接続関係を参照されたく、すなわち、拡張カード５は、拡張カード３、１、２および４経由のポートを介して、拡張カード６との通信接続を確立し、且つ、拡張カード５は、別のポートを介して、拡張カード６にさらに接続される。拡張カードが別の拡張カードに接続される方式は、システムの実施形態１およびシステムの実施形態２のSASシステムにおける拡張カードのトポロジ構造の実施をサポートする。
【００８２】
任意で、拡張カードは、第２のポートよりも別のポートを介して、受信されたSASシステム状態変化メッセージをブロードキャストする。具体的には、第２のポートは、減法属性ポートであってよい。
【００８３】
任意で、拡張カードは、受信されたSASシステム状態変化メッセージをブロードキャストしない。
【００８４】
具体的には、前述の２つの任意の拡張カードの概略構成図が図７に示される。拡張カード１０００は、ポート１００２およびポート１００４を含むとともに、実際には別のポートをさらに含み、ここで、拡張カード１０００は、ポート１００２を介して、別の拡張カードへの通信接続を確立するとともに、ポート１００４を介して、さらに別の拡張カードに接続される。拡張カード１０００は、ブロードキャスト処理ユニット１００６をさらに含み、ここで、ブロードキャスト処理ユニット１００６は、実際は、ブロードキャストプリミティブプロセッサ（Broadcast Primitive Processor、略してBPP）であってよい。ブロードキャスト処理ユニット１００６の機能は、拡張カード１０００によって受信されるSASシステム状態変化メッセージを処理すること、すなわち、ブロードキャストプリミティブである。
【００８５】
ブロードキャスト処理ユニット１００６は、SASシステム状態変化メッセージをいずれかのポートから受信するとき、拡張カード１０００が、第２のポートおよびSASシステム状態変化メッセージを受信するポート以外のポートを介して、SASシステム状態変化メッセージをブロードキャストするように設定されてよい。第２のポートは減法属性ポートとして設定されてよい。
【００８６】
ブロードキャスト処理ユニット１００６はまた、SASシステム状態変化メッセージをいずれかのポートから受信するとき、拡張カード１０００が、拡張カード１０００のいずれのポートを介しても、SASシステム状態変化メッセージをブロードキャストしないように設定されてもよい。
【００８７】
ブロードキャスト処理ユニット１００６の機能の前述の設定は、帯域外方式で実行されてよく、すなわち、ブロードキャスト処理ユニット１００６の機能は、拡張カード１０００のインタフェースを使用することによって直接設定される。あるいは、ブロードキャスト処理ユニット１００６の機能の前述の設定は、帯域内方式で実行されてもよく、すなわち、設定メッセージは、SASコントローラを使用することによって、拡張カード１０００に配送され、または、機能はまた、拡張カード１０００の配送において設定されてもよい。
【００８８】
装置の実施形態２は、SASシステムに適用される拡張カードを提供する。拡張カードが別の拡張カードに接続される方式は、システムの実施形態１またはシステムの実施形態２におけるSASシステムの拡張カードのトポロジ構造をサポートする。加えて、SASシステム改善により、SASシステム状態変化メッセージが循環してブロードキャストされるという問題は、拡張カードが、SASシステム状態変化メッセージを処理する方式を改善することによって解決され、その結果、システムの実施形態１またはシステムの実施形態２で提供されるより高い信頼性を有するSASシステムは成功裏に動作することができる。
【００８９】
前述の実施形態では、実施形態の説明はそれぞれの焦点を有する。実施形態で詳細に説明されない部分については、他の実施形態における関連する説明に対して参照が行われてよい。システムの実施形態１におけるSASコントローラ部分の実施の詳細は、装置の実施形態１におけるコントロール装置の実施の詳細と本質的に同じである。加えて、動作中の、システムの実施形態１におけるSASコントローラ部分、デバイスの実施形態におけるコントロールデバイス、および装置の実施形態１におけるコントロール装置によって実行される方法は、方法の実施形態のものと本質的に同じであり、且つ、３つの実施形態間で技術的詳細に対して相互参照が行われてよい。システムの実施形態１における拡張カード部分の実施の詳細は、装置の実施形態２における拡張カードの実施の詳細と同じであり、且つ、２つの実施形態の間で技術的詳細に対して相互参照が行われてよい。
【００９０】
最後に、前述の実施形態は、本発明の技術的解決手段を説明するために単に意図されるが、本発明を限定するためには意図されないことは留意されるべきである。本発明は、前述の実施形態を参照して詳細に説明されたが、当業者は、彼らが、本発明の実施形態の技術的解決手段の精神および範囲を逸脱することなく、前述の実施形態で説明された技術的解決手段に対して修正をさらに行うか、または、それらのいくつかの技術的特徴に対して均等置換をさらに行うことができることを理解すべきである。
【符号の説明】
【００９１】
400  コントロールデバイス
402  プロセッサ
404  メモリ
406  通信インタフェース
408  バス
600  コントロール装置
602  トラバーサル開始ユニット
604  トラバーサル処理ユニット
800  コントロール装置
802  トラバーサル開始ユニット
804  トラバーサル処理ユニット
806  ルーティングテーブル管理ユニット
1000  拡張カード
1002  ポート
1004  ポート
1006  ブロードキャスト処理ユニット
【図１】
0006414834.tif 000002
【図２】
0006414834.tif 000003
【図３】
0006414834.tif 000004
【図４】
0006414834.tif 000005
【図５】
0006414834.tif 000006
【図６ａ】
0006414834.tif 000007
【図６ｂ】
0006414834.tif 000008
【図７】
0006414834.tif 000009