JP6311149B2 - 装置 - Google Patents
装置 Download PDFInfo
- Publication number
- JP6311149B2 JP6311149B2 JP2016525851A JP2016525851A JP6311149B2 JP 6311149 B2 JP6311149 B2 JP 6311149B2 JP 2016525851 A JP2016525851 A JP 2016525851A JP 2016525851 A JP2016525851 A JP 2016525851A JP 6311149 B2 JP6311149 B2 JP 6311149B2
- Authority
- JP
- Japan
- Prior art keywords
- data units
- buffer
- data
- interleaved
- transmission
- 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.)
- Active
Links
- 239000000872 buffer Substances 0.000 claims description 319
- 239000004744 fabric Substances 0.000 claims description 242
- 230000005540 biological transmission Effects 0.000 claims description 231
- 239000003550 marker Substances 0.000 claims description 50
- 238000012546 transfer Methods 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 35
- 230000003139 buffering effect Effects 0.000 claims description 32
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 206010009944 Colon cancer Diseases 0.000 description 188
- 238000001514 detection method Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 22
- 101000972841 Lens culinaris Non-specific lipid-transfer protein 4 Proteins 0.000 description 17
- 230000001788 irregular Effects 0.000 description 17
- 238000000034 method Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000001427 coherent effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000008929 regeneration Effects 0.000 description 5
- 238000011069 regeneration method Methods 0.000 description 5
- 230000032258 transport Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 241001522296 Erithacus rubecula Species 0.000 description 3
- 101710196810 Non-specific lipid-transfer protein 2 Proteins 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 101000578195 Lens culinaris Non-specific lipid-transfer protein 5 Proteins 0.000 description 2
- 101500007585 Lens culinaris Non-specific lipid-transfer protein 7 Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000007175 bidirectional communication Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008450 motivation Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 101000578201 Arabidopsis thaliana Non-specific lipid-transfer protein 7 Proteins 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 208000033986 Device capturing issue Diseases 0.000 description 1
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 101710196809 Non-specific lipid-transfer protein 1 Proteins 0.000 description 1
- 101710125352 Probable non-specific lipid-transfer protein 2 Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 235000013599 spices Nutrition 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/821—Prioritising resource allocation or reservation requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/621—Individual queue per connection or flow, e.g. per VC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Time-Division Multiplex Systems (AREA)
Description
(項目1)
複数のファブリックパケットの各々を複数のデータ単位に分割し、
複数のファブリックパケットから分割された複数のデータ単位の複数のグループがインターリーブされる、インターリーブ済みの複数のデータ単位の送信ストリームを生成し、
リンクにアウトバウンドされたインターリーブ済みの複数のデータ単位の上記送信ストリームを送信する回路およびロジックを有する送信ポートを備える、装置。
(項目2)
上記送信ポートは、
各ファブリックパケットから分割された上記複数のデータ単位を、上記ファブリックパケットに割り当てられた優先度レベルに関連させ、
より高い優先度を有する複数のデータ単位のストリームが、インターリーブ済みの複数のデータ単位の上記送信ストリームにおいてより低い優先度を有する複数のデータ単位のストリームへとインターリーブされるように、より高い優先度レベルを有する複数のデータ単位の送信がより低い優先度レベルを有する複数のデータ単位の送信を先取りする、ファブリックパケット先取りを促す、回路およびロジックを更に含む、項目1に記載の装置。
(項目3)
上記送信ポートは、
連続的により高い複数の優先度レベルを有する複数のデータ単位の送信が、複数のレベルのインターリーブを有する入れ子の形で複数のデータ単位の送信を先取りする、複数のレベルのファブリックパケット先取りを促す回路およびロジックを更に備える、項目2に記載の装置。
(項目4)
上記送信ポートは、複数の仮想レーン(VL)バッファの各々に割り当てられたバッファ空間を有する送信バッファを更に含み、
各VLバッファは、各仮想レーンに関連し、
上記送信ポートは、
各仮想レーンおよび関連するVLバッファに対する優先度レベルを割り当て、
各ファブリックパケットに割り当てられた仮想レーンを検出し、
上記複数のデータ単位が分割される上記ファブリックパケットに割り当てられた上記仮想レーンに基いて、VLバッファに複数のデータ単位をバッファ処理し、
第1のVLバッファが送信する準備のできた複数のデータ単位をバッファ処理したことを検出し、
上記第1のVLバッファに対する複数のデータ単位をプルし、上記複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加し、
上記第1のVLバッファから複数のデータ単位を追加する間に、上記第1のVLバッファよりも高い優先度レベルを有する第2のVLバッファが送信する準備ができた複数のデータ単位をバッファ処理したことを検出し、
上記第1のVLバッファからの複数のデータ単位のプルを停止し、
上記第2のVLバッファから複数のデータ単位をプルし、上記複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加することにより、
上記検出に応答して、上記第2のVLバッファからの複数のデータ単位の送信を優先して、上記第1のVLバッファにおける複数のデータ単位の送信を先取りする回路およびロジックを更に備える、項目2に記載の装置。
(項目5)
上記送信ポートは、
第1の仮想レーンおよび第3の仮想レーンに対する同一の優先度レベルを割り当て、
上記第1のVLバッファにおける第1のファブリックパケットから分割された複数のデータ単位をバッファ処理し、第3のファブリックパケットから分割された複数のデータ単位を、上記第3の仮想レーンに関連する第3のVLバッファにバッファ処理し、
上記第1のVLバッファに対する複数のデータ単位をプルし、上記複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加し、
上記第1のVLバッファからの複数のデータ単位を追加する間に、上記第1のVLバッファにおける上記第1のファブリックパケットから分割された複数のデータ単位の利用可能性におけるバブルを検出し、
上記第3のVLバッファにおける複数のデータ単位が送信する準備ができていることを検出し、
上記第3のVLバッファにおける上記バブルおよび複数のデータ単位が送信する準備ができていることを検出することに応答して、上記第3のVLバッファから複数のデータ単位をプルし、上記複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加することにより、インターリーブ済みの複数のデータ単位の上記送信ストリームにおける上記第3のVLバッファの複数のデータ単位の送信をインターリーブする回路およびロジックを更に備える、項目4に記載の装置。
(項目6)
インターリーブ済みの上記複数のデータ単位は、少なくとも3つのファブリックパケットから分割されたインターリーブ済みの複数のデータ単位を含み、
インターリーブ済みの上記複数のデータ単位は、少なくとも2つのレベルを有する入れ子の形でインターリーブされる、項目1〜5のいずれか1項に記載の装置。
(項目7)
上記送信ポートは、複数のVLバッファの各々に割り当てられたバッファ空間を有する送信バッファを更に含み、
各VLバッファは、各仮想レーンに関連し、
上記送信ポートは、
第1のファブリックパケットから分割された複数のデータ単位を、第1のVLバッファにバッファ処理し、
第2のファブリックパケットから分割された複数のデータ単位を第2のVLバッファにバッファ処理し、
上記第1のVLバッファからの複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加し、
上記第2のVLバッファからの複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加することにより、上記第2のファブリックパケットから分割された複数のデータ単位を、上記第1のファブリックパケットとインターリーブする回路およびロジックを更に備え、
上記複数のデータ単位は、上記第1のファブリックパケットから分割された上記複数のデータ単位の第1の部分を含み、
上記複数のデータ単位は、上記第2のファブリックパケットから分割された上記複数のデータ単位の少なくとも第1の部分を含む、項目1〜6のいずれか1項に記載の装置。
(項目8)
受信バッファを有し、
インターリーブ済みの複数のデータ単位の送信済みのストリームを受信し、
インターリーブ済みの複数のデータ単位の送信済みの上記ストリームから複数のデータ単位の複数のグループを分離し、
同一のファブリックパケットから互いに分割された複数のデータ単位の複数のグループを、上記受信バッファにバッファ処理する回路およびロジックを有する受信ポートを備え、
各データ単位は、関連するファブリックパケットからのデータの分割された一部を含み、
インターリーブ済みの複数のデータ単位の送信済みの上記ストリームは、送信済みの上記ストリームにおいてインターリーブされる複数のデータ単位の上記複数のグループを含み、
複数のデータ単位の1つのグループにおける各データ単位は、上記同一のファブリックパケットに関連する、装置。
(項目9)
上記受信バッファにおけるバッファ空間は、複数の仮想レーン(VL)バッファに対して割り当てられ、
各VLバッファは、各仮想レーンに対して割り当てられ、
上記受信ポートは、
インターリーブ済みの複数のデータ単位の送信済みの上記ストリームにおける複数のデータ単位の各グループに関連する仮想レーンを決定し、
複数のデータ単位の各グループが関連する上記仮想レーンに対して割り当てられた上記VLバッファに、複数のデータ単位の該グループに対する複数のデータ単位をバッファ処理する回路およびロジックを更に有する、項目8に記載の装置。
(項目10)
各ファブリックパケットは、複数の本体データ単位が後に続くヘッドデータ単位を含む第1のデータ単位を含み、テールデータ単位を含む最後のデータ単位で終了する複数の異なるタイプのデータ単位に分割され、
上記受信ポートは、
各データ単位のタイプを検出し、
第1の仮想レーンに関連するヘッドデータ単位を検出することにより、複数のデータ単位の第1のグループの第1のデータ単位を検出し、
上記第1の仮想レーンに関連する第1のVLバッファに複数のデータ単位の上記第1のグループの複数のデータ単位をバッファ処理し、
上記第1の仮想レーンに関連するテールユニットを受信する前に、第2の仮想レーンに関連するヘッドデータ単位が受信されたことを検出することにより、複数のデータ単位のインターリーブ済みのグループの第1のデータ単位を検出し、
上記第2の仮想レーンに関連する第2のVLバッファにおける複数のデータ単位の上記インターリーブ済みのグループの複数のデータ単位をバッファし、
上記第2の仮想レーンに関連するテールユニットを検出することにより、複数のデータ単位の上記インターリーブ済みのグループの終了を検出し、
上記第2の仮想レーンに関連する上記テールユニットの後の上記データ単位を、複数のデータ単位の次のグループの上記第1のデータ単位を規定するものとして検出し、
複数のデータ単位の上記次のグループの上記第1のデータ単位がヘッドデータ単位、本体データ単位、またはテールデータ単位であるかに基づいて、複数のデータ単位の上記次のグループの上記複数のデータ単位に関連する仮想レーンを決定する回路およびロジックを更に有する、項目9に記載の装置。
(項目11)
複数のデータ単位のインターリーブ済みの上記複数のグループは、少なくとも3つのファブリックパケットから分割された複数のデータ単位の複数のグループを含み、
複数のデータ単位のインターリーブ済みの上記複数のグループは、少なくとも2つのレベルを有する入れ子の形でインターリーブされる、項目9に記載の装置。
(項目12)
上記受信ポートは、
複数のデータ単位の送信済みの上記ストリームにおいて受信されたときのデータの複数のグループに関連する上記複数の仮想レーンの順序を追跡し、
複数のデータ単位の各グループにおけるどの複数のVLバッファデータ単位がバッファ処理されるべきかを決定するべく、追跡された上記順序を使用する回路およびロジックを更に有する、項目11に記載の装置。
(項目13)
上記複数の仮想レーンの順序は、VLスタックおよびVLレジスタを用いることにより追跡され、
上記VLレジスタは、現在の複数のVLバッファデータ単位がバッファ処理されていることを識別するVL証拠を格納するべく用いられ、
新しいレベルのインターリーブがインターリーブ済みの複数のデータ単位の送信済みの上記ストリームにおいて検出された場合、複数のデータ単位のインターリーブ済みの上記グループに関連する上記VLは、上記VLレジスタに格納され、その前の上記VL証拠は、上記VLスタックの上部にプッシュされ、
インターリーブの該新しいレベルのインターリーブが完了すると、上記スタックの上部の上記VL証拠は、上記VLレジスタへとポップされる、項目11または12に記載の装置。
(項目14)
リンクインターフェースがリンクインターフェースピアに通信可能に結合されるリンクを含むシステムに取り付けられる上記リンクインターフェースを備え、
上記リンクインターフェースは、
複数のファブリックパケットの各々を複数のデータ単位に分割し、
複数のファブリックパケットから分割された複数のデータ単位の複数のグループがインターリーブされる、インターリーブ済みの複数のデータ単位の送信ストリームを生成し、
上記リンクインターフェースピアの受信ポートに向かう上記リンクにアウトバウンドされたインターリーブ済みの複数のデータ単位の上記送信ストリームを送信する回路およびロジックを含む送信ポートと、
受信バッファを含み、
上記リンクインターフェースピアの送信ポートから送信されたインターリーブ済みの複数のデータ単位の送信済みのストリームを受信し、
複数のデータ単位の上記複数のグループを、インターリーブ済みの複数のデータ単位の送信済みの上記ストリームから分離し、上記受信バッファに同一のファブリックパケットから互いに分割された複数のデータ単位の複数のグループをバッファ処理する回路およびロジックを含む受信ポートとを有し、
各データ単位は、関連するファブリックパケットからのデータの分割された一部を含み、
インターリーブ済みの複数のデータ単位の送信済みの上記ストリームは、送信済みの上記ストリームにおいてインターリーブされる複数のデータ単位の複数のグループを含み、
複数のデータ単位のグループにおける各データ単位は、上記同一のファブリックパケットに関連する、装置。
(項目15)
インターリーブ済みの上記複数のデータ単位の上記送信ストリームにおけるインターリーブ済みの複数のデータ単位は、少なくとも3つのファブリックパケットから分割されたインターリーブ済みの複数のデータ単位を含み、
インターリーブ済みの複数のデータ単位の上記送信ストリームは、少なくとも2つのレベルを有する入れ子の形でインターリーブされ、
上記受信ポートにおいて受信されたインターリーブ済みの複数のデータ単位の送信済みの上記ストリームにおける複数のデータ単位のインターリーブ済みの上記複数のグループは、少なくとも3つのファブリックパケットから分割された複数のデータ単位の複数のグループを含み、
インターリーブ済みの複数のデータ単位の送信済みの上記ストリームにおける複数のデータ単位のインターリーブ済みの上記複数のグループは、少なくとも2つのレベルを有する入れ子の形でインターリーブされる、項目14に記載の装置。
(項目16)
上記送信ポートは、
各ファブリックパケットから分割された上記複数のデータ単位を、上記ファブリックパケットに割り当てられた優先度レベルに関連させ、
より高い優先度を有する複数のデータ単位のストリームが、インターリーブ済みの複数のデータ単位の上記送信ストリームにおいてより低い優先度を有する複数のデータ単位のストリームへとインターリーブされるように、より高い優先度レベルを有する複数のデータ単位の送信がより低い優先度レベルを有する複数のデータ単位の送信を先取りする、ファブリックパケット先取りを促し、
連続的により高い優先度レベルを有する複数のデータ単位の送信が、複数のレベルのインターリーブを有する入れ子の形で複数のデータ単位の送信を先取りする、複数のレベルのファブリックパケット先取りを促す、回路およびロジックを更に備える、項目14に記載の装置。
(項目17)
上記送信ポートは、複数の仮想レーン(VL)ファーストインファーストアウト(FIFO)バッファの各々に割り当てられたバッファ空間を有する送信バッファを更に含み、
各VL FIFOバッファは、各仮想レーンに関連し、
上記送信ポートは、
各仮想レーンおよび関連するVLバッファに対する優先度レベルを割り当て、
各ファブリックパケットに割り当てられた仮想レーンを検出し、
上記複数のデータ単位が分割される上記ファブリックパケットに割り当てられた上記仮想レーンに基いて、複数のデータ単位をVL FIFOバッファにバッファ処理し、
第1のVL FIFOバッファが送信する準備のできた複数のデータ単位をバッファ処理したことを検出し、
上記第1のVL FIFOバッファに対する複数のデータ単位をプルし、上記複数のデータ単位を、複数のデータ単位の送信された上記ストリームに追加し、
上記第1のVL FIFOバッファから複数のデータ単位を追加する間に、上記第1のVL FIFOバッファよりも高い優先度レベルを有する第2のVL FIFOバッファが送信する準備ができた複数のデータ単位をバッファ処理したことを検出し、
上記第1のVL FIFOバッファからの複数のデータ単位のプルを停止し、
上記第2のVL FIFOバッファから複数のデータ単位をプルし、上記複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加することにより、
上記検出に応答して、上記第2のVL FIFOバッファからの複数のデータ単位の送信のために、上記第1のVL FIFOバッファにおける複数のデータ単位の送信を先取りする回路およびロジックを更に備える、項目16に記載の装置。
(項目18)
上記送信ポートは、複数のVLファーストインファーストアウト(FIFO)バッファの各々に割り当てられたバッファ空間を有する送信バッファを更に含み、
各VL FIFOバッファは、各仮想レーンに関連し、
上記送信ポートは、
第1のファブリックパケットから分割された複数のデータ単位を、第1のVL FIFOバッファにバッファ処理し、
第2のファブリックパケットから分割された複数のデータ単位を、第2のVL FIFOバッファにバッファ処理し、
上記第1のVL FIFOバッファからの複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加し、
上記第2のVL FIFOバッファからの複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加することにより、上記第1のファブリックパケットと上記第2のファブリックパケットから分割された複数のデータ単位をインターリーブする回路およびロジックを更に備え、
上記複数のデータ単位は、上記第1のファブリックパケットから分割された上記データ単位の第1の部分を含み、
上記複数のデータ単位は、上記第2のファブリックパケットから分割された上記複数のデータ単位の少なくとも第1の部分を含む、項目14〜17のいずれか1項に記載の装置。
(項目19)
上記受信バッファにおけるバッファ空間は、複数の仮想レーン(VL)ファーストインファーストアウト(FIFO)バッファに対して割り当てられ、
各VL FIFOバッファは、各仮想レーンに対して割り当てられ、
上記送信ポートは、
インターリーブ済みの複数のデータ単位の送信済みの上記ストリームにおける複数のデータ単位の各グループに関連する仮想レーンを決定し、
複数のデータ単位の各グループが関連する上記仮想レーンに対して割り当てられた、上記VL FIFOバッファに、複数のデータ単位の該グループに対する複数のデータ単位をバッファ処理する回路およびロジックを更に有する、項目14〜18のいずれか1項に記載の装置。
(項目20)
複数のファブリックパケットの各々を複数のデータ単位に分割する段階と、
複数のファブリックパケットから分割された複数のデータ単位の複数のグループがインターリーブされる、インターリーブ済みの複数のデータ単位の送信ストリームを生成する段階と、
リンクにアウトバウンドされたインターリーブ済みの複数のデータ単位の上記送信ストリームを送信する段階とを備える、方法。
(項目21)
各ファブリックパケットから分割された上記複数のデータ単位を、上記ファブリックパケットに割り当てられた優先度レベルに関連させる段階と、
より高い優先度を有する複数のデータ単位のストリームが、インターリーブ済みの複数のデータ単位の上記送信ストリームにおいてより低い優先度を有する複数のデータ単位のストリームへとインターリーブされるように、より高い優先度レベルを有する複数のデータ単位の送信がより低い優先度レベルを有する複数のデータ単位の送信を先取りする、ファブリックパケット先取りを促す段階とを更に備える、項目20に記載の方法。
(項目22)
連続的により高い複数の優先度レベルを有する複数のデータ単位の送信が、複数のレベルのインターリーブを有する入れ子の形で複数のデータ単位の送信を先取りする、複数のレベルのファブリックパケット先取りを促す段階を更に備える、項目21に記載の方法。
(項目23)
送信ポートは、複数の仮想レーン(VL)バッファの各々に割り当てられたバッファ空間を有する送信バッファを更に含み、
各VLバッファは、各仮想レーンに関連し、
上記方法は、
各仮想レーンおよび関連するVLバッファに対する優先度レベルを割り当てる段階と、
各ファブリックパケットに割り当てられた仮想レーンを検出する段階と、
上記複数のデータ単位が分割される上記ファブリックパケットに割り当てられた上記仮想レーンに基いて、複数のデータ単位をVLバッファにバッファ処理する段階と、
第1のVLバッファが送信する準備のできた複数のデータ単位をバッファ処理したことを検出する段階と、
上記第1のVLバッファに対する複数のデータ単位をプルし、上記複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加する段階と、
上記第1のVLバッファから複数のデータ単位を追加する間に、上記第1のVLバッファよりも高い優先度レベルを有する第2のVLバッファが送信する準備ができた複数のデータ単位をバッファ処理したことを検出する段階と、
上記第1のVLバッファからの複数のデータ単位のプルを停止し、
上記第2のVLバッファから複数のデータ単位をプルし、上記複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加することにより、
上記検出に応答して、上記第2のVLバッファからの複数のデータ単位の送信のために、上記第1のVLバッファにおける複数のデータ単位の送信を先取りする段階を更に備える、項目21に記載の方法。
(項目24)
第1の仮想レーンおよび第3の仮想レーンに対する同一の優先度レベルを割り当てる段階と、
第1のファブリックパケットから分割された複数のデータ単位を上記第1のVLバッファにバッファ処理し、第3のファブリックパケットから分割された複数のデータ単位を、上記第3の仮想レーンに関連する第3のVLバッファにバッファ処理する段階と、
上記第1のVLバッファに対する複数のデータ単位をプルし、上記複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加する段階と、
上記第1のVLバッファからの複数のデータ単位を追加する間に、上記第1のVLバッファにおける上記第1のファブリックパケットから分割された複数のデータ単位の利用可能性におけるバブルを検出する段階と、
上記第3のVLバッファにおける複数のデータ単位が送信する準備ができていることを検出する段階と、
上記第3のVLバッファにおける上記バブルおよび複数のデータ単位が送信する準備ができていることを検出することに応答して、上記第3のVLバッファから複数のデータ単位をプルし、上記複数のデータ単位を、インターリーブ済みの複数のデータ単位の上記送信ストリームに追加することにより、インターリーブ済みの複数のデータ単位の上記送信ストリームにおける上記第3のVLバッファの複数のデータ単位の送信をインターリーブする段階とを更に備える、項目23に記載の方法。
(項目25)
インターリーブ済みの上記複数のデータ単位は、少なくとも3つのファブリックパケットから分割されたインターリーブ済みの複数のデータ単位を含み、
インターリーブ済みの上記複数のデータ単位は、少なくとも2つのレベルを有する入れ子の形でインターリーブされる、項目20〜24のいずれか1項に記載の方法。
Claims (32)
- 装置であって、
複数のファブリックパケットのそれぞれを、ヘッドデータ単位を含む第1のデータ単位を含み、後に複数のボディーデータ単位が続き、テールデータ単位を含む最後のデータ単位で終了する、複数の異なるタイプのデータ単位に分割し、
複数のファブリックパケットから分割された複数のデータ単位がインターリーブされた、インターリーブ済みの複数のデータ単位の送信ストリームを生成するための回路およびロジックを備え、
各ボディーデータ単位は、ボディーデータ単位であることを示す表示、およびデータペイロードから構成され、各データ単位は、予め定められた固定サイズを有し、各ファブリックパケットは、それぞれのメッセージに対応するデータを含み、
前記装置は、
前記複数のファブリックパケットのそれぞれから分割された前記複数のデータ単位を、前記複数のファブリックパケットのそれぞれに割り当てられた優先度レベルに関連させ、
より高い優先度を有する複数のデータ単位のストリームが、インターリーブ済みの複数のデータ単位の前記送信ストリームにおいてより低い優先度を有する複数のデータ単位のストリームへとインターリーブされるように、ダイナミックファブリックパケット先取りを促すための回路およびロジックを更に備え、
前記装置は、複数の仮想レーン(VL)バッファに割り当てられたバッファ空間を有する送信バッファを更に備え、
前記複数のVLバッファのそれぞれは、各仮想レーンに関連し、
前記装置は、
前記複数の仮想レーンおよび関連する複数のVLバッファのそれぞれに対する優先度レベルを割り当て、
前記複数のファブリックパケットのそれぞれに割り当てられた仮想レーンを検出し、
前記複数のデータ単位が分割される前記ファブリックパケットに割り当てられた前記仮想レーンに基づいて、VLバッファに複数のデータ単位をバッファ処理し、
第1のVLバッファが送信する準備のできた複数のデータ単位をバッファ処理したことを検出し、
前記第1のVLバッファに対する複数のデータ単位をプルし、前記複数のデータ単位を、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加し、
前記第1のVLバッファから複数のデータ単位を追加する間に、前記第1のVLバッファよりも高い優先度レベルを有する第2のVLバッファが送信する準備ができた複数のデータ単位をバッファ処理したことを検出し、
前記第1のVLバッファからの複数のデータ単位のプルを停止すること、および、前記第2のVLバッファから複数のデータ単位をプルし、前記複数のデータ単位を、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加することにより、前記第1のVLバッファよりも高い優先度レベルを有する第2のVLバッファが送信する準備ができた複数のデータ単位をバッファ処理したことを前記検出することに応答して、前記第2のVLバッファからの複数のデータ単位の送信を優先して、前記第1のVLバッファにおける複数のデータ単位の送信を先取りする回路およびロジックを更に備える、
装置。 - 装置であって、
複数のファブリックパケットのそれぞれを、ヘッドデータ単位を含む第1のデータ単位を含み、後に複数のボディーデータ単位が続き、テールデータ単位を含む最後のデータ単位で終了する、複数の異なるタイプのデータ単位に分割し、
複数のファブリックパケットから分割された複数のデータ単位がインターリーブされた、インターリーブ済みの複数のデータ単位の送信ストリームを生成するための回路およびロジックを備え、
各ボディーデータ単位は、ボディーデータ単位であることを示す表示、およびデータペイロードから構成され、各データ単位は、予め定められた固定サイズを有し、各ファブリックパケットは、それぞれのメッセージに対応するデータを含み、
前記装置は、複数の仮想レーン(VL)バッファの各々に割り当てられたバッファ空間を含む送信バッファを有する送信ポートを更に備え、
各VLバッファは、各仮想レーンに関連し、
前記送信ポートは、
第1のファブリックパケットから分割された複数のデータ単位を、第1のVLバッファにバッファ処理し、
第2のファブリックパケットから分割された複数のデータ単位を第2のVLバッファにバッファ処理し、
前記第1のVLバッファからの、前記第1のファブリックパケットから分割された前記複数のデータ単位の少なくとも一部分を含む複数のデータ単位を、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加し、
前記第2のVLバッファからの、前記第2のファブリックパケットから分割された前記複数のデータ単位の少なくとも一部分を含む複数のデータ単位を、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加することにより、前記第2のファブリックパケットから分割された複数のデータ単位を、前記第1のファブリックパケットとインターリーブするための回路およびロジックを更に備える、
装置。 - 前記装置は、
前記複数のファブリックパケットのそれぞれから分割された前記複数のデータ単位を、前記複数のファブリックパケットのそれぞれに割り当てられた優先度レベルに関連させ、
より高い優先度を有する複数のデータ単位のストリームが、インターリーブ済みの複数のデータ単位の前記送信ストリームにおいてより低い優先度を有する複数のデータ単位のストリームへとインターリーブされるように、ダイナミックファブリックパケット先取りを促すための回路およびロジックを更に備える、請求項2に記載の装置。 - 前記装置は、
連続的に高くなる複数の優先度レベルを有する複数のデータ単位の送信が、複数のレベルのインターリーブを有する入れ子の形で複数のデータ単位の送信を先取りする、複数のレベルのファブリックパケット先取りを促すための回路およびロジックを更に備える、請求項1または3に記載の装置。 - 前記装置は、
第1の仮想レーンおよび第3の仮想レーンに対する同一の優先度レベルを割り当て、
第1のファブリックパケットから分割された複数のデータ単位を、前記第1のVLバッファにバッファ処理し、第3のファブリックパケットから分割された複数のデータ単位を、前記第3の仮想レーンに関連する第3のVLバッファにバッファ処理し、
前記第1のVLバッファに対する複数のデータ単位をプルし、前記複数のデータ単位を、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加し、
前記第1のVLバッファからの複数のデータ単位を追加する間に、前記第1のVLバッファにおける前記第1のファブリックパケットから分割された複数のデータ単位の利用可能性におけるバブルを検出し、
前記第3のVLバッファにおける複数のデータ単位が送信する準備ができていることを検出し、
前記バブルおよび前記第3のVLバッファにおける複数のデータ単位が送信する準備ができていることを検出することに応答して、前記第3のVLバッファから複数のデータ単位をプルし、前記複数のデータ単位を、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加することにより、インターリーブ済みの複数のデータ単位の前記送信ストリームにおける前記第3のVLバッファの複数のデータ単位の送信をインターリーブするための回路およびロジックを更に備える、請求項1に記載の装置。 - インターリーブ済みの前記複数のデータ単位は、少なくとも3つのファブリックパケットから分割されたインターリーブ済みの複数のデータ単位を含み、
インターリーブ済みの前記複数のデータ単位は、少なくとも2つのレベルを有する入れ子の形でインターリーブされる、請求項1〜5のいずれか1項に記載の装置。 - 前記装置は、
前記第2のファブリックパケットから分割された最後のデータ単位が追加されるまで、前記第2のVLバッファからの複数のデータ単位を複数のデータ単位の前記送信ストリームに継続して追加し、
前記第1のファブリックパケットから分割された前記最後のデータ単位が追加されるまで、前記第1のVLバッファからの複数のデータ単位をインターリーブ済みの複数のデータ単位の前記送信ストリームへと追加することを再開する回路およびロジックを更に備える、請求項2に記載の装置。 - 前記装置は、
第3のファブリックパケットから分割された複数のデータ単位を第3のVLバッファにバッファ処理し、
前記第2のファブリックパケットから分割された前記複数のデータ単位の少なくとも一部分がインターリーブ済みの複数のデータ単位の前記送信ストリームに追加された後、前記第3のVLバッファからの、前記第3のファブリックパケットから分割された前記複数のデータ単位の少なくとも一部分を含む複数のデータ単位を、インターリーブされた複数のデータ単位の前記送信ストリームに追加することにより、前記第3のファブリックパケットから分割された複数のデータ単位を、前記第1のファブリックパケットおよび前記第2のファブリックパケットとインターリーブするための回路およびロジックを更に備える、
請求項2または7に記載の装置。 - 前記装置は、
複数のデータ単位がプルされて、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加される前記複数のVLバッファの順序を追跡して、少なくとも1つの入れ子のレベルのインターリーブを有するインターリーブ済みの複数のデータ単位の送信ストリームを生成する回路およびロジックを更に備える、請求項2、7、および8のいずれか1項に記載の装置。 - 複数のデータ単位がプルされて、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加される前記複数のVLバッファの前記順序は、VLスタックおよびVLレジスタを用いることにより追跡され、
前記VLレジスタは、現在の複数のVLバッファデータ単位がプルされていることを識別するVL表示を格納するべく用いられ、新しいレベルのインターリーブが、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加される場合、前記複数のデータ単位がプルされるVLバッファの前記仮想レーンは、前記VLレジスタに格納され、前記VLレジスタにおける前記VL表示が前記VLスタックにプッシュされ、前記新しいレベルのインターリーブが完了すると、前記VLスタックの前記VL表示は、前記VLレジスタへとポップされる、請求項9に記載の装置。 - 前記装置は、
VLマーカの後の複数のデータ単位に関連する仮想レーンを識別する表示の使用を含む、前記VLマーカを含む制御データ単位を生成し、
前記VLマーカをインターリーブ済みの複数のデータ単位の前記送信ストリームに追加する回路およびロジックを更に備え、
前記VLレジスタは、前記VLマーカの表示により更新され、更新されるその前の前記VLレジスタの表示は、前記VLスタックにプッシュされる、請求項10に記載の装置。 - 前記VLマーカの表示が前記スタック内にあるか否かを検出することと、
前記VLマーカの表示が前記スタック内にある場合に、前記VLマーカの表示を前記スタックからプルすることとを更に含む、請求項11に記載の装置。 - 複数のデータ単位の複数のグループは、固定数のデータ単位を含むリンクパケットにバンドルされ、
各リンクパケットは、1つのリンク転送分の寿命を有する、請求項1〜12のいずれか1項に記載の装置。 - 受信ポートおよび受信バッファを備えた装置であって、
前記受信バッファにおけるバッファ空間は、複数の仮想レーン(VL)バッファに対して割り当てられ、
各VLバッファは、それぞれの仮想レーンに対して割り当てられ、
前記装置は、
インターリーブ済みの複数のデータ単位の送信済みのストリームを受信し、
インターリーブ済みの複数のデータ単位の前記送信済みのストリームにおける複数のデータ単位の各グループに関連する仮想レーンを判断し、複数のデータ単位の当該グループが関連する前記仮想レーンに対して割り当てられた前記VLバッファに、複数のデータ単位の各グループに対する複数のデータ単位をバッファ処理することにより、インターリーブ済みの複数のデータ単位の送信済みの前記ストリームから複数のデータ単位を分離して、同一のファブリックパケットから互いに分割された複数のデータ単位を、受信バッファにバッファ処理する回路およびロジックを備え、
複数のデータ単位のそれぞれは、関連するファブリックパケットからのデータの分割された一部を含み、
各ファブリックパケットは、ヘッドデータ単位を含む第1のデータ単位を含み、後に複数のボディーデータ単位が続き、テールデータ単位を含む最後のデータ単位で終了する、複数の異なるタイプのデータ単位に分割され、
各ボディーデータ単位は、ボディーデータ単位であることを示す表示、およびデータペイロードから構成され、各データ単位は、予め定められた固定サイズを有し、各ファブリックパケットは、仮想レーンに関連する、装置。 - 前記受信ポートは、
各データ単位のタイプを検出し、
第1の仮想レーンに関連するヘッドデータ単位を検出することにより、複数のデータ単位の第1のグループの第1のデータ単位を検出し、
前記第1の仮想レーンに関連する第1のVLバッファに複数のデータ単位の前記第1のグループの複数のデータ単位をバッファ処理し、
前記第1の仮想レーンに関連するテール単位を受信する前に、第2の仮想レーンに関連するヘッドデータ単位が受信されたことを検出することにより、複数のデータ単位のインターリーブ済みのグループの第1のデータ単位を検出し、
前記第2の仮想レーンに関連する第2のVLバッファにおける複数のデータ単位の前記インターリーブ済みのグループの複数のデータ単位をバッファし、
前記第2の仮想レーンに関連するテール単位を検出することにより、複数のデータ単位の前記インターリーブ済みのグループの終了を検出し、
前記第2の仮想レーンに関連する前記テール単位の後の前記データ単位を、複数のデータ単位の次のグループの前記第1のデータ単位を規定するものとして検出し、
複数のデータ単位の前記次のグループの前記第1のデータ単位がヘッドデータ単位、本体データ単位、またはテールデータ単位であるかに基づいて、複数のデータ単位の前記次のグループの前記複数のデータ単位に関連する仮想レーンを決定する回路およびロジックを更に有する、請求項14に記載の装置。 - 複数のデータ単位の前記インターリーブ済みの複数のグループは、少なくとも3つのファブリックパケットから分割された複数のデータ単位の複数のグループを含み、
複数のデータ単位の前記インターリーブ済みの複数のグループは、少なくとも2つのレベルを有する入れ子の形でインターリーブされる、請求項14または15に記載の装置。 - 前記受信ポートは、
複数のデータ単位の送信済みの前記ストリームにおいて受信されたときのデータの複数のグループに関連する前記複数の仮想レーンの順序を追跡し、
複数のデータ単位の各グループにおけるどの複数のVLバッファデータ単位がバッファ処理されるべきかを決定するべく、追跡された前記順序を使用する回路およびロジックを更に有する、請求項16に記載の装置。 - 前記複数の仮想レーンの順序は、VLスタックおよびVLレジスタを用いることにより追跡され、
前記VLレジスタは、現在の複数のVLバッファデータ単位がバッファ処理されていることを識別するVL表示を格納するべく用いられ、
新しいレベルのインターリーブがインターリーブ済みの複数のデータ単位の送信済みの前記ストリームにおいて検出された場合、複数のデータ単位のインターリーブ済みの前記グループに関連する前記仮想レーンは、前記VLレジスタに格納され、前記VL表示は、前記VLスタックにプッシュされ、
前記新しいレベルのインターリーブが完了すると、前記スタックの前記VL表示は、前記VLレジスタへとポップされる、請求項16または17に記載の装置。 - 前記装置は、
VLマーカの後の複数のデータ単位に関連する仮想レーンを識別する表示の使用を含む、VLマーカを含むインターリーブされた複数のデータ単位の送信済みの前記ストリームにおいて制御データ単位を検出し、
前記VLマーカの表示により前記VLレジスタを更新し、
更新された前記VLレジスタの表示を前記VLスタックにプッシュするための、回路およびロジックを有する送信ポートを更に備える、請求項18に記載の装置。 - 前記VLマーカの表示が前記スタック内にあるか否かを検出することと、
前記VLマーカの表示が前記スタック内にある場合に、前記VLマーカの表示を前記スタックからプルすることとを更に含む、請求項19に記載の装置。 - インターリーブ済みの複数のデータ単位の送信済みの前記ストリームにおける複数のシーケンシャルなデータ単位の複数のグループは、固定数のデータ単位を含む複数のリンクパケットにバンドルされ、
前記複数のリンクパケットの一部は、少なくとも2つのファブリックパケットからの複数のデータ単位を含み、
各リンクパケットは、1つのリンク転送分の寿命を有する、請求項14〜20のいずれか1項に記載の装置。 - 装置であって、
リンクインターフェースがリンクインターフェースピアに通信可能に結合されるリンクを含むシステムに取り付けられる前記リンクインターフェースを備え、
前記リンクインターフェースは、
複数のファブリックパケットのそれぞれを、ヘッドデータ単位を含む第1のデータ単位を含み、後に複数のボディーデータ単位が続き、テールデータ単位を含む最後のデータ単位で終了する、複数の異なるタイプのデータ単位に分割し、
複数のファブリックパケットから分割された複数のデータ単位がインターリーブされる、インターリーブ済みの複数のデータ単位の送信ストリームを生成し、
前記リンクインターフェースピアに向かう前記リンクにアウトバウンドされたインターリーブ済みの複数のデータ単位の前記送信ストリームを送信し、
前記リンクインターフェースピアから送信されたインターリーブ済みの複数のデータ単位の送信済みのストリームを受信し、
複数のデータ単位を、インターリーブ済みの複数のデータ単位の送信済みの前記ストリームから分離し、受信バッファに同一のファブリックパケットから互いに分割された複数のデータ単位をバッファ処理するための回路およびロジックを有し、
各ボディーデータ単位は、ボディーデータ単位であることを示す表示、およびデータペイロードから構成され、各データ単位は、予め定められた固定サイズを有し、各ファブリックパケットは、それぞれのメッセージに対応するデータを搬送し、
複数のデータ単位のぞれぞれは、関連するファブリックパケットからのデータの分割された一部を含み、
インターリーブ済みの複数のデータ単位の送信済みの前記ストリームは、送信済みの前記ストリームにおいてインターリーブされる複数のデータ単位を含み、
前記装置は、
複数のファブリックパケットのそれぞれから分割された前記複数のデータ単位を、前記ファブリックパケットに割り当てられた優先度レベルに関連させ、
より高い優先度を有する複数のデータ単位のストリームが、インターリーブ済みの複数のデータ単位の前記送信ストリームにおいてより低い優先度を有する複数のデータ単位のストリームへとインターリーブされるように、より高い優先度レベルを有する複数のデータ単位の送信がより低い優先度レベルを有する複数のデータ単位の送信を先取りする、ファブリックパケット先取りを促し、
連続的に高くなる優先度レベルを有する複数のデータ単位の送信が、複数のレベルのインターリーブを有する入れ子の形で複数のデータ単位の送信を先取りする、複数のレベルのファブリックパケット先取りを促す、回路およびロジックを更に備え、
前記リンクインターフェースは、複数の仮想レーン(VL)ファーストインファーストアウト(FIFO)バッファの各々に割り当てられたバッファ空間を有する送信バッファを更に含み、
各VL FIFOバッファは、各仮想レーンに関連し、
前記リンクインターフェースは、
複数のそれぞれの仮想レーンおよび関連するVL FIFOバッファに対する優先度レベルを割り当て、
複数のそれぞれのファブリックパケットに割り当てられた仮想レーンを検出し、
前記複数のデータ単位が分割される前記ファブリックパケットに割り当てられた前記仮想レーンに基づいて、複数のデータ単位をVL FIFOバッファにバッファ処理し、
第1のVL FIFOバッファが送信する準備のできた複数のデータ単位をバッファ処理したことを検出し、
前記第1のVL FIFOバッファに対する複数のデータ単位をプルし、前記複数のデータ単位を、複数のデータ単位の送信された前記ストリームに追加し、
前記第1のVL FIFOバッファから複数のデータ単位を追加する間に、前記第1のVL FIFOバッファよりも高い優先度レベルを有する第2のVL FIFOバッファが送信する準備ができた複数のデータ単位をバッファ処理したことを検出し、
前記第1のVL FIFOバッファからの複数のデータ単位のプルを停止し、前記第2のVL FIFOバッファから複数のデータ単位をプルし、前記複数のデータ単位を、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加することにより、前記第1のVL FIFOバッファよりも高い優先度レベルを有する第2のVL FIFOバッファが送信する準備ができた複数のデータ単位をバッファ処理したことを前記検出することに応答して、前記第2のVL FIFOバッファからの複数のデータ単位の送信のために、前記第1のVL FIFOバッファにおける複数のデータ単位の送信を先取りする回路およびロジックを更に備える、
装置。 - 装置であって、
リンクインターフェースがリンクインターフェースピアに通信可能に結合されるリンクを含むシステムに取り付けられる前記リンクインターフェースを備え、
前記リンクインターフェースは、
複数のファブリックパケットのそれぞれを、ヘッドデータ単位を含む第1のデータ単位を含み、後に複数のボディーデータ単位が続き、テールデータ単位を含む最後のデータ単位で終了する、複数の異なるタイプのデータ単位に分割し、
複数のファブリックパケットから分割された複数のデータ単位がインターリーブされる、インターリーブ済みの複数のデータ単位の送信ストリームを生成し、
前記リンクインターフェースピアに向かう前記リンクにアウトバウンドされたインターリーブ済みの複数のデータ単位の前記送信ストリームを送信し、
前記リンクインターフェースピアから送信されたインターリーブ済みの複数のデータ単位の送信済みのストリームを受信し、
複数のデータ単位を、インターリーブ済みの複数のデータ単位の送信済みの前記ストリームから分離し、受信バッファに同一のファブリックパケットから互いに分割された複数のデータ単位をバッファ処理するための回路およびロジックを有し、
各ボディーデータ単位は、ボディーデータ単位であることを示す表示、およびデータペイロードから構成され、各データ単位は、予め定められた固定サイズを有し、各ファブリックパケットは、それぞれのメッセージに対応するデータを搬送し、
複数のデータ単位のぞれぞれは、関連するファブリックパケットからのデータの分割された一部を含み、
インターリーブ済みの複数のデータ単位の送信済みの前記ストリームは、送信済みの前記ストリームにおいてインターリーブされる複数のデータ単位を含み、
前記リンクインターフェースは、複数の仮想レーン(VL)ファーストインファーストアウト(FIFO)バッファに割り当てられたバッファ空間を有する送信バッファを更に含み、
各VL FIFOバッファは、各仮想レーンに関連し、
前記リンクインターフェースは、
第1のファブリックパケットから分割された複数のデータ単位を、第1のVL FIFOバッファにバッファ処理し、
第2のファブリックパケットから分割された複数のデータ単位を、第2のVL FIFOバッファにバッファ処理し、
前記第1のVL FIFOバッファからの、前記第1のファブリックパケットから分割された前記複数のデータ単位の少なくとも一部分を含む複数のデータ単位を、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加し、
前記第2のVL FIFOバッファからの、前記第2のファブリックパケットから分割された前記複数のデータ単位の少なくとも一部分を含む複数のデータ単位を、インターリーブ済みの複数のデータ単位の前記送信ストリームに追加することにより、前記第1のファブリックパケットと前記第2のファブリックパケットから分割された複数のデータ単位をインターリーブする回路およびロジックを更に備える、
装置。 - 装置であって、
リンクインターフェースがリンクインターフェースピアに通信可能に結合されるリンクを含むシステムに取り付けられる前記リンクインターフェースを備え、
前記リンクインターフェースは、
複数のファブリックパケットのそれぞれを、ヘッドデータ単位を含む第1のデータ単位を含み、後に複数のボディーデータ単位が続き、テールデータ単位を含む最後のデータ単位で終了する、複数の異なるタイプのデータ単位に分割し、
複数のファブリックパケットから分割された複数のデータ単位がインターリーブされる、インターリーブ済みの複数のデータ単位の送信ストリームを生成し、
前記リンクインターフェースピアに向かう前記リンクにアウトバウンドされたインターリーブ済みの複数のデータ単位の前記送信ストリームを送信し、
前記リンクインターフェースピアから送信されたインターリーブ済みの複数のデータ単位の送信済みのストリームを受信し、
複数のデータ単位を、インターリーブ済みの複数のデータ単位の送信済みの前記ストリームから分離し、受信バッファに同一のファブリックパケットから互いに分割された複数のデータ単位をバッファ処理するための回路およびロジックを有し、
各ボディーデータ単位は、ボディーデータ単位であることを示す表示、およびデータペイロードから構成され、各データ単位は、予め定められた固定サイズを有し、各ファブリックパケットは、それぞれのメッセージに対応するデータを搬送し、
複数のデータ単位のぞれぞれは、関連するファブリックパケットからのデータの分割された一部を含み、
インターリーブ済みの複数のデータ単位の送信済みの前記ストリームは、送信済みの前記ストリームにおいてインターリーブされる複数のデータ単位を含み、
前記受信バッファにおけるバッファ空間は、複数の仮想レーン(VL)ファーストインファーストアウト(FIFO)バッファに対して割り当てられ、
各VL FIFOバッファは、各仮想レーンに対して割り当てられ、
前記装置は、
インターリーブ済みの複数のデータ単位の送信済みの前記ストリームにおける複数のデータ単位に関連する仮想レーンを決定し、
前記複数のデータ単位が関連する前記仮想レーンに対して割り当てられた前記VL FIFOバッファに、複数のデータ単位をバッファ処理するための回路およびロジックを有する送信ポートを更に備える、
装置。 - インターリーブ済みの前記複数のデータ単位の前記送信ストリームにおけるインターリーブ済みの複数のデータ単位は、少なくとも3つのファブリックパケットから分割されたインターリーブ済みの複数のデータ単位を含み、
インターリーブ済みの複数のデータ単位の前記送信ストリームは、少なくとも2つのレベルを有する入れ子の形でインターリーブされる、請求項22から24のいずれか一項に記載の装置。 - 複数のファブリックパケットのそれぞれから分割された前記複数のデータ単位を、前記ファブリックパケットに割り当てられた優先度レベルに関連させ、
より高い優先度を有する複数のデータ単位のストリームが、インターリーブ済みの複数のデータ単位の前記送信ストリームにおいてより低い優先度を有する複数のデータ単位のストリームへとインターリーブされるように、より高い優先度レベルを有する複数のデータ単位の送信がより低い優先度レベルを有する複数のデータ単位の送信を先取りする、ファブリックパケット先取りを促し、
連続的に高くなる優先度レベルを有する複数のデータ単位の送信が、複数のレベルのインターリーブを有する入れ子の形で複数のデータ単位の送信を先取りする、複数のレベルのファブリックパケット先取りを促す、回路およびロジックを更に備える、請求項23または24に記載の装置。 - 前記インターリーブ済みの複数のデータ単位は、少なくとも3つのファブリックパケットから分割された複数のデータ単位を含み、
前記インターリーブ済みの前記複数のデータ単位は、少なくとも2つのレベルを有する入れ子の形でインターリーブされ、
前記リンクインターフェースは、
複数のデータ単位の送信済みの前記ストリームにおいて受信されたときの複数のデータ単位に関連する前記複数の仮想レーンの順序を追跡し、
どの複数のVL FIFOバッファデータ単位がバッファ処理されるべきかを決定するべく、追跡された前記順序を使用するための回路およびロジックを更に有する、請求項24に記載の装置。 - 前記装置は、前記リンクインターフェースが集積されるホストファブリックインターフェースを有するホストインターフェースチップを備え、
前記ホストファブリックインターフェースは、
送信ポートに結合され、少なくとも1つの送信バッファを含む送信エンジンと、
受信ポートに結合され、少なくとも1つの受信バッファを含む受信エンジンと、
前記送信エンジンおよび前記受信エンジンの各々に結合された周辺構成要素相互接続エクスプレス(PCIe)インターフェースとを更に含む、請求項22〜27のいずれか1項に記載の装置。 - 前記装置は、システムオンチップ(SoC)を備え、
前記システムオンチップは、
送信ポートに結合され、少なくとも1つの送信バッファを含む送信エンジン、
受信ポートに結合され、少なくとも1つの受信バッファを含む受信エンジン、および
前記送信エンジンおよび前記受信エンジンの各々に結合された周辺構成要素相互接続エクスプレス(PCIe)インターフェースを有し、前記リンクインターフェースが集積されるホストファブリックインターフェースと、
前記ホストファブリックインターフェース上でPCIeインターフェースに結合された前記PCIeインターフェースを含むプロセッサとを有する、請求項22〜28のいずれか1項に記載の装置。 - 送信ポートを更に備える、請求項1に記載の装置。
- 前記回路およびロジックは、リンクにアウトバウンドされた前記送信ストリームを送信する、請求項1または2に記載の装置。
- 送信ポートおよび受信ポートを更に備える、請求項22または23に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/136,293 | 2013-12-20 | ||
US14/136,293 US10230665B2 (en) | 2013-12-20 | 2013-12-20 | Hierarchical/lossless packet preemption to reduce latency jitter in flow-controlled packet-based networks |
PCT/US2014/069801 WO2015094918A1 (en) | 2013-12-20 | 2014-12-11 | Hierarchical/lossless packet preemption to reduce latency jitter in flow-controlled packet-based networks |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018007733A Division JP6548756B2 (ja) | 2013-12-20 | 2018-01-19 | 方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016527790A JP2016527790A (ja) | 2016-09-08 |
JP2016527790A5 JP2016527790A5 (ja) | 2017-05-18 |
JP6311149B2 true JP6311149B2 (ja) | 2018-04-18 |
Family
ID=53401368
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016525851A Active JP6311149B2 (ja) | 2013-12-20 | 2014-12-11 | 装置 |
JP2018007733A Active JP6548756B2 (ja) | 2013-12-20 | 2018-01-19 | 方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018007733A Active JP6548756B2 (ja) | 2013-12-20 | 2018-01-19 | 方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10230665B2 (ja) |
EP (1) | EP3028421B1 (ja) |
JP (2) | JP6311149B2 (ja) |
KR (1) | KR20160014680A (ja) |
CN (1) | CN105359471A (ja) |
WO (1) | WO2015094918A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101844812B1 (ko) * | 2013-10-23 | 2018-04-03 | 인텔 코포레이션 | 고속 레인에서 가기능정지를 이용한 emi 완화 |
US10230665B2 (en) | 2013-12-20 | 2019-03-12 | Intel Corporation | Hierarchical/lossless packet preemption to reduce latency jitter in flow-controlled packet-based networks |
WO2017130724A1 (ja) * | 2016-01-27 | 2017-08-03 | ソニー株式会社 | データ処理装置、及び、データ処理方法 |
CN109391559B (zh) * | 2017-08-10 | 2022-10-18 | 华为技术有限公司 | 网络设备 |
KR101987346B1 (ko) * | 2017-09-01 | 2019-06-10 | 한국과학기술원 | 데이터 센터 간 광역 통신망에서 통계적 자원 할당 및 서비스 품질 보장 시스템과 이의 방법 |
US10659374B2 (en) | 2017-09-29 | 2020-05-19 | Electronics And Telecommunications Research Institute | Method and apparatus for controlling frame transmission |
CN110661728B (zh) * | 2019-09-12 | 2022-10-04 | 无锡江南计算技术研究所 | 多虚通道传输时共享与私有相结合的缓冲设计方法与装置 |
KR20220047443A (ko) * | 2020-10-08 | 2022-04-18 | 삼성전자주식회사 | 메모리 시스템, 이를 포함하는 전자 기기, 및 메모리 컨트롤러 |
US11636061B2 (en) | 2021-09-01 | 2023-04-25 | Xilinx, Inc. | On-demand packetization for a chip-to-chip interface |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01165245A (ja) | 1987-12-22 | 1989-06-29 | Fujitsu Ltd | 割込みパケット制御方式 |
DE69013886T2 (de) | 1990-04-11 | 1995-05-18 | Ibm | Mehrfachzugriffssteuerung für ein Kommunikationssystem mit Reservierungsblockübermittlung. |
US5168495A (en) * | 1991-05-10 | 1992-12-01 | Ibm Corporation | Nested frame communication protocol |
US5883893A (en) | 1996-09-10 | 1999-03-16 | Cisco Technology, Inc. | ATM voice transport protocol |
GB2332333B (en) | 1997-12-09 | 2003-01-15 | Sony Uk Ltd | An ATM re-assembly circuit and method |
AU718974B2 (en) * | 1998-02-14 | 2000-05-04 | Samsung Electronics Co., Ltd. | Data communication device and method for mobile communication system with dedicated control channel |
US7010607B1 (en) * | 1999-09-15 | 2006-03-07 | Hewlett-Packard Development Company, L.P. | Method for training a communication link between ports to correct for errors |
US6628615B1 (en) * | 2000-01-18 | 2003-09-30 | International Business Machines Corporation | Two level virtual channels |
ATE392074T1 (de) | 2000-02-28 | 2008-04-15 | Alcatel Lucent | Vermittlungseinrichtung und vermittlungsverfahren |
US7046633B2 (en) * | 2000-09-21 | 2006-05-16 | Avici Systems, Inc. | Router implemented with a gamma graph interconnection network |
US7039058B2 (en) * | 2000-09-21 | 2006-05-02 | Avici Systems, Inc. | Switched interconnection network with increased bandwidth and port count |
EP1209864A3 (en) * | 2000-10-24 | 2004-03-17 | Sagem SA | System and method for providing multiple quality of service levels over a single asynchronous transfer mode (ATM) virtual communications channel |
US6888848B2 (en) * | 2000-12-14 | 2005-05-03 | Nortel Networks Limited | Compact segmentation of variable-size packet streams |
US7486685B2 (en) | 2001-06-29 | 2009-02-03 | Rankin Linda J | System for sharing channels by interleaving flits |
US6912602B2 (en) | 2001-11-20 | 2005-06-28 | Broadcom Corporation | System having two or more packet interfaces, a switch, and a shared packet DMA circuit |
JP3972936B2 (ja) | 2002-10-15 | 2007-09-05 | エステーミクロエレクトロニクス ソシエテ アノニム | デジタルメッセージ伝送プロトコル |
US20050172091A1 (en) | 2004-01-29 | 2005-08-04 | Rotithor Hemant G. | Method and an apparatus for interleaving read data return in a packetized interconnect to memory |
US20050254423A1 (en) * | 2004-05-12 | 2005-11-17 | Nokia Corporation | Rate shaper algorithm |
US7467358B2 (en) * | 2004-06-03 | 2008-12-16 | Gwangju Institute Of Science And Technology | Asynchronous switch based on butterfly fat-tree for network on chip application |
US7586918B2 (en) | 2004-09-22 | 2009-09-08 | Cisco Technology, Inc. | Link fragment interleaving with fragmentation preceding queuing |
JP2006128859A (ja) | 2004-10-27 | 2006-05-18 | Yokogawa Electric Corp | フレーム転送装置及びフレーム転送システム |
CN100574330C (zh) | 2005-08-09 | 2009-12-23 | 中兴通讯股份有限公司 | 无线链路层中非确认模式协议数据单元的发送和接收方法 |
US8325768B2 (en) | 2005-08-24 | 2012-12-04 | Intel Corporation | Interleaving data packets in a packet-based communication system |
KR100763533B1 (ko) * | 2006-06-01 | 2007-10-05 | 삼성전자주식회사 | 버스 인버팅 코드 생성 장치 및 이를 이용한 버스 인버팅코드 생성 방법 |
US20080192774A1 (en) * | 2007-02-13 | 2008-08-14 | Samsung Electronics Co., Ltd. | Method and system for aggregating multiple small packets in wireless communication |
CN101232456B (zh) | 2008-01-25 | 2010-09-08 | 浙江大学 | 一种分布式可测试片上网络路由器 |
CN101789892B (zh) | 2010-03-11 | 2012-05-09 | 浙江大学 | 全节点虚通道的片上网络环形拓扑数据交换方法及其系统 |
JP2012155650A (ja) * | 2011-01-28 | 2012-08-16 | Toshiba Corp | ルータ及びメニーコアシステム |
US8798038B2 (en) * | 2011-08-26 | 2014-08-05 | Sonics, Inc. | Efficient header generation in packetized protocols for flexible system on chip architectures |
US8687483B2 (en) | 2011-09-22 | 2014-04-01 | Ixia | Parallel traffic generator with priority flow control |
US10230665B2 (en) | 2013-12-20 | 2019-03-12 | Intel Corporation | Hierarchical/lossless packet preemption to reduce latency jitter in flow-controlled packet-based networks |
-
2013
- 2013-12-20 US US14/136,293 patent/US10230665B2/en active Active
-
2014
- 2014-12-11 CN CN201480038115.8A patent/CN105359471A/zh active Pending
- 2014-12-11 JP JP2016525851A patent/JP6311149B2/ja active Active
- 2014-12-11 WO PCT/US2014/069801 patent/WO2015094918A1/en active Application Filing
- 2014-12-11 EP EP14872243.2A patent/EP3028421B1/en active Active
- 2014-12-11 KR KR1020157036657A patent/KR20160014680A/ko active Search and Examination
-
2018
- 2018-01-19 JP JP2018007733A patent/JP6548756B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US10230665B2 (en) | 2019-03-12 |
EP3028421A1 (en) | 2016-06-08 |
JP2018082500A (ja) | 2018-05-24 |
JP6548756B2 (ja) | 2019-07-24 |
EP3028421B1 (en) | 2020-02-26 |
US20150180799A1 (en) | 2015-06-25 |
WO2015094918A1 (en) | 2015-06-25 |
CN105359471A (zh) | 2016-02-24 |
EP3028421A4 (en) | 2017-07-19 |
JP2016527790A (ja) | 2016-09-08 |
KR20160014680A (ko) | 2016-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6367326B2 (ja) | リンクファブリックパケットとは非同期なフリットバンドルを用いたリンク転送、ビットエラー検出、及びリンクリトライ | |
KR101955831B1 (ko) | 데이터 손상의 확률을 감소시키기 위한 레인 에러 검출 및 레인 제거 메커니즘 | |
JP6548756B2 (ja) | 方法 | |
JP6297698B2 (ja) | ハイパフォーマンスファブリックにおける柔軟なクレジット交換の方法及びシステム | |
US20170237671A1 (en) | Method, apparatus, and system for qos within high performance fabrics | |
US9819452B2 (en) | Efficient link layer retry protocol utilizing implicit acknowledgements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160607 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161227 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20170327 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170919 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180119 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20180126 |
|
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: 20180220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180222 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6311149 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |