説明

異なる複数の通信プロトコルを用いて通信することができる中継デバイス

一実施形態に係る方法は、少なくとも部分的に、1つの中継デバイスによって、中継デバイスに結合された少なくとも1つのストレージデバイスが通信することができる少なくとも1つの通信プロトコルを決定する段階を備える。本実施形態において、中継デバイスは、少なくとも部分的に、中継デバイスによって、少なくとも1つの通信プロトコルに従って少なくとも1つのストレージデバイスから来る少なくとも1つのデータストリームを制御することができてよい。もちろん、多くの代替、変形、及び変更が、本実施形態から逸脱することなく可能である。


【発明の詳細な説明】
【技術分野】
【0001】
本開示は、異なる複数の通信プロトコルを用いて通信することができる1つの中継デバイスに関する。
【背景技術】
【0002】
1つの従来のデータストレージ構成において、1つのコンピュータノードは1つのホストバスアダプタ(HBA)を備える。HBAは、1つのデータストレージシステムと、1以上の通信リンクを介して、1以上のリンクに関連する1つの通信プロトコルを用いて通信する。HBA及びデータストレージシステムの間の物理的接続は、典型的には、HBA及びデータストレージシステムの間で1つの通信プロトコルを用いて複数のコマンド及びデータを伝達すべく構成された1以上のケーブルを有する。ケーブルを通じてデータを通信することは、データを符号化する信号のクオリティを低下させ、これはHBA及びデータストレージシステムの間のケーブル長を制限するだろう。さらに、ケーブル長を延長することは、データストレージシステム及びHBAの間のデータストリーム内にイズが持ち込まれ得る。複数のリタイマが、データストリーム内のジッタ及びノイズを低減するために利用されている。しかしながら、従来のリタイマは、予め定められた1つの通信プロトコルだけを用いて通信することができる。したがって、従来のデータストレージ構成においては、リタイマは、異なる複数の通信プロトコルを用いて通信することができないので、従来のデータストレージ構成は、複数の通信プロトコルが利用される1つのデータストレージ構成においてケーブル長を延長するためのメカニズムを提供しない。
【図面の簡単な説明】
【0003】
クレームされた主題の実施形態の複数の特徴及び利点が、続く詳細な説明が進むにつれて、そして同じ数値が類似の構成要素を表す図面を参照すると、明らかになるだろう。
【図1】システムの実施形態を示す図である。
【図2】他の1つのシステムの実施形態を示す図である。
【図3】中継デバイスの一例を示すブロック図である。
【図4】一実施形態に従って実行され得るオペレーションの一例を示すフローチャートである。
【0004】
続く詳細な説明は実例的な実施形態に関連して進行するが、多くの代替、変更、及び変形が、当業者に明らかになるだろう。従って、請求された主題が、広く認識され、添付の特許請求の範囲に記載されたようにのみ定義されることが意図される。
【発明の詳細な説明】
【0005】
図1は、クレームされる対象のシステムの実施形態100を示す。システム100は、一般的に、1つのホストプロセッサ112、1つのバス122、1つのユーザインタフェースシステム116、1つのチップセット114、システムメモリ121、1つのサーキットカードスロット130、及びマスストレージ104と通信可能な1つのサーキットカード120を備える。ホストプロセッサ112は、本願の譲受人から商業的に利用可能なIntel(登録商標) Pentium(登録商標) IVプロセッサのような、当業者に知られた種々のプロセッサを含んでよい。バス122は、データ及びコマンドを伝送するためのいくつかのバスのタイプを含んでよい。例えば、バス122は、2002年7月22日に発表され、PCI Special Interest Group(米国オレゴン州ポートランド)から入手可能な、ペリフェラル・コンポーネント・インターコネクト(PCI)エクスプレス(商標)基本仕様書リビジョン1.0に準拠してよい(以後、"PCI Expressバス"と呼ぶ)。バス122は、2000年7月24日、前述のSpecial Interest Group(米国オレゴン州ポートランド)から入手可能なPCI−X仕様書リビジョン1.0aに準拠してもよい(以後"PCI−Xバス"と呼ぶ)。
【0006】
ユーザインタフェース116は、1つのキーボード、ポインティングデバイス、及びビデオディスプレイのような、複数の人間が複数のコマンド又はデータを入力し、システムをモニタするための種々のデバイスを有してよい。チップセット114は、プロセッサ112、システムメモリ121、及びユーザインタフェースシステム116を互いに、そしてバス122に結合するホストブリッジ/ハブシステム(図示せず)を有してよい。チップセット114は、本願出願人から商業的に利用可能な集積回路のチップセット(例えば、グラフィクスメモリ及びI/Oコントローラハブチップセット)から選択されたもののような、集積回路チップを有してよい。一方で、他の集積回路チップもまた、或いはそれに代えて、使用され得る。プロセッサ112、システムメモリ121、チップセット114、及びサーキットカードスロット130は、1つのマザーボード132上に実装されてよい。
【0007】
サーキットカード120は、それがスロット130内に挿入されることを許容すべく構成される。サーキットカード120がスロット130内に適切に挿入されると、コネクタ134及び137は電気的及び機械的に互いに結合されることになる。コネクタ134及び137がそのように互いに結合されると、カード120は、バス122に電気的に結合され、データ及び/又はコマンドを、バス122及びチップセット114を介してシステムメモリ121、ホストプロセッサ112、及び/又はユーザインタフェースシステム116と交換し得る。その他にも、本実施形態から逸脱することなく、サーキットカード120の動作回路が、他の構成、システム、及び/又はデバイス内に含まれてよい。これらの他の構成、システム、及び/又はデバイスは、例えばマザーボード132内にあり、バス122に結合されてよい。プロセッサ112、システムメモリ121、チップセット114、バス122、及びサーキットカードスロット130は、例えば1つのマザーボードのような1つの回路基板に構成されてよい。それに代えて、本実施形態から逸脱することなく、サーキットカード120は、システムマザーボード内に構成される1以上のチップセットを有してよい。
【0008】
サーキットカード120は、複数の通信プロトコルを用いてマスストレージ104と通信してよい。サーキットカード120は、ホストシステム132及びマスストレージ104の間の通信を開始するのに適合する1以上のプロトコルイニシエータエンジン140を有してよい。イニシエータエンジンは、ホストシステム132及びマスストレージ104の間の通信を開始することができる1つの集積回路を有してよい。
【0009】
1つのファイバチャネル(FC)プロトコルがサーキットカード120によって、データ及び/又はコマンドをマスストレージ104と交換すべく使用される。ファイバチャネル(FC)プロトコルは、ANSI Standard Fibre Channel Physical and Signaling Interface-3 X3.303:1998 Specificationに記載さえたインタフェース/プロトコルに準拠するか互換であってよい。あるいは又はその上、マスストレージ104とデータ及び/又はコマンドを交換すべくシリアルATA(S−ATA)プロトコルがコントローラサーキットカード120によって使用される場合には、2001年8月29日にSerial ATA Working Groupによって発表された"Serial ATA: High Speed Serialized AT Attachment" Revision 1.0に記載されたプロトコルに準拠するか又は互換であってよい。さらに他の方法として又はその上、データ及び/又はコマンドをマスストレージ104と交換すべく、1つのシリアルアタッチドスモールコンピュータシステムインタフェース(SAS)プロトコルがコントローラサーキットカード120によって用いられる場合、米国規格協会によって2003年9月18日に発表された"Information Technology - Serial Attached SCSI - 1.1" Working Draft American National Standard of International Committee For Information Technology Standards (INCITS) T10 技術委員会, Project T10/1562-D Revision 1 (以後、"SAS規格"と称する) 及び/又は後に発表されたSAS Standardのバージョンに準拠するか又は互換であってよい。SASプロトコルは、シリアルアドバンスドアタッチメント(ATA)トンネルプロトコル(STP)及びシリアルスモールコンピュータシステムインタフェース(SCSI)プロトコル(SSP)を有してよい。
【0010】
マスストレージ104は、1以上のマスストレージデバイス、例えばマスストレージ104a、104b、104c、及び/又は104dを有してよい。マスストレージ104は、1以上の独立ディスク冗長アレイ(RAID)及び/又は周辺デバイスを有してよい。1以上のストレージデバイス104a、104b、104c、及び/又は104dは、FC通信プロトコル、S−ATA通信プロトコル、及び/又はSAS通信プロトコルに準拠するか互換であってよい。もちろん、その他にも、本実施形態から逸脱することなく、サーキットカード120は、他の及び/又は追加の通信プロトコルを用いて、データ及び/又はコマンドをマスストレージ104と交換してよい。マスストレージ104に含まれる複数のストレージデバイスは、マザーボード及びマザーボードに含まれるコンポーネントが囲まれる筐体と切り離された1以上の個々の筐体内に含まれてよい。その他、ここに記載されたどの実施形態から逸脱することなく、マスストレージ104は1以上のスタンドアロンデバイスを有してよい。1以上のマスストレージデバイス、例えばストレージデバイス104a、104b、104c、及び/又は104dは、ここで"ターゲットデバイス"または"複数のターゲットデバイス"と呼ばれ、これらの用語はここで同義的に用いられる。
【0011】
本実施形態は、マスストレージ104及びサーキットカード120の間に結合された1つの中継デバイス150も備えてよい。ここで用いられる"中継デバイス"は、少なくとも1つの信号を送信及び/又は受信する回路を有してよい。ここで用いられる"回路"は、例えば、単一又は任意の組合せの、ハードウェア組み込み回路、プログラマブル回路、ステートマシン回路、及び/又はプログラマブル回路によって実行される複数の命令を記憶するファームウェアを有してよい。例えば、位置実施形態において、中継デバイス150は、サーキットカード120から送信された複数のコマンド及び/又はデータを、マスストレージ104内に含まれる1つのターゲットデバイスに伝達又はその逆をするための回路を有してよい。さらに、ここに記載される少なくとも一実施形態において、中継デバイス150は、複数の通信プロトコルを用いて複数のコマンド及び/又はデータを交換する回路を有してよい。
【0012】
中継デバイス150は、1以上の通信リンクを介してサーキットカード120及びマスストレージ104の間に結合されてよい。例えば、1つの典型的な実施形態において、中継デバイスは、1以上のケーブル106及び108に結合され、1以上のケーブル106はサーキットカード120に結合され、1以上のケーブル108はマスストレージ104に結合される。与えられた通信プロトコルについて、従来は、サーキットカード120とマスストレージ104内の1つのターゲットデバイスとの間の物理ケーブルの最大実用長は制限される。例えば、従来は、SASプロトコルを用いるデバイスの通信について、ケーブル長は約10メートルに制限され、S−ATAプロトコルを用いて通信するデバイスは、そのようなケーブル長が約1メートルに制限される。
【0013】
より長いケーブル長が使用される場合、より長い長さのケーブルを通じた信号の交換は、信号の品質を低下する方向のノイズ効果をもたらす。
【0014】
本実施形態と一致して、中継デバイス150はフロープロトコル検出回路180を有してよい。本明細書のいくつかの実施形態において使用される"プロトコル検出回路"は、複数の通信プロトコルの中から1つの通信プロトコルを検出することができる回路として定義され得る。例えば、1つの典型的な実施形態において、プロトコル検出回路180は、FC通信プロトコルに準拠した及び/又はそれを用いて通信可能な1つのFCターゲットデバイス、SAS通信プロトコルに準拠した及び/又はそれを用いて通信可能な1つのSASターゲットデバイス、並びに/或いはS−ATA通信プロトコルに準拠した及び/又はそれを用いて通信可能な1つのS−ATAターゲットデバイスの存在を検出することができる。
【0015】
中継デバイス150は、データフローコントロールカイロ190を有してよい。本明細書のいくつかの実施形態において使用される"データフローコントロール回路"又は"フローコントロール回路"は、1以上のコミュニケーションプロトコルに従って通信される1つのデータストリームをコントロールする回路として定義され得る。1つのデータストリームに関連してここで使用される"コントロール"又は"コントローリング"は、好ましい効果をもたらすために、少なくとも部分的にストリームの信号符号化を変更することを意味してよい。例えば、1つの典型的な実施形態において、フローコントロール回路190は、マスストレージ104からサーキットカード120(及びその逆も同様)に送信された1つのデータストリーム内に含まれるノイズ効果を低減すべく、サーキットカード120及びマスストレージ104から(及びその逆も同様である)のデータストリームをコントロールすることができる。
【0016】
ここに記載された任意の実施形態に関連して、中継デバイス150は、1つのケーブル又はケーブル群に沿う任意の位置、マスストレージ104のフロントエンド、或いはサーキットカード120の内部に、物理的に位置してよい。また、より長いケーブル長が必要とされる場合には、2以上の中継デバイスが互いに結合されてよい。図1に図示された1つの典型的な実施形態において、中継デバイス150は、例えば2つのケーブル長さの間の1つのブリッジデバイス(図示せず)内において、ケーブル106及び108に結合されてよい。他にも、中継デバイス150は、マスストレージ104内に含まれるかマスストレージ104に直接アタッチ(すなわち、ケーブル108を介して結合されない)されてよく、或いはサーキットカード120内に含まれるかサーキットカード120に直接アタッチ(すなわち、ケーブル106を介して結合されない)されてよい。これらの代案において、1以上のケーブル106又は108が不要になる。図面には示されないが、中継デバイス150は、ケーブル106及び/又はケーブル108と機械的及び電気的な接続を提供する1以上のインタフェースコネクタを有してよい。その場合、ケーブル106及び/又は108は、FCプロトコル、SASプロトコル、及び/又はS−ATA通信プロトコルに準拠するか互換であってよい。
【0017】
図2は、クレームされた主題の、他の1つのシステムの実施形態200を示す。図2において、図1に図示されたシステム100のある複数の部分(例えば、サーキットボード132及びサーキットカード120)が明確さのために省略される。しかし、図2の類似の構成要素は、図1に図示された一実施形態と矛盾しない形で、若しくは他のシステム実装において本実施形態から逸脱することなく、実装され得ることが理解されるべきである。
【0018】
図2のシステム200は、1つのプロトコルイニシエータエンジン140と、マスストレージ104と、マスストレージ104及びイニシエータエンジン140に1以上のケーブル106a、106b、・・・、106d、及び/又は108a、108b、・・・、108dを介して結合される中継デバイス150とを備える。マルチプロトコルイニシエータエンジン140は、複数のコマンド及びデータを、異なる通信プロトコルを用いて1つのマスストレージ104と交換する回路を有してよく、そのような回路はサーキットカード120に関連する1つの集積回路を含んでよい。
【0019】
1つの典型的な実施形態において、マスストレージ104は、1以上のターゲットデバイス104a、104b、104c、及び/又は104dを含む又は収容することができる複数プロトコルエンクロージャを有する。例えば、一実施形態において、ターゲットデバイス104aは1つのFCプロトコルを用いて通信することができる1つのFCデバイスであってよく、ターゲットデバイス104bは1つのSASプロトコルを用いて通信することができる1つのデバイスであってよく、ターゲットデバイス104cは1つのSASプロトコルを用いて通信することができる1つのSTPデバイスであってよく、ターゲットデバイス104dは1つのS−ATAプロトコルを用いて通信することができる1つのS−ATAデバイスであってよい。
【0020】
本実施形態において、例えば、ケーブル106a及び108aは、1つのFCターゲットデバイスと通信するためのFCプロトコルと互換及び/又はFCプロトコル通信が可能であり、ケーブル106b及び108bは、1つのSSPターゲットデバイスと通信するためのSASプロトコルと互換及び/又はSASプロトコル通信が可能であり、ケーブル106c及び108cは、1つのSTPターゲットデバイスと通信するためのSASプロトコルと互換及び/又はSASプロトコル通信が可能であり、ケーブル106d及び108dは、1つのS−ATAターゲットデバイスと通信するためのS−ATAプロトコルと互換及び/又はS−ATAプロトコル通信が可能であってよい。
【0021】
中継デバイス150は、複数の通信プロトコルについてプロトコル検出及び/又はデータフローコントロールを提供することができる。例えば、1つの典型的な実施形態において、中継デバイス150は、FC、SAS、及び/又はS−ATA通信プロトコルを用いて中継デバイス150と通信する、1以上のターゲットデバイス104a、104b、104c、及び/又は104dについてのプロトコル検出及びデータフローコントロールを提供する回路を有してよい。1つの典型的な実施形態において、中継デバイス150への及び/又は中継デバイス150からの1以上の信号(例えば、イニシエータエンジン140及び/又はターゲットデバイス104a、104b・・・104dへの並びに/或いはイニシエータエンジン140及び/又はターゲットデバイス104a、104b・・・104dからの符号化コマンド及びデータ)は、例えばマスストレージ104及びイニシエータエンジン140の間のケーブル長を延長することを可能にすべく、以下に記載される形でリタイムされてよい。
【0022】
図3は、中継デバイス150の1つのブロック図300である。前述したように、中継デバイスは、複数のターゲットデバイス(104a、104b・・・104d)及びサーキットカード120の間の通信を促進する回路を有してよく、その逆も同様である。さらに前述したように、ターゲットデバイス104a、104b・・・104dは、ミックスされたデバイス、例えばSAS、S−ATA、及び/又はFCプロトコルに準拠するかSAS、S−ATA、及び/又はFCプロトコルを用いて通信することができる複数のデバイスの1つの筐体内に収容されてよい。図3の1つの典型的な実施形態において、中継デバイス150は、1以上のターゲットデバイスに関連する複数の異なる通信プロトコルを動的にサポートし得る。
【0023】
中継デバイスは、受信パス回路152A及び送信パス回路152Bを有する。受信パス回路152Aは、ターゲットデバイス104a、104b・・・104d及びサーキットカード120の間の、複数のコマンド及びデータがターゲットデバイス104a、104b・・・104dからサーキットカード120に受信パス回路152Aを通じて送信される1つの通信パスを構成する。送信パス回路152Bは、したがって、ターゲットデバイス104a、104b・・・104d及びサーキットカード120の間の、複数のコマンド及びデータがサーキットカード120からターゲットデバイス104a、104b・・・104dに送信パス回路152Bを通じて送信される1つの通信パスであってよい。本実施形態に従って、送信パス回路152Bの構成及び受信パス回路152Aの構成は同一であってよい。
【0024】
受信パス回路152Aは、プロトコル検出回路を有する。例えば、本実施形態において、プロトコル検出回路はOOB信号検出回路156及びFCリンク開始プリミティブシーケンス検出回路160を有する。さらに、プロトコル検出回路は、プロトコルサポート回路170及び/又は172を有する。
【0025】
受信パス回路は、データフローコントロール回路を含む。典型的なフローコントロール回路は、データトラッキング位相ロックループ(PLL)回路158及びリタイマ回路154を有する。
【0026】
中継デバイス150の典型的なオペレーション態様が、複数の異なる通信プロトコルに関連して、図3を引き続き参照して以下に説明される。
【0027】
SASプロトコル検出及びフローコントロール
【0028】
図2に示されるように、本例では、1つのSASデバイスが中継デバイス150に接続されており、単独で又は1つのマルチデバイス筐体内に他の複数のデバイスタイプ(例えば、SSPデバイス104b及び/又はSSTデバイス104c)と組み合わせて設けられるとする。複数のコマンド及びデータは、Rin及びTinで表されるように、ケーブルリンク106a、106b・・・106d及び/又は108a、108b・・・108dを介して、中継デバイス150内に及び中継デバイス150から通信され得る。1つのデータパス166(例えば内部バス)は、SASデバイスから受信パス回路152Aの構成回路に送信された複数のコマンド及びデータの通信を提供するパス回路152A内に含まれてよい。
【0029】
1つのSASデバイスが最初に電源が投入されるとき、SASデバイスは1つの定義された一連の初期化信号を送信する。本明細書で反することが示されない限り、初期化信号列は従来のSASプロトコルによって定められてよいことが仮定される。1つのSASデバイスが中継デバイス150に接続されていることを検出するために、受信パス回路152Aは1つOOB信号回路156を有してよい。OOB信号検出回路156は、SASデバイスからの入力する初期化信号列のための1つのデータパス166に結合される。1つのSASデバイスからの初期化信号列は、1つのOOB(帯域外)プリミティブ信号列を有する。ここで使用される"初期化信号列"は、1つのデバイスによって生成された1つの信号列を有してよく、デバイスのタイプを特定するそのような複数の信号内に含まれる情報をさらに有してよい。例えば、そのような1つのプリミティブ列は、ターゲットデバイスをSASデバイスと特定する1つのCOMSAS信号列を含んでよい。OOB信号検出回路156は、1つのOOB信号列を受信し、リタイマ回路154への1つのパススルーコマンド174を生成することができる。
【0030】
SASデバイスのケースでは、例えば、リタイマ回路154は、初期化OOB信号列が(データパス168を介して)サーキットカード120へ中継デバイス150をパススルーすることを許容すべく、パススルーコマンド信号174によってディセーブルされ得る。サーキットカード120、或いは特に1つのサーキットカード120に関連するイニシエータプロトコルエンジン140は、(中継デバイス150とサーキットカード120との間にわたる1つのケーブルリンクを介して)OOB信号列を受信すべく構成され、SASデバイスと従来のSAS通信プロトコルを用いた通信を開始すべく1つの適切なSASプロトコルを選択してもよい。この例において、リタイマ回路154は、そこを通じて通過する複数のOOB信号をバッファ及び/又は増幅するバッファ及び/又は増幅回路を含んでよい。
【0031】
受信パス回路152Aは、内部バス166に結合されたデータトラッキングPLL回路158を含むフローコントロール回路を有してもよい。PLL回路158は、例えばSASデバイスがプロトコルエンジン140によって適切に初期化された後にSASデバイスからの複数のデジタルデータ信号(すなわちデータストリーム)を受信すべく構成されてよい。1つのデータストリームを受信すると、PLL回路158は1つの受信データストリームを1つの内部的に生成されたクロック信号(図示せず)に対して比較してよい。内部的に生成されたクロック信号とデータストリームとの間に位相差が存在する場合には、PLL回路158は、データストリームの周波数により厳密にマッチさせるべく、クロック周波数を変化させることができてもよい。PLL回路158は、受信データストリームの周波数を示す1つのデータクロック信号158を生成することができてもよい。データクロック信号164はリタイマ回路154に送信され得る。リタイマ回路154は、PLL回路158から受信したデータクロック信号164に少なくとも一部は基づいて、受信データストリームをリタイムすることができてよい。例えば、リタイマ154は、データストリーム及びデータクロック信号を入力として持つフリップフロップ回路を有し、データストリームをデータクロック信号に基づいてリタイムすべく動作してよい。リタイマ回路154はさらに、1つのリタイムされたデータストリームをリタイマ回路154の出力で生成することができてよい。1つのSASデバイスからのデータストリームをリタイムすることは、より長いケーブル長さについて発生し得るノイズイベント(例えばデジタル信号におけるリンギング効果)を低減することができる。さらに、データストリームをリタイムすることは、これらの効果を定められた許容レベルより下に低減することができる。
【0032】
FCプロトコル検出及びフローコントロール
【0033】
図2に示されるように、本例では、1つのSASデバイスが中継デバイス150に接続されており、単独で又は1つのマルチデバイス筐体内に他の複数のデバイスタイプ(例えば、FCデバイス104a)と組み合わせて設けられるとする。複数のコマンド及びデータは、Rin及びTinで表されるように、ケーブルリンク106a、106b・・・106d及び/又は108a、108b・・・108dを介して、中継デバイス150内に及び中継デバイス150から通信され得る。1つのデータパス166(例えば内部バス)は、FCデバイスから受信パス回路152Aの構成回路に送信された複数のコマンド及びデータの通信を提供するパス回路152A内に含まれてよい。
【0034】
1つのFCデバイスが最初に電源が投入されるとき、FCデバイスは1つの定義された一連の初期化信号を送信する。本明細書で反することが示されない限り、初期化信号列は従来のFCプロトコルによって定められてよいことが仮定される。受信パス回路152Bはさらに、FCリンク初期化プリミティブシーケンス検出回路160(以下"FCリンク回路160")。FCリンク回路160は、1つのFCデバイスによって生成された(データパス166に沿う)1つの初期化信号シーケンスを受信する。1つのFCデバイスからの初期化信号シーケンスは、例えば、ターゲットデバイスを1つのFCデバイスとして特定する1つの初期化信号シーケンスを含む。初期化信号シーケンスは、FCデバイスの動作周波数(すなわちリンク周波数)に関する追加の情報を含んでよい。
【0035】
FCデバイスからのそのような1つの初期化信号シーケンスを受信すると、FCリンク回路160は(前述された)PLL回路158への1つのコマンド信号162を生成する。そのようなコマンド信号162は、FCデバイスのデータフローコントロールのための適切な周波数(例えば、1.5、3.0、6.0GHz)でPLLが動作するよう、PLL回路158の動作周波数を制御することができる。そのために、PLL回路158は、例えばデータが受信パス回路152AをFCデバイスにとって適切な周波数で流れることを可能にすべく、PLL回路158がコマンド信号162に基づいて基本周波数を選択することを可能にする1つの逓倍(又は分周)信号を生成する周波数逓倍及び/又は周波数分周回路(図示せず)を有してよい。
【0036】
SASデバイスについての先の記載と同様に、受信パス回路152Aは、内部バス166に結合されたデータトラッキングPLL回路158を含むフローコントロール回路も有してよい。PLL回路158は、例えばFCデバイスがプロトコルエンジン140によって適切に初期化された後にFCデバイスからの複数のデジタルデータ信号(すなわち複数のデータストリーム)を受信すべく構成されてよい。1つのデータストリームを受信すると、PLL回路158は1つの受信データストリームを1つの内部的に生成されたクロック信号(図示せず)に対して比較してよい。内部的に生成されたクロック信号とデータストリームとの間に位相差が存在する場合には、PLL回路158は、データストリームの周波数により厳密にマッチさせるべく、クロック周波数を変化させることができてもよい。PLL回路158は、受信データストリームの周波数を示す1つのデータクロック信号158を生成することができてもよい。データクロック信号164はリタイマ回路154に送信され得る。リタイマ回路154は、PLL回路158から受信したデータクロック信号164に少なくとも一部は基づいて、受信データストリームをリタイムすることができてよい。例えば、リタイマ154は、データストリーム及びデータクロック信号を入力として持つフリップフロップ回路を有し、データストリームをデータクロック信号に基づいてリタイムすべく動作してよい。リタイマ回路154はさらに、1つのリタイムされたデータストリームをリタイマ回路154の出力で生成することができてよい。1つのFCデバイスからのデータストリームをリタイムすることは、より長いケーブル長さについて発生し得るノイズイベント(例えばデジタル信号におけるリンギング効果)を低減することができる。さらに、データストリームをリタイムすることは、これらの効果を定められた許容レベルより下に低減することができる。
【0037】
S−ATAプロトコル検出及びフローコントロール
【0038】
図2に示されるように、本例では、1つのS−ATAデバイスが中継デバイス150に接続されており、単独で又は1つのマルチデバイス筐体内に他の複数のデバイスタイプ(例えば、S−ATAデバイス104d)と組み合わせて設けられるとする。複数のコマンド及びデータは、Rin及びTinで表されるように、ケーブルリンク106a、106b・・・106d及び/又は108a、、108b・・・108dを介して、中継デバイス150内に及び中継デバイス150から通信され得る。1つのデータパス166(例えば内部バス)は、FCデバイスから受信パス回路152Aの構成回路に送信された複数のコマンド及びデータの通信を提供するパス回路152A内に含まれてよい。
【0039】
1つのS−ATAデバイスが最初に電源が投入されるとき、SASデバイスは1つの定義された一連の初期化信号を送信する。S−ATAデバイスの一例において、初期化信号シーケンスは1つのOOB信号(SASデバイスに関連して上述されたOOB信号に類似する)を含んでよいが、COMSAS信号を含まなくてよい。COMSAS信号の欠如は、(SASデバイスの代わりに)デバイスをS−ATAデバイスとして特定し得る。OOB信号検出回路156は、上述のSASプロトコル検出と同様の方法で動作し得る。
【0040】
1つのS−ATAデバイスのためのフローコントロール回路は、中継デバイス150のそれぞれの入力及び出力端に結合された1以上のS−ATAプロトコルコントロール回路170及び/又は172を有する。従来のS−ATAプロトコルにおいて、1つのS−ATAデバイスがデータを受信しており、1つの送信/受信バッファ(図示せず)がほとんど満杯であるとき、デバイスは1つのHOLD信号を送信する。S−ATAプロトコルは、予め定められた送信データワード数内(例えば20データワード内)で1つのホールドアクナリッジ信号(HOLDA)がターゲットデバイスにより受信されることを要求する。したがって、S−ATAプロトコルコントロール回路170及び/又は172は、HOLD信号が受信されたときに適切なHOLDA信号を生成することができ、デバイス又はサーキットカード120のいずれかによって要求に応じて、そのようなHOLDA信号をS−ATAデバイス(例えば、デバイス104d)又はサーキットカード120に戻すことができる。
【0041】
SAS及びFCデバイスについての先の記載と同様に、受信パス回路152Aは、内部バス166に結合されたデータトラッキングPLL回路158を含むフローコントロール回路も有してよい。PLL回路158は、例えばFCデバイスがプロトコルエンジン140によって適切に初期化された後にFCデバイスからの複数のデジタルデータ信号(すなわち複数のデータストリーム)を受信すべく構成されてよい。1つのデータストリームを受信すると、PLL回路158は1つの受信データストリームを1つの内部的に生成されたクロック信号(図示せず)に対して比較してよい。内部的に生成されたクロック信号とデータストリームとの間に位相差が存在する場合には、PLL回路158は、データストリームの周波数により厳密にマッチさせるべく、クロック周波数を変化させることができてもよい。PLL回路158は、受信データストリームの周波数を示す1つのデータクロック信号158を生成することができてもよい。データクロック信号164はリタイマ回路154に送信され得る。リタイマ回路154は、PLL回路158から受信したデータクロック信号164に少なくとも一部は基づいて、受信データストリームをリタイムすることができてよい。例えば、リタイマ154は、データストリーム及びデータクロック信号を入力として持つフリップフロップ回路を有し、データストリームをデータクロック信号に基づいてリタイムすべく動作してよい。リタイマ回路154はさらに、1つのリタイムされたデータストリームをリタイマ回路154の出力で生成することができてよい。1つのS−ATAデバイスからのデータストリームをリタイムすることは、より長いケーブル長さについて発生し得るノイズイベント(例えばデジタル信号におけるリンギング効果)を低減することができる。さらに、データストリームをリタイムすることは、これらの効果を定められた許容レベルより下に低減することができる。
【0042】
本明細書で既に記載されたように、"受信パス"152A及び"送信パス"152Bは、検出及び1つのターゲットデバイス104と1つのサーキットカード120との間のデータフローコントロールと両立できる同一の回路を有してよい。送信パス回路152Bについて、そのコンポーネントは、信号がサーキットカード120から来てターゲットデバイスに向かうことを除いて受信パス回路152Aに関して上述されたような同様の方法で動作し得るということが注目されるべきである。したがって、送信パス回路には参照番号は付されておらず、1つのキーワード又はフレーズによって呼ばれる同様の構成要素が、同様の方法で動作することが、本明細書中で考えられる。
【0043】
図3に示された中継デバイス150を参照して説明された回路は、本明細書中、集積回路を持つ1以上の回路モジュール又はチップセットを有してよい。他にも、図3の1以上のブロック図のコンポーネントは、本明細書で説明された機能と一致する方法で別個の回路で形成され得る。図3に示された中継デバイス150はさらに、追加の回路、例えば入力及び/又は出力端の(又はデータパスに沿った他の適切な位置の)バッファ回路を備えてよいことが注目されるべきである。さらに、中継デバイス150は、例えばターゲットデバイス104、1以上のケーブル、及びサーキットカード120の間のインピーダンスをマッチするインピーダンスマッチング回路も備えてよい。
【0044】
図4は、一実施形態に従って実行される典型的なオペレーションを示すフローチャート400を示す。本明細書で説明された中継デバイス150を参照すると、オペレーションは、ターゲットデバイス104及び/又はサーキットカード120によって使用される通信プロトコル402を決定する1つのオペレーションを有するプロトコル検出を含む。複数の通信プロトコルの中から通信プロトコルを決定することは、1つの初期化信号シーケンス(例えば、SASデバイスについてのOOB信号シーケンス)を検出すること、1つのリンク初期化信号(例えば、FCデバイスについての1つのアナログバースト信号)を検出すること、及び/又は(S−ATAデバイスのケースにおいて)1つのHOLD信号を検出することを含む。例えば、SASデバイスのケースにおいて、例えばOOB信号が中継デバイス150をサーキットカード120に向けてパススルーされる。FCプロトコルに互換性のあるターゲットデバイスについては、そのようなプロセスは、FCリンク初期化信号が出現すると適切な周波数を操作するようPLL回路をセッティングすることを含む。S−ATAデバイスについては、1つのHOLDA信号が、予め定められたデータワード数内でS−ATAデバイスに生成されて戻される。そのプロセスは、アタッチされた1つのデバイスに対応する1つのリンク周波数を検出することも含む。リンク周波数は1つのターゲットデバイスによって生成され、例えばデバイスによって生成されたデータストリームの周波数を含んでよい。リンク周波数は、入力データストリームのリタイミングを可能にすべくPLL回路の動作周波数を確立することができる。
【0045】
1つの定められた通信プロトコルについて、オペレーションは、選択された通信プロトコル402を用いたデータフローコントロールを提供することも含んでよい。データフローコントロールオペレーションは、1つのデータストリームをリタイミングすること及び/又は1つのデータストリームをバッファリング及び/又は増幅することを含む。例えば、図3を参照して先に説明されたように、PLL回路158は、1つの定められたデータストリームについての1つの位相値を生成する導入することができ、1つのリタイマ回路154は、PLL回路158によって生成された位相値に少なくと部分的に基づいて、データストリームをリタイムすることができる。
【0046】
既に説明されたように、マスストレージ104は複数のターゲットデバイスの1つの筐体を有してよい。筐体は複数のターゲットデバイスを含んでよく、それぞれのデバイスは、異なる通信プロトコルを用いた通信と互換及び/又は当該通信が可能であってよい。そのような筐体は、複数のデバイスが"ホットスワップ可能"であることを許容し、例えば複数のデバイスが1つの筐体内で直接的な方法で接続及び切断されることを可能にする適切な複数の接続も有する。したがって、そのよう1つの筐体は、内部に挿入されたデバイス及びそこにアタッチされた複数のケーブル(例えばケーブル108a、108b・・・108d)への電気的及び機械的接続を提供する複数のインタフェースコネクタ(図示せず)を有してよい。
【0047】
また、本明細書で提示された複数の例から理解されるように、中継デバイス150のある複数のコンポーネントが、いくつか又は全てのデバイスに対するデバイス検出機能及びデータフローコントロールを提供する能力を有してよい。例えば、PLL回路158及びリタイマ回路154は、SAS、S−ATA、及び/又はFCデバイスに対して同様に動作することができる。したがって、異なるデバイスが同じ物理的位置で接続されることを可能にする1つの筐体環境において、これらのコンポーネントはそのようなデバイスに対処することができる。本実施形態に一致する中継デバイス150は、異なる及び/又は筐体から存在しないデバイスに対処することができる。1つのデバイスが筐体レベルで存在しない(接続されていない)場合、中継デバイス150、より具体的にはOOB信号検出回路156、FCリンク回路160及び/又はリタイマ回路154は、筐体内にデバイスが存在しない(又は特定のケーブルにアタッチされてないい)ことを示す1つの信号を生成する。
【0048】
本開示の他の実施形態は、図3に示されたコンポーネント及び/又は回路或いは図1及び2のシステムレベルコンポーネントの多くの異なる組合せ及び/又はサブコンビネーションを考慮していることが理解されるべきである。例えば、SAS及び/又はFCデバイスに供される1つの筐体環境を含む1つのシステムにおいては、本開示の範囲から逸脱することなく、S−ATAプロトコルコントロール回路172及び170が省略され得る。図1、2、及び3の任意のブロックによって表されるような任意のコンポーネントの他の複数の組合せ及びサブコンビネーションが、本開示から逸脱することなくなされ得る。
【0049】
したがって、要約すると、システムの一実施形態は、複数の異なる通信プロトコルに従って通信することが可能な1つの集積回路を有する1つのサーキットカードを備えてよい。サーキットは1つのバスに結合されることが可能であってよい。1つの中継デバイスがサーキットカードに結合されてよい。中継デバイスは、中継デバイスに接続された少なくとも1つのストレージデバイスが通信することができる少なくとも1つの通信プロトコルを、複数の通信プロトコルの中から、少なくとも部分的に決定することが可能であってよい。中継デバイスはさらに、集積回路及びストレージデバイスのうちの少なくとも1つによって生成された1つのデータストリームをコントロールすることが可能であってよい。
【0050】
装置の一実施形態は、1つの中継デバイスに接続された少なくとも1つのストレージデバイスが通信することができる少なくとも1つの通信プロトコルを、複数の通信プロトコルの中から少なくとも部分的に決定することができるプロトコル検出回路を有する中継デバイスを備えてよい。中継デバイスは、複数の通信プロトコルのうちの少なくとも1つを用いて前記ストレージデバイスから通信される1つのデータストリームをコントロールすることができるフローコントロール回路をさらに有してよい。
【0051】
有利なことに、これらの実施形態の中継デバイスは、向上された通信能力を提供することができ、複数の通信プロトコルを用いて通信することができる。さらに有利なことに、中継デバイスに接続された1つのターゲットデバイス及び・又はサーキットカードによって生成された複数の信号はコントロールされてよく、これは中継デバイスと1以上のターゲットデバイス及び/又はサーキットカードとの間のケーブル長さを延長することを可能にする。さらに有利なことに、それは、例えばこれらの実施形態に従う単一の集積化された中継デバイスが、1つのデータストレージシステムと、複数の異なる通信プロトコルを用いて直接的に通信することを可能にする。したがって、例えば、これらの実施形態の中継デバイスを使用して、集積回路及びデータストレージシステムの間に結合される(例えば、1以上のSASエキスパンダのような)1以上の外部通信プロトコルコンバータ、トランスレータ、及び/又はエキスパンダを使用する必要なく、データストレージシステムの中のSAS及び/又はS−ATA及び/又はFCプロトコルドメイン内の1以上のデバイスと、1以上の通信リンクを介して直接的に通信することが可能になる。一方で、そのようなプロトコルコンバータ、トランスレータ、及び/又はエキスパンダが、これらの実施形態から逸脱することなく使用され得る。有利なことに、これらの機能は、これらの実施形態の中継デバイスが従来技術と比較して向上された多用性及び可用性を呈することを可能にし、本明細書に記載された中継デバイスを使用する設計コストを従来技術と比較して低減し得る。
【0052】
本明細書で使用された用語及び表現は、限定する用語としてではなく説明の用語として使用されており、そのような用語及び表現の使用において、示され及び記載された複数の特徴(或いはそれらの一部)のいずれの均等物も排除する意図はなく、複数の請求項の範囲内で種々の変更が可能であることが理解される。他の複数の変更、変形、及び代替物もまた可能である。したがって、複数の請求項が全てのそのような均等物をカバーすることが意図されている。

【特許請求の範囲】
【請求項1】
1つの中継デバイスに接続された少なくとも1つのストレージデバイスが通信することができる少なくとも1つの通信プロトコルを、複数の通信プロトコルの中から少なくとも部分的に決定することができるプロトコル検出回路を有する1つの中継デバイスであって、複数の通信プロトコルのうちの少なくとも1つを用いて前記ストレージデバイスから通信される1つのデータストリームをコントロールすることができるフローコントロール回路をさらに有する中継デバイス
を備える装置。
【請求項2】
前記中継デバイスはさらに、1つの通信プロトコルを示す予め定められた1つの初期化信号シーケンスを検出することができる
請求項1に記載の装置。
【請求項3】
前記予め定められた信号シーケンスは、1つの帯域外の信号シーケンスを有する
請求項2に記載の装置。
【請求項4】
前記プロトコル検出回路はさらに、1つの帯域外信号シーケンス及び1つのアナログバースト信号シーケンスのうちの少なくとも1つを受信することができ、
前記フローコントロール回路は、
前記少なくとも1つのストレージデバイスから1つのデータストリームを受信することができ、前記データストリームの周波数を示す1つのクロック信号を生成することができるデータトラッキング回路と、
前記データストリーム及び前記クロック信号を受信して、1つのリタイムされたデータストリームを生成することができるリタイマ回路と
を含む請求項1に記載の装置。
【請求項5】
前記中継デバイスは、少なくとも1つのケーブルを介して、前記ストレージデバイスに結合されることができる
請求項1に記載の装置。
【請求項6】
異なる前記複数の通信プロトコルは、1つのファイバチャネルプロトコル、1つのシリアルアタッチドスモールコンピュータシステムインタフェースプロトコル、及び1つのシリアルアドバンスドテクノロジアタッチメントプロトコルを含む
請求項1に記載の装置。
【請求項7】
前記中継デバイスは、前記複数の通信プロトコルのうちの少なくとも1つと互換性のある1つのケーブルに結合されることができる
請求項1に記載の装置。
【請求項8】
前記中継デバイスは、
前記ストレージデバイスから1つの信号を受信し、前記信号に少なくとも部分的に応答して、前記ストレージデバイスに送信される1つのアクナリッジ信号を生成することができるプロトコルコントロール回路
をさらに備える請求項1に記載の装置。
【請求項9】
複数の異なる通信プロトコルに従って通信することができる1つの集積回路を有し、1つのバスに結合されることができる1つのサーキットカードと、
前記サーキットカードに結合された1つの中継デバイスであって、前記中継デバイスに接続された少なくとも1つのストレージデバイスが通信することができる少なくとも1つの通信プロトコルを、複数の通信プロトコルの中から少なくとも部分的に決定することができ、前記集積回路及び前記ストレージデバイスの少なくとも1つによって生成されたデータストリームをコントロールすることがさらにできる中継デバイスと
を備えるシステム。
【請求項10】
前記中継デバイスは、前記サーキットカード及び前記ストレージデバイスに1以上のケーブルを介して結合される
請求項9に記載のシステム。
【請求項11】
前記中継デバイスはさらに、前記複数の通信プロトコルの少なくとも1つを示す予め定められた1つの初期化信号シーケンスを検出することができる
請求項9に記載のシステム。
【請求項12】
前記予め定められた信号シーケンスは、1つの帯域外の信号シーケンスを有する
請求項11に記載のシステム。
【請求項13】
前記中継デバイスはさらに、前記データストリームをコントロールして1つのリタイムされたデータストリームを生成し、前記リタイムされたデータストリームを前記サーキットカード及び前記ストレージデバイスの少なくとも1つに送信することができる
請求項9に記載のシステム。
【請求項14】
異なる前記複数の通信プロトコルは、1つのファイバチャネルプロトコル、1つのシリアルアタッチドスモールコンピュータシステムインタフェースプロトコル、及び1つのシリアルアドバンスドテクノロジアタッチメントプロトコルを含む
請求項9に記載のシステム。
【請求項15】
1つの中継デバイスに接続された少なくとも1つのストレージデバイスが通信することができる少なくとも1つの通信プロトコルを、前記中継デバイスによって少なくとも部分的に決定する段階と、
前記少なくとも1つのストレージデバイスからの少なくとも1つのデータストリームを、少なくとも1つの通信プロトコルに従って、前記中継デバイスによって少なくとも部分的にコントロールする段階と
を備える方法。
【請求項16】
前記少なくとも1つのストレージデバイスによって生成された前記少なくとも1つのデータストリームを、前記中継デバイスによってリタイムする段階
をさらに備える請求項15に記載の方法。
【請求項17】
1つの初期化信号シーケンスを前記中継デバイスによって受信する段階と、
前記初期化信号シーケンスに基づいて、少なくとも1つの通信プロトコルを、前記中継デバイスによって選択する段階と
をさらに備える請求項15に記載の方法。
【請求項18】
前記ストレージデバイスに関係づけられた1つのリンク周波数を、前記中継デバイスによって決定する段階と、
前記中継デバイスによって、前記リンク周波数を用いて前記ストレージデバイスと通信する段階と
をさらに備える請求項15に記載の方法。
【請求項19】
前記中継デバイスによって、複数の通信プロトコルのうちの1つの選択された通信プロトコルで前記少なくとも1つのストレージデバイスと通信する段階
をさらに備える請求項15に記載の方法。
【請求項20】
記憶された複数の命令を有する1つの記憶メディアを備える製品であって、前記複数の命令が装置によって実行された場合に、前記装置を、
1つの中継デバイスに接続された少なくとも1つのストレージデバイスが通信することができる少なくとも1つの通信プロトコルを、前記中継デバイスによって少なくとも部分的に決定する手段、及び
前記少なくとも1つのストレージデバイスからの少なくとも1つのデータストリームを、少なくとも1つの通信プロトコルに従って、前記中継デバイスによって少なくとも部分的にコントロールする手段
として機能させる製品。
【請求項21】
前記装置を、
前記少なくとも1つのストレージデバイスによって生成された前記少なくとも1つのデータストリームを、前記中継デバイスによってリタイムする手段
としてさらに機能させる請求項20に記載の製品。
【請求項22】
前記装置を、
1つの初期化信号シーケンスを前記中継デバイスによって受信する手段、及び
前記初期化信号シーケンスに基づいて、少なくとも1つの通信プロトコルを、前記中継デバイスによって選択する手段
としてさらに機能させる請求項20に記載の製品。
【請求項23】
前記装置を、
前記ストレージデバイスに関係づけられた1つのリンク周波数を、前記中継デバイスによって決定する手段、及び
前記中継デバイスによって、前記リンク周波数を用いて前記ストレージデバイスと通信する手段
としてさらに機能させる請求項20に記載の製品。
【請求項24】
前記装置を、
前記中継デバイスによって、複数の通信プロトコルのうちの1つの選択された通信プロトコルで前記少なくとも1つのストレージデバイスと通信する手段
としてさらに機能させる請求項20に記載の製品。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2007−513436(P2007−513436A)
【公表日】平成19年5月24日(2007.5.24)
【国際特許分類】
【出願番号】特願2006−542903(P2006−542903)
【出願日】平成16年12月24日(2004.12.24)
【国際出願番号】PCT/US2004/043345
【国際公開番号】WO2005/066820
【国際公開日】平成17年7月21日(2005.7.21)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】