(57)【要約】  共有バッファを用いたスイッチ装置の規模増大を抑えるため、複数の入力ポートに位相がずらされた形で入力した、各セグメントにおける所定の数分だけ直列に接続された所定長データの各々を、該所定の数分だけ並列に設けた共有バッファ中の各セグメントに対応した同一のアドレスに順番に書き込み、その度毎に該アドレスを該セグメントに設定された出力ポート毎に記憶する。該記憶されたアドレスを該出力ポート毎に順次参照して各共有バッファ中の該参照したアドレスから各所定長データを該順番に対応して読み出し、直列に接続して該出力ポートに対して出力する。
2008099472.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力ポートに位相がずらされた形で入力した、各セグメントにおける所定の数分だけ直列に接続された所定長データの各々を、該所定の数分だけ並列に設けた共有バッファ中の各セグメントに対応した同一のアドレスに順番に書き込む第１ステップと、
該書込が行われる度毎に、該アドレスを該セグメントに設定された出力ポート毎に記憶する第２ステップと、
該記憶されたアドレスを該出力ポート毎に順次参照して各共有バッファ中の該参照したアドレスから各所定長データを該順番に対応して読み出す第３ステップと、
該読み出された各所定長データを直列に接続して該出力ポートに対して出力する第４ステップと、
を備えたことを特徴とするデータスイッチ方法。
【請求項２】
請求項１において、
該第１ステップが、各入力ポート毎に各セグメントを該所定の数分の所定長データに並列分離するステップと、
該並列分離された各入力ポートの所定長データを多重化して各共有バッファに与えるステップと、
各入力ポートのいずれかに該セグメントが入力される度毎に、各共有バッファに共通の書込用空きアドレスを発生するステップと、
各書込用空きアドレスを、該多重化された各所定長データの位相に合わせて各共有バッファに与えるステップとを含み、以て各共有バッファ中の同一アドレスに各セグメントにおける各所定長データを書込可能にしたことを特徴としたデータスイッチ方法。
【請求項３】
請求項１において、
該第３ステップが、各出力ポート毎に参照したアドレスの位相を該順番に対応してずらして各共有バッファに与えることにより、各所定長データをその位相が該順番に対応してずれた状態で読み出すステップと、各共有バッファ毎に該読み出された所定長データを該出力ポートに応じて分離するステップとを含み、
該第４ステップが、該分離された各共有バッファの所定長データを多重化して各出力ポートに与えるステップを含むことを特徴としたデータスイッチ方法。
【請求項４】
請求項１において、
該第３ステップが、各出力ポート毎に参照したアドレスの位相を、各共有バッファを該出力ポートのデータ幅に基づき区分けしたグループ同士間で該順番に対応してずらして各共有バッファに与えることにより、各所定長データをその位相が該グループ同士間で該順番に対応してずれた状態で並列に読み出すステップと、各グループ毎に該読み出された並列所定長データを該出力ポートに応じて分離するステップとを含み、
該第４ステップが、該分離された各グループの並列所定長データを多重化して各出力ポートに与えるステップを含むことを特徴としたデータスイッチ方法。
【請求項５】
複数の入力ポートに位相がずらされた形で入力した、各セグメントにおける所定の数分だけ直列に接続された所定長データの各々を、該所定の数分だけ並列に設けた共有バッファ中の各セグメントに対応した同一のアドレスに順番に書き込む第１手段と、
該書込が行われる度毎に、該アドレスを該セグメントに設定された出力ポート毎に記憶する第２手段と、
該記憶されたアドレスを該出力ポート毎に順次参照して各共有バッファ中の該参照したアドレスから各所定長データを該順番に対応して読み出す第３手段と、
該読み出された各所定長データを直列に接続して該出力ポートに対して出力する第４手段と、
を備えたことを特徴とするデータスイッチ回路。
【請求項６】
請求項５において、
該第１手段が、各入力ポート毎に各セグメントを該所定の数分の所定長データに並列分離する手段と、
該並列分離された各入力ポートの所定長データを多重化して各共有バッファに与える手段と、
各入力ポートのいずれかに該セグメントが入力される度毎に、各共有バッファに共通の書込用空きアドレスを発生する手段と、
各書込用空きアドレスを、該多重化された各所定長データの位相に合わせて各共有バッファに与える手段とを含み、以て各共有バッファ中の同一アドレスに各セグメントにおける各所定長データを書込可能にしたことを特徴としたデータスイッチ回路。
【請求項７】
請求項５において、
該第３手段が、各出力ポート毎に参照したアドレスの位相を該順番に対応してずらして各共有バッファに与えることにより、各所定長データをその位相が該順番に対応してずれた状態で読み出す手段と、各共有バッファ毎に該読み出された所定長データを該出力ポートに応じて分離する手段とを含み、
該第４手段が、該分離された各共有バッファの所定長データを多重化して各出力ポートに与える手段を含むことを特徴としたデータスイッチ回路。
【請求項８】
請求項５において、
該第３手段が、各出力ポート毎に参照したアドレスの位相を、各共有バッファを該出力ポートのデータ幅に基づき区分けしたグループ同士間で該順番に対応してずらして各共有バッファに与えることにより、各所定長データをその位相が該グループ同士間で該順番に対応してずれた状態で並列に読み出す手段と、各グループ毎に該読み出された並列所定長データを該出力ポートに応じて分離する手段とを含み、
該第４手段が、該分離された各グループの並列所定長データを多重化して各出力ポートに与える手段を含むことを特徴としたデータスイッチ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データスイッチ方法及び回路に関し、特に共有バッファを用いたスイッチ装置におけるデータスイッチ方法及び回路に関するものである。
【背景技術】
【０００２】
図6は、従来より一般的に知られている共有バッファを用いたL2スイッチ装置(以下、単にスイッチ装置と称することがある。)の構成を示したものである。このスイッチ装置1は、ｎ個のインタフェースカード2_0−2_nと、これらのカード2_0−2_nにポートP0−Pnを介して接続された共通のスイッチカード4とで構成されている。【０００３】
インタフェースカード2_0−2_nにフレームFRが入力された時、これらのカード2_0−2_n内の宛先情報付加／削除部3_0−3_nは、それぞれ、フレームFR中に設定された宛先アドレス(図示せず)を用いてデータベースDBを検索し、フレーム転送先のカード情報及びポート情報(以下、宛先情報)を取得すると共に、この宛先情報をフレームFRに付加した入力信号INをスイッチカード4のポートP0−Pnに与える。【０００４】
スイッチカード4内のスイッチ回路5は、各ポートP0−Pnを介して受信した入力信号INをセグメント(宛先情報を含む。)SGに分割して共有バッファB500に保持する。この時、スイッチ回路5は、共有バッファB500の保持アドレスを宛先であるポート(以下、出力ポート)毎に設けられて管理される後述のFIFOに格納する。共有バッファB500からの読出に際しては、スイッチ回路5が、各出力ポート毎にFIFOからアドレスを取得する。この時、スイッチ回路5は、取得したアドレスで共有バッファB500からセグメントSGを読み出して復元し、入力信号INと同一形式の出力信号OUTとして宛先インタフェースカードへ転送する。【０００５】
これを受けたインタフェースカード2_0−2_n内の宛先情報付加／削除部3_0−3_nは、それぞれ、出力信号OUTに付加されている宛先情報を削除した元のフレームFRを後段に送出する。【０００６】
このようなスイッチ装置1におけるスイッチカード4の従来の具体的な構成と動作を、図7−9を参照して以下に説明する。【０００７】
従来例：図7−9
図7は、共有バッファB500と共にスイッチカード4を構成するスイッチ回路5の従来例を示したものである。但し、説明を分かり易くするため、スイッチ回路5の外部に設けられた共有バッファ500についても同図中に点線で示している。【０００８】
このスイッチ回路5は、図示の例のように、各々のデータ幅が32ビットである48個の入力ポートPI00−PI47(以下、符号PIで総称することがある。)でそれぞれ受信した入力信号IN00−IN47を、クロック変換用FIFOA100−A147にそれぞれ格納する入力部10と、これらのFIFO A100−A147から入力信号IN00−IN47中のデータを32個分ずつ直列に接続したセグメントSG00−SG47に分割して読み出すと共にこれらのセグメントSG00−SG47を共有バッファB500に書き込み、各々のデータ幅が32ビットである48個の出力ポートPO00−PO47(以下、符号POで総称することがある。)毎に読み出すことによりスイッチ処理を行なう共有バッファ処理部20と、共有バッファB500に対する書込アドレスWA及び読出アドレスRAを管理し、これらのアドレスWA及びRAを共有バッファ処理部20に与える共有バッファアドレス管理部30と、共有バッファ処理部20によりスイッチ処理されたセグメントSGをクロック変換用FIFOD100−D147にそれぞれ一旦格納してから読み出すことにより復元し、出力信号OUT00−OUT47として出力ポートPO00−PO47を介して送出する出力部40とで構成されている。【０００９】
共有バッファへの書込動作例：図7及び8
共有バッファB500への書込動作において、まず入力部10が、入力ポートPI00−PI47を介して書込イネーブルWEと共に受信した入力信号IN00−IN47を、クロック変換用FIFOA100−A147にそれぞれ書き込む。この時、書込を行ったクロック変換用FIFO A100−A147は、それぞれに接続されて共有バッファ処理部20を構成する読出アドレス生成部B100−B147に、書込完了パルスWPを与える。【００１０】
読出アドレス生成部B100−B147は、上記の書込完了パルスWPを受け且つ書込用タイムスロット生成部B400により発生された共有バッファ書込用タイムスロットTS_Wを受けた時、クロック変換用FIFOA100−A147に読出アドレスRA_Fを与えることによりセグメントSG00−SG47を読み出してS/P変換回路B200−B247に与える。【００１１】
ここで、上記のタイムスロットTS_Wは、図8に示すように“0”,…,“47”が循環して設定されるものである。この例では、読出アドレス生成部B100−B147がそれぞれタイムスロットTS_W＝“0”,…,“47”の受信をトリガとして読出アドレスRA_Fを生成するようにしているため、クロック変換用FIFOA100−A147からは、図示の如くそれぞれタイムスロットTS_Wが“1”,…,“47”,“0”を示す時点から32個のタイムスロットに渡ってセグメントSG00−SG47が読み出され、各々の位相が互いに１タイムスロットずつずれた状態となる。【００１２】
S/P変換回路B200−B247は、これらのセグメントSG00−SG47中の32個のデータD0−D31(各32ビット)を1024ビットに直並列変換してマルチプレクサB300に与える。【００１３】
マルチプレクサB300は、タイムスロットTS_Wに応じてS/P変換回路B200−B247からそれぞれ入力されるセグメントSG00−SG47のいずれかを選択して共有バッファB500に与える。この例では、マルチプレクサB300が、S/P変換回路B200−B247における直並列変換の完了タイミング(タイムスロットTS_W＝“33”,…,“47”,“0”,…,“32”)に合わせて、セグメントSG00−SG47を順次選択するようにしている。【００１４】
また同時に、マルチプレクサB300は、共有バッファアドレス管理部30を構成する共有バッファ書込アドレスFIFOC400に共有バッファ書込アドレス送出要求RQを与えると共に、セグメントSGに設定された宛先情報DIを抽出して読出アドレス管理部C500に与える。【００１５】
ここで、書込アドレスFIFO C400には共有バッファB500の書込用空きアドレスが格納されており、書込アドレスFIFOC400は、アドレス送出要求RQを受ける度毎に、これらの空きアドレスを書込アドレスWAとして順次発生して共有バッファB500に与える。これにより、図8に点線(1)で示す如く共有バッファB500中のアドレスWAにセグメントSGが書き込まれる。【００１６】
また、共有バッファ書込アドレスFIFO C400から出力された書込アドレスWAは、宛先情報DIと同位相で読出アドレス管理部C500にも与えられ、読出アドレス管理部C500は、この書込アドレスWAを宛先情報DIに応じて、各出力ポートPO00−PO47に対応して設けられた共有バッファ読出アドレスFIFOC100−C147のいずれかに格納する。【００１７】
共有バッファからの読出動作例：図7及び9
一方、共有バッファB500からの読出動作においては、まず読出用タイムスロット生成部C200から共有バッファ読出用タイムスロットTS_Rを受けた読出アドレスセレクタC300が、タイムスロットTS_Rに応じて共有バッファ読出アドレスFIFOC100−C147のいずれかから読出アドレスRAを取得して共有バッファB500に与える。また同時に、読出アドレスセレクタC300は、所得した読出アドレスRAを共有バッファ書込アドレスFIFOC400に格納する。これにより、この読出アドレスRAが、共有バッファB500における次回以降の書込用空きアドレスとして使用されることになる。【００１８】
ここで、上記のタイムスロットTS_Rは、図9に示すように“0”,…,“47”が循環して設定されるものである。この例では、読出アドレスセレクタC300が、タイムスロットTS_R＝“1”,…,“47”,“0”をそれぞれ読出アドレスFIFOC100−C147に対するアドレスRAの取得トリガとし、読出アドレスFIFO C100−C147からアドレスRAを順次取得して共有バッファB500に与えるようにしている。これにより、共有バッファB500中の読出アドレスRAから、各出力ポートPO00−PO47に対応するセグメントSGが順次読み出されてデマルチプレクサB600に与えられる。【００１９】
デマルチプレクサB600は、タイムスロットTS_Rが“2”を示す時に、P/S変換回路B700を選択してセグメントSGを与え、タイムスロットTS_Rが“3”を示す時に、P/S変換回路B701を選択してセグメントSGを与え、…、タイムスロットTS_Rが“0”を示す時に、P/S変換回路B746を選択してセグメントSGを与え、タイムスロットTS_Rが“1”を示す時に、P/S変換回路B747を選択してセグメントSGを与えるというように、タイムスロットTS_Rに応じてセグメントSGの出力先を選択する。【００２０】
P/S変換回路B700−B747は、図9に点線(2)で示す如く、セグメントSG(1024ビット)を32個のデータD0−D31(各32ビット)に並直列変換してクロック変換用FIFOD100−D147に与える。これにより、各出力ポートPO00−PO47を介して各出力信号OUT00−OUT47が送出されることとなる。【００２１】
このようにして、スイッチ回路5は、入力ポートPIから入力された入力信号INを所望の出力ポートPOにスイッチ処理させることが可能となる。【００２２】
なお、参考例として、以下の(1)及び(2)に示すものがある。【００２３】
参考例(1)
直並列変換した入力データをメモリに対してシーケンシャルに書き込んだ後、該メモリからランダムにデータを読み出して並直列変換することにより該入力信号のチャネル入替を行なう時分割スイッチ回路(例えば、特許文献1参照。)。【００２４】
参考例(2)
データ信号の1ビットの期間を分割したｎチャネルの信号の順序をメモリを用いて変更するタイムスロット入替回路(例えば、特許文献2参照。)
【特許文献１】特開平04-130896号公報
【特許文献２】特開平03-201734号公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
図7−9に示した従来例では、直並列変換回路及び並直列変換回路の両者を用いてスイッチ処理を行なっているが、これらの回路には変換ビット幅に応じてその数が増加するフリップフロップ回路が含まれるため、スイッチ装置の規模が増大してしまうという課題があった。【００２６】
すなわち、図7に示した例では、S/P変換回路B200−B247がそれぞれ32ビットから1024ビットへの直並列変換を行っているが、この時にS/P変換回路B200−B247がそれぞれ必要とするフリップフロップ回路数は図10に示す如く1024個であり、同様に、P/S変換回路B700−B747が1024ビットから32ビットへの並直列変換を行う際にそれぞれ必要とするフリップフロップ回路数も1024個であり、合計で98304個{(1024個×48)×2}のフリップフロップ回路が必要となる。【００２７】
従って、本発明では、共有バッファを用いたスイッチ装置において、その装置規模の増大を抑えることが可能なデータスイッチ方法及び回路を提供することを目的とする。
【課題を解決するための手段】
【００２８】
上記の目的を達成するため、本発明の一態様に係るデータスイッチ方法(又は回路)は、複数の入力ポートに位相がずらされた形で入力した、各セグメントにおける所定の数分だけ直列に接続された所定長データの各々を、該所定の数分だけ並列に設けた共有バッファ中の各セグメントに対応した同一のアドレスに順番に書き込む第１ステップ(又は手段)と、該書込が行われる度毎に、該アドレスを該セグメントに設定された出力ポート毎に記憶する第２ステップ(又は手段)と、該記憶されたアドレスを該出力ポート毎に順次参照して各共有バッファ中の該参照したアドレスから各所定長データを該順番に対応して読み出す第３ステップ(又は手段)と、該読み出された各所定長データを直列に接続して該出力ポートに対して出力する第４ステップ(又は手段)とを備えたことを特徴とする。【００２９】
このように、本発明では、セグメントに対する直並列変換及び並直列変換のいずれも行なわずにスイッチ処理を行なうことが可能である。【００３０】
[2]また、上記[1]において、該第１ステップ(又は手段)が、各入力ポート毎に各セグメントを該所定の数分の所定長データに並列分離するステップ(又は手段)と、該並列分離された各入力ポートの所定長データを多重化して各共有バッファに与えるステップ(又は手段)と、各入力ポートのいずれかに該セグメントが入力される度毎に、各共有バッファに共通の書込用空きアドレスを発生するステップ(又は手段)と、各書込用空きアドレスを、該多重化された各所定長データの位相に合わせて各共有バッファに与えるステップ(又は手段)とを含み、以て各共有バッファ中の同一アドレスに各セグメントにおける各所定長データを書込可能にしても良い。【００３１】
[3]また、上記[1]において、該第３ステップ(又は手段)が、各出力ポート毎に参照したアドレスの位相を該順番に対応してずらして各共有バッファに与えることにより、各所定長データをその位相が該順番に対応してずれた状態で読み出すステップ(又は手段)と、各共有バッファ毎に該読み出された所定長データを該出力ポートに応じて分離するステップ(又は手段)とを含み、該第４ステップが、該分離された各共有バッファの所定長データを多重化して各出力ポートに与えるステップ(又は手段)を含むようにしても良い。【００３２】
上記[2]及び[3]のように、共有バッファの書込側及び読出側を共に簡易な構成とすることができる。【００３３】
[4]また、上記[1]において、該第３ステップ(又は手段)が、各出力ポート毎に参照したアドレスの位相を、各共有バッファを該出力ポートのデータ幅に基づき区分けしたグループ同士間で該順番に対応してずらして各共有バッファに与えることにより、各所定長データをその位相が該グループ同士間で該順番に対応してずれた状態で並列に読み出すステップ(又は手段)と、各グループ毎に該読み出された並列所定長データを該出力ポートに応じて分離するステップ(又は手段)とを含み、該第４ステップ(又は手段)が、該分離された各グループの並列所定長データを多重化して各出力ポートに与えるステップ(又は手段)を含むようにしても良い。【００３４】
すなわち、この場合、出力ポートの種々のデータ幅に対応してスイッチ処理を行なうことが可能である。
【発明の効果】
【００３５】
本発明によれば、直並列変換回路及び並直列変換回路に含まれるフリップフロップ回路を削減してスイッチ装置規模の増大を抑えることができ、以てスイッチ装置の小型化及び消費電力の削減を図ることができる。
【発明を実施するための最良の形態】
【００３６】
本発明に係るデータスイッチ方法及びこれを使用する回路の実施例[1]及び[2]を、図1−5を参照して以下に説明する。【００３７】
実施例[1]：図1−3
構成例：図1
図1に示す本発明の実施例[1]に係るスイッチ回路5では、セグメントSG中の32ビットのデータの直列接続数(32)に合わせて32個の共有バッファB500−B531が並列に設けられ、セグメントSG00−SG47を書込用タイムスロットTS_Wに応じて共有バッファ単位に多重化して各共有バッファB500−B531に与えるマルチプレクサB900−B931と、共有バッファ書込アドレスFIFOC400から出力された書込アドレスWAの位相を、マルチプレクサB900−B931から出力された各データの位相に合わせてシフトして各共有バッファB500−B531に与える位相シフト部B1001−B1031と、読出アドレスセレクタC300から出力された読出アドレスRAの位相を、各位相シフト部B1001−B1031による書込アドレスWAの位相シフトの順番に対応してシフトして各共有バッファB500−B531に与える位相シフト部B1101−B1131と、各共有バッファB500−B531から読み出されたデータを読出用タイムスロットTS_Rに応じて出力ポート単位に多重化してクロック変換用FIFOD100−D147に与えるマルチプレクサB1300−B1347とを備えている点が図7に示した従来例と異なっている。【００３８】
動作例：図2及び3
次に、本実施例の動作を説明するが、まず共有バッファB500−B531への書込動作を、図2を参照して説明する。そして、共有バッファB500−B531からの読出動作を、図3を参照して説明する。【００３９】
共有バッファへの書込動作例：図2
図2に示すように、まず各入力ポートPI00−PI47を介して受信した入力信号IN00−IN47は、図8と同様、クロック変換用FIFOA100−A147と読出アドレス生成部B100−B147との相互動作により、各々の位相が互いに１タイムスロットずつずれたセグメントSG00−SG47の単位で共有バッファ処理部20に与えられる。【００４０】
セグメントSG00を例に取ると、共有バッファ処理部20内のマルチプレクサB900は、共有バッファ書込用タイムスロットTS_Wが“1”を示す時、クロック変換用FIFOA100からのデータD0を共有バッファB500に与える。マルチプレクサB901−B931は、タイムスロットTS_Wがそれぞれ“2”,…,“32”を示す時、クロック変換用FIFOA100からのデータD1−D31を選択して共有バッファB501−B531に与える。この時、セグメントSG00中の先頭のデータD0を受けたマルチプレクサB900は、入力ポートPI00−PI47のいずれかに対応するセグメントSGが新たに与えられたことを検知して共有バッファ書込アドレスFIFOC400に共有バッファ書込アドレス送出要求RQを与えると共に、このデータD0に設定された宛先情報DIを抽出して読出アドレス管理部C500に与える。【００４１】
書込アドレスFIFO C400から出力された書込アドレスWA＝“A0”は、まずデータD0と同一の位相(タイムスロットTS_W＝“2”)で共有バッファB500に与えられ、以てデータD0が共有バッファB500中のアドレス“A0”に最初に書き込まれる。位相シフト部B1001−1031は、書込アドレスWAの位相を次段のタイムスロットTS_W＝“3”,…,“33”に合わせて順次シフトしてデータD1−D31と同一の位相(タイムスロットTS_W＝“3”,…,“33”)で共有バッファB501−B531に与える。【００４２】
これにより、図2に点線(1)で示すように、各データD1−D31が各共有バッファB501−B531中のアドレス“A0”に順番に書き込まれる。【００４３】
セグメントSG01−SG47については、マルチプレクサB900−B931が、タイムスロットTS_Wがそれぞれ“2”,…,“33”を示す時にクロック変換用FIFOA101からのデータD0−D31を選択し、タイムスロットTS_Wがそれぞれ“3”,…,“34”を示す時にクロック変換用FIFO A102からのデータD0−D31を選択し、…、タイムスロットTS_Wがそれぞれ“0”,…,“31”を示す時にクロック変換FIFOA147からのデータD0−D31を選択するというように、タイムスロットTS_Wに応じてデータの選択を行なう。【００４４】
また、位相シフト部B1001−B1031は、書込アドレスFIFOC400から出力された書込アドレスWA＝“A0”−“A47”の位相を上記と同様にシフトする。これにより、各セグメントSG01−SG47中のデータD0−D31が、各共有バッファB500−B531中の各セグメントSG01−SG47に対応した同一のアドレス“A1”−“A47”に順番に書き込まれることとなる。【００４５】
共有バッファからの読出動作例：図3
図3に示すように、読出アドレスセレクタC300は、図9と同様、共有バッファ読出用タイムスロットTS_R＝“1”,…,“47”,“0”をそれぞれ共有バッファ読出アドレスFIFOC100−C147に対する共有バッファ読出アドレスRAの取得トリガとし、各読出アドレスFIFO C100−C147から読出アドレスRA＝“A0”−“A47”を順次取得して共有バッファB500に与える。この時、位相シフト部B1101−B1131は、読出アドレスRA＝“A0”−“A47”の位相をそれぞれ次段のタイムスロットTS_R＝{“2”,…,“32”}、{“3”,…,“33”}、…、及び{“1”,…,“31”}に合わせて順次シフトして共有バッファB501−B531に与える。【００４６】
これにより、各共有バッファ中のアドレス“A0”−“A47”から、各データD0−D31が上記の書込動作例で説明した書込順番に対応して１タイムスロットずつ位相がずれた状態で読み出される。【００４７】
図3に点線(2)で示す如く、各共有バッファB500−B531中のアドレス“A0”からデータD0−D31が読み出された場合を例に取ると、マルチプレクサB1300は、タイムスロットTS_Rがそれぞれ“1”,…,“32”を示す時、これらのデータD0−D31をクロック変換用FIFOD100に順次与える。これにより、入力信号INと同一形式の出力信号OUT00が出力ポートPO00を介して送出されることとなる。【００４８】
各共有バッファB500−B531中のアドレス“A1”−“A47”から読み出されたデータD0−D31については、マルチプレクサB1300−B1347が、タイムスロットTS_Rがそれぞれ“2”,…,“33”を示す時にクロック変換用FIFOD101にデータD0−D31を与え、タイムスロットTS_Rがそれぞれ“3”,…,“34”を示す時にクロック変換用FIFO D102にデータD0−D31を与え、…、タイムスロットTS_Rがそれぞれ“0”,…,“31”を示す時にクロック変換用FIFOD147にデータD0−D31を与えるというように、タイムスロットTS_Rに応じてデータの出力先を選択する。これにより、出力信号OUT01−OUT47がそれぞれ出力ポートPO01−PO47を介して送出されることとなる。【００４９】
このようにして、本実施例のスイッチ回路5では、直並列変換回路及び並直列変換回路を用いること無くスイッチ処理を行い、図7に示した従来例と比較して約98300個のフリップフロップ回路を削減できる。【００５０】
なお、位相シフト部B1001−B1031及びB1101−B1031がそれぞれ１個ずつ計数十個程度のフリップフロップ回路を含み得るが、このフリップフロップ回路数は直並列変換回路及び並直列変換回路に含まれる数に比べてはるかに小さいため、スイッチ回路5全体の実装面積及び消費電力にはほとんど影響を及ぼさない。また、32個の共有バッファB500−B531もそれぞれフリップフロップ回路を含み得るが、本実施例の共有バッファB500−B531の総容量は図1に示す如く1Mビット{(32ビット×1k)×32個}であり、図7に示した従来例の共有バッファB500の容量(1Mビット(1024ビット×1k))と同一であるため、スイッチ回路5中のフリップフロップ回路数は増加しない。【００５１】
実施例[2]：図4及び5
図4に示す本発明の実施例[2]に係るスイッチ回路5では、各々のデータ幅が128ビットである８個の出力ポートPO00−PO07が設けられ、これらの出力ポートPO00−PO07のデータ幅に合わせて共有バッファB500−B531が４個(32ビット×4)ずつ８つのグループGRP0−GRP7に区分けされている点が上記の実施例[1]と異なっている。【００５２】
また、共有バッファ処理部20は、グループGRP0−GRP7同士間で共有バッファ読出アドレスRAの位相を順番にシフトする位相シフト部B1101−B1107と、各グループGRP0−GRP7に対応させて設けたマルチプレクサB1300−B1307を備えている。【００５３】
また、共有バッファアドレス管理部30内の読出アドレス管理部C500が管理する読出アドレスFIFOの数を、出力ポート数(8)に対応させて８個(C100−C107)に変更している。【００５４】
なお、図を簡略化するため、図1に示した入力部10、共有バッファ処理部20内の読出アドレス生成部B100−B147、及び出力部40の記載を省略している。【００５５】
次に、本実施例の動作を説明するが、共有バッファB500−B531への書込動作については上記の実施例[1]と同様であるため、その説明は省略し、共有バッファB500−B531からの読出動作についてのみ図5を参照して以下に説明する。【００５６】
図5に示すように、読出アドレスセレクタC300は、“0”,…,“7”が循環して設定される共有バッファ読出用タイムスロットTS_Rがそれぞれ“1”,…,“7”,“0”を示す時、各共有バッファ読出アドレスFIFOC100−C107から読出アドレスRA＝“A0”−“A7”を取得し、共有バッファグループGRP0内の共有バッファB500−B531に同一の位相で与える。【００５７】
この時、位相シフト部B1101−B1107は、読出アドレスRA＝“A0”−“A7”の位相をそれぞれ次段のタイムスロットTS_R＝{“2”,…,“7”,“0”}、{“3”,…,“7”,“0”,“1”}、…、及び{“1”,…,“7”}に合わせて順次シフトして共有バッファグループGRP1−GRP7に与える。【００５８】
これにより、各共有バッファ中のアドレス“A0”−“A7”から各データD0−D31が、図5に点線(2)で示す如く、共有バッファグループGRP0−GRP7同士間で上記の実施例[1]で説明した書込順番に応じて１タイムスロットずつ位相がずれた状態で並列に読み出される。【００５９】
各共有バッファB500−B531中のアドレス“A0”からデータD0−D31が読み出された場合を例に取ると、マルチプレクサB1300−B1307は、タイムスロットTS_Rがそれぞれ“1”,…,“7”,“0”を示す時、128ビットの並列データD0−D3、D4−D7、…、及びD28−D31をクロック変換FIFO D100に順次与える。これにより、ビット幅＝“128ビット”の出力信号OUT00が出力ポートPO00を介して送出されることとなる。【００６０】
各共有バッファB500−B531中のアドレス“A1”−“A47”から読み出されたデータD0−D31については、マルチプレクサB1300−B1307が、タイムスロットTS_Rに応じて並列データD0−D3、D4−7、…、及びD28−D31の出力先としてクロック変換FIFOD 100−D107のいずれかを選択する。これにより、ビット幅＝“128ビット”の出力信号OUT01−OUT47がそれぞれ出力ポートPO01−PO47を介して送出されることとなる。【００６１】
なお、上記実施例によって本発明は限定されるものではなく、特許請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
【図面の簡単な説明】
【００６２】
【図１】本発明に係るデータスイッチ方法及び回路の実施例[1]の構成例を示したブロック図である。
【図２】本発明に係るデータスイッチ方法及び回路の実施例[1]の共有バッファへの書込動作例を示したタイムチャート図である。
【図３】本発明に係るデータスイッチ方法及び回路の実施例[1]の共有バッファからの読出動作例を示したタイムチャート図である。
【図４】本発明に係るデータスイッチ方法及び回路の実施例[2]の構成例を示したブロック図である。
【図５】本発明に係るデータスイッチ方法及び回路の実施例[2]の共有バッファからの読出動作例を示したタイムチャート図である。
【図６】L2スイッチ装置の一般的な構成例を示したブロック図である。
【図７】従来のスイッチ回路の構成例を示したブロック図である。
【図８】従来のスイッチ回路の共有バッファへの書込動作例を示したタイムチャート図である。
【図９】従来のスイッチ回路の共有バッファからの読出動作例を示したタイムチャート図である。
【図１０】直並列変換回路に含まれるフリップフロップ回路数を示したグラフ図である。
【符号の簡単な説明】
【００６３】
1  スイッチ装置
2, 2_0−2_n  インタフェースカード
3, 3_0−3_n  宛先情報付加／削除部
4  スイッチカード
5  スイッチ回路
10  入力部
20  共有バッファ処理部
30  共有バッファアドレス管理部
40  出力部
PI, PI00−PI47  入力ポート
PO, PO00−PO47  出力ポート
A100−A147,D100−D147  クロック変換用FIFO
B100−B147  読出アドレス生成部
B200−B247  S/P変換回路
B300, B900−B931,B1300−B1347  マルチプレクサ
B400  書込用タイムスロット生成部
B500−B531  共有バッファ
B600  デマルチプレクサ
B700−B747  P/S変換回路
B1001−B1031,B1101−B1131  位相シフト部
C100−C147  共有バッファ読出アドレスFIFO
C200  読出用タイムスロット生成部
C300  読出アドレスセレクタ
C400  共有バッファ書込アドレスFIFO
C500  読出アドレス管理部
DB  データベース
FR  フレーム
IN, IN00−IN47  入力信号
OUT, OUT00−OUT47  出力信号
SG, SG00−SG47  セグメント
WE  書込イネーブル
RA_F  読出アドレス
WP  書込完了パルス
TS_W  共有バッファ書込用タイムスロット
TS_R  共有バッファ読出用タイムスロット
RQ  共有バッファ書込アドレス送出要求
WA  共有バッファ書込アドレス
RA  共有バッファ読出アドレス
DI  宛先情報
GRP0−GRP7  共有バッファグループ
図中、同一符号は同一又は相当部分を示す。
【図１】
2008099472.tif 000003
【図２】
2008099472.tif 000004
【図３】
2008099472.tif 000005
【図４】
2008099472.tif 000006
【図５】
2008099472.tif 000007
【図６】
2008099472.tif 000008
【図７】
2008099472.tif 000009
【図８】
2008099472.tif 000010
【図９】
2008099472.tif 000011
【図１０】
2008099472.tif 000012
【国際調査報告】
2008099472.tif 000013
2008099472.tif 000014
2008099472.tif 000015
2008099472.tif 000016