(57)【特許請求の範囲】
【請求項１】
パケットを処理するための方法であって、
トランスポート層パケットをある数のリンク制御層パケットに分解することであって、前記リンク制御層パケットはそれぞれ、関連付けられたシーケンス番号を有する、分解することと、
前記関連付けられたシーケンス番号を前記ある数のリンク制御層パケットのそれぞれのヘッダのｘビットフィールドのうちのｘ−１ビットを用いて、前記ｘビットフィールド内にアペンドすることと、
複数の周辺デバイスのための共通物理接続を経由して、前記ある数のリンク制御層パケットを通信することと、
前記通信の間、未処理リンク制御層パケットの数を、前記リンク制御層パケットの２ｘ／２個以下に制限することと、
を備え、
前記未処理パケットの数を制限することは、前記ｘビットフィールドのうちの前記ｘ−１ビットを除く残りの１ビットを、そのパケットが再転送要求されたものであることを表す再転送要求ビットとして使用し、シーケンス番号として使用する前記ｘ−１ビットにより表される２ｘ／２個に前記未処理パケットの数を制限することを含む、
ことを特徴とする方法。
【請求項２】
前記方法は、少なくとも２ｘ個のリンク制御層パケットを通信後、前記シーケンス番号をリサイクルすることを含み、
前記シーケンス番号をリサイクルすることは、前記シーケンス番号を少なくとも２つのリンク制御層パケットにアペンドすることを含む、請求項１に記載の方法。
【請求項３】
前記方法は、前記特定のリンク制御層パケットの元の転送が、否定応答される、または確認応答されない場合、特定のリンク制御層パケットを再通信することを含む、請求項１に記載の方法。
【請求項４】
前記方法は、各リンク制御層パケットと関連付けられた前記それぞれのシーケンス番号に関して、前記ある数のリンク制御層パケットをシーケンスから外れて通信することを含む、請求項１に記載の方法。
【請求項５】
前記トランスポート層パケットは、ヘッダと、ペイロードと、を含み、
前記トランスポート層パケットを分解することは、前記ヘッダと前記ペイロードとの間の区別に関わらず、前記ヘッダおよび前記ペイロードをリンク制御層パケットに分解することを含む、請求項１に記載の方法。
【請求項６】
パケット分解およびリンク制御のために構成される、デバイスであって、
データ入力ポートと、
データ出力ポートと、
前記データ入力ポートおよび前記データ出力ポートに連結される、制御回路であって、
トランスポート層パケットを、ある数のリンク制御層パケットであって、それぞれが関連付けられたシーケンス番号を有するリンク制御層パケットに分解し、
前記関連付けられたシーケンス番号を前記ある数のリンク制御層パケットのそれぞれのヘッダのｘビットフィールドのうちのｘ−１ビットを用いて、前記ｘビットフィールド内にアペンドし、
前記データ出力ポートを経由して、前記ある数のリンク制御層パケットを通信し、
前記データ入力ポートを経由して受信した確認応答の数に応じて、前記データ出力ポートを経由して通信される前記リンク制御層パケットの数を制限し、
未処理リンク制御層パケットの数を、シーケンス番号として使用する前記ｘ−１ビットにより表される２ｘ／２個以下に制限し、
前記ｘビットフィールドのうちの前記ｘ−１ビットを除く残りの１ビットを、そのパケットが再転送要求されたものであることを表す再転送要求ビットとして使用する
ように構成される制御回路と、
を備えるデバイス。
【請求項７】
前記制御回路は、前記データ入力ポートを経由して受信されたある数の確認応答を監視するように構成され、特定の確認応答は、特定のリンク制御層パケットに対応する、請求項６に記載のデバイス。
【請求項８】
前記制御回路は、
前記特定の確認応答が、前記ある数のリンク制御層パケットのうちの前記特定の１つが、正常に通信されたことを指示した後、ある特定のシーケンス番号をリサイクルする、ように構成される、請求項６に記載のデバイス。
【請求項９】
前記制御回路は、宛先アドレスを前記ある数のリンク制御層パケットのそれぞれに割り当てるように構成され、前記宛先アドレスは、前記トランスポート層パケットのヘッダと関連付けられた宛先アドレスに対応する、請求項６に記載のデバイス。
【請求項１０】
前記宛先アドレスは、デバイス識別（ＤＩＤ）と、論理ユニット番号（ＬＵＮ）と、を含む、宛先アドレスの群のうちの１つ以上を含む、請求項９に記載のデバイス。
【請求項１１】
前記制御回路は、
前記トランスポート層パケットと関連付けられた優先度と、
前記トランスポート層パケットが前記制御回路によって受信された順序と、
を含む群のうちの１つ以上に従って、前記トランスポート層パケットを分解するように構成される、請求項６に記載のデバイス。
【請求項１２】
前記制御回路は、別のトランスポート層パケットを前記データ入力ポートから受信したある他の数のリンク制御層パケットから再構築するように構成される、請求項６に記載のデバイス。
【請求項１３】
前記トランスポート層パケットは、第１のエラー検出構成要素を含み、
前記制御回路は、前記ある数のリンク制御層パケットのそれぞれのための第２のエラー検出構成要素を生成するように構成され、前記第２のエラー検出構成要素は、前記第１のエラー検出構成要素と無関係である、請求項１２に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、電子デバイスにおけるパケット処理、パケット処理システム、およびパケット処理方法に関し、より具体的には、パケット分解／再構成およびリンク制御に関する。
【背景技術】
【０００２】
メモリデバイスは、一般的には、種々の他の電子デバイスの中でもとりわけ、コンピュータ、携帯情報端末（ＰＤＡ）、デジタルカメラ、および携帯電話内の内部半導体集積回路および／または外部取り外し可能なデバイスとして提供される。数ある中でも、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、相変化ランダムアクセスメモリ（ＰＣＲＡＭ）、およびフラッシュメモリを含む、多くの異なる種類のメモリが存在する。
【０００３】
システムは、ホストと、ホストシステムメモリと、メモリデバイス等のある数の周辺デバイスと、を含むことができる。ホストは、ある数のプロセッサと、ホストコントローラと、ホストコントローラ上に位置するホストコントローラメモリと、ある数の内部メモリデバイスとのうちの１つ以上を含む、制御回路を有することができる。ホストは、デバイスからホストシステムへのデータを受信する、またはホストシステムから周辺デバイスにデータを転送する等、周辺デバイスと通信し、周辺デバイス上で動作を行うことができる。データの受信および／または転送を制御するコマンドは、ホストシステムによって発行することができる。
【０００４】
データは、通信され、例えば、パケットのフローを使用して、ホストと１つ以上の周辺デバイスとの間で転送および／または受信されてもよい。そのようなパケットは、ホストおよび１つ以上の周辺デバイスの両方が理解する、トランスポート層プロトコル、例えば、通信／トランスポート層プロトコルによって生成されてもよい。そのようなトランスポート層パケットの生成は、パケットの通信の方法と無関係とすることができる。ホストおよび特定の周辺デバイスが、直接接続される場合、トランスポート層プロトコルによって生成されるデータフローパケットは、ホストと特定の周辺デバイスとの間で直接通信することができる。しかしながら、２つ以上の周辺デバイスが、共通物理接続を経由して、ホストに接続される場合、リンク制御層が、ホストと周辺デバイスとの間の同時データ通信のためのフロー制御を提供するために利用されてもよい。
【図面の簡単な説明】
【０００５】
【図１】本開示の１つ以上の実施形態による、コンピューティングシステムのブロック図である。
【図２】本開示の１つ以上の実施形態による、コンピューティングシステムのブロック図である。
【図３Ａ】本開示の１つ以上の実施形態による、インターフェースのための階層化アーキテクチャのブロック図である。
【図３Ｂ】本開示の１つ以上の実施形態による、階層化アーキテクチャ内のある数のパケットのブロック図である。
【発明を実施するための形態】
【０００６】
本開示は、パケット処理のための方法、デバイス、およびシステムを含む。パケット処理のための一方法実施形態は、トランスポート層パケットをある数のリンク制御層パケットに分解することであって、リンク制御層パケットはそれぞれ、関連付けられたシーケンス番号を有する、分解することと、複数の周辺デバイスのための共通物理接続を経由してある数のリンク制御層パケットを通信することと、通信の間、ある数の未処理リンク制御層パケットを制限することと、を含む。
【０００７】
本開示の以下の発明を実施するための形態では、本明細書の一部を形成し、その中で、本開示の１つ以上の実施形態がどのように実践されてもよいかを実施例として示す、添付の図面を参照する。これらの実施形態は、当業者が本開示の実施形態を実践することを可能にするように十分な詳細が説明され、他の実施形態が利用されてもよいこと、および本開示の範囲を逸脱することなく、プロセス、電気的、および／または構造的変更が行われてもよいことが理解される。本明細書に使用される場合、指定子「Ｎ」は、特に図面の参照番号に関して、そのように指定されるいくつかの特定の特徴を、本開示の１つ以上の実施形態とともに含むことができることを示す。設計者は、同一または異なる数の特定の特徴を表すことができる。
【０００８】
本明細書の図面は、上位の桁（単数または複数）は、図面の図番号に対応し、残りの桁は、図面の中の要素または構成要素を識別するという、番号規則に従う。異なる図面間で同様な要素または構成要素は、同様な数字の使用によって識別されてもよい。例えば、１１０は、図１では、要素「１０」を参照してもよく、類似要素は、図２では、２１０として参照されてもよい。理解されるように、本明細書の種々の実施形態に示される要素は、本開示のいくつかの追加の実施形態を提供するように、追加、交換、および／または排除することができる。加えて、理解されるように、図面の中に提供される要素の比率および相対スケールは、本開示の実施形態を図示することを目的とし、制限の意味で解釈されてはならない。
【０００９】
図１は、本開示の１つ以上の実施形態による、システム１００のブロック図を例証する。図１では、ホスト１１０が示される。１つ以上の実施形態では、ホストは、他のコンピューティングデバイスの種類の中でもとりわけ、パーソナルコンピュータ等のコンピューティングデバイスとすることができる。ホスト１１０の実施例として、他の実施例の中でもとりわけ、ラップトップコンピュータ、パーソナルコンピュータ、携帯電話、デジタルカメラ、デジタル記録および再生デバイス、ＰＤＡ、メモリカードリーダ、およびインターフェースハブが挙げられる。
【００１０】
図１のホスト１１０は、図示されない他のホスト要素の中でもとりわけ、ホスト制御回路１０２を含む。ホスト制御回路１０２は、プロセッサ、ホストコントローラ、および／またはホストメモリのうちの１つ以上を含むことができる。１つ以上の実施形態では、ホスト制御回路１０２は、ある数の周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎとホスト１１０等の別のデバイスとの間で情報を通信するために使用することができる。当業者は、「プロセッサ」が、並列処理システム、ある数のコプロセッサ等の１つ以上のプロセッサを意図することができることを理解するであろう。
【００１１】
ホスト１１０は、ホスト制御回路に組み込むことができる、トランスポート層、例えば、通信／トランスポート層、リンク制御層、および／または物理層、を含むことができる。ホスト制御回路１０２は、周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎに連結することができる。いくつかの実施形態では、ホスト制御回路１０２は、プロセッサ介入を伴わずに、トランスポート、リンク、および物理層アクティビティを管理し、プロセッサ介入を伴わずに、コマンド再試行を管理することができる。当業者が理解するように、トランスポート層は、種々の規格によって呼ばれるトランザクション層と類似とすることができる。
【００１２】
１つ以上の実施形態では、ホスト制御回路１０２は、標準化インターフェースに連結することができる。例えば、ホスト制御回路１０２は、他のインターフェースの中でもとりわけ、ユニバーサル・フラッシュ・ストレージ（ＵＦＳ）規格に従って動作される、インターフェースに連結することができる。一般に、ホスト制御回路１０２は、周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎ、ホスト１１０、および／または他のデバイスとの間で、制御、アドレス、データおよび他の信号を通信する、例えば、パスするために、インターフェースに連結することができる。
【００１３】
１つ以上の実施形態では、周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎは、ホスト１１０から周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎに通信される、他の動作の中でもとりわけ、メモリデバイスのためのコマンドの読取、書込、および／または消去等の動作を容易にするために使用することができる、周辺デバイス制御回路１０４−１、１０４−２、．．．、１０４−Ｎを含むことができる。周辺デバイスのうちの１つ以上は、制御回路、例えば、制御回路１０４−Ｎに連結される、ＲＦ送受信機１０８を備える、および／または含むことができる。周辺デバイス１２０−Ｎのみ、ＲＦ送受信機１０８とともに、図１に例証されるが、実施形態は、ある数の周辺デバイスが、そのような送受信機を含むことができるため、そのように制限されない。ＲＦ送受信機１０８は、無線デバイス（図示せず）へおよび／または無線デバイスから、データを送信および／または受信することができる。例えば、ＲＦ送受信機１０８は、無線デバイスからトランスポート層パケットを受信することができる。
【００１４】
周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎは、ホスト１１０への共通物理接続１０５を共有することができる。共通物理接続１０５は、ホスト１１０と周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎとの間のアップストリームおよび／またはダウンストリーム接続を含むことができる。例えば、周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎは、連鎖トポロジにおいて、ホスト１１０に連結する、例えば、ともに連鎖することができる。いくつかの実施形態では、１つ以上の周辺デバイス、例えば、周辺デバイス１２０−Ｎは、連鎖から除去することができる。１つ以上の実施形態では、周辺デバイス制御回路１０４−１、１０４−２、．．．、１０４−Ｎは、ホスト１１０と周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎとの間に、変換層を提供することができる。したがって、周辺デバイス制御回路は、周辺デバイスのＩ／Ｏコネクタ（図１には図示せず）に選択的に連結し、適切な時に、適切なＩ／Ｏ接続において、適切な信号を受信できる可能性がある。同様に、ホスト１１０と周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎとの間の通信プロトコルは、周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎへのアクセスのために要求されるものと異なってもよい。次いで、周辺デバイス制御回路１０４−１、１０４−２、．．．、１０４−Ｎは、ホスト１１０から受信したコマンドシーケンスを適切なコマンドシーケンスに変換し、周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎへの所望のアクセスを達成できる可能性がある。各変換はさらに、コマンドシーケンスに加え、信号電圧レベルの変更を含んでもよい。
【００１５】
本明細書で使用され場合、１つ以上の実施形態では、連鎖周辺デバイス（例えば、１２０−１、１２０−２、．．．、１２０−Ｎ）は、ホストの共有インターフェースポート等の共通物理接続を経由して（例えば、ホスト制御回路１０２の同一インターフェースポートを経由して）、ホスト（例えば、ホスト１１０）に通信可能に連結される、周辺デバイスを指すことができる。特定のホストインターフェースポートは、データ入力ポートと、データ出力ポートと、を含むことができる。したがって、データは、ホスト１１０の同一単一インターフェースポートを経由して、ホスト１１０と連鎖周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎとの間で通信することができる。ホストまたは周辺デバイス上の特定のポートの使用は、図２に関して詳述される。
【００１６】
図１の実施形態は、本開示の実施形態を曖昧にしないように、図示されない、付加的回路を含むことができる。例えば、周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎがメモリデバイスである、１つ以上の実施形態では、メモリデバイスは、Ｉ／Ｏ回路を通して、Ｉ／Ｏコネクタの両側に提供されるアドレス信号をラッチするためのアドレス回路を含むことができる。アドレス信号は、行デコーダおよび列デコーダによって受信およびデコードされ、メモリデバイスにアクセスすることができる。アドレス入力コネクタの数は、メモリデバイスの密度およびアーキテクチャに依存することが、当業者によって理解されるであろう。さらに、１つ以上の実施形態では、ホストおよび／または周辺デバイスは、例えば、他の動作の中でもとりわけ、データの処理および／または格納に先立って、着信データを配列するための１つ以上のキャッシュラインを含むことができる。
【００１７】
図２は、本開示の１つ以上の実施形態による、システム２００のブロック図を例証する。システム２００は、本開示の１つ以上の実施形態に従って、周辺デバイス、例えば、メモリデバイスの連鎖を含む。メモリデバイスは、実施例として使用されるが、他の種類の周辺デバイスまたは周辺デバイスの組み合わせもまた、本開示の実施形態の範囲内である。他の周辺デバイスの実施例として、プリンタ、スキャナ、カメラ、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉＦｉデバイス等の無線通信周辺機器、外部ハードドライブ、固体ドライブ、フラッシュドライブが挙げられるが、それらに制限されない。メモリデバイスの実施例として、フラッシュメモリ、ＤＲＡＭ、ＳＲＡＭ、１つ以上のＮＡＮＤデバイス、またはＭａｎａｇｅｄ  ＮＡＮＤ実装、例えば、ＮＡＮＤコントローラおよび１つ以上のＮＡＮＤデバイス、あるいはデータ記憶のための他の周辺デバイスが挙げられる。
【００１８】
図２では、ホスト２１０は、データ出力ポート２１２と、データ入力ポート２１４と、バッファ２０６と、を有して示される。ホスト２１０は、図１に例証されるホスト１１０と類似とすることができ、図１に例証される制御回路１０２等の制御回路を含むことができる。周辺デバイスの単一データ出力ポート２１２および単一データ入力ポート２１４への連結は、ホスト２１０上に別様に含まれる場合があるピンの数を減少することができる。そのような実施形態は、デバイスコストを削減し、生産を単純化するのを支援することができる。１つ以上の実施形態では、単一データ出力ポート２１２または単一データ入力ポート２１４等の単一データポートはそれぞれ、複数のデータレーンを含んでもよい。用語「単一データポート」は、ホスト上の各周辺デバイスのための並列接続とは対照的に、複数の周辺デバイスのためのホストへの単一直列接続を例証するために使用される。
【００１９】
本明細書に説明されるように、ホスト２１０は、トランスポート層パケットをある数のリンク制御層パケットに分解し、データ出力ポート２１２を経由して、ある数のリンク制御層パケットを通信するように構成することができる。ホストは、データ入力ポート２１４を経由して受信されたある数のリンク制御層パケットに対応する、ある数の確認応答を監視することができる。ある数の確認応答は、本明細書に説明されるように、ホストによって、データ出力ポート２１４を経由して通信される、ある数のリンク制御層パケットを制限するために使用することができる。ホスト２１０は、データ入力ポート２１４を経由して受信されたある数のリンク制御層パケットから、トランスポート層パケットを再構成することができる。
【００２０】
第１の周辺デバイス２２０−１は、連鎖構成において連結された第２の周辺デバイス２２０−２と、Ｎ番目の周辺デバイス２２０−Ｎとともに示される。図２に示される連鎖周辺デバイス構成は、二地点間信号伝達を可能にすることができる。示される構成を使用して、周辺デバイスの連鎖は、本明細書に説明されるように、複雑なアドレッシング回路の使用を伴わずに、任意に長くすることができる。図２に例証される周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎは、図１に例証される周辺デバイス１２０−１、１２０−２、．．．、１２０−Ｎと類似とすることができ、図１に例証される制御回路１０４−１、１０４−２、．．．、１０４−Ｎ等の制御回路を含むことができる。各周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎは、１つ以上のデバイス識別（ＤＩＤ）および／または論理ユニット番号（ＬＵＮ）と関連付けることができる。例えば、特定の周辺デバイスは、１つのＤＩＤおよび２つ以上のＬＵＮを有する可能性がある。
【００２１】
周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎは、アップストリーム側２２２−１、２２２−２、．．．、２２２−Ｎと、ダウンストリーム側２２４−１、２２４−２、．．．、２２４−Ｎとをともなって示される。周辺デバイスは、アップストリームデータ入力ポート２２６−１、２２６−２、．．．、２２６−Ｎと、ダウンストリームデータ出力ポート２２８−１、２２８−２、．．．、２２８−Ｎと、ダウンストリームデータ入力ポート２３０−１、２３０−２、．．．、２３０−Ｎと、アップストリームデータ出力ポート２３２−１、２３２−２、．．．、２３２−Ｎと、を含むことができる。特定の周辺デバイスのための各データポートは、特定の周辺デバイスのために、制御回路に連結することができる。動作時、アドレス割当、データの要求等のデータまたはデバイスコマンドは、矢印２３４−１、２３４−２、．．．、２３４−Ｎに沿って、アップストリームデータ入力ポートからダウンストリームデータ出力ポートへ等のように、所与のデバイスをパススルーすることができる。データ／コマンドは、アップストリームデータ入力ポート２２６−１、２２６−２、．．．、２２６−Ｎからアップストリームデータ出力ポート２３２−１、２３２−２、．．．、２３２−Ｎへと、矢印２３８−１、２３８−２、．．．、２３８−Ｎに沿って等のように、所与の周辺デバイス内で内部をパスすることができる。データ／コマンドは、矢印２３６−１、２３６−２、．．．、２３６−Ｎによって示されるように、ダウンストリームデータ入力ポート２３０−１、２３０−２、．．．、２３０−Ｎからアップストリームデータ出力ポート２３２−１、２３２−２、．．．、２３２−Ｎへと、リターンパス上の所与の周辺デバイスを通して、直接パスすることができる。周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎは、それぞれの周辺デバイスの制御回路に連結されたバッファ２０６−１、２０６−２、．．．、２０６−Ｎを含むことができる。各それぞれの周辺デバイスのためのバッファは、アップストリームおよびダウンストリームデータ入力ならびに出力ポートのうちの１つ以上に連結することができる。３つの周辺デバイスが、システム２００には示されるが、本開示は、そのように制限されない。示される構成を使用して、より多いまたは少ない数の周辺デバイスを含むことができる。
【００２２】
本明細書に説明されるように、周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎは、トランスポート層パケットをある数のリンク制御層パケットに分解し、アップストリームデータ出力ポート２３２−１、２３２−２、．．．、２３２−Ｎおよびダウンストリームデータ出力ポート２２８−１、２２８−２、．．．、２２８−Ｎのうちの１つ以上を経由して、ある数のリンク制御層パケットを通信する、例えば、転送するように構成することができる。周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎは、割り込みリンク制御層パケットを、アップストリームデータ出力ポート２３２−１、２３２−２、．．．、２３２−Ｎを経由して、例えば、ホスト２１０に通信することができる。周辺デバイスは、本明細書に説明されるように、アップストリームまたはダウンストリームの、入力ポートから出力ポートにある数のリンク制御層パケットをパススルーすることができる。周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎは、アップストリームデータ入力ポート２２６−１、２２６−２、．．．、２２６−Ｎおよびダウンストリームデータ入力ポート２３０−１、２３０−２、．．．、２３０−Ｎのうちの１つ以上を経由して受信されたある数のリンク制御層パケットからトランスポート層パケットを再構成することができる。
【００２３】
特定の周辺デバイス、例えば、周辺デバイス２２０−Ｎのための制御回路は、リンク制御層パケットが、周辺デバイス２２０−Ｎのための宛先アドレス、例えば、ＤＩＤまたはＬＵＮと関連付けられると、特定のデータ入力ポートを経由して受信されたある数のリンク制御層パケットからトランスポート層パケットを再構成するように構成することができる。受信したリンク制御層パケットが、異なる周辺デバイスのための宛先アドレス、例えば、周辺デバイス２２０−２と関連付けられたアドレスと関連付けられると、受信周辺デバイス２２０−Ｎは、アップストリームまたはダウンストリーム方向において、例えば、適切な出力ポートを通して、ある数のリンク制御層パケットと関連付けられた宛先アドレスに向かって、ある数のリンク制御層パケットをパススルーすることができる。１つ以上の実施形態では、リンク制御層は、パケットをルーティングするために使用されなくてもよい。
【００２４】
ホスト２１０は、ホスト２１０と複数の周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎとの間の共通物理接続、例えば、図１における共通物理接続１０５上にパケットフロー制御を維持するように構成することができる。したがって、周辺２２０−１、２２０−２、．．．、２２０−Ｎデバイスは、ホスト２１０に、例えば、アップストリーム方向において、ホスト２１０に、割り込みリンク制御層パケットを通信するように構成することができる。割り込みリンク制御層パケットは、周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎが、共通物理接続を経由して、データを通信する準備ができたことをホスト２１０に通知するように作用することができる。例えば、割り込みリンク制御層パケットは、周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎが、ＲＦ送受信機１０８を経由して、データ、例えば、１つ以上のトランスポート層パケットを受信したことを指示することができる。割り込みリンク制御層パケットは、共通物理接続を経由して通信される、データのコンテキストを含むことができる。
【００２５】
１つ以上の実施形態では、周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎは、ホスト２１０から以前に受信した命令から一定周期の遅延後、割り込みリンク制御層パケットをホスト２１０に通信するように構成することができる。割り込みリンク制御層パケットは、命令の指示を含むことができる。周辺デバイス２２０−１、２２０−２、．．．、２２０−Ｎは、命令と関連付けられたデータが、共通物理接続を経由して通信される準備ができると、割り込みリンク制御層パケットを通信するように構成することができる。
【００２６】
図１−２に示される実施形態は、配線接続されたデバイスを含んでもよい、またはアセンブリまたは拡張能力のためのソケットを含んでもよい。１つ以上の実施形態は、いくつかの拡張ソケットを含んでもよく、連鎖内の最後の周辺デバイスのダウンストリームに、依然として利用可能なソケットが存在する。そのような構成では、最後の周辺デバイス、例えば、周辺デバイス２２０−Ｎは除去することができ、付加的周辺デバイスが、連鎖内に設置され、次いで、最後の周辺デバイスを新しく延長された連鎖の末端に再インストールすることができる。いくつかの実施形態では、付加的周辺デバイスは、連鎖内の専用の最後の周辺デバイスを除去および再インストールせずに、拡張目的のために、連鎖の末端に追加することができる。
【００２７】
図３Ａは、本開示の１つ以上の実施形態による、インターフェースのための階層化アーキテクチャのブロック図を例証する。例えば、そのような階層化アーキテクチャは、本開示の１つ以上の実施形態に従って、ホスト制御回路、例えば、図１におけるホスト制御回路１０２、および／またはデバイス制御回路、例えば、デバイス制御回路１０４−１、１０４−２、．．．、１０４−Ｎ内に実装することができる。
【００２８】
階層化アーキテクチャは、他の層の中でもとりわけ、トランスポート層３５６と、リンク制御層３５４と、物理層３５２と、を含むことができる。ホストと１つ以上のデバイスとの間のデータフローパケットは、例えば、ホストおよびデバイスの両方が理解する、プロトコルを使用して、トランスポート層によって生成されてもよい。そのようなプロトコルは、例えば、有線、無線等のパケットのデータフローの伝送の方法とは無関係とすることができる。デバイスが、ホストに直接取り付けられると、トランスポート層３５６によって生成されるデータフローパケットは、ホストとデバイスとの間で直接通信することができる。
【００２９】
１つ以上のデバイスが、共通物理接続を経由して、ホストに取り付けられると、リンク制御層３５４は、ホストとデバイスとの間のデータフロー接続の利用を改善する、および／またはホストと複数のデバイスとの間の同時データ通信のためのフロー制御を提供するために、定位置に置かれてもよい。リンク制御層３５４は、ホストと１つ以上のデバイスとの間のデータ通信を監視および／または変調するように実装することができる。本明細書に説明されるように、リンク制御層３５４は、ホストとデバイスとの間のトランスポート層３５６によって生成されるデータフローパケットを分解および再構成することによって、パケットサイズおよびフロー制御のより細部に及ぶ制御を発揮することができる。
【００３０】
図３Ｂは、本開示の１つ以上の実施形態による、階層化アーキテクチャ内のある数のパケットのブロック図を例証する。１つ以上の実施形態では、ホストから標的デバイスへ、またはデバイスからホストへのデータフローは、リンク制御層パケットに分解され、元のデータフロー、例えば、トランスポート層パケットに再構築することができる。
【００３１】
図３Ｂに例証されるように、トランスポート層パケット３７２は、ヘッダ３７４と、ペイロード３７６と、巡回冗長検査（ＣＲＣ）値、チェックサム、またはエラー訂正符号（ＥＣＣ）パリティ値等のエラー検出構成要素３７８−Ｔとのうちの１つ以上を含むことができる。１つ以上の実施形態では、エラー検出構成要素３７８−Ｔは、ペイロード３７６の一部とすることができる。ヘッダ３７４は、コンテキスト、例えば、トランスポート層パケット３７２の宛先アドレスを含有してもよい。例えば、ヘッダ３７４は、コマンド種類、標的デバイスＩＤ（ＤＩＤ）、論理ユニット番号（ＬＵＮ）、状態、および／または他の属性に関する情報を含有してもよい。トランスポート層パケット３７２のペイロード３７６は、データおよび／またはコマンドを含むことができる。
【００３２】
トランスポート層パケット３７２は、ある数のリンク制御層パケット、例えば、リンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎに分解することができる。トランスポート層パケット３７２は、例えばある数の他のトランスポート層パケットに関して、トランスポート層パケット３７２と関連付けられた優先度および／または順序に従って、分解することができる。いくつかの実施形態では、トランスポート層パケット３７２は、共通物理接続を通して、例えば、ホストから周辺デバイスへ、周辺デバイスからホストへ、または第１の周辺デバイスから第２の周辺デバイスへの通信の前に、ある数のリンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎに分解することができる。１つ以上の実施形態では、トランスポート層パケット３７２全体が、本明細書に説明されるように、トランスポート層パケットが、リンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎに分解される前に、図１に例証されるように、バッファ、例えば、ホストバッファ１０６または周辺デバイスバッファ１０６−１、１０６−２、．．．、１０６−Ｎにロードすることができる。代替として、トランスポート層パケットは、トランスポート層３５６からリンク制御層３５４に移行するのに伴って、分解することができる。
【００３３】
各リンク制御層パケット、例えば、リンク制御層パケット３８０−１は、より小さくすることができ、例えば、リンク制御層パケットが分解される、トランスポート層パケット、例えば、トランスポート層パケット３７２より少ないビットを含むことができる。本開示の１つ以上の実施形態に従って、トランスポート層パケットを分解することは、例えば、共通物理接続を通した、データのより効率的通信を提供することができる。
【００３４】
１つ以上の実施形態では、リンク制御層パケット、例えば、各リンク制御層パケットは、そこにアペンドされる、リンク制御層パケット３８０−１内のシーケンス番号、例えば、シーケンス番号「１」３８２−１を有することができる。いくつかの実施形態では、トランスポート層パケットから分解される各リンク制御層パケットは、リンク制御層パケットが、例えば、１からＮを表す、トランスポート層パケットの連続部分に対応する順序で挿入される、シーケンス番号を有することができる。図３Ｂに例証されるように、最後のリンク制御層パケット３８０−Ｎは、シーケンス番号「Ｎ」３８２−Ｎを含むことができる。シーケンス番号は、リンク制御層パケット順序を維持し、元のトランスポート層パケットの再構成を補助することができる。
【００３５】
シーケンス番号は、リンク制御層パケットのヘッダのｘビットフィールド、例えば、ｘ数のビットを格納可能なフィールド内のリンク制御層パケットにアペンドすることができる。利用可能なシーケンス番号の総数は、シーケンス番号がアペンドされるフィールドのサイズに関する制約によって制限される場合があるため、シーケンス番号は、リサイクルされてもよい。すなわち、２ｘシーケンス番号が使用された後、例えば、２ｘリンク制御層パケットが、特定のデータフローのために割り当てられたシーケンス番号を有した後、シーケンス番号は、リサイクル、例えば、再使用されてもよい。例えば、シーケンス番号が、１、２、３、および４を含む、集合に制限される場合、全４つのシーケンス番号が一度使用された後、再度使用されてもよく、例えば、第１および第５のリンク制御層パケットは両方とも、そこに割り当てられたシーケンス番号１を有してもよい。リンク制御層パケットは、そこにアペンドされるシーケンス番号に関して、シーケンスから外れて通信することができる。
【００３６】
１つ以上の実施形態は、ある数の周辺デバイスのための共通物理接続を経由して通信されるある数の未処理リンク制御層パケットを制限することを含むことができる。ある数の未処理リンク制御層パケットを制限することは、ある数の未処理パケットを２ｘ／２個以下のリンク制御層パケットに制限することを含むことができる。すなわち、例えば、制御回路、例えば、図１におけるホスト制御回路１０２は、リンク制御層パケットに値するシーケンス番号の総数の少なくとも半分が、付加的リンク制御層パケットを通信する前に確認応答されたことを確認することができる。例えば、１６シーケンス番号が利用可能である場合、制御回路は、ある数のリンク制御層パケットを８個に制限するように構成することができる。
【００３７】
未処理パケットとしては、確認応答されていないパケットおよび／または再転送要求等の確認応答、例えば、否定応答を受信したパケットを挙げることができる。故に、１つ以上の実施形態では、ある数の未処理リンク制御層パケットを制限することは、再転送要求ビットとして、ｘビットフィールドのビットを使用することを含むことができる。特定のリンク制御層パケットは、送信デバイスが特定のリンク制御層パケットのための確認応答を受信しない時、または送信デバイスが否定応答を受信する時、再通信することができる。そのような実施形態は、特定のシーケンス番号と関連付けられた特定のリンク制御層パケットが正常に受信される前にリサイクルされる特定のシーケンス番号による、パケットエラーを防止することを補助することができる。
【００３８】
本開示の１つ以上の実施形態によると、リンク制御層は、データペイロードとして、トランスポート層パケット３７２、例えば、ヘッダ３７４、ペイロード３７６、およびエラー検出構成要素３７８−Ｔ内の全データを扱うことができる。すなわち、トランスポート層パケット３７２の全体が、ヘッダ３７４とペイロード３７６との間の区別に関わらず、リンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎに適合する、より小さい部分に分割することができる。例えば、リンク制御層パケット３８０−１は、トランスポート層パケット３７２のヘッダ３７４の一部分を含んでもよく、ヘッダ３７４全体を含んでもよく、または少なくともヘッダ３７４の一部分およびペイロード３７６の一部分を含んでもよい。
【００３９】
トランスポート層パケットは、ある数のリンク制御層パケットに分解されてもよいが、各リンク制御層パケットは、データ伝送の方向および／または終端、例えば、アップストリームまたはダウンストリーム、データ宛先、例えば、ＤＩＤまたはＬＵＮ等の標的、ならびにパケットシーケンス番号、例えば、パケットシーケンス番号３８０−１を維持および／または表すことができる。すなわち、各リンク制御層パケットは、トランスポート層パケットがトランスポート層内で有していたであろう、データ伝送の同一方向および／または終端をリンク制御層内に有することができる。例えば、データ伝送の方向および／または終端は、データを転送するデバイスの制御回路によって割り当てられるように、リンク制御層パケットのヘッダ内に維持および／または表すことができる。
【００４０】
１つ以上の実施形態は、ある数のリンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎが、受信デバイスのキャッシュラインサイズと同等のペイロード３８４−１、．．．、３８４−Ｎサイズを有するように、トランスポート層パケット３７２をある数のリンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎに分解することを含むことができる。そのような実施形態は、データの効率的受信およびトランスポート層パケット３７２の再構成を提供することができる。すなわち、受信デバイスのキャッシュラインは、各受信されたリンク制御層パケットペイロード３８４−１、．．．、３８４−Ｎによって充填および空にすることができ、それによって、キャッシュラインを部分的にロードすること、またはキャッシュラインの複数のロードにわたって、個々のパケットを分割することと関連付けられた非効率性を防止するのを補助することができる。本開示による、キャッシュラインのための例示的サイズとして、３２バイトまたは６４バイトを挙げることができるが、しかしながら、実施形態は、そのように制限されない。再構成後、受信デバイスは、いくつかの事例では、データのセクタとして、トランスポート層パケット３７２ペイロード３７６を格納することができる。データのセクタのための例示的サイズは、５１２バイトとすることができるが、しかしながら、実施形態は、そのように制限されない。
【００４１】
各リンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎは、その独自のエラー検出構成要素３７８−Ｌ１、．．．、３７８−ＬＮを含んでもよい。エラー検出構成要素、例えば、リンク制御層パケット、例えば、パケット３８０−１のためのＣＲＣ３７８−Ｌ１は、リンク制御層パケットがそこから分解された、トランスポート層パケット３７２と関連付けられたエラー検出構成要素、例えば、ＣＲＣ３７８−Ｔとは無関係に、リンク制御層パケットのために生成することができる。図３Ｂに例証されるように、リンク制御層パケット３８０−１の場合、シーケンス番号３８２−１およびエラー検出構成要素３７８−Ｌ１は、リンク制御層によって生成される一方、ペイロード３８４−１は、元のトランスポート層パケット３７２からのデータを含む。特定のリンク制御層パケット３８０−１のためのシーケンス番号３８２−１およびエラー検出構成要素３７８−Ｌ１は、再通信、フロー制御等のためのリンク制御によって使用することができる。本明細書に説明されるように、特定のリンク制御層パケット３８０−１のペイロード３８４−１は、対応するトランスポート層パケット３７２のヘッダ３７４、ペイロード３７６、および／またはエラー検出構成要素３７８−Ｔのうちの１つ以上からのデータを含んでもよい。
【００４２】
トランスポート層パケット３７２は、例えば、リンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎのそれぞれと関連付けられたシーケンス番号に従って、ある数のリンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎから再構成することができる。ある数のリンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎを受信するデバイスは、ある数のリンク制御層パケットのそれぞれを確認応答するように構成することができる。代替として、ある数のリンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎを受信するデバイスは、再構成されると、トランスポート層パケット３７２を確認応答するように構成することができる。
【００４３】
１つ以上の実施形態では、デバイスまたはホストは、各パケットと関連付けられたシーケンス番号、例えば、リンク制御層パケット３８０−１と関連付けられたシーケンス番号３８２−１に従って、連続順序において、受信したリンク制御層パケットをバッファにロードすることができる。トランスポート層パケット全体が再構成されると、データは、再構成されたパケットと関連付けられたアドレス情報に従って、例えば、再構成されたパケットのヘッダ３７４内に格納されるように、その宛先と通信することができる。
【００４４】
１つ以上の実施形態では、トランスポート層パケット３７２から分解された第１のリンク制御層パケット３８０−１のペイロード３８４−１は、トランスポート層パケット３７２のヘッダ３７４を格納することができる。ヘッダ３７４は、トランスポート層パケット３７２のための宛先情報を記述する、コンテキストを含むことができる。コンテキスト、例えば、宛先情報は、初期リンク制御層パケット３８０−１と関連して受信されたトランスポート層パケット３７２のヘッダから導出することができる。コンテキストは、リンク制御層パケット、例えば、初期リンク制御層パケット３８０−１および／または後続リンク制御層パケット３８０−２、．．．、３８０−Ｎを転送する前に、受信デバイスのバッファにロードすることができる。
【００４５】
トランスポート層パケット３７２から分解された第１のリンク制御層パケット３８０−１を受信するデバイスのリンク制御層は、第１のリンク制御層パケット３８０−１をその宛先に転送することができる。後続リンク制御層パケット３８０−２、．．．、３８０−Ｎは、トランスポート層パケット３７２を再構成せずに、転送することができる。そのような実施形態では、後続リンク制御層パケット３８０−２、．．．、３８０−Ｎは、受信デバイスによって受信される順序において、その宛先に転送することができる。後続リンク制御層パケット３８０−２、．．．、３８０−Ｎは、バッファ内のコンテキストに従って、転送することができる。いくつかの事例では、後続リンク制御層パケット３８０−２、．．．、３８０−Ｎを受信された順序で転送することは、各リンク制御層パケットと関連付けられたシーケンス番号、例えば、リンク制御層パケット３８０−Ｎと関連付けられたシーケンス番号３８２−Ｎに関して、シーケンスから外れて後続リンク制御層パケット３８０−２、．．．、３８０−Ｎを転送することを含むことができる。宛先デバイス、例えば、受信デバイスがリンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎを転送するデバイスは、トランスポート層パケット３７２を再構成することができる。
【００４６】
１つ以上の実施形態によると、受信デバイスは、トランスポート層パケット３７２のコンテキスト内に記述された宛先、例えば、宛先デバイスに、トランスポート層パケット３７２を再構成、および転送することができる。例えば、ホストは、概して、周辺デバイスから受信されたいくつかのリンク制御層パケット３８０−１、３８０−２、．．．、３８０−Ｎから再構成されたトランスポート層パケット３７２のための受信デバイスとすることができるが、しかしながら、トランスポート層パケット３７２は、それと関連付けられたコンテキスト内に、例えば、トランスポート層パケットヘッダ３７４内に記述されたより具体的宛先を有することができる。より具体的宛先アドレスは、他の具体的宛先アドレスの中でもとりわけ、ホストと関連付けられたメモリアドレスとすることができる。同様に、周辺デバイス、例えば、図２における周辺デバイス２２０−２は、宛先が、別の周辺デバイス、例えば、図２に例証される周辺デバイス２２０−１である場合、トランスポート層パケット３７２のコンテキスト内に記述された宛先に、再構成されたトランスポート層パケット３７２を転送することができる受信デバイスとすることができる。いくつかの事例では、受信デバイスは、宛先デバイスとすることができる。
【００４７】
＜結論＞
本開示は、パケット処理のための方法、デバイス、およびシステムを含む。パケット処理のための一方法実施形態は、トランスポート層パケットをある数のリンク制御層パケットに分解することであって、各々のリンク制御層パケットが関連付けられたシーケンス番号を有する、分解することと、複数の周辺デバイスのための共通物理接続を経由して、ある数のリンク制御層パケットを通信することと、通信の間にある数の未処理リンク制御層パケットを制限することと、を含む。
【００４８】
ある要素が、別の要素の「上にある」、「に接続される」、または「と連結される」のように参照される場合、直接、他の要素の上にある、他の要素に接続される、または他の要素と連結されることが可能である、あるいは介入要素が存在してもよいことが理解されるであろう。対照的に、ある要素が、別の要素「の直接上にある」、「に直接接続される」、または「と直接連結される」のように参照される時、介入要素または介入層は、存在しない。本明細書で使用される場合、用語「および／または」は、関連付けられた列挙項目のうちの１つ以上の任意のまたは全部の組み合わせを含む。
【００４９】
本明細書で使用される場合、用語「および／または」は、関連付けられた列挙項目のうちの１つ以上の任意または全部の組み合わせを含む。本明細書で使用される場合、用語「または」は、別途注記されない限り、論理的に、含有的な「または」を意味する。すなわち、「ＡまたはＢ」は、（Ａのみ）、（Ｂのみ）、または（ＡおよびＢの両方）を含むことができる。言い換えると、「ＡまたはＢ」は、「Ａおよび／またはＢ」あるいは「ＡおよびＢのうちの１つ以上」を意味することができる。
【００５０】
用語「第１の」、「第２の」等は、本明細書では、種々の要素を説明するために使用される場合があるが、これらの要素は、これらの用語によって制限されるべきではないことが理解されるであろう。これらの用語は、１つの要素を別の要素から区別するためにのみ使用される。したがって、第１の要素は、本開示の教示から逸脱することなく、第２の要素と称される可能性がある。
【００５１】
本明細書には具体的な実施形態が図示および説明されているが、当業者は、同じ結果を達成するように考案された配設を、示された具体的な実施形態の代用とすることができることを理解するであろう。本開示は、本開示の１つ以上の実施形態の適応または変形を包含することを意図する。前述の説明は、図説の様式において行われたものであり、制限的な様式ではないことを理解されたい。上記の実施形態の組み合わせ、および本明細書に具体的に説明されない他の実施形態が、上記の説明を検討することによって、当業者には明らかとなるであろう。本開示の１つ以上の実施形態の範囲は、上記の構造および方法が使用される他の用途を含む。したがって、本開示の１つ以上の実施形態の範囲は、添付の特許請求の範囲に加えて、このような特許請求の範囲が権利を与えられる均等物のあらゆる範囲を参照して決定されるべきである。
【００５２】
前述の発明を実施するための形態では、本開示を効率化する目的のために、いくつかの特徴が単一の実施形態の中にともにまとめられている。本開示方法は、本開示の開示される実施形態が、各請求項に明記されるよりも多くの特徴を用いるという意図を反映するものとして解釈されるべきではない。そうではなく、以下の特許請求の範囲が反映するように、発明の主題は、単一の開示される実施形態の全ての特徴に満たない中に存する。したがって、以下の特許請求の範囲がここで発明を実施するための形態に組み入れられ、各請求項が個別の実施形態として独立する。
【図２】
0005545370.tif 000002
【図１】
0005545370.tif 000003
【図３Ａ】
0005545370.tif 000004
【図３Ｂ】
0005545370.tif 000005