JP2006189937A - 受信装置、送受信装置、受信方法及び送受信方法 - Google Patents
受信装置、送受信装置、受信方法及び送受信方法 Download PDFInfo
- Publication number
- JP2006189937A JP2006189937A JP2004381785A JP2004381785A JP2006189937A JP 2006189937 A JP2006189937 A JP 2006189937A JP 2004381785 A JP2004381785 A JP 2004381785A JP 2004381785 A JP2004381785 A JP 2004381785A JP 2006189937 A JP2006189937 A JP 2006189937A
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer
- transmission
- allocated capacity
- reception
- 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.)
- Withdrawn
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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Systems (AREA)
Abstract
【課題】受信バッファの利用効率を向上させる。
【解決手段】 受信バッファ12と、データタイプ毎に前記受信バッファにおける割り当て容量の初期値を決定すると共に、前記割り当て容量の初期値を前記受信バッファの開放に伴って更新する第1のバッファ制御手段13と、前記割り当て容量の初期値又は更新後の割り当て容量を動的に更新する第2のバッファ制御手段13とを具備したことを特徴とする。
【選択図】 図1
【解決手段】 受信バッファ12と、データタイプ毎に前記受信バッファにおける割り当て容量の初期値を決定すると共に、前記割り当て容量の初期値を前記受信バッファの開放に伴って更新する第1のバッファ制御手段13と、前記割り当て容量の初期値又は更新後の割り当て容量を動的に更新する第2のバッファ制御手段13とを具備したことを特徴とする。
【選択図】 図1
Description
本発明は、高速伝送を可能にする例えばPCI Express規格等に好適な受信装置、送受信装置、受信方法及び送受信方法に関する。
近年、高速なデータ伝送に対応した機器が開発されている。例えば、コンピュータシステムにおいては、CPU、メモリ、グラフィックコントローラ、ストレージ機器、周辺機器相互間等のデータ伝送に用いる高速バスとして、PCI Expressが規格化されている。
一般的には、送受信機相互間では、データ伝送を確実に行うために、フロー制御が実施される。フロー制御は、受信バッファがオーバーフローしないように、送信データのデータ量(伝送速度)を決定するものである。
例えば、特許文献1においては、動的にフロー制御を行う手法が開示されている。特許文献1の手法は、アプリケーション毎にフロー制御を行うものである。即ち、将来的に受信するパケットを各アプリケーションが管理し、優先度が高いアプリケーションプロトコルに受信バッファの割り当てを大きくするように動的な制御を行うものである。
しかしながら、特許文献1の手法では、各アプリケーションにおいてフロー制御をサポートする必要がある。また、パケットタイプ等の種々のデータ種類毎にフロー制御することはできず、バッファを十分に活用していない。
これに対し、PCI Express規格では、非特許文献1に記載されているように、各パケットタイプ毎に受信バッファの割り当てを行うようになっている。PCI Express規格では、送信側において、受信側バッファ(受信パッファ)の各パケットタイプ毎の割り当て容量の情報(クレジット値)と送信したデータ量とを比較する。即ち、先ず、受信側からバッファの容量の情報を送信側に通知することで、送信側のフロー制御の初期化が行われる。送信側は、クレジット値と送信データ量との比較によって、送信の可否を判断するのである。
特開平11−327938号公報
PCI Express Base Specification 1.0a, PCI-SIG 2.6. Ordering and Receive Buffer Flow Control, pp.100
しかしながら、受信バッファの各パケットタイプ毎の割り当てが妥当でないこともある。即ち、比較的伝送するデータ量が大きいパケットタイプに比較的少ない容量が割り当てられ、比較的伝送するデータ量が小さいパケットタイプに比較的大きい容量を割り当てられる場合がある。この場合には、割り当て容量の初期値に従ったフロー制御を実施すると、受信パッファに空きがあるにも拘わらず、データを送信することができなくなることがあり、受信バッファの利用効率が低下してしまうという問題点があった。
本発明はかかる問題点に鑑みてなされたものであって、受信バッファの各データタイプ毎の割り当てを柔軟に変更可能にすることにより、受信バッファの利用効率を向上させて、データ伝送を効率化することができる受信装置、送受信装置、受信方法及び送受信方法を提供することを目的とする。
本発明に係る受信装置は、受信バッファと、データタイプ毎に前記受信バッファにおける割り当て容量の初期値を決定すると共に、前記割り当て容量の初期値を前記受信バッファの開放に伴って更新する第1のバッファ制御手段と、前記割り当て容量の初期値又は更新後の割り当て容量を動的に更新する第2のバッファ制御手段とを具備したことを特徴とする。
本発明において、送信側は例えば受信バッファの割り当て容量の初期値及び送信した総データ量に基づいて、送信の可否を決定する。割り当て容量は、第1のバッファ制御手段によって、受信バッファが開放されることによって更新される。更に、第2のバッファ制御手段は、割り当て容量の初期値又は更新後の割り当て容量を動的に更新する。これにより、初期値の設定が必ずしも適切でない場合でも、受信バッファの利用効率は向上する。
本発明によれば、受信バッファの各データタイプ毎の割り当てを柔軟に変更可能にすることにより、受信バッファの利用効率を向上させて、データ伝送を効率化することができるという効果を有する。
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は本発明の第1の実施の形態に係る送受信装置を示すブロック図である。本実施の形態はPCI Express規格に適用させたものであるが、受信側の受信バッファの空き容量に応じて送信側でフロー制御を行う種々のシステムに適用可能である。
送信装置1及び受信装置11は例えばPCI Express規格に対応したものである。送信装置1はPCI Express規格のルートコンプレックス(Root Complex)に相当し、受信装置11はエンドポイント(End Point)に相当する。
なお、図1においては、送信装置1及び受信装置11のフロー制御に関する構成のみを示しており、他の機能を実現するための構成については図示及び説明を省略する。
PCI Expressのアーキテクチャは、トランザクション層、データリンク層及び物理層からなる階層構造を有する。送信装置1は階層構造の最上位のトランザクション層のパケット(トランザクションパケット:TLP)を送信する。TLPはPosted,Non−posted及びCompletionの3つのパケットタイプを有している。TLPはヘッダとデータとが配列されて構成されており、ヘッダ及びデータには夫々これらの3つのパケットタイプが設定される。即ち、TLPは6種類のデータタイプを有する。
また、PCI Expressにおいては、仮想チャネル(VC:Virtual Channel)と呼ばれる独立した複数の仮想通信パスが設定可能である。各仮想チャネルには、独立した受信バッファが設定され、相互に独立したフロー制御が行われる。図1の受信装置11は1つの仮想チャネルについて示すものであり、受信装置が複数の仮想チャネルを備える場合には、各仮想チャネル毎に図1に示す受信装置11と同様の構成が設けられる。
送信装置1は各仮想チャネル毎に、6種類のデータタイプのTLPを出力することができる。例えば、仮想チャネル数が8である場合には、送信装置1が出力するデータタイプの種類は48個となる。
送信装置1からのTLPは受信装置11において受信される。受信装置11は受信バッファ12を有している。受信バッファ12は、受信したTLP中のヘッダを格納する領域12a及びTLP中のデータを格納する領域12bを有する。領域12aは、Postedタイプのヘッダを格納する領域PH、Non−postedタイプのヘッダを格納する領域NPH及びCompletionタイプのヘッダを格納する領域CplHを含む。また、領域12bは、Postedタイプのデータを格納する領域PD、Non−postedタイプのデータを格納する領域NPD及びCompletionタイプのデータを格納する領域CplDを含む。
受信装置11は、データタイプに応じて、受信したデータを受信バッファ12の各領域に格納するようになっている。受信バッファ12に格納されたデータは、エンドポイント側のソフトウェアによって順次読出されるようになっている。
第1及び第2のバッファ制御手段としてのバッファ制御回路13は、受信バッファ12の各領域PH,NPH,CplH,PD,NPD,CplDのサイズの割り当てを行う。即ち、バッファ制御回路13によって、各データタイプ毎の容量の割り当てが行われる。バッファ制御回路13は、各データタイプ毎に割り当てた容量をフロー制御の初期値として管理する。
バッファ制御回路13は各データタイプに割り当てた領域の容量をクレジット値の初期値として送信装置1に送信するようになっている。クレジット値の送信には、データリンク層において生成するパケット(データリンクレイヤパケット:DLLP)が用いられる。
また、バッファ制御回路13は、受信バッファ12に格納されたデータの読み出しが行われて、受信バッファ12の領域が開放されると、開放された領域のクレジット値を開放された容量分だけ増加させるアップデート処理を行う。バッファ制御回路13はアップデートしたクレジット値を送信装置1に送信するようになっている。
送信装置1はDLLPによって伝送されたクレジット値を受信する。送信装置1の送信量メモリ3には、送信装置1が送信したデータ量の総計(消費したクレジットの合計)が記憶されている。送信制御回路2は受信したクレジット値と送信した総データ量との比較によって、送信の可否を判定する。即ち、送信装置1の送信制御回路2は、受信装置11に送信すべきデータがある場合には、受信装置11からのクレジット値と既に送信したデータの総量とを比較し、受信したクレジット値−送信した総データ量(消費したクレジット合計値)が送信すべきデータのデータ量よりも大きい場合に、送信すべきデータを受信装置11にTLPとして送信するようになっている。クレジット値と消費したクレジット合計値との差分が送信すべきデータのデータ量よりも小さい場合には、送信制御回路2は送信すべきデータを送信しないようになっている。
本実施の形態においては、バッファ制御回路13は、受信バッファ12における各データタイプ毎の領域の割り当てを変更することができるようになっている。図1の斜線部は各データタイプに割り当てられた領域の初期値を示している。領域12a内の無地の領域PHは、データタイプPHに対して初期状態から増大させた領域を示している。また、領域12b内の無地の領域PDは、データタイプPDに対して初期状態から増大させた領域を示している。
バッファ制御回路13は、受信したTLPのデータタイプの統計、即ち、トラフィックの統計を求める。バッファ制御回路13は、求めたトラフィック統計に基づいて、受信バッファ12の各領域の容量を増大させるか否かの決定及び増大させる量の決定を行うようになっている。
バッファ制御回路13は、受信バッファ12の各領域に割り当てる容量を変化させる毎に、増大させた領域の大きさに応じてクレジット値を更新し、更新したクレジット値を送信装置1に送信する。なお、DLLPにはフロー制御は適用されず、常時送受信可能である。
次に、このように構成された実施の形態の動作について図2及び図3のフローチャートを参照して説明する。図2は受信装置11におけるフロー制御を示し、図3は送信装置1におけるフロー制御を示している。
受信装置11はフロー制御の初期化時において、送信装置1からのデータ伝送に最低限必要な容量を受信バッファ12に設定する。この場合には、バッファ制御回路13は、データタイプ毎の伝送量の予測が可能であれば、その予測に従って特定のデータタイプのクレジット値及び受信バッファの確保領域を他のデータタイプのものよりも大きく設定してもよい。バッファ制御回路13は、設定した初期値のクレジット値をDLLPによって送信装置1に伝送する(ステップS1)。
ここで、送信装置1が所定のTLPを送信するものとする。例えば、受信装置11がメモリを有するものであって、送信装置1がそのメモリへの書込みのためのTLPを送信するものとする。メモリ書込みのTLPはPostedタイプのパケットである。
フロー制御の初期化直後は、受信バッファ12にはデータが格納されておらず、送信装置1はTLPの送信が可能である。送信装置1がメモリ書込みのTLPを送信すると、Postedタイプについての消費したクレジット合計値は送信量だけ増大する。この消費したクレジット合計値が送信量メモリ3に格納される。
一方、送信装置1からのTLPを受信した受信装置11は、受信したデータ量だけPostedタイプの受信したクレジット合計値を増大させる。なお、受信したクレジット合計値は送信側の消費したクレジット合計値と同じ値である。この受信したクレジット合計値は、受信バッファ12のオーバーフロー等の監視に用いられる。受信装置11において受信されたTLPは、受信バッファ12内のPostedタイプの領域PH,PDに格納される。
更に、送信装置1がメモリ書込みのためのTLPを送信するものとする。この場合には、送信装置1の送信制御回路2は、受信装置11から送られたクレジット値と送信量メモリ3に記憶されている消費したクレジット合計値とを比較し(ステップS11)、受信したクレジット値−消費したクレジット合計値が、送信しようとするデータのデータ量よりも大きい場合にはデータの送信を行い、小さい場合にはデータを送信しない(ステップS12)。
いま、(受信したクレジット値−消費したクレジット合計値)>(送信しようとするデータのデータ量)とすると、送信装置1はこのデータを受信装置11に送信する(ステップS13)。送信制御回路2は、送信量メモリ3に記憶させている消費したクレジット合計値に送信したデータのデータ量を加算して、新たな消費したクレジット合計値とする(ステップS14)。
一方、受信装置11は、受信したデータを受信バッファ12内の対応するデータタイプの格納領域に記憶させる。ここで、エンドポイント側のアプリケーションによって、受信バッファ12に格納されているデータが読出されるものとする。これにより、受信バッファ12の対応する領域は開放され、この領域に対応するデータタイプのデータを記憶させることが可能となる。バッファ制御回路13は、ステップS2において受信バッファ12の記憶領域が開放されたものと判定すると、読出されて空いた容量分だけ、対応するデータタイプのクレジット値をアップデートする。バッファ制御回路13は、増加させたクレジット値をDLLPによって送信装置1に通知する(ステップS3)。
クレジット値のアップデート及びアップデートされたクレジット値の送信は、受信バッファ12からデータが読出されて、受信バッファ12の記憶領域が開放される毎に行われる。これにより、送信装置1は、伝送可能なデータ容量を把握することができる。
ここで、受信装置11は、特定のデータタイプの割り当て容量を増大させるものとする。例えば、送信装置1からPostedタイプのデータが多く送信される場合には、受信装置11のバッファ制御回路13は、例えばTLPのトラフィック統計を参照することで(ステップS4)、Postedタイプのデータを格納する領域PDの容量を増大させるか否かを決定する(ステップS5)。割り当てる領域を増大させた場合には、バッファ制御回路13は、増大させた分だけクレジット値を更新して、更新したクレジット値を送信装置1に通知する(ステップS6)。なお、この通知は、受信バッファ12の記憶領域の開放に伴うクレジット値のアップデート時と同時に行ってもよい。即ち、この場合には、クレジット初期値に、(開放された記憶領域分のクレジット値+受信バッファの割り当ての増大分のクレジット値)が加算されたクレジット値が通知される。
これにより、以後、送信装置1はPostedタイプのデータについては、十分なデータ量のデータを受信装置11に対して送信することが可能となる。同様にして、バッファ制御回路13は各データタイプ毎に、受信バッファ12の容量が許す限り、各データタイプに割り当てる領域(クレジット値)を増大させることができる。従って、例えば、各データタイプ毎のクレジット初期値が実際に伝送されるデータタイプ毎のデータ量に対応していない場合でも、各データタイプ毎の割り当てを動的に変更させることによって、受信バッファ12の利用効率を向上させることができる。
このように本実施の形態においては、受信バッファの各データタイプ毎の容量の割り当てを、動的に変更することができるので、受信バッファの利用効率を向上させ、データ伝送の一層の高速化を図ることができる。
例えば、予め用意する受信バッファの割り当ては各データタイプについて少ない割り当て容量に抑え、実際にTLPとして流れるトラフィックの統計から新たに受信バッファの確保を行い、動的に受信バッファを変化させる。これにより、受信バッファの利用効率の向上を図り、スループットの向上に貢献することができる。なお、本実施の形態は、PCI Express規格の範囲内で実現することが可能である。。
また、上記実施の形態においては、送信装置1はPCI Express規格のルートコンプレックスに相当し、受信装置11はエンドポイントに相当するものとして説明したが、実際のルートコンプレックス及びエンドポイントは、相互に送信及び受信が可能であり、いずれも送信装置1及び受信装置11と同様の構成を有する。
図4は本発明の第2の実施の形態を示すブロック図である。図4において図1と同一の構成要素には同一符号を付して説明を省略する。第1の実施の形態においては、各データタイプ毎に受信バッファの割り当て容量を増大させるものであった。これに対し、各データタイプ毎の受信バッファの割り当て容量を減少させることを可能にしたものである。
本実施の形態においては、バッファ制御回路13に代えて第1乃至第3のバッファ制御手段としてのバッファ制御回路23を有する受信装置21を採用した点が第1の実施の形態と異なる。
PCI Express規格においては、仕様上、一旦設定したクレジット初期値の値を減少させることはできない。そこで、本実施の形態においては、受信バッファ12の記憶領域が開放された場合にクレジット値をアップデートしないことによって、等価的、開放された領域に対応するデータタイプの割り当て容量を減少させるものである。
即ち、バッファ制御回路23は、割り当て容量を減らす対象のデータタイプについては、受信バッファ12に格納されているデータが読出されて、受信バッファ12の対応する領域が開放された場合でも、クレジット値をアップデートしない。あるいは、バッファ制御回路23は、割り当て容量を減らす対象のデータタイプについて、受信バッファ12の対応する領域が開放された場合には、開放された容量に拘わらず、開放された記憶領域分のクレジット値として0を設定するか又は開放された容量よりも小さい容量を設定するようになっている。
なお、受信バッファの割り当て容量を増加させる場合の処理は、第1の実施の形態と同様である。
他の構成は第1の実施の形態と同様である。
次に、このように構成された実施の形態の動作について図5のフローチャートを参照して説明する。図5において図2と同一の手順には同一符号を付して説明を省略する。
いま、図5のステップS2において、受信バッファ12の記憶領域から読み出しが行われて、受信バッファ12の記憶領域が読出された分だけ開放されるものとする。バッファ制御回路23は、次のステップS11において、開放された領域がトラフィック統計に基づいて割り当て容量を減少させるデータタイプに対応したものであるか否かを判定する。割り当て容量を減少させない場合には、次のステップS12において、バッファ制御回路23は開放された記憶領域分のクレジット値を加算して、クレジット値をアップデートする。このアップデートされたクレジット値は、送信装置1に送信される。
これにより、この場合には、開放された領域に対応するデータタイプのデータについて、送信装置1の送信可能なデータ量が増大する。
一方、開放された領域が割り当て容量を減少させるデータタイプに対応したものである場合には、ステップS13において、バッファ制御回路23は、開放された記憶領域分よりも小さいクレジット値を加算してクレジット値をアップデートするか、又は記憶領域が開放されていないものとしてクレジット値をアップデートしない。
これにより、この場合には、開放された領域に対応するデータタイプのデータであっても、送信可能なデータ量は変化しない。また、領域が開放されていることから、第1の実施の形態と同様のバッファ制御を行うことで、開放された領域を他のデータタイプの領域に割り当てることができ、受信バッファ12を一層効果的に利用することが可能となる。
図4の例では、斜線部は各データタイプに割り当てられた領域の初期値を示している。領域12a内の破線の領域PHは、データタイプPHに対して初期状態又は直前の状態から減少させた領域を示している。また、領域12b内の破線の領域PDは、データタイプPDに対して初期状態又は直前の状態から減少させた領域を示している。更に、図4の領域12a,12b内の網線領域は、データタイプCplH,CplDに対して初期状態又は直前の状態から増加させた領域を示している
図6は本発明の第3の実施の形態を示すブロック図である。図6において図4と同一の構成要素には同一符号を付して説明を省略する。第2の実施の形態においては、受信バッファの開放時に、クレジット値をアップデートしないことによって、等価的に割り当て容量を減少させた。しかしながら、第2の実施の形態においては、一旦受信側において受信して受信バッファに格納されたデータについてのみ割り当て容量を減少させることが可能である。しかしながら、受信バッファの割り当て容量を減らす必要があるデータタイプのデータが、送信装置1からTLPとして送信される可能性は低く、受信バッファの割り当て容量を減らすことができるチャンスは多くない。そこで、本実施の形態においては、能動的に受信バッファの割り当て容量を減少させることを可能にするものである。
図6は本発明の第3の実施の形態を示すブロック図である。図6において図4と同一の構成要素には同一符号を付して説明を省略する。第2の実施の形態においては、受信バッファの開放時に、クレジット値をアップデートしないことによって、等価的に割り当て容量を減少させた。しかしながら、第2の実施の形態においては、一旦受信側において受信して受信バッファに格納されたデータについてのみ割り当て容量を減少させることが可能である。しかしながら、受信バッファの割り当て容量を減らす必要があるデータタイプのデータが、送信装置1からTLPとして送信される可能性は低く、受信バッファの割り当て容量を減らすことができるチャンスは多くない。そこで、本実施の形態においては、能動的に受信バッファの割り当て容量を減少させることを可能にするものである。
本実施の形態においては、バッファ制御回路23に代えてバッファ制御回路33を有する受信装置31を採用した点が第2の実施の形態と異なる。
PCI Express規格においては、コンポーネントに影響を与えないTLP(以下、ダミーTLPという)を送信可能である。送信装置1は、このようなダミーTLPを受信装置31に対して送信することができる。受信装置31は、ダミーTLPを受信しても、受信バッファ12に受信されたダミーTLPを記憶させない。
即ち、受信装置31のバッファ制御回路33は、ダミーTLPが記憶されるべき受信バッファ12の領域が実際には開放状態であっても、対応するデータタイプのクレジット値を増加させることはない。即ち、ダミーTLPを送信した送信装置1においては、ダミーTLPと同一のデータタイプについては、送信可能なデータ量が、ダミーTLPの容量分だけ低減されることになる。
本実施の形態においては、送信装置1からダミーTLPを出力させるために、受信装置31のバッファ制御回路33は、受信バッファの割り当て容量を削減する対象のデータタイプに対応するダミーTLPを送信装置1から強制的に送信させるための命令を、送信装置1に対して送信するようになっている。
このような命令としては、例えば、Vendor Specific DLLPがある。このDLLPには、割り当て容量を減少させるべきデータタイプ、ヘッダ/データ、VC、および削減量の情報を格納する。一方、送信装置1は、受信装置31からのVendor Specific DLLPの情報を基に、受信バッファの割り当て容量削減対象のデータタイプのTLPを受信装置31に送信する。
なお、受信バッファの割り当て容量を増加させる場合の処理は、第1の実施の形態と同様である。
次に、このように構成された実施の形態の動作について図7のフローチャートを参照して説明する。図7において図5と同一の手順には同一符号を付して説明を省略する。
いま、図7のステップS11において、バッファ制御回路33は、トラフィック統計に基づいて割り当て容量を減少させるデータタイプがあるか否かを判定する。割り当て容量を減少させるデータタイプがある場合には、ステップS23において、バッファ制御回路33は、Vendor Specific DLLPを用いて、削減対象のデータタイプのダミーパケットを送信させる命令を送信装置1に出力する。この命令には、割り当て容量の削減量の情報も含まれる。
送信装置1はこのVendor Specific DLLPを受信すると、対応するデータタイプのダミーTLPを送信する(ステップS24)。これにより、ダミーTLPのデータタイプについては、送信量メモリ3に記憶される消費したクレジット合計値がダミーTLPのデータ量だけ増加する。
一方、ダミーTLPを受信すると、受信装置31のバッファ制御回路33は、ダミーTLPのデータタイプについては、クレジット値のアップデートを行わない(ステップS25)。即ち、送信装置1においては、消費したクレジット合計値はダミーTLPのデータ量だけ増加するのに対し、クレジット値は受信バッファ12が開放されているにも拘わらず変化しない。従って、等価的に、ダミーTLPと同一のデータタイプのデータについては、送信装置1から送信可能なデータ量が低減されることなる。
なお、バッファ制御回路33が、ダミーTLPのデータ量よりも少ない容量だけクレジット値に加算して、アップデートしたクレジット値を送信するようにしてもよい。この場合でも、ダミーTLPと同一のデータタイプのデータについては、送信装置1から送信可能なデータ量が低減されることなる。
また、領域が開放されていることから、第1の実施の形態と同様のバッファ制御を行うことで、開放された領域を他のデータタイプの領域に割り当てることができ、受信バッファ12を一層効果的に利用することが可能となる。
図6の例では、斜線部は各データタイプに割り当てられた領域の初期値を示している。領域12a内の破線の領域PHは、データタイプPHに対して初期状態又は直前の状態から減少させた領域を示している。また、領域12b内の破線の領域PDは、データタイプPDに対して初期状態又は直前の状態から減少させた領域を示している。更に、図6の領域12a,12b内の網線領域は、データタイプCplH,CplDに対して初期状態又は直前の状態から増加させた領域を示している
ところで、ダミーTLPとしては、コンポーネントに影響を及ぼすようなTLPであってはならないため、例えば、Postedクレジットの場合にはVendor Defined Messageを用いることが望ましい。また、Non-Postedクレジットの場合には影響の無いアドレス領域に対するMemory Read Request等を用いることが望ましい。
ところで、ダミーTLPとしては、コンポーネントに影響を及ぼすようなTLPであってはならないため、例えば、Postedクレジットの場合にはVendor Defined Messageを用いることが望ましい。また、Non-Postedクレジットの場合には影響の無いアドレス領域に対するMemory Read Request等を用いることが望ましい。
図6の例では、Postedタイプのデータを格納する領域PDの割り当てを減らすために、送信装置1はデータ付きのVendor Defined Messageを送信している。
また、PCI Express規格においては、Completionクレジットの場合には、リクエスト(Request)無しのCompletionタイプのデータは許可されていない。そこでこの場合には、受信装置31から特定のNon-Postedタイプのリクエストを発行させ、送信装置1からのCompletionを生成することで、能動的な割り当て容量の削減を実現する。また、ダミーで送信するNon-Postedタイプのリクエストのような、特定のTLPが送信される場合には、通常のトラフィックを流れるTLPとは区別し、TLPのトラフィック統計の考慮外にした方が望ましい。
ところで、上記各実施の形態においては、各データタイプ毎の受信バッファの割り当て容量の増減は、伝送されるTLPのトラフィック統計に基づいて行った。図8乃至図10はこのようなトラフィック統計に基づく受信バッファの割り当て容量の増減方法を説明するための図表である。
トラフィック統計は、受信装置において受信履歴をとることで算出可能である。図8は受信装置においてFIFOメモリを用いて、記録したトラフィック統計の一例を示している。図8の例では、FIFOメモリはアドレス(Address)0〜Fまでの16の領域を有し、各領域には、仮想チャネル(VC)、データタイプ(Type)及びデータ量(Data)の情報を含む。
図9はFIFOメモリに図8の情報が保持されているタイミングにおいて、受信バッファ12の領域12aに書込まれるヘッダのデータ量を示している。図8では各仮想チャネル(VC)毎に、データタイプ(Type)及び容量比を示している。PCI Expressでは、1TLP内に1つのヘッダと1つ以上のデータとを含む。従って、ヘッダについては、容量比はFIFOメモリに保持されている各データタイプのデータ数に一致する。
図10はFIFOメモリに図8の情報が保持されているタイミングにおいて、受信バッファ12の領域12bに書込まれるデータのデータ量を示している。図10においても各仮想チャネル(VC)毎に、データタイプ(Type)及び容量比を示している。データについては、容量比はFIFOメモリに保持されている各データタイプのデータ量の和である。
受信装置中のバッファ制御回路は、図9及び図10の結果に基づいて、各データタイプ毎の受信バッファ12の割り当て容量の増減を決定する。例えば、バッファ制御回路は、図9及び図10の容量比に比例した容量の割り当てを行う。例えば、図10に示す結果から、仮想チャネル(0)については、Postedタイプのデータを格納する領域PDとCompletionタイプのデータを格納する領域CplDとの割り当て容量を、14:19の割り合いで割り当てる。
なお、バッファ制御回路は、必ずしも容量比に比例した容量の割り当てを行う必要はない。バッファ制御回路は、求めた受信バッファ容量比を基に、現状のバッファ割り当てと比較し、実際のバッファ割り当ての増減を行えばよい。
なお、TLPの受信バッファの管理を行うのは受信装置であるので、受信装置において受信されるTLPについての統計を取るのが効率的である。
このように、上記各実施の形態においては、実際のTLPのトラフィックの傾向に応じて各データタイプ毎の受信バッファの割り当て容量を更新しているので、受信バッファの利用効率を向上させ、スループットを大きくすることができる。
図11は本発明の第4の実施の形態を示すブロック図である。図11において図6と同一の構成要素には同一符号を付して説明を省略する。第3の実施の形態においては、送信装置1からコンポーネントに影響を与えないダミーTLPを送信可能とさせることによって、各データタイプ毎の受信バッファ12の割り当て容量の増減を能動的に実施することを可能にした。しかしながら、このような受信バッファの割り当て容量の更新を行う場合であっても、急激にバーストアクセスが発生したときには、割り当て容量が不足して(クレジットが不足して)、TLPの送信が停止する可能性も考えられる。
そこで、本実施の形態においては、送信装置1から受信装置に対して、クレジット値の影響を受けない命令、例えばVendor Specific DLLP等を用いて、受信バッファの割り当て容量を強制的に変更させるようになっている。
本実施の形態は送信装置1及び受信装置11に夫々代えて送信装置41及び受信装置51を採用した点が図6と異なる。送信装置41の送信制御回路42は受信バッファの割り当て容量を増加させるために、例えば、Vendor Specific DLLPを受信装置51に送信することができる。受信装置51のバッファ制御回路52は、このVendor Specific DLLPを受信すると、受信バッファ12中の対応するデータタイプの格納領域を優先的に確保する。そして、この容量の割り当てに応じて更新したクレジット値を送信装置41に通知するようになっている。
なお、受信バッファ12の割り当て容量をトラフィック統計に基づいて増加させる通常の処理及び受信バッファ12の割り当て容量を減少させる処理は、第3の実施の形態と同様である。
次に、このように構成された実施の形態の動作について図12のフローチャートを参照して説明する。図12において図7と同一の手順には同一符号を付して説明を省略する。
いま、送信装置41がCompletionタイプのデータのTLPをクレジット不足で送信することができないものとする。この場合には、図12のステップS30から処理をステップS31に移行して、送信装置41の送信制御回路42は、受信バッファ確保要求のためにVendor Specific DLLPを受信装置51に送信する。
受信装置51のバッファ制御回路52は、受信した受信バッファ確保要求に応じて、優先的にCompletionタイプのデータを格納する領域CplDの割り当て容量を大きくする。また、同時に、バッファ制御回路52は、現在使用頻度が小さいPostedタイプのデータを格納する領域を領域CplDに割り当て変更するために、Postedタイプのデータ格納領域についてのバッファ削減要求のVendor Specific DLLPを送信装置41に送信する(ステップS32)。
図12は、受信バッファ確保要求に応じた領域を受信バッファ12中に確保することができない場合の例を示しており、この場合には、領域の確保に先だって、バッファ削減を実施する。
送信装置41は、バッファ削減要求に応じて、ダミーのPostedメッセージである、Vendor Defined Messageを受信装置51に送信する(ステップS34)。これにより、受信装置51のバッファ制御回路52は、Postedタイプのデータの格納領域を削減する(ステップS25)。
このように、本実施の形態においては、クレジット不足のデータタイプの受信バッファの割り当てを送信装置側から強制的に増加させることができ、特定のTLPが送信できない問題を回避することができる。これにより、TLPのトランザクションレイテンシを短縮し、効率的な転送を実現することができる。
図13は上記各実施の形態における送信装置及び受信装置をコンピュータに組み込んだ場合の外観を示す説明図である。
メイン基板61上には上記各実施の形態の送信装置に対応するルートコンプレックス(RC)62がICチップ化されて搭載されている。RC62の近傍には、IC化されたプロセッサ63、メモリコントローラ64、I/Oコントローラ65等がパラレル及びシリアルのバス等66によって接続されている。
RC62のポート(図示省略)は、伝送路68を介してスロット67に接続される。スロット67には、エンドポイントデバイス71が接続されている。エンドポイントデバイス71上には、上記各実施の形態の受信装置に対応するエンドポイント(EP)72が搭載される。例えば、エンドポイントデバイス71がグラフィックデバイスの場合には、EP72の他に、更にグラフィックコントローラ73及びグラフィックメモリ74等も搭載される。プロセッサ63とグラフィックコントローラ73とのデータ伝送は、RC62及びEP72によって、高速且つ効率的に行われる。
図14は上記各実施の形態における送信装置及び受信装置の階層構造をPCI Expressの階層構造に対応させて示す説明図である。
本実施の形態においては、PCI Expressの階層構造と同様に、メカニカル層、物理層の下位レイヤから、アプリケーションとのインタフェースまでの上位レイヤまでの階層構造を採用している。一般的なシステムの実装と同じように、上位レイヤの実装においてはソフトウェア、下位レイヤの実装においてはハードウェアを用いることが多いが、本実施の形態においても、図14(a)に示すように、アプリケーションインタフェースまでの大部分をハードウェアで実装することができる。
更に、図14(b)に示すように、物理層の下位レイヤまでのみをハードウェア実装し、パケット/プロトコル関連層は全てソフトウェア実装を利用することも考えられる。 本発明は、トランザクション層の前後のレイヤに関し、主にトランザクション層のバッファ管理に関するものである。図14(a)の例では、上記各実施の形態におけるバッファ管理は、ハードウェア実装されることになり、図14(b)の例では、上記各実施の形態におけるバッファ管理は、ソフトウェア実装されることになる。即ち、上記各実施の形態は、ハードウェア・ソフトウェアのいずれの実装方法も可能である。
1…送信装置、2…送信制御回路、3…送信量メモリ、11…受信装置、12…受信バッファ、13…バッファ制御回路。
代理人 弁理士 伊 藤 進
代理人 弁理士 伊 藤 進
Claims (9)
- 受信バッファと、
データタイプ毎に前記受信バッファにおける割り当て容量の初期値を決定すると共に、前記割り当て容量の初期値を前記受信バッファの開放に伴って更新する第1のバッファ制御手段と、
前記割り当て容量の初期値又は更新後の割り当て容量を動的に更新する第2のバッファ制御手段とを具備したことを特徴とする受信装置。 - 前記第2のバッファ制御手段は、前記データタイプ毎のトラフィック統計に基づいて前記割り当て容量の動的な更新を行うことを特徴とする請求項1に記載の受信装置。
- 前記第1のバッファ制御手段による前記受信バッファの開放に伴う前記割り当て容量の更新時に、開放された容量よりも小さい容量だけ前記割り当て容量を増加させるか又は割り当て容量を変更しない第3のバッファ制御手段を更に具備したことを特徴とする請求項1に記載の受信装置。
- 前記第3のバッファ制御手段は、前記受信バッファに蓄積されないダミーデータを送信側に送信させるための命令を出力することを特徴とする請求項3に記載の受信装置。
- 受信側において、
受信バッファと、
データタイプ毎に前記受信バッファにおける割り当て容量の初期値を決定すると共に、前記割り当て容量の初期値を前記受信バッファの開放に伴って更新する第1のバッファ制御手段と、
前記割り当て容量の初期値又は更新後の割り当て容量を動的に更新する第2のバッファ制御手段と、を具備し、
送信側において、
送信したデータの総データ量の情報を保持する送信量記憶手段と、
受信側の受信バッファにおけるデータタイプ毎の割り当て容量に関する情報が与えられ、前記総データ量及び送信しようとするデータのデータ量との比較によって前記送信しようとするデータの送信の可否を決定する送信制御手段とを具備したことを特徴とする送受信装置。 - 前記受信側において、
前記受信バッファに蓄積されないダミーデータを送信側に送信させるための命令を出力すると共に、前記第1のバッファ制御手段による前記受信バッファの開放に伴う前記割り当て容量の更新時に、開放された容量よりも小さい容量だけ前記割り当て容量を増加させるか又は割り当て容量を変更しない第3のバッファ制御手段を更に具備し、
前記送信側において、前記ダミーデータを送信するダミーデータ送信手段を更に具備したことを特徴とする請求項5に記載の送受信装置。 - 送信側において、前記第3のバッファ制御手段による前記ダミーデータの送信命令に先立って、データタイプ毎に前記割り当て容量を増加させるための命令を出力する手段を更に具備したことを特徴とする請求項6に記載の送受信装置。
- データタイプ毎に前記受信バッファにおける割り当て容量の初期値を決定する手順と、
受信したデータを前記受信バッファのデータタイプ毎に割り当てられた領域に記憶させる手順と、
前記割り当て容量の初期値を前記受信バッファの開放に伴って更新する手順と、
前記割り当て容量の初期値又は更新後の割り当て容量を動的に更新する手順とを具備したことを特徴とする受信方法。 - 受信側において、データタイプ毎に前記受信バッファにおける割り当て容量の初期値を決定する手順と、
送信側において、送信したデータの総データ量の情報と前記割り当て容量の初期値とに基づいて、送信しようとするデータの送信の可否を決定する手順と、
受信側において、前記割り当て容量の初期値又は更新後の割り当て容量を動的に更新する手順と、
送信側において、前記割り当て容量の初期値又は更新後の割り当て容量の情報が与えられ、前記総データ量及び送信しようとするデータのデータ量との比較によって前記送信しようとするデータの送信の可否を決定する手順とを具備したことを特徴とする送受信方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004381785A JP2006189937A (ja) | 2004-12-28 | 2004-12-28 | 受信装置、送受信装置、受信方法及び送受信方法 |
US11/270,442 US20060153078A1 (en) | 2004-12-28 | 2005-11-10 | Receiver, transceiver, receiving method and transceiving method |
CNB200510129045XA CN100410913C (zh) | 2004-12-28 | 2005-11-30 | 接收装置、收发装置、接收方法和收发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004381785A JP2006189937A (ja) | 2004-12-28 | 2004-12-28 | 受信装置、送受信装置、受信方法及び送受信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006189937A true JP2006189937A (ja) | 2006-07-20 |
Family
ID=36653115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004381785A Withdrawn JP2006189937A (ja) | 2004-12-28 | 2004-12-28 | 受信装置、送受信装置、受信方法及び送受信方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060153078A1 (ja) |
JP (1) | JP2006189937A (ja) |
CN (1) | CN100410913C (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008050394A1 (fr) * | 2006-10-24 | 2008-05-02 | Fujitsu Limited | Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données |
JP2008210012A (ja) | 2007-02-23 | 2008-09-11 | Fujitsu Ltd | データ復号処理プログラムおよびデータ復号処理装置 |
WO2008152691A1 (ja) * | 2007-06-12 | 2008-12-18 | Fujitsu Limited | リモートコピー方法及びストレージシステム |
JP2010049596A (ja) * | 2008-08-25 | 2010-03-04 | Hitachi Ltd | 複数の集積回路を備えたストレージシステム |
JP2012039661A (ja) * | 2008-12-29 | 2012-02-23 | Apple Inc | リソースの粒度がクレジットの粒度よりも大きいときのクレジット管理 |
JP2013025416A (ja) * | 2011-07-15 | 2013-02-04 | Ricoh Co Ltd | データ転送装置及び画像形成システム |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7826377B2 (en) * | 2006-06-16 | 2010-11-02 | Ixia | Memory access optimization and communications statistics computation |
US7821962B2 (en) * | 2006-06-16 | 2010-10-26 | Ixia | Memory access optimization |
GB2465595B (en) * | 2008-11-21 | 2010-12-08 | Nokia Corp | A method and an apparatus for a gateway |
US20100296520A1 (en) * | 2009-05-19 | 2010-11-25 | Matthews David L | Dynamic quality of service adjustment across a switching fabric |
US8312187B2 (en) * | 2009-09-18 | 2012-11-13 | Oracle America, Inc. | Input/output device including a mechanism for transaction layer packet processing in multiple processor systems |
WO2011067408A1 (en) | 2009-12-04 | 2011-06-09 | Napatech A/S | An apparatus and a method of receiving and storing data packets controlled by a central controller |
BR112012013357A2 (pt) * | 2009-12-04 | 2016-03-01 | Napatech As | conjunto para receber e encaminhar pacotes de dados, aparelho para receber e armazenar dados para uso no conjunto e método para operar o conjunto |
US8286027B2 (en) * | 2010-05-25 | 2012-10-09 | Oracle International Corporation | Input/output device including a mechanism for accelerated error handling in multiple processor and multi-function systems |
US8310942B2 (en) | 2010-08-27 | 2012-11-13 | Ixia | Flow statistics aggregation |
US20120117261A1 (en) * | 2010-11-05 | 2012-05-10 | Nokia Corporation | Method and Apparatus for Rate Adaptation for Adaptive HTTP Streaming |
US9497073B2 (en) | 2011-06-17 | 2016-11-15 | International Business Machines Corporation | Distributed link aggregation group (LAG) for a layer 2 fabric |
US8750129B2 (en) * | 2011-10-06 | 2014-06-10 | International Business Machines Corporation | Credit-based network congestion management |
US9065745B2 (en) | 2011-10-06 | 2015-06-23 | International Business Machines Corporation | Network traffic distribution |
US20130215745A1 (en) * | 2012-02-16 | 2013-08-22 | Broadcom Corporation | Dynamic buffer management in high-throughput wireless systems |
CN103067467B (zh) * | 2012-12-21 | 2016-08-03 | 深圳市深信服电子科技有限公司 | 缓存方法及装置 |
US9237111B2 (en) | 2013-03-14 | 2016-01-12 | International Business Machines Corporation | Credit-based flow control in lossless ethernet networks |
US9264340B2 (en) | 2013-03-15 | 2016-02-16 | Ixia | Methods, systems, and computer readable media for misdirected packet drill down and negative packet capture at a network test device |
US9094336B2 (en) | 2013-03-15 | 2015-07-28 | Ixia | Methods, systems, and computer readable media for assisting with the debugging of conditions associated with the processing of test packets by a device under test |
US9178832B2 (en) * | 2013-07-11 | 2015-11-03 | International Business Machines Corporation | Queue credit management |
CN105681222A (zh) * | 2016-03-03 | 2016-06-15 | 深圳市同创国芯电子有限公司 | 一种数据接收缓存方法、装置及通信*** |
RO132177A2 (ro) | 2016-03-21 | 2017-09-29 | Ixia, A California Corporation | Metode, sistem şi suport informatic pentru testarea dispozitivelor cu echipament de reţea, folosind protocolul fără conexiune |
US10079782B2 (en) * | 2016-03-31 | 2018-09-18 | Mellanox Technologies Tlv Ltd. | Facilitating communication of data packets using credit-based flow control |
US10193773B2 (en) | 2016-11-09 | 2019-01-29 | Keysight Technologies Singapore (Holdings) Pte. Ltd. | Methods, systems, and computer readable media for distributed network packet statistics collection in a test environment |
US10764148B2 (en) | 2017-11-29 | 2020-09-01 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for network traffic statistics collection |
CN111726379B (zh) * | 2019-03-20 | 2021-11-19 | 华为技术有限公司 | 一种通信方法及装置 |
WO2021147045A1 (zh) * | 2020-01-22 | 2021-07-29 | 华为技术有限公司 | 一种基于PCIe的数据传输方法及装置 |
CN113972962B (zh) * | 2020-07-25 | 2023-02-03 | 华为技术有限公司 | 一种缓冲区管理方法及相关装置 |
US11899601B1 (en) | 2022-07-28 | 2024-02-13 | Beijing Tenafe Electronic Technology Co., Ltd. | Credit synchronization by sending a value for a local credit in a message sender from a message receiver to the message sender in response to a synchronization trigger |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5583652A (en) * | 1994-04-28 | 1996-12-10 | International Business Machines Corporation | Synchronized, variable-speed playback of digitally recorded audio and video |
US5757771A (en) * | 1995-11-14 | 1998-05-26 | Yurie Systems, Inc. | Queue management to serve variable and constant bit rate traffic at multiple quality of service levels in a ATM switch |
US5916309A (en) * | 1997-05-12 | 1999-06-29 | Lexmark International Inc. | System for dynamically determining the size and number of communication buffers based on communication parameters at the beginning of the reception of message |
JP2980075B2 (ja) * | 1997-09-19 | 1999-11-22 | 日本電気株式会社 | レート制御装置 |
JP2000059755A (ja) * | 1998-08-07 | 2000-02-25 | Matsushita Electric Ind Co Ltd | データサーバシステム、データ受信装置およびデータ送信装置 |
US6347337B1 (en) * | 1999-01-08 | 2002-02-12 | Intel Corporation | Credit based flow control scheme over virtual interface architecture for system area networks |
SE0000908L (sv) * | 2000-03-20 | 2001-09-21 | Ericsson Telefon Ab L M | Load regulation |
US6862298B1 (en) * | 2000-07-28 | 2005-03-01 | Crystalvoice Communications, Inc. | Adaptive jitter buffer for internet telephony |
US6993604B2 (en) * | 2000-11-15 | 2006-01-31 | Seagate Technology Llc | Dynamic buffer size allocation for multiplexed streaming |
EP1382143B1 (en) * | 2001-04-24 | 2007-02-07 | Nokia Corporation | Methods for changing the size of a jitter buffer and for time alignment, communications system, receiving end, and transcoder |
US7039013B2 (en) * | 2001-12-31 | 2006-05-02 | Nokia Corporation | Packet flow control method and device |
US6877048B2 (en) * | 2002-03-12 | 2005-04-05 | International Business Machines Corporation | Dynamic memory allocation between inbound and outbound buffers in a protocol handler |
CN1215679C (zh) * | 2003-04-14 | 2005-08-17 | 港湾网络有限公司 | 数据传输的流量控制方法 |
-
2004
- 2004-12-28 JP JP2004381785A patent/JP2006189937A/ja not_active Withdrawn
-
2005
- 2005-11-10 US US11/270,442 patent/US20060153078A1/en not_active Abandoned
- 2005-11-30 CN CNB200510129045XA patent/CN100410913C/zh not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008050394A1 (fr) * | 2006-10-24 | 2008-05-02 | Fujitsu Limited | Système de transmission/réception de paquets de données, procédé de transmission/réception de paquets de données et programme de transmission/réception de paquets de données |
JPWO2008050394A1 (ja) * | 2006-10-24 | 2010-02-25 | 富士通株式会社 | データパケット送受信システム、データパケット送受信方法およびデータパケット送受信プログラム |
JP5056762B2 (ja) * | 2006-10-24 | 2012-10-24 | 富士通株式会社 | データパケット送受信システム、データパケット送受信方法およびデータパケット送受信プログラム |
US8631152B2 (en) | 2006-10-24 | 2014-01-14 | Fujitsu Limited | System and method for data packet transmission and reception |
JP2008210012A (ja) | 2007-02-23 | 2008-09-11 | Fujitsu Ltd | データ復号処理プログラムおよびデータ復号処理装置 |
WO2008152691A1 (ja) * | 2007-06-12 | 2008-12-18 | Fujitsu Limited | リモートコピー方法及びストレージシステム |
JP2010049596A (ja) * | 2008-08-25 | 2010-03-04 | Hitachi Ltd | 複数の集積回路を備えたストレージシステム |
US8010720B2 (en) | 2008-08-25 | 2011-08-30 | Hitachi, Ltd. | Storage system disposed with plural integrated circuits |
JP2012039661A (ja) * | 2008-12-29 | 2012-02-23 | Apple Inc | リソースの粒度がクレジットの粒度よりも大きいときのクレジット管理 |
US8400924B2 (en) | 2008-12-29 | 2013-03-19 | Apple Inc. | Credit management when resource granularity is larger than credit granularity |
JP2013025416A (ja) * | 2011-07-15 | 2013-02-04 | Ricoh Co Ltd | データ転送装置及び画像形成システム |
Also Published As
Publication number | Publication date |
---|---|
CN100410913C (zh) | 2008-08-13 |
US20060153078A1 (en) | 2006-07-13 |
CN1797380A (zh) | 2006-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006189937A (ja) | 受信装置、送受信装置、受信方法及び送受信方法 | |
US7698477B2 (en) | Method and apparatus for managing flow control in PCI express transaction layer | |
US8214845B2 (en) | Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data | |
US8040799B2 (en) | Network on chip with minimum guaranteed bandwidth for virtual communications channels | |
US8490110B2 (en) | Network on chip with a low latency, high bandwidth application messaging interconnect | |
US7913010B2 (en) | Network on chip with a low latency, high bandwidth application messaging interconnect | |
TWI772279B (zh) | 用於具有可重配置多端口的快捷外設互聯標準儲存系統的服務品質感測輸入輸出管理的方法、系統及設備 | |
TW201120644A (en) | Memory hub architecture having programmable lane widths | |
US6715055B1 (en) | Apparatus and method for allocating buffer space | |
KR101069931B1 (ko) | 캐쉬를 구비한 데이터 프로세싱 시스템에서 오버헤드를감소시키기 위한 방법 및 장치 | |
JP2010061194A (ja) | データ転送装置 | |
US20070168583A1 (en) | Endpoint control apparatus and method thereof | |
CN101901205A (zh) | 在PCIExpress上启用基于ID的流的方法和装置 | |
CN110032335B (zh) | 原子数据访问请求的调节 | |
US9015380B2 (en) | Exchanging message data in a distributed computer system | |
CN103109283A (zh) | 在计算***中以多个存储通道对存储缓冲器的分配 | |
KR20180030985A (ko) | Usb 2.0 대역폭 예약을 위한 방법 및 시스템 | |
US10853255B2 (en) | Apparatus and method of optimizing memory transactions to persistent memory using an architectural data mover | |
JP4408376B2 (ja) | 交換のためにメモリに書き込まれるパケットをキューイングするシステム、方法及び論理 | |
JP2008544359A (ja) | メモリーコントローラ | |
KR20070122228A (ko) | 외부 디바이스 액세스 장치 | |
US9146693B2 (en) | Storage control device, storage system, and storage control method | |
CN110035021B (zh) | 针对原子数据访问请求进行的资源分配 | |
US20080201547A1 (en) | Structure for storage allocation management in switches utilizing flow control | |
JP2009088622A (ja) | バッファメモリを有するパケット転送装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070903 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20081010 |