[go: up one dir, main page]

JP5167391B2 - パケット境界表示器を用いてパケットを格納する方法及び装置 - Google Patents

パケット境界表示器を用いてパケットを格納する方法及び装置 Download PDF

Info

Publication number
JP5167391B2
JP5167391B2 JP2011171341A JP2011171341A JP5167391B2 JP 5167391 B2 JP5167391 B2 JP 5167391B2 JP 2011171341 A JP2011171341 A JP 2011171341A JP 2011171341 A JP2011171341 A JP 2011171341A JP 5167391 B2 JP5167391 B2 JP 5167391B2
Authority
JP
Japan
Prior art keywords
packet
memory
bits
data
fabric
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
JP2011171341A
Other languages
English (en)
Other versions
JP2012010372A (ja
JP2012010372A5 (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.)
Ericsson AB
Original Assignee
Ericsson AB
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 Ericsson AB filed Critical Ericsson AB
Publication of JP2012010372A publication Critical patent/JP2012010372A/ja
Publication of JP2012010372A5 publication Critical patent/JP2012010372A5/ja
Application granted granted Critical
Publication of JP5167391B2 publication Critical patent/JP5167391B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • H04L12/6402Hybrid switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements
    • H04L49/108ATM switching elements using shared central buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • H04L49/203ATM switching fabrics with multicast or broadcast capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5651Priority, marking, classes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

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

Description

本発明は、パケット境界表示器を用いてメモリのキャッシュラインに沿ってパケットを格納することに関する。特に、本発明は、複数のパケットに繋がった唯1つのパケット境界表示器を用いてメモリのキャッシュラインに沿って複数のパケットを格納し、マークするのに用いられるメモリを少なくすることに関する。
メモリコントローラに用いられるワイドTDMに於いて、多数のパケットが1つのデータワード内に格納される。パケット長さはパケットデータ内に含まれるけれども、メモリコントローラはパケット境界を引き出すのに十分な情報を有していない。パケットデータは多数のメモリコントローラにストライプ(分散処理)され、一のメモリコントローラは実際のデータ長さを判別する十分な情報を有していない。全てのパケットについて、長さ及びパケット境界の情報を追加して格納することは、非常にコストがかかる。メモリコントローラは公知のパケット境界にてデキューする(キューから外す)優先順位を切り換えるのみであり、ある長さのパケット境界又はパケット境界情報を格納する必要がない。
本発明は、パケットを格納する装置に関する。装置は、パケットを保持するメモリを具える。装置は、パケットを格納する機構を具え、メモリ内に少なくとも2つのパケットを具えるのが好ましく、ただ1つのパケット境界表示器がパケットに繋がっている。本発明は、パケットを格納する方法に関する。方法は、メモリにてパケットを受け取る工程を具える。そして、メモリコントローラで、少なくとも2つのパケットをメモリ内に格納する工程があるのが好ましく、ただ1つのパケット境界表示器がパケットに繋がっている。
添付図は、本発明の望ましい実施例及び、本発明を実践する望ましい方法を示している。
本発明のスイッチに於けるパケット分散処理を示す概略図である。 OC48ポートカードの概略図である。 鎖状ネットワークブレードの概略図である。 ASICファブリックに於ける相互接続を示す概略図である。 ASICファブリックに於ける相互接続を示す概略図である。 同期パルスの分配状況を示す概略図である。 夫々セパレータ及び非分散器用の送受信連続カウンタ間の関係に関する概略図である。 本発明の装置の概略図である。 メモリの概略図である。
同一の要素には図面を通じて同一の参照番号を付している。図面、特に図8及び図9を参照すると、パケット(12)を格納するための装置(10)が示されている。装置(10)はパケット(12)を収容するためのメモリ(14)を具えている。装置(10)は、パケット(12)を格納するためのメカニズムを具えており、メモリ(14)内の少なくとも2つのパケット(12)には、1つのパケット境界表示器(18)しか関連していない。
格納用メカニズム(16)は、メモリコントローラ(20)を含むことが望ましい。メモリコントローラ(20)は、所定の数のビットがメモリー(14)内に格納された後、パケット境界表示器(18)をメモリ(14)内に配置することが望ましい。メモリコントローラ(20)は、15キャッシュライン分のパケット(12)がメモリ(14)内に格納された後、パケット境界表示器(18)を挿入することが望ましい。メモリコントローラ(20)は、パケット(12)の優先に関して、パケット境界表示器(18)に基づき、どのパケット(12)がメモリ(14)から移されるべきかを切り換えることが望ましい。
メモリ(14)はキャッシュライン(22)によって構成され、パケット(12)はメモリ(14)内のキャッシュライン(22)に沿って格納されることが望ましい。メモリコントローラ(20)は、パケット(12)のデータのビットをメモリ(14)内のキャッシュライン中に格納することが望ましく、データのキャッシュラインには、キャッシュライン中の幾つのビットが有効であるかを示す識別子(24)がある。各キャッシュラインは、200ビット長であることが望ましい。識別子(24)は、各キャッシュラインの200ビットのエントリー毎の2ビットであることが望ましい。
本発明は、パケット(12)を格納する方法に関する。方法は、メモリ(14)にてパケット(12)を受け取る工程を含む。次に、メモリコントローラ(20)を使用してパケットを格納する工程があり、メモリ(14)内の少なくとも2つのパケット(12)には、1つのパケット境界表示器(18)しか関連していないことが望ましい。
格納する工程は、パケット(12)からの所定の数のビットがメモリー(14)内に格納された後、メモリコントローラ(20)を使用してパケット境界表示器(18)を配置する工程を含むことが望ましい。格納する工程は、メモリ(14)内のキャッシュラインに沿ってパケット(12)を格納する工程を含むことが望ましい。
配置する工程は、パケット(12)のデータのビットをメモリ(14)内のキャッシュラインに格納する工程を含み、データのキャッシュラインには、キャッシュライン中の幾つのビットが有効であるかを示す識別子(24)があることが望ましい。格納する工程の後、パケット(12)の優先に関して、パケット境界表示器(18)に基づき、どのパケット(12)がメモリ(14)から移されるべきかを切り換える工程があるのが望ましい。
望ましい実施例の動作にて、装置(10)は、最小限の量のパケット境界を維持するために使用される。狭義では、それは、パケット境界情報を圧縮するのに使用される損失のある(lossy)データ圧縮アルゴリズムとして考えられることができる。データの各キャッシュラインは、圧縮されたパケット境界情報を含む2ビットフィールドと共に格納される。全く圧縮されない仕様のデータは、全てのデータビットについて単一の制御ビットであり、該ビットは、対応するデータビットはパケットの最後のビットであったことを示している。その情報形態と比較すると、圧縮バージョンはサイズが100分の1である。装置(10)は、不必要な情報を排除することによって格納スペースを減らす。
データの各キャッシュラインは、幾つのビットが有効であるかを示す2ビットフィールドと共に格納される。符号化された値は、
全てのビットは有効であるが、パケット境界にて終了しない、
全てのビットは有効であり、パケット境界にて終了する、
−少なくとも191ビットは有効であり、最初の無効なビットは、200から探索していくときに初めて見つかる0である、
−191未満のビットは有効であり、200〜193のビットは有効ビット数の計算を含む。
又は以下も同等である、即ち
−パケット境界は不明である、
−パケット境界は200ビットである、
−パケット境界は最も有効な数字0の隣りにある、及び
−パケット境界は、データビット200〜193によって示されるビットにある。
200ビットのエントリー毎に2ビットの識別器を用いるだけで、この特定のアプリケーションに必要なパケット境界情報を十分保存することが可能である。
一般的に、200ビットのキャッシュは全て完全に充てんされる。これは効率的であるが、既知のパケット境界の全てを損失させるであろう。既知のパケット境界が定期的に発生することを保証するために、キャッシュを充てんする論理は、15の「未知のパケット境界」表示器の後に、既知のパケット境界表示器(18)の1つを設ける(forces)。メモリ(14)は、この要領でキャッシュライン(22)に沿って充てんされる。
メモリ(14)内のデータがデキュー(dequeue、キューから外れる)されるとき、パケット境界表示器(18)が到達するまでキャッシュライン(22)に沿ったデータは全て送出される。パケット境界表示器(18)において、必要であれば、優先順位の低いデータが優先順位の高いデータを妨害しないように、交換されるべきデータと関連した優先順位のための機会(opportunity)が表れる。
パケット(12)自体の通常のキュー(待ち行列)及びデキューは、当該分野において周知である。メモリ(14)へパケット(12)を普通に格納することは、この詳細な説明によって修正されて、全てのパケットにて、優先順位の目的のための交換周波数に対し、パケット境界表示器(18)を格納しなけらばならないという非能率性は最小となる。「メモリー幅の非常に広いTDMスイッチシステム」(Very Wide Memory TDM Switching System)と題された米国特許出願第09/293,563号を参照されたい。該特許出願は、この説明において参照をもって記載に変えられており、パケット(12)の転送に関する全体的な方法及びシステムをより完全に説明するものであって、この説明中に記載された装置及び方法は、有利な点を持つために使用され得ることを説明している。
スイッチは、RAID技術を使用し、個別のファブリック帯域幅を最小限にしつつ、スイッチ帯域幅全体を増大する。スイッチアーキテクチャにおいて、全てのデータは全てのファブリックに均一に分配されるので、スイッチはファブリックを加えることによって帯域幅を増し、ファブリックは、スイッチが帯域幅容量を増大すれば、ファブリックの帯域幅容量を増大する必要がない。
各ファブリックは40G(bps)の交換帯域幅を提供しており、システムは、冗長/予備ファブリックを除いた1、2、3、4、6又は12ファブリックを利用する。換言すると、スイッチは、ファブリックが幾つインストールされるかによって、40G(bps)、80G、120G、160G、240G又は480Gのスイッチとなり得る。
ポートカードは、10G(bps)のポート帯域幅を提供する。4ポートカード当たり1ファブリックになることが必要である。スイッチアーキテクチャは、ポートカード及びファブリックの任意インストレーションを利用しない。
ファブリックASICsは、セルとパケットの両方を利用する。全体として、スイッチは、「受信器が適切にする(receiver makes right)」方法をとっており、この方法においてATMブレード上の出口パス(egress path)は、フレームをセグメント化してセルにしなければならず、フレームブレード上の出口パスは、セルをまとめて再びパケットにしなければならない。
スイッチ内で使用される一般に8スイッチのASICsは:
−分散器(Striper)−分散器は、ポートカード及びSCP−IM上に在する。それは、データを12ビットのデータストリームにフォーマットし、チェックワードを添付し、N即ちシステム中の予備でないファブリックを横切ってデータストリームを分割し、他のファブリックに向かうストライプと同等な幅のパリティストライプを生成し、且つN+1データストリームをバックプレーンへ送出する。
−非分散器(unstriper)−非分散器は、スイッチアーキテクチャ内の他のポートカードASICである。これは、システム中の全てのファブリックからデータストリームを受信する。次に、誤り検出修正を実行するために、チェックワード及びパリティ分散を使用して、元のデータストリームを再構築する。
−集約装置(Aggregator)−集約装置は、分散器からデータストリーム及びルートワードを取り出し、それらを多重化してメモリコントローラへの単一の入力ストリームにする。
−メモリコントローラ−メモリコントローラは、スイッチのキュー及びデキュー(キューから外す)メカニズムを実行する。これは、クロックサイクル毎に複数セルのデータを同時にエンキュー(enqueue、キューに入れる)/デキューをするために、独占排他権を有する広いメモリインタフェースを含んでいる。メモリコントローラのデキュー側は、コネクションのキュー及びシェーピングの大部分をポートカード上で行わせるために、40Gbpsよりも80Gbpsで稼働する。
−セパレータ−セパレータは、集約装置と逆の操作を実行する。メモリコントローラからのデータストリームは、複数のデータストリームに逆多重され、適当な非分散器ASICへ送達される。非分散器までのインタフェースには、キューとフローとの制御ハンドシェーキングが含まれている。
ファブリック間のコネクションについては、3つの異なった視点即ち、物理的、論理的、及び「動的」な視点で見ることができる。物理的には、ポートカードとファブリックとの間のコネクションは、あらゆるギガビット速度の差分ペアのシリアルリンクである。これは、厳密に言うと、バックプレーンへ向かう信号数を減少するための実現(implementation、ソフトとハードの調整)の問題である。動的な観点では、単一のスイッチの形状を考察するか、又は所定の瞬間にデータが如何に処理されているかというスナップショットとして考察されるだろう。ポートカード上のファブリックASICとファブリックとの間のインタフェースは、12ビット幅であるのが効果的である。それらの12ビットは、ファブリックASICsが如何に構成されているかによって1、2、3、4、6又は12ファブリックへ均一に分散される。「動的」な観点は、現在の構成において各ファブリックによって処理されているビットの数を意味しており、これはファブリック数で割るとちょうど12である。
論理的な視点は、ある得る動的構成の全ての合併又は最大機能として考えられることができる。ファブリックスロット#1は、構成によっては、単一分散器からのデータの12、6、4、3、2又は1ビットを処理しているであろうゆえに、12ビットバスで引き抜かれる。それに対照的に、ファブリックスロット#3は、単一分散器からのデータの4、3、2又は1ビットを処理するのに使用されるだけであるがゆえに、4ビットバスで引き抜かれる。
以前のスイッチとは違って、該スイッチは、ソフトウェアにより制御可能なファブリック冗長モードの概念を全く有していない。ファブリックASICsは、予備ファブリックがインストールされている限り、介入なしにN+1冗長を実行する。
ここで提供される限り、N+1冗長は、ハードウェアが、データの損失なしに自動的に単一の障害を検出し、修正することを意味する。
冗長性が作動する方法はかなり容易いが、3つのファブリック(A、B及びC)+予備(S)を有する120Gスイッチが使用される特定のケースを理解すれば、より簡単になる。分散器は、12ビットバスを選び、まず、データユニット(セル又はフレーム)に添付されるチェックワードを生成する。次に、データユニット及びチェックワードは、A、B及びCファブリックの各々(A、B及びC)に関する4ビット毎クロックサイクルのデータストライプに分割される。次に、これらのストライプは、予備ファブリックS用のストライプを生成するのに使用される。ここで、Sn=An XOR Bn XOR Cnであり、4つのストライプは、それらの対応するファブリックへ送られる。ファブリックの反対側において、非分散器は、A、B、C及びSから4つの4ビットストライプを受け取る。次に、3つのファブリック(ABC、ABS、ASC及びSBC)のあり得る全ての組合せは、「一時的な」(tentative)12ビットのデータストリームを再構築する。次に、チェックワードは、4つの一時的なストリームの各々のために計算され、計算されたチェックワードは、データユニットの端部にてチェックワードと比較される。伝送の間にエラーが生じなかった場合、4ストリーム全ては、チェックワードが整合しており、ABCストリームは非分散器出力へ転送される。(単一の)エラーが生じた場合、1つのチェックワードだけが整合しており、整合を含むストリームはチップへ転送され、非分散器は不良のファブリック分散を識別する。
異なったスイッチの構成、即ち、1、2、4、6又は12ファブリックについて、アルゴリズムは同一であるが、ストライプ幅は変化する。
2つのファブリックが失敗すると、スイッチ中を流れるデータの全ては、殆ど確実にエラーが生じるであろう。ファブリックスロットは、番号が付され、昇順に並べられなくてはならない。また、予備ファブリックは特定のスロットであるから、ファブリックスロット1、2、3及び4は、ファブリックスロット1、2、3及び予備とは異なる。前者は冗長のない160Gスイッチであり、後者は冗長を含む120Gである。
第一に、特定のポートカードスロットの使用には、そこに、予備を含まない少なくとも1つの特定の最小数のファブリックがインストールされることが必要であるように、ASICsは構成され、バックプレーンは接続される。この関係は表0に示されている。
それに加え、スイッチ内のAPS冗長は、特にペアのポートカードに限定される。ポートカード1及び2はペア、ポートカード3及び4はペアというようになっており、これはポートカード47及び48まで続いている。これは、APS冗長が要求される場合、ペアのスロットは一緒でなければならないことを意味している。
簡単な例として、2つのポートカード及びファブリックを1つだけ含む構成を挙げてみる。ユーザがAPS冗長の使用を望まない場合、2つのポートカードは、ポートカードスロット1乃至4のうちの任意の2つにインストールされることができる。APS冗長が望まれる場合には、2つのポートカードは、スロット1及び2、或いはスロット3及び4の何れかにインストールされなければならない。
Figure 0005167391
容量を増やすには、新たなファブリックを追加し、スイッチが変化を認識し、新しいファブリックの数を分散してシステムを再形成するのを待つ。新しいポートカードをインストールする。
技術的には、ファブリック毎に容量一杯の4つのポートカードを持つことは不要である。スイッチは、3つのインストール済ファブリック及びスロット(12)の単一ポートカードで正常に機能する。これはコスト面では有効ではないが、機能可能である。容量を削除するには、容量追加の工程を逆に行う。もし、スイッチが超過したら、即ち、8つのポートカードと1つのファブリックをインストールする。
スイッチが超過するのは、不正にアップグレードしたスイッチ又はシステム障害などの結果として発生するだけである。現実には、この状況がどのように発生するかによって2つのうちの1つが発生する。もしスイッチが40Gスイッチとして配列され、ファブリック前にポートカードが追加されたら、第5から第8ポートカードは用いられない。もし、スイッチが80Gの非冗長のスイッチとして配列され、第2ファブリックが不能又は削除されると、スイッチを通じたすべてのデータが不正になる(予備のファブリックはインストールされていないと仮定する)。そして、完了直前に、もし8つのポートカードが80Gの冗長スイッチにインストールされていると、第2ファブリックが不能又は削除され、予備のスイッチが不正又は削除されたファブリックをカバーして通常の操作を続行する。
図1は、スイッチのパケットストライピングを表している。チップセットは、OC48及びOC192c構成共にATM及びPOSポートカードを用いる。OC48ポートカードは、4つの別々のOC48フローを用いてスイッチングファブリックへインターフェースする。OC192ポートカードは、4チャンネルを10Gストリームへ論理的に結合させる。ポートカードの入口側は、ATMセルとパケット間で変化するトラフィックへのトラフィック変換を実行しない。受信したトラフィックのフォームがどれであれ、スイッチファブリックへ送られる。スイッチファブリックはパケットとセルを混合し、パケットとセルの混合をポートカードの出口側へデキューする(キューから外す)。
ポートの出口側は、トラフィックを変換して出力ポートへの適正なフォーマットとしなければならない。この変換は、"受信器が適切にする(receiver makes right)"としてスイッチの内容に関連する。セルブレードは、パケットの区切りを実行し、セルブレードはセルをパケット内にて再組立する必要がある。ファブリックのスピードアップをサポートするため、ポートカードの出口側は、ポートカードの着信側の2倍に等しいリンクバンド幅を用いる。
ポセイドンをベースにした(Poseidon-based)ATMポートカードのブロック図は、図2に示される。各2.5Gチャンネルは入力側TM、入力側の分散器ASIC、非分散器ASIC、出力側の出力TM ASICの4つのASICで構成される。
入力側において、OC−48c又は4OC−12cインターフェースは集約される。各ボルテックス(vortexs)は、2.5Gセルストリームを専用の分散器ASICへ送信する(下記に表されるようにBIBバスを使用する)。分散器は準備されたルートワードを2つの部分へ変換する。ルートワードの一部は、セルへの出力ポートを決定するためファブリックへ送られる。全ルートワードも出力メモリコントローラによって使用されるルートワードとしてバスの一部のデータ上へ送られる。第1ルートワードはファブリックルートワードとして表される。出力メモリコントローラのルートワードは出口ルートワードである。
出力側において、各チャンネルの非分散器ASICは各ポートカードからトラフィックをとり、エラーチェックしデータを修復し、出力バス上へ正常なパケットを送信する。非分散器ASICは、予備のファブリックからのデータ、及び分散器によりインサートされるチェックサムを使用して、データ異常を検出し修復する。
図2は、OC48ポートカードを表す。OC192ポートカードは、ファブリックへの一つの10Gデータ流れ、及び10Gと20G間の出口データ流れをサポートする。このボードも4つの分散器及び4つの非分散器を使用する。しかし、4つのチップは拡張データバス上で並行に操作される。各ファブリックへ送られたデータは、OC48及びOC192ポート共に同一であり、データは、特別な変換機能無しでポートタイプ間を流れる。
図3は、10G連結ネットワークブレードを表す。各40Gスイッチファブリックは、40Gbpsセル/フレームまでエンキューし(enqueue、キューに入る)、それらを80Gbpsでデキューする。この2Xスピードアップにより、ファブリックにて緩衝されたトラフィックの量が減り、ラインレートでトラフィックの出力ASICダイジェストバーストを噴出(lets)させる。スイッチファブリックは集約装置(aggregator)、メモリコントローラ、セパレータの3種類のASICから構成される。9つの集約装置ASICは、48までのネットワークブレード及びコントロールポートからのトラフィックの40Gbpsを受信する。集約装置ASICは、ファブリックルートワード及びペイロードを結合して、単一データストリーム、及びソース間に配備され生じる結果をワイド出力バス上に設置するTDMにする。追加のコントロールバス(destid)は、どのようにメモリコントローラがデータをエンキューするかをコントロールするのに使用される。各集約装置ASICからのデータストリームは12のメモリコントローラへ分けられる。
メモリコントローラは、16のセル/フレームまでを各時刻サイクルで受信する。各12のASICは集約されたデータストリームの1/12を収納する。入力中のデータはdestidバス上に受信されたコントロール情報を基にしており収納される。データの収納は、メモリコントローラにて、パケット境界に比較的気づかないほどに単純化される(キャッシュ ライン コンセプト)。全12のASICは80Gbpsに集約されたスピードで、収納されたセルを同時にデキューする(キューから外す)。
9つのセパレータASICは集約装置ASICの逆機能を実行する。各セパレータは全ての12のメモリコントローラからのデータを受信し、集約装置によってデータストリームに埋め込まれたルートワードを復号し、パケット境界を探す。各セパレータASICは、データがセパレータへ送られたようにメモリコントローラによって示された正確な目的地に基づいて、24までの別の非分散器にデータを送る。
デキュー工程は、背圧(back-pressure)駆動される。もし、背圧駆動が非分散器に適用されたら、背圧はセパレータへ逆連繋される。セパレータ及びメモリコントローラも、メモリコントローラが出力ポートへトラフィックをデキューできる時に制御する背圧駆動メカニズムを有する。
チップセットのOC48及びOC192を有効的に利用する為に、1つのポートカードからの4つのOC48ポートは常に同じ集約装置へと同じセパレータから送られる(集約装置及びセパレータのポート接続は常に対称である)。
図4及び図5は、ファブリックASICの接続を表している。スイッチの外部インターフェースは、分散器ASICとボルテックス(vortex)などの入口ブレードASIC間の入力バス(BIB)であり、非分散器ASICとトライデント等の出口ブレードASIC間の出力バス(BOB)である。分散器ASICは入力バス(BIB)を経由した入口ポートからのデータを受け取る(DIN ST bl ch busとしても知られる)。
このバスは、4つの別々の32ビット入力バス(4×OC48c)、又はコントロールラインの共通セットを具え、全ての分散器への単一128ビット幅データバスの何れとしても作動できる。このバスは、分散器チップのソフトウェア構成に基づいたセル又はパケットのどちらをも用いる。
非分散器ASICは出力バス(BOB)(DOUT UN bl ch busとしても知られる)を経由して出口ポートへデータを送る。それはセル又はパケットのどちらでも用いることができる64(又は256)ビットデータバスである。それは下記の信号から構成される。
このバスは、4つの別々の32ビット出力バス(4×OC48c)、又はコントロールラインの共通セットを具え、全ての非分散器からの単一128ビット幅データバスの何れとしても作動できる。このバスは、非分散器チップのソフトウェア構成に基づくセル又はパケットのどちらをも用いる。
同期装置は2つの主な目的を持つ。第1の目的は、論理的セル/パケット又は全てのファブリックを順序付けるデータグラムを維持することである。ファブリックの入口インターフェース上で、1つのポートカードのチャンネルから1つ以上のファブリックに達するデータグラムは、全てのファブリックが同じ順序で処理される必要がある。同期装置の第2の目的は、ポートカードの出口チャンネルを有し、一緒に属している全てのセグメント又はデータグラムのストライプを再構成することである。しかし、データグラムセグメントは1つ以上のファブリックから送られ又は違う時間にブレード出口入力に到着する。このメカニズムは、別のネット遅延と、ブレードとファブリック間にてクロックドリフトの変動量を有するシステムで維持することが必要である。
スイッチは、システムに開始情報が伝達する同期ウィンドウのシステムを使用する。各送信器及び受信器は、最新の再同期表示から多重ソースからの同期データまで関連するクロックカウントを見ることが出来る。受信器は広域同期表示を受け取った後に、プログラム可能な遅延まで、同期期間での第1クロックサイクルのデータの受取を遅らせる。この時点で、全てのデータは同時に受信されたと考えられ、修正された順序付けが適用される。ボックスを通じた遅れのために、パケット0及びセル0の遅延が別の順序で受信器に見られることを引き起こすにもかかわらず、受信時間=1に於ける両方のストリームの結果順序は、物理的バスに基づいて、そこから受信したパケット0、セル0と同じである。
多重セル又はパケットは、1つのカウンターティック(counter tick)へ送信される。全ての宛先は、第2インターフェース等に移動する前に、第1インターフェースから全てのセルに向けられる。このセル同期化技術は、全てのセルインターフェースに使用される。幾つかのインターフェース上には別の解決方法が必要とされる。
同期装置は、2つの主なブロックから成る。主に、送信器と受信器である。送信器ブロックは、分散器及びセパレータASICに属する。受信器ブロックは、集約装置及び非分散器ASIC内にある。集約装置の受信器は、24(6ポートカード×4チャンネル)入力レーンまで扱える。非分散器の受信器は、13(12ファブリック+1パリティーファブリック)入力レーンまで扱える。
同期パルスの受信時、送信器は先ず早いクロックサイクル(Nクロック)の数を計算する。送信同期装置は、出力ストリーム及びロックダウンするよう指示された伝達NKキャラクターを遮断する。ロックダウン連続の最後に、送信器は次のクロックサイクルにて有効データが始まることを示しているKキャラクターを伝達する。この次のサイクル有効表示は、全てのソースから同期トラフィックへ受信器によって使用される。
次の伝達の最後に、送信器は、インターフェース上に少なくとも1つのアイドルを挿入する。これらのアイドルは、もし復号器が同期から外れるとしたら、10ビット復号器を10ビットシリアルコードウインドウへ正常に再同期させる。
受信同期装置は広域同期パルスを受信し、プログラムされた数により同期パルスを遅らせる。(物理的ボックスが有し得る最大量のトランスポート遅延に基いてプログラムされている。)同期パルスを遅延させた後、受信器は同期キャラクターが受信するのに適した直ぐ後に、クロックサイクルととらえる。データは各クロックサイクルで、次の同期キャラクターが入力ストリーム上に現れるまで受信される。このデータは、遅延広域同期パルスが現れるまで受信に適しているとはとらえない。
送信器及び受信器が別々の物理的ボード上にあり、別の発振器によってクロックされ、クロックスピードの差がその間にある。別の送信器及び受信器間のクロックサイクルの数を区切るのに、広域同期パルスは全ての連続カウンターを再同期するのにシステムレベルで使用される。各チップは、全ての有効なクロックスキューのもとでの動作を保証するプログラムが格納されている。各送信器及び受信器は、少なくとも1つのクロックサイクルにより早くなると考えられる。各チップは、それらの現在の同期パルスウインドウへのクロックサイクルの適正な数を待つ。これは全てのソースが同期パルス間のN同期パルスウインドウの有効なクロックサイクルを実行することを保証する。
例えば、同期パルスウインドウは100クロックまでプログラム可能であり、同期パルスは10000クロック毎の同期パルスの名目速度で送られる。同期パルス送信器クロック、及び同期パルス受信クロックが共にドリフトした最悪の場合に基いて、同期パルス送信器上に10000クロックとして受信器の9995から10005クロックが実際にある。この場合、同期パルス送信器は各10006クロックサイクルで同期パルスを送信するようにプログラムされ、10006クロックにより、全ての受信器が必ずそれらの次のウインドウにあるよう保証される。もし同期パルス送信器が遅いクロックを有すれば、受信器は早いクロックを具えて、実質上10012クロックを有する。同期パルスは12クロックサイクルで受信されるから、チップは12クロックサイクル遅延する。別の受信器には10006クロックが見られ、同期パルスウインドウの最後にて、6クロックサイクルへロックダウンする。両方の場合、各ソースは10100クロックサイクルで動作する。
ポートカード又はファブリックが存在せず、又は挿入直後であり、どちらかが受信同期装置の入力を駆動するとすると、特定の入力FIFOへのデータの書込は禁止される。というのは、入力クロックは存在せず、又は不安定でデータラインの状態が判らないからである。ポートカード又はファブリックが挿入された時、ソフトウェアは必ず入れられ、バイトレーンへの入力を可能にして、データ入力可能に成ったソースからのデータ入力を許す。入力FIFOへの書込は可能になる。可能信号はデータ入力の後、主張され、ポートカード及びファブリックからのルートワード及びクロックは安定すると考えられる。
システムレベルでは、第1及び第2同期パルス送信器が2つの別のファブリック上にある。各ファブリック及びブレード上には同期パルス受信器がある。これらは図6に見られる。第1同期パルス送信器は、フリーランニングの同期パルスジェネレータであり、第2同期パルス送信器はその同期パルスを第1同期パルス送信器へ同期化させる。同期パルス受信器は、第1及び第2同期パルスを共に受信し、エラー検査アルゴリズムに基いて、そのボード上のASIC上へ正しい同期パルスを選択して送信する。同期パルス受信器は、もし同期パルス送信器からの同期パルスが、その連続0カウント中に落ちたならば、パルスは残りのボードのみに送られることが保証される。例えば、同期パルス受信器及び非分散器ASICは共に同じブレード上にある。同期パルス受信器及び非分散器の受信同期装置は同じ水晶発振器からクロックされ、クロックドリフトは 内部連続カウンタを増大させるのに用いられるクロック間には存在しない。受信同期装置は、受信する同期パルスは”0”カウントウインドウ内に常にあることを要求する。
もし同期パルス受信器が、第1同期パルス送信器が同期から外れていると決定したら、第2同期パルス送信器ソースへ切り換える。第2同期パルス送信器も第1同期パルス送信器が同期から外れているかを判定し、第1同期パルス送信器から独立して、第2同期パルス送信器自身の同期パルスを発生する。これが第2同期パルス送信器の操作の第1モードである。もし同期パルス受信器が第1同期パルス送信器が再び同期するように成ったと判定すると、第1同期パルス送信器側に切り換える。第2同期パルス送信器も、第1同期パルス送信器が再び同期すると決定したら、第2モードへ切り換える。第2モードで、独自の同期パルスを第1同期パルスへ同期させる。同期パルス受信器は、同期パルスフィルタリングメカニズムにおいて第2同期パルス送信器より少容量である。同期パルス受信器は、第2同期パルス送信器よりさらに早く切り換わる。これは第2同期パルス送信器が第1モードに切り換わる前に、全ての受信同期装置が第2同期パルス送信器ソースを使用して変換することを保証するために行われる。
図6は、同期パルスの分布状況を表す。同期演算で示されるクロックサイクルの数によるファブリックからのバックプレーン伝達をロックダウンするために、全てのファブリックは、多くのクロックサイクルを効果的にフリーズし、同じエンキュー及びデキュー判定が同期内に留まることを確実にする。これは各ファブリックASICにおける利用を必要とする。ロックダウンは、キューリシンクのような特殊な機能を含む全ての機能を止める。
同期パルス受信器からの同期信号は、全てのASICへ分配される。各ファブリックASICは、広域同期パルス間のクロックサイクルをカウントするコアクロックドメインのカウンターを含む。同期パルス受信後、各ASICは早いクロックサイクルの数を演算する。広域同期パルスは独自のクロックで伝えられないから、演算されたロックダウンサイクル値は同じファブリック上の全てのASICと同じにはならない。この差は、ロックダウンカウントの最大スキューを許容する全てのインターフェースFIFOの奥行きを保持することにより説明される。
全てのチップ上のロックダウンサイクルは、最新の連続した有用な(ロックダウンしない)サイクルの始まりに関する同じ論理的ポイントへ常に挿入されている。それは、各チップは常に、ロックダウンサイクルの数が変化するにも係わらず、ロックダウン事象間の同じ数の”有用な”サイクルを実行する。
ロックダウンは、異なる時間に異なるチップで発生するかも知れない。全てのファブリック入力FIFOは、初期に設定され、FIFOが、ドライ又はオーバーフローすることなしに、ロックダウンはFIFOのどちら側でも発生できるようになっている。各々のチップツーチップインターフェースには、(基板トレース長さ及びクロックスキューと同じく)ロックダウンサイクルを引き起こす同期FIFOがある。送信機は、ロックダウン状態の間、ロックダウンを知らせる。受信器は、示されたサイクルの間はデータを入れず(push)、また、それ自体のロックダウンの間はデータを取り出さない(pop)。FIFOの奥行きは、どのチップが最初にロックするかによって変化するが、その変化は、ロックダウンサイクルの最大数によって制限される。特定のチップが1回の広域同期期間の間に判断するロックダウンサイクルの数は変化するが、それらは全て、同じ数の有効なサイクルを有している。特定のファブリック上の各チップが判断するロックダウンサイクルの総数は、同じであって、制限された許容誤差の範囲である。
集約装置コアクロックドメインは、ロックダウン持続時間のために完全に停止し、全てのフロップとメモリは、その状態を保持する。入力FIFOは、拡張可能である。ロックダウンバスサイクルは、出力キューに挿入される。コアロックダウンが実行される正確な時間は、DOUT_AG(Digital OUT-Analog Ground)バスプロトコルがロックダウンサイクルを挿入させる時間によって指図される。DOUT_AGロックダウンサイクルは、DestIDバスに示されている。
メモリコントローラは、適当な数のサイクルのために、全てのフロップをロックダウンせねばならない。メモリコントローラにおけるシリコン領域への影響を削減するため、伝搬ロックダウンと呼ばれる技術が用いられる。
ファブリック上のチップツーチップ同期化は、あらゆる同期パルスで実行される。幾つかの同期エラー検出能力が幾つかのASICに存在するけれども、ファブリック同期エラーを検出し、有害なファブリックを取り除くことが非分散器の仕事である。チップツーチップ同期化は、ファブリック上でどの様なパケット流れも可能となる前に行なわれる連鎖式機能である。この同期設定は、集約装置からメモリコントローラへ流れ、セパレータへ行き、またメモリコントローラへ戻る。システムがリセットされた後、集約装置は、第1広域同期信号を待つ。受信後、各集約装置は、DestIDバス上のローカル同期コマンド(値0x2)を、各メモリーコントローラへ送信する。
分散処理機能は、ビットを着信データストリームから個々のファブリックに割り当てる。分散処理機能を導き出す際に、2つの項目が最適化された:
1.バックプレーン効率は、OC48及びOC192のために最適化されねばならない。
2.バックプレーン相互接続は、OC192オペレーションのために大きく変更されるべきではない。
これらは、分散器及び非分散器ASICに追加された多重通信回路用(muxing)レッグに対して、交互に使用された(traded-off)。最適化にも拘わらず、スイッチは、OC48とOC192の両方用のメモリコントローラにおいて、同一のデータフォーマットを有さなければならない。
バックプレーン効率は、バックプレーンバスを形成する際、最小のパッディング(padding)が加えられると、よくなる。OC48のための12ビットバックプレーンバスと、OC192のための48ビットバックプレーンバスの場合、最適な割り当ての為には、転送用の未使用ビットの数が、(バイト数 *8)/バス幅と同一であることを必要とし、“/”は、整数の分数である。OC48のためには、バスは、0,4又は8の未使用ビットを有することができる。OC192のためには、バスは、0,8,16,24,32又は40の未使用ビットを有することができる。
このことは、どのビットも12ビットの境界の間を移動することができないか、あるいは、OC48パッディングは、一定のパケット長さにとって最適ではないことを意味している。
OC192cに関し、最大帯域幅利用とは、各分散器が、同じ数のビットを受信せねばならないということを意味している(即ち、分散器へのビットインターリーブを意味する)。同一のバックプレーン相互接続と組み合わされた場合、これは、OC192cにおいて、各分散器は、1/4のビットを有する各分散器から来る、確実に正しい数のビットを有していなければならないことを意味する。
データビットをファブリックに割り当てるために、48ビットのフレームが使用される。分散器の内部には、80〜100Hzでは32ビット幅で書き込まれ、125Hzでは24ビット幅で読み取られるFIFOがある。3つの32ビットの語は、4つの24ビットの語を生じる。24ビットの語の各組は、48ビットのフレームとして扱われる。ビットとファブリック間の割り当ては、ファブリックの数に左右される。
Figure 0005167391
次の表は、集約装置にて最初に読み取られ、セパレータにて最初に書き込まれるバイトレーンを示している。4つのチャネルは、A、B、C、Dで表されている。全てのバスが完全に使用されうるよう、異なるファブリックは、異なるチャネルの読取/書込オーダーを有している。
1つのファブリック−40G
次の表は、集約装置のインターフェース読取オーダーを示している。
Figure 0005167391
2つのファブリック−80G
Figure 0005167391
120G
Figure 0005167391
3つのファブリック−160G
Figure 0005167391
6つのファブリック−240G
Figure 0005167391
12のファブリック−480G
Figure 0005167391
ギガビット受信器へのインターフェースは、2つの分離したルートワードバスとデータバスとを有する分割バスとして、受信器バスを使用する。ルートワードバスは、固定サイズ(OC48の入口には2ビット、OC48の出口には4ビット、OC192の入口及び出口には8ビット)であり、データバスは、変更できるサイズのバスである。送信オーダーは、決められた位置にルートワードバスを常に有している。あらゆる分散処理構造は、1つの受信器を有しており、これは、全ての有効な構造において目的物と通話するために用いられるものである。その受信器は、両方のルートワードバスを送り、データの送信を開始するために用いられる。
バックプレーンインターフェースは、バックプレーン受信器へのインターフェースを用いて、物理的に行なわれる。入口及び出口両用のバスは、2つの半分部分から構成されていると考えられ、各々は、ルートワードデータを有している。第1バスの半分部分がパケットを終了するなら、半分バスの2つは、個々のパケットに関する情報を有していてよい。
例えば、ファブリックローカル通話に行くOC48インターフェースは、24データビットと2ルートワードビットを有している。このバスは、2x(12ビットデータバス+1ビットルートワードバス)を有しているかの如く作用して用いられる。2つのバスの半分を、A及びBとする。バスAは、第1データであって、その後にバスBが続く。パケットは、バスAとバスBのどちらでも開始でき、バスAとバスBのどちらでも終了できる。
データビットとルートワードビットを受信器ビットにマッピングする際、バスビットはインターリーブされる。これによって、全ての受信器は、たとえ分散処理量が変化しても、確実に同一の有効/無効状態を有さねばならなくなる。ルートワードは、バスBの前に現れるバスAによって解釈される。バスA/バスBという概念は、チップ間にインターフェースを有することと密接に対応している。
全てのバックプレーンバスは、データの断片化を支持している。使用されるプロトコルは、(ルートワード中の最終セグメントによって)最後の転送を記録する。最終セグメントでない全ての転送は、たとえ偶数のバイトではなくても、バスの幅全体を利用する必要がある。いかなる一定のパケットも、そのパケットの全ての転送のため、同一の数のファブリックに分散されねばならない。パケットの送信中に、分散器の分散処理量が更新されるとしても、次のパケットの初めに分散処理が更新されるだけである。
ASICにおける送信機の各々は、各チャネルのための次のI/Oを有している: 8ビットデータバス、1ビットクロック、1ビットコントロール。
受信側では、ASICは、チャネルに次のものを受信する:
受信クロック、8ビットデータバス、3ビットステータスバス。
スイッチは、受信器を1〜3組のバックプレーンにマッピングすることによって、受信器を最適化し、各受信器は、1〜3組のバックプレーンを具える。これにより、構造に必要なトラフィックを利用するのに十分な送信器だけが、完全な1組のバックプレーンネットを維持しながら、基板上に配備される。このような最適化の目的は、必要とされる受信器の数を削減することである。
最適化が行なわれる一方、どのようなときにも、2つの異なる分散処理量がギガビット受信器において支持されねばならないということが未だに求められる。このことは、トラフィックが、分散処理データから1つのファブリックへ、又、分散器の分散処理データから同時に2つのファブリックへエンキュー(enqueue、キューに入れる)されることを可能とする。
バスの構造によっては、複数のチャネルは、1つの更に大きな帯域幅のパイプを形成するために、互いに連結される必要があるかもしれない(どのようなときにも、論理的な接続では1つ以上の受信器が存在する)。4倍ギガビット受信器は4つのチャネルを互いに連結することができるが、この機能は用いられない。代わりに、受信ASICが、1つのソースからのチャネル間での同期設定について責任を負う。これは、総称同期アルゴリズムと同じ文脈である。
ギガビット受信器における8b/10b符号化/復号化は、多数の制御事象がチャネルによって送られる。これらの制御事象は、K文字で表示され、符号化された10ビット値に基づいて数字が付される。これらのK文字の幾つかは、チップセットで用いられる。使用されるK文字とその機能は、下記の表に示されている。
Figure 0005167391
パケットに対する分散処理構造によって、スイッチは、各バックプレーンチャネルに用いられる、変更可能な数のデータビットを有する。受信器一式の内部には、データが次のオーダーで満たされる:
F[ファブリック]_[oc192ポート数][oc48ポート指定(a,b,c,d)][受信器_数]
チップセットは、ここに説明する一定の機能を実行する。ここで記載した機能の大半は、複数のASICで用いられているため、それらをASIC毎に記載することは、求められる機能の全体的な範囲についての明確な理解を妨げることになる。
スイッチチップセットは、64K+6バイトの長さまでパケットと協働するように構成されている。スイッチの入口側には、複数のポート間で共有されるバスが存在する。大半のパケットに関して、それらは、パケットの初めからパケットの終わりまで、いかなる中断もなく送信される。しかしながら、この方法は、遅延感知トラフィックの遅延変動量を大きくすることになりかねない。遅延感知トラフィックとロングトラフィックとが、同一のスイッチファブリックに共存できるようにするため、ロングパケットという概念が導入されている。基本的に、ロングパケットによって、大量のデータは、キューイングロケーションに送られ、ソースを基にキューイングロケーションで集積され、ロングパケットの末端部が転送されると、直ちにキューに加えられる。ロングパケットの定義は、各ファブリック上のビット数に基づいている。
イーサネットMTUがネットワーク全体に維持された環境でスイッチが作動している場合、ロングパケットは、40Gbpsより大きいサイズのスイッチには見受けられない。
ワイドキャッシュライン共有メモリ技術は、セル/パケットをポート/優先キューに格納するために用いられる。共有メモリーは、セル/パケットを継続的に記憶するので、仮想的には、共有メモリーにおいて断片化及び帯域幅の無駄が存在しない。
複数のキューが共有メモリーに存在する。それらは、宛先及び優先度毎に基づいている。同一の出力優先度とブレード/チャネルIDを有する全てのセル/パケットは、同一のキューに記憶される。セルは、常にリストの先頭からデキュー(キューから外す)され、待ち行列の末尾にエンキュー(キューに入れる)される。各セル/パケットは、一部の出口ルートワードと、パケット長さ、及び変更可能な長さのパケットデータによって構成されている。セル及びパケットは、継続的に記憶される。即ち、メモリーコントローラー自体は、ユニキャスト(アドレスを1つだけ指定する通信)接続用のセル/パケットの境界を認識しない。パケット長さは、MCパケット用に記憶される。
マルチキャストポートマスクメモリー64Kx16−ビットは、マルチキャスト接続用宛先ポートマスク、即ち、マルチキャストVC毎に1つのエントリー(又は複数のエントリー)を記憶するために用いられる。 マルチキャストDestID FIFOによって示されるヘッドマルチキャスト接続のポートマスクは、スケジューリング検索のために内的に記憶される。ヘッド接続のポートマスクがクリアされ、新たなヘッド接続が提供されると、ポートマスクメモリーが検索される。
APSとは、自動保護スイッチングを表し、SONET冗長標準のことである。スイッチにおいてAPSの特徴を利用するため、2つの異なるポートカードの2つの出力ポートが、略同一のトラフィックを送る。メモリーコントローラーは、APSポート用に1組のキューを維持し、両方の出力ポートに同じデータを送る。
メモリーコントローラーASICにおける2重化データを用いるため、複数のユニキャストキューの1つは各々、プログラム可能なAPSビットを有している。APSビットが1に設定されると、パケットは、両方の出力ポートにデキューされる。APSビットがポート用にゼロに設定されると、ユニキャストキューは、正常モードで作動する。ポートがAPSスレイブとして構成されると、ポートは、APSマスターポートのキューから読み取る。OC48ポートに関し、APSポートは、隣接するポートカードの同じOC48ポート上に常に存在する。
ファブリック間のメモリーコントローラーにおける共有メモリーキューは、クロックドリフト又は新たに挿入されたファブリックのために、同期から外れている(即ち、異なるメモリーコントローラーASIC間の同一のキューは、異なる奥行きを有している)。ファブリックキューを、任意の状態から有効かつ同期の状態に持っていくことは重要である。又、いかなる復元機構でもセルをドロップしないことが望ましい。
リシンク(再同期)セルは、全てのファブリック(新たな及び既にあるもの)に一斉に送られて、リシンク状態に入る。ファブリックは、リシンクセルの前に受け取った全てのトラフィックを、キューリシンクが終わる前に、排出しようと試みる。しかし、リシンクセル後に受信したトラフィック(回線上のデータ情報量)は、リシンクセルが終了するまで引き出されない。キューリシンクは2つの出来事の1つが生じると終了する。
1.時間切れのとき
2.新たなトラフィックの総量が(リシンクセルの後に受け取ったトラフィック)しきい値を越えたとき
リシンクキューの終端にて、全てのメモリコントローラは、どのレフトオーバー旧トラフィック(リシンクセルのキューの前に受け取ったトラフィック)をも排出する。オペレーションを自由にすることは、全てのメモリコントローラがリシンク状態に入るときはいつでも、メモリの全てを一杯にするのに十分速い。
キューリシンクは、3つの全てのASICファブリックに与えられる。集約器はFIFOメモリがリシンクセルのキュー後に同様に排出することを確実にしなければならない。メモリコントローラは、キューイング及びドロッピング(データ送信時の損失)を実行する。分離器はトラッフィクをドロッピングし、これが起こったときにパージング(構文解析)状態マシンをリセットする。個々のASICにて、キューリシンクの詳細については、ADSチップを参照されたい。
デキューについては、マルチキャスト接続(複数の端末に同じ内容を流すこと)は、独立した32のトークンを各ポートに有し、各々は50ビットのデータ又はまとまったパケットに相当する。先頭の接続及びその高優先キューのポートマスクは、各サイクル毎にFIFO接続及びポートマスクメモリから読み出される。まとまったパケットは先頭接続の長さ領域に基づくマルチキャストキャッシュラインから隔てられている。先頭のパケットは、全ての宛先ポートに送られる。ポートに対してマルチキャストトークンが有用であるときは、8つのキュー排出器は、パケットを分離器に送る。次の先頭接続は、現在の先頭パケットがその全てのポートに送られるときにのみ、処理されるだろう。
キューファブリックは、リシンクセルファブリックを介して直ぐに変換され、ポート領域当たりの優先の数が、各ポートがいくつの優先キューを有するかを示すのに用いられる。分散ASICは、ネットワークブレード上にある。
以下の語は、スイッチの語彙にて、かなり特有の意味を有する。多くはどこかで述べられたが、これは1箇所にそれらを集めて定義することを企画している。
Figure 0005167391
Figure 0005167391
Figure 0005167391
送信器と受信カウンタの関係は、図7に示される。
本発明は例示の目的で前述の実施例に於いて、詳細に記載されてきたが、そのような詳細な記載は単にその目的の為であり、当該分野の専門家であれば、後述の特許請求の範囲によって記載されるようなもののほかにも、発明の精神と範囲から逸脱することなく、変形を成し得るものと理解されるべきである。

Claims (6)

  1. パケットを格納する装置に於いて、
    パケットを保持するメモリと、
    ただ1つのパケット境界表示器が繋がった状態で、少なくとも1つの該パケットをメモリ内に格納する機構とを具えており、
    格納する機構は、メモリコントローラを有しており、所定数のビットがメモリ内に格納された後に、メモリコントローラはパケット境界表示器をメモリ内に設置し、
    メモリはキャッシュラインで構成され、パケットはメモリ内のキャッシュラインに沿って格納され、各キャッシュラインは、200ビット長であり、
    メモリコントローラは、パケットのビットデータをメモリのキャッシュラインに格納し、キャッシュラインの200ビットのエントリー毎に、以下の項目(i)乃至(iv)の何れか1つ:
    (i)全てのビットは有効であるが、パケット境界にて終了しない、
    (ii)全てのビットは有効であり、パケット境界にて終了する、
    (iii)少なくとも191ビットは有効であり、最初の無効なビットは、200から探索していくときに初めて見つかる0である、
    (iv)191未満のビットは有効であり、200〜193のビットは有効ビット数の計算を含む、
    を示す2ビットの識別器が格納される装置。
  2. メモリコントローラは、パケットの15キャッシュライン分がメモリ内に格納された後に、パケット境界表示器を挿入する請求項1に記載の装置。
  3. メモリコントローラは、パケットの優先に関し、パケット境界表示器に基づき、どのパケットがメモリから動かされるかを切り替える請求項2に記載の装置。
  4. パケットを格納する方法に於いて、
    メモリにてパケットを受け取る工程と、
    メモリコントローラを用いて、ただ1つのパケット境界表示器がパケットに繋がった状態で、少なくとも1つのパケットをメモリ内に格納する工程とを有しており、
    パケットを格納する工程は、所定のビット数がメモリ内に格納された後に、メモリコントローラを用いてメモリ内にパケット境界表示器を設置する工程と、メモリ内にキャッシュラインに沿ってパケットを格納する工程とを有し、
    パケット境界表示器を設置する工程は、メモリのキャッシュラインにパケットのビットデータを格納する工程を有し、
    各キャッシュラインは、200ビット長であり、キャッシュラインの200ビットのエントリー毎に、以下の項目(i)乃至(iv)の何れか1つ:
    (i)全てのビットは有効であるが、パケット境界にて終了しない、
    (ii)全てのビットは有効であり、パケット境界にて終了する、
    (iii)少なくとも191ビットは有効であり、最初の無効なビットは、200から探索していくときに初めて見つかる0である、
    (iv)191未満のビットは有効であり、200〜193のビットは有効ビット数の計算を含む、
    を示す2ビットの識別器が格納される方法。
  5. メモリコントローラは、パケットの15キャッシュライン分がメモリ内に格納された後に、パケット境界表示器を挿入する請求項4に記載の方法。
  6. パケットのビットデータを格納する工程の後には、パケットの優先に関し、パケット境界表示器に基づき、メモリからのパケットを切り替える工程がある請求項5に記載の方法。
JP2011171341A 2000-07-28 2011-08-04 パケット境界表示器を用いてパケットを格納する方法及び装置 Expired - Fee Related JP5167391B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/627800 2000-07-28
US09/627,800 US6851035B1 (en) 2000-07-28 2000-07-28 Method and apparatus for storing data packets with a packet boundary indicator

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001223986A Division JP2002101130A (ja) 2000-07-28 2001-07-25 パケット境界表示器を用いてパケットを格納する方法及び装置

Publications (3)

Publication Number Publication Date
JP2012010372A JP2012010372A (ja) 2012-01-12
JP2012010372A5 JP2012010372A5 (ja) 2012-03-08
JP5167391B2 true JP5167391B2 (ja) 2013-03-21

Family

ID=24516180

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001223986A Pending JP2002101130A (ja) 2000-07-28 2001-07-25 パケット境界表示器を用いてパケットを格納する方法及び装置
JP2011171341A Expired - Fee Related JP5167391B2 (ja) 2000-07-28 2011-08-04 パケット境界表示器を用いてパケットを格納する方法及び装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001223986A Pending JP2002101130A (ja) 2000-07-28 2001-07-25 パケット境界表示器を用いてパケットを格納する方法及び装置

Country Status (5)

Country Link
US (1) US6851035B1 (ja)
EP (1) EP1176768B1 (ja)
JP (2) JP2002101130A (ja)
AT (1) ATE375069T1 (ja)
DE (1) DE60130711T2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973092B1 (en) * 2000-07-28 2005-12-06 Marconi Intellectual Property (Ringfence), Inc. Dynamic queue utilization
US7342942B1 (en) * 2001-02-07 2008-03-11 Cortina Systems, Inc. Multi-service segmentation and reassembly device that maintains only one reassembly context per active output port
US7392355B2 (en) * 2002-07-09 2008-06-24 International Business Machines Corporation Memory sharing mechanism based on priority elevation
US7043611B2 (en) * 2002-12-11 2006-05-09 Lsi Logic Corporation Reconfigurable memory controller
US20050038902A1 (en) * 2003-08-14 2005-02-17 Raju Krishnamurthi Storing data packets
US7822915B2 (en) * 2007-06-30 2010-10-26 Alcatel-Lucent Usa Inc. Memory controller for packet applications
JP5482230B2 (ja) * 2010-01-25 2014-05-07 富士通株式会社 通信装置、情報処理装置、通信装置の制御方法及び制御プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1229434A (en) * 1983-12-23 1987-11-17 Northern Telecom Limited Multiplexer for bit oriented protocol data link control
JP2791037B2 (ja) * 1988-05-25 1998-08-27 株式会社日立製作所 パケットデータ転送制御装置
US5128665A (en) * 1989-08-21 1992-07-07 Motorola, Inc. Selective call signalling system
US5128926A (en) * 1990-03-21 1992-07-07 Digital Equipment Corporation Updating link state information in networks
US5414650A (en) * 1993-03-24 1995-05-09 Compression Research Group, Inc. Parsing information onto packets using context-insensitive parsing rules based on packet characteristics
JP3271640B2 (ja) * 1994-11-30 2002-04-02 川崎マイクロエレクトロニクス株式会社 デジタルデータ受信装置
JPH08172435A (ja) * 1994-12-19 1996-07-02 Matsushita Electric Ind Co Ltd 固定長パケットによる通信装置
DE69616402T2 (de) 1995-03-31 2002-07-18 Sun Microsystems, Inc. Schnelle Zweitor-Cachesteuerungsschaltung für Datenprozessoren in einem paketvermittelten cachekohärenten Multiprozessorsystem
JPH09162855A (ja) * 1995-12-13 1997-06-20 Fujitsu Ltd シリアル・データ受信方式
JP2842524B2 (ja) * 1996-06-06 1999-01-06 日本電気株式会社 マルチキャストグループ構成方法及びマルチキャスト通信ネットワーク
US5974511A (en) * 1997-03-31 1999-10-26 Sun Microsystems, Inc. Cache subsystem with pseudo-packet switch
US5893121A (en) 1997-04-23 1999-04-06 Sun Microsystems, Inc. System and method for swapping blocks of tagged stack entries between a tagged stack cache and an untagged main memory storage
US6078587A (en) * 1997-06-23 2000-06-20 Sun Microsystems, Inc. Mechanism for coalescing non-cacheable stores
EP0987854B1 (en) * 1997-12-26 2007-11-07 Matsushita Electric Industrial Co., Ltd. Apparatus for reproduction of encoded signal
US6161155A (en) * 1998-07-20 2000-12-12 Hewlett-Packard Company Apparatus and method for storing retrievable boundary information into a buffer memory of a receiving device
JP2000200175A (ja) * 1998-11-04 2000-07-18 Sharp Corp データ送出システム
JP2000215446A (ja) * 1999-01-26 2000-08-04 Ricoh Co Ltd 情報記録再生装置

Also Published As

Publication number Publication date
DE60130711T2 (de) 2008-07-03
EP1176768B1 (en) 2007-10-03
EP1176768A3 (en) 2004-01-07
ATE375069T1 (de) 2007-10-15
JP2012010372A (ja) 2012-01-12
EP1176768A2 (en) 2002-01-30
DE60130711D1 (de) 2007-11-15
JP2002101130A (ja) 2002-04-05
US6851035B1 (en) 2005-02-01

Similar Documents

Publication Publication Date Title
JP4679794B2 (ja) 正しくする受信器
US7516253B2 (en) Apparatus for storing data having minimum guaranteed amounts of storage
US6473433B1 (en) Queue resynch: synchronous real-time upgrade of a distributed switching system
US6473435B1 (en) Method and apparatus for transferring packets to a memory
JP2004503133A (ja) クロックドリフトとトランスポート遅延を有する分散型システムに於けるバックプレーン同期化
US7283547B1 (en) Switch fabrics logical synchronization utilizing propagation lockdown
US7103041B1 (en) Optimization of number of transceivers used in a switch
JP5167391B2 (ja) パケット境界表示器を用いてパケットを格納する方法及び装置
US6973092B1 (en) Dynamic queue utilization
US7106692B1 (en) APS/port mirroring
JP4798889B2 (ja) ロングパケットの取り扱い
JP4679793B2 (ja) スイッチに於いてn+1冗長化を狙わないことを許す受信器デコードアルゴリズム
JP4662658B2 (ja) 長さとデータを1つのストリームとする転送及び待合せ
JP4679792B2 (ja) 1つの送信先から複数の送信元への非同期バックプレッシャの同期化
JP4716614B2 (ja) 分散されたシステムを更新する同期的且つ動的なレジスタ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120910

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121011

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121221

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

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5167391

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees