(57)【特許請求の範囲】
【請求項１】
ＧＦＰフレームをＳＯＮＥＴフレームにマッピングする際に用いられるバッファ制御回路であって、
入力ポートごとに設けられ、ＧＦＰフレームにおける遅延揺らぎを吸収する揺らぎ吸収バッファと、
前記入力ポートごとに設けられ、前記揺らぎ吸収バッファから読み出したＧＦＰフレームをＳＯＮＥＴフレームにマッピングするまで一時蓄積する一時蓄積バッファと、
前記各一時蓄積バッファからＧＦＰフレームを読み出して多重処理を行う一時バッファ読出制御部と、
前記一時蓄積バッファごとに当該一時蓄積バッファ内に蓄積されたＧＦＰフレームのデータ量を監視し、該データ量が所定の値より小さくなったときには対応する前記揺らぎ吸収バッファからのＧＦＰフレームの読出要求を行い、該データ量が所定の値より大きくなったときには該読出要求を停止する一時バッファ容量監視部と、
を有し、
前記一時バッファ読出制御部は、次のＧＦＰフレームを読み出そうとする際に、対応する前記一時バッファ容量監視部に対し、ＧＦＰフレームのサイズに関する情報であるＧＦＰフレーム情報を要求し、前記一時バッファ容量監視部から通知されたＧＦＰフレーム情報に基づいて前記一時蓄積バッファからＧＦＰフレームを読み出す、バッファ制御回路。
【請求項２】
前記揺らぎ吸収バッファから読み出されたＧＦＰフレームを対応する前記一時蓄積バッファに書き込むとともに、書き込んだＧＦＰフレームのＧＦＰフレーム情報を前記一時バッファ容量監視部に通知する一時バッファ書込制御部を有し、
前記一時バッファ容量監視部は、前記一時バッファ書込制御部から通知されたＧＦＰフレーム情報を保持するとともに、前記一時バッファ書込制御部から通知されたＧＦＰフレーム情報と前記一時バッファ読込制御部に通知したＧＦＰフレーム情報とに基づいて前記一時蓄積バッファ内のデータ量を監視する、請求項１に記載のバッファ制御回路。
【請求項３】
前記揺らぎ吸収バッファごとに当該揺らぎ吸収バッファ内にＧＦＰフレームが存在するかどうかを監視するバッファ容量監視部をさらに有する請求項１または２に記載のバッファ制御回路。
【請求項４】
前記一時バッファ容量監視部からＧＦＰフレームの読出要求があったときに前記バッファ容量監視部に対して前記揺らぎ吸収バッファからのＧＦＰフレームの読出しが可能かどうかを問合せ、読出しが可能である場合に、前記揺らぎ吸収バッファに対してＧＦＰフレームの出力を指示し、前記一時バッファ容量監視部に読出通知を送信するバッファ読出制御部を有する、請求項３に記載のバッファ制御回路。
【請求項５】
前記入力ポートに入力したＧＦＰフレームを対応する前記揺らぎ吸収バッファに書込み、前記揺らぎ吸収バッファへの書込みが終了するごとに前記バッファ容量監視部に書込通知を送信するバッファ書込制御部をさらに有し、
前記バッファ容量監視部は、カウンタを有し、前記書込通知を受信するたびに前記カウンタをインクリメントし、前記読出通知を受信するたびに前記カウンタをデクリメントすることによって前記揺らぎ吸収バッファ内のＧＦＰフレームの有無を監視する、請求項４に記載のバッファ制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バッファ制御回路に関し、特に、ＧＦＰ(Generic Framing Procedure)フレームをＳＯＮＥＴ(Synchronous Optical Network)フレームにマッピングする形態におけるバッファ制御回路に関する。
【０００２】
【従来の技術】
従来より、電気通信の分野においては、遠距離大容量の伝送を行うために、各種の同期デジタルハイアラーキが使用されており、特に、ＳＯＮＥＴが広く使用されている。近年、遠隔地にある複数のＬＡＮ（ローカルエリアネットワーク）を１つのＬＡＮとして運用するようなネットワーク形態が注目を浴びており、ＬＡＮでは一般的なイーサネット(Ethernet)(R)などを、ＳＯＮＥＴに結合することが求められるようになってきた。ＳＯＮＥＴとイーサネットとでは同期ネットワークであるか非同期ネットワークであるかの違いもあるし、フレーム構成も異なっているから、イーサネットフレームをそのままＳＯＮＥＴに乗せることはできない。そこで、ＧＦＰ方式として、イーサネットフレームなどをＧＦＰフレームにエンキャプシュレーションし、ＧＦＰフレームをＳＯＮＥＴフレームのペイロードにマッピングすることが提案されている。
【０００３】
ＧＦＰフレームをＳＯＮＥＴフレームにマッピングする場合、従来は、図３に示すような構成が考えられている。ここではポートの数がｎであるとして、バッファ制御回路３０１は、ポートごとに設けられたＧＦＰ処理部３０２−１〜３０２−ｎと、ＧＦＰ処理部３０２−１〜３０２−ｎごとに設けられＧＦＰフレームの遅延揺らぎを吸収する揺らぎ吸収バッファ３０６−１〜３０６−ｎと、揺らぎ吸収バッファ３０６−１〜３０６−ｎからＧＦＰフレームを読み出して出力３１４とするバッファ読出制御部３１３とを備えている。以下の説明において、符号に「−ｉ］のように付された整数ｉは、その符号がｉ番目のポートに対応するものであることを示している。
【０００４】
各ＧＦＰ処理部３０２−１〜３０２−ｎには、それぞれ、バッファ書込制御部３０４−１〜３０４−ｎと容量監視部３１０−１〜３１０−ｎが設けられている。バッファ書込制御部３０４−１〜３０４−ｎは、ＧＦＰフレーム３０３−１〜３０３−ｎを受信して揺らぎ吸収バッファ３０６−１〜３０６−ｎへの書込みを行い、ＧＦＰフレームの書込みが終了するごとに容量監視部３１０−１〜３１０−ｎにＧＦＰフレーム情報３０９−１〜３０９−ｎを送出する。ここでＧＦＰフレーム情報３０９−１〜３０９−ｎには、揺らぎ吸収バッファ３０６−１〜３０６−ｎに書き込まれたＧＦＰフレームのサイズに関する情報（バイト数、メモリワード数など）が含まれている。容量監視部３１０−１〜３１０−ｎは、バッファ書込制御部３０４−１〜３０４−ｎからＧＦＰフレーム情報３０９−１〜３０９−ｎを受信して内部に保持し、バッファ読出制御部３１３からのＧＦＰフレーム情報要求３１１−１〜３１１−ｎにしたがって、揺らぎ吸収バッファ３０６−１〜３０６−ｎに蓄積されている次のＧＦＰフレームに関するＧＦＰフレーム情報である次ＧＦＰフレーム情報３１２−１〜３１２−ｎを送出する。ただし、容量監視部３１０−１〜３１０−ｎは、バッファ読出制御部３１３からＧＦＰフレーム情報要求３１１−１〜３１１−ｎが送られてきても、内部に保持しているＧＦＰフレーム情報がない場合は、次ＧＦＰフレーム情報３１２−１〜３１２−ｎは送出しない。
【０００５】
バッファ読出制御部３１３は、ＳＯＮＥＴフレーム上のレート（速度）にしたがって、ポートごとに配備されている揺らぎ吸収バッファ３０６−１〜３０６−ｎに対して読出し指示３０７−１〜３０７−ｎを送り、これら揺らぎ吸収バッファ３０６−１〜３０６−ｎからＧＦＰフレーム３０８−１〜３０８−ｎを読み出す処理を行う。なお、ＳＯＮＥＴフレーム上の速度はチャネル（ＣＨ）ごとに定義されているが、イーサネットポートの出力可能な速度は、ＳＯＮＥＴ上の各チャネルへのイーサネットポートの割り当て形態による。また、バッファ読出制御部３１３は、ポートごとの次ＧＦＰフレーム情報３１２−１〜３１２−ｎに基づいて読み出すＧＦＰフレームのサイズを管理してＧＦＰフレームを最後まで読み出すと、次のＧＦＰフレーム情報を要求するためのＧＦＰフレーム情報要求３１１−１〜３１１−ｎを容量監視部３１０−１〜３１０−ｎに送出する。バッファ読出制御部３１３は、揺らぎ吸収バッファ３０６−１〜３０６−ｎからＳＯＮＥＴフレーム上へのマッピング形態を意識した読み出し（チャネル多重形態）を行うが、ある一つのチャネルに着目した場合には、ＧＦＰフレーム多重形態となっている。
【０００６】
【発明が解決しようとする課題】
しかしながら上述したようなバッファ制御回路では、収容ポート数の拡張が容易にできないという問題点がある。この従来のバッファ制御回路では、ポート単位に配備されているメモリが揺らぎ吸収バッファのみであるため、ポート単位の処理ブロックとポート多重を行う処理ブロックとの間において、信号線として、主信号と揺らぎ吸収バッファ関連信号（メモリ読出要求、読出アドレス等）が必要であり、ブロック間信号本数が非常に多くなる。そのため、このバッファ制御回路を半導体集積回路によって構成する場合に複数のチップへの分割が困難になり、収容ポート数の拡張が難しくなっている。
【０００７】
また、上述した従来のバッファ制御回路は、メモリ管理が複雑になる、という問題点も有する。ポートごとに配備される揺らぎ吸収バッファとしては記憶容量が大きいことが要求されるので、揺らぎ吸収バッファとしてＬＳＩ（大規模集積回路）の外部メモリを使用することが考えられる。しかしながら、収容ポート数の拡張等を考慮した場合には、ポート単位の処理ブロックとポート多重ブロックに分割することが考えられるが、このような構成を採用したときには、各ポートの読み出しレートに関する情報や各ポートに割り当てられた外部メモリのリードポインタやライトポインタの管理がポート単位の処理ブロックとポート多重ブロックに分散してしまうため、管理が困難になる。
【０００８】
そこで本発明の目的は、ＧＦＰフレームをＳＯＮＥＴフレームにマッピングする際に用いられるバッファ制御回路であって、収容ポート数の拡張が容易にできるとともに、メモリ管理が容易にできるバッファ制御回路を提供することにある。
【０００９】
【課題を解決するための手段】
本発明のバッファ制御回路は、ＧＦＰフレームをＳＯＮＥＴフレームにマッピングする際に用いられるバッファ制御回路であって、入力ポートごとに設けられ、ＧＦＰフレームにおける遅延揺らぎを吸収する揺らぎ吸収バッファと、入力ポートごとに設けられ、揺らぎ吸収バッファから読み出したＧＦＰフレームをＳＯＮＥＴフレームにマッピングするまで一時蓄積する一時蓄積バッファと、各一時蓄積バッファからＧＦＰフレームを読み出して多重処理を行う一時バッファ読出制御部と、一時蓄積バッファごとにその一時蓄積バッファ内に蓄積されたＧＦＰフレームのデータ量を監視し、データ量が所定の値より小さくなったときには対応する揺らぎ吸収バッファからのＧＦＰフレームの読出要求を行い、データ量が所定の値より大きくなったときには読出要求を停止する一時バッファ容量監視部と、を有し、一時バッファ読出制御部は、次のＧＦＰフレームを読み出そうとする際に、対応する一時バッファ容量監視部に対し、ＧＦＰフレームのサイズに関する情報であるＧＦＰフレーム情報を要求し、一時バッファ容量監視部から通知されたＧＦＰフレーム情報に基づいて一時蓄積バッファからＧＦＰフレームを読み出す。
【００１０】
【発明の実施の形態】
次に、本発明の好ましい実施の形態について、図面を参照して説明する。図１は本発明の実施の一形態のバッファ制御回路の構成を示すブロック図である。ここでは収容ポート数がｎであるとする。
【００１１】
このバッファ制御回路は、大別すると、ポートごとに設けられるＧＦＰ処理部１０１−１〜１０１−ｎと、ポート多重部２０１とからなる。ＧＦＰ処理部１０１−１〜１０１−ｎは、対応する１ポート分のＧＦＰフレームを処理するブロックであり、ポート多重部２０１は、これらＧＦＰ処理部１０１−１〜１０１−ｎでそれぞれ処理されたＧＦＰフレームの多重処理を行うものである。ＧＦＰ処理部１０１−１〜１０１−ｎは、それぞれバッファ書込制御部１０３−３〜１０３−ｎと、揺らぎ吸収バッファ１０６−１〜１０６−ｎと、バッファ容量監視部１０７−１〜１０７−ｎと、バッファ読出制御部１１０−１〜１１０−ｎとを備えている。ポート多重部２０１は、各ポートごとに対応して設けられた一時バッファ書込制御部２０２−１〜２０２−ｎ、一時蓄積バッファ２０４−１〜２０４−ｎ及び一時バッファ容量監視部２０８−１〜２０８−ｎと、各一時蓄積バッファ２０４−１〜２０４−ｎからＧＦＰフレームを読み出す一時バッファ読出制御部２０７とからなっている。
【００１２】
バッファ書込制御部１０３−１〜１０３−ｎは、ポートごとに入力するＧＦＰフレーム１０２−１〜１０２−ｎを揺らぎ吸収バッファ１０６−６〜１０６−ｎに書込み、バッファ容量監視部１０７−１〜１０７−ｎにＧＦＰフレーム書込通知１０５−１〜１０５−ｎを送出する。揺らぎ吸収バッファ１０６−１〜１０６−ｎは、受信したＧＦＰフレーム１０４−１〜１０４−ｎの遅延揺らぎを吸収するためのバッファである。遅延揺らぎを吸収するためには大容量のバッファが必要となるため、揺らぎ吸収バッファ１０６−１〜１０６−ｎは、例えば外部メモリによって構成することが好ましい。ここで外部メモリとは、バッファ書込制御部やバッファ容量監視部などとは同一のＬＳＩチップ内には設けられず、独立したメモリチップとして設けられるメモリのことである。
【００１３】
バッファ容量監視部１０７−１〜１０７−ｎは、対応する揺らぎ吸収バッファ１０６−１〜１０６−ｎに読み出し可能なＧＦＰフレームが存在するかどうかを監視するものであって、バッファ書込制御部１０３−１〜１０３−ｎからＧＦＰフレーム書込通知１０５−１〜１０５−ｎを受信し、バッファ読出制御部１１０−１〜１１０−ｎからＧＦＰフレーム読出開始通知１０９−１〜１０９−ｎを受信して、揺らぎ吸収バッファ１０６−１〜１０６−ｎ中に読出可能なＧＦＰフレームが格納されているかを判断して、バッファ読出制御部１１０−１〜１１０−ｎにバッファ状態通知１０８−１〜１０８−ｎを通知する。
【００１４】
バッファ読出制御部１１０−１〜１１０−ｎは、ポート多重部２０１の一時バッファ容量監視部２０８−１〜２０８−ｎからＧＦＰフレームの読出要求１１２−１〜１１２−ｎを受信し、バッファ容量監視部１０７−１〜１０７−ｎからバッファ状態通知１０８−１〜１０８−ｎを受信して、揺らぎ吸収バッファ１０６−１〜１０６−ｎからＧＦＰフレームを読み出し、バッファ容量監視部１０７−１〜１０７−ｎにパケット読出通知１０９−１〜１０９−ｎを送出する。原則的には、ＧＦＰフレームの読出要求１１２−１〜１１２−ｎを受信した場合にバッファ読出制御部１１０−１〜１１０−ｎはＧＦＰフレームの読出しを行うが、ＧＦＰフレームの読出要求１１２−１〜１１２−ｎの受信中であってもバッファ状態通知１０８−１〜１０８−ｎが読出不可を通知している場合には、読出しを行わない。なお、読み出されたＧＦＰフレーム１１３−１〜１１３−ｎは、バッファ読出制御部１１０−１〜１１０−ｎを経由せずに一時バッファ書込制御部２０２−１〜２０２−ｎに直接入力するようになっている。
【００１５】
一時バッファ書込制御部２０２−１〜２０２−ｎは、揺らぎ吸収バッファ１０６−１〜１０６−ｎから読み出されたＧＦＰフレーム１１３−１〜１１３−ｎを受信してこれを一時蓄積バッファ２０４−１〜２０４−ｎに書込み、ＧＦＰフレームの書込みが終了するとごとに一時バッファ容量監視部２０８−１〜２０８−ｎに対してＧＦＰフレーム情報２０９−１〜２０９−ｎを送出する。ＧＦＰフレーム情報２０９−１〜２０９−ｎには、一時蓄積バッファ２０４−１〜２０４−ｎに書き込まれたＧＦＰフレームのサイズに関する情報（バイト数、メモリワード数など）が含まれている。
【００１６】
一時蓄積バッファ２０４−１〜２０４−ｎは、ＧＦＰフレームをＳＯＮＥＴフレームにマッピングされるまで一時蓄積しておくためのバッファである。このバッファ制御回路では、ＧＦＰフレームの遅延揺らぎの吸収は揺らぎ吸収バッファ１０６−１〜１０６−ｎにおいて行われるため、その後段に位置する一時蓄積バッファ２０４−１〜２０４−ｎは、揺らぎ吸収バッファに比べてかなり小容量のバッファで構成することが可能である。したがって、一時蓄積バッファ２０４−１〜２０４−ｎは、ポート多重部２０１などを構成するＬＳＩチップ内の内部メモリとして構成される。
【００１７】
一時バッファ容量監視部２０８−１〜２０８−ｎは、一時バッファ書込制御部２０２−１〜２０２−ｎからＧＦＰフレーム情報２０９−１〜２０９−ｎを受信して内部に保持し、一時バッファ読出制御部２０７からのＧＦＰフレーム情報要求２１０−１〜２１０−ｎにしたがって、一時蓄積バッファ２０４−１〜２０４−ｎに蓄積されている次のＧＦＰフレームに関する次ＧＦＰフレーム情報２１１−１〜２１１−ｎを送出する。ただし、一時バッファ容量監視部２０８−１〜２０８−ｎは、一時バッファ読出制御部２０７からＧＦＰフレーム情報要求２１０−１〜２１０−ｎがあっても、内部に保持しているＧＦＰフレーム情報がない場合には、次ＧＦＰフレーム情報２１１−１〜２１１−ｎを送出しない。また、一時バッファ容量監視部２０８−１〜２０８−ｎは、受信するＧＦＰフレーム情報２０９−１〜２０９−ｎと送信する次ＧＦＰフレーム情報２１１−１〜２１１−ｎとから一時蓄積バッファ２０４−１〜２０４−ｎに蓄積されているフレームのデータ量を監視し、データ量がある一定量より少なくなった場合にはバッファ読出制御部１１０−１〜１１０−ｎに対してＧＦＰフレームの読出要求１１２−１〜１１２−ｎを送信し、またある一定量以上にデータ量が多くなった場合には前述のＧＦＰフレームの読出要求１１２−１〜１１２−ｎを取り下げる。
【００１８】
一時バッファ読出制御部２０７は、ＳＯＮＥＴフレーム上のレート（速度）にしたがってポートごとに配備されている一時蓄積バッファ２０４−１〜２０４−ｎを読み出し、ＳＯＮＥＴフレームにマッピングされる出力２１２を生成する処理を行う。従来の技術で述べたように、ＳＯＮＥＴフレーム上の速度はチャネルごとに定義されるが、イーサネットポートの出力可能な速度はＳＯＮＥＴ上の各チャネルへのイーサネットポートの割り当て形態によっている。また、一時バッファ読出制御部２０７は、ポートごとの次ＧＦＰフレーム情報２１１−１〜２１１−ｎに基づいて読み出すＧＦＰフレームのサイズを管理し、ＧＦＰフレームを最後まで読み出すと次のＧＦＰフレーム情報を要求するための次ＧＦＰフレーム要求２１１−１〜２１１−ｎを一時バッファ容量監視部２０８−１〜２０８−ｎに送出する。
【００１９】
このバッファ制御回路において収容ポート数を拡張しようとする場合には、ポート単位の処理ブロック（揺らぎ吸収バッファ）とポート多重ブロック（一時蓄積バッファ）を別のＬＳＩチップに分割することが考えられるが、ここで述べた構成によれば、ポート単位の処理ブロックとポート多重ブロックとの間の信号は、主信号と制御信号（ＧＦＰフレームの読出要求：収容ポート数×１本）のみであって、ブロック間の信号線の数を少なく抑えられる。したがって、複数のＬＳＩチップへの分割が容易であり、ポート数の拡張が容易に可能である。また、外部メモリ（揺らぎ吸収バッファ）に対する処理については各ポート独立に読出要求があったときのみ連続的にＧＦＰフレームを読み出すだけであり、ＳＯＮＥＴフレームへのマッピングレートに合わせた読み出しはポート多重部２０１によって行われるため、各ポートの読み出しレートに関する情報や各ポートに割り当てられた内部メモリのリードポインタやライトポインタの管理をポート多重部２０１で集中して行える。その結果、このバッファ制御回路では、これらのポインタの管理のための処理が容易になる。
【００２０】
次に、このバッファ制御回路の動作を説明する。
【００２１】
ポートごとに外部から与えられるＧＦＰフレーム１０２−１〜１０２−ｎは、バッファ書込制御部１０７−１〜１０７−ｎに入力する。バッファ書込制御部１０７−１〜１０７−ｎは、受信したＧＦＰフレーム１０２−１〜１０２−ｎを揺らぎ吸収バッファ１０６−１〜１０６−ｎに書込み、ＧＦＰフレームの書込みが終了するごとに、バッファ容量監視部１０７−１〜１０７−ｎに対してＧＦＰフレーム書込通知１０５−１〜１０５−ｎを送出して、ＧＦＰフレームを書き込んだことを通知する。バッファ容量監視部１０７−１〜１０７−ｎは、対応する揺らぎ吸収バッファ１０６−１〜１０６−ｎに読み出し可能なＧＦＰフレームが存在するかどうかを監視するために内部にカウンタを有しており、このカウンタは、バッファ書込制御部１０３−１〜１０３−ｎからのＧＦＰフレーム書込通知１０５−１〜１０５−ｎの受信でカウントアップし、バッファ読出制御部１１０−１〜１１０−ｎからのＧＦＰフレーム読出開始１０９−１〜１０９−ｎの受信でカウントダウンを行う。そして、バッファ容量監視部１０７−１〜１０７−ｎは、カウント値が１以上であれば、バッファ読出制御部１０８−１〜１０８−ｎにバッファ状態通知１０８−１〜１０８−ｎを送って読出可能であることを通知し、このカウント値が０であれば読出不可であることを通知する。
【００２２】
バッファ読出制御部１１０−１〜１１０−ｎは、一時バッファ容量監視部２０８−１〜２０８−ｎからＧＦＰフレームの読出要求１１２−１〜１１２−ｎを受信して、揺らぎ吸収バッファ１０６−１〜１０６−ｎからのＧＦＰフレーム１３１−１〜１３１−ｎの読み出しを行う。この場合、バッファ読出制御部１１０−１〜１１０−ｎは、揺らぎ吸収バッファ１０６−１〜１０６−ｎに対しＧＦＰフレームの出力指示１１１−１〜１１１−ｎを通知することによって、ＧＦＰフレームの読出しが行われる。ただし、ＧＦＰフレームの読出要求１１２−１〜１１２−ｎを受信中であっても、バッファ容量監視部１０７−１〜１０７−ｎからのバッファ状態通知１０８−１〜１０８−ｎが読出不可であることを通知している場合には、読み出しは行わない。すなわち、出力指示１１１−１〜１１１−ｎの通知は行われない。揺らぎ吸収バッファ１０６−１〜１０６−ｎからＧＦＰフレームを読み出した場合、バッファ読出制御部１１０−１〜１１０−ｎは、バッファ容量監視部１０７−１〜１０７−ｎにＧＦＰフレーム読出通知１０９−１〜１０９−ｎを送出してＧＦＰフレームを読み出したことを通知する。
【００２３】
揺らぎ吸収バッファ１０６−１〜１０６−ｎから読み出されたＧＦＰフレーム１１３−１〜１１３−ｎは、一時バッファ書込制御部２０２−１〜２０２−ｎに直接入力する。一時バッファ書込制御部２０２−１〜２０２−ｎは、ＧＦＰフレーム１１３−１〜１１３−ｎを受信すると、このＧＦＰフレームを一時蓄積バッファ２０４−１〜２０４−ｎに書込むとともに、ＧＦＰフレームの書込みが終了するごとに、一時バッファ容量監視部２０８−１〜２０８−ｎに対してＧＦＰフレーム情報２０９−１〜２０９−ｎを送出する。
【００２４】
一時バッファ容量監視部２０８−１〜２０８−ｎは、一時バッファ書込制御部２０２−１〜２０２−ｎからＧＦＰフレーム情報２０９−１〜２０９−ｎを受信するとこれを内部に保持し、一時バッファ読出制御部２０７からのＧＦＰフレーム情報要求２１０−１〜２１０−ｎにしたがって、一時蓄積バッファ２０４−１〜２０４−ｎに蓄積されている次のＧＦＰフレームについての情報である次ＧＦＰフレーム情報２１１−１〜２１１−ｎを送出する。ただし、一時バッファ読出制御部２０７からＧＦＰフレーム情報要求２１０−１〜２１０−ｎを受け取った場合であってもＧＦＰフレーム情報を内部に保持していないときには、次ＧＦＰフレーム情報２１１−１〜２１１−ｎは送出しない。また、一時バッファ容量監視部２０８−１〜２０８−ｎは、受信するＧＦＰフレーム情報２０９−１〜２０９−ｎと送信する次ＧＦＰフレーム情報２１１−１〜２１１−ｎから一時蓄積バッファ２０４−１〜２０４−ｎに蓄積されているフレームのデータ量を常時監視し、ある一定量（しきい値）より少なくなった場合にはバッファ読出制御部１１０−１〜１１０−ｎに対してＧＦＰフレームの読出要求１１２−１〜１１２−ｎを送信し、ある一定量以上にデータ量が多くなった場合にはＧＦＰフレームの読出要求１１２−１〜１１２−ｎの送信を取りやめる。
【００２５】
一時バッファ読出制御部２０７は、ＳＯＮＥＴフレーム上のレートにしたがって、ポートごとに配備されている一時蓄積バッファ２０４−１〜２０４−ｎからＧＦＰフレームを読み出す処理を行う。具体的には、一時バッファ容量監視部２０８−１〜２０８−ｎから通知されたポートごとの次ＧＦＰフレーム情報２１１−１〜２１１−ｎに基づいて、読み出すべきＧＦＰフレームのサイズを管理し、そのＧＦＰフレームを最後まで読み出すと、次の次ＧＦＰフレーム情報を要求するために、ＧＦＰフレーム情報要求２１０−１〜２１０−ｎを一時バッファ容量監視部２０８−１〜２０８−ｎに送出する。例えば、ポート１のみがＳＯＮＥＴフレーム上のＣＨ（チャネル）１にマッピングされるのであれば、ＣＨ１の読み出しタイミングにおいては、一時バッファ読出制御部２０７は、常に一時蓄積バッファ２０４−１の読み出しを行っていればよい。しかし、ポート１とポート２がＳＯＮＥＴフレーム上のＣＨ１にマッピングされる場合、ＳＯＮＥＴフレーム上へのマッピング形態がＧＦＰフレーム多重なので、ＧＦＰフレーム単位で読み出す必要があり、あるＣＨ１の読み出しタイミングにおいてポート１を選択した場合、以降のＣＨ１の読み出しタイミングにおいてはそのＧＦＰフレームの最後を読み出すまでポート１を選択し続ける必要がある。ＧＦＰフレームの最後を読み出した場合、次のＣＨ１の読み出しタイミングにおいてポート１またはポート２のどちらのポートを選択するかの処理が必要になるために、ＧＦＰフレーム読出側ではＧＦＰフレーム長を意識した読み出し処理が必要となる。そこで、一時蓄積バッファ読出制御部２−７は、一時蓄積バッファ２０４−１〜２０４−ｎからＳＯＮＥＴフレーム上へのマッピング形態を意識したＧＦＰフレームの読み出し（ＣＨ多重形態）を行う。なお、ある一つのチャネルに着目した場合には、ＧＦＰフレーム多重形態となっている。
【００２６】
以上の動作におけるＧＦＰフレームの動きと各バッファでのフレームデータの蓄積量とを示したものが図２である。図２において、ハッチングなどが付された部分は、対応するバッファでのデータ蓄積量を表わしている。
【００２７】
ポート１〜ポートｎのそれぞれから入力したＧＦＰフレーム１０２−１〜１０２−ｎは、それぞれ揺らぎ吸収バッファ１０５−１〜１０５−ｎに書き込まれる。揺らぎ吸収バッファ１０５−１〜１０５−ｎからの読み出しは、一時蓄積バッファ２０４−１〜２０４−ｎに蓄積されたＧＦＰフレームのデータ量によって制御される。一時蓄積バッファに設定されたしきい値２１３−１〜２１３−ｎ以上にデータが蓄積されていれば、揺らぎ吸収バッファ１０５−１〜１０５−ｎからの読み出しは行わず、データ蓄積量がしきい値２１３−１〜２１３−ｎ未満であれば揺らぎ吸収バッファ１０５−１〜１０５−ｎからのＧＦＰフレームの読み出しが行われ、読み出されＧＦＰフレームは一時蓄積バッファ４０３−１〜４０３−ｎに書き込まれる。図２に示した例では、揺らぎ吸収バッファ１０５−１については、対応する一時蓄積バッファ２０４−１にしきい値２１３−１以上にデータが蓄積されているため、読出停止状態であるが、揺らぎ吸収バッファ１０５−２は、対応する一時蓄積バッファ２０４−２のデータ蓄積量がしきい値２１３−２未満であるので、読出状態である。なお、当然のことながら、しきい値にヒステリシスを設け、読出状態から読出停止状態にするときのしきい値よりも読出停止状態から読出状態にするときのしきい値を小さくするようにしてもよい。
【００２８】
そして、一時バッファ読出制御部２０７は、一時蓄積バッファ２０４−１〜２０４−ｎからＳＯＮＥＴ上に割り当てられた各ポートのレートに合わせてＧＦＰフレーム読み出していき、一時バッファ読出制御部２０７からは各ポートのデータが多重されて送出される。ＳＯＮＥＴフレーム形態を意識した読み出しが行われているため、送出データ２１２は、複数のチャネルのデータがバイト単位で多重されている形態となっているが、ある一つのチャネルに着目すると、パケット多重形態のデータとなっている。
【００２９】
【発明の効果】
以上説明したように本発明は、収容ポート数の拡張が容易にできるという効果がある。本発明では、ポート単位の処理ブロック（揺らぎ吸収バッファ）とポート多重部（一時蓄積バッファ）とを分割し、ポート単位の処理ブロックとポート多重部との間の信号を主信号と制御信号（ＧＦＰフレームの読出要求：収容ポート数×１本）のみとしたことにより、これらのブロック間の信号線の本数を少なく抑えられるため、ＬＳＩ構成としたときのＬＳＩチップの分割が容易となり、収容ポート数の拡張に容易に対応することができる。
【００３０】
また、本発明は、メモリ管理が容易にできるという効果もある。本発明において、典型的には外部メモリとして設けられる揺らぎ吸収バッファに対する処理については、各ポート独立に要求があったときのみ連続的にＧＦＰフレームを読み出すのみとし、その一方で、ＳＯＮＥＴフレームへのマッピングレートに合わせた読み出しは、ポート多重部内で通常はＬＳＩ内部メモリ回路として設けられる一時蓄積バッファに対して行うようにしたため、各ポートの読み出しレートに関する情報や各ポートに割り当てられた内部メモリのリードポインタやライトポインタの管理をポート多重部で集中して行えるようになっている。
【図面の簡単な説明】
【図１】本発明の実施の一形態のバッファ制御回路の構成を示すブロック図である。
【図２】図１のバッファ制御回路の動作を説明する図である。
【図３】従来のバッファ制御回路の構成を示すブロック図である。
【符号の説明】
１０１−１〜１０１−ｎ    ＧＦＰ処理部
１０３−１〜１０３−ｎ    バッファ書込制御部
１０６−１〜１０６−ｎ    揺らぎ吸収バッファ
１０７−１〜１０７−ｎ    バッファ容量監視部
１１０−１〜１１０−ｎ    バッファ読出制御部
２０１    ポート処理部
２０２−１〜２０２−ｎ    一時バッファ書込制御部
２０４−１〜２０４−ｎ    一時蓄積バッファ
２０８−１〜２０８−ｎ    一時バッファ容量監視部
２０７    一時バッファ読出制御部
【図１】
0003944715.tif 000002
【図２】
0003944715.tif 000003
【図３】
0003944715.tif 000004