(57)【特許請求の範囲】
【請求項１】
所定の論理チャネルにバイト単位でデータを振り分けつつ伝送フレームに格納するためのマッピング処理を行うＳＴＭマッピング回路であって、
ｋを正の整数とし、Ｍ＝２ｋとしたとき、
パッドバイトを含むＭ個にパラレル展開された複数のバイトデータを受け取り、該バイトデータがそれぞれ有効なデータであるか前記パッドバイトであるかを示すバイト有効性情報を生成するパケット長検出回路と、
前記バイト有効性情報を用いて前記パッドバイトを取り除きつつ前記バイトデータを所定の順序に並び替えるためのルーティング情報を生成するルーティング回路と、
前記パケットデータがどの論理チャネルに属するかを示すチャネル番号信号にしたがって各論理チャネル毎にパケットデータをそれぞれ取り込むパケットフィルタ回路と、
前記ルーティング情報にしたがって前記パッドバイトを取り除きつつ前記論理チャネル毎のパケットデータをそれぞれ所定の順序に並び替えるＭ×Ｍスイッチと、
前記Ｍ×Ｍスイッチにより並び替えられたパケットデータを前記論理チャネル毎に保持するパケットメモリと、
を有するＳＴＭマッピング回路。
【請求項２】
前記ルーティング回路は、
前記Ｍ×Ｍスイッチに、前記論理チャネル単位で時分割に前記パケットデータをそれぞれ並び替えさせるためのルーティング情報を生成し、
前記Ｍ×Ｍスイッチは、
該ルーティング情報にしたがって前記論理チャネル単位で時分割に、前記パケットデータをそれぞれ並び替える請求項１記載のＳＴＭマッピング回路。
【請求項３】
前記論理チャネル毎に設けられた前記パケットメモリから、前記バイトデータをそれぞれ所定の順に読み出すための情報が記録されるチャネル制御メモリと、
前記チャネル制御メモリに記録された情報にしたがって前記バイトデータを所定の順序に並び替える第２のＭ×Ｍスイッチと、
前記第２のＭ×Ｍスイッチから出力された前記論理チャネル毎のバイトデータを多重化するセレクタ回路と、
をさらに有する請求項１または２記載のＳＴＭマッピング回路。
【請求項４】
前記セレクタ回路は、
全物理チャネルのバイトデータを読み出すのに必要な処理周期内で、同じ論理チャネルのバイトデータを複数の任意の物理チャネルのバイトデータとして読み出す請求項３記載のＳＴＭマッピング回路。
【請求項５】
前記Ｍ×Ｍスイッチは、
多段接続された複数の２×２スイッチから成るバニヤンスイッチである請求項１乃至４のいずれか１項記載のＳＴＭマッピング回路。
【請求項６】
ＳＴＭフレームのスイッチング処理を行うＳＴＭスイッチと、
請求項１乃至５のいずれか１項記載のＳＴＭマッピング回路を備え、前記ＳＴＭスイッチから受信したＳＴＭフレームを論理チャネル単位に分離し、それぞれのパケットを抽出した後、該パケット毎にスイッチング処理を行うパケットスイッチと、
を有するＳＴＭ／Ｐａｃｋｅｔハイブリッドスイッチ。
【請求項７】
所定の論理チャネルにバイト単位でデータを振り分けつつ伝送フレームに格納するためのＳＴＭマッピング方法であって、
ｋを正の整数とし、Ｍ＝２ｋとしたとき、
パッドバイトを含むＭ個にパラレル展開された複数のバイトデータから、該バイトデータがそれぞれ有効なデータであるか前記パッドバイトであるかを示すバイト有効性情報を生成し、
前記バイト有効性情報を用いて前記パッドバイトを取り除きつつ前記バイトデータを所定の順序に並び替えるためのルーティング情報を生成し、
前記パケットデータがどの論理チャネルに属するかを示すチャネル番号信号にしたがって各論理チャネル毎のパケットデータをそれぞれ取り込み、
前記ルーティング情報にしたがって前記パッドバイトを取り除きつつ前記論理チャネル毎のパケットデータをＭ×Ｍスイッチを用いて所定の順序に並び替え、前記Ｍ×Ｍスイッチにより並び替えられたパケットデータを前記論理チャネル毎にメモリで保持するＳＴＭマッピング方法。
【請求項８】
前記論理チャネル単位で時分割に前記パケットデータをそれぞれ並び替えるためのルーティング情報を生成し、
前記Ｍ×Ｍスイッチを用いて、
該ルーティング情報にしたがって前記論理チャネル単位で時分割に、前記パケットデータをそれぞれ並び替える請求項７記載のＳＴＭマッピング方法。
【請求項９】
前記論理チャネル毎の前記パケットデータが保持された前記メモリから、該バイトデータをそれぞれ所定の順序で読み出すための論理チャネル情報を生成し、
該論理チャネル情報にしたがって前記論理チャネル毎に前記バイトデータを所定の順序に並び替え、
並び替えた前記論理チャネル毎のバイトデータをそれぞれ多重化する請求項７または８記載のＳＴＭマッピング方法。
【請求項１０】
全物理チャネルのバイトデータを読み出すのに必要な処理周期内で、同じ論理チャネルのバイトデータを複数の任意の物理チャネルのバイトデータとして読み出す請求項９記載のＳＴＭマッピング方法。
【請求項１１】
前記Ｍ×Ｍスイッチは、
多段接続された複数の２×２スイッチから成るバニヤンスイッチである請求項７乃至１０のいずれか１項記載のＳＴＭマッピング方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＳＴＳ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｐｏｒｔ  Ｓｉｇｎａｌ）フレームやＳＴＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｕｌｅ）フレームのペイロードに、パケットデータを所定の論理チャネルに振り分けつつ格納するためのマッピング処理を行うＳＴＭマッピング回路に関する。
【０００２】
【従来の技術】
近年、情報通信のトラヒック量の増加要求に対処するために通信回線の伝送速度がより高速化する傾向にある。しかしながら、伝送速度は、伝送装置の信号処理速度、すなわちＬＳＩの処理速度やデバイス間のデータ転送速度等で制限されてしまうため、受信信号をパラレルに展開して処理することで高速化に対応する手法が採用されている。例えば、伝送速度が２．４８８Ｇｂｐｓの通信回線からの信号を受信した場合、該受信信号を６４本の３８．８８Ｍｂｐｓの信号にパラレル展開すれば、十分に処理可能な速度で取り扱うことができる。
【０００３】
また、ＰＰＰ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ）のようにデータ長がパケット毎に異なる可変長パケットを処理する場合、一般に、伝送装置では、可変長パケットをＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）セルのような固定長の小さなパケットに区切ってスイッチング処理等を行う。しかしながら、近年、Ｔ１Ｘ１などの標準化作業により可変長パケットを固定長パケットに区切らずにそのまま取り扱う処理方法が提案されている。このような処理を行う通信方式として、例えば、ＧＦＰ（Ｇｅｎｅｒｉｃ  Ｆｒａｍｉｎｇ  Ｐｒｏｃｅｄｕｒｅ）やＳＤＬ（Ｓｉｍｐｌｅ  Ｄａｔａ  Ｌｉｎｋ）等が知られている。
【０００４】
上記ＧＦＰやＳＤＬでは、可変長パケット間にパッドバイト（Ｐａｄ  Ｂｙｔｅ）を挿入して、各パケット長をパラレル展開する信号数の整数倍の長さに変換している。パッドバイトは予め決められた”０”と”１”の繰り返しパターン、あるいは全て”０”のパターンで構成され、パッドバイトそのものに論理的な意味を持つものではない。
【０００５】
このようなパッドバイトが挿入される信号列の一例を図１１に示す。
【０００６】
図１１は伝送装置内で処理される信号列の一例を示す図であり、同図（ａ）はパッドバイトが挿入された信号列の一例を示す模式図、同図（ｂ）はパッドバイトが無い信号列の一例を示す模式図である。
【０００７】
図１１（ａ）は、パケットデータが８バイト（バイト０からバイト７）にパラレル展開された例である。図１１（ａ）に示すデータ系列Ａは、バイトデータＡ−１からＡ−１０までの計１０バイトのパケットであり、バイトデータＡ−１０と次のデータ系列Ｂとの間に６バイトのパッドバイトが挿入されている。同様に、データ系列ＢはバイトデータＢ−１からＢ−１４までの計１４バイトのパケットであり、次のデータ系列Ｃとの間に２バイトのパッドバイトが挿入されている。また、データ系列ＣはバイトデータＣ−１からＣ−１２までの計１２バイトのパケットであり、次のデータ系列Ｄとの間に４バイトのパッドバイトが挿入されている。
【０００８】
このように所定数のパッドバイトを可変長パケット間にそれぞれ挿入すると、各パケットの先頭のバイトデータを、パラレル展開された信号列の先頭バイト（図１１（ａ）ではＢｙｔｅ０）にそれぞれ格納することができるため、パケットの先頭が明らかになって後の処理が容易になる。
【０００９】
例えば、パケットの先頭に、予め定められた固定長のビットパターンが挿入されている場合、バイト０（Ｂｙｔｅ０）を監視することで該ビットパターンを容易に検出することができる。また、パラレル展開によって一度に処理される複数バイトのデータ中（図１１（ａ）ではＢｙｔｅ０〜７）に複数パケットのデータが含まれることがないため、スイッチング処理等が容易になる。
【００１０】
しかしながら、パッドバイトを含むパケットを伝送装置から通信回線に出力する場合、パッドバイトは不要なデータであり、回線帯域を必要以上に圧迫するため、図１１（ｂ）に示すように除去することが望ましい。
【００１１】
図１１（ｂ）は、図１１（ａ）に示したパッドバイトが除去された信号列の様子を示し、データ系列ＡのバイトデータＡ−１０に続けてデータ系列ＢのバイトデータＢ−１が挿入されている。同様に、データ系列ＢのデータＢ−１４に続けてデータ系列ＣのデータＣ−１が挿入され、データ系列ＣのデータＣ−１２に続けてデータ系列ＤのデータＤ−１が挿入されている。
【００１２】
このようなパッドバイトを除去する手段として、例えば、パッドバイトを含む各パケットデータを一旦メモリに格納し、有効なデータであるかパッドバイトであるか否かをそれぞれ判定した後、有効なデータのみを取り出す方法が考えられる。
【００１３】
【発明が解決しようとする課題】
しかしながら上述した可変長パケット間にパッドバイトを挿入して処理する通信方式は、提案されたばかりの新しい技術であり、パッドバイトを取り除く具体的な手法については何も提案されていない。
【００１４】
一方、近年、ＳＤＨ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｈｉｅｒａｒｃｈｙ）における多重化フォーマットであるＳＴＭフォーマットの伝送フレームやＰＰＰ（Ｐｏｉｎｔ  ｔｏ  Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ）等のパケットのスイッチング処理を行うＳＴＭ／Ｐａｃｋｅｔハイブリッドスイッチ等が開発されつつあるが、このような装置では上記パッドバイトを取り除く処理が必要になる。したがって、例えば、上記ＳＴＭ／Ｐａｃｋｅｔハイブリッドスイッチが備える、伝送フレームのペイロード領域にバイトデータをマッピングするＳＴＭマッピング回路等にパッドバイトを除去する機能を持たせることが望ましい。
【００１５】
なお、通常、ＳＴＳ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｐｏｒｔ  Ｓｉｇｎａｌ）−ｎやＳＴＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｕｌｅ）−ｎ等の伝送フレームのペイロード領域に、ＡＵ（Ａｄｍｉｎｉｓｔｒａｔｉｖｅ  Ｕｎｉｔ）−３やＡＵ−４等の単位ユニットを格納する際の処理単位はチャネルと呼ばれている。以下ではこのようなチャネルを物理チャネルと呼ぶ。また、可変長パケットのヘッダ部によって宛先毎に区別されるパケット種別を以下では論理チャネルと呼ぶ。
【００１６】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、パッドバイトを除去しつつパケットデータのマッピング処理が可能なＳＴＭマッピング回路を提供することを目的とする。
【００１７】
【課題を解決するための手段】
上記目的を達成するため本発明のＳＴＭマッピング回路は、所定の論理チャネルにバイト単位でデータを振り分けつつ伝送フレームに格納するためのマッピング処理を行うＳＴＭマッピング回路であって、
ｋを正の整数とし、Ｍ＝２ｋとしたとき、
パッドバイトを含むＭ個にパラレル展開された複数のバイトデータを受け取り、該バイトデータがそれぞれ有効なデータであるか前記パッドバイトであるかを示すバイト有効性情報を生成するパケット長検出回路と、
前記バイト有効性情報を用いて前記パッドバイトを取り除きつつ前記バイトデータを所定の順序に並び替えるためのルーティング情報を生成するルーティング回路と、
前記パケットデータがどの論理チャネルに属するかを示すチャネル番号信号にしたがって各論理チャネル毎にパケットデータをそれぞれ取り込むパケットフィルタ回路と、
前記ルーティング情報にしたがって前記パッドバイトを取り除きつつ前記論理チャネル毎のパケットデータをそれぞれ所定の順序に並び替えるＭ×Ｍスイッチと、
前記Ｍ×Ｍスイッチにより並び替えられたパケットデータを前記論理チャネル毎に保持するパケットメモリと、
を有する構成である。
【００１８】
このとき、前記ルーティング回路は、
前記Ｍ×Ｍスイッチに、前記論理チャネル単位で時分割に前記パケットデータをそれぞれ並び替えさせるためのルーティング情報を生成し、
前記Ｍ×Ｍスイッチは、
該ルーティング情報にしたがって前記論理チャネル単位で時分割に、前記パケットデータをそれぞれ並び替えてもよい。
【００１９】
また、前記論理チャネル毎に設けられた前記パケットメモリから、前記バイトデータをそれぞれ所定の順に読み出すための情報が記録されるチャネル制御メモリと、
前記チャネル制御メモリに記録された情報にしたがって前記バイトデータを所定の順序に並び替える第２のＭ×Ｍスイッチと、
前記第２のＭ×Ｍスイッチから出力された前記論理チャネル毎のバイトデータを多重化するセレクタ回路と、
をさらに有していてもよく、
前記セレクタ回路は、
全物理チャネルのバイトデータを読み出すのに必要な処理周期内で、同じ論理チャネルのバイトデータを複数の任意の物理チャネルのバイトデータとして読み出してもよい。
【００２０】
なお、前記Ｍ×Ｍスイッチは、
多段接続された複数の２×２スイッチから成るバニヤンスイッチであることが望ましい。
【００２１】
一方、本発明のＳＴＭマッピング方法は、所定の論理チャネルにバイト単位でデータを振り分けつつ伝送フレームに格納するためのＳＴＭマッピング方法であって、
ｋを正の整数とし、Ｍ＝２ｋとしたとき、
パッドバイトを含むＭ個にパラレル展開された複数のバイトデータから、該バイトデータがそれぞれ有効なデータであるか前記パッドバイトであるかを示すバイト有効性情報を生成し、
前記バイト有効性情報を用いて前記パッドバイトを取り除きつつ前記バイトデータを所定の順序に並び替えるためのルーティング情報を生成し、
前記パケットデータがどの論理チャネルに属するかを示すチャネル番号信号にしたがって各論理チャネル毎のパケットデータをそれぞれ取り込み、
前記ルーティング情報にしたがって前記パッドバイトを取り除きつつ前記論理チャネル毎のパケットデータをＭ×Ｍスイッチを用いて所定の順序に並び替え、前記Ｍ×Ｍスイッチにより並び替えられたパケットデータを前記論理チャネル毎にメモリで保持する方法である。
【００２２】
このとき、前記論理チャネル単位で時分割に前記パケットデータをそれぞれ並び替えるためのルーティング情報を生成し、
前記Ｍ×Ｍスイッチを用いて、
該ルーティング情報にしたがって前記論理チャネル単位で時分割に、前記パケットデータをそれぞれ並び替えてもよい。
【００２３】
また、前記論理チャネル毎の前記パケットデータが保持された前記メモリから、該バイトデータをそれぞれ所定の順序で読み出すための論理チャネル情報を生成し、
該論理チャネル情報にしたがって前記論理チャネル毎に前記バイトデータを所定の順序に並び替え、
並び替えた前記論理チャネル毎のバイトデータをそれぞれ多重化してもよく、全物理チャネルのバイトデータを読み出すのに必要な処理周期内で、同じ論理チャネルのバイトデータを複数の任意の物理チャネルのバイトデータとして読み出してもよい。
【００２４】
なお、前記Ｍ×Ｍスイッチは、
多段接続された複数の２×２スイッチから成るバニヤンスイッチを用いることが望ましい。
【００２５】
上記のようなＳＴＭマッピング回路及び方法では、パッドバイトを含むＭ個にパラレル展開された複数のバイトデータから、該バイトデータがそれぞれ有効なデータであるかパッドバイトであるかを示すバイト有効性情報を生成し、バイト有効性情報を用いてパッドバイトを取り除きつつバイトデータを所定の順序に並び替えるためのルーティング情報を生成し、パケットデータがどの論理チャネルに属するかを示すチャネル番号信号にしたがって各論理チャネル毎のパケットデータをそれぞれ取り込み、ルーティング情報にしたがってパッドバイトを取り除きつつ論理チャネル毎のパケットデータをＭ×Ｍスイッチを用いて所定の順序に並び替え、Ｍ×Ｍスイッチにより並び替えられたパケットデータを論理チャネル毎に保持することで、パッドバイトを除去しつつデータのマッピング処理が可能なＳＴＭマッピング回路を得ることができる。
【００２６】
また、論理チャネル単位で時分割にパケットデータをそれぞれ並び替えるためのルーティング情報を生成し、該ルーティング情報にしたがって論理チャネル単位で時分割に、パケットデータをそれぞれ並び替えることで、ルーティング情報を生成するルーティング回路とＭ×Ｍスイッチとをチャネル毎に設ける必要がなくなる。
【００２７】
さらに、論理チャネル毎の前記パケットデータが保持されたパケットメモリから、該バイトデータをそれぞれ所定の順序で読み出すための論理チャネル情報を生成し、該論理チャネル情報にしたがって論理チャネル毎にバイトデータを所定の順序に並び替え、並び替えた論理チャネル毎のバイトデータをそれぞれ多重化することで、バーチャルコンカチネーションにも対応することができる。
【００２８】
特に、Ｍ×Ｍスイッチにバニヤン網を用いることでルーティング処理のためのスイッチ回路の低減することができる。
【００２９】
【発明の実施の形態】
次に本発明について図面を参照して説明する。
【００３０】
本発明では、ＳＴＳやＳＴＭ等の伝送フレームのペイロード領域へパケットデータを対応する論理チャネルに振り分けつつ格納するためのマッピング処理を行うＳＴＭマッピング回路に、可変長パケット間に挿入されたパッドバイトを除去する機能を持たせた構成を提案する。
【００３１】
なお、本発明のＳＴＭマッピング回路は、例えば、ＳＴＭフレームのスイッチング処理を行うＳＴＭスイッチと、ＳＴＭスイッチから受信したＳＴＭフレームを論理チャネル単位に分離し、それぞれのパケットを抽出した後、該パケット毎にスイッチング処理を行うパケットスイッチとを有する、上述したＳＴＭ／Ｐａｃｋｅｔハイブリッドスイッチの該パケットスイッチ等で用いられる。
【００３２】
（第１の実施の形態）
まず、本発明のＳＴＭマッピング回路の第１の実施の形態について図面を参照して説明する。
【００３３】
図１は伝送フレームの一構成例を示す模式図である。なお、ＳＴＳ−ｎはＳＯＮＥＴ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  Ｎｅｔｗｏｒｋ）で規定された多重化フォーマットであり、ＳＴＭ−ｎはＳＤＨ（  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｈｉｅｒａｒｃｈｙ  ）で規定された多重化フォーマットである。
【００３４】
図１に示すように、ＳＴＳやＳＴＭの伝送フレームは、先頭にＳＯＨ（Ｓｅｃｔｉｏｎ  Ｏｖｅｒ  Ｈｅａｄ）領域、及びＡＵ  ＰＴＲ（Ａｄｍｉｎｉｓｔｒａｔｉｖｅ  Ｕｎｉｔ  Ｐｏｉｎｔｅｒ）領域が設けられ、それらに続いてペイロード領域（ＰＯＨ（Ｐａｔｈ  Ｏｖｅｒ  Ｈｅａｄ）領域を含む）が設けられる構成である。
【００３５】
例えば、ＳＴＭ−１６の場合、ペイロード領域は４８個のＡＵ−３（５１．８４Ｍｂｐｓ）から構成され、ＡＵ−３に１つの物理チャネルが割り当てられるとすると、ぺイロード領域には最大で４８個の物理チャネルのバイトデータが格納される。また、ペイロード領域には図１に示す矢印の順序で各物理チャネルのバイトデータがそれぞれ格納される。なお、図１の各行はそれぞれ８ビット（１バイト）で構成され、伝送路上では１クロックで１つの物理チャネル分のデータが１バイトずつ送信される。
【００３６】
ＳＴＭマッピング回路は、図１に示すフレームを生成する際に、不要なパッドバイトを除去しつつ、ペイロード領域の所定の物理チャネルにバイトデータをそれぞれ格納するためのマッピング処理を行う。
【００３７】
図２は本発明のＳＴＭマッピング回路の第１の実施の形態の構成を示すブロック図である。
【００３８】
図２に示すように、本実施形態のＳＴＭマッピング回路は、入力されたパケットデータのパケット長を検出し、パラレル展開されたＭ（Ｍ＝２ｋ：ｋは正の整数）個のバイトデータ毎に、有効なバイトデータであるか否か（パッドバイト）を示すＭビットのバイト有効性情報を生成するパケット長検出回路１０１と、パケットデータと同時に入力される、該パケットデータがどの論理チャネルに属するかを示すチャネル番号信号にしたがって自論理チャネルのパケットデータを取り込むＮ個（Ｎは正の整数）のパケットフィルタ回路１０２１〜１０２Ｎと、後述する第１のＭ×Ｍスイッチ１０４１〜１０４Ｎにおけるルーティング処理を制御するためのルーティング情報を生成するＮ個のルーティング回路１０３１〜１０３Ｎと、ＭバイトのデータをＭ個の出力ポートに振り分けるＮ個の第１のＭ×Ｍスイッチ１０４１〜１０４Ｎと、第１のＭ×Ｍスイッチ１０４１〜１０４ｎで振り分けられたパケットデータを一時的に格納するＭ個の独立したＦＩＦＯ（Ｆｉｒｓｔ−ｉｎ  Ｆｉｒｓｔ−ｏｕｔ）メモリから成るＭ個×Ｎチャネル分のパケットメモリ１０５１１〜１０５ＮＭと、伝送フレームの各物理チャネルと該物理チャネルに割り当てられた論理チャネルの関係を示す論理チャネル情報が記録されるチャネル制御メモリ１０８と、パケットメモリ１０５１１〜１０５ＮＭに格納されたパケットデータを、チャネル制御メモリ１０８から出力される論理チャネル情報に基づいてバイト単位でスイッチングする第２のＭ×Ｍスイッチ１０７１〜１０７Ｎと、第２のＭ×Ｍスイッチ１０７１〜１０７Ｎの出力をチャネル制御メモリ１０８から出力される論理チャネル情報に基づいてバイト単位で選択出力するセレクタ回路１０６１〜１０６Ｍとを有する構成である。
【００３９】
パケット長検出回路１０１は、Ｍ個のバイトデータにパラレル展開されたパケットデータが１バイト毎に有効なデータであるか無効なデータ（パッドバイト）であるかを示すＭビットのバイト有効性情報を生成する。
【００４０】
例えば、図１１（ａ）に示したパケットデータの場合、最初の８ＢｙｔｅのバイトデータＡ−１からＡ−８に対応して、全て有効なデータであることを示す計８ビットのバイト有効性情報を生成する。また、次の８Ｂｙｔｅに対応して、バイトデータＡ−９、Ａ−１０が有効なデータであり、Ｂｙｔｅ２からＢｙｔｅ７までが無効なデータ（パッドバイト）であることを示すバイト有効性情報を生成する。
【００４１】
なお、各パケットデータのパケット長は、ヘッダ部のパケット長領域の値から検出することができる。上述したＧＦＰやＳＤＬの可変長パケットの場合、ヘッダ部にパケット長の値が格納されるパケット長領域を有している。具体的には、ＧＦＰならばＰＬＩ領域、ＳＤＬならばＬＥＮＧＴＨ領域が使用される。また、パケット長検出回路１０１には、パケットデータと該パケットデータがどの論理チャネルに属するかを示す信号であるチャネル番号信号が入力される。
【００４２】
パケットフィルタ回路１０２１〜１０２Ｎは、パケット長検出回路１０１から出力されたチャンネル番号信号をそれぞれ監視し、自論理チャネル番号のバイトデータであれば取り込む回路である。
【００４３】
ルーティング回路１０３１〜１０３Ｎは、後段の第１のＭ×Ｍスイッチ１０４１〜１０４Ｎで用いるルーティング情報を生成する。例えば、図１１（ａ）に示した各バイトデータからパッドバイトをそれぞれ取り除き、図１１（ｂ）に示した位置にルーティングするための情報を生成する。
【００４４】
図３は図２に示したルーティング回路の一構成例を示すブロック図であり、図４は図２に示した第１のＭ×Ｍスイッチの一構成例を示すブロック図である。なお、図３に示したルーティング回路１０３１〜１０３Ｎは、パラレル展開数Ｍが８の場合の構成例を示し、図４に示した第１のＭ×Ｍスイッチ１０４１〜１０４ＮはＭ＝８である８×８スイッチの構成例を示している。
【００４５】
図３に示すように、ルーティング回路１０３１〜１０３Ｎは、バイト有効性情報に基づいて有効なデータ数をカウントする有効バイト数カウント回路１１１１〜１１１７と、有効なデータが格納されたポート番号の最大値を判定する最大有効ポート番号判定回路１１３と、最大有効ポート番号判定回路１１３の判定結果にしたがって有効なデータが最後に格納されたポート番号を選択する８→１セレクタ回路（８→１ＳＥＬ）１１４と、８→１セレクタ回路１１４で選択されたポート番号の情報を保持すると共に、対応するパケットメモリが空であることを示すパケットメモリアンダーフロー信号にしたがって該情報を出力するフリップフロップ回路（Ｆ／Ｆ）１１７と、フリップフロップ回路１１７の出力信号と有効バイト数カウント回路１１１１〜１１１７の出力信号とを加算し、ルーティング情報として出力する加算器１１２１〜１１２８とを有する構成である。なお、加算器１１２１〜１１２８は、加算結果がＭ以上のときには、その値からＭを減算して０〜Ｍ−１の範囲の値を出力する。
【００４６】
第１のＭ×Ｍスイッチ１０４１〜１０４Ｎは、Ｍ個のＭ→１セレクタ回路を有する構成である。また、Ｍ→１セレクタ回路は、Ｍ−１個の２→１セレクタ回路１２０によって構成される。
【００４７】
例えば、Ｍ＝８の場合、図４に示すように第１のＭ×Ｍスイッチ（８×８スイッチ）１０４１〜１０４Ｎは、８個の８→１セレクタ回路１２１１〜１２１８によって構成され、各８→１セレクタ回路１２１１〜１２１８の入力ポート０〜７にパラレル展開された８個のバイトデータがそれぞれ入力される。
【００４８】
８→１セレクタ回路１２１１〜１２１８は、ルーティング情報にしたがって入力された８個のバイトデータの中から１つのバイトデータを選択して出力ポートに出力する。
【００４９】
パケットメモリ１０５１１〜１０５ＮＭは、それぞれＭ個のポートに別れたＦＩＦＯ（Ｆｉｒｓｔ−ｉｎ  Ｆｉｒｓｔ−ｏｕｔ）メモリから構成され、第１のＭ×Ｍスイッチ１０４１〜１０４Ｎで振り分けられたＭ個のバイトデータを順次格納し、１クロック毎に最大でＭ個のバイトデータを出力する。また、ＦＩＦＯが空になったときにはパケットメモリアンダーフロー信号を１クロック毎にルーティング回路１０３１〜１０３Ｎに出力する。
【００５０】
第２のＭ×Ｍスイッチ１０７１〜１０７Ｎは、チャネル制御メモリ１０８から出力される論理チャネル情報に基づいてバイト単位でスイッチングを行う。
【００５１】
図５はＭ＝８におけるチャネル制御メモリの一構成例を示すブロック図である。
【００５２】
チャネル制御メモリ１０８には、伝送フレームの各物理チャネルにそれぞれ割り当てられた論理チャネルの関係がテーブル状に記録されている。
【００５３】
例えば、図５に示したテーブルでは、物理チャネル（ＣＨ）１〜４８に対して、論理チャネル（ＣＨ）１〜８がそれぞれ割り当てられている。具体的には、物理ＣＨ１〜物理ＣＨ８に論理ＣＨ１が割り当てられ、物理ＣＨ９〜物理ＣＨ１３に論理ＣＨ２が割り当てられ、物理ＣＨ１４〜物理１６に論理ＣＨ３が割り当てられ、物理ＣＨ１７〜物理ＣＨ２４に論理ＣＨ４が割り当てられ、物理ＣＨ２５〜物理ＣＨ２８に論理ＣＨ５が割り当てられ、物理ＣＨ２９〜物理ＣＨ３２に論理ＣＨ６が割り当てられ、物理ＣＨ３３〜物理ＣＨ４４に論理ＣＨ７が割り当てられ、物理ＣＨ４５〜物理ＣＨ４８に論理ＣＨ８が割り当てられている。
【００５４】
論理チャネル情報は、例えば、１クロック毎に処理される物理チャネル８個（Ｍ＝８）分に対応する論理チャネル番号（２進数）を示す信号であり、チャネル制御メモリ１０８からは、８ｂｉｔ×８個の計６４ｂｉｔ幅で出力される。
【００５５】
第２のＭ×Ｍスイッチ１０７１〜１０７Ｎは、チャネル制御メモリ１０８から受け取った論理チャネル情報に基づいて、それぞれ自論理チャネルが割り当てられた物理チャネル数をカウントし、対応するパケットメモリ１０５１１〜１０５ＮＭからカウント数に一致する数のバイトデータをそれぞれ読み出す。
【００５６】
このとき、第２のＭ×Ｍスイッチ１０７１〜１０７Ｎは、対応するパケットメモリに格納されたデータのうち、前回最後に読み出したデータが何番目のＦＩＦＯメモリ（何バイト目）のデータであるかを記録しておき、次にパケットメモリからデータを読み出すときには、それに続くＦＩＦＯメモリから上記カウント数分のバイトデータを読み出していく。なお、パケットメモリを構成する最後のＦＩＦＯメモリからデータを読み出した場合は最初のＦＩＦＯメモリに戻ってデータの読み出しを行う。
【００５７】
具体的には、パケットメモリが８個（Ｍ＝８）のＦＩＦＯメモリから構成されている場合、第２のＭ×Ｍスイッチ１０７１〜１０７Ｎは、バイト７のデータまで読み出したら、バイト０に戻ってバイト７まで順にデータを読み出していく。このとき、パケットメモリ１０５１１〜１０５ＮＭはＦＩＦＯメモリで構成されているため、第２のＭ×Ｍスイッチ１０７１〜１０７Ｎは、任意のアドレスのバイト０〜７までのデータを読み終えると、アドレスをカウントアップして次のバイト０〜７までのデータを順に読み出していく。
【００５８】
所定数のバイトデータを読み出した第２のＭ×Ｍスイッチ１０７１〜１０７Ｎは、論理チャネル情報にしたがって、自論理チャネルが割り当てられた物理チャネルに対応する出力ポートに、読み出したバイトデータをそれぞれスイッチングする。
【００５９】
例えば、チャネル制御メモリ１０８に記録された論理チャネル情報が図５で示したテーブルで表される場合、最初の１クロック目に出力される論理チャネル情報は、｛ＣＨ１、ＣＨ１、ＣＨ１、ＣＨ１、ＣＨ１、ＣＨ１、ＣＨ１、ＣＨ１｝となる。
【００６０】
このとき、論理チャネル１に対応する第２のＭ×Ｍスイッチ１０７１のみが動作し、論理チャネル情報中の論理ＣＨ１の数、すなわち８バイト分のデータがパケットメモリ１０５１１〜１０５１Ｍから読み出される。
【００６１】
ここで、第２のＭ×Ｍスイッチ１０７１で、前回、最後にデータが読み出したパケットメモリがバイト３（パケットメモリ１０５１３）であるとすると、第２のＭ×Ｍスイッチ１０７１は、バイト４（パケットメモリ１０５１５）からバイト７（パケットメモリ１０５１８）までのデータを１バイトずつ読み出し、さらにバイト０に戻ってバイト０（パケットメモリ１０５１１）からバイト３（パケットメモリ１０５１４）までのデータをそれぞれ１バイトずつ読み出していく。なお、バイト４〜７とバイト０〜３とではＦＩＦＯメモリの読み出しアドレスが異なり、バイト０〜３のほうがアドレスが「１」だけ大きい値となる。
【００６２】
第２のＭ×Ｍスイッチ１０７１は、論理チャネル情報中の論理ＣＨ１が割り当てられた物理チャネルに対応する出力ポートに、読み出した８個のバイトデータをそれぞれスイッチングする。
【００６３】
例えば、今回読み出す先頭のパケットメモリがバイト４（パケットメモリ１０５１５）であった場合、バイト４（パケットメモリ１０５１５）からバイト７（パケットメモリ１０５１８）までのデータを第２のＭ×Ｍスイッチ１０７１の出力ポート１〜４に順に出力し、バイト０（パケットメモリ１０５１１）からバイト３（パケットメモリ１０５１４）までのデータを第２のＭ×Ｍスイッチ１０７１の出力ポート５〜８に順に出力するようにスイッチングする。
【００６４】
第２のＭ×Ｍスイッチ１０７１〜１０７Ｎは、スイッチング経路を示すルーティング情報をルックアップテーブルとして生成し、該ルーティング情報を用いてパケットメモリから読み出したバイトデータのルーティングを行う。
【００６５】
ルーティング情報は、今回読み出しを開始する先頭のバイト番号０（パケットメモリ１０５１１に対応）〜７（パケットメモリ１０５１８に対応）と、自論理チャネルが割り当てられた物理チャネルに対応する自ＣＨ出力位置とによって決定される。
【００６６】
図６はＭ＝４におけるルックアップテーブルの一構成例を示すテーブル図である。
【００６７】
図６に示したルックアップテーブルには、チャネル制御メモリ１０８から受け取った論理チャネル情報中の自ＣＨ出力位置、先頭メモリ番号、入力ポート０のバイト０（パケットメモリ１０５１１に対応）に対応するルーティング情報、入力ポート１のバイト１（パケットメモリ１０５１２に対応）に対応するルーティング情報、入力ポート２のバイト２（パケットメモリ１０５１３に対応）に対応するルーティング情報、入力ポート３のバイト３（パケットメモリ１０５１４に対応）に対応するルーティング情報がそれぞれ記録されている。
【００６８】
自ＣＨ出力位置は、論理チャネル情報と自論理チャネル番号とを比較照合することで求め、例えば、論理チャネル１の場合、論理チャネル情報＝｛ＣＨ１、ＣＨ１、ＣＨ２、ＣＨ３｝ならば自ＣＨ出力位置は“１１００”となる。また、論理チャネル２の場合は論理チャネル情報＝“００１０”、論理チャネル３の場合は論理チャネル情報＝“０００１”、論理チャネル４の場合は論理チャネル情報＝“００００”となる。
【００６９】
ルーティング情報は２ｂｉｔで構成され、“００”ならば出力ポート０にルーティングされるようにスイッチングされる。同様に“０１”ならば出力ポート１にルーティングされ、“１０”ならば出力ポート２にルーティングされ、“１１”ならば出力ポート３にルーティングされるようにスイッチングされる。
【００７０】
一例として、論理チャネル情報＝｛ＣＨ１、ＣＨ１、ＣＨ１、ＣＨ１｝で、先頭メモリ番号が「３」の場合を考える。
【００７１】
このとき、論理チャネル１の自ＣＨ出力位置は“１１１１”となる。先頭メモリ番号を「３」とすると、入力ポート０のバイト０（パケットメモリ１０５１１に対応）のデータはルーティング情報“０１”にしたがって出力ポート１に出力される。同様に、入力ポート１のバイト１（パケットメモリ１０５１２に対応）のデータはルーティング情報“１０”にしたがって出力ポート２に出力され、入力ポート２のバイト２（パケットメモリ１０５１２に対応）のデータはルーティング情報“１１”にしたがって出力ポート３に出力され、入力ポート３のバイト３（１０５１４に対応）のデータはルーティング情報“００”にしたがって出力ポート０に出力される。
【００７２】
論理チャネル１以外の自ＣＨ出力位置は“００００”に設定されるため、入力ポートと出力ポートが一致するようスイッチングされる。このとき、自バイト数は「０」なので、各パケットメモリ１０５２１〜１０５Ｎ４からは何も読み出されずに値「０」がスイッチングされる。
【００７３】
第２のＭ×Ｍスイッチ１０７１〜１０７Ｎによって並び替えられた（ソートされた）バイトデータは、セレクタ回路１０６１〜１０６Ｍで選択出力され、バイトデータが論理チャネル毎に多重化される。
【００７４】
セレクタ回路１０６１〜１０６Ｍは、チャネル制御メモリ１０８から出力された論理チャネル情報をセレクト信号として用い、対応する論理チャネル情報にしたがって、論理チャネル１〜論理チャネルＮのバイトデータを選択出力する。
【００７５】
例えば、論理チャネル数Ｎが４８の場合、物理チャネル１〜４８に対して論理チャネル１〜４８を順に設定した論理チャネル情報をチャネル制御メモリ１０８に記録すれば、ＳＴＭフレームのペイロード中に論理チャネル１〜４８が順番にマッピングされ、ＡＵ−３×４８チャネルから成る２．４８８Ｇｂｐｓフレームのペイロード部を生成することができる。
【００７６】
また、論理チャネル数Ｎが１の場合、物理チャネル１〜４８の全てを論理チャネル１に設定した論理チャネル情報をチャネル制御メモリ１０８に記録すれば、ＳＴＭフレームのペイロード中に論理チャネル１のみがマッピングされ、ＡＵ−３×４８チャネルに１つの論理チャネルが割り当てられた２．４８８Ｇｂｐｓフレームのペイロード部を生成することができる。
【００７７】
以上説明したように、本実施形態の構成によれば、パッドバイトを除去しつつデータのマッピング処理が可能なＳＴＭマッピング回路を得ることができる。
【００７８】
（第２の実施の形態）
次に本発明のＳＴＭマッピング回路の第２の実施の形態について図面を用いて説明する。
【００７９】
第１の実施の形態で示したＳＴＭマッピング回路では第１のＭ×Ｍスイッチ１０４１〜１０４ＮをＭ個のＭ→１セレクタ回路で構成している。さらに、Ｍ→１セレクタ回路をＭ−１個の２→１セレクタ回路で構成している。
【００８０】
したがって、第１のＭ×Ｍスイッチ１０４１〜１０４Ｎを構成するためには、Ｍ×（Ｍ−１）個の２→１セレクタ回路が必要になり、Ｍが大きくなると第１のＭ×Ｍスイッチを構成するのに必要な２→１セレクタ回路の数が増えてしまう。本実施形態では、回路規模を縮小することが可能なＳＴＭマッピング回路を提案する。
【００８１】
図７は本発明のＳＴＭマッピング回路の第２の実施の形態の構成を示すブロック図である。
【００８２】
図７に示すように、本実施形態のＳＴＭマッピング回路は、入力されたパケットデータのパケット長を検出し、Ｍ個にパラレル展開されたバイトデータ毎に、有効なバイトデータであるか否か（パッドバイト）を示すＭビットのバイト有効性情報を生成するパケット長検出回路１と、後述するバニヤン網におけるルーティング処理を制御するためのルーティング情報を生成するルーティング回路２と、Ｎ本の論理チャネル毎に、Ｍ個のバイトデータをＭ個の出力ポートに振り分けるバニヤン網３と、パケットデータと同時に入力される、該パケットデータのマッピング先を示すチャネル番号信号に基づいて自論理チャネルで処理するパケットデータを取り込むＮ個のパケットフィルタ回路４１〜４Ｎと、バニヤン網３で振り分けられたパケットデータを一時的に格納する１チャネルあたりＭ個のＦＩＦＯ（Ｆｉｒｓｔ−ｉｎ  Ｆｉｒｓｔ−ｏｕｔ）メモリから成るＭ×Ｎ個のパケットメモリ５１１〜５ＮＭと、伝送フレームの各物理チャネルに割り当てられた論理チャネルの関係が記録されるチャネル制御メモリ８と、パケットメモリ５１１〜５ＮＭに格納されたパケットデータを読み出し、チャネル制御メモリ８から出力される論理チャネル情報に基づいてバイト単位でスイッチングするＭ×Ｍスイッチ７１〜７Ｎと、Ｍ×Ｍスイッチ７１〜７Ｎの出力をチャネル制御メモリ８から出力される論理チャネル情報に基づいてバイト単位で選択出力するセレクタ回路６１〜６Ｍとを有する構成である。
【００８３】
ルーティング回路２には、パケット長検出回路１から出力されるパケットデータ、バイト有効性情報、及びチャンネル情報信号と、Ｎ個のパケットメモリ５１〜５Ｎから出力されるパケットメモリアンダーフロー信号とがそれぞれ入力される。また、バニヤン網３には、ルーティング回路２から出力されるＭバイトのバイトデータ、チャンネル情報信号、及び各バイトデータのルーティング情報とがそれぞれ入力される。
【００８４】
パケット長検出回路１は、第１の実施の形態と同様に、Ｍ個のバイトデータにパラレル展開されたパケットデータをＮ本の各論理チャネル毎のデータに振り分けると共に、該バイトデータが有効なデータであるか無効なデータ（パッドバイト）であるかを示すＭビットのバイト有効性情報を生成する。
【００８５】
ルーティング回路２は、後段のバニヤン網３で用いるルーティング情報を生成する。
【００８６】
図８は図７に示したルーティング回路の一構成例を示すブロック図であり、図９は図７に示したバニヤン網の一構成例を示すブロック図である。なお、図８に示したルーティング回路はパラレル展開数Ｍが８の場合の構成例を示し、図９に示したバニヤン網はＭ＝８の構成例を示している。
【００８７】
図８に示すように、ルーティング回路２は、バイト有効性情報に基づいて有効なデータ数をカウントする有効バイト数カウント回路１１１〜１１７と、有効なデータが格納されたポート番号の最大値を判定する最大有効ポート番号判定回路１３と、最大有効ポート番号判定回路１３の判定結果にしたがい有効なデータが最後に格納されたポート番号を選択する８→１セレクタ回路（８→１ＳＥＬ）１４と、１個のルーティング回路２でＮ本の論理チャネルを時分割処理するために、論理チャネル１〜Ｎの各々についてＭポート中のどのポートに最後のデータが書き込まれたか示す信号を保持するルーティング結果メモリ１６と、パケットデータと同時に入力されるチャネル番号信号に基づいてパケットメモリから当該論理チャンネルの最後のルーティング結果を読み出して出力するメモリ制御回路１５と、メモリ制御回路１５の出力信号と有効バイト数カウント回路の出力信号とを加算し、ルーティング情報として出力する加算器１２１〜１２８とを有する構成である。なお、加算器１２１〜１２８は、加算結果がＭを超えるときにはその値からＭを減算し、０〜Ｍ−１の範囲の値を出力する。また、メモリ制御回路１５には、論理チャネル毎のパケットメモリアンダーフロー信号がパケットメモリより入力され、アンダーフロー信号（＝１）の立ち上がりエッジを検出したら、ルーティング結果メモリ１６の該当する論理チャネルを初期化し、アンダーフローが発生した後に最初に到着する、その該当論理チャネルのバイトデータがポート０よりルーティングされる。
【００８８】
図９に示すように、バニヤン網３は、バニヤンスイッチ２１と、バニヤンスイッチ２１のルーティング結果を一時的に保持するバッファメモリ２２とを有する構成である。
【００８９】
バニヤンスイッチ２１は、図９に示すように、（Ｍ／２）個の２×２スイッチ２０がｋ（２ｋ＝Ｍ）段接続された構成である。例えば、図９に示したバニヤンスイッチ２１はＭ＝８のときの構成であるため、４個の２×２スイッチ２０が３段接続される。２×２スイッチ２０の最終段の出力ポートはバッファメモリ２２の各ポートに接続される。
【００９０】
なお、図９では、バッファメモリ２２にバイトデータが何も蓄積されていない状態を示し、入力ポート０、３、４、５、６に有効なデータ（有効データ）が入力され、それ以外のポートにはパッドバイト等の無効なデータが入力された様子を示している。また、図９では、各入力ポートから入力された有効データがバッファメモリ２２のポート０からポート７の順に蓄積される様子を示している。すなわち、入力ポート０から入力された有効データはバッファメモリ２２のポート０にルーティングされ、入力ポート３から入力された有効データはバッファメモリ２２のポート１にルーティングされ、入力ポート４から入力された有効データはバッファメモリ２２のポート２にルーティングされ、入力ポート５から入力された有効データはバッファメモリ２２のポート３にルーティングされ、入力ポート６から入力された有効データはバッファメモリ２２のポート４にルーティングされる。このようにして、バッファメモリ２２のポート０〜４にそれぞれ有効データがブロッキングを起こすことなくソートされて蓄積される。
【００９１】
バニヤンスイッチ２１を構成する１段目の各２×２スイッチ２０は、ルーティング先のバッファメモリ２２のポート番号を２進表示した最下位ビットの値に応じてそれぞれスイッチングを行う。例えば、入力ポート０から入力された有効データはバッファメモリ２２のポート０、すなわち“０００”にルーティングするように、その最下位ビットの値“０”にしたがってスイッチングを行う。同様に、入力ポート１から入力された有効データはバッファメモリ２２のポート１、すなわち“００１”にルーティングするように、その最下位ビットの値“１”にしたがってスイッチングを行う。
【００９２】
また、２段目の各２×２スイッチ２０は、ルーティング先のバッファメモリ２２のポート番号を２進表示した２ビット目の値に応じてそれぞれスイッチングを行う。例えば、入力ポート０から入力された有効データはバッファメモリ２２のポート０、すなわち“０００”にルーティングするように、その２ビット目の値“０”にしたがってスイッチングを行う。同様に、入力ポート１から入力された有効データはパケットメモリ２２のポート１、すなわち“００１”にルーティングするように、その２ビット目の値“０”にしたがってスイッチングを行う。
【００９３】
また、３段目の各２×２スイッチ２０は、ルーティング先のバッファメモリ２２のポート番号を２進表示した３ビット目の値に応じてそれぞれスイッチングを行う。例えば、入力ポート０から入力された有効データはバッファメモリ２２のポート０、すなわち“０００”にルーティングするように、その３ビット目の値“０”にしたがってスイッチングを行う。同様に、入力ポート１から入力された有効データはバッファメモリ２２のポート１、すなわち“００１”にルーティングするように、その３ビット目の値“０”にしたがってスイッチングを行う。
【００９４】
図１０は、図９に示したバニヤン網の次の処理周期における様子を示しており、入力ポート０、２、６、７に有効データが入力された場合の動作を示している。
【００９５】
図１０に示すように、バッファメモリ２２にはポート４までバイトデータが蓄積されているためポート５からルーティングされる。
【００９６】
図１０では、入力ポート０から入力された有効データはバッファメモリ２２のポート５にルーティングされ、入力ポート２から入力された有効データはバッファメモリ２２のポート６にルーティングされ、入力ポート６から入力された有効データはバッファメモリ２２のポート７にルーティングされ、入力ポート７から入力された有効データはバッファメモリ２２のポート０にルーティングされる。
【００９７】
バニヤン網３は、「ＡＴＭ入門：マルチメディア時代へのパスポート」（横川ディジタルコンピュータ株式会社ＳＩ事業本部著、Ｐ４９〜Ｐ５０）等に記載されているように、入力信号列をノンブロッキングでソートすることができる。
【００９８】
本実施形態のように、パケットデータのルーティング処理にバニヤン網３を利用することで、第１の実施の形態で用いたＭ×Ｍスイッチに比べて回路規模を縮小することができる。特に、本実施形態では、Ｎチャネル分の論理チャネルのパケットデータのルーティング処理を１つのバニヤン網３で時分割処理するため、論理チャネル毎にＭ×Ｍスイッチを設けていた第１の実施の形態の構成よりも回路規模をさらに縮小することができる。
【００９９】
なお、本実施形態のルーティング回路２及びバニヤン網３のように、各論理チャネル毎のルーティング処理をそれぞれ１つの回路で時分割処理すれば、バニヤン網３に代えて第１の実施の形態で用いた第１のＭ×Ｍスイッチを設けてもよい。その場合、バニヤン網３を用いる場合に比べて回路規模は増えるが、第１の実施の形態のように第１のＭ×Ｍスイッチを各論理チャネル毎に設ける必要がないため、第１の実施の形態よりも回路規模を縮小することができる。
【０１００】
パケットフィルタ回路４１〜４Ｎは、バニヤン網３から出力されるチャンネル番号信号を１クロック毎にそれぞれ監視し、自論理チャネルで取り扱うチャンネル番号のバイトデータであれば取り込む。また、自論理チャネルで取り扱わないバイトデータであればそれを廃棄する。
【０１０１】
パケットフィルタ回路４１〜４Ｎで取り込まれたバイトデータはパケットメモリ５１〜５Ｎにそれぞれ送られる。パケットメモリ５１〜５Ｎは、論理チャネル毎にＭ個のポートに分かれたＦＩＦＯメモリから構成され、バニヤン網３の出力ポートに対応した各ポートにそれぞれバイトデータを蓄積し、１クロック毎に最大でＭ個のバイトデータを出力する。また、ＦＩＦＯが空になったときにはパケットメモリアンダーフロー信号を１クロック毎にルーティング回路２に出力する。
【０１０２】
Ｍ×Ｍスイッチ７１〜７Ｎは、チャネル制御メモリ８から出力される論理チャネル情報信号に基づいてバイト単位でスイッチングを行う。
【０１０３】
チャネル制御メモリ８及びＭ×Ｍスイッチ７１〜７Ｎの動作は、第１の実施の形態のチャネル制御メモリ１０８及び第２のＭ×Ｍスイッチ１０７１〜１０７Ｎと同一であり、チャネル制御メモリ８からは、１クロック毎に処理される物理チャネル８個（Ｍ＝８）分に対応する論理チャネル番号（２進数）を示す信号である論理チャネル情報が出力され、Ｍ×Ｍスイッチ７１〜７Ｎは自論理チャネルのＭ個のバイトデータを順に読み出していく。そして、論理チャネル情報中の自ＣＨ出力位置と先頭メモリ番号とからルーティング情報を生成し、論理チャネル毎に所定の順序にバイトデータを並び替える。
【０１０４】
セレクタ回路６１〜６Ｍは、Ｍ×Ｍスイッチ７１〜７Ｎから出力されたバイトデータを選択出力し、論理チャネル毎のバイトデータを多重化する。セレクタ回路６１〜６Ｍの動作は、第１の実施の形態のセレクタ回路１０６１〜１０６Ｍと同様である。
【０１０５】
セレクタ回路６１〜６Ｍは、チャネル制御メモリ８から出力された論理チャネル情報をセレクト信号として用い、対応する論理チャネル情報にしたがって、論理チャネル１〜論理チャネルＮのバイトデータを選択出力する。
【０１０６】
例えば、論理チャネル数Ｎが４８の場合、物理チャネル１〜４８に対して論理チャネル１〜４８を順に設定した論理チャネル情報をチャネル制御メモリ８に記録すれば、ＳＴＭフレームのペイロード中に論理チャネル１〜４８が順番にマッピングされ、ＡＵ−３×４８チャネルから成る２．４８８Ｇｂｐｓフレームのペイロード部を生成することができる。
【０１０７】
また、論理チャネル数Ｎが１の場合、物理チャネル１〜４８の全てを論理チャネル１に設定した論理チャネル情報をチャネル制御メモリ８に記録すれば、ＳＴＭフレームのペイロード中に論理チャネル１のみがマッピングされ、ＡＵ−３×４８チャネルに１つの論理チャネルが割り当てられた２．４８８Ｇｂｐｓフレームのペイロード部を生成することができる。
【０１０８】
以上説明したように本実施形態のＳＴＭマッピング回路は、パケットデータのルーティング処理にバニヤン網を用いているため、第１の実施の形態に比べて回路規模を縮小することができる。また、第１の実施の形態で各チャネル毎に設けていたＭ×Ｍスイッチ及びルーティング回路を、時分割処理することで１つのルーティング回路とバニヤン網３で構成することができるため、回路規模をさらに低減することができる。したがって、本発明のＳＴＭマッピング回路を搭載するＳＴＭ／Ｐａｃｋｅｔハイブリッドスイッチ等のラインカードあるいはスイッチカードの実装面積が縮小され、装置規模を小さくすることができる。
【０１０９】
なお、上述したＳＴＭマッピング回路は、例えば、ＳＴＭ−１６フレームに４８チャンネル分のＡＵ−３（５１．８４Ｍｂｐｓ）のパケットデータを収容する場合に適用できるが、一つの論理チャネルを複数の任意のＡＵ−３×ｉ個（ｉは４８以下の正の整数、例えば、ＡＵ−３×２＝１０３．６８Ｍｂｐｓ、ＡＵ−３×６＝３１１．０４Ｍｂｐｓ）に割り当てることで伝送速度を、ＡＵ−３の帯域（５１．８４Ｍｂｐｓ）単位で任意に設定可能なバーチャルコンカチネーション（Ｖｉｒｔｕａｌ  Ｃｏｎｃａｔｅｎａｔｉｏｎ）にも適用することができる。
【０１１０】
具体的には、全物理チャネル（チャネル数４８）のバイトデータを読み出すのに必要な処理周期のうち、チャネル制御メモリの設定において、同じ論理チャネルのバイトデータを複数の任意の物理チャネルのバイトデータとして割り当て、第２のＭ×ＭスイッチまたはＭ×Ｍスイッチによって各論理チャネル毎に所定の順に並べ替え、セレクタ回路により論理チャネル毎のバイトデータを多重化して出力すればよい。
【０１１１】
【発明の効果】
本発明は以上説明したように構成されているので、以下に記載する効果を奏する。
【０１１２】
パッドバイトを含むＭ個にパラレル展開された複数のバイトデータから、該バイトデータがそれぞれ有効なデータであるかパッドバイトであるかを示すバイト有効性情報を生成し、バイト有効性情報を用いてパッドバイトを取り除きつつバイトデータを所定の順序に並び替えるためのルーティング情報を生成し、パケットデータがどの論理チャネルに属するかを示すチャネル番号信号にしたがって各論理チャネル毎のパケットデータをそれぞれ取り込み、ルーティング情報にしたがってパッドバイトを取り除きつつ論理チャネル毎のパケットデータをＭ×Ｍスイッチを用いて所定の順序に並び替え、Ｍ×Ｍスイッチにより並び替えられたパケットデータを論理チャネル毎に保持することで、パッドバイトを除去しつつデータのマッピング処理が可能なＳＴＭマッピング回路を得ることができる。
【０１１３】
また、論理チャネル単位で時分割にパケットデータをそれぞれ並び替えるためのルーティング情報を生成し、該ルーティング情報にしたがって論理チャネル単位で時分割に、パケットデータをそれぞれ並び替えることで、ルーティング情報を生成するルーティング回路とＭ×Ｍスイッチとをチャネル毎に設ける必要がなくなり、回路規模を縮小することができる。
【０１１４】
さらに、論理チャネル毎の前記パケットデータが保持されたパケットメモリから、該バイトデータをそれぞれ所定の順序で読み出すための論理チャネル情報を生成し、該論理チャネル情報にしたがって論理チャネル毎にバイトデータを所定の順序に並び替え、並び替えた論理チャネル毎のバイトデータをそれぞれ多重化することで、バーチャルコンカチネーションにも対応することができる。
【０１１５】
特に、Ｍ×Ｍスイッチにバニヤン網を用いることでルーティング処理のためのスイッチ回路の低減することができるため、回路規模をさらに低減することができる。
【０１１６】
したがって、本発明のＳＴＭマッピング回路を搭載するＳＴＭ／Ｐａｃｋｅｔハイブリッドスイッチ等のラインカードあるいはスイッチカードの実装面積が縮小され、装置規模を小さくすることができる。
【図面の簡単な説明】
【図１】伝送フレームの一構成例を示す模式図である。
【図２】本発明のＳＴＭマッピング回路の第１の実施の形態の構成を示すブロック図である。
【図３】図２に示したルーティング回路の一構成例を示すブロック図である。
【図４】図２に示した第１のＭ×Ｍスイッチの一構成例を示すブロック図である。
【図５】Ｍ＝８におけるチャネル制御メモリの一構成例を示すブロック図である。
【図６】Ｍ＝４におけるルックアップテーブルの一構成例を示すテーブル図である。
【図７】本発明のＳＴＭマッピング回路の第２の実施の形態の構成を示すブロック図である。
【図８】図７に示したルーティング回路の一構成例を示すブロック図である。
【図９】図７に示したバニヤン網の一構成例を示すブロック図である。
【図１０】図９に示したバニヤン網の次の処理周期における様子を示すブロック図である。
【図１１】伝送装置内で処理される信号列の一例を示す図であり、同図（ａ）はパッドバイトが挿入された信号列の一例を示す模式図、同図（ｂ）はパッドバイトが無い信号列の一例を示す模式図である。
【符号の説明】
１、１０１    パケット長検出回路
２、１０３１〜１０３Ｎ    ルーティング回路
３    バニヤン網
４１〜４Ｎ、１０２１〜１０２Ｎ    パケットフィルタ回路
５１１〜５ＮＭ、１０５１１〜１０５ＮＭ    パケットメモリ
６１〜６Ｍ、１０６１〜１０６Ｍ    セレクタ回路
７１〜７Ｎ    Ｍ×Ｍスイッチ
８、１０８    チャネル制御メモリ
１１１〜１１７、１１１１〜１１１７    有効バイト数カウント回路
１２１〜１２８、１１２１〜１１２８    加算器
１３、１１３    最大有効ポート番号判定回路
１４、１１４、１２１１〜１２１８    ８→１セレクタ回路
１５    メモリ制御回路
１６    ルーティング結果メモリ
２０    ２×２スイッチ
２１    バニヤンスイッチ
２２    バッファメモリ
１０４１〜１０４Ｎ    第１のＭ×Ｍスイッチ
１０７１〜１０７Ｎ    第２のＭ×Ｍスイッチ
１１７    フリップフロップ回路
１２０    ２→１セレクタ回路
【図１】
0003570507.tif 000002
【図２】
0003570507.tif 000003
【図３】
0003570507.tif 000004
【図４】
0003570507.tif 000005
【図５】
0003570507.tif 000006
【図６】
0003570507.tif 000007
【図７】
0003570507.tif 000008
【図８】
0003570507.tif 000009
【図９】
0003570507.tif 000010
【図１０】
0003570507.tif 000011
【図１１】
0003570507.tif 000012