(57)【要約】【課題】可変長フレームを並列ビット処理すること。【解決手段】データフレームを含むビット幅Ｗのワード信号に対して、フレームのワード部分を、Ｗポート幅のソーティング網によって、順番列へソートする複数のソート部を備える。【選択図】図１
2013081085.tif 000002
【特許請求の範囲】
【請求項１】
可変長フレームを並列ビット処理するフレーム処理装置であって、
データフレームを含むビット幅Ｗのワード信号に対して、フレームのワード部分を、Ｗポート幅のソーティング網によって、順番列へソートする複数のソート部
を備えるフレーム処理装置。
【請求項２】
可変長フレームを並列ビット処理するフレーム処理装置であって、
Ｋ個のフレームを含むビット幅Ｗのワード信号を、Ｋ個のフレーム毎に振り分ける振分部と、
前記振分部が振り分けた一のフレームのワード部分を、Ｗポート幅のソーティング網によってフレーム先頭側を各ワードの前詰に位置するようにソートするＫ個のソート部と
を備えるフレーム処理装置。
【請求項３】
前記各ソート部がフレーム先頭側を各ワードの前詰に位置するようにソートしたフレーム信号を格納する格納部
を更に備える請求項２に記載のフレーム処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム処理装置に関する。特に、本発明は、可変長フレームを並列ビット処理するフレーム処理装置に関する。
【背景技術】
【０００２】
通信装置の回線速度は、トラフィックの増加に伴って高速化が進んでいる。一方、通信装置の内部の信号処理速度は、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）の動作速度や通信装置内転送速度により制約を受ける。そこで、データ信号の送受信を行うデータ通信装置内では、信号をパラレルに展開して処理する方法がある。例えば、回線速度２．４８８Ｇｂｐｓの信号を装置内で３２本の７７．７６Ｍｂｐｓにパラレル展開して十分電気的に処理可能な速度にして取り扱う。
【０００３】
データ通信装置が転送するデータ信号として、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）伝送の５３バイトセルのように固定長のフレームがあるが、近年は米国ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）８０２．３委員会が規定するイーサネット（登録商標）のように、フレーム毎にデータ長が異なる可変フレームを処理する方式が増加している。通信装置内では可変長フレームを固定長の複数のブロックに分割して処理する方法があるが、固定長に分割することで個々のブロックにヘッダ情報を付加したり、どのブロック群が１フレームを構成しているかを管理したりする必要がある。それを避けるために、可変長フレームをブロックに分割せずに、そのまま通信装置内で処理をする方法がある。
【０００４】
図５は、可変長フレーム処理の一例を示す。図５（ａ）はデータ通信装置の入力における可変長フレーム列の一例を示している。入力信号では、可変長フレームが装置内パラレル展開幅をＷとして、隙間なく、もしくは所定のフレーム間隔（インターフレームギャップ）を設けて詰め込まれている。図５（ａ）では、データＤ１‐１〜Ｄ１‐Ｎ１で表される可変長フレーム１、データＤ２‐１〜Ｄ２‐Ｎ２で表される可変長フレーム２が、隙間なく詰め込まれている例を示している。この入力信号列に対し、データ通信装置内で可変長フレーム別の受信検査処理やスイッチング処理を行う際に、図５（ｂ）のように、可変長フレーム別にフレーム先頭から順に前詰にして、フレーム毎に区切られた信号として扱う方法がある。この方法では、フレームヘッダの識別が容易になり、またフレーム別の処理を行いやすくするためである。
【０００５】
図５（ａ）の例では、１００Ｇｂｐｓの伝送速度の入力可変長データフレーム列を、パラレル展開幅Ｗ＝５１２ビット、動作クロック速度＝１９５．３ＭＨｚで処理する例を示している。図５（ｂ）の例では、これをデータ装置内でパラレル展開幅Ｗ＝５１２ビット、動作クロック速度＝２９８ＭＨｚに速度を上げて、可変長フレーム別に処理する例を示している。
【０００６】
しかしながら、今後、伝送速度が上がったとしても、フレーム処理を実装するゲートアレイの動作速度の上限は３００ＭＨｚ〜１ＧＨｚ程度が限度であり、パラレル展開幅Ｗを広げてゆく必要がある。例えば、４００Ｇｂｐｓでは、Ｗ＝１０２４ｂｉｔ（１２８Ｂｙｔｅ）幅でも３９０．６２５ＭＨｚクロックが必要になる。しかしながら、Ｗ＝１０２４ｂｉｔ（１２８Ｂｙｔｅ）の場合、１ワードに複数のＫ個（Ｋは２以上の正の整数）フレームが格納される場合がある。
【０００７】
図６は、フレーム処理の別の例を示す。例えば、図６のように、イーサネットの場合、最小イーサフレーム＝６４バイト（５１２ビット）であり、入力データ中には例えばｔ１で示されるＷ＝１０２４ビットの一ワード（１クロックで処理を行うデータ信号群）内に、３つの可変長フレーム（データＤ１‐１〜Ｄ１‐Ｎ１で表される可変長フレーム１、データＤ２‐１〜Ｄ２‐Ｎ２で表される可変長フレーム２、データＤ３‐１〜Ｄ３‐Ｎ３で表される可変長フレーム３の一部）が存在する場合が想定される。
【０００８】
図７は、一ワード内に複数のフレームが存在する場合に、フレーム別に前詰に並べ替えて処理をするデータ通信装置内のフレーム処理装置１９の一例を示す。フレーム処理装置１９は、フレームを並列ビット処理する。フレーム処理装置１９は、コピー回路１１０、及び複数のＷ×Ｗスイッチ回路１８を備える。
【０００９】
コピー回路１１０は、Ｗビット幅の一ワード信号のうち、フレーム別にＷ×Ｗスイッチ回路１８にワード信号の該当部分を振り分ける。入力信号バイト幅はＷバイト（Ｗは２のべき乗の正の整数）である。フレーム別の識別方法は、イーサネットフレームの場合は、データ中に含まれて送付されるフレーム先頭を示す符号語とフレーム最後尾を示す符号語から判別することが可能である。
【００１０】
Ｋ個のＷ×Ｗスイッチ回路１８は、それぞれ該当のフレームのワード部分（Ｄ１‐１〜Ｄ１‐Ｎ１、Ｄ２‐１〜Ｄ２‐Ｎ２）等が入力される。
【００１１】
図８は、Ｗ×Ｗスイッチ回路の一例を示す。この方法は、図７のようにフレーム毎に一ワード内に前詰になるように並べ替えるためのＷ：１セレクタ回路１７‐１〜１７‐Ｗを、一ワード幅と等しいＷ個（Ｗポート）分を多面的に配備する構成である。一つのＷ：１セレクタ回路は、複数の２：１セレクタ回路の縦続接続により構成される。
【００１２】
図７のフレーム処理装置１９では、Ｗ×Ｗスイッチ回路１８を、一ワード内に存在し得る最大フレーム数Ｋ分配備して全Ｗ×Ｗスイッチ回路の入力に対して、Ｗワード分のデータをコピー回路１１０でコピーして入力し、Ｋ個のＷ×Ｗスイッチ回路でそれぞれが処理するフレーム部分をセレクトしていくフレームのコピー・アンド・セレクト処理構成によって、図５（ｂ）のようにフレーム毎に一ワード内に前詰になるように並べ替える。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特許第３０７７６４７号公報
【特許文献２】特許第３５７０５０７号公報
【特許文献３】特許第３５９１５８６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上述したように、通信装置は、フレームの数と同じ数のＷ×Ｗスイッチ回路を備える。そして、Ｗ×Ｗスイッチ回路は、Ｗ：１セレクタ×Ｗ個によって構成され、コピー・アンド・セレクト処理を行っている。この構成における通信装置は、一つのＷ×Ｗスイッチを構成するＷ個のＷ：１セレクタ回路に対してコピー回路からの信号をコピーする必要がある。そのため、一つのＷ×Ｗスイッチ回路に対するファンアウトはＷ、Ｋ個のＷ×Ｗスイッチ回路全体に対するファンアウトがＷ×フレーム数分となり、コピー回路１１０の出力ではこれだけのファンアウト数が要求される。例えば、４００Ｇｂｐｓデータフレーム列を処理するデータ通信装置では、Ｗ＝１２８バイト（１０２４ｂｉｔ）の場合、１ワードに最大Ｋ＝２個のフレームが格納される場合があるため、Ｋ個のＷ×Ｗスイッチ回路に対するコピー回路１１０の出力ではＷ×Ｋ＝２５６のファンアウトが必要である。更に今後、１Ｔｂｐｓのデータフレーム列を扱うデータ通信装置では、Ｗ＝５１２バイト（４０９６ｂｉｔ）で１ワードに最大Ｋ＝７個のフレームが格納される場合が想定され、Ｋ個のＷ×Ｗスイッチ回路に対するコピー回路１１０の出力ではＷ×Ｋ＝３５８４のファンアウト数が必要である。
【００１５】
現在の一般的なデバイスにおいて、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）では、一つのゲートロジックのファンアウト数は数百以下が一般的であり、ゲートアレイでも１０００程度が現実的である。すなわち数千のファンアウト数を要する回路構成では、その設計において回路構成が困難であるか、もしくは所望の動作速度が得られない設計となるという課題がある。または、ファンアウト数を削減するために、回路クロック周波数を増加してパラレル展開数Ｗを削減する必要があるが、それはデバイス動作クロック速度の上限によって定まり、所望のパラレル展開数が実現できず、回路が構成できない可能性もある。
【課題を解決するための手段】
【００１６】
上記課題を解決するために、本発明の第１の形態によると、可変長フレームを並列ビット処理するフレーム処理装置であって、データフレームを含むビット幅Ｗのワード信号に対して、フレームのワード部分を、Ｗポート幅のソーティング網によって、順番列へソートする複数のソート部を備える。
【００１７】
本発明の第２の形態によると、可変長フレームを並列ビット処理するフレーム処理装置であって、Ｋ個のフレームを含むビット幅Ｗのワード信号を、Ｋ個のフレーム毎に振り分ける振分部と、振分部が振り分けた一のフレームのワード部分を、Ｗポート幅のソーティング網によってフレーム先頭側を各ワードの前詰に位置するようにソートするＫ個のソート部と
を備える。
【００１８】
なおまた、上記のように発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となり得る。
【発明の効果】
【００１９】
以上の説明から明らかなように、この発明は、ある一定のファンアウト数の基での設計において、パラレル展開幅Ｗを大きくすることができ、可変長パケットを取り扱うフレーム処理装置を広帯域化することができる。
【図面の簡単な説明】
【００２０】
【図１】一実施形態に係るフレーム処理装置１００の一例を示す図である。
【図２】バニヤン網１２０の構成の一例を示す図である。
【図３】バニヤン網１２０による単調入力列を順序列へソートする動作を示す。
【図４】図３に示す動作後にバニヤン網１２０による単調入力列を順序列へソートする動作を示す。
【図５】可変長フレーム処理の一例を示す図である。
【図６】フレーム処理の別の例を示す図である。
【図７】一ワード内に複数のフレームが存在する場合に、フレーム別に前詰に並べ替えて処理をするデータ通信装置内のフレーム処理装置１９の一例を示す図である。
【図８】Ｗ×Ｗスイッチ回路の一例を示す図である。
【発明を実施するための形態】
【００２１】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は、特許請求の範囲にかかる発明を限定するものではなく、また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００２２】
以下では、Ｗビットと表記した部分と、Ｗバイトと表記した部分があるが、それぞれバイト表記とビット表記の違いのみであり、機能の差異を示すものではない。
【００２３】
図１は、一実施形態に係るフレーム処理装置１００の一例を示す。フレーム処理装置１００は、可変長フレームを並列ビット処理する。
【００２４】
フレーム処理装置１００は、コピー回路１１０、複数のバニヤン網１２０、及びパケットメモリ１３０を備える。なおまた、コピー回路１１０は、この発明における「振分部」の一例であってよい。また、バニヤン網１２０は、この発明における「ソート部」の一例であってよい。また、パケットメモリ１３０は、この発明における「格納部」の一例であってよい。
【００２５】
コピー回路１１０は、Ｗビット幅の一ワード信号のうち、フレーム別にバニヤン網１２０にワード信号の該当部分を振り分ける。入力信号バイト幅はＷバイト（Ｗは２のべき乗の正の整数）である。フレームは可変長でも固定長であってもよい。なおまた、フレーム別の識別方法は、イーサネットフレームの場合は、データ中に含まれて送付されるフレーム先頭を示す符号語とフレーム最後尾を示す符号語から判別することが可能であるが、本発明の主眼ではないため説明は省略する。
【００２６】
Ｋ個のバニヤン網１２０は、それぞれ該当のフレームのワード部分（フレーム１：Ｄ１−１〜Ｄ１−Ｎ１、フレーム２：Ｄ２−１〜Ｄ２−Ｎ２）等が入力される。
【００２７】
次に、本発明の実施の形態の動作を、図１を参照して説明する。Ｗビット幅の入力に複数フレームデータが混在して到着する。コピー回路１１０は、Ｗビット幅の一ワード信号のうち、フレーム別にバニヤン網１２０にワード信号の該当部分を振り分ける回路である。バニヤン網１２０では、Ｗ×Ｗスイッチングを行う。これは、バニヤン網１２０が持つ、単調な入力列を順番列へとノンブロッキングでソートするという特徴を利用する。
【００２８】
図２は、バニヤン網１２０の構成の一例を示す。図２は、８バイト入力のバニヤン網１２０の構成例であり、パケットメモリ１３０に何も蓄積されていない状態である。バニヤン網１２０は、１２個の２×２スイッチ１２１で構成される。２×２スイッチ１２１は多段構成であり、１段目、２段目、３段目にわかれて表記しているが、その段数は一般的にバニヤン網の入力ポート数によって定まる。そして、最終段（図２の３段目）２×２スイッチの出力がパケットメモリ１３０の各々のポートに接続されている。
【００２９】
図３は、バニヤン網１２０による単調入力列を順序列へソートする動作を示す。入力ポート０、３、４、５、６に当該フレームが入力され、それ以外はパッドバイト等の無効データとする。
【００３０】
到着した有効バイトはパケットメモリ１３０のポート０よりポート７へと順番に積め込むよう、ルーティングされているものとする。つまり、入力ポート０の有効バイトはパケットメモリ１３０のポート０に、入力ポート３の有効バイトはパケットメモリ１３０のポート１に、入力ポート４の有効バイトはパケットメモリ１３０のポート２に、入力ポート５の有効バイトはパケットメモリ１３０のポート３に、入力ポート６の有効バイトはパケットメモリ１３０のポート４にルーティングされている。
【００３１】
１段目の２×２スイッチ１２１は、ルーティング先のパケットメモリ１３０のポート番号を２進表示した値の最下位ビットに応じて切り替えを行う。例えば、入力ポート０の信号はパケットメモリ１３０のポート０、すなわち”０００”にルーティングされるので、その最下位ビット０を選択する。同様に、入力ポート１の信号はパケットメモリ１３０のポート１、すなわち”００１”にルーティングされるので、その最下位ビット１を選択する。
【００３２】
２段目の２×２スイッチ１２１は、ルーティング先のパケットメモリ１３０のポート番号を２進表示した値の２ビット目に応じて切り替えを行う。例えば、入力ポート０の信号はパケットメモリ１３０のポート０、すなわち”０００”にルーティングされるので、その２ビット目の０を選択する。同様に、入力ポート１の信号はパケットメモリ１３０のポート１、すなわち”００１”にルーティングされるので、その２ビット目０を選択する。
【００３３】
３段目の２×２スイッチ１２１は、ルーティング先のパケットメモリ１３０のポート番号を２進表示した値の３ビット目に応じて切り替えを行う。例えば、入力ポート０の信号はパケットメモリ１３０のポート０、すなわち”０００”にルーティングされるので、その３ビット目の０を選択する。同様に、入力ポート１の信号はパケットメモリ１３０のポート１、すなわち”００１”にルーティングされるので、その２ビット目０を選択する。
【００３４】
その結果、パケットメモリ１３０のポート０〜４にそれぞれソートされることになるが、バニヤン網内でブロッキングを起こすことなく転送されている。
【００３５】
図４は、図３に示す動作後にバニヤン網１２０による単調入力列を順序列へソートする動作を示す。具体的には、図４は図３の次の時刻に入力ポート０、２、６、７に当該データフレームが入力される場合である。
【００３６】
パケットメモリ１３０のポート４までデータが蓄積されているので、ポート５よりルーティングされる。入力ポート０の有効バイトはパケットメモリ１３０のポート５に、入力ポート２の有効バイトはパケットメモリ１３０のポート６に、入力ポート６の有効バイトはパケットメモリ１３０のポート７に、入力ポート７の有効バイトはパケットメモリ１３０のポート０に、それぞれルーティングされている。スイッチング動作原理は図３と同様であり、やはり、ノンブロッキングで単調な入力列を順番列にソートしている。このように、バニヤン網１２０は単調な入力列を順番列へとノンブロッキングでソートできる。
【００３７】
上記のように構成された本発明では、Ｗ×Ｗスイッチの代わりに配備するバニヤン網は、Ｗ個の２×２スイッチを入力とした、一面で構成される多段スイッチ構成であり、１個のバニヤン網の１ポート（１バイト）あたりファンアウトは１でよい。すなわち、図１のフレーム処理装置の構成におけるＫ個のバニヤン網を配備する場合のコピー回路１１０のファンアウトはＫのみでよく、背景技術において説明したようなＷ×Ｗスイッチの場合に必要なファンアウト数（Ｗ×Ｋ）と比較して、必要なファンアウト数を１／Ｗに低減できる。
【００３８】
すなわち、４００Ｇｂｐｓデータフレーム列を処理するデータ通信装置では、Ｗ＝１２８バイト（１０２４ｂｉｔ）の場合、１ワードに最大Ｋ＝２個のフレームが格納される場合があるため、Ｋ個のバニヤン網に対するコピー回路１１０の出力ではＫ＝２のファンアウトでよい。１Ｔｂｐｓのデータフレーム列を扱うデータ通信装置では、Ｗ＝５１２バイト（４０９６ｂｉｔ）で１ワードに最大Ｋ＝７個のフレームが格納される場合が想定されるが、コピー回路１１０の出力ではＫ＝７でよい。したがって、コピー回路１１０が構成し易くなり装置複雑度が低減する。または、ある一定のファンアウト数の基での設計では、フレーム処理回路全体のパラレル展開幅Ｗを大きくすることができ、可変長フレームを取り扱うフレーム処理装置において高帯域化の実現が可能となる。
【００３９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は、上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【符号の説明】
【００４０】
１００  フレーム処理装置
１１０  コピー回路
１２０  バニヤン網
１２１  ２×２スイッチ
１３０  パケットメモリ
【図１】
2013081085.tif 000003
【図２】
2013081085.tif 000004
【図３】
2013081085.tif 000005
【図４】
2013081085.tif 000006
【図５】
2013081085.tif 000007
【図６】
2013081085.tif 000008
【図７】
2013081085.tif 000009
【図８】
2013081085.tif 000010