(57)【要約】スケーラブルポート非ブロッキング共用メモリ出力バッファド可変長キュードデータ交換方法および装置。トラフィック・キューを共用メモリパケットスイッチのメモリチャネルまたはバンク全体にわたって分散させる。
2005503071.tif 000002
【特許請求の範囲】
【請求項１】
データトラフィックラインカード入力ポートから出力ポートへ切り替えるべき複数ｍ個のキュー分のデータトラフィックストリームを受信および出力する方法であって、前記ｍ個のキューに割り当てられた共用メモリ空間を画定する複数のメモリセルをそれぞれ有する複数ｎ個の同様の連続データメモリチャネルを設けることと、各メモリチャネルの前面にｍ個のメモリセル分のバッファを設け、ラインカードストリームトラフィックから該メモリチャネルに切り替えられたデータを受信してバッファリングすることと、一定制限時間内に連続データを各連続メモリの対応する連続セルにのみ配送し、メモリ空間全体にわたってストライプ状に記憶させることにより、非ブロッキング共用メモリ出力バッファドデータ交換を実現することとを含む方法。
【請求項２】
読み出しモードにおいて、各ラインカードは、データを前記共用メモリの記憶装置から対応するバッファを通して一定の制限付きタイムスロットに読み出し、必要量のデータを読み出してその帯域幅要件を満たすようにする、請求項１の方法。
【請求項３】
前記バッファがＦＩＦＯバッファとして設けられ、該バッファのそれぞれのサイズがｍ個のセル分のデータを記憶するサイズである、請求項１の方法。
【請求項４】
メモリに対する帯域幅の総計がデータ入力帯域幅と一致するように調節される、請求項３の方法。
【請求項５】
メモリチャネルが前記バーストを吸収できるように、セルアドレスが連続的に割り当てられる、請求項４の方法。
【請求項６】
前記ラインカードポートからの全トラフィックストリームが１つのキューに送信された場合、前記一致によって、いずれのＦＩＦＯにおいてもデータの蓄積が防止される、請求項５の方法。
【請求項７】
異なるキューを記憶している全セルが偶然同一のメモリチャネルで終了した場合、そのチャネルの前端にあるＦＩＦＯでバーストの発生が吸収される、請求項５の方法。
【請求項８】
次のバーストが前記メモリ空間の次の連続メモリチャネルに送信される、請求項７の方法。
【請求項９】
各ＦＩＦＯの深さがキューの数ｍに概ね調節される、請求項３の方法。
【請求項１０】
各バッファがｍ個のセル分のデータのサイズをもつＦＩＦＯバッファである、請求項２の方法。
【請求項１１】
前記入力ポートの数および前記出力ポートの数がスケーラブルである、請求項３の方法。
【請求項１２】
２５６メガバイト×ｎ個のメモリチャネルが使用される、請求項３の方法。
【請求項１３】
スケーラブルポート、非ブロッキング、共用メモリ出力バッファド可変長キュードデータスイッチ。
【請求項１４】
データ書き込みパスが、ｍ個のキュー分のデータを共用メモリ空間に切り替えるためのスイッチに接続された複数のデータラインカード入力ポートであって、前記共用メモリ空間が前記キューに割り当てられるとともに複数ｎ個の同様の連続データメモリチャネルを含み、該連続データメモリチャネルがそれぞれメモリセルを有する、複数のデータラインカード入力ポートと、前記スイッチからデータの供給を受ける複数ｎ個のバッファであって、該バッファのそれぞれが、一定制限時間内だけ対応するメモリチャネルにデータを供給するようにゲートを開くとともに、最大ｎ個のラインカードからのバーストを吸収するのに十分なだけのバッファを備える、複数ｎ個のバッファと、前記キューのそれぞれにおいて連続的にゲートを開いたデータを前記連続メモリチャネルのそれぞれの対応する連続セルへ前記メモリ空間全体にわたってストライプ状に配送することにより、非ブロッキング共用メモリ出力バッファドデータ交換を提供する手段との組み合わせを備える、請求項１３の出力バッファドスイッチ。
【請求項１５】
各ラインカードについて前記共用メモリから対応するバッファ通してデータを読み出すための読み出しパスを設け、一定の制限されたタイムスロットにおいて必要量のデータを読み出し、その帯域幅要件を満たすようにする、請求項１４の共用メモリ出力バッファドスイッチ。
【請求項１６】
前記バッファがＦＩＦＯバッファとして設けられ、該バッファのそれぞれのサイズがｍ個のセル分のデータを記憶するサイズである、請求項１４の出力バッファドスイッチ。
【請求項１７】
メモリに対する帯域幅の総計がデータ入力帯域幅と一致するように調節される、請求項１６の出力バッファドスイッチ。
【請求項１８】
メモリチャネルが前記バーストを吸収できるように、セルアドレスを連続的に割り当てる手段が設けられる、請求項１７の出力バッファドスイッチ。
【請求項１９】
前記ラインカードポートからの全トラフィックストリームが１つのキューに送信された場合にいずれのＦＩＦＯにおいてもデータの蓄積を防止する手段が設けられる、請求項１８の出力バッファドスイッチ。
【請求項２０】
異なるキューを記憶している全セルが偶然同一のメモリチャネルで終了した場合、そのチャネルの前端にあるＦＩＦＯでバーストの発生が吸収される、請求項１８の出力バッファドスイッチ。
【請求項２１】
次のバーストを前記メモリ空間の次の連続メモリチャネルに送信する手段が設けられる、請求項２０の出力バッファドスイッチ。
【請求項２２】
各ＦＩＦＯの深さがキューの数ｍに概ね調節される、請求項１６の出力バッファドスイッチ。
【請求項２３】
各バッファがｍ個のセル分のデータのサイズをもつＦＩＦＯバッファである、請求項１５の共用メモリ出力バッファドスイッチシステム。
【請求項２４】
共用メモリから読み出しを行なう前記ラインカードはＴＤＭタイプの態様で実施される、請求項２３の共用メモリ出力バッファドスイッチシステム。
【請求項２５】
６４個のＯＣ−１９２ポートまたは１６個のＯＣ−７６８ポートをサポートするように接続された、スケーラブルポート、非ブロッキング、共用メモリ出力バッファド可変長キュードデータスイッチ。
【請求項２６】
共用メモリから読み出しを行なう前記ラインカードはＴＤＭタイプの態様で実施される、請求項２の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は複数の入力ポートと複数の出力ポートとの間の通信データ交換に関し、詳しくは、可変長データパケットの交換を行なうための従来の一般的な入力バッファリングシステムアーキテクチャ及びその類の問題点および制約に関し、現在のデータ交換「速度」および「フィード」における利用可能なポート数の制約、現在の伝送遅延に伴う制約、多重化ジッタ、停止等を含む現在利用可能なサービス品質の制約、特定のデータ伝送サービスに対して帯域幅保証や待ち時間保証を行なう際の制約、アーキテクチャから有害なヘッドオブライン・ブロッキングおよび拡張性の無さを排除する際の制約に関する。
【０００２】
現在一般的な「フィード」は８〜１２ポートであるが、これは時が経つにつれて増える可能性がある。現在の「速度」は、例えばＯＣ１９２（これは１０ギガバイト）であるが、これも４０ギガバイトのＯＣ７６８に移行する可能性があり、そのうちそれも超えるであろう。
【背景技術】
【０００３】
現在業界に普及している製品は８〜１２個のＯＣ１９２ポートしかサポートせず、それらは上記の他にも制約を受ける。
【０００４】
データ「速度」および「フィード」要件とともに、幾つかのサービス品質要件を満足させるため、従来技術は上記のような入力バッファリング方法を用いるのが最も一般的であり、この方法は、他の入力ポートにどういったデータが入力されるかに関する「知識」を何ももたず、入力ポートで入力データを局所的にバッファリングし、同じ宛先出力ポートを奪い合っていた。入力ポートは、入力バッファドスイッチに対し、そのデータを特定の出力ポートへ送信させる要求を単にやみくもに行う。このように、従来のアーキテクチャは、ヘッドオブライン（ＨＯＬ）ブロッキングを起こす可能性があるという問題と、サービスの品質における遅延およびジッタを保証する能力に欠けるという伝統的な問題を抱えながらも、存続しなければならなかった。従って、入力バッファドシステムは、データがスイッチの方へ移動できるようになり、宛先出力ポートへの伝送が可能になるまでの時間がたとえ時々非現実的なものであっても、我慢する必要がある。
【０００５】
これに対して本発明の特定の出力バッファリング方法は、メモリ空間を画定する複数の同様の連続データメモリチャネルから成る中央共用メモリアーキテクチャを使用し、入力ポートから連続メモリチャネルの連続メモリセルの中への連続的なデータ配送に関して一定の制限時間を設け、メモリ空間全体にわたってストリップ状に記憶させる。これにより、非ブロッキング共用メモリ出力バッファドデータ交換が可能になり、メモリチャネル全体にわたってデータが規則正しく記憶される。データを入力ポートから各連続メモリチャネルに記憶させる時間をそのように制限することで、この問題は見事に解消され、データは制限付き遅延時間を用いてメモリ空間全体にわたって非ブロッキング態様でメモリに書き込まれる。
【発明の開示】
【課題を解決するための手段】
【０００６】
従って、本発明の重要な見地の１つからすると、本発明は、データトラフィックラインカード入力ポートから出力ポートへ切り替えられる、複数ｍ個のキュー分のデータトラフィックストリームを受信して出力する方法を含み、該方法は、ｍ個のキューに割り当てられた共用メモリ空間を画定する複数のメモリセルをそれぞれ有する複数ｎ個の同様の連続データメモリチャネルを設けることと、各メモリチャネルの前面にｍ個のメモリセル分のバッファを設け、ラインカードトラフィックストリームから該メモリチャネルへ切り替えられたデータを受信してバッファリングすることと、最大ｎ個のラインカードからのバーストを吸収するのに十分なバッファを設けることと、一定制限時間内に連続データを各連続メモリの対応する連続セルにのみ配送し、メモリ空間全体にわたってストライプ状に記憶させることにより、非ブロッキング共用メモリ出力バッファドデータ交換を実現することとを含む。
【０００７】
好ましい最良の実施形態および構造的な設計上の特徴については、後で更に詳しく説明する。
【発明を実施するための最良の形態】
【０００８】
図１を参照すると、この図は本発明を実施するための例示的な好ましいメモリアーキテクチャを示し、該メモリアーキテクチャは、書き込みパスに関し、例えば１０ギガビット／秒の帯域幅を有する入力ポートＩに在るデータトラフィックラインカードＬｉｎｅＣａｒｄ0〜ＬｉｎｅＣａｒｄn-1から、ｍ個のキュー分の可変長データトラフィックストリームＱｕｅｕｅ0〜Ｑｕｅｕｅm-1を記憶し出力するための、ＭｅｍｏｒｙＣｈａｎｎｅｌ0〜ＭｅｍｏｒｙＣｈａｎｎｅｌn-1と記した複数ｎ個の同様の連続データメモリチャネルまたはバンク（例えば２５６メガバイト×ｎ個のメモリチャネル）を有する。ｎ個のデータメモリチャネルのそれぞれにｍ個のメモリセルを有するバッファが設けられ、メモリチャネルはｍ個のキューに割り当てられた共用メモリ空間を画定する。バッファは、各メモリチャネルの前面に接続された状態で図示され、ファーストイン・ファーストアウト・バッファＦＩＦＯ0、ＦＩＦＯ1、．．．、ＦＩＦＯn-1の形態で示されていて、ＳＷでバッファの方へ切り替えられたラインカードからのデータを受信し、バッファリングする。本発明によると、それらのバッファは、最大ｎ個のラインカードからのバーストデータを吸収するのに十分なバッファリングが可能であるように設計される。すなわち、ｍ個のセル分のデータを記憶し、例えば入力ポートＩ［例えば６４個のＯＣ１９２ポートまたは１６個のＯＣ７６８ポート］に在るラインカードからのＯＣ１９２トラフィックの可変長データパケットのバーストを吸収するのに十分なくらい大きく設計される。従って、各メモリチャネルの前面に在る各ＦＩＦＯの最大深さは、システム内のキューの数ｍと等しくなるように作成される。
【０００９】
更に本発明によると、可変長キューのデータは一定の制限時間（複数の場合もあり）の間だけ各連続メモリチャネルの対応する連続セルに供給または分配され、それらの時間制限付き入力がメモリチャネルのメモリ空間全体にわたってストリップ状に記憶される。各時間内において、全てのメモリチャネルまたはバンクがほぼ同数のデータセルにデータを受信するが、その到着時刻はトラフィックによって異なる。つまり、データバーストがあるか、それともその時間全体を通してデータが均等に分散されているかによって異なる。
【００１０】
２つの例示的な（極端な状況における）トラフィックシナリオを考えてみる。第１に、ラインカードからの全トラフィックストリームが１つのキューに行く場合がある。セルアドレスが連続的に割り当てられているので、全メモリチャネルがデータバーストを吸収する。メモリに対する帯域幅の総計を入力帯域幅と一致させた場合、いずれのＦＩＦＯにも蓄積は生じない。
【００１１】
第２の極端なシナリオとしては、全セルが偶然に同一メモリチャネル上で終了する場合がある。そのメモリチャネルの前面に在るＦＩＦＯはバーストを吸収し、次のバーストが来るとそれが次のメモリチャネルへ移動される。
【００１２】
これが意味するのは、各メモリチャネルの前面で適当なサイズのＦＩＦＯを用いてあらゆるデータバーストを吸収すれば、バースト問題はすっかり解消し、待ち時間が画定される、ということである。さらに、上で説明したようにＦＩＦＯの深さをシステムがサポートするキューの数に概ね設定し、上で示したように各メモリチャネルのＦＩＦＯ間の総計帯域幅を調節して入力帯域幅に少なくとも一致させる。
【００１３】
従って、本発明は、非ブロッキング共用メモリ出力バッファドデータ交換であるだけでなく、指定ユーザに対する帯域幅の割り当ておよび保証を行なうことも可能である。ユーザが割り当てられた所定の深さを超えた場合、その超過分を利用可能な空きの共用メモリに記憶し、そのユーザに対して更に課金することもできる。
【００１４】
図２は、図１の書き込みパスシステムと共に使用される本発明の読み出しパスアーキテクチャを示し、全ラインカードについて対応するＦＩＦＯが設けられ、該ＦＩＦＯは、共用メモリからの読み出しが可能であるとともに、共用メモリの最大帯域幅をＴＤＭタイプの態様で有する。読み出し動作において重要なのは、共用メモリシステムに対する各ラインカードのアクセスが等しくなるように帯域幅のバランスを完全にとり、各ラインカードが一定の制限付きタイムスロットを得て必要量のデータを読み出すことで、帯域幅要件を満たすようにすることである。例えば、図２のＬｉｎｅＣａｒｄ0およびＦＩＦＯ0は、共用メモリから該共用メモリの最大帯域幅をＦＩＦＯ0に読み出す。このラインカードとそれに対応するＦＩＦＯは、共用メモリの最大帯域幅の中から自分の割り当て分を得る。以下同様に、各ラインカードが共用メモリバンクデータの中から必要な割り当て分をそれぞれ得る。
【００１５】
当業者であれば更に変更を施すこともあり、そうした変更も特許請求の範囲に記載した本発明の思想および範囲の中にあるものと考えられる。
【図面の簡単な説明】
【００１６】
【図１】本発明のデータ書き込みパス方法を実施する好ましいアーキテクチャを示す略ブロックと回路の結合図である。
【図２】図１の共用メモリチャネルシステムからの読み出しを示す同様の図である。
【国際公開パンフレット】
2005503071.tif 000003
2005503071.tif 000004
2005503071.tif 000005
2005503071.tif 000006
2005503071.tif 000007
2005503071.tif 000008
2005503071.tif 000009
2005503071.tif 000010
2005503071.tif 000011
2005503071.tif 000012
2005503071.tif 000013
2005503071.tif 000014
2005503071.tif 000015
2005503071.tif 000016
【国際調査報告】
2005503071.tif 000017
2005503071.tif 000018
2005503071.tif 000019