JP4906571B2 - 通信リンクにおいて帯域幅制御を実施するための方法および装置 - Google Patents

通信リンクにおいて帯域幅制御を実施するための方法および装置 Download PDF

Info

Publication number
JP4906571B2
JP4906571B2 JP2007110415A JP2007110415A JP4906571B2 JP 4906571 B2 JP4906571 B2 JP 4906571B2 JP 2007110415 A JP2007110415 A JP 2007110415A JP 2007110415 A JP2007110415 A JP 2007110415A JP 4906571 B2 JP4906571 B2 JP 4906571B2
Authority
JP
Japan
Prior art keywords
counter
communication link
mmio
register
link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007110415A
Other languages
English (en)
Other versions
JP2007300612A (ja
Inventor
ドロシー・マリー・セレン
スコット・ダグラス・クラーク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007300612A publication Critical patent/JP2007300612A/ja
Application granted granted Critical
Publication of JP4906571B2 publication Critical patent/JP4906571B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System (AREA)
  • Communication Control (AREA)

Description

本発明はデータ処理分野に関し、特にプロセッサ入出力(I/O)インターフェースもしくは他のインターフェースなどの通信リンクにおいて帯域幅(バンド幅)制御を実施するための方法および装置に関する。
より広いデータフローを必要とする通信リンク上で帯域幅は増加し続けている。その結果、受信側の論理(ロジック)が一層複雑になり続け、設計問題の影響を一層受け易くなっている。
例えば、クロック・サイクルごとに16バイトのデータを受信する従来の通信リンクの設計は、1個のデータ・パケットの開始を該16バイトのどこかに揃えることができる。また該16バイトのデータは1個のデータ・パケットの終わりと別の1個のデータ・パケットの始めの両方を含むことができる。この結果、受信側の論理部が複雑になり、また設計上の問題の起こる可能性が高まった。
このように、通信リンクに要求される受信論理部を著しく簡素化する能力を提供する効果的な機構が必要である。
本発明の主たる側面は、通信リンクにおける帯域幅制御のペーシングおよびエンベロープ(メッセージの一部分)のアライメント(位置合わせ)を実施するための方法および装置を提供することにある。本発明の他の重要な側面は、実質的にマイナスの効果なしに、また従来技術の欠点の多くを克服する帯域幅制御を実施するための方法および装置を提供することにある。
要するに、通信リンクにおいて帯域幅制御を実施するための方法および装置が提供される。その通信リンクのためにセットされたリンク構成はデータ・エンベロープを送信するのに必要な数のクロック・サイクルを設定する。制御機能部が、データ・エンベロープの伝送ないし送信のために固定サイクルの境界にデータ・パケットの開始を揃える(合わせる)。
本発明の特徴によれば、データ・エンベロープを送信するのに必要なクロック・サイクルの数を設定することによってリンク構成ペーシング論理部がデータ・エンベロープをペーシングするセット・リンク構成を用いる。この制御機能部は16バイト・フィールドの同じバイトでデータ・パケットの開始を揃える。この制御機能部はメモリ管理入出力(MMIO)レジスタおよびカウンタが実装され、通信リンクの送信側が、全てのデータ・パケットを固定サイクルの境界に揃えることによって、パケット送信のペーシングまたは帯域幅を制御できるようにする。
本発明の特徴によれば、カウンタはMMIOレジスタにセットされた閾値に達するまでクロック・サイクルごとに増分(インクリメント)する。この閾値に達すると、データ送信を開始することができるという知らせを送るためにパルスが生成され、そのパルスを受取った場合に限り該クロック・サイクルでデータ送信が開始する。
前記および他の目的および効果とともに本発明は以下の詳細な説明および図面に示される本発明の好適な実施例から一層理解されよう。
本発明の特徴によれば、通信リンクの送信側が全てのデータ・パケットを固定サイクルの境界に揃えることによって帯域幅の制御もしくは絞りを行うことができるような方法および装置が提供される。この制御機能はデータ・パケットの一貫した整列を強制しあるいはデータ・パケット送信のペーシングを制御するのに使用される。その帯域幅を制御する能力は重要な利点である。それは受信側の論理部を簡素化するのを可能にし、また受信側の論理部の問題を調整する能力を可能とする。
ここで図面を参照する。図1は、本発明の好適な実施例に従い、参照番号100で全体を示した例示のシステムである。システム100は第1のチップ102および第2のチップ104を備える。
第1のチップ102はデータ・バッファ106を備え、そこにはエンベロープを構成するPLG0、PLG1、PLG2、PLG3からなる複数の物理層グループ(PLG)108を含む。システム100では、一つのデータ・パケットが、例えば4つの144ビットPLGを含むエンベロープからなる。第1のチップ102には、第2のチップ104に通信リンク112を介してデータ・パケット即ちエンベロープを送信するために、データ・バッファ106に結合されたTX0ないしTX5からなる複数の送信部110を含む送信側がある。
第2のチップ104は受信側を含み、通信リンク112に結合され、かつデータ・バッファ116に結合された、RX0ないしRX5からなる複数の受信部114を備える。
図1に示すように、第2のチップ104は送信側をも含む。そこにはデータ・バッファ118と、TX0ないしTX5よりなる複数の送信部120がある。それらの送信部120はデータを第1のチップ102に送信するために通信リンク122に結合される。第1のチップ102は受信側を含み,そこにはRX0ないしRX5からなる複数の受信部124を含む。それらの受信部124は通信リンク122に結合され、かつデータ・バッファ126にも結合される。
本発明の特徴によれば、リンク構成ペーシング論理部130が通信リンク112のためのリンク構成を用いて、第2のチップ104に通信リンク112を介してエンベロープを送信するのに必要なBCLKサイクルの数を設定する。第1のチップ102及び第2のチップ104の特定の配列、またはシステム100の特定のアプリケーションに基づき、特定のリンク構成が提供される。
図3および図4も参照すると、例えば4つの144ビットPLGを含むエンベロープの場合は、通信リンク112のための6バイトのリンク構成が一つのエンベロープを送信するために4個のBCLKサイクルを必要とする。5バイトのリンクは5個のBCLKサイクルを必要とし、4バイトのリンクは6個のBCLKサイクルを必要とする。また3バイトのリンクは8個のBCLKサイクルを必要とし、2バイトのリンクは12個のBCLKサイクルを必要とする。また1バイトのリンクでは24個のBCLKサイクルを必要とする。
本発明の特徴によれば、リンク構成ペーシング論理部130は、好適な実施例のメモリ管理入出力レジスタ(MMIOレジスタ)132およびカウンタ134に結合される。MMIOレジスタ132およびカウンタ134は両者で次のような制御機能を行う。即ち通信リンク112の送信側が、全てのデータ・パケットを固定サイクルの境界に揃えることにより帯域幅を制御しまたは絞るのを許容するような制御機能である。この制御機能はデータ・パケットの一貫した整列を強制的に行い、かつデータ・パケット送信のペーシングを制御するのに使用される。
本発明の特徴によれば、MMIOレジスタ132にセットされた閾値に達するまでBCLKサイクルごとにカウンタ134が増分する。この閾値に達すると、図3および図4でSEND_ENVと名づけた線で示すように、送信を開始できることを送信側の論理部に知らせるようにパルスが生成される。そのパルスを受取るとBCLKサイクルでのみその送信を開始することができる。その内部のカウンタ134はその閾値に達するときゼロにリセットされ、次のBCLKサイクルで再び増分が始まる。
本発明の特徴によれば、MMIOレジスタ132は、通信リンク112上でエンベロープ送信が開始するBCLKサイクル粒度(細分度)を制御する8ビットMMIOフィールドなどを記憶する。或るエンベロープが送信途中(ペンディング)である任意のときに送信が始まるという従来の動作の代わりに、このフィールドにセットされた値プラス1の倍数であるサイクルの境界でのみエンベロープの送信が始まる。
例えば、通信リンク112が6バイトのリンクであるように構成され、かつこのフィールドの値がx‘05’にセットされているなら、新しいエンベロープはサイクルn、n+6、n+12、n+18等でのみ送信される。エンベロープが6バイト・リンクで送信するために4個のBCLKサイクルのみを必要とするので、エンベロープ相互間に最小で2個のBCLKサイクルかまたは6個のリンク・サイクルが常にある。
MMIOレジスタ132及びカウンタ134が実装された制御機能部はエンベロープ相互間のBCLKサイクルが何もなしにエンベロープを連続して送信するかまたはエンベロープを阻止する(壁となって立ちはだかる)能力を提供する。例えば、もしリンクが4バイト・リンクに構成され、かつそのMMIOフィールドの値がx‘05’にセットされるなら、新しいエンベロープは6個のBCLKサイクルごとに送信され得る。エンベロープが4バイト・リンク上で送信するのに6個のBCLKサイクルしか必要としないので、エンベロープ相互間になんらBCLKサイクルが生じない。
MMIOレジスタ132は例えば8ビットMMIOレジスタを用いて実装され、またカウンタ134は例えば8ビット内部カウンタを用いて実装される。
図2も参照すると、これは本発明の実施例に従うデバッグおよび帯域幅制御のためのエンベロープ整列およびペーシングを行うためのシステム100の例示的な動作を示す状態図である。
RESETと示すリセット入力およびDATA_AVAILABLE=0と示す、データ使用可能入力に応答して、参照番号202で示すアイドル状態00に入る。このアイドル00、202では、START INCREMENTING ALIGNMENT_COUNTと示すように、カウンタ134の増分が行われる。
DATA_AVAILABLE=1と示す、データ使用可能入力に応答して、参照番号204で示す制御状態01に入る。制御状態01、204では、カウンタ134が、ALIGNMENT_REG/=ALIGNMENT_COUNTと示すように、MMIOレジスタ132にセットされた閾値に達するまでBCLKサイクルごとに増分される。
ALIGNMENT_REG=ALIGNMENT_COUNT
RESET ALIGNMENT_COUNT AND START INCREMENTING と示すように、MMIOレジスタ132にセットされた閾値にカウンタ134が達するのに応答して、参照番号206で示すエンベロープ送信状態10に入る。このエンベロープ送信状態10、206で送信が始まる。
図3および図4は、本発明の好適な実施例によるデバッグ、ならびに帯域幅制御のための制御およびペーシングを実施するためのシステム100における通信リンク112の複数の例示的なリンク構成のための例示的な動作を示すタイミング図である。
図3および図4では、BCLKおよびBCLKサイクルを図の頂部付近に示す。通信リンク112の図示した例示的なリンク構成ごとに、データ使用可能信号を DATA_AVAILABLE と名づけた線で示す。次いで、MMIOレジスタ132およびカウンタ134の値を個々の線のところに ALIGNMENT_REGISTER(0:7)および ALIGNMENT_COUNT(0:7)と名づけて示す。MMIOレジスタ132およびカウンタ134が一致すると、送信を開始することができることを知らせるパルスが生成される。これはSEND_ENVと名づけた線のところに示す。次いで、ENV_DATA(0:143)と名づけた線でエンベロープの送信を示す。
図3で次に示すのは、MMIOレジスタ値がx‘00‘にセットされて、アライメント機能が使用不可にされる場合の6リンク構成である。
図3で次に示すのは、MMIOレジスタ値がx‘06‘にセットされ、アライメント機能が使用可能にされる場合の6リンク構成である。ALIGNMENT_COUNT(0:7)が06に等しくなって、ALIGNMENT_REGISTER(0:7)のためにセットされた値に一致すると、線SEND_ENVで送信を開始できることを知らせるパルスが生成される。
図3で次に示すのは、MMIOレジスタ値がx‘07‘にセットされ、アライメント機能が使用可能にされる場合の5リンク構成である。ALIGNMENT_COUNT(0:7)が07に等しくなって、ALIGNMENT_REGISTER(0:7)のためにセットされた値に一致すると、線SEND_ENVで送信を開始できることを知らせるパルスが生成される。
図3で次に示すのは、MMIOレジスタ値がx‘08‘にセットされ、アライメント機能が使用可能にされる場合の4リンク構成である。ALIGNMENT_COUNT(0:7)が08に等しくなって、ALIGNMENT_REGISTER(0:7)のためにセットされた値に一致すると、線SEND_ENVで送信を開始できることを知らせるパルスが生成される。
図4で示すのは、MMIOレジスタ値がx‘10‘にセットされ、アライメント機能が使用可能にされる場合の3リンク構成である。ALIGNMENT_COUNT(0:7)が10に等しくなって、ALIGNMENT_REGISTER(0:7)のためにセットされた値に一致すると、線SEND_ENVで送信を開始できることを知らせるパルスが生成される。
図4で次に示すのは、MMIOレジスタ値がx‘10‘にセットされ、アライメント機能が使用可能にされる場合の2リンク構成である。ALIGNMENT_COUNT(0:7)が10に等しくなって、ALIGNMENT_REGISTER(0:7)のためにセットされた値に一致すると、線SEND_ENVで送信を開始できることを知らせるパルスが生成される。
図4で次に示すのは、MMIOレジスタ値がx‘1F‘にセットされ、アライメント機能が使用可能にされる場合の1リンク構成である。ALIGNMENT_COUNT(0:7)が1Fに等しくなって、ALIGNMENT_REGISTER(0:7)のためにセットされた値に一致すると、線SEND_ENVで送信を開始できることを知らせるパルスが生成される。
本発明を図面に示す本発明の実施例の詳細に沿って説明してきたが、特許請求の範囲に示すとおり、これらの詳細は本発明の範囲を限定するつもりはない。
本発明の実施例によるデバッグならびに帯域幅制御のためにエンベロープのアライメントおよびペーシングを行う、例示的なシステムを示す高レベル・システム・ダイアグラムである。 本発明の実施例によるデバッグならびに帯域幅制御のためにエンベロープのアライメントおよびペーシングを行う、図1のシステムの例示的な動作を示す実施例の状態図である。 本発明の実施例によるデバッグならびに帯域幅制御のためにエンベロープのアライメントおよびペーシングを行う、図1の通信リンク・システムの複数の例示的なリンク構成のための例示的な動作を示すタイミング図である。 本発明の実施例によるデバッグならびに帯域幅制御のためにエンベロープのアライメントおよびペーシングを行う、図1の通信リンク・システムの複数の例示的なリンク構成のための例示的な動作を示すタイミング図である。
符号の説明
100 システム
102 第1のチップ
104 第2のチップ
106、116、118、126 データ・バッファ
108 物理層グループ(PLG)
110、120 送信部
112、122 通信リンク
114、124 受信部
130 リンク構成ペーシング論理部
132 メモリ管理入出力レジスタ(MMIOレジスタ)
134 カウンタ

Claims (5)

  1. 通信リンクにおいて帯域幅制御を実施する方法であって、
    データ・エンベロープを送信するのに必要なクロック・サイクルの数を設定するために前記通信リンクのためのセットされたリンク構成を用いるステップと、
    前記通信リンクのためのセットされたリンク構成を用い、前記データ・エンベロープを送信するのに必要なクロック・サイクルの数を設定するリンク構成ペーシング論理部を準備するステップと
    固定サイクルの境界に各データ・パケットの開始を揃えるための制御機能部であって、メモリ管理入出力(MMIO)レジスタおよびカウンタを用いて実装される制御機能部を準備するステップと、
    前記MMIOレジスタにセットされた閾値に達するまでクロック・サイクルごとに前記カウンタを増分するステップと
    前記閾値に達することに応答して、データ・エンベロープの送信を開始できることを知らせるパルスを生成するステップと
    前記パルスを受取ると次のクロック・サイクルで前記データ・エンベロープの送信を開始するステップと、を含む方法。
  2. 前記カウンタをゼロにリセットし、前記MMIOレジスタにセットされた前記閾値に達するまで前記カウンタを増分するステップを更に含む、請求項に記載の方法。
  3. 前記制御機能部は複数バイト・フィールドの規定のバイトに前記データ・パケットの前記開始を揃える、請求項1に記載の方法。
  4. 通信リンクにおいて帯域幅制御を実施する装置であって、
    データ・エンベロープを送信するのに必要なクロック・サイクルの数を、前記通信リンクのためのセットされたリンク構成に基づいて設定するためのリンク構成ペーシング論理部と、
    固定サイクルの境界に各データ・パケットの開始を揃えるための制御機能部であって、メモリ管理入出力(MMIO)レジスタおよびカウンタで実装される制御機能部と、を含み
    前記MMIOレジスタにセットされた前記閾値に達するまでクロック・サイクルごとに前記カウンタが増分され
    前記制御機能部は、前記カウンタの値が前記閾値に一致することに応答して、データ・エンベロープの送信を開始できることを知らせるパルスを生成し、前記パルスを受取ると次のクロック・サイクルでデータ・エンベロープの送信を開始する、装置。
  5. 前記カウンタの値が前記閾値に一致することに応答して前記カウンタがゼロにリセットされ、かつ前記MMIOレジスタにセットされた前記閾値に達するまで前記カウンタがクロック・サイクルごとに増分される、請求項に記載の装置。
JP2007110415A 2006-04-28 2007-04-19 通信リンクにおいて帯域幅制御を実施するための方法および装置 Expired - Fee Related JP4906571B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/380,727 US7646837B2 (en) 2006-04-28 2006-04-28 Implementing bandwidth control in a communications link
US11/380,727 2006-04-28

Publications (2)

Publication Number Publication Date
JP2007300612A JP2007300612A (ja) 2007-11-15
JP4906571B2 true JP4906571B2 (ja) 2012-03-28

Family

ID=38648268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007110415A Expired - Fee Related JP4906571B2 (ja) 2006-04-28 2007-04-19 通信リンクにおいて帯域幅制御を実施するための方法および装置

Country Status (3)

Country Link
US (1) US7646837B2 (ja)
JP (1) JP4906571B2 (ja)
CN (1) CN101064684A (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063791A (ja) * 2000-08-21 2002-02-28 Mitsubishi Electric Corp 半導体記憶装置およびメモリシステム
US7200693B2 (en) * 2004-08-27 2007-04-03 Micron Technology, Inc. Memory system and method having unidirectional data buses

Also Published As

Publication number Publication date
US20070253448A1 (en) 2007-11-01
JP2007300612A (ja) 2007-11-15
CN101064684A (zh) 2007-10-31
US7646837B2 (en) 2010-01-12

Similar Documents

Publication Publication Date Title
EP1237090A1 (en) Serial peripheral interface master device, a serial peripheral interface slave device and a serial peripheral interface
US20040165607A1 (en) Method and apparatus for implementing queue pair connection protection over infiniband
WO2003027863A2 (en) Multiple channel interface for communications between devices
JP2017163316A (ja) 情報処理装置
TW201716924A (zh) 具有位元級確認及錯誤校正之串列介面
US6496487B2 (en) Efficient full duplex simultaneous message transfer
CN111324567A (zh) 一种实现串口通讯的方法及单片机系统
JP4906571B2 (ja) 通信リンクにおいて帯域幅制御を実施するための方法および装置
GB2348344A (en) Serial bus messaging protocol with priority interrupt
CN113792003A (zh) 单总线通信单元、系统及方法
CN110838892B (zh) 多路全双工串口的高可靠合并转发方法
JPH01105644A (ja) データ伝送制御方法およびデータ通信装置
US20060136610A1 (en) Data transfer method using infrared data association
CN111352893B (zh) 一种fpga和stm32单片机的通信方法
US7165127B2 (en) Flow control for interfaces providing retransmission
JPH01177232A (ja) 同報通信方式
EP0405041A1 (en) Terminal adapter having a multiple HDLC communication channels receiver for processing control network management frames
JP2023073927A (ja) 半導体装置、usbシステムおよびパケット送信方法
US8270611B2 (en) System and method for communicating with a key variable loader (KVL) using a standard universal asynchronous receiver transmitter (UART) peripheral
US10846085B2 (en) Multi-lane data processing circuit and system
JP2503270B2 (ja) 通信異常処理方式
US6069900A (en) Baud rate generator
TW202246992A (zh) Rs-485電路與通訊系統
US9317289B2 (en) Acknowledgement forwarding
JP2015014967A (ja) 通信装置、および通信システム並びに通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111026

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20111026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20111028

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: 20111213

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees