(57)【特許請求の範囲】
【請求項１】
特定の入力ポートを含む複数の入力ポートと特定の出力ポートを含む複数の出力ポートを有し、前記特定の入力ポート以外の前記複数の入力ポートに供給される入力ＯＡＭセルを、前記ＯＡＭセルが入力されたポート番号と共に、前記特定の出力ポートに出力し、前記特定の入力ポートに供給される出力ＯＡＭセルを前記特定の出力ポート以外の前記複数の出力ポートから出力するためのスイッチブロックと、
メモリ部を有し、前記スイッチブロックの前記特定の入力ポートと前記特定の出力ポートに接続され、前記特定の出力ポートから供給される入力ＯＡＭセルに基づいて、予め決められた時間に前記メモリ部から前記入力ＯＡＭセルに対応する前記出力ＯＡＭセルを読み出して前記特定の入力ポートに出力するＯＡＭセル処理ブロックと
を具備するＡＴＭセル転送装置。
【請求項２】
請求項１に記載のＡＴＭセル転送装置において、
前記ＯＡＭセル処理ブロックは、前記入力ＯＡＭセルがＡＩＳ  ＯＡＭセルであるとき、前記出力ＯＡＭセルとしてＡＩＳ  ＯＡＭセルと共にＲＤＩ  ＯＡＭセルを生成し、前記スイッチブロックの前記特定の入力ポートに出力することを特徴とするＡＴＭセル転送装置。
【請求項３】
請求項１に記載のＡＴＭセル転送装置において、
前記ＯＡＭセル処理ブロックは、前記入力ＯＡＭセルがＲＤＩ  ＯＡＭセルであるとき、前記出力ＯＡＭセルとしてＲＤＩ  ＯＡＭセルを生成し、前記スイッチブロックの前記特定の入力ポートに出力することを特徴とするＡＴＭセル転送装置。
【請求項４】
請求項１乃至３のいずれかに記載のＡＴＭセル転送装置において、
複数の第１伝送路と前記特定の入力ポート以外の前記複数の入力ポートとに接続され、前記複数の第１伝送路の各々からのＳＤＨ／ＳＯＮＥＴ信号から前記入力ＯＡＭセルを生成して、前記複数の第１の伝送路の各々に対応する前記入力ポートに出力する入力インターフェイスと、前記入力インターフェイスは、前記複数の第１の伝送路のいずれか、あるいはその内部において障害が発生したとき、ポート障害信号を発生して前記ＯＡＭセル処理ブロックに出力し、
前記特定の出力ポート以外の前記複数の出力ポートと複数の第２伝送路に接続され、前記特定の出力ポート以外の前記複数の出力ポートから出力される前記出力ＯＡＭセルを前記複数の第２伝送路のうちの対応するものに出力する出力インターフェイスとをさらに具備し、
前記ＯＡＭセル処理ブロックは、前記ポート障害が発生したポート番号に基づいて複数の前記出力ＯＡＭセルを生成して前記スイッチブロックの前記特定の入力ポートに出力することを特徴とするＡＴＭセル転送装置。
【請求項５】
請求項２乃至４のいずれかに記載のＡＴＭセル転送装置において、
前記特定の入力ポート以外の前記複数の入力ポートに入力される前記入力ＯＡＭセルは、ＩＴＵ−ＴのＩ．６１０に規定される標準フォーマットを有し、前記特定の出力ポートから前記ＯＡＭセル処理ブロックに供給される前記入力ＯＡＭセルは前記標準フォーマットのうちＨＥＣフィールドに前記入力ポートの番号が書かれ、
前記出力インターフェイスは、前記ＨＥＣフィールドにＨＥＣデータを書き込むことを特徴とするＡＴＭセル転送装置。
【請求項６】
請求項１乃至５に記載のＡＴＭセル転送装置において、
前記メモリ部には予め前記出力ＯＡＭセルが書き込まれていることを特徴とするＡＴＭセル転送装置。
【請求項７】
請求項１乃至６に記載のＡＴＭセル転送装置において、
前記メモリ部は、前記出力ＯＡＭセルとして、
前記入力ＯＡＭセルとしてＲＤＩ  ＯＡＭセルが受信されたか否かを示すデータと、前記出力ＯＡＭセルが送出されたか否かを示すデータと、Ｆ４（ＶＰ）フローは有効か否かを示すデータと、Ｆ４（ＶＰ）のＡＩＳ  ＯＡＭセルまたはＲＤＩ  ＯＡＭセルが送出されたか否かを示すデータと、Ｆ５（ＶＣ）フローが有効か否かを示すデータと、Ｆ５（ＶＣ）のＡＩＳ  ＯＡＭセルまたはＲＤＩ  ＯＡＭセルが送出されたか否かを示すデータと、出力されるべきポート番号を示すデータと、出力ＶＰＩ値を示すデータと、出力されるＶＣＩ値を示すデータとを含むことを特徴とするＡＴＭセル転送装置。
【請求項８】
スイッチブロックとハードウェア処理ブロックからなり、
前記スイッチブロックは、特定の入力ポートを含む複数の入力ポートと特定の出力ポートを含む複数の出力ポートを有し、前記特定の入力ポート以外の前記複数の入力ポートに供給される入力ＯＡＭセルを、前記ＯＡＭセルが入力されたポート番号と共に、前記特定の出力ポートに出力し、前記特定の入力ポートに供給される出力ＯＡＭセルを前記特定の出力ポート以外の前記複数の出力ポートから出力し、
前記ハードウェア処理ブロックは、
第１入力格納部と、
メモリ部と、
出力格納部とを具備し、
第１入力格納部は、前記入力ＯＡＭセルを一時的に格納して前記メモリ部に出力し、
前記メモリ部は、前記出力ＯＡＭセルのデータを格納し、アドレスデータに基づいて前記出力ＯＡＭセルを出力し、前記第１入力格納部からの前記入力ＯＡＭセルに対応して前記アドレスデータは前記メモリ部に供給され、
前記出力格納部は、前記メモリ部から出力される前記出力ＯＡＭセルを一時的に格納し、その後前記スイッチブロックの前記特定の入力ポートに出力するＡＴＭセル転送装置。
【請求項９】
請求項８に記載のＡＴＭセル転送装置において、
ポート障害が認識されたとき、そのポート障害と関連する障害ポート番号を入力して一時的に格納し、前記メモリ部に出力するための第２入力格納部と、
前記第１入力格納部の前記障害ポート番号と前記入力ＯＡＭセルのいずれかを前記アドレスデータとして前記メモリ部に供給するための選択部と
を具備するＯＡＭ処理ハードウェアブロックをさらに有するＡＴＭセル転送装置。
【請求項１０】
請求項８または９に記載のＡＴＭセル転送装置において、
前記アドレスデータは、前記入力ＯＡＭセルがＡＩＳ  ＯＡＭセルであるか否かを示すデータと、前記入力ＯＡＭセルが受信された入力ポートと、ＶＰＩ値、ＶＣＩ値と、前記ＡＴＭセル転送装置が、セグメントであるかＥｎｄ−Ｅｎｄのノードであるかを示すデータとからなることを特徴とするＡＴＭセル転送装置。
【請求項１１】
請求項８乃至１０に記載のＡＴＭセル転送装置において、
前記ＯＡＭ処理ハードウェアブロックに接続され、前記ハードウェア処理ブロックをアクセス可能なソフトウェア実行部をさらに具備するＡＴＭセル転送装置。
【請求項１２】
請求項１１に記載のＡＴＭセル転送装置において、
前記ソフトウェア実行部は、前記メモリ部に予め前記出力ＯＡＭセルを書き込むことを特徴するＡＴＭセル転送装置。
【請求項１３】
請求項１１に記載のＡＴＭセル転送装置において、
前記ソフトウェア実行部は、前記ハードウェア処理ブロックをアクセスして、前記入力ＯＡＭセルが前記メモリ部に格納されたことに知ることができることを特徴とするＡＴＭセル転送装置。
【請求項１４】
請求項１３に記載のＡＴＭセル転送装置において、
前記ハードウェア処理ブロックは、前記ソフトウェア実行部からのリード命令に応答して、前記メモリ部に格納された前記ＯＡＭセルのデータを前記ソフトウェア実行部に出力することを特徴とするＡＴＭセル転送装置。
【請求項１５】
請求項１１に記載のＡＴＭセル転送装置において、
前記ハードウェア処理ブロックは、前記ソフトウェア実行部からのライト命令に応答して、前記メモリ部に格納された前記出力ＯＡＭセルのデータを変更することを特徴とするＡＴＭセル転送装置。
【請求項１６】
請求項１１に記載のＡＴＭセル転送装置において、
前記ハードウェア処理ブロックは、前記メモリ部に格納された連続する前記出力ＯＡＭセルが出力されるように連続的に前記アドレスデータを生成するアドレス生成回路部をさらに具備することを特徴とするＡＴＭセル転送装置。
【請求項１７】
請求項１０に記載のＡＴＭセル転送装置において、
前記メモリ部は、前記アドレスデータに基づいて前記出力ＯＡＭセルは一義的に決定されることを特徴とするＡＴＭセル転送装置。
【請求項１８】
請求項１７に記載のＡＴＭセル転送装置において、
前記メモリ部は、前記出力ＯＡＭセルとして、
前記入力ＯＡＭセルとしてＲＤＩ  ＯＡＭセルが受信されたか否かを示すデータと、前記出力ＯＡＭセルが送出されたか否かを示すデータと、Ｆ４（ＶＰ）フローは有効か否かを示すデータと、Ｆ４（ＶＰ）のＡＩＳ  ＯＡＭセルまたはＲＤＩ  ＯＡＭセルが送出されたか否かを示すデータと、Ｆ５（ＶＣ）フローが有効か否かを示すデータと、Ｆ５（ＶＣ）のＡＩＳ  ＯＡＭセルまたはＲＤＩ  ＯＡＭセルが送出されたか否かを示すデータと、出力されるべきポート番号を示すデータと、出力ＶＰＩ値を示すデータと、出力されるＶＣＩ値を示すデータとを含むことを特徴とするＡＴＭセル転送装置。
【請求項１９】
複数の入力ポートの各々から供給される入力ＯＡＭセルに対応する出力ＯＡＭセルを格納可能なメモリ部と、前記メモリ部のメモリ領域は、ＡＩＳ  ＯＡＭセル領域とＲＤＩ  ＯＡＭセル領域とに分けられ、かつ、複数のＯＡＭセルデータを格納する複数のデータセグメントの領域からなり、
前記メモリ部をアクセスするためのアクセス部と
を具備するＡＴＭセル転送装置。
【請求項２０】
請求項１９に記載のＡＴＭセル転送装置において、
前記ＡＩＳ  ＯＡＭセル送信領域と前記ＲＤＩ  ＯＡＭセル領域の各々は、前記複数の入力ポートに対応してポート領域に分けられていることを特徴とするＡＴＭセル転送装置。
【請求項２１】
請求項２０に記載のＡＴＭセル転送装置において、
前記各ポート領域は、対応する入力ポートに割り当てられているＶＰＩ毎にＶＰＩ領域に分けられていて、各ＶＰＩ領域は１つのデータセグメント領域に対応することを特徴とするＡＴＭセル転送装置。
【請求項２２】
請求項２１に記載のＡＴＭセル転送装置において、
前記各データセグメント領域は、
ＲＤＩセルの受信の有無、ＯＡＭセルの送出の有無、Ｆ４（ＶＰ）フローの有効性の有無、Ｆ４（ＶＰ）  ＡＩＳ  またはＲＤＩ  の送信の有無、Ｆ５（ＶＣ）フローの有効性の有無、Ｆ５（ＶＣ）  ＡＩＳ  またはＲＤＩ  の送信の有無、出力ポート番号、出力ＶＰＩ値、出力ＶＣＩ値を格納することを特徴とするＡＴＭセル転送装置。
【請求項２３】
請求項１９乃至２２のいずれかに記載のＡＴＭセル転送装置において、
前記アクセス部は、内部で生成されるアクセス制御信号に基づく内部アクセスと、外部から供給されるアクセス制御信号に基づく外部アクセスが可能であることを特徴とするＡＴＭセル転送装置。
【請求項２４】
請求項２３に記載のＡＴＭセル転送装置において、
１ＡＴＭセル時間は、前記内部アクセスのための時間と前記外部アクセスのための時間に２分割されていることを特徴とするＡＴＭセル転送装置。
【請求項２５】
請求項２４に記載のＡＴＭセル転送装置において、
前記内部アクセス時間は、内部リードアクセス時間と内部ライトアクセス時間とからなり、前記外部アクセス時間は、外部リードアクセス時間と外部ライトアクセス時間とからなることを特徴とするＡＴＭセル転送装置。
【請求項２６】
請求項２５に記載のＡＴＭセル転送装置において、
前記内部ライトアクセス時間には、前記複数の入力ポートの各々から供給される前記入力ＯＡＭセルに対応する前記出力ＯＡＭセルが更新されることを特徴とするＡＴＭセル転送装置。
【請求項２７】
請求項２５または２６に記載のＡＴＭセル転送装置において、
前記内部リードアクセス時間には、前記メモリ部に格納されているＯＡＭセルデータが読み出され転送されることを特徴とするＡＴＭセル転送装置。
【請求項２８】
請求項２５乃至２７のいずれかに記載のＡＴＭセル転送装置において、
前記アクセス部は、前記メモリ部のメモリ領域の各アドレスをＡＴＭセル時間毎に前記メモリ部に出力することができることを特徴とするＡＴＭセル転送装置。
【請求項２９】
請求項２５乃至２８のいずれかに記載のＡＴＭセル転送装置において、
前記外部リードアクセス時間には、入力される外部アドレスと外部アクセス制御信号に基づいて、前記メモリ部に前記入力ＯＡＭセルが受信されたか否かを示すデータと前記出力ＯＡＭセルが転送のため読み出されたかを示すデータが出力されることを特徴とするＡＴＭセル転送装置。
【請求項３０】
請求項２５乃至２９のいずれかに記載のＡＴＭセル転送装置において、
前記外部ライトアクセス時間には、入力される外部アドレスと外部データと、前記外部アクセス制御信号に基づいて、前記メモリ部に格納されている前記出力ＯＡＭセルデータが書き換えられることを特徴とするＡＴＭセル転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）セル転送装置に関し、特にＯＡＭ（Ｏｐｅｒａｔｉｏｎ  Ａｎｄ  Ｍａｉｎｔｅｎａｎｃｅ）セルの転送に好適なＡＴＭセル転送装置に関する。
【０００２】
【従来の技術】
ＡＴＭセルの転送におけるＯＡＭセルの処理方法は、ＩＴＵ−Ｔの仕様Ｉ．６１０の中に規定されている。その中には、障害発生時におけるＯＡＭセル転送の処理時間等についても規定されている。また、ＰＶＣ（Ｐｅｒｅｍａｎｅｎｔ  Ｖｉｒｔｕａｌ  Ｃｈａｎｎｅｌ）におけるＯＡＭセル転送について規定されている。
【０００３】
障害の発生を知らせるＯＡＭセルの処理は、この仕様において、例えば対局装置よりＦ４（ＶＰ（Ｖｉｒｔｕａｌ  Ｐａｔｈ））フローあるいはＦ５（ＶＣ（Ｖｉｒｔｕａｌ  Ｃｈａｎｎｅｌ））フローのＡＩＳ（Ａｌａｒｍ  Ｉｎｄｉｃａｔｉｏｎ  Ｓｉｇｎａｌ）ＯＡＭセルが転送された場合、それらのセルの受信において、受信装置がＦ４（ＶＰ）／Ｆ５（ＶＣ）フローのエンド−エンド（Ｅｎｄ−Ｅｎｄ）コネクション接続あるいはセグメント（Ｓｅｇｍｅｎｔ）接続の終端点である場合、それぞれのコネクションに対応して５００ｍｓ以内にＲＤＩ（Ｒｅｍｏｔｅ  Ｄｅｆｅｃｔ  Ｉｎｄｉｃａｔｉｏｎ）ＯＡＭセルの返送し、あるいはＡＩＳ  ＯＡＭセルを1秒間隔で転送する必要がある。
【０００４】
ここで、Ｆ４（ＶＰ）／Ｆ５（ＶＣ）フローのＥｎｄ−Ｅｎｄコネクション接続あるいはＳｅｇｍｅｎｔ接続の終端点（ｃｏｎｎｅｃｔｉｎｇ  ｐｏｉｎｔ）についての定義について図１６を参照して説明する。
【０００５】
実際に装置間で設定され、ＡＴＭセル信号が流されているＦ４（ＶＰ）フローあるいはＦ５（ＶＣ）フローのコネクションにおいて、ＡＴＭセル信号を終端する接続点がエンド・ポイント（Ｅｎｄ−ｐｏｉｎｔ）として定義される。装置運用者がＥｎｄ−Ｅｎｄコネクション接続上に任意に定義した接続点がセグメント・ポイント（Ｓｅｇｍｅｎｔ−Ｐｏｉｎｔ）として定義される。図１６にその様子が示されている。Ｓｅｇｍｅｎｔ接続点はＥｎｄ−Ｅｎｄコネクション間の中、あるいはＥｎｄ−Ｅｎｄコネクション接続点と同じ位置に定義されると考える事ができる。
【０００６】
ＯＡＭセルの種類には、ＡＩＳ、ＲＤＩ、Ｌｏｏｐ  Ｂａｃｋ、Ｃｏｎｔｉｎｕｉｔｙ  Ｃｈｅｃｋ、Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｏｎｉｔｏｒｉｎｇ（ＰＭ）等々がある。これらのうちPM  ＯＡＭセル以外の全てのセルが、ある時間内に対局装置へ返される必要がある。
【０００７】
ＯＡＭセルの処理について図１５を参照して説明する。図中左から右の方向に物理リンクを介してＡＴＭセルが転送されているとする。ここで、以下では、ＡＴＭセルの転送方向が信号順方向と呼び、ＡＴＭセルの転送方向と逆方向が信号対向方向と呼ぶ。
【０００８】
物理リンク内で、例えばＬＯＳまたはロス・オブ・フレーム（ＬＯＦ：Ｌｏｓｓ  Ｏｆ  Ｆｒａｍｅ）のような障害が発生したときには、ＲＤＩ  ＯＡＭセルが生成され、信号対向方向に送出される。
【０００９】
また、伝送路あるいは他の接続点のインタフェースを終端しているポートに信号入力断や回線上のエラー、あるいはＬＯＦ等の障害があった場合、ＡＩＳ  ＯＡＭセルが発生される。このように、各Ｆ４（ＶＰ）／Ｆ５（ＶＣ）コネクションに何かの異常があり、ＡＩＳ  ＯＡＭセルが転送されてきた場合には、物理層であるＳＤＨ／ＳＯＮＥＴレイヤでＡＩＳ  ＯＡＭセルが検出される。ＡＩＳ  ＯＡＭセルは信号順方向に転送される。加えて、ＲＤＩ  ＯＡＭセルが信号対向方向に送出される。
【００１０】
このように、障害発生時には、そのポート中の複数のＦ４（ＶＰ）フローについて、また各Ｆ４（ＶＰ）フロー中の複数のＦ５（ＶＣ）フローについて、Ｅｎｄ−Ｅｎｄ接続とＳｅｇｍｅｎｔ接続のそれぞれの種類についてＲＤＩ  ＯＡＭセルの返送やコネクション中継点としてのＡＩＳ  ＯＡＭセルの発生及び転送を行う必要がある。
【００１１】
図１８は、従来のＡＴＭセル転送装置の構成を示している。スイッチブロックが物理インターフェイスに挟まれている。物理インターフェイスにはそれぞれＳＤＨ／ＳＯＮＥＴ信号が搬送される伝送路が接続されている。スイッチブロックには、ＣＰＵが接続されている。
【００１２】
図１８に示されるように、従来のＡＴＭセル転送装置では、ＯＡＭセルの処理はＣＰＵにより行われていた。ＣＰＵは、ＡＴＭセルが受信される毎に、ＡＴＭセルの内容を解析し、Ｆ４（ＶＰ）フローあるいはＦ５（ＶＣ）フローのＲＤＩＯＡＭセルの返送やＡＩＳ  ＯＡＭセルの転送を行っていた。しかしながら、ＯＡＭセルの処理のすべてをＣＰＵが行うことが上記処理時間の観点で困難な場合がある。
【００１３】
上述のＯＡＭセルのうち、Ｌｏｏｐ  ＢａｃｋとＣｏｎｔｉｎｕｉｔｙ  ＣｈｅｃｋのＯＡＭセルは、対局よりオンデマンドが発行された際のみ、返送される必要がある。従って、これらのＯＡＭセルは、実サービス運用中は頻繁に発行／返送されるものではない。従って、ＣＰＵによる処理でも十分に対応可能である。
【００１４】
問題となるのは、図１５に示されるように、ＡＩＳ／ＲＤＩ  ＯＡＭセルの処理である。セルの種類としてＥｎｄ−Ｅｎｄ／Ｓｅｇｍｅｎｔの２種類が存在し、またＳＴＭ−１やＯＣ−３ｃ等の伝送路ポートの中に複数のＦ４（ＶＰ）フローがあり、各Ｆ４（ＶＰ）フロー中にさらに複数のＦ５（ＶＣ）フローが存在している場合である。
【００１５】
前述のように、全ての処理をＣＰＵが実行する場合、それぞれ多くのＰＶＣとしてのＦ４（ＶＰ）／Ｆ５（ＶＣ）フローのコネクションを有している複数の伝送路またはポートに何らかの障害が発生した場合、一度に大量のＡＩＳ  ＯＡＭセルを発生することが必要である。しかしながら、ＣＰＵによるソフトウェア処理では、前述のＩＴＵ−Ｔ仕様のＩ．６１０に規定されているタイミングで大量のＡＩＳ  ＯＡＭセルを発生することはできないことがある。
【００１６】
何故ならばＣＰＵは、プログラムに従い発生すべきＯＡＭセルを一つ一つ判断し処理していくので、ＯＡＭセルを発生することができたとしても、バラバラのタイミングとなることがあるためである。また、最悪の場合には、ＣＰＵそのものがその処理をストップさせてしまう可能性が有る。また多くのＦ４（ＶＰ）／Ｆ５（ＶＣ）フローに対して対向局から多くのＡＩＳ  ＯＡＭセルが転送されてくる場合も同様の結果となる可能性は十分高い。
【００１７】
これらの問題を解決するために例えば、特開平９−３６８６９においては、ＣＰＵが実行するソフトウェア処理に基づいてＯＡＭセル転送が行われるのではなく、ＡＩＳ  ＯＡＭセル受信に伴ってＲＤＩ  ＯＡＭセルの発生及び伝送路障害検出をハードウェアが行い、ＣＰＵにより指示されるＶＰＩ（Ｖｉｒｔｕａｌ  Ｐａｔｈ  Ｉｄｅｎｔｉｆｉｅｒ）を持つＶＰに対してＯＡＭセルが送出される。
【００１８】
この引例では、図１９に示されているように、対向局が転送してきたＯＡＭセルをＯＡＭセル検出部（1）が検出した後、転送されるべきＶＰＩを持つＯＡＭセルがバッファ（９）に蓄えられる。また、伝送路障害時に発生されるべきＡＩＳ  ＯＡＭセルは、ＶＰＩレジスタ（４）の値がＣＰＵにより設定された後、上記と同様にバッファ（９）に蓄えられる。バッファ（９）に蓄えられたＯＡＭセルは最終的にＯＡＭセル送出部（１０）より送出される。
【００１９】
この引例では、ＣＰＵが、与えられた情報（入力ＯＡＭセルやアラーム情報）に基づいて、対向局側に転送されるべきＯＡＭセルの全てを判断し、送出しているわけではない。
【００２０】
しかしながら、対向局より入力されるＯＡＭセルの種類として、ＶＰだけでなくＶＣについても考慮されるべきである。また、この引例では、Ｅｎｄ−Ｅｎｄ接続／Ｓｅｇｍｅｎｔ接続のそれぞれの種類のＯＡＭセルについての取り扱いが考慮されていない。どのタイプのＯＡＭセルが入力され、それが返送されるべきかついての取り扱いについても考慮されていない。伝送路障害時でのＯＡＭセルについても同様のことがいえる。
【００２１】
また、上記引用例においては、Ｆ４（ＶＰ）フロー中に複数のＦ５（ＶＣ）フローが存在している場合、転送されてきたＯＡＭセルがＦ４（ＶＰ）  ＯＡＭセルである場合、Ｆ４（ＶＰ）フロー  中のＦ５（ＶＣ）フローについてＯＡＭセル転送を行うことができない。
【００２２】
本願発明の従来技術と関連して、特開平４−３６３９３９号公報には、セル出力装置が開示されている。この引例では、伝送データのセルを蓄積するバッファ（３）と、特性パターンのセルを蓄積するバッファ（４，５）とが提供されている。バッファ選択装置（６）が、出力優先度参照テーブル（１４）を参照して、これらのバッファ（３，４，５）のうちの１つを選択し、選択されたバッファに蓄えられているセルがセル送信装置（７）から転送される。こうして、ハードウエアの規模を拡大することなく、物理レイヤＯＡＭセルのデータパターン及び物理レイヤＯＡＭセルの出力優先順位を変更することを可能としている。
【００２３】
また、特開平１０−２６２０６４号公報には、複数回線終端装置のＯＡＭ処理方法が開示されている。この引例では、物理層終端部（３０）は、複数の回線に接続されていて、受信信号をセルに変換し、そのセルヘッダにそのセルが到来した回線を特定する回線識別子が付加される。ヘッダ変換部（３４）は、セルの回線識別子ＶＰＩ／ＶＣＩ値を内部処理用ＩＣＩＤに変換する。ＯＡＭ処理部（３７）は、各回線のＯＡＭ処理に必要なデータを、内部処理用識別子をアドレスとする内部処理用コネクション管理テーブルで一元的に管理する。各回線から受信されるセルのＩＣＩＤに基づいて管理テーブルよりデータが読み出され、その読み出されたデータを用いて回線に対応するＯＡＭ処理が実行される。こうして、複数の回線が１つのＯＡＭ処理部で共通に制御されている。
【００２４】
また、特許２７４６２８４号公報にはＯＡＭセル挿入装置が開示されている。この引例では、通常のデータセルはセルメモリ部（３０）に蓄積される。蓄積されているセル数が所定値に達する前のＯＡＭセル出力指示に応答して、ＯＡＭセルが生成される。データセルとＯＡＭセルのうちの一方が出力される。こうして、必要時に遅延無く、ＯＡＭセルが出力される。
【００２５】
また、特許第２８５１９４１号公報では、運用保守セル送出回路が開示されている。この引例では、回線インターフェイス部（３）は回線とスイッチ部（７）に接続されていて、その中に物理レイヤ終端部（４）とＶＰＩ変換部（５）を有する。さらに、ＶＰＩ変換部（５）は、運用保守送出回路（６）を具備している。
【００２６】
【発明が解決しようとする課題】
本発明の目的は、ＳＴＭ−１やＯＣ−３ｃ等の伝送路、ポートに信号入力断や回線上のエラーが発生した場合、あるいはＬＯＦ（Ｌｏｓｓ  Ｏｆ  Ｆｒａｍｅ）等の障害が発生した場合、そのポート中に複数のＦ４（ＶＰ）フローがあり、各Ｆ４（ＶＰ）フロー中に複数のＦ５（ＶＣ）フローが存在していたとしても、各Ｆ４（ＶＰ）フローについて、またその中の複数のＦ５（ＶＣ）フローについて、Ｅｎｄ−Ｅｎｄ接続／Ｓｅｇｍｅｎｔ接続のそれぞれの種類について、ＩＴＵ−Ｔ仕様Ｉ．６１０によって定められたタイミングでＡＩＳ  ＯＡＭセルを正確に発生し、転送することのできるハードウエア構成を有するＡＴＭセル転送装置を提供することにある。
【００２７】
また、本発明の他の目的は、対向局からＦ４（ＶＰ）／Ｆ５（ＶＣ）フローについての多数のＡＩＳ  ＯＡＭセルが転送される場合、ＲＤＩ  ＯＡＭセルを正確に返送することのできるハードウエア構成を有するＡＴＭセル転送装置を提供することにある。
【００２８】
本発明のさらに他の目的は、Ｆ４（ＶＰ）／Ｆ５（ＶＣ）フローについて対向局から変則的に多くのＲＤＩ  ＯＡＭセルが転送されてきても、その転送を継続し、あるいは終端することができるハードウエア構成を有するＡＴＭセル転送装置を提供することにある。
【００２９】
本発明のさらに他の目的は、ＡＩＳ及びＲＤＩのＯＡＭセルの全ての受信及び送信されたＯＡＭセルの内容をＣＰＵが知ることができるハードウエア構成を有するＡＴＭセル転送装置を提供することにある。
【００３０】
本発明のさらに他の目的は、送信されるべきＯＡＭセルの内容を変更することができるハードウエア構成を有するＡＴＭセル転送装置を提供することにある。
【００３１】
本発明のさらに他の目的は、上記ＡＴＭセル転送装置のハードウエア構成で使用されるのに好適なメモリブロックのデータ構造及びそのアクセス方式を提供することにある。
【００３２】
本発明のさらに他の目的は、受信されたＯＡＭセルのフォーマットを変換することにより効率よくＯＡＭセルの転送・送出処理を行うことができるＡＴＭセル転送装置を提供することにある。
【００３３】
【課題を解決するための手段】
本発明の第１の観点によるＡＴＭセル転送装置は、スイッチブロックとＯＡＭセル処理ブロックからなる。スイッチブロックは、特定の入力ポートを含む複数の入力ポートと特定の出力ポートを含む複数の出力ポートを有し、前記特定の入力ポート以外の前記複数の入力ポートに供給される入力ＯＡＭセルを、前記ＯＡＭセルが入力されたポート番号と共に、前記特定の出力ポートに出力する。また、前記特定の入力ポートに供給される出力ＯＡＭセルを前記特定の出力ポート以外の前記複数の出力ポートから出力する。ＯＡＭセル処理ブロックは、メモリ部を有し、前記スイッチブロックの前記特定の入力ポートと前記特定の出力ポートに接続され、前記特定の出力ポートから供給される入力ＯＡＭセルに基づいて、予め決められた時間に前記メモリ部から前記入力ＯＡＭセルに対応する前記出力ＯＡＭセルを読み出して前記特定の入力ポートに出力する。
【００３４】
前記ＯＡＭセル処理ブロックは、前記入力ＯＡＭセルがＡＩＳ  ＯＡＭセルであるとき、前記出力ＯＡＭセルとしてＡＩＳ  ＯＡＭセルと共にＲＤＩ  ＯＡＭセルを生成し、前記スイッチブロックの前記特定の入力ポートに出力することが望ましい。
【００３５】
また、前記ＯＡＭセル処理ブロックは、前記入力ＯＡＭセルがＲＤＩ  ＯＡＭセルであるとき、前記出力ＯＡＭセルとしてＲＤＩ  ＯＡＭセルを生成し、前記スイッチブロックの前記特定の入力ポートに出力することが望ましい。
【００３６】
前記特定の入力ポート以外の前記複数の入力ポートに入力される前記入力ＯＡＭセルは、ＩＴＵ−ＴのＩ．６１０に規定される標準フォーマットを有し、前記特定の出力ポートから前記ＯＡＭセル処理ブロックに供給される前記入力ＯＡＭセルは前記標準フォーマットのうちＨＥＣフィールドに前記入力ポートの番号が書かれている。前記出力インターフェイスは、前記ＨＥＣフィールドにＨＥＣデータを書き込むことによりＯＡＭセルを送出する。
【００３７】
本発明のＡＴＭセル転送装置は、入力インターフェイスと出力インターフェイスを具備し、入力インターフェイスは、複数の第１伝送路と前記前記特定の入力ポート以外の前記複数の入力ポートとに接続され、前記複数の第１伝送路の各々からのＳＤＨ／ＳＯＮＥＴ信号から前記入力ＯＡＭセルを生成して、前記複数の第１の伝送路の各々に対応する前記入力ポートに出力する。また、入力インターフェイスは、前記複数の第１の伝送路のいずれか、あるいはその内部において障害が発生したとき、ポート障害信号を発生して前記ＯＡＭセル処理ブロックに出力する。出力インターフェイスは、前記特定の出力ポート以外の前記複数の出力ポートと複数の第２伝送路に接続され、前記特定の出力ポート以外の前記複数の出力ポートから出力される前記出力ＯＡＭセルを前記複数の第２伝送路のうちの対応するものに出力する。このとき、前記ＯＡＭセル処理ブロックは、前記ポート障害が発生したポート番号に基づいて複数の前記出力ＯＡＭセルを生成して前記スイッチブロックの前記特定の入力ポートに出力する。
【００３８】
ここで、前記メモリ部には予め前記出力ＯＡＭセルが書き込まれていることが好ましい。前記メモリ部は、前記出力ＯＡＭセルとして、前記入力ＯＡＭセルとしてＲＤＩ  ＯＡＭセルが受信されたか否かを示すデータと、前記出力ＯＡＭセルが送出されたか否かを示すデータと、Ｆ４（ＶＰ）フローは有効か否かを示すデータと、Ｆ４（ＶＰ）のＡＩＳ  ＯＡＭセルまたはＲＤＩ  ＯＡＭセルが送出されたか否かを示すデータと、Ｆ５（ＶＣ）フローが有効か否かを示すデータと、Ｆ５（ＶＣ）のＡＩＳ  ＯＡＭセルまたはＲＤＩ  ＯＡＭセルが送出されたか否かを示すデータと、出力されるべきポート番号を示すデータと、出力ＶＰＩ値を示すデータと、出力されるＶＣＩ値を示すデータとを含むことが望ましい。
【００３９】
本発明の第２の観点によるＡＴＭセル転送装置は、スイッチブロックとハードウェア処理ブロックからなる。前記スイッチブロックは、特定の入力ポートを含む複数の入力ポートと特定の出力ポートを含む複数の出力ポートを有し、前記特定の入力ポート以外の前記複数の入力ポートに供給される入力ＯＡＭセルを、前記ＯＡＭセルが入力されたポート番号と共に、前記特定の出力ポートに出力し、前記特定の入力ポートに供給される出力ＯＡＭセルを前記特定の出力ポート以外の前記複数の出力ポートから出力する。
【００４０】
前記ハードウェア処理ブロックは、前記入力ＯＡＭセルを一時的に格納して前記メモリ部に出力するための第１入力格納部と、前記出力ＯＡＭセルのデータを格納し、アドレスデータに基づいて前記出力ＯＡＭセルを出力するためのメモリ部と、前記メモリ部から出力される前記出力ＯＡＭセルを一時的に格納し、その後前記スイッチブロックの前記特定の入力ポートに出力するための出力格納部とを具備する。前記第１入力格納部からの前記入力ＯＡＭセルに対応して前記アドレスデータは前記メモリ部に供給される。
【００４１】
ＡＴＭセル転送装置は、ポート障害が認識されたとき、そのポート障害と関連する障害ポート番号を入力して一時的に格納し、前記メモリ部に出力するための第２入力格納部と、前記第１入力格納部の前記障害ポート番号と前記入力ＯＡＭセルのいずれかを前記アドレスデータとして前記メモリ部に供給するための選択部とをさらに具備してもよい。
【００４２】
前記アドレスデータは、前記入力ＯＡＭセルがＡＩＳ  ＯＡＭセルであるか否かを示すデータと、前記入力ＯＡＭセルが受信された入力ポートと、ＶＰＩ値、ＶＣＩ値と、前記ＡＴＭセル転送装置装置が、セグメントであるかＥｎｄ−Ｅｎｄのノードであるかを示すデータとからなることを特徴とする。
【００４３】
また、ＡＴＭセル転送装置は、前記ＯＡＭ処理ハードウェアブロックに接続され、前記ハードウェア処理ブロックをアクセス可能なソフトウェア実行部をさらに具備することが望ましい。
【００４４】
前記ソフトウェア実行部は、前記メモリ部に予め前記出力ＯＡＭセルを書き込むことができる。
【００４５】
即ち、前記ソフトウェア実行部は、前記ハードウェア処理ブロックをアクセスして、前記入力ＯＡＭセルが前記メモリ部に格納されたことに知ることができる。
【００４６】
前記ハードウェア処理ブロックは、前記ソフトウェア実行部からのリード命令に応答して、前記メモリ部に格納された前記ＯＡＭセルのデータを前記ソフトウェア実行部に出力する。
【００４７】
前記ハードウェア処理ブロックは、前記ソフトウェア実行部からのライト命令に応答して、前記メモリ部に格納された前記出力ＯＡＭセルのデータを変更する。
【００４８】
ＡＴＭセル転送装置は、前記ハードウェア処理ブロックは、前記メモリ部に格納された連続する前記出力ＯＡＭセルが出力されるように連続的に前記アドレスデータを生成するアドレス生成回路部をさらに具備することが望ましい。
【００４９】
このように、前記メモリ部は、前記アドレスデータに基づいて前記出力ＯＡＭセルは一義的に決定されることができる。前記メモリ部は、前記出力ＯＡＭセルとして、前記入力ＯＡＭセルとしてＲＤＩ  ＯＡＭセルが受信されたか否かを示すデータと、前記出力ＯＡＭセルが送出されたか否かを示すデータと、Ｆ４（ＶＰ）フローは有効か否かを示すデータと、Ｆ４（ＶＰ）のＡＩＳ  ＯＡＭセルまたはＲＤＩ  ＯＡＭセルが送出されたか否かを示すデータと、Ｆ５（ＶＣ）フローが有効か否かを示すデータと、Ｆ５（ＶＣ）のＡＩＳ  ＯＡＭセルまたはＲＤＩ  ＯＡＭセルが送出されたか否かを示すデータと、出力されるべきポート番号を示すデータと、出力ＶＰＩ値を示すデータと、出力されるＶＣＩ値を示すデータとを含むことが望ましい。
【００５０】
本発明の第３の観点によるＡＴＭセル転送装置は、複数の入力ポートの各々から供給される入力ＯＡＭセルに対応する出力ＯＡＭセルを格納可能なメモリ部と、前記メモリ部をアクセスするためのアクセス部とを具備する。前記メモリ部のメモリ領域は、複数のＯＡＭセルデータを格納する複数のデータセグメントの領域からなる。
【００５１】
前記メモリ部のメモリ領域は、ＡＩＳ  ＯＡＭセル領域とＲＤＩ  ＯＡＭセル領域とに分けられていることが好ましい。
【００５２】
前記ＡＩＳ  ＯＡＭセル送信領域と前記ＲＤＩ  ＯＡＭセル領域の各々は、前記複数の入力ポートに対応してポート領域に分けられていることが好ましい。
【００５３】
前記各ポート領域は、対応する入力ポートに割り当てられているＶＰＩ毎にＶＰＩ領域に分けられていて、各ＶＰＩ領域は１つのデータセグメント領域に対応することが好ましい。
【００５４】
前記各データセグメント領域は、ＲＤＩセルの受信の有無、ＯＡＭセルの送出の有無、Ｆ４（ＶＰ）フローの有効性の有無、Ｆ４（ＶＰ）  ＡＩＳ  またはＲＤＩ  の送信の有無、Ｆ５（ＶＣ）フローの有効性の有無、Ｆ５（ＶＣ）  ＡＩＳ  またはＲＤＩ  の送信の有無、出力ポート番号、出力ＶＰＩ値、出力ＶＣＩ値を格納することが好ましい。
【００５５】
前記アクセス部は、内部で生成されるアクセス制御信号に基づく内部アクセスと、外部から供給されるアクセス制御信号に基づく外部アクセスが可能である。
【００５６】
１ＡＴＭセル時間は、前記内部アクセスのための時間と前記外部アクセスのための時間に２分割されている。
【００５７】
前記内部アクセス時間は、内部リードアクセス時間と内部ライトアクセス時間とからなり、前記外部アクセス時間は、外部リードアクセス時間と外部ライトアクセス時間とからなることが望ましい。
【００５８】
前記内部ライトアクセス時間には、前記複数の入力ポートの各々から供給される前記入力ＯＡＭセルに対応する前記出力ＯＡＭセルが更新される。前記内部リードアクセス時間には、前記メモリ部に格納されているＯＡＭセルデータが読み出され転送される。
【００５９】
前記アクセス部は、前記メモリ部のメモリ領域の各アドレスをＡＴＭセル時間毎に前記メモリ部に出力することができることが望ましい。
【００６０】
前記外部リードアクセス時間には、入力される外部アドレスと外部アクセス制御信号に基づいて、前記メモリ部に前記入力ＯＡＭセルが受信されたか否かを示すデータと前記出力ＯＡＭセルが転送のため読み出されたかを示すデータが出力される。
【００６１】
前記外部ライトアクセス時間には、入力される外部アドレスと外部データと、前記外部アクセス制御信号に基づいて、前記メモリ部に格納されている前記出力ＯＡＭセルデータが書き換えられる  。
【００６２】
【発明の実施の形態】
以下に添付図面を参照して、本発明のＡＴＭセル転送装置について詳細に説明する。
【００６３】
図１は本発明の第１の実施形態によるＡＴＭセル転送装置の構成を示している。図１を参照して、第１の実施形態のＡＴＭセル転送装置は、物理インターフェイスブロック２，スイッチブロック４，ＯＡＭセル処理ブロック５，ＣＰＵブロック６，物理インターフェイスブロック１１からなる。
【００６４】
物理インターフェイスブロック２は、複数の伝送路に接続され、ＡＴＭセルをペイロードとして複数のＳＤＨ／ＳＯＮＥＴ信号Ｓ１−１〜Ｓ１−ｎ（nは自然数）を受信する。装置間での標準インタフェース信号であるＳＤＨ／ＳＯＮＥＴ信号は、155Ｍb／s又は622Mb／sの基本伝送速度を持つ。物理インターフェイスブロック２は、ＡＴＭセルＳ３−１〜Ｓ３−ｎ（nは自然数）をスイッチブロック４の対応する信号ポートへ入力する。そこで、各ＳＤＨ／ＳＯＮＥＴ信号のオーバーヘッドは終端される。また物理インタフェースブロック２は、物理ポートの障害（入力断、LOF等）を示すポート障害（Ｐｏｒｔ  Ｆａｉｌ）信号Ｓ９をＯＡＭセル処理ブロック５に出力する。
【００６５】
図５（Ａ）は、ＡＴＭ  Ｆｏｒｕｍ  ＵＮＩ  ３．１において標準化されたＯＡＭセルのフォーマットを示す。ＯＡＭセルフォーマットは、５バイトのＡＴＭセルヘッダと４８バイトのセルペイロードからなる。
【００６６】
ＡＴＭセルヘッダは、ＧＦＣ（ｇｅｎｅｒｉｃ  ｆｌｏｗ  ｃｏｎｔｒｏｌ）フィールド、ＶＰＩ（ｖｉｒｔｕａｌ  ｐａｔｈ  ｉｄｅｎｔｉｆｉｅｒ）フィールド、ＶＣＩ（ｖｉｒｔｕａｌ  ｃｈａｎｎｅｌ  ｉｄｅｎｔｉｆｉｅｒ）フィールド、ＰＴＩ（ｐａｙｌｏａｄ  ｔｙｐｅ  ｉｄｅｎｔｉｆｉｅｒ）フィールド、ＣＬＰ（ｃａｌｌ  ｌｏｓｓ  ｐｒｉｏｒｉｔｙ）フィールド、及びＨＥＣフィールドからなる。セルペイロードは、ＯＡＭセル種別フィールド、関数種別フィールド、関数特定フィールド、予約されたフィールド、及びＣＲＣ−１０フィールドからなる。
【００６７】
Ｆ４フロー（ＶＰ）時には、ＶＣＩは、セグメント（Ｓｅｇｍｅｎｔ）に対して”３”の値をとり、エンド−エンド（Ｅｎｄ−Ｅｎｄ）に対しては”４”の値を取る。また、Ｆ５フロー（ＶＣ）時には、ＰＴＩは、Ｓｅｇｍｅｎｔに対して”４”の値をとり、Ｅｎｄ−Ｅｎｄに対しては”５”の値を取る。ＯＡＭセルでは、ＯＡＭセル種別フィールドには、”０００１”が書かれる。また、関数種別フィールドには、ＡＩＳ  ＯＡＭセルに対しては”００００”が書かれ、ＲＤＩＯＡＭセルに対しては”０００１”が書かれている。
【００６８】
スイッチブロック４は、回線交換のために各ポート間でＡＴＭセルの交換やマルチキャスト等の処理を行う。また、このときＳＯＣ（ｓｔａｒｔ  ｏｆ  ｃｅｌｌ）信号を発生する。ＳＤＨ／ＳＯＮＥＴ信号が物理インタフェースブロック２により受信され、終端された後は、各ブロック間の信号の授受は、約19Mb／sの速度で行われる。これは、入力信号は、8ビットパラレルに展開されているためである。スイッチブロック４は、ＯＡＭセルフォーマットをもつＡＴＭセルを各入力ポートから予め決められた特定の出力ポートAに集める。集められたＯＡＭセルＳ７の各々は、入力ポート番号（Ｐｏｒｔ  #）とともにＯＡＭセル処理ブロック５へ出力される。このとき、ＳＯＣ信号もＯＡＭセル処理ブロック５に出力される。
【００６９】
ここでは、図５（Ｂ）に示されるように、図５（Ａ）に示されている標準のＯＡＭセルのフォーマットのHECフィールド内に、ＯＡＭセルが到来したポート番号（Ｐｏｒｔ  #）があらかじめ埋め込められたセルがスイッチブロック４から出力される。
【００７０】
ＣＰＵブロック６は、ＣＰＵリード信号、ＣＰＵライト信号、ＣＰＵアドレス、ＣＰＵデータをＯＡＭセル処理ブロック５に出力し、ＯＡＭセル処理ブロック５にＣＰＵデータを書込、ＯＡＭセル処理ブロック５からＣＰＵデータを受け取る。
【００７１】
ＯＡＭセル処理ブロック５は、スイッチブロック４からＯＡＭセルと、そのＯＡＭセルの先頭を示すＳＯＣ信号、障害ポート番号を受け取る。また、ＯＡＭセル処理ブロック５は、クロック信号発生回路（図示せず）からの、ＯＡＭセル信号に同期した19MＨｚのＣＬＫ信号、物理インターフェイスブロック２からポート障害信号Ｓ９を入力する。また、ＣＰＵブロック５からＣＰＵリード信号、ＣＰＵライト信号、ＣＰＵアドレス、ＣＰＵデータを入力する。
【００７２】
ＯＡＭセル処理ブロック５は、ＣＬＫ信号に同期して、ＳＯＣ信号、障害ポート番号、ポート障害信号Ｓ９、ＣＰＵリード信号、ＣＰＵライト信号、ＣＰＵアドレス、ＣＰＵデータに基づいて、入力されるＯＡＭセルに対して予め決められた処理を施した後、スイッチブロック４の予め決められた特定の入力ポートＢに処理済みＯＡＭセルＳ８を出力する。また、ＯＡＭセルの受信、送信に関するデータをＣＰＵブロック６に出力する。
【００７３】
図５（Ｂ）は、ＯＡＭセル処理ブロック５から出力されるＯＡＭセルのフォーマットを示す。このＯＡＭセルフォーマットは、基本的には図５（Ａ）に示されるフォーマットと同じである。異なる点は、ＡＴＭセルヘッダのＨＥＣフィールドに、セルの到来ポート番号（Ｐｏｒｔ＃）が書かれている点である。
【００７４】
スイッチブロック４は、他のＡＴＭセルと同様に、図５（Ｂ）に示されるフォーマットに基づいてＯＡＭセルを各出力ポートに振り分け、信号Ｓ１０−１〜Ｓ１０−ｎとして物理インタフェースブロック１１に出力する。
【００７５】
物理インターフェイスブロック１１は、スイッチブロック４から供給されるＡＴＭセルとＯＡＭセルにＳＤＨ／ＳＯＮＥＴフレームの処理を実行する。このとき、ＨＥＣフィールドに出力ポート番号に代えて、HECバイトを付加して標準のＡＴＭセルＳ１２−１〜Ｓ１２−ｎとして出力する。
【００７６】
このように、図５（Ａ）に示される標準フォーマットを持つ入力ＯＡＭセルは、図１の物理インタフェースブロック２上の全てのポートから、スイッチブロック４の特定ポートAに集められる。集められたＯＡＭセルは、障害発生ポート番号、各セルの先頭を示すＳＯＣ（Ｓｔａｒｔ  Ｏｆ  Ｃｅｌｌ）信号とともに、信号Ｓ７としてＳＲＡＭメモリブロック５０１に転送される。また、ＯＡＭセル信号に同期する19MＨｚのＣＬＫ信号もＳＲＡＭメモリブロック５０１に供給される。
【００７７】
このとき、図５（Ａ）に示されているＯＡＭセルの標準フォーマットのHECフィールド内に、図５（Ｂ）に示されるように、ＯＡＭセルの出所元であるポート番号（Ｐｏｒｔ  #）があらかじめ埋め込められている。そのようなセルがスイッチブロック４から入力され、ＳＲＡＭメモリブロック５０１に転送される。
【００７８】
また、物理ポートの障害（入力断、ＬＯＦ等）を示すポート障害（Ｐｏｒｔ  Ｆａｉｌ）信号Ｓ９も物理インタフェースブロック２からはＳＲＡＭメモリブロック５０１に入力される。それらの信号において、標準フォーマットのＯＡＭセルの処理に必要な情報、すなわちそのＯＡＭセルの出所元の物理ポート番号、ＶＰI、ＶＣI、そのＯＡＭセルがＡＩＳかＲＤＩかを示す情報、そのＯＡＭセルがＳｅｇｍｅｎｔかＥｎｄ−Ｅｎｄかを示す情報等々、及び物理ポートに障害が発生しているときそのポート番号を示す情報等々が書きこまれる。
【００７９】
図２と図３は、ＯＡＭセル処理ブロック５の詳細な構成を示すブロック図である。図２と図３を参照して、本実施形態のＯＡＭセル処理ブロック５は、入力ＦＩＦＯメモリ１  ２０１、カウンタ１  ２０２、入力ＦＩＦＯメモリ２  ２０３、カウンタ２  ２０４、アドレスセレクタ３０１、セレクタ１  ４０１，セレクタ２  ４０２，ロード信号生成回路４０５，リセット信号生成回路４０６，ＳＲＡＭメモリブロック５０１，セレクタ３  ５０２，セレクタ４  ５０３，カウンタ３  ５０４，出力ＦＩＦＯメモリ７０１，セット信号生成回路７０２，フリップフロップ７０３，スリーステートバッファ７０４，アドレスカウンタ８０６からなる。
【００８０】
図４は、アドレスセレクタ３０１の詳細な構成を示すブロック図である。図４を参照して、アドレスセレクタ３０１は、デコーダ２０９とセレクタ５  ２１０からなる。
【００８１】
入力ＦＩＦＯメモリ１  ２０１は、ＳＯＣ信号Ｓ１０２に基づいて、書込制御信号Ｓ２０５に応答してスイッチブロック４からＯＡＭセルＳ１０１を入力し、その一部のデータを格納する。一部のデータとは、具体的には、ＯＡＭセルの処理に必要な情報、即ち、ＯＡＭセルが入力された物理ポート番号、ＶＰＩ、ＶＣＩ、ＯＡＭセルがＡＩＳかＲＤＩかを示すデータ、ＯＡＭセルがＳｅｇｍｅｎｔかＥｎｄ−Ｅｎｄかを示すデータなどである。また、入力ＦＩＦＯメモリ１  ２０１は、読み出し制御信号Ｓ２０６に応答して、格納されているデータＳ３０１をデコーダ２０９、セレクタ１  ４０１、セレクタ５  ２１０に出力する。また、入力ＦＩＦＯメモリ１  ２０１の出力信号の一部Ｓ３０１−５は、カウンタ１２０２，リセット信号生成回路４０６に供給される。
【００８２】
カウンタ１  ２０２は、入力ＦＩＦＯメモリ１  ２０１の出力データＳ３０１−５、入力ＦＩＦＯメモリ２  ２０３の出力信号Ｓ３０８、ＳＯＣ信号Ｓ１０２、ＣＬＫ信号Ｓ１０４、アドレスカウンタ８０６の出力の一部Ｓ５１３−３を入力して、入力ＦＩＦＯメモリ１  ２０１への書込制御信号Ｓ２０５と読み出し制御信号Ｓ２０６を生成する。
【００８３】
入力ＦＩＦＯメモリ２  ２０３は、物理インターフェイスブロック２からのポート障害信号Ｓ１０９と書込制御信号Ｓ２０７に基づいて、ＳＤＨ／ＳＯＮＥＴ信号のインタフェースで発生した入力断やLOF（Ｌｏｓｓ  Ｏｆ  Ｆｒａｍｅ）等の障害を起こしているポート番号のデータＳ１０３を入力して一時格納する。また、入力ＦＩＦＯメモリ２  ２０３は、読み出し制御信号Ｓ２０８に応答して格納データＳ３０８をセレクタ１  ４０１に出力する。また、入力ＦＩＦＯメモリ２  ２０３は、信号Ｓ３０８を発生し、カウンタ１  ２０２、カウンタ２  ２０４、ロード信号生成回路４０５、リセット信号生成回路４０６、セレクタ１  ４０１、セレクタ２  ４０２に出力する。
【００８４】
前記入力ＦＩＦＯメモリ1から情報が読み出され、ＳＲＡＭメモリブロック５０１にアクセスする際のアドレスＡとしてのアドレスＳ３０１−１が作られる。そのアドレスは、受信ＯＡＭセルがＡＩＳ  ＯＡＭセルかＲＤＩ  ＯＡＭセルかを示すビット（1ビット）、ＯＡＭセルの到来したポート番号（5ビット）、ＶＰＩ（8ビットあるいは4ビット）、ＶＣＩ（5ビットあるいは9ビット）、ＳｅｇｍｅｎｔあるいはＥｎｄ−Ｅｎｄかを示すビット（1ビット）の合計２０ビットで構成されている。前記入力ＦＩＦＯメモリ2から情報が読み出され、ＳＲＡＭメモリブロック５０１にアクセスする際のアドレスＣとしてのアドレスＳ３０３がそれぞれ作られる。そのアドレスＣでは、受信ＯＡＭセルがＡＩＳ  ＯＡＭセルかＲＤＩ  ＯＡＭセルかを示すビット（1ビット）として”０”が書かれ、ＯＡＭセルの到来したポート番号（5ビット）等で構成されている。
【００８５】
カウンタ２  ２０４は、物理インターフェイスブロック２からポート障害信号Ｓ１０５、ＣＬＫ信号Ｓ１０４、入力ＦＩＦＯメモリ２  ２０３の出力データＳ３０８、アドレスカウンタ８０６の出力の一部Ｓ５１３−３を入力して、入力ＦＩＦＯメモリ２  ２０３への書込制御信号Ｓ２０７と読み出し制御信号Ｓ２０８を生成する。
【００８６】
デコーダ２０９（図４）は、入力ＦＩＦＯメモリ１  ２０１の出力信号の一部Ｓ３０１−２を入力してデコードする。デコード結果に基づいて、選択制御信号Ｓ３１１−１とＳ３１１−２が生成され、セレクタ５  ２１０に供給される。
【００８７】
セレクタ５  ２１０は、入力ＦＩＦＯメモリ１  ２０１からの信号の一部３０１−３、アドレスカウンタ８０６からの信号の一部Ｓ５１３−１と入力ＦＩＦＯメモリ１  ２０１からの信号の一部３０１−４との結合、及びアドレスカウンタ８０６からの信号の一部Ｓ５１３−２と入力ＦＩＦＯメモリ１  ２０１からの信号の一部３０１−５との結合のうちの１つを、選択制御信号３１１−１とＳ３１１−２に基づいて選択し、下位アドレスＡとして信号Ｓ３０１−６をセレクタ２４０２に出力する。
【００８８】
セレクタ１  ４０１は、上位アドレスＡとして入力ＦＩＦＯメモリ１  ２０１からの信号の一部Ｓ３０１−１と、上位アドレスＢとＤとしてＣＰＵブロック６から入力されるＣＰＵアドレス信号Ｓ８０３と、上位アドレスＣとして入力ＦＩＦＯメモリ２  ２０３からの信号Ｓ３０６とのうちの１つを、カウンタ３  ５０４からの信号Ｓ３０９と入力ＦＩＦＯメモリ２  ２０３からの信号Ｓ３０８とに基づいて選択し、メモリアドレス信号Ｓ４０３としてＳＲＡＭメモリブロック５０１に出力する。
【００８９】
セレクタ２  ４０２は、下位アドレスＡとしてセレクタ５  ２１０からの信号Ｓ３０１−６と、下位アドレスＢとＤとしてＣＰＵブロック６から入力されるＣＰＵアドレス信号Ｓ８０３と、下位アドレスＣとしてアドレスカウンタ８０６からの信号Ｓ５１３とのうちの１つを、カウンタ３  ５０４からの信号Ｓ３０９と入力ＦＩＦＯメモリ２  ２０３からの信号Ｓ３０８とに基づいて選択し、メモリアドレス信号Ｓ４０４としてＳＲＡＭメモリブロック５０１に出力する。
【００９０】
ロード信号生成回路４０５は、カウンタ３  ５０４の出力Ｓ５１４と入力ＦＩＦＯメモリ２  ２０３の出力Ｓ３０８を入力してロード信号Ｓ４０８を発生し、カウンタ３  ５０４に供給する。
【００９１】
リセット信号生成回路４０６は、入力ＦＩＦＯメモリ１  ２０１の出力の一部Ｓ３０１−５と入力ＦＩＦＯメモリ２２０３の出力Ｓ３０８を入力してリセット信号Ｓ４０７を生成し、カウンタ３  ５０４とアドレスカウンタ８０６に供給する。
【００９２】
カウンタ３  ５０４は、５３分周カウンタであり、入力ＦＩＦＯメモリ２０１と２０３とＣＰＵがＳＲＡＭメモリブロック５０１をアクセスするタイミングを制御するためのアクセスタイミング制御信号を発生する。こうして、カウンタ３５０４は、ＣＰＵとＦＩＦＯメモリ２０１と２０３とのアクセスタイミングを分け、ＣＰＵが送出されるべきＯＡＭセルの内容を自由に変更することを可能とする。
【００９３】
カウンタ３  ５０４は、リセット信号生成回路４０６からのリセット信号によりリセットされる。また、カウンタ３  ５０４は、ロード信号Ｓ４０８に応答して１９ＭＨｚのクロック信号Ｓ１０４を入力して５３分周し、信号Ｓ３０９，Ｓ５１１，Ｓ５０５、Ｓ５１２，Ｓ５０８，Ｓ５０９，Ｓ７０６，Ｓ５１４を出力する。信号Ｓ５１１とＳ５０５は、セレクタ３  ５０２に供給される。信号Ｓ５０６とＳ５０６はセレクタ４  ５０３に供給される。信号Ｓ５１０は、セット信号生成回路７０２に供給される。信号Ｓ７０６は、Ｒ／Ｓフリップフロップ７０３に供給される。信号Ｓ５１４は、アドレスカウンタ８０６とロード信号生成回路４０５に供給される。
【００９４】
アドレスカウンタ８０６は、クロック信号として信号Ｓ５１４をカウンタ３  ５０４から入力してアドレス信号Ｓ５１３を生成してセレクタ２  ４０２、セレクタ１  ４０１、セレクタ５  ２１０に供給する。また、アドレス信号の一部Ｓ５１３−３はカウンタ１  ２０２とカウンタ２  ２０４に供給される。
【００９５】
セレクタ３  ５０２は、カウンタ３からの信号Ｓ５１１に基づいてカウンタ３からの信号Ｓ５０５とＣＰＵリード信号Ｓ８０４のうちの一方を選択し、信号Ｓ５０７としてＳＲＡＭメモリブロック５０１０に出力する。
【００９６】
セレクタ４  ５０３は、カウンタ３からの信号Ｓ５１２に基づいてカウンタ３からの信号Ｓ５０６とＣＰＵライト信号Ｓ８０５のうちの一方を選択し、信号Ｓ５０８としてＳＲＡＭメモリブロック５０１０に出力する。
【００９７】
セット信号生成回路７０２は、カウンタ３  ５０４からの信号Ｓ５１０に応答してＣＰＵデータの一部Ｓ８０２−２を入力してセット信号Ｓ７０５をＲ／Ｓフリップフロップ７０３に出力する。
【００９８】
Ｒ／Ｓフリップフロップ７０３は、セット信号生成回路７０２からの信号Ｓ７０５によりセットされ、カウンタ３  ５０４からの信号Ｓ７０６によりリセットされる。Ｒ／Ｓフリップフロップ７０３のＱ出力はトリステートゲート７０４に供給される。ゲート７０４はカウンタ３  ５０４からの信号Ｓ５０９に応答してＲ／Ｓフリップフロップ７０３のＱ出力をＣＰＵデータの一部Ｓ８０２−３として出力する。
【００９９】
ＳＲＡＭメモリブロック５０１は、セレクタ１  ４０１からのメモリアドレス信号Ｓ４０３とセレクタ２  ４０２からのメモリアドレス信号Ｓ４０４を受ける。また、ＳＲＡＭメモリブロック５０１は、セレクタ３  ５０２の出力信号Ｓ５０７をリード制御信号として受け、データＳ６０１をＣＰＵデータＳ８０２として出力し、また出力ＦＩＦＯメモリ７０１に出力する。さらに、ＳＲＡＭメモリブロック５０１は、セレクタ４  ５０３の出力信号Ｓ５０８をライト制御信号として受け、ＣＰＵデータ８０２を書込データＳ６０１として受ける。
【０１００】
出力ＦＩＦＯメモリ７０１は、データＳ６０１を入力して出力ＯＡＭセルＳ８０１を出力する。こうして、出力ＦＩＦＯメモリ７０１は、ＳＲＡＭメモリ５０１から読み出されたＯＡＭセルを一時格納する。
【０１０１】
次に、本発明の第１の実施形態によるＡＴＭセル転送装置の動作を説明する。ここで、まず本発明のＡＴＭセル転送装置が適用される環境の一例について以下に説明する。
【０１０２】
本発明は、全ての入出力信号が対称なシステム構成のみならず、図１７に示されるようなシステム構成にも適用可能である。図１７を参照して、物理インタフェースポートが２９ポートあり、ポート１からポート２８までがトリビュータリインタフェース（155Mb／s）に割り当てられ、ポート２９はアグリゲートインタフェース（622Mb／s）に割り当てられている。基本的にトリビュータリインタフェースからの信号はアグリゲートインタフェースへ多重化され、あるいは逆に分離される（トータルのシステムスループットは約５Ｇｂ／ｓとなる）。
【０１０３】
図１７において、ＶＰＩ／ＶＣＩは以下のように割り当てられている。即ち、トリビュータリインタフェースの物理インタフェースポート１〜２８の各々には、ＶＰＩ＝０〜２５５  （８ビット）が割り当てられ、各ＶＰＩに対してＶＣＩ＝１〜３２（５ビット）が割り当てられている。また、アグリゲートインタフェースの物理インタフェースポート２９では、ＶＰＩ＝０〜１５（４ビット）が割り当てられており、各ＶＰＩに対してＶＣＩ＝１〜５１２（９ビット）が割り当てられている。
【０１０４】
この例では、トリビュータリインタフェース側のコネクション総数は３２×２５６×２８  =２２９，３７６であるのに対し、アグリゲートインタフェース側のコネクション総数は５１２×１６＝８，１９２である。従って、トリビュータリインタフェース側からアグリゲートインタフェース側への有効なコネクション総数は最大でも８，１９２である。
【０１０５】
物理インタフェースブロック２において、ＡＴＭセル転送装置の外部から入力され、外部に出力されるATMセルのうち、特にＶＣＩ＝０〜３１は国際標準化機関（ＩＴＵ−Ｔ及びＡＴＭ  Ｆｏｒｕｍ）によって予約されており、自由に使用することができない。
【０１０６】
しかしながら、本発明においては、分かりやすくするためにトリビュータリインタフェース側のPＶＣ  （Ｐｅｒｍａｎｅｎｔ  Ｖｉｒｔｕａｌ  Ｃｈａｎｎｅｌ）コネクションにおいて、ＡＴＭセル転送装置の外部から入力されるATMＯＡＭセルのうち、ＶＣI＝３２〜６１をＶＣI＝１〜３１、Ｆ４（ＶＰ）フローとしてのATM  ＯＡＭセル（ＶＣI＝３：Ｓｅｇｍｅｎｔ、4：Ｅｎｄ−Ｅｎｄ）をＶＣI＝０と読み替えて処理している。
【０１０７】
また、アグリゲートインタフェース側のPＶＣコネクションにおいても同様に、ＡＴＭセル転送装置の外部から入力されるATM  ＯＡＭセルのうち、ＶＣI＝３２〜５４３をＶＣI＝１〜５１２、Ｆ４（ＶＰ）フローとしてのATM  ＯＡＭセル（ＶＣI＝３：Ｓｅｇｍｅｎｔ、４：Ｅｎｄ−Ｅｎｄ）をＶＣI＝０と読み替えて処理している。
【０１０８】
次に、ＳＲＡＭメモリブロック５０１のメモリマップについて図６、図７を参照して詳述する。図６は、ＳＲＡＭメモリブロック５０１のメモリ構成の全体から各セグメントに至るまでの詳細な構造を示している。この例では、３２ポートが存在し、そのうちポートＰＯＲＴ＃１〜＃２８がトリビュータリインタフェースであり、ポートＰＯＲＴ＃２９〜＃３２がアグリゲートインタフェースである場合を想定している。
【０１０９】
図６（Ａ）は、その全体のアドレスマップを示す。ここでＳＲＡＭメモリは、１６進で０００００ｈ番地からＦＦＦＦＦh番地までのアドレスを有し、各アドレスはD０〜D２７の２８ビット幅を有するセグメントからなる。ＳＲＡＭメモリブロック５０１の各アドレスには出力されるべきＯＡＭセルデータが予め書きこまれている。
【０１１０】
即ち、本発明のＡＴＭセル転送装置が立ち上げられるとき、あるいは、実際にＣＰＵブロック６がビジーではないときに、ＣＰＵブロック６によりＳＲＡＭメモリブロック５０１には各アドレス毎に予め決められたデータが書き込まれる。
【０１１１】
図６（Ｂ）に示されるように、メモリエリアは、まずＲＤＩ  ＯＡＭセルの受信のためのエリアとＡＩＳ／ＲＤＩ  ＯＡＭセルの送信のためのエリアとに２分されている。ＲＤＩ  ＯＡＭセルの受信のためのエリアとＡＩＳ／ＲＤＩ  ＯＡＭセルの送信のためのエリアは、さらにポートごとに分割されている。
【０１１２】
例えば図1のスイッチブロック４が、5Gb／sのスループットをもち、155Mb／sのスループットを持った３２本分のＳＤＨ／ＳＯＮＥＴ信号を収容できるとすると、ＳＲＡＭメモリブロック５０１は上半分のエリアと下半分のエリアはそれぞれ32ポートに対応して分割される。
【０１１３】
こうして、図６（Ｂ）に示されるように、ＡＩＳ  ＯＡＭセル受信時あるいはポート障害時に使用されるＳＲＡＭメモリブロック５０１のメモリ領域は、下側半分のＰｏｒｔ  ＃１〜＃３２の領域である。ＲＤＩ  ＯＡＭセル受信時に使用されるメモリ領域は、上側半分のPORT  ＃１〜＃３２の領域である。
【０１１４】
また図６（Ｃ）は、Ｐｏｒｔ  ＃１〜＃２８までの各ポートにおいてＶＰＩが０〜２５５である場合を想定している。また、図６（Ｄ）では、Ｐｏｒｔ  ＃２９〜＃３２までの各ポートにおいてＶＰＩが０〜１５である場合を想定している。
【０１１５】
図６によれば、各ＶＰＩ（ｎは整数:  ０≦ｎ≦２５５）フィールドの分割された領域内には同様に複数のＶＣＩとしてのデータが書きこまれている。
【０１１６】
このように、ＳＲＡＭメモリブロック５０１内のメモリマップにおいて、トリビュータリインタフェース側のポートＰＯＲＴ＃１〜＃２８は図６（Ｃ）が適用され、アグリゲートインタフェース側のポートＰＯＲＴ＃２９〜＃３２は図６（Ｄ）が適用される。このような構成を持ったシステムの場合、図６においてＰｏｒｔ  ＃１から＃２８まではＶＰIが8ビット、ＶＣIが5ビットであるが、Ｐｏｒｔ  ＃２９から＃３２はＶＰIが4ビット、ＶＣIが9ビットとなる。
【０１１７】
図７は、入力ＯＡＭセルの情報とＳＲＡＭメモリブロック５０１に格納される出力ＯＡＭセルとの関係を示す。図７（Ａ）は、メモリ領域を指定するためのアドレスの構成を示す。図５を参照して、先頭ビットは、ＯＡＭセルのセルペイロード内のＦｕｎｃｔｉｏｎ  ＴｙｐｅフィールドのＬＳＢビットである。次にポート番号を特定する５ビットである。これは、ＡＴＭセルヘッダのポート番号である。次に、ＶＰＩ、ＶＣＩ。ポート番号＃１−＃２８では、ＶＰＩはＡＴＭセルヘッダの下位８ビットであり、ＶＣＩはＬＳＢから６ビット目から１０ビット目の５ビットである。また、ポート番号＃２９−＃３２では、ＶＰＩはＡＴＭセルヘッダの下位４ビットであり、ＶＣＩはＬＳＢから６ビット目から１４ビット目の９ビットである。アドレスのＬＳＢは、ＶＣＩまたはＰＴＩの値の所定ビットの値が使用される。
【０１１８】
このように、受信されたＯＡＭセルがＡＩＳ  ＯＡＭセルあるいはＲＤＩ  ＯＡＭセルか、ポート番号、ＶＰI、ＶＣI、そのタイプはＳｅｇｍｅｎｔあるいはＥｎｄ−Ｅｎｄか、また障害を起こしたポート番号等々が分かればＯＡＭセルの処理を実行することができる。
【０１１９】
そこで、ＯＡＭセルのセルペイロード内のＦｕｎｃｔｉｏｎ  Ｔｙｐｅフィールドのビットに基づいて、つまり受信ＯＡＭセルがＡＩＳ  ＯＡＭセルかＲＤＩＯＡＭセルかに基づいてＳＲＡＭメモリブロック５０１の上位メモリ領域と下位メモリ領域のどちらかが指定される。ＡＩＳ  ＯＡＭセルの場合は、図７（Ａ）の先頭ビットが”０”なので、ＳＲＡＭメモリブロック５０１の下位メモリ領域のポート＃１から＃３２までの領域が指定される。一方、ＲＤＩ  ＯＡＭセルの場合は、図７（Ｂ）の先頭ビットが”１”なので、上位メモリ領域のポート＃１から＃３２までの領域が指定される。
【０１２０】
次に、図７（Ａ）のポート番号を示す５ビットに基づいて、つまり受信ＯＡＭセルが３２本あるポートのうちどのポートから来たかを示す情報に基づいて、上半分あるいは下半分のいずれかのメモリ領域の対応するポート番号の領域が指定される。
【０１２１】
次に、図７（Ａ）の受信ＯＡＭセルがどのＶＰＩかを示すＶＰＩ番号を示すビットは  Ｐｏｒｔ  ＃１〜＃２８は8ビットであり、Ｐｏｒｔ  #２９〜＃３２は4ビットである。ＶＰＩ番号を示すデータに基づいて指定されたポート番号の領域中の該当するＶＰＩ番号の領域が指定される。
【０１２２】
次に、図７（Ａ）の受信ＯＡＭセルがどのＶＣＩかを示すＶＣＩ番号を示すビットはＰｏｒｔ  ＃１〜＃２８は5ビットであり、Ｐｏｒｔ  #２９〜＃３２は9ビットである。ＶＣＩ番号を示すデータに基づいて該当するＶＣＩ番号の領域が指定される。
【０１２３】
最後のビットであるＳｅｇｍｅｎｔあるいはＥｎｄ−Ｅｎｄを示すビットは、Ｓｅｇｍｅｎｔの場合は”０”なので、各ＶＣＩ領域の下位アドレスすなわち偶数アドレスが指定される。また、Ｅｎｄ−Ｅｎｄの場合は”１”なので、各ＶＣＩ領域の上位アドレスすなわち奇数アドレスが指定される。
【０１２４】
ＳＲＡＭメモリブロック５０１には、図７（Ｂ）に示されるようなデータがアドレスを単位として格納されている。
【０１２５】
各アドレスには、以下のような２８ビットのデータが書かれている。即ち、ＲＤＩ  ＯＡＭセルが受信されたか否か（1ビット：Ｄ２７）、ＡＩＳ  ＯＡＭセルあるいはＲＤＩ  ＯＡＭセルとしてＯＡＭセルが出力されたか否か（1ビット：Ｄ２６）、そのＦ４（ＶＰ）のコネクションは有効か（使用されている又は終端点か）無効か（使用されていない終端点でないか）（1ビット：Ｄ２５）、Ｆ４（ＶＰ）コネクションにおいて出力されるべきＯＡＭセルがＡＩＳ  ＯＡＭセルかＲＤＩ  ＯＡＭセルか（1ビット：Ｄ２４）、そのＦ５（ＶＣ）のコネクションは有効か（使用されている又は終端点か）無効か（使用されていない終端点でないか）（1ビット：Ｄ２３）、Ｆ５（ＶＣ）コネクションにおいて出力されるべきＯＡＭセルがＡＩＳ  ＯＡＭセルかＲＤＩ  ＯＡＭセルか（1ビット：Ｓ２２）、その出力されるべきＯＡＭセルの出力ポート（5ビット：Ｄ１７〜Ｄ２１）、ＶＰＩ（8ビット：Ｄ９〜Ｄ１６）、ＶＣＩ（9ビット：Ｄ０〜Ｄ８）である。
【０１２６】
従って、例えば、受信ＯＡＭセルがＡＩＳ  ＯＡＭセルであり、受信Ｐｏｒｔ番号が１であり、ＶＰＩ=０、ＶＣＩ=3（Ｓｅｇｍｅｎｔ）である時（この時はＶＣＩ=0として処理される）、図７（Ｂ）に示されるように、ＳＲＡＭメモリブロックの領域上では一番低いアドレスが参照される。
【０１２７】
以上のアドレスビットデータに基づいて出力されるべきＯＡＭセルの内容が唯一決められる。有効なＯＡＭセルがＳＲＡＭメモリブロック５０１に書き込まれている場合、ＯＡＭセルは、出力ＦＩＦＯメモリ７０１から出力され、図1においてはＯＡＭセル処理ブロック5から信号Ｓ８０１としてスイッチブロック４のポートBに1秒間に１回データが出力される。こうして、出力側の物理インタフェースブロック１１からＯＡＭセルが出力される。
【０１２８】
また、ポート障害が起きたときには、ＲＤＩ  ＯＡＭセルは受信されていないので、先頭ビットＤ２７は０であり、また、障害発生ポート番号だけが分かっているので、それに対応する複数のアドレスがアクセスされることになる。これにより、複数の連続する出力ＯＡＭセルが出力ＦＩＦＯメモリ７０１に出力される。
【０１２９】
次に、ＳＲＡＭメモリブロック５０１へのリードアクセスとライトアクセスの動作とタイミングについて説明する。
【０１３０】
ＳＲＡＭメモリブロック５０１への書き込み及び読み出し動作は、ＯＡＭセル処理ブロック５の内部回路あるいはＣＰＵブロック６の両方がアクセスできるようにタイミングが分割されている。その詳細について図８（Ａ）から（Ｃ）を参照して説明する。
【０１３１】
まず、タイミング分割のための制御信号は５３分周のカウンタ3  ５０４で生成される。図８（Ａ）のタイミングチャートに示されるように、1ＡＴＭセルのＯＡＭセル処理ブロック５への最大到着可能時間（155Mb／s）及びＯＡＭセル処理ブロック５からの最大出力可能時間（155Mb／s）が一周期として設定されている。実際はデータは8ビットパラレルに展開されているので、1ＡＴＭセル時間は１５５Mb／sで入出力される時間の8倍に設定されている。
【０１３２】
図８（Ｃ）に示されるように、１ＡＴＭセル周期がハードウェアアクセス時間、ＣＰＵアクセス時間とに分けられ、さらにそれぞれが読み出し時間と書き込み時間に分けるられている。即ち、５３バイトの１ＡＴＭセル周期が周期Ａ，Ｂ，Ｃ，Ｄの4つに分割されている。これに対応するように、カウンタ３  ５０４はクロック信号を５３分周する。
【０１３３】
最初のＡＴＭセル周期Aは、図８（Ｃ）に示されるように、Ｓｔａｒｔ  ＯｆＣｅｌｌ（SOC）信号を基準として1バイト目から14バイト目までである。ＡＴＭセル周期AではＳＲＡＭメモリブロック５０１の内部回路によるリードアクセスが行われる。
【０１３４】
次のＡＴＭセル周期Bは、Ｓｔａｒｔ  Ｏｆ  Ｃｅｌｌ（SOC）信号を基準とし15バイト目から28バイト目までの時間である。このの周期ＢではＳＲＡＭメモリブロック５０１の内部回路によるライトアクセスが行われる。
【０１３５】
また次のＡＴＭセル周期Cは、Ｓｔａｒｔ  Ｏｆ  Ｃｅｌｌ（SOC）信号を基準とし29バイト目から42バイト目までの時間である。ＡＴＭセル周期Cでは、ＣＰＵブロック６によるリードアクセスが行われる。
【０１３６】
最後のＡＴＭセル周期Dは、Ｓｔａｒｔ  Ｏｆ  Ｃｅｌｌ（SOC）信号を基準とし43バイト目から53バイト目までの時間である。ＡＴＭセル周期DではＣＰＵブロック６によるライトアクセスが行われる。
【０１３７】
このようなアクセス・タイミングの分割を行うためにＳＲＡＭメモリブロック５０１への各種制御信号がアクティブになるタイミングがシフトされる必要がある。こうして、読み出し（RD）信号Ｓ５０７及び書き込み（WR）信号Ｓ５０８がセレクタ３  ５０２とセレクタ４  ５０３によって発生される。
【０１３８】
セレクタ３  ５０２及びセレクタ４  ５０３への制御信号Ｓ５１１とＳ５１２は図２のカウンタ３（53分周）５０４により生成される。上述の説明から明らかなように、制御信号Ｓ５１１は、周期Ａと周期Ｃにおいてアクティブであり、制御信号Ｓ５１２は周期Ｂと周期Ｄにおいてアクティブである。
【０１３９】
従って、周期Ａでは、セレクタ３  ５０２は、カウンタ５０４からの信号Ｓ５０５を選択し、周期Ｃでは、セレクタ３  ５０２は、ＣＰＵブロック６からのＣＰＵリード信号Ｓ８０４を選択する。選択された信号は、制御信号Ｓ５０７としてＳＲＡＭメモリブロック５０１に出力される。
【０１４０】
また、周期Ｂでは、セレクタ４  ５０３は、カウンタ５０４からの信号Ｓ５０６を選択し、周期Ｄでは、セレクタ４  ５０３は、ＣＰＵブロック６からのＣＰＵライト信号Ｓ８０５を選択する。選択された信号は、制御信号Ｓ５０８としてＳＲＡＭメモリブロック５０１に出力される。
【０１４１】
また、アドレス信号Ｓ４０３及びＳ４０４はセレクタ１  ４０１及びセレクタ２  ４０２によって生成される。それぞれのセレクタ1  ４０１及びセレクタ２４０２への制御信号はＳ３０８及びＳ３０９である。制御信号Ｓ３０９に基づいて入力信号A又はB、C又はDの選択が行われ、制御信号Ｓ３１０に基づいて入力信号C及びDあるいは入力信号（Ａ及びB）の選択が行われる。
【０１４２】
例えば、Ｆ５（ＶＣ）フローレベルのＡＩＳ  ＯＡＭセルが受信される時、最初のＡＴＭセル周期Ａで、前述されたアドレス（ＡＩＳ／ＲＤＩ＋受信ポート番号＋ＶＰＩ＋ＶＣＩ＋Ｓｅｇｍｅｎｔ／Ｅｎｄ−Ｅｎｄの20ビット）でＳＲＡＭメモリブロック５０１がアクセスされる。
【０１４３】
ＡＩＳ  ＯＡＭセルが受信されるとき、ＡＴＭセル転送装置がそのＰＶＣコネクションのＳｅｇｍｅｎｔの終端点あるいはＥｎｄ−Ｅｎｄの終端点である場合、ＲＤＩ  ＯＡＭセルを返送する必要があり、受信ＡＩＳ  ＯＡＭセルに対応するアドレスのＲＤＩ  ＯＡＭセルがＳＲＡＭメモリブロック５０１から読み出され、出力ＦＩＦＯメモリ７０１へと書きこまれる。このＲＤＩ  ＯＡＭセルのデータは、前述のように、ＳＲＡＭメモリブロック５０１にあらかじめ書き込まれている。
【０１４４】
また、ＲＤＩ  ＯＡＭセルが受信される場合は以下の通りである。
【０１４５】
入力ＦＩＦＯメモリ1  ２０１から読み出された情報（ＡＩＳ／ＲＤＩ＋受信ポート番号＋ＶＰI＋ＶＣI＋Ｓｅｇｍｅｎｔ／Ｅｎｄ−Ｅｎｄの20ビット）によりＳＲＡＭメモリブロック５０１がアクセスされる。ＲＤＩ  ＯＡＭセルが受信されたので、図７の最初のビット（ＡＩＳ／ＲＤＩ）は”１”であるので、図６の上側半分のＳＲＡＭメモリ領域にアクセスされる。
【０１４６】
最初のATMセル周期Aは読み出し周期であるが、前述したようにそのアドレスがＰＶＣコネクションの終端点ではない場合（図７：ビットＤ２３，Ｄ２５参照）、ＲＤＩ  ＯＡＭセルは中断されることなく本アドレスのデータによる出力ＦＩＦＯメモリ７０１への書き込みが行なわれ、ＲＤＩ  ＯＡＭセルは出力される。しかしながら、ＡＴＭセル転送装置が、そのＰＶＣコネクションの終端点の場合、ＲＤＩ  ＯＡＭセルも終端される必要があり、ＲＤＩ  ＯＡＭセルは出力されない。
【０１４７】
次ATMセル周期Bでは、R／Sフリップフロップ７０３からの信号Ｓ８０２−３がセットされ、前述してきたようにＳＲＡＭメモリブロック５０１のデータのＤ２７（最上位のビット）に”１”が書きこまれる。これにより、上記アドレスがアクセスされるように、ＲＤＩ  ＯＡＭセルが受信されたこと、あるいは受信中であることが示される。また、同様にＤ２６ビットに”１”を書きこむことでＲＤＩ  ＯＡＭセルが出力された事が示される。
【０１４８】
R／Sフリップフロップ７０３をセット及びリセットする為の制御信号やその出力タイミングはＦ５（ＶＣ）フローレベルのＡＩＳ  ＯＡＭセル受信の場合と同様である。
【０１４９】
またＡＴＭセル周期CとDでは、それぞれＣＰＵブロック６がＳＲＡＭメモリブロック５０１をアクセスできる周期であるので、ＣＰＵブロック６はアドレスのＤ２７及びＤ２６ビットを読み出すことにより該当ＲＤＩ  ＯＡＭセルが受信されているか否か、あるいは受信中であるか否かと、またPＶＣコネクションの終端点で無い場合には、対応する出力ＯＡＭセルが継続して出力されたか否かを知る事ができる。
【０１５０】
次に、ＡＴＭ周期における動作を説明する。
【０１５１】
ＡＴＭ周期Ａにおいて、ＳＲＡＭメモリブロック５０１へのアドレスは以下のようになる。即ち、この場合、信号Ｓ３０１−１として図７におけるＡＩＳ／ＲＤＩ  （この場合”０”）及びＰｏｒｔ  ＃番号  （5ビット）がアドレスＡとしてセレクタ１  ４０１に出力される。
【０１５２】
また、デコーダ２０９は、受信ＯＡＭセルのデータＳ３０１−２（Ｆ５（ＶＣ）フローレベルのＡＩＳ  ＯＡＭセルのデータ）に基づいて、セレクタ５  ２１０へ制御信号Ｓ３１１−１とＳ３１１−２を出力する。この場合、セレクタ５  ２１０は、制御信号Ｓ３１１−１とＳ３１１−２に基づいて、出力データＳ３０１−６としてデータＳ３０１−３を選択する。こうして、図７におけるＶＰＩ／ＶＣＩとＳｅｇｍｅｎｔ／Ｅｎｄ−Ｅｎｄの計14ビットに対するアドレス部が生成され、アドレスＡとしてセレクタ２  ４０２に出力される。
【０１５３】
カウンタ３  ５０４は、信号Ｓ３０９を発生し、また、入力ＦＩＦＯ２  ２０３からの信号Ｓ３０８を発生する。セレクタ１  ４０１とセレクタ２  ４０２は、制御信号Ｓ３０８とＳ３０９に基づいて、アドレスAを選択し、アドレスＳ４０３とＳ４０４としてＳＲＡＭメモリブロック５０１へ出力する。ここでデータを読み出すためのＯＡＭセル処理ブロック５の内部回路によるリードアクセス（以下、ハードウェアリードアクセスと言うことがある）のために、制御信号Ｓ５０５がカウンタ３  ５０４により生成され、制御信号Ｓ５１１に応答してセレクタ３  ５０２により選択され、リード制御信号Ｓ５０７としてＳＲＡＭメモリブロック５０１に出力される。こうして、受信ＡＩＳ  ＯＡＭセルに対応するＯＡＭセルデータが出力ＦＩＦＯメモリ７０１に出力される。
【０１５４】
次のＡＴＭセル周期Ｂは、書き込み周期である。ＯＡＭセル処理ブロック５の内部回路によるライトアクセス（以下、ハードウェアライトと言うことがある）のための制御信号Ｓ５０６がカウンタ３  ５０４により生成され、制御信号Ｓ５１２に応答してセレクタ４  ５０３により選択され、ライト制御信号Ｓ５０８としてＳＲＡＭメモリブロック５０１に出力される。
【０１５５】
同時に、R／Sフリップフロップ７０３からの信号Ｓ８０２−３がセットされ、ＡＴＭセル周期ＢにおいてＳＲＡＭメモリブロック５０１のデータセグメントのＤ２６ビット（最上位から２番目のビット）に”１”が書きまれる（図７参照）。これにより、このアドレスがアクセスされ、ＯＡＭセルが出力されたこと、あるいは出力中であることが示される。
【０１５６】
R／Sフリップフロップ７０３をセットするための制御信号Ｓ５１０は、ＡＴＭセル周期Ｂに入る直前のタイミング（図７のＳＯＣ信号より14バイト目位）でカウンタ３  ５０４から定期的に出力される。しかしながら、実際は読み出され、出力されるＯＡＭセルとしてのフロー、つまりデータＳ８０２−２としてＤ２５ビット（Ｆ４（ＶＰ））あるいはＤ２３ビット（Ｆ５（ＶＣ））（この例ではＤ２３ビット）が有効な場合のみ、信号５１０はセット信号生成回路７０２よりアクティブとされ、信号Ｓ７０５として、Ｒ／Ｓフリップフロップ７０３へ出力される。
【０１５７】
Ｒ／Ｓフリップフロップ７０３は周期Bの最後（図８のSOCより28バイト目位）でカウンタ３  ５０４からの信号Ｓ７０６により周期的にリセットされる。ここでスリーステートバッファ７０４は、カウンタ３  ５０４からの信号Ｓ５０９に応答して本周期Bの間のみアクティブとされる。
【０１５８】
Ｒ／Ｓフリップフロップ７０３の出力は、信号Ｓ８０２−３としてＤ２５ビット（Ｆ４（ＶＰ））あるいはＤ２３ビット（Ｆ５（ＶＣ））ビット（この例ではＤ２３ビット）が有効な場合のみ書きこまれる。こうして、ＡＴＭセル周期Bでは出力ＦＩＦＯメモリ７０１へ格納されるＯＡＭセルデータとＳＲＡＭメモリブロック５０１に格納されているＯＡＭセルデータの両方への書込が行われる。
【０１５９】
ＡＴＭセル周期C及び周期Dは、それぞれＣＰＵブロック６がＳＲＡＭメモリブロック５０１をアクセスできる周期である。
【０１６０】
ＡＴＭセル周期Cは、リードアクセス周期である。ＣＰＵブロック６がアドレスを出力し、データ読み出すための信号ＣＰＵリードＳ８０４がセレクタ３  ５０２により信号Ｓ５１１に応答して選択され、信号Ｓ５０７としてＳＲＡＭメモリブロック５０１に出力される。また、ＣＰＵアドレスＳ８０３は、ＡＴＭセル周期のタイミングと同期されていて、ＳＲＡＭメモリブロック５０１へと出力される。
【０１６１】
ＡＴＭセル周期Cにおいては、情報の読み出しの他に、ハードウェアライトアクセス時に書きこまれた、ＡＩＳ  ＯＡＭセルあるいはＲＤＩ  ＯＡＭセルが出力されたか否か（D２６ビット）と、ＲＤＩ  ＯＡＭセルが受信されたか（D２７ビット）否かとについての情報が読み出される。
【０１６２】
ＡＴＭセル周期Ｄでは、ＣＰＵライトアクセス周期である。ＣＰＵブロック６がＣＰＵアドレスＳ８０３を出力し、データ書きこみの為の信号ＣＰＵライトＳ８０５が、セレクタ４  ５０３で信号Ｓ５１２に応答して選択され、信号Ｓ５０８としてＳＲＡＭメモリブロック５０１に出力される。ＣＰＵアドレスＳ８０３もＡＴＭセル周期Ｄのタイミングに同期化されていて、ＳＲＡＭメモリブロック５０１へと出力される。
【０１６３】
ＡＴＭセル周期Dにおいては、出力されるべきＯＡＭセルデータの変更（該当受信ＯＡＭセルに対する出力ＯＡＭセルのタイプ、すなわちＡＩＳあるいはＲＤＩ（Ｄ２２ビットあるいはＤ２４ビット）、出力ポート（Ｄ１７〜Ｄ２１ビット）、出力されるべきＶＰＩ（Ｄ９〜Ｄ１６ビット）、出力されるべきＶＣＩ（Ｄ０〜Ｄ８ビット）等々）、そのコネクションフロー（Ｆ４あるいはＦ５フロー）が有効（使用されている）か否か（Ｄ２３ビットあるいはＤ２５ビット）、等の設定が行われる。
【０１６４】
またＯＡＭセルが出力され、ハードウェアライトアクセスによって1にセットされたビット（Ｄ２６）をゼロにクリアする事も周期ＤにおいてＣＰＵブロック６により行われる。
【０１６５】
図１０，図１１、図１２は本発明によって実行されるＯＡＭセル処理のフローチャートを示す。本発明によれば、ＯＡＭセル発生の主な要因として３つのケースがある。ケース１としてＰｏｒｔ  障害（Ｆａｉｌ）、ケース2としてＦ４（ＶＰ）フロー  ＡＩＳ  ＯＡＭセル受信、ケース３としてＦ５（ＶＣ）フロー  ＡＩＳ  ＯＡＭセル受信である。それら３つの場合について、図１０，図１１、図１２のフローチャートを参照して説明する。
【０１６６】
まずポート（Ｐｏｒｔ）障害（この場合、信号入力断やＬｏｓｓ  Ｏｆ  Ｆｒａｍｅ等のＦａｉｌを想定）発生時、物理層（ＳＤＨ／ＳＯＮＥＴ）レイヤにおいてＲＤＩ信号の転送が行われる（ブロックＳ１）。その物理層中にＦ４（ＶＰ）フローが存在しているか否かが判定される。存在していれば、処理はブロックＳ４へ進む。ブロックＳ２でＦ４（ＶＰ）フローが存在していないと判定されれば処理は終了する（ブロックＳ３）。
【０１６７】
ブロックＳ４において、そのＦ４（ＶＰ）フローはＳｅｇｍｅｎｔ  ＥｎｄあるいはＥｎｄ−ＥｎｄのＯＡＭセルとしての終端点かどうかの判断がなされる。終端点である場合、処理はブロックＳ５へ進み、信号の受信方向と反対方向、つまり信号対向方向へＦ４（ＶＰ）フローのＳｅｇｍｅｎｔ  ＥｎｄあるいはＥｎｄ−ＥｎｄのＲＤＩ  ＯＡＭセルが送出される。また、ＯＡＭセルが送受信されたことが、ＣＰＵへ知らせるためにＳＲＡＭメモリブロック５０１に書きこまれる。
【０１６８】
終端点でない場合、処理はブロックＳ６へ進み、信号の受信方向と同じ方向、即ち信号順方向のポートへ向けＦ４（ＶＰ）フローのＳｅｇｍｅｎｔ  ＥｎｄあるいはＥｎｄ−ＥｎｄのＡＩＳ  ＯＡＭセルが送出される。また、該当ＯＡＭセルが送受信されたことが、ＣＰＵへ知らせるためにＳＲＡＭメモリブロックに５０１に書きこまれる。
【０１６９】
次にブロックＳ７において、そのＦ４（ＶＰ）フロー中にＦ５（ＶＣ）フローが存在しているかどうかが判断される。存在していない場合、処理はブロックＳ８に進み、ＯＡＭセルの処理を終了する。
【０１７０】
存在している場合には、ブロックＳ９において、そのＦ５（ＶＣ）フローはＳｅｇｍｅｎｔ  ＥｎｄあるいはＥｎｄ−ＥｎｄのＯＡＭセルとしての終端点かどうかが判断される。終端点である場合、処理はブロックＳ１０に進み、信号対向方向の相手局へＦ５（ＶＣ）フローのＳｅｇｍｅｎｔ  ＥｎｄあるいはＥｎｄ−ＥｎｄのＲＤＩ  ＯＡＭセルが送出される。また、該当ＯＡＭセルが送受信されたことが、ＣＰＵへ知らせるためにＳＲＡＭメモリブロック５０１に書きこまれる。その後、ＯＡＭセルの処理は終了する。
【０１７１】
終端点でない場合、処理はブロックＳ１２に進み、信号順方向のポートへ向けＦ５（ＶＣ）フローのＳｅｇｍｅｎｔ  ＥｎｄあるいはＥｎｄ−ＥｎｄのＡＩＳＯＡＭセルが送出される。また、該当ＯＡＭセルが送受信されたことが、ＣＰＵへ知らせるためにＳＲＡＭメモリブロック５０１に書きこまれる。その後、ＯＡＭセルの処理は終了する。
【０１７２】
即ち、この時はＳＲＡＭメモリブロック５０１中のデータビットＤ２４（Ｆ４（ＶＰ）フロー時）あるいはＤ２２（Ｆ４（ＶＰ）フロー時）がＣＰＵブロック６により”1”にセットされるだけで、そのＯＡＭセルはＡＩＳ  ＯＡＭセルとして出力されることができる。
【０１７３】
前述したように、これらの動作を行うためのタイミングは主に図２，図３の５３分周のカウンタ３  ５０４において生成される。ＳＲＡＭメモリブロック５０１へのＣＰＵリード信号Ｓ８０４及びライト信号Ｓ８０５信号とＯＡＭセル処理ブロック５内のハードウェアリード信号Ｓ５０５及びハードウェアライト信号Ｓ５０６のうちの１つが、カウンタ３  ５０４により生成される制御信号に基づいてセレクタ３  ５０２及びセレクタ４  ５０３により選択される。
【０１７４】
それらセレクタへの制御信号はカウンタ３  ５０４により信号Ｓ５１１２あるいはＳ５１１として発生される。信号Ｓ５１１２あるいはＳ５１１に基づいて、どの信号がＳＲＡＭメモリブロック５０１へ出力されるべきかが制御されている。
【０１７５】
またアドレスの選択回路であるセレクタ1  ４０１及びセレクタ2  ４０２への制御信号も同様である。ＯＡＭセルからアドレス信号A  Ｓ３０１−１とＣＰＵからのアドレス信号Bの選択はカウンタ３  ５０４からの信号Ｓ３０９によって制御される。
【０１７６】
カウンタ1  ２０２において入力ＦＩＦＯメモリ2  ２０３より常にポート障害情報Ｓ３０８が監視されている。ポート障害が起きていない場合は、次の入力ＯＡＭセル情報が入力ＦＩＦＯメモリ1  ２０１から読み出され、ＯＡＭセルを出力する動作が繰り返される。
【０１７７】
Ｆ４（ＶＰ）フローでのＡＩＳ  ＯＡＭセルが受信される場合、Ｆ５（ＶＣ）フローでのＡＩＳ  ＯＡＭセルが受信される場合においても、それぞれブロックＳ４、ブロックＳ９から本フローチャートを始める事で同様のＯＡＭセル処理が可能である。
【０１７８】
次に図１２に示されるケース４として、Ｆ４（ＶＰ）／Ｆ５（ＶＣ）フローのＲＤＩ  ＯＡＭセルが受信される時には、本発明のＡＴＭセル転送装置がそのPＶＣコネクションの終端点で無い場合は、そのＲＤＩ  ＯＡＭセルを中断することなく継続して信号順方向へ出力する。また、その到着をＣＰＵに知らせる（ブロックＳ１６）ためにＳＲＡＭメモリブロック５０１上の該当するアドレスへ本セルを受信したことを書きこむ。
【０１７９】
またそのPＶＣコネクションの終端点の場合は、本発明のＡＴＭセル転送装置では、ＲＤＩ  ＯＡＭセルが継続して出力されることなく終端される。また、その到着のみがＣＰＵに知らされる（ブロックＳ１５）。このために、ＳＲＡＭメモリブロック５０１上の該当するアドレスへ、本セルが受信されたことが書きこまれる。
【０１８０】
以上の処理を、従来からのＣＰＵによるソフトウェア処理によってではなく、ハードウェア構成のＯＡＭセル処理ブロック５によって実現する。
【０１８１】
次にポート障害（入力断、LOF等）によってＯＡＭセルが出力される処理（図１０のケース1）について説明する。図９にポート障害時のＯＡＭセル転送の様子が描かれている。
【０１８２】
この場合に実行されなければならない処理として、ＡＴＭセル転送装置がＳｅｇｍｅｎｔコネクション終端点である場合、Ｆ４（ＶＰ）／Ｆ５（ＶＣ）の各フローについて信号対向方向へのＲＤＩ  ＯＡＭセルの転送、Ｓｅｇｍｅｎｔ終端点でない場合Ｆ４（ＶＰ）／Ｆ５（ＶＣ）の各フローについて信号順方向へのＡＩＳ  ＯＡＭセルの転送、またＥｎｄ−Ｅｎｄコネクション終端点である場合Ｆ４（ＶＰ）／Ｆ５（ＶＣ）の各フローについて信号対向方向へのＲＤＩ  ＯＡＭセルの転送、  Ｅｎｄ−Ｅｎｄコネクション終端点でない場合Ｆ４（ＶＰ）／Ｆ５（ＶＣ）各フローについて信号順方向へのＡＩＳ  ＯＡＭセルの転送等々を実行しなければならない。
【０１８３】
このような動作は有効な（使用されている）全てのPＶＣコネクションについて適用されなければならない。一つのポート中に複数のＶＰ（Ｖｉｒｔｕａｌ  Ｐａｔｈ）コネクションがあり、その中にまた複数のＶＣ（Ｖｉｒｔｕａｌ  Ｃｈａｎｎｅｌ）コネクションが存在している場合、一度に多くのＯＡＭセルを周期的に発生する必要がある。即ち、前述のように、全てのＯＡＭセルについて１秒間に１回発生する必要がある。
【０１８４】
障害のある物理ポート番号を示すデータＳ１０３（ここでは５ビット）、及び物理ポートの障害を示すビットＳ１０５は、カウンタ２  ２０４により生成されたライトタイミング制御信号Ｓ２０７に応答して入力ＦＩＦＯメモリ２  ２０３に書きこまれる。
【０１８５】
カウンタ２  ２０４により生成されたリードタイミング制御信号信号Ｓ２０８によってこの情報が読み出され、信号Ｓ３０８（ポート障害を示す信号Ｓ１０５が入力ＦＩＦＯメモリ２  ２０３からそのまま読み出されたもの）により物理ポートが障害である事が分かっている。また、そのポート上の全ての有効なＦ４（ＶＰ）／Ｆ５（ＶＣ）フローのＳｅｇｍｅｎｔあるいはＥｎｄ−ＥｎｄのＯＡＭセルを出力する必要がある。
【０１８６】
そこでまず物理ポートが障害であることを示す１ビットの信号Ｓ３０８がセレクタ１  ４０１及びセレクタ２  ４０２に供給され、それぞれのセレクタにおいて下位の入力信号（ＣあるいはＤ）が選択される。
【０１８７】
入力ＦＩＦＯメモリ２  ２０３から読み出された障害のある物理ポート番号を示すデータＳ３０６（Ｓ１０３と同様５ビット）がセレクタ１  ４０１にアドレスＣとして供給される。図２に示されるように、ＳＲＡＭメモリブロック５０１上のセグメントの一部（図６でＰｏｒｔ＃で示されている所）がまず参照される。
【０１８８】
この場合はＯＡＭセルの出力なので、図６の下側半分が選択されるようにアドレスの最上位ビット（図７においてＡＩＳ／ＲＤＩビットに相当するビット）は”０”としてセレクタ1  ４０１からＳ４０３として出力される。
【０１８９】
前述のように、その物理ポートに対応するセグメント部の内部はさらに細かく分けられている。そのポート内の全てのＦ４（ＶＰ）フロー（ＶＰIが０から２５５まで）についてのテーブルがあり、さらに各ＶＰIについての中のデータ構造は図６のようになっている。
【０１９０】
ＳＲＡＭメモリブロック５０１へのアドレス（図７におけるＶＰI／ＶＣI／Ｓｅｇｍｅｎｔ／Ｅｎｄ−Ｅｎｄの計14ビット）については、セレクタ２  ４０２の出力Ｓ４０４として、アドレスカウンタ８０６からの信号Ｓ５１３が制御信号Ｓ３０８により選択される。
【０１９１】
ここで、先のＳＲＡＭメモリブロック５０１上のセグメントの一部の最下位アドレスが参照されなければならないが、そのアドレスは図９のタイムチャートで示されるタイミング、つまりポート障害が起きた瞬間のタイミングでアドレスカウンタ８０６がリセットされ、順次カウントアップされていく事で生成される。
【０１９２】
このリセットは、図２と図３に示される入力ＦＩＦＯメモリ２  ２０３から読み出されるポート障害信号Ｓ３０８がリセット信号生成回路４０６に供給され、リセット信号生成回路４０６からのパルスで行われる（図９（Ｂ）参照）。
【０１９３】
アドレスカウンタ８０６のカウントアップは図９に示されるように、1ATMセルの最大到着あるいは出力時間（155Mb／s）を単位として行われる。図２と図３に示されるＳＲＡＭメモリブロック５０１のアドレスが一つずつインクリメントされ、一つ一つのアドレスへのアクセスが行われ、送信されるべきＯＡＭセルがあれば、それがＳＲＡＭメモリブロック５０１から読み出される。その後、出力ＦＩＦＯメモリ７０１へと書きこまれる。
【０１９４】
ハードウェアとしてのＳＲＡＭメモリブロック５０１への書きこみ、読み出しのタイミング、ＯＡＭセル送信及び返送の具体的な動作やそれらを出力した事を示すビット（図７のビットＤ２６）の制御等は、前述されたＦ５（ＶＣ）フローのＡＩＳ  ＯＡＭセルが入力された時の動作と同じである。ＣＰＵからのアクセスについても同様である。
【０１９５】
図８において分割されたタイミングによってセレクタ1から４が制御され、ＳＲＡＭメモリブロック５０１からデータの読み出し及び書き込みが行われる。カウンタ2  ２０４においてアドレスカウンタ８０６からの信号Ｓ５１３がカウントアップされるまで、その一部のＳ５１３−３（この場合は最上位の14ビット目、つまり図６における各Ｐｏｒｔに対応するのセグメントでの最上位アドレス）を監視し、カウントアップされたら入力ＦＩＦＯメモリ２  ２０３より次のポート障害情報が読み出される。
【０１９６】
また、ポート障害のためにＯＡＭセルが出力されている間は入力ＦＩＦＯメモリ1  ２０１からの読み出し動作は行なわれず、カウンタ1  ２０２においてポート障害を示す信号Ｓ３０７がイナクティブとなるまで信号Ｓ１０１として供給されるＯＡＭセルは入力ＦＩＦＯメモリ１  ２０１に蓄積される。
【０１９７】
次にＦ４（ＶＰ）フローレベルのＡＩＳ  ＯＡＭセルが来た際のＯＡＭセルが出力される処理（図１０：ケース２参照）について、Ｆ４（ＶＰ）フロー上の全ての有効なＦ５（ＶＣ）フローのＳｅｇｍｅｎｔあるいはＥｎｄ−ＥｎｄのＯＡＭセルを出力する必要がある。
【０１９８】
図１０にポート障害時と同様Ｆ４（ＶＰ）フローレベルのＡＩＳ  ＯＡＭセルが来たのＯＡＭ転送の様子が描かれている。実行されなければならない処理は以下の通りである。
【０１９９】
即ち、ＡＴＭセル転送装置がＳｅｇｍｅｎｔコネクション終端点である場合Ｆ４（ＶＰ）／Ｆ５（ＶＣ）各フローについて信号対向方向へのＲＤＩ  ＯＡＭセルの転送、Ｓｅｇｍｅｎｔ終端点でない場合Ｆ４（ＶＰ）／Ｆ５（ＶＣ）各フローについて信号順方向へのＡＩＳ  ＯＡＭセルの転送、またＥｎｄ−Ｅｎｄコネクション終端点である場合Ｆ４（ＶＰ）／Ｆ５（ＶＣ）各フローについて信号対向方向へのＲＤＩ  ＯＡＭセルの転送、Ｅｎｄ−Ｅｎｄコネクション終端点でない場合Ｆ４（ＶＰ）／Ｆ５（ＶＣ）各フローについて信号順方向へのＡＩＳ  ＯＡＭセルの転送である。
【０２００】
この場合の動作を図２と図３を参照して説明する。
【０２０１】
Ｆ５（ＶＣ）フローレベルのＡＩＳ  ＯＡＭセルが到来した時の動作（図１０のケース3参照）と同様に、最初のATMセル周期Ａで前述のアドレス（ＡＩＳ／ＲＤＩ＋受信ポート番号＋ＶＰI＋ＶＣI＋Ｓｅｇｍｅｎｔ／Ｅｎｄ−Ｅｎｄの20ビット）でＳＲＡＭメモリブロック５０１がアクセスされる。この場合、前述された物理ポートが障害の場合と異なり、Ｆ４（ＶＰ）フローが障害であると考える事ができる。
【０２０２】
ＡＴＭセル周期Ａにおいて、物理ポートが障害の場合と同様に、ＳＲＡＭメモリブロック５０１へのアドレスは、この場合（図１０ケース2）、信号Ｓ３０１−１として、図７におけるＡＩＳ／ＲＤＩ（この場合”０”）及びＰｏｒｔ#（5ビット）が出力される。セレクタ１  ４０１では、これらがアドレスAとして選択される。
【０２０３】
その他のアドレス（図７におけるＶＰI／ＶＣI／Ｓｅｇｍｅｎｔ／Ｅｎｄ−Ｅｎｄの計14ビット）については、図４のセレクタ５  ２１０において受信ＯＡＭセル情報Ｓ３０１−２（Ｆ４（ＶＰ）フローレベルのＡＩＳ  ＯＡＭセル情報）よりデコーダ２０９からセレクタ５  ２１０への制御線Ｓ３１１−１、Ｓ３１１−２が出力データＳ３０１−６としてＳ５１３−１あるいはＳ５１３−２が選択されるように出力される。
【０２０４】
信号Ｓ５１３−１が選択される場合はＰｏｒｔ＃２９〜＃３２においてＦ４（ＶＰ）ＡＩＳ  ＯＡＭセルが受信される場合で信号Ｓ３０１−４として4ビットのＶＰI情報（図７参照）のほかにアドレスカウンタ８０６からの信号Ｓ５１３が選択される。そのうちのビット1〜１０までの10ビットのカウンタ情報を下位としと先の4ビットのＶＰI情報Ｓ３０１−４とが融合され合計14ビットの信号Ｓ５１３−１としてセレクター5  ２１０に入力される。
【０２０５】
また信号Ｓ５１３−２が選択される場合は、Ｐｏｒｔ#1〜28においてＦ４（ＶＰ）ＡＩＳ  ＯＡＭセルが受信される場合で信号Ｓ３０１−５として8ビットのＶＰI情報（図７参照）のほかにアドレスカウンタ4  ８０６からの信号Ｓ５１３が選択され、そのうちのビット1〜6までの6ビットのカウンタ情報を下位としと先の8ビットのＶＰI情報Ｓ３０１−５が融合し合計14ビットの信号Ｓ５１３−２としてセレクター5  ２１０に入力される。
【０２０６】
図３のセレクタ２  ４０２ではアドレスA（14ビット：Ｓ３０１−６）が選択され、アドレスＳ４０４としてＳＲＡＭメモリ５０１へ出力される。
【０２０７】
次のATMセル周期Bは、ハードウェアライト周期であり、出力ＦＩＦＯメモリ７０１での処理やR／Sフリップフロップ７０３の制御によるＳＲＡＭメモリブロック５０１のデータのD26ビットの制御等は前述したＦ５（ＶＣ）フローレベルのＡＩＳ  ＯＡＭセル受信時の処理と同様である。
【０２０８】
また先の物理ポートが障害であることを示す１ビットの信号Ｓ３０８がアクティブでないのでセレクタ１  ４０１セレクタ２  ４０２のそれぞれにおいてＦ５（ＶＣ）フローのＡＩＳ  ＯＡＭセル受信時と同様上位の入力信号AあるいはBが選択される。
【０２０９】
ポート障害の時と同様に、ＳＲＡＭメモリブロック５０１上のセグメントの一部、つまり図６の各ＶＰIセグメントの最下位アドレスが参照されなければならないが、そのアドレス生成は、前述したように、図８のタイムチャートで示されるタイミング、つまりＦ４（ＶＰ）フローのＡＩＳ  ＯＡＭセルを受信した瞬間のタイミングでアドレスカウンタ４  ８０６がリセットされ、順次カウントアップされていく事で生成される。
【０２１０】
このリセットそのものはポート障害時と同様に、図２と図３に示される入力ＦＩＦＯメモリ1  ２０１から読み出されるＦ４（ＶＰ）フローのＡＩＳ  ＯＡＭセルの受信信号Ｓ３０１−５がリセット信号生成ブロック４０６に入力され、このブロックからのパルスでなされる。
【０２１１】
出力ＦＩＦＯメモリ７０１への出力ＯＡＭセル情報の書き込みや、図８のATMセル周期C、DにおいてのＣＰＵブロック６からＳＲＡＭメモリブロック５０１へのアクセスタイミング等々はＦ５（ＶＣ）フローレベルのＡＩＳ  ＯＡＭセル受信時と同様である。
【０２１２】
図６の各ＶＰIセグメントの全て必要なＯＡＭセルを出力させる為に、カウンタ1  ２０２においてアドレスカウンタ  ８０６からの信号Ｓ５１３が信号Ｓ５１３−３がカウントアップされていない場合、つまりＰｏｒｔ＃２９〜３２の時は信号ｓ５１３の10ビット目、Ｐｏｒｔ＃１〜＃２８の時は5ビット目のことであり、図６の各ＶＰIセグメントの最上位アドレスがアクセスされていない場合は次の入力ＯＡＭセル情報の入力ＦＩＦＯメモリ1  ２０１からの読み出しは行なわれない。
【０２１３】
同様に入力ＦＩＦＯメモリ2  ２０３から次のポート障害情報Ｓ３０７の読み出しにおいてもアドレスカウンタ８０６のカウントアップが終わるまで入力ＦＩＦＯメモリ２  ２０３からの情報読み出しは行なわれない。
【０２１４】
Ｆ４（ＶＰ）あるいはＦ５（ＶＣ）フローレベルのＲＤＩ  ＯＡＭセルが来た場合（図１２ケース4）、ＡＴＭセル転送装置がそのPＶＣコネクションの終端点で無い場合は、そのＲＤＩ  ＯＡＭセルを中断することなく継続して出力を行う。また、その到着をＣＰＵに知らせる（図１２のステップＳ１６）。
【０２１５】
またそのPＶＣコネクションの終端点の場合は、そのＲＤＩ  ＯＡＭセル出力をＡＴＭセル転送装置にて継続出力することなく終端し、その到着のみをＣＰＵに知らせる（図１２のステップＳ１５）。
【０２１６】
以上が本発明のＡＴＭセル転送装置の主な動作である。
【０２１７】
次に、本発明の第２の実施形態によるＡＴＭセル転送装置について説明する。
【０２１８】
図１３，図14は、本発明の第２の実施形態によるＡＴＭセル転送装置内のＯＡＭセル処理ブロック５の構成を示す。
【０２１９】
図１３と図１４を参照して、図２と図３に示される第１の実施形態と基本的に異なる所は、ＳＲＡＭメモリブロック５０１がＤＰＲＡＭ  （Ｄｕａｌ  Ｐｏｒｔ  ＲＡＭ）メモリブロック５０１’となっている点である。
【０２２０】
ＤＰＲＡＭメモリは原理的に同一時間に異なるポート（1、2）から同一アドレスを読み出しあるいは書き込み等のアクセスを行うとデータが不定になる可能性があるので、異なるポートからの制御信号（リード又はライト信号）のタイミングを分けて出力する必要がある。ここでＤＰＲＡＭメモリブロック５０１’への各種制御信号の発生タイミングは、図２と図３で示したものと同じにしておくことでそれらを分離して出力する事ができる。
【０２２１】
まずハードウェアからの制御信号（読み出し信号：ＲＤ、書きこみ信号：ＷＲ）はＳ５０５及びＳ５０６がそのままＤＰＲＡＭメモリブロック５０１に入力され、セレクタ1  ４０１、セレクタ２  ４０２で指定されたアドレスからデータが読み出され、出力ＦＩＦＯメモリ７０１に書き込まれる。また、指定されたアドレスのＤＰＲＡＭメモリブロック５０１’へもデータが書きこまれる。
【０２２２】
ＣＰＵブロック６からの制御信号（読み出し信号：ＣＰＵリードＳ８０４、書きこみ信号：ＣＰＵライトＳ８０５）はハードウェアが予期しないタイミングに発生される。それを予期されるタイミングに変え、ＤＰＲＡＭメモリブロック５０１’へ出力される。その制御を行うのがセレクタ３  ５０２、セレクタ4  ５０３であり、信号Ｓ５１１とＳ５１２により、そのタイミングはＣＰＵアクセス時間にＳ５０７、Ｓ５０８としてＤＰＲＡＭメモリブロック５０１’へ出力される。
【０２２３】
またＣＰＵブロック６からのアドレスＳ８０３は、アドレス２として入力され、データＳ８０２も同様にデータ２として入出力される。セレクタ１  ４０１、セレクタ２  ４０２からの信号はハードウェアアクセスの為のアドレスとしてＤＰＲＡＭメモリブロック５０１’へ出力されるが、それらセレクタへの信号として第１の実施形態であったＣＰＵブロック６からの信号は周期C及びDとしては選択されない。それらは図1３ではハッチされた図として示されており、セレクタ１、セレクタ２によりＣＰＵブロック６としてのタイミングで何か出力（内容は不定）されてもデータ１として出力され、出力ＦＩＦＯメモリ７０１に何か書きこまれることはない。
【０２２４】
第2の実施形態は第1の実施形態と比べ以上の点が主に異なる所であるが、基本的に入力されるＯＡＭセルやポート障害信号のタイミング、また出力ＦＩＦＯメモリ７０１へのセルデータ書きこみタイミングや、ＦＩＦＯメモリ７０１から出力されるＯＡＭセルのタイミングは全く同じである。
【０２２５】
よって図１０から図１２のフローチャートに従ったＯＡＭセルの入出力は前述した通りとなる。またＤＰＲＡＭメモリブロック５０１’の各データのメモリマップも同様であるので前述した第1の実施形態の説明や図をそのまま適用する事ができる。
【０２２６】
【発明の効果】
以上説明したように本発明においては、ＯＡＭセル受信／発生についてＣＰＵブロックがその処理を全て行うのでは無く、特別のハードウェアがその処理の大半を分担することにより以下に記載するような効果を奏する。
（1）  伝送路あるいはそのインタフェース（物理層としてのＳＤＨ／ＳＯＮＥＴレイヤー）を終端しているポートに信号入力断や回線上のエラー、あるいはＬｏｓｓ  Ｏｆ  Ｆｒａｍｅ等の障害があった場合、その物理ポート中の複数のＦ４（ＶＰ）フローについてまた各Ｆ４（ＶＰ）フロー中の複数のＦ５（ＶＣ）フローについてＥｎｄ−Ｅｎｄ／Ｓｅｇｍｅｎｔのそれぞれの種類についてのＲＤＩ  ＯＡＭセルの返送やコネクション中継点としてのＡＩＳ  ＯＡＭセルの発生及び転送がＩＴＵ−ＴのＩ．６１０やＡＴＭ  Ｆｏｒｕｍ（ＵＮＵ３．１）において規定されているような正確なタイミング（1秒に1回間隔）で発生させることができる。
【０２２７】
また発生されたＯＡＭセルの内容（Ｐｏｒｔ番号／ＶＰI／ＶＣI等々）を正確にＣＰＵに知らせることができる。
（2）  各Ｆ４（ＶＰ）／Ｆ５（ＶＣ）フローについてＥｎｄ−Ｅｎｄ／Ｓｅｇｍｅｎｔのそれぞれの種類についてのＡＩＳ  ＯＡＭセルの受信が、たとえ不規則（バースト的）にあっても、そのＯＡＭセルの内容（Ｐｏｒｔ番号／ＶＰI／ＶＣI等々）を正確にＣＰＵに知らせることができ、ＲＤＩ  ＯＡＭセルの返送やコネクション中継点としてのＡＩＳ  ＯＡＭセルの発生及び転送が規定されているような正確なタイミング（1秒に1回間隔）発生させることができる。
（3）  各Ｆ４（ＶＰ）／Ｆ５（ＶＣ）フローについてＥｎｄ−Ｅｎｄ／Ｓｅｇｍｅｎｔの２種類のＲＤＩ  ＯＡＭセルの受信がたとえ不規則（バースト的）に受信してもそのＯＡＭセルの内容（Ｐｏｒｔ番号／ＶＰI／ＶＣI等々）を正確にＣＰＵに知らせることができ、コネクション中継点としてのＲＤＩ  ＯＡＭセルの発生及び転送が規定されているような正確なタイミング（1秒に1回間隔）発生させることができる。
【図面の簡単な説明】
【図１】図１は、本発明の第１の実施形態によるＡＴＭセル転送装置の構成を示すブロック図である。
【図２】図２は、本発明の第１の実施形態によるＯＡＭセル処理ブロックの構成を示すブロック図である。
【図３】図３は、本発明の第１の実施形態によるＯＡＭセル処理ブロックの構成を示すブロック図である。
【図４】図４は、図２に示されるアドレスセレクタ３０１の構成を示すブロック図である。
【図５】図５（Ａ）は、ＯＡＭセルの標準フォーマットを示す図であり、図５（Ｂ）は、ＯＡＭセル処理ブロックに入力されるＯＡＭセルのフォーマットを示す図である。
【図６】図６は、ＯＡＭセル処理ブロックのＳＲＡＭメモリブロックのメモリ領域のアドレスマップを示す図である。
【図７】図７（Ａ）は、ＯＡＭセル処理ブロックのＳＲＡＭメモリブロックのアドレス構成を示す図であり、図７（Ｂ）は、ＳＲＡＭメモリブロックのデータセグメントに格納されているＯＡＭセルデータを示す図である。
【図８】図８は、１ＡＴＭセル時間が内部アクセスと外部（ＣＰＵ）アクセスに分割されていることを示す図である。
【図９】図９は、ポート障害時あるいはＦ４（ＶＰ）障害時のアドレス生成を示す図である。
【図１０】図１０は、ＯＡＭセル処理のフローを示すフローチャートである。
【図１１】図１１は、ＯＡＭセル処理のフローを示すフローチャートである。
【図１２】図１２は、ＯＡＭセル処理のフローを示すフローチャートである。
【図１３】図１３は、本発明の第２の実施形態によるＡＴＭセル転送装置で使用されるＯＡＭセル処理ブロックの構成を示すブロック図である。
【図１４】図１４は、本発明の第２の実施形態によるＡＴＭセル転送装置で使用されるＯＡＭセル処理ブロックの構成を示すブロック図である。
【図１５】図１５は、物理層リンクでのＯＡＭセル処理を示す図である。
【図１６】図１６は、ＰＶＣコネクションにおけるＥｎｄ−Ｅｎｄ接続点及びＳｅｇｍｅｎｔ接続点を説明する図である。
【図１７】図１７は、各ポートについてのＶＰＩ／ＶＣＩの割り当てを説明する図である。
【図１８】図１８は、ソフトウェアによりＯＡＭセル処理が行われる従来のＡＴＭセル転送装置の構成を示す図である。
【図１９】図１９は、他の従来のＡＴＭセル転送装置の構成を示す図である。
【符号の説明】
２  物理インターフェイスブロック
４  スイッチブロック
５  ＯＡＭセル処理ブロック
６  ＣＰＵブロック
１１  物理インターフェイスブロック
２０１  入力ＦＩＦＯメモリ１
２０２  カウンタ１
２０３  入力ＦＩＦＯメモリ２
２０４  カウンタ２
３０１  アドレスセレクタ
４０１  セレクタ１
４０２  セレクタ２
４０５  ロード信号生成回路
４０６  リセット信号生成回路
５０１  ＳＲＡＭメモリブロック
５０２  セレクタ３
５０３  セレクタ４
５０４  カウンタ３
７０１  出力ＦＩＦＯメモリ
７０２  セット信号生成回路
７０３  フリップフロップ
７０４  スリーステートバッファ
８０６  アドレスカウンタ
２０９  デコーダ
２１０  セレクタ５
【図１】
0003543318.tif 000002
【図２】
0003543318.tif 000003
【図３】
0003543318.tif 000004
【図４】
0003543318.tif 000005
【図５】
0003543318.tif 000006
【図６】
0003543318.tif 000007
【図７】
0003543318.tif 000008
【図８】
0003543318.tif 000009
【図９】
0003543318.tif 000010
【図１０】
0003543318.tif 000011
【図１１】
0003543318.tif 000012
【図１２】
0003543318.tif 000013
【図１３】
0003543318.tif 000014
【図１４】
0003543318.tif 000015
【図１５】
0003543318.tif 000016
【図１６】
0003543318.tif 000017
【図１７】
0003543318.tif 000018
【図１８】
0003543318.tif 000019
【図１９】
0003543318.tif 000020