JP4599496B2 - SATA(SerialAdvancedTechnologyAttachment)スイッチ - Google Patents
SATA(SerialAdvancedTechnologyAttachment)スイッチ Download PDFInfo
- Publication number
- JP4599496B2 JP4599496B2 JP2004174862A JP2004174862A JP4599496B2 JP 4599496 B2 JP4599496 B2 JP 4599496B2 JP 2004174862 A JP2004174862 A JP 2004174862A JP 2004174862 A JP2004174862 A JP 2004174862A JP 4599496 B2 JP4599496 B2 JP 4599496B2
- Authority
- JP
- Japan
- Prior art keywords
- switch
- host
- host unit
- depth value
- fis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
Description
本出願は、「Serial ATA Switch」と称される米国仮特許出願第60/477,857号(2003年6月11日出願)の利益を主張し、「Switching Serial Advanced Technology Attachment(SATA) To A Parallel Interface」と称される米国特許出願第 号(2004年2月9日出願)の一部継続出願であり、かつ、「Route Aware Serial Advanced Technology Attachment(SATA)Switch」と称される米国特許出願第 号(2004年2月9日出願)の一部継続出願である。
本発明は、概して、SATA(Serial Advanced Technology Attachment)スイッチに関し、特に、2つのホストポート、および両方のホストポートによって同時にデバイスポートにアクセスすることを可能にする1つのデバイスポートとを有するスイッチに関する。
(SATAプロトコルの概観)
本明細書中で用いられる「デバイス」は、業界が採用する任意の公知の標準規格に準拠する周辺機器のことである。SATAは、大容量格納デバイスの並列のATA(Advanced Technology Attachment)アタッチメントに代わる高速シリアルリンクである。用いられるシリアルリンクは、当業者に公知のギガビット技術および8b/10bエンコーディングを利用するポイントツーポイント高速差分リンクである。SATAプロトコルは、(OSI)Open Systems Interconnection)参照モデルと類似の階層通信モデルに基づく。概観が以下に提供される。さらに詳細に知りたい場合、読者は、参考のため本明細書中に援用されるSATA標準規格を参照されたい。SATA仕様は、「Serial ATA:High Speed Serialized ATA Attachment」Revisions1.0(2001年8月29日)と称される刊行物、および、「Serial ATA II:Extensions to Serial ATA 1.0」Revision1.0(2002年10月16日)と称される刊行物に提供される(これらの両方は、Serial ATAワークグループのウェブサイトwww.serialata.comにて現在利用可能である。
リンク層(LL)22からのパラレル入力をシリアル化すること、および、差動NRZ(Non−Return to Zero)シリアルストリームを送信すること、
差動NRZシリアルストリームを受信すること、シリアルビットストリームからデータ(選択的に、クロック)を抽出すること、シリアルストリームを非シリアル化すること、ならびに、ビットおよびワードアライメントパラレル出力をLL22に提供すること、
パワーオンシーケンスを実行すること、および、スピードネゴシエーションを実行すること、
規定の帯域外(OOB)信号検出および生成を実行すること
を含む。
レジスタFIS−ホストからデバイスへ 40(i)
レジスタFIS−デバイスからホストへ 40(ii)
DMA アクティベート FIS 40(iii)
DMA セットアップ FIS 40(iv)
セットデバイスビット FIS 40(v)
PIO セットアップ FIS 40(v)
データ FIS 40(vii)
BIST アクティベート FIS 40(viii)
のようになる。
データポート 31dpと、
エラーレジスタ 31eと、
フィーチャレジスタ 31fと、
セクタカウント 31scと、
セクタナンバー 31snと、
シリンダ ロー 31clと、
シリンダ ハイ 31chと、
デバイス/ヘッド 31devと、
ステータス 31sと、
コマンド 31cと、
代替ステータス 31asと、
デバイスコントロール 31dcと
を備える。
従来技術のシステムの簡単なフェイルオーバースイッチは、層1内でスイッチングを実行する。図4は、層1内でスイッチングする従来技術の簡単なフェイルオーバースイッチ(SFX)100のブロック図を示す。スイッチ100は、PL回路111、PL回路121、PL回路131、アクティブホスト選択回路141、マルチプレクサ142、およびスイッチ初期化回路144を備えることが示される。PL回路111、121および131は、OOB信号および制御信号111i、121iおよび131iを提供する改変されたバージョンのPL回路51(図2bに示される)であり、信号のうちの制御信号111i、121iおよび131iは、それらの131の制御信号をそれぞれPL回路111、121および131として提供する。PL回路111は、ホストに接続するように構成され、かつ、アウトバウンド高速差動送信信号111txおよびインバウンド差動受信信号111rxに接続される。PL回路111のリンク受信バス112rは、マルチプレクサ142に接続される。
アクティブホストからデバイスポートへのCOMRESETのリレー(受信して、その後、送信)
デバイスポートからアクティブホストポートへのCOMINITのリレー
デバイスポートからアクティブホストポートへのCOMWAKEのリレー
デバイスポートからアクティブホストポートへのALIGNプリミティブ検出のリレー
アクティブホストポートからデバイスポートへのホストALIGNプリミティブ検出のリレー
アクティブホストポートへのデバイスポートPHY_RDYのリレー
デバイスポートからアクティブホストポートへのSYNCプリミティブのリレー
を実行する。
簡単にいうと、本発明の実施形態は、第1のホストユニットに結合された第1のシリアルATAポートを備えるスイッチを含み、第1のポートは、第1のホストタスクファイルを含む。スイッチは、第2のホストユニットに結合された第2のシリアルATAポートを備えるスイッチをさらに含み、第2のポートは、第2のホストタスクファイルを含む。スイッチは、格納ユニットに結合された第3のシリアルATAポートをさらに備え、第3のポートは、デバイスタスクファイルを含む。スイッチは、複数のホストユニットの1つからの少なくとも1つの待ち状態のコマンドのインジケーションがある場合、スイッチを通じて格納ユニットに結合されるべき複数のホストユニットの1つを選択するアービターをさらに含み、ここで、複数のホストユニットの1つは格納ユニットに結合されるが、複数のホストユニットの別の1つは、格納ユニットによって実行するためにATAコマンドをスイッチに送信する。
ここで、図を参照して、本発明の実施形態の1つにおいて用いられる方法は、いずれかのデータがなくなることを避けるために、ホストおよびデバイスポート用のレベル2SATAポートと、ホストポートとデバイスポートとの間のFIS FIFOを用いる。レベル2SATAポートは、プリミティブリレーしたり他のポートからの応答を待つのではなく、HOLD/HOLDAに直ちに応答する。図5は、層2内でスイッチングし、かつ本発明の実施形態によるスイッチ200のハイレベルブロック図を示す。スイッチ200は、SATAレベル2ホストポート210、SATAレベル2ホストポート220、SATAレベル2デバイスポート230、FISペイロードFIFO245、マルチプレクサ242a、マルチプレクサ242b、デマルチプレクサ243、アクティブホスト選択回路241、およびスイッチ初期化回路244を備えることが示される。
スイッチ300の動作は、スイッチ300が進行中のコマンドを認識すること、特定のコマンドを他のコマンドとは異なる態様で処理することを必要とする。アービトレーションおよび制御回路340は、ホスト11タスクファイル出力バス316oを介してホスト11タスクファイル1を受信する。回路340は、ホスト12タスクファイル出力バス326oを介してホスト12タスクファイルをさらに受信し、かつ、デバイスタスクファイル出力バス336oを介してデバイスタスクファイルをさらに受信し、デバイスコマンド層出力バス335oをさらに受信する。
デバイスはレジスタFIS40(ii)を送信し、レジスタFIS40(ii)におけるRELビットおよびSERVビットの両方がセットされて、デバイスは、コマンドをキューに入れ、かつキューコマンドをサービスするように実行可能であることを示し、
デバイスは、データFIS40(vii)またはDMAアクティベートFIS40(iii)を送信して、デバイスがコマンドを実行していることを示し、
デバイスは、レジスタFIS40(ii)を送信し、ここで、レジスタFIS40(ii)におけるBSYビットがリセットされ、レジスタFIS40(ii)におけるERRビットがセットされて、エラーが生じたことを示すか、あるいは、
デバイスがホストに再接続するように実行可能である場合、デバイスは、セットデバイスビットFIS40(v)またはレジスタFIS40(ii)をホストに送信し、ここで、セットデバイスビットFIS40(v)におけるSERVビットまたはレジスタFIS40(ii)がセットされる。ホストは、これに、SERVICEコマンドで応答して、デバイスは、レジスタFIS40(ii)を、ホストタグ値を含むホストに戻す。この時点で、ホストおよびデバイスは再接続され、コマンドの実行を再開する。デバイスがレガシーキューコマンドの非空キューを有するときに、ホストが非キューコマンドまたはネイティブキューコマンドを送信した場合、キューコマンドが中止される。
SERVビットリセットを有するレジスタFIS40(iii)を送信して、ホストを選択し、その後、状態をサービス送信CMD(send−service−CMD)状態373に変更する。切断状態366dにおいて、スイッチ300は、RELビットセットおよびSERVビットリセットを有するレジスタFISを選択したホストに送信し、その後、状態をサービス送信CMD状態373に変更する。切断状態366dにおいて、スイッチ300は、RELビットセットおよびSERVビットリセットを有するレジスタFISを選択したホストに送信し、その後、状態をアイドル状態361に変更する。
ホストタグを送信デバイスタグにマッピングし、レガシーキュータグの場合、マッピングの結果をタグメモリに保存し、かつ、有効キュータグのリストを保持することと、
受信デバイスタグを逆マッピングしてホストを識別し、かつ元のホストタグを取得し、LQ CMDの場合、制御回路342によってコマンドの補完に方向付けられた場合、キュータグを無効にすることと、
ホスト11およびホスト12にそれぞれ対応するSactiveフィールド41をホスト11Sactiveフィールドおよびホスト12Sactiveフィールドにマッピングすることと
を包含する。
マルチプレクサ351の動作を制御する選択信号351sを生成することと、
マルチプレクサ352の入力と、マルチプレクサ352の動作を制御する選択信号352sとに接続されるデバイスコントロールタスクファイル出力バス352iを生成することと、
mux−demux353の入力に接続される制御コマンド層出力バス353iと、mux−demux353の制御信号である制御信号353cとを生成することと、
mux−demux354の入力に接続される制御タスクファイル出力バス354iと、mux−demux354の動作を制御する制御信号354cとを生成することと、
ホストアービトレーション回路343の制御信号342cを生成することと、
タグ/Sactiveマッピング回路341の制御信号341ctlを生成することと、
制御信号を生成して、識別されたホストタスクファイルを待ち状態タスクファイル344に保存し、かつ、マルチプレクサ354の動作を制御することと
を包含する。
セットされた場合、ホスト11がFISリクエストを有することを示す、H1_fis_reqと、
セットされた場合、ホスト12がFISリクエストを有することを示す、H2_fis_reqと、
セットされた場合、ホスト11がQueueコマンドを発行したことを示し、リセットされた場合、非キューコマンドを発行したことを示す、H1_Qcmdと、
セットされた場合、ホスト12がキューコマンドを発行したことを示し、リセットされた場合、非キューコマンドを発行したことを示す、H2_Qcmdと、
セットされた場合、ホスト11が空キューを有することを示し、リセットされた場合、非空キューを有することを示す、H1_Qemptyと、
セットされた場合、ホスト11が空キューを有することを示し、リセットされた場合、非空キューを有することを示す、H1_Qemptyと
である。
(1)ホスト11は、非キューコマンドを発行する一方で、非空キューを有する。スイッチは、コマンドをデバイスに転送する。非空キューを有する非キューコマンドの受信に応答して、デバイスは、エラー(ERR)をセットする。非空キューを有するエラーの受信により、スイッチが非空キューコマンドをフラッシュし、ERRステータスを、非空キューを有するホストに送信する。
(2)ホスト11は、非キューコマンドを発行する一方で、非空キューを有する。スイッチは、コマンドをデバイスに転送する。非空キューを有する非キューコマンドの受信に応答して、デバイスは、エラー(ERR)をセットする。非空キューを有するエラーの受信により、スイッチが非空キューコマンドをフラッシュし、ERRステータスを、非空キューを有するホストに送信する。
(3)非キューコマンドを送信するホストは空キューを有し、もう一方のホストは非空キューを有するので、非キューコマンドを送信することによって、デバイスが、エラーをセットし、これにより、キューがフラッシュされ、従って、送信する場合、ホストは空キューを有し、かつ非キューコマンドを送信する一方で、もう一方のホストは、非空キューを有し、コマンドは、もう一方のホストキューが空になるまで保持される。
(4)上述のように、空キューを有するホストが非キューコマンドを発行する一方で、もう一方のホストが非空キューを有する場合、非キューコマンドは、キューが空になるまで保持される。この場合、キューが空になることを可能にするために、非空キューを有するホストが別のキューコマンドを送信する場合、キューが空になり、非キューコマンドが送信されるまで新規に受信されたキューコマンドを保持することが望ましい。レガシーキューコマンドの場合、新規に受信されたレガシーキューコマンドを保持することは実用的でない。なぜなら、スイッチは、デバイスが再接続されているときにこれをリリースする必要があるからである。しかしながら、この制限は、ネイティブキューコマンドには当てはまらない。
図6のアクティブスイッチ300は、回転する優先順位に基づいてアービトレーションアルゴリズムを用いることがすでに記載された。異なったアービトレーションアルゴリズムを用いる代替的実施形態は、本発明の主旨および範囲に含まれる。このような代替的アービトレーションアルゴリズムは、静的または動的重み(重みは、「ホストに割り当てられた帯域幅」対「利用可能な全帯域幅」の比である)に基づいて帯域幅を各ホストに提供するアービトレーションアルゴリズムを含むが、これに限定されない。このようなアービトレーションアルゴリズムは、アービトレーションアルゴリズムにおけるコマンドごとの平均転送カウント(ユーザデータの数)等であるが、これに限定されない帯域幅を測定する方法を用いる。
FISを層3から層3に送信し、これによりスイッチにわたる遅延を低減することによって、タスクファイルフォーム層4を別の層4に送信することを回避する。
送信デバイスタグに選択されたホストキュータグをマッピングし、レガシーキュータグの場合、結果をタグメモリ341dに保存し、有効キュータグのリストを保持することと、
ホストを識別するために受信デバイスキュータグを逆マッピングし、元のホストタグを取得し、レガシーキュータグの場合、コマンド補完において制御回路によって支持された場合にキューを無効にすることと、
ホスト11およびホスト2にそれぞれ対応するホスト11Sactiveフィールドおよびホスト12SactiveフィールドにSactiveフィールドをマッピングすることとを包含する。
マルチプレクサ551aおよび551bの動作を制御する選択信号551sを生成することと、
マルチプレクサ553に接続された制御コマンド層出力バス533i、およびマルチプレクサ553の制御信号である選択信号553sを生成することと、
FISバス543i、デバイスFISmux−demux543aの入力に接続されたサブFISバス、およびmux−demux543aの動作を制御するデバイスコントロール信号543kを生成することと、
FISバス643m、デバイスFISマルチプレクサ543bの入力に接続されたサブFISバス、およびマルチプレクサ543bの動作を制御するデバイスFISマルチプレクサ選択信号543sを生成することと、
タグ/Sactiveマッピング回路546の制御信号を生成することと、
ホストアービトレーション544の制御信号を生成することと
を含む。
SATAリンクまたはATAリンクを介してスイッチのデバイスポートに接続された単一ポート方式の格納ユニットへの2つのホストポートからの同時のアクセスを可能にする電子スイッチが必要である。本発明によるスイッチは、第1のホストユニットに接続される第1のシリアルアドバンスドテクノロジーアタッチメント(ATA)ポートと、第2のホストユニットに接続される第2のシリアルATAポートとデバイスに接続される第3のシリアルATAポートと、d)該第1のホストユニットまたは第2のホストユニットのどちらか一方が、該デバイスによって実行されるコマンドを送信する場合はいつでも、該スイッチを介して、該第1のホストユニットまたは該第2のホストユニットの該デバイスに接続されるべき一方を選択するアービトレーションおよびコントロール回路とを備える。
210 SATAレベル2ホストポート
211 PL回路
212 LL回路
230 SATAレベル2デバイスポート
231 物理層
242a マルチプレクサ
242b マルチプレクサ
245 FIS FIFO
Claims (94)
- 複数のホストユニットと該ホストユニット間で通信するデバイスとの間に接続されるスイッチであって、
a)第1のホストユニットに接続される第1のシリアルアドバンスドテクノロジーアタッチメント(ATA)ポートと、
b)第2のホストユニットに接続される第2のシリアルATAポートと、
c)デバイスに接続される第3のシリアルATAポートであって、該デバイスは、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドのキューイングをサポートし、該デバイスが該第1のホストユニットまたは該第2のホストユニットのどちから一方から待ち行列に入れることのできるコマンドの数を示すオリジナルのキュー深さの値を生成する、第3のシリアルATAポートと、
d)該第1のホストユニットまたは該第2のホストユニットのどちらか一方が、該デバイスによって実行されるコマンドを送信する場合はいつでも、該スイッチを介して、該第1のホストユニットまたは該第2のホストユニットの該デバイスに接続されるべき一方を選択するアービトレーションおよびコントロール回路であって、該アービトレーションおよびコントロール回路は、該オリジナルのキュー深さの値に応答して、該オリジナルのキュー深さの値を該オリジナルのキュー深さよりも小さい新しいキュー深さの値に変更し、その結果、該第1のホストユニットと該第2のホストユニットとの各々に対して、該オリジナルのキュー深さの値によって示されるコマンドの数よりも小さい数が割り当てられるが、該第1のホストユニットと該第2のホストユニットとによって待ち行列に入れられるコマンドの総数が該オリジナルのキュー深さの値と同じままになるようにし、それにより、該オリジナルのキュー深さの値を該第1のホストユニットと該第2のホストユニットとに対して該オリジナルのキュー深さの値よりも小さいとして偽って伝え、それにより、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドが該第1のホストユニットまたは該第2のホストユニットのどちらか一方による該オリジナルのキュー深さの値のオーバーランによって消失されることを防止する、アービトレーションおよびコントロール回路と
を備える、スイッチ。 - 前記第1のシリアルATAポートは、第1のホストタスクファイルを含む、請求項1に記載のスイッチ。
- 前記第2のシリアルATAポートは、第2のホストタスクファイルを含む、請求項1に記載のスイッチ。
- 前記第3のシリアルATAポートは、デバイスタスクファイルを含む、請求項3に記載のスイッチ。
- 前記第1、第2、および第3のポートは、レベル4ポートである、請求項3に記載のスイッチ。
- 前記デバイスは、ストレージユニットである、請求項1に記載のスイッチ。
- 前記スイッチは、企業システムで利用される、請求項1に記載のスイッチ。
- 前記アービトレーションおよびコントロール回路は、前記第1のおよび第2のホストユニットによる前記デバイスの同時アクセスを生じさせる、請求項1に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記デバイスから前記スイッチを介して前記第1または第2のホストユニットへ転送され、該情報は、該第1または第2のホストユニットによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が、該第1または第2のホストユニットによって受信される、請求項1に記載のスイッチ。
- 前記情報は、「identify drive response」と呼ばれる、請求項9に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項9に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記第1または第2のホストユニットから前記スイッチを介して前記デバイスへ転送され、該情報は、該デバイスによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が、該デバイスによって受信される、請求項1に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項12に記載のスイッチ。
- 前記アービトレーションおよびコントロール回路は、ホストを識別するために、ホストタグをデバイスタグにマッピングし、かつ、逆マッピングを行うためのTag/Sactive Mapping Circuitを含む、請求項12に記載のスイッチ。
- 前記第1または前記第2のホストのどちらか一方は、前記デバイスが待ち行列に入れるレガシーキューコマンドを送信する、請求項1に記載のスイッチ。
- 前記第1または第2のホストは、前記デバイスによる実行のために、ネイティブキューコマンドを送信する、請求項1に記載のスイッチ。
- 前記ネイティブキューコマンドのTagは、前記デバイスに送信する前に修正され、両ホスト用に同じTagを利用することを避け、最大可能なTagの値を超えさせない、請求項16に記載のスイッチ。
- デバイスからのFISに受信されたTagは、ホストに送信する前にそのオリジナルの値に修正される、請求項17に記載のスイッチ。
- 前記第1、第2、および第3のポートは、レベル3シリアルATAポートであり、データFIS FIFOおよび関連するFIFOコントロールは、該第1、第2、および第3のポートに接続され、外部から位置づけられる、請求項1に記載のスイッチ。
- a)第1のホストユニットに接続される第1のシリアルアドバンスドテクノロジーアタッチメント(ATA)ポートと、
b)第2のホストユニットに接続される第2のシリアルATAポートと、
c)デバイスに接続される第3のシリアルATAポートであって、該デバイスは、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドのキューイングをサポートし、該デバイスが該第1のホストユニットまたは該第2のホストユニットのどちから一方から待ち行列に入れることのできるコマンドの数を示すオリジナルのキュー深さの値を生成する、第3のシリアルATAポートと、
d)該第1のホストユニットまたは該第2のホストユニットのどちらか一方が、該デバイスによって実行されるコマンドを送信する場合に、該スイッチを介して、該第1のホストユニットまたは該第2のホストユニットの該デバイスに接続されるべき一方を選択するアービトレーションおよびコントロール回路であって、該アービトレーションおよびコントロール回路は、該オリジナルのキュー深さの値に応答して、該オリジナルのキュー深さの値を該オリジナルのキュー深さの値よりも小さい新しいキュー深さの値に変更し、その結果、該第1のホストユニットと該第2のホストユニットとの各々に対して、該オリジナルのキュー深さの値によって示されるコマンドの数よりも小さい数が割り当てられるが、該第1のホストユニットと該第2のホストユニットとによって待ち行列に入れられるコマンドの総数が該オリジナルのキュー深さの値と同じままになるようにし、それにより、該オリジナルのキュー深さの値を該第1のホストユニットと該第2のホストユニットとに対して該オリジナルのキュー深さの値よりも小さいとして偽って伝え、それにより、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドが該第1のホストユニットまたは該第2のホストユニットのどちらか一方による該オリジナルのキュー深さの値のオーバーランによって消失されることを防止する、アービトレーションおよびコントロール回路と
を備え、該第1または第2のホストユニットの一方が、該スイッチを介して該デバイスに接続される一方で、該第1または第2のホストユニットの他方が、該デバイスによって実行するためのコマンドを該スイッチに送信する、スイッチ。 - 前記スイッチは、シリアルATAスイッチである、請求項20に記載のスイッチ。
- 前記第1のシリアルATAポートは、第1のホストタスクファイルを含む、請求項20に記載のスイッチ。
- 前記第2のシリアルATAポートは、第2のホストタスクファイルを含む、請求項22に記載のスイッチ。
- 前記第3のシリアルATAポートは、デバイスタスクファイルを含む、請求項23に記載のスイッチ。
- 前記デバイスは、ストレージユニットである、請求項20に記載のスイッチ。
- 前記スイッチは、企業システムで利用される、請求項20に記載のスイッチ。
- 前記アービトレーションおよびコントロールは、前記第1および第2のホストユニットによる前記デバイスの同時アクセスを生じさせる、請求項20に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記デバイスから前記スイッチを介して前記第1または第2のホストユニットへ転送され、該情報は、該第1または第2のホストユニットによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が、該第1または第2のホストユニットによって受信される、請求項20に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項28に記載のスイッチ。
- 前記情報は、「identify drive response」と呼ばれる、請求項28に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記第1または第2のホストユニットから前記スイッチを介して前記デバイスへ転送され、該情報は、該デバイスによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が、該デバイスによって受信される、請求項20に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項31に記載のスイッチ。
- 複数のホストユニットと該ホストユニット間で通信するデバイスとの間に接続されるスイッチであって、
a)第1のホストユニットに接続される第1のシリアルアドバンスドテクノロジーアタッチメント(ATA)ポートであって、第1のホストを含む、ポートと、
b)第2のホストユニットに接続される第2のシリアルATAポートと、
c)デバイスに接続される第3のパラレルATAポートであって、該デバイスは、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドのキューイングをサポートし、該デバイスが該第1のホストユニットまたは該第2のホストユニットのどちから一方から待ち行列に入れることのできるコマンドの数を示すオリジナルのキュー深さの値を生成する、第3のパラレルATAポートと、
d)該第1のホストユニットまたは該第2のホストユニットのどちらか一方が、該デバイスによって実行されるコマンドを送信する場合はいつでも、該スイッチを介して、該第1のホストユニットまたは該第2のホストユニットの該デバイスに接続されるべき一方を選択するアービトレーションおよびコントロール回路であって、該アービトレーションおよびコントロール回路は、該オリジナルのキュー深さの値に応答して、該オリジナルのキュー深さの値を該オリジナルのキュー深さの値よりも小さい新しいキュー深さの値に変更し、その結果、該第1のホストユニットと該第2のホストユニットとの各々に対して、該オリジナルのキュー深さの値によって示されるコマンドの数よりも小さい数が割り当てられるが、該第1のホストユニットと該第2のホストユニットとによって待ち行列に入れられるコマンドの総数が該オリジナルのキュー深さの値と同じままになるようにし、それにより、該オリジナルのキュー深さの値を該第1のホストユニットと該第2のホストユニットとに対して該オリジナルのキュー深さの値よりも小さいとして偽って伝え、それにより、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドが該第1のホストユニットまたは該第2のホストユニットのどちらか一方による該オリジナルのキュー深さの値のオーバーランによって消失されることを防止する、アービトレーションおよびコントロール回路と
を備える、スイッチ。 - 前記第1のシリアルATAポートは、第1のホストタスクファイルを含む、請求項33に記載のスイッチ。
- 前記第2のシリアルATAポートは、第2のホストタスクファイルを含む、請求項34に記載のスイッチ。
- 前記第3のパラレルATAポートは、デバイスタスクファイルを含む、請求項35に記載のスイッチ。
- 前記第1、第2、および第3のポートは、レベル4ポートである、請求項36に記載のスイッチ。
- 前記デバイスは、ストレージユニットである、請求項33に記載のスイッチ。
- 前記スイッチは、企業システムで利用される、請求項33に記載のスイッチ。
- 前記アービトレーションおよびコントロール回路は、前記第1のおよび第2のホストユニットによる前記デバイスの同時アクセスを生じさせる、請求項33に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記デバイスから前記スイッチを介して前記第1または第2のホストユニットへ転送され、該情報は、該第1または第2のホストユニットによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が、該第1または第2のホストユニットによって受信される、請求項33に記載のスイッチ。
- 前記情報は、「identify drive response」と呼ばれる、請求項41に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項41に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記第1または第2のホストユニットから前記スイッチを介して前記デバイスへ転送され、該情報は、該デバイスによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が、該デバイスによって受信される、請求項33に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項44に記載のスイッチ。
- 前記アービトレーションおよびコントロール回路は、ホストを識別するために、ホストタグをデバイスタグにマッピングし、かつ、逆マッピングを行うためのTag/Sactive Mapping Circuitを含む、請求項45に記載のスイッチ。
- 前記第1または前記第2のホストのどちらか一方は、前記デバイスが待ち行列に入れるレガシーキューコマンドを送信する、請求項33に記載のスイッチ。
- 前記第1および第2のホストは、前記デバイスによる実行のために、ネイティブキューコマンドを送信する、請求項33に記載のスイッチ。
- 前記第1、第2、および第3のポートは、レベル3ポートであり、データフレームインフォメーションシステム(FIS)ファーストインファーストアウト(FIFO)および関連するFIFOコントロールは、該第1、第2、および第3のポートに接続され、外部から位置づけられる、請求項33に記載のスイッチ。
- a.第1のホストユニットに接続する第1のシリアルアドバンスドテクノロジーアタッチメント(ATA)ポートと、
b.第2のホストユニットに接続する第2のシリアルATAポートと、
c.デバイスに接続する第3のパラレルATAポートであって、該デバイスは、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドのキューイングをサポートし、該デバイスが該第1のホストユニットまたは該第2のホストユニットのどちから一方から待ち行列に入れることのできるコマンドの数を示すオリジナルのキュー深さの値を生成する、第3のパラレルATAポートと、
d.該第1のホストユニットまたは該第2のホストユニットのどちらか一方が、該デバイスによって実行されるコマンドを送信する場合に、該スイッチを介して、該第1のホストユニットまたは該第2のホストユニットの該デバイスに接続されるべき一方を選択するアービトレーションおよびコントロール回路であって、該アービトレーションおよびコントロール回路は、該オリジナルのキュー深さの値に応答して、該オリジナルのキュー深さの値を該オリジナルのキュー深さの値よりも小さい新しいキュー深さの値に変更し、その結果、該第1のホストユニットと該第2のホストユニットとの各々に対して、該オリジナルのキュー深さの値によって示されるコマンドの数よりも小さい数が割り当てられるが、該第1のホストユニットと該第2のホストユニットとによって待ち行列に入れられるコマンドの総数が該オリジナルのキュー深さの値と同じままになるようにし、それにより、該オリジナルのキュー深さの値を該第1のホストユニットと該第2のホストユニットとに対して該オリジナルのキュー深さの値よりも小さいとして偽って伝え、それにより、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドが該第1のホストユニットまたは該第2のホストユニットのどちらか一方による該オリジナルのキュー深さの値のオーバーランによって消失されることを防止する、アービトレーションおよびコントロール回路と
を備え、該第1または第2のホストユニットの一方が、該スイッチを介して該デバイスに接続される一方で、該第1または第2のホストユニットの他方が、該デバイスによって実行するためのATAコマンドを該スイッチに送信する、スイッチ。 - 前記スイッチは、シリアルATAスイッチである、請求項50に記載のスイッチ。
- 前記第1のシリアルATAポートは、第1のホストタスクファイルを含む、請求項50に記載のスイッチ。
- 前記第2のシリアルATAポートは、第2のホストタスクファイルを含む、請求項52に記載のスイッチ。
- 前記第3のパラレルATAポートは、デバイスタスクファイルを含む、請求項53に記載のスイッチ。
- 前記デバイスは、ストレージユニットである、請求項50に記載のスイッチ。
- 前記スイッチは、企業システムで利用される、請求項50に記載のスイッチ。
- 前記アービトレーション回路は、前記第1および第2のホストユニットによる前記デバイスの同時アクセスを生じさせる、請求項50に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記デバイスから前記スイッチを介して前記第1または第2のホストユニットへ転送され、該情報は、該第1または第2のホストユニットによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が、該第1または第2のホストユニットによって受信される、請求項50に記載のスイッチ。
- 前記情報は、「identify drive response」と呼ばれる、請求項58に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項58に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記第1または第2のホストユニットから前記スイッチを介して前記デバイスへ転送され、該情報は、該デバイスによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が該デバイスによって受信される、請求項50に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項60に記載のスイッチ。
- シリアルアドバンスドテクノロジーアタッチメント(ATA)リンクを介して、第1のホストユニット、第2のホストユニット、およびデバイスに接続可能なスイッチであって、該スイッチは、
a.第1のホストユニットに接続する第1のシリアルATAポートと、
b.第2のホストユニットに接続する第2のシリアルATAポートと、
c.デバイスに接続する第3のパラレルATAポートであって、該デバイスは、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドのキューイングをサポートし、該デバイスが該第1のホストユニットまたは該第2のホストユニットのどちから一方から待ち行列に入れることのできるコマンドの数を示すオリジナルのキュー深さの値を生成する、第3のパラレルATAポートと、
d.該第1または第2のホストユニットのどちらか一方が、該デバイスによって実行されるコマンドを送信する場合に、該スイッチを介して、該第1のホストユニットまたは該第2のホストユニットの該デバイスに接続されるべき一方を選択するアービトレーションおよびコントロール回路であって、該アービトレーションおよびコントロール回路は、該オリジナルのキュー深さの値に応答して、該オリジナルのキュー深さの値を該オリジナルのキュー深さの値よりも小さい新しいキュー深さの値に変更し、その結果、該第1のホストユニットと該第2のホストユニットとの各々に対して、該オリジナルのキュー深さの値によって示されるコマンドの数よりも小さい数が割り当てられるが、該第1のホストユニットと該第2のホストユニットとによって待ち行列に入れられるコマンドの総数が該オリジナルのキュー深さの値と同じままになるようにし、それにより、該オリジナルのキュー深さの値を該第1のホストユニットと該第2のホストユニットとに対して該オリジナルのキュー深さの値よりも小さいとして偽って伝え、それにより、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドが該第1のホストユニットまたは該第2のホストユニットのどちらか一方による該オリジナルのキュー深さの値のオーバーランによって消失されることを防止する、アービトレーションおよびコントロール回路と
を備え、該第1または第2のホストユニットの一方が、該デバイスに接続される一方で、該第1または第2のホストユニットの他方が、該デバイスによって実行するためのATAコマンドを該スイッチに送信する、スイッチ。 - 前記スイッチは、シリアルATAスイッチである、請求項63に記載のスイッチ。
- 前記第1のシリアルATAポートは、第1のホストタスクファイルを含む、請求項63に記載のスイッチ。
- 前記第2のシリアルATAポートは、第2のホストタスクファイルを含む、請求項65に記載のスイッチ。
- 前記第3のパラレルATAポートは、デバイスタスクファイルを含む、請求項66に記載のスイッチ。
- 前記デバイスは、ストレージユニットである、請求項63に記載のスイッチ。
- 前記スイッチは、企業システムで利用される、請求項63に記載のスイッチ。
- 前記アービトレーションおよびコントロール回路は、前記第1および第2のホストユニットによる前記デバイスの同時アクセスを生じさせる、請求項63に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記デバイスから前記スイッチを介して前記第1または第2のホストユニットへ転送され、該情報は、該第1または第2のホストユニットによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が、該第1または第2のホストユニットによって受信される、請求項63に記載のスイッチ。
- 前記情報は、「identify drive response」と呼ばれる、請求項71に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項71に記載のスイッチ。
- データ、コマンド、またはセットアップの形式の情報が、前記第1または第2のホストユニットから前記スイッチを介して前記デバイスへ転送され、該情報は、該デバイスによって受信される前に、該スイッチによって修正されることにより、該情報ではなく修正された情報が該デバイスによって受信される、請求項63に記載のスイッチ。
- 前記情報は、「Tag」と呼ばれる、請求項74に記載のスイッチ。
- 複数のホストユニットと該ホストユニット間でフレーム情報をルーティングするデバイスとの間に接続されるスイッチであって、
a.第1のシリアルアドバンスドテクノロジーアタッチメント(ATA)ポートであって、第1のホストユニットに接続され、ルートアウェアフレームインフォメーションストラクチャ(FIS)を含む、ポートと、
b.第2のホストユニットに接続され、ルートアウェアFISを含む、第2のシリアルATAポートと、
c.デバイスに接続され、ルートアウェアFISを含む、第3のシリアルATAポートであって、該デバイスは、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドのキューイングをサポートし、該デバイスが該第1のホストユニットまたは該第2のホストユニットのどちから一方から待ち行列に入れることのできるコマンドの数を示すオリジナルのキュー深さの値を生成する、第3のシリアルATAポートと、
d.該第1のホストユニットまたは第2のホストユニットのどちらか一方が、該デバイスにFISを送信する場合はいつでも、該スイッチを介して、該第1のホストユニットまたは該第2のホストユニットの該デバイスに接続されるべき一方を選択するアービトレーションおよびコントロール回路であって、さらに、該第1および第2のホストユニットならびに該デバイスのFISは、該第1または第2のホストユニットのどちらがオリジンおよび/またはデスティネーションホストであるかを識別することにより、FISのルーティングは、該スイッチに対してトランスペアレントであり、それにより、製造を安価にする該スイッチの設計の複雑性を低減させ、該アービトレーションおよびコントロール回路は、該オリジナルのキュー深さの値に応答して、該オリジナルのキュー深さの値を該オリジナルのキュー深さの値よりも小さい新しいキュー深さの値に変更し、その結果、該第1のホストユニットと該第2のホストユニットとの各々に対して、該オリジナルのキュー深さの値によって示されるコマンドの数よりも小さい数が割り当てられるが、該第1のホストユニットと該第2のホストユニットとによって待ち行列に入れられるコマンドの総数が該オリジナルのキュー深さの値と同じままになるようにし、それにより、該オリジナルのキュー深さの値を該第1のホストユニットと該第2のホストユニットとに対して該オリジナルのキュー深さの値よりも小さいとして偽って伝え、それにより、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドが該第1のホストユニットまたは該第2のホストユニットのどちらか一方による該オリジナルのキュー深さの値のオーバーランによって消失されることを防止する、アービトレーションおよびコントロール回路と
を備える、スイッチ。 - 前記デバイスは、ストレージユニットである、請求項76に記載のスイッチ。
- 前記スイッチは、企業システムで利用される、請求項76に記載のスイッチ。
- 前記アービトレーションおよびコントロール回路は、前記第1のおよび第2のホストユニットによる前記デバイスの同時アクセスを生じさせる、請求項76に記載のスイッチ。
- 1ビットが、どちらのホストが前記FISのオリジンまたはデスティネーションであるかを示すために利用される、請求項76に記載のスイッチ。
- 前記第1、第2、および第3のポートは、レイヤ2ポートである、請求項76に記載のスイッチ。
- 前記スイッチは、「route aware」ルーティングを提供する、請求項76に記載のスイッチ。
- 前記スイッチは、レイヤ2の間で切り替わり、デュアルポートファーストインファーストアウト(FIFO)を含む、請求項76に記載のスイッチ。
- スイッチであって、
a.第1のシリアルアドバンスドテクノロジーアタッチメント(ATA)ポートであって、第1のホストユニットに接続され、ルートアウェアフレームインフォメーションストラクチャ(FIS)を含む、ポートと、
b.第2のホストユニットに接続され、ルートアウェアFISを含む、第2のシリアルATAポートと、
c.デバイスに接続され、ルートアウェアFISを含む、第3のシリアルATAポートであって、該スイッチは、該第1および第2のホストユニットならびに該デバイスの間のフレーム情報をルーティングし、該デバイスは、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドのキューイングをサポートし、該デバイスが該第1のホストユニットまたは該第2のホストユニットのどちから一方から待ち行列に入れることのできるコマンドの数を示すオリジナルのキュー深さの値を生成する、第3のシリアルATAポートと、
d.該第1のホストユニットまたは第2のホストユニットのどちらか一方が、該デバイスにFISを送信する場合、該スイッチを介して、該第1のホストユニットまたは該第2のホストユニットの該デバイスに接続されるべき一方を選択するアービトレーションおよびコントロール回路であって、該アービトレーションおよびコントロール回路は、該オリジナルのキュー深さの値に応答して、該オリジナルのキュー深さの値を該オリジナルのキュー深さの値よりも小さい新しいキュー深さの値に変更し、その結果、該第1のホストユニットと該第2のホストユニットとの各々に対して、該オリジナルのキュー深さの値によって示されるコマンドの数よりも小さい数が割り当てられるが、該第1のホストユニットと該第2のホストユニットとによって待ち行列に入れられるコマンドの総数が該オリジナルのキュー深さの値と同じままになるようにし、それにより、該オリジナルのキュー深さの値を該第1のホストユニットと該第2のホストユニットとに対して該オリジナルのキュー深さの値よりも小さいとして偽って伝え、それにより、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドが該第1のホストユニットまたは該第2のホストユニットのどちらか一方による該オリジナルのキュー深さの値のオーバーランによって消失されることを防止する、アービトレーションおよびコントロール回路と
を備え、該第1または第2のホストユニットの一方が、該スイッチを介して、該デバイスに接続される一方、該第1または第2のホストユニットの他方が、該デバイスまでルーティングする該スイッチにFISを送信し、さらに、該第1および第2のホストユニットならびに該デバイスのFISは、該第1または第2のホストユニットのどちらがオリジンおよび/またはデスティネーションホストであるかを識別することにより、FISのルーティングは、該スイッチに対してトランスペアレントであり、それにより、製造を安価にする該スイッチの設計の複雑性を低減させる、スイッチ。 - 前記スイッチは、シリアルATAスイッチである、請求項84に記載のスイッチ。
- 前記デバイスは、格納ユニットである、請求項84に記載のスイッチ。
- 前記スイッチは、企業システムで利用される、請求項84に記載のスイッチ。
- 前記アービトレーションおよびコントロールは、前記第1および前記第2のホストユニットによるデバイスの同時アクセスを生じさせる、請求項84に記載のスイッチ。
- 第1のホストユニットと第2のホストユニットとデバイスとの間でフレーム情報をルーティングするために、シリアルアドバンスドテクノロジーアタッチメント(ATA)リンクを介して、第1のホストユニット、第2のホストユニット、およびデバイスに接続可能なスイッチであって、該スイッチは、
a.第1のホストユニットとの接続のために、ルートアウェアフレームインフォメーションストラクチャ(FIS)を含む第1のシリアルATAポートと、
b.第2のホストユニットとの接続のために、ルートアウェアFISを含む第2のシリアルATAポートと、
c.デバイスとの接続のために、ルートアウェアFISを含む第3のシリアルATAポートであって、該デバイスは、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドのキューイングをサポートし、該デバイスが該第1のホストユニットまたは該第2のホストユニットのどちから一方から待ち行列に入れることのできるコマンドの数を示すオリジナルのキュー深さの値を生成する、第3のシリアルATAポートと、
d.該第1または第2のホストユニットが該デバイスにFISを送信した場合に該スイッチを通じて該デバイスに結合されるべき該第1および第2のホストユニットの1つを選択するアービトレーションおよびコントロール回路であって、該アービトレーションおよびコントロール回路は、該オリジナルのキュー深さの値に応答して、該オリジナルのキュー深さの値を該オリジナルのキュー深さの値よりも小さい新しいキュー深さの値に変更し、その結果、該第1のホストユニットと該第2のホストユニットとの各々に対して、該オリジナルのキュー深さの値によって示されるコマンドの数よりも小さい数が割り当てられるが、該第1のホストユニットと該第2のホストユニットとによって待ち行列に入れられるコマンドの総数が該オリジナルのキュー深さの値と同じままになるようにし、それにより、該オリジナルのキュー深さの値を該第1のホストユニットと該第2のホストユニットとに対して該オリジナルのキュー深さの値よりも小さいとして偽って伝え、それにより、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドが該第1のホストユニットまたは該第2のホストユニットのどちらか一方による該オリジナルのキュー深さの値のオーバーランによって消失されることを防止する、アービトレーションおよびコントロール回路と
を備え、該第1または第2のホストユニットの一方が、該デバイスに接続される一方で、該第1または第2のホストユニットの他方が、該デバイスにルーティングするための該スイッチにFISを送信し、さらに、該第1および第2のホストユニットならびにデバイスのFISは、該第1または第2のホストユニットのどちらの一方が、オリジンおよび/またはデスティネーションホストであるかを識別することにより、FISのルーティングは、該スイッチに対してトランスペアレントであり、それにより、製造を安価にする該スイッチの設計の複雑性を低減させる、スイッチ。 - 前記スイッチは、シリアルATAスイッチである、請求項89に記載のスイッチ。
- 前記デバイスは、ストレージユニットである、請求項89に記載のスイッチ。
- 前記スイッチは、企業システムで利用される、請求項89に記載のスイッチ。
- 前記アービトレーションおよびコントロール回路は、前記第1のおよび第2のホストユニットによる前記デバイスの同時アクセスを生じさせる、請求項89に記載のスイッチ。
- シリアルアドバンスドテクノロジーアタッチメント(ATA)スイッチを介して、複数のホストユニットとデバイスとの間で通信する方法であって、該スイッチは、フレーム情報をルーティングするシリアルATAリンクを利用して、該複数のホストユニットおよび該デバイスに接続され、該方法は、
a.該スイッチとの接続のために、ルートアウェアフレームインフォメーションストラクチャ(FIS)を含む第1のシリアルATAポートを、第1のホストユニットに接続するステップと、
b.該スイッチとの接続のために、ルートアウェアFISを含む第2のシリアルATAポートを、第2のホストユニットに接続するステップと、
c.デバイスとの接続のために、ルートアウェアFISを含む第3のシリアルATAポートを接続するステップと、
d.該第1および第2のホストユニットならびに該デバイスの間でアービトレーションするステップと、
e.該第1または第2のホストユニットのどちらか一方が、該デバイスによって実行されるコマンドを送信する場合、該スイッチを介して該デバイスに接続するために、該第1または第2のホストユニットの一方を選択するステップと、
f.該第1または第2のホストユニットの該選択された一方に該デバイスを接続するステップと、
g.該第1または第2のホストユニットの該選択された一方が、該デバイスに接続されている間に、該第1または第2のホストユニットの他方が、該デバイスまでルーティングするために、該スイッチにFISを送信するステップと、
h.該デバイスによって生成されたオリジナルのキュー深さをアービトレーションおよびコントロール回路によってインターセプトすることであって、該オリジナルのキュー深さの値は、該デバイスが該第1のホストユニットまたは該第2のホストユニットのどちらか一方から待ち行列に入れることのできるコマンドの数を表す、ことと、
i.該アービトレーションおよびコントロール回路によって該オリジナルのキュー深さの値を該オリジナルのキュー深さの値よりも小さい新しいキュー深さの値に変更することであって、その結果、該第1のホストユニットと該第2のホストユニットとの各々に対して、該オリジナルのキュー深さの値によって示されるコマンドの数よりも小さい数が割り当てられるが、該第1のホストユニットと該第2のホストユニットとによって待ち行列に入れられるコマンドの総数が該オリジナルのキュー深さの値と同じままになるようにし、それにより、該オリジナルのキュー深さの値を該第1のホストユニットと該第2のホストユニットとに対して該オリジナルのキュー深さの値よりも小さいとして偽って伝え、それにより、該第1のホストユニットと該第2のホストユニットとによって送信されたコマンドが該第1のホストユニットまたは該第2のホストユニットのどちらか一方による該オリジナルのキュー深さの値のオーバーランによって消失されることを防止する、ことと、
を包含し、送信するステップg.の間、該第1および第2のホストユニットならびにデバイスのFISは、該第1または第2のホストユニットのどちらの一方が、オリジンおよび/またはデスティネーションホストであるかを識別することにより、FISのルーティングは、該スイッチに対してトランスペアレントであり、それにより、製造を安価にする該スイッチの設計の複雑性を低減させる、方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47785703P | 2003-06-11 | 2003-06-11 | |
US10/775,488 US7523235B2 (en) | 2003-06-11 | 2004-02-09 | Serial Advanced Technology Attachment (SATA) switch |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005327230A JP2005327230A (ja) | 2005-11-24 |
JP4599496B2 true JP4599496B2 (ja) | 2010-12-15 |
Family
ID=33303338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004174862A Expired - Fee Related JP4599496B2 (ja) | 2003-06-11 | 2004-06-11 | SATA(SerialAdvancedTechnologyAttachment)スイッチ |
Country Status (6)
Country | Link |
---|---|
US (2) | US7523235B2 (ja) |
EP (1) | EP1486880B1 (ja) |
JP (1) | JP4599496B2 (ja) |
AT (1) | ATE495496T1 (ja) |
DE (1) | DE602004030972D1 (ja) |
TW (1) | TWI318738B (ja) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPR824301A0 (en) * | 2001-10-15 | 2001-11-08 | Silverbrook Research Pty. Ltd. | Methods and systems (npw001) |
US7346135B1 (en) | 2002-02-13 | 2008-03-18 | Marvell International, Ltd. | Compensation for residual frequency offset, phase noise and sampling phase offset in wireless networks |
US7263153B2 (en) | 2002-10-09 | 2007-08-28 | Marvell International, Ltd. | Clock offset compensator |
US7319705B1 (en) | 2002-10-22 | 2008-01-15 | Marvell International Ltd. | Programmable pre-emphasis circuit for serial ATA |
US7246192B1 (en) | 2003-01-10 | 2007-07-17 | Marvell International Ltd. | Serial/parallel ATA controller and converter |
US7360010B2 (en) * | 2003-04-14 | 2008-04-15 | Copan Systems, Inc. | Method and apparatus for storage command and data router |
US7523236B1 (en) * | 2003-06-11 | 2009-04-21 | Lsi Corporation | Switching serial advanced technology attachment (SATA) to a parallel interface |
US7523235B2 (en) * | 2003-06-11 | 2009-04-21 | Lsi Corporation | Serial Advanced Technology Attachment (SATA) switch |
US7885282B2 (en) * | 2003-07-24 | 2011-02-08 | Seagate Technology Llc | Dynamic control of physical layer quality on a serial bus |
US7496691B2 (en) * | 2003-07-28 | 2009-02-24 | Lsi Corporation | Standard ATA queuing automation in serial ATA interface for creating a frame information structure (FIS) corresponding to command from transport layer |
US8930583B1 (en) | 2003-09-18 | 2015-01-06 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for controlling data transfer in a serial-ATA system |
US20050223141A1 (en) * | 2004-03-31 | 2005-10-06 | Pak-Lung Seto | Data flow control in a data storage system |
US7447826B2 (en) * | 2004-03-31 | 2008-11-04 | Intel Corporation | Receive buffer in a data storage system |
US7515528B2 (en) * | 2004-03-31 | 2009-04-07 | Intel Corporation | Host fail-over switch presence detection compatible with existing protocol and host controllers |
TWI269968B (en) | 2004-04-22 | 2007-01-01 | Mediatek Inc | Method for processing the noise in the SATA |
US7865803B2 (en) | 2004-04-30 | 2011-01-04 | Mediatek Inc. | Method for processing noise interference in data accessing device with serial advanced technology attachment (SATA) interface |
TWI252471B (en) * | 2004-04-30 | 2006-04-01 | Mediatek Inc | Method and circuit for reducing SATA data transmission errors by adjusting the period of sending align primitive |
TWI242716B (en) * | 2004-04-30 | 2005-11-01 | Mediatek Inc | Method for processing interference of noise |
US7958292B2 (en) | 2004-06-23 | 2011-06-07 | Marvell World Trade Ltd. | Disk drive system on chip with integrated buffer memory and support for host memory access |
US7366802B2 (en) * | 2004-10-29 | 2008-04-29 | Intel Corporation | Method in a frame based system for reserving a plurality of buffers based on a selected communication protocol |
US7461192B2 (en) | 2004-12-15 | 2008-12-02 | Rambus Inc. | Interface for bridging out-of-band information and preventing false presence detection of terminating devices |
US7853741B2 (en) * | 2005-04-11 | 2010-12-14 | Emulex Design & Manufacturing Corporation | Tunneling SATA targets through fibre channel |
US20060277331A1 (en) * | 2005-05-18 | 2006-12-07 | Priborsky Anthony L | Communication using bit replication |
US8135869B2 (en) * | 2005-06-30 | 2012-03-13 | Intel Corporation | Task scheduling to devices with same connection address |
US7970953B2 (en) * | 2005-06-30 | 2011-06-28 | Intel Corporation | Serial ATA port addressing |
US7747788B2 (en) * | 2005-06-30 | 2010-06-29 | Intel Corporation | Hardware oriented target-side native command queuing tag management |
US7805543B2 (en) * | 2005-06-30 | 2010-09-28 | Intel Corporation | Hardware oriented host-side native command queuing tag management |
US7752363B2 (en) * | 2005-07-04 | 2010-07-06 | Mediatek Inc. | Signal generating circuit and related method for activating physical channel between host and peripheral device |
US8127059B1 (en) * | 2005-09-02 | 2012-02-28 | Pmc-Sierra Us, Inc. | Apparatus for interconnecting hosts with storage devices |
US7739432B1 (en) | 2005-09-02 | 2010-06-15 | Pmc-Sierra, Inc. | Command switching for multiple initiator access to a SATA drive |
US7676604B2 (en) * | 2005-11-22 | 2010-03-09 | Intel Corporation | Task context direct indexing in a protocol engine |
US7634692B2 (en) * | 2006-02-10 | 2009-12-15 | Mediatek Inc. | SATA primitive prediction and correction |
US7941575B2 (en) * | 2006-03-03 | 2011-05-10 | Lecroy Corporation | Pause request processing for data traffic modification |
US7792137B2 (en) * | 2006-07-05 | 2010-09-07 | Abidanet, Llc | Self-organized and self-managed ad hoc communications network |
US7761657B2 (en) | 2006-07-10 | 2010-07-20 | Hitachi, Ltd. | Storage control system, control method for storage control system, port selector, and controller |
US7761642B2 (en) * | 2006-12-22 | 2010-07-20 | Lsi Corporation | Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging |
JP4400650B2 (ja) * | 2007-05-23 | 2010-01-20 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
US20090265199A1 (en) * | 2008-04-21 | 2009-10-22 | Computer Associates Think, Inc. | System and Method for Governance, Risk, and Compliance Management |
US20100250791A1 (en) * | 2009-03-27 | 2010-09-30 | Lsi Corporation | Low power physical layer for SATA and SAS transceivers |
US8402196B2 (en) * | 2010-03-04 | 2013-03-19 | Xyratex Technology Limited | Storage assembly, a physical expander and a method |
US8275925B2 (en) * | 2010-08-25 | 2012-09-25 | Lsi Corporation | Methods and apparatus for improved serial advanced technology attachment performance |
US8661163B2 (en) * | 2011-08-22 | 2014-02-25 | Apple Inc. | Tag allocation for queued commands across multiple devices |
JP6063146B2 (ja) * | 2012-04-27 | 2017-01-18 | 株式会社バッファローメモリ | 外部記憶装置 |
US9116694B2 (en) * | 2012-09-26 | 2015-08-25 | Intel Corporation | Efficient low power exit sequence for peripheral devices |
US20150186068A1 (en) * | 2013-12-27 | 2015-07-02 | Sandisk Technologies Inc. | Command queuing using linked list queues |
TWI587214B (zh) * | 2016-04-21 | 2017-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置、其控制單元及其任務排序方法 |
JP2019101487A (ja) * | 2017-11-28 | 2019-06-24 | ルネサスエレクトロニクス株式会社 | ストレージ装置及びストレージシステム |
US10809926B2 (en) | 2018-02-05 | 2020-10-20 | Microsoft Technology Licensing, Llc | Server system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087898A1 (en) * | 2000-12-28 | 2002-07-04 | Bormann David S. | Method and apparatus facilitating direct access to a serial ATA device by an autonomous subsystem |
JP2002529804A (ja) * | 1998-06-30 | 2002-09-10 | イーエムシー コーポレーション | ネットワークに接続された記憶システムのデータ管理を提供する方法および装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4821170A (en) * | 1987-04-17 | 1989-04-11 | Tandem Computers Incorporated | Input/output system for multiprocessors |
US5440752A (en) | 1991-07-08 | 1995-08-08 | Seiko Epson Corporation | Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU |
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US6388590B1 (en) * | 1999-09-24 | 2002-05-14 | Oak Technology, Inc. | Apparatus and method for transmitting data serially for use with an advanced technology attachment packet interface (atapi) |
US6247100B1 (en) | 2000-01-07 | 2001-06-12 | International Business Machines Corporation | Method and system for transmitting address commands in a multiprocessor system |
US6763402B2 (en) * | 2000-05-25 | 2004-07-13 | Bnl Technologies, Inc. | Data storage subsystem |
US20020191603A1 (en) * | 2000-11-22 | 2002-12-19 | Yeshik Shin | Method and system for dynamic segmentation of communications packets |
TW507896U (en) | 2001-06-26 | 2002-10-21 | Feiya Technology Co Ltd | Hot plug device for ATA interface |
US6854045B2 (en) * | 2001-06-29 | 2005-02-08 | Intel Corporation | Hardware emulation of parallel ATA drives with serial ATA interface |
US20030033465A1 (en) | 2001-08-08 | 2003-02-13 | Cheng-Chih Chien | Hot-swap device applicable to ATA interface |
US6961787B2 (en) * | 2002-01-07 | 2005-11-01 | Intel Corporation | Method and apparatus for updating task files |
JP4212811B2 (ja) * | 2002-01-10 | 2009-01-21 | 富士通株式会社 | 情報処理システム、インタフェース装置、情報処理装置、情報記憶装置 |
US6961813B2 (en) | 2002-06-21 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | System and method for providing multi-initiator capability to an ATA drive |
US6735650B1 (en) | 2002-08-30 | 2004-05-11 | Western Digital Technologies, Inc. | Disk drive and method for data transfer initiated by nonstandard disk-drive commands on a serial ATA interface that only supports standard ATA disk-drive commands |
US7523236B1 (en) * | 2003-06-11 | 2009-04-21 | Lsi Corporation | Switching serial advanced technology attachment (SATA) to a parallel interface |
US7523235B2 (en) * | 2003-06-11 | 2009-04-21 | Lsi Corporation | Serial Advanced Technology Attachment (SATA) switch |
DE10355583A1 (de) | 2003-11-28 | 2005-07-07 | Advanced Micro Devices, Inc., Sunnyvale | Gemeinsame Nutzung eines Speichers in einer Zentralsteuerung |
US20050198425A1 (en) | 2004-03-05 | 2005-09-08 | Wang Liang-Yun | Combined optical storage and flash card reader using single ide or sata port and method thereof |
US7676613B2 (en) | 2004-08-03 | 2010-03-09 | Lsi Corporation | Methods and structure for assuring correct data order in SATA transmissions over a SAS wide port |
US8301810B2 (en) | 2004-12-21 | 2012-10-30 | Infortrend Technology, Inc. | SAS storage virtualization controller, subsystem and system using the same, and method therefor |
TW200629072A (en) | 2005-02-01 | 2006-08-16 | Sunplus Technology Co Ltd | Bridge system for hetero-serial interfaces |
US20060271739A1 (en) | 2005-05-24 | 2006-11-30 | Shu-Fang Tsai | Management of transfer of commands |
-
2004
- 2004-02-09 US US10/775,488 patent/US7523235B2/en active Active
- 2004-05-17 TW TW093113828A patent/TWI318738B/zh not_active IP Right Cessation
- 2004-05-26 EP EP04253093A patent/EP1486880B1/en not_active Not-in-force
- 2004-05-26 DE DE602004030972T patent/DE602004030972D1/de active Active
- 2004-05-26 AT AT04253093T patent/ATE495496T1/de not_active IP Right Cessation
- 2004-06-11 JP JP2004174862A patent/JP4599496B2/ja not_active Expired - Fee Related
-
2009
- 2009-03-13 US US12/404,257 patent/US8266353B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002529804A (ja) * | 1998-06-30 | 2002-09-10 | イーエムシー コーポレーション | ネットワークに接続された記憶システムのデータ管理を提供する方法および装置 |
US20020087898A1 (en) * | 2000-12-28 | 2002-07-04 | Bormann David S. | Method and apparatus facilitating direct access to a serial ATA device by an autonomous subsystem |
Also Published As
Publication number | Publication date |
---|---|
US7523235B2 (en) | 2009-04-21 |
EP1486880A2 (en) | 2004-12-15 |
TW200508866A (en) | 2005-03-01 |
JP2005327230A (ja) | 2005-11-24 |
US20090177804A1 (en) | 2009-07-09 |
ATE495496T1 (de) | 2011-01-15 |
DE602004030972D1 (de) | 2011-02-24 |
TWI318738B (en) | 2009-12-21 |
US8266353B2 (en) | 2012-09-11 |
EP1486880B1 (en) | 2011-01-12 |
EP1486880A3 (en) | 2006-09-20 |
US20040252716A1 (en) | 2004-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4599496B2 (ja) | SATA(SerialAdvancedTechnologyAttachment)スイッチ | |
US8200870B2 (en) | Switching serial advanced technology attachment (SATA) to a parallel interface | |
US8156270B2 (en) | Dual port serial advanced technology attachment (SATA) disk drive | |
US7953074B2 (en) | Apparatus and method for port polarity initialization in a shared I/O device | |
US7917658B2 (en) | Switching apparatus and method for link initialization in a shared I/O environment | |
US7698483B2 (en) | Switching apparatus and method for link initialization in a shared I/O environment | |
US7617333B2 (en) | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture | |
US7219183B2 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
US7502370B2 (en) | Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture | |
US7512717B2 (en) | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture | |
US6715023B1 (en) | PCI bus switch architecture | |
US7174413B2 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
US7188209B2 (en) | Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets | |
US20050172041A1 (en) | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture | |
US20040268015A1 (en) | Switching apparatus and method for providing shared I/O within a load-store fabric | |
KR100934227B1 (ko) | 개방형 시리얼 정합 방식을 이용한 메모리 스위칭 컨트롤장치, 그의 동작 방법 및 이에 적용되는 데이터 저장 장치 | |
JP2020113137A (ja) | ストレージ装置 | |
US7370127B2 (en) | High-speed internal bus architecture for an integrated circuit | |
CN100433623C (zh) | 串行高级技术附件(sata)交换机 | |
JP2007282187A (ja) | 情報処理装置、情報処理システムおよびデータ通信方法 | |
JP2005332316A (ja) | データ分配装置、データ転送装置及び画像処理装置 | |
JP4271558B2 (ja) | データ転送システム、画像形成システム及びデータ転送用プログラム | |
JP2009163633A (ja) | 情報処理装置およびデータ通信方法 | |
JP3645696B2 (ja) | Pciバス・s/tインタフェース間接続装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100301 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100531 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100603 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100701 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100720 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100816 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100818 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100818 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100816 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20100818 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131008 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D03 |
|
LAPS | Cancellation because of no payment of annual fees |