(57)【要約】【課題】  効率的な方法・構成によって、データバッファの効率的使用を可能とするデータバッファ制御方法及びデータ通信装置を提供すること【解決手段】  本発明にかかるデータバッファ制御方法は、通信データを一時的に記憶するデータバッファの制御方法であって、フレームデータに関連付けて記憶されるエージングフラグ７を、第１のタイミングにおいて、“Ｌｏｗ（エージング無し）”にセットするステップと、フレームデータをフレームバッファ２に記憶するステップと、第１のタイミングの後の第２のタイミングにおいて、エージングフラグ７を“Ｈｉｇｈ（エージング有り）”にセットするステップと、第２のタイミングの後の第３のタイミングにおいて、エージングフラグ７が“Ｈｉｇｈ（エージング有り）”にセットされていることに応答して、未送信状態のフレームデータを無効として、このフレームデータのバッファ領域を開放するステップとを備えたものである。【選択図】  図１
2005223675.tif 000002
【特許請求の範囲】
【請求項１】
通信データを一時的に記憶するデータバッファの制御方法であって、
（ａ）通信データに関連付けて記憶されるエージングデータを、第１のタイミングにおいて、第１の状態にセットするステップと、
（ｂ）前記通信データをデータバッファに記憶するステップと、
（ｃ）前記第１のタイミングの後の第２のタイミングにおいて、前記エージングデータを第２の状態にセットするステップと、
（ｄ）前記第２のタイミングの後の第３のタイミングにおいて、前記エージングデータが前記第２の状態にあることに応答して、未送信状態の前記通信データを無効として、前記通信データのバッファ領域を開放するステップと、
を有する、データバッファ制御方法。
【請求項２】
さらに、前記通信データのバッファ領域に、前記通信データの後に取得した他の通信データを記憶するステップを含む、請求項１に記載のデータバッファ制御方法。
【請求項３】
前記ステップ（ｄ）は、前記通信データに関連付けて記憶され、前記通信データの有効／無効を表す状態データを無効に設定するステップと、
前記状態データを参照して、前記通信データが無効であると決定するステップと、
を含む、請求項１に記載のデータバッファ制御方法。
【請求項４】
前記ステップ（ａ）において、前記エージングデータは、前記通信データの前記データバッファへの書き込み処理に応答して前記第１の状態にセットされる、請求項１に記載のデータバッファ制御方法。
【請求項５】
前記ステップ（ａ）において、前記エージングデータは、前記通信データが記憶されるバッファ領域に記憶されていたデータの読み出し処理に応答して、前記第１の状態にセットされる、請求項１に記載のデータバッファ制御方法。
【請求項６】
前記エージングデータはＨｉｇｈ及びＬｏｗの２状態を表す、請求項１に記載のデータバッファ制御方法。
【請求項７】
前記通信データは、複数の出力ポートから送信されるデータであって、
前記複数の出力ポートのそれぞれに対応して、前記通信データに関連付けられたエージングデータが記憶される、請求項１に記載のデータバッファ制御方法。
【請求項８】
前記通信データは、複数の部分データに分割されて前記データバッファに記憶され、
前記複数の部分データのそれぞれに関連付けられたエージングデータと状態データとが記憶される、
請求項３に記載のデータバッファ制御方法。
【請求項９】
前記状態データは、対応する部分データが前記データバッファから読み出されることに応答して無効にセットされる、請求項８に記載のデータバッファ制御方法。
【請求項１０】
取得した通信データを中継するデータ中継装置であって、
取得した通信データを一時的に記憶するデータバッファと、
前記データバッファに記憶された通信データと関連づけてエージングデータを記憶する記憶部と、
一定の間隔でタイミングを指示するタイマと、
前記記憶部に記憶されているエージングデータを第１のタイミングにおいて第１の状態にセットし、前記第１のタイミングの後の前記タイマによって指示された第２のタイミングで第２の状態にセットする管理部と、
を備え、
前記第２のタイミングの後の前記タイマによって指示される第３のタイミングにおいて、前記エージングデータが前記第２の状態にあることに応答して、未送信状態の前記通信データを無効として、前記通信データのバッファ領域を開放する、データ中継装置。
【請求項１１】
前記記憶部は、前記通信データの有効／無効を示す状態データを記憶し、
前記第３のタイミングにおいて、前記エージングデータが前記第２の状態にある場合に、前記状態データが無効にセットされる、請求項１０に記載のデータ中継装置。
【請求項１２】
前記記憶部は、複数の通信データのそれぞれに対応するエージングデータを記憶し、
前記管理部は、前記タイマから指示される一定間隔のタイミングにおいて、前記記憶部に記憶されているエージングデータを前記第２の状態にセットする、請求項１０に記載のデータ中継装置。
【請求項１３】
前記記憶部は、前記通信データの有効／無効を示す状態データを記憶し、
前記管理部は、前記タイマから指示される前記一定間隔のタイミングにおいて、前記第２状態にセットされているエージングデータに対応する状態データを無効にセットする、
請求項１３に記載のデータ中継装置。
【請求項１４】
前記管理部は、前記通信データの前記データバッファへの記憶処理に応答して、前記エージングデータを前記第１の状態にセットする、請求項１０に記載のデータ中継装置。
【請求項１５】
前記管理部は、前記通信データが記憶されるバッファ領域に記憶されていたデータの読み出し処理に応答して、前記エージングデータを前記第１の状態にセットする、請求項１０に記載のデータ中継装置。
【請求項１６】
前記記憶部は、前記通信データが送信される複数の出力ポートのそれぞれに対応して状態データを記憶し、
前記通信データの前記複数の出力ポートの一つからの送信に応答して、前記一つの出力ポートに対応する状態データを無効にセットする、請求項１１に記載のデータ中継装置。
【請求項１７】
前記データバッファは、前記通信データを複数の部分データに分割して記憶し、
前記記憶部は、前記複数の部分データのそれぞれに関連付けられた状態データを記憶し、
前記複数の部分データの一つの送信に応答して、前記一つの部分データに関連付けられた状態データを無効にセットしてバッファ領域を開放する、
請求項１１に記載のデータ中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信データのデータバッファ制御方法及びデータ中継装置に関し、特にブリッジ・スイッチ内部での転送遅延時間に基づいたイーサネット（登録商標）フレームの廃棄制御に好適な、通信データのデータバッファ制御方法及びデータ中継装置に関する。
【背景技術】
【０００２】
イーサネットのネットワーク接続装置であるレイヤ２のブリッジ・スイッチは、受信イーサネットフレームの宛先ＭＡＣアドレスを装置内部で保持するＭＡＣアドレステーブルと照合し、照合一致したＭＡＣアドレスに対応した送信先ポートにのみイーサネットフレームを転送するという仕組みを持つ。イーサネットのようなネットワーク上では多くのデータが通信されるようになってきており、ブリッジ・スイッチのイーサネットフレーム転送処理の高速化が求められている。
【０００３】
ブリッジ・スイッチで転送処理を行う際、受信元のネットワークと送信先のネットワークの転送速度は同一とは限らない。また、送信先のネットワークに輻輳が発生しているような場合は、ブリッジ・スイッチ内での送信先ポートへの転送が受信元ポートと同等の速度で行われるとは限らない。このようなケースでは、送信先ポートへの転送速度が受信元ポートに比べて遅くなり、転送が停滞する場合がある。ブリッジ・スイッチが適切なフレーム廃棄制御機能を有していない場合に、送信先ポートへのイーサネットフレームの転送が遅延停滞してしまうと、それ以降に受信されたイーサネットフレームに対しても遅延、停滞が生じてしまう。
【０００４】
また、ブリッジ・スイッチの入力ポートで受信したイーサネットフレームは一旦フレームバッファに保存されるが、前述のような送信先出力ポートへの転送が遅延、停滞している状況では、受信したイーサネットフレームのデータ量がフレームバッファの記憶許容量を超えてしまう可能性がある。この場合は、その後のイーサネットフレームの受信処理が不可能となってしまうため、イーサネットフレームを送信してくる相手装置に対して、バックプレッシャやＰＡＵＳＥフレームを利用したフロー制御等によりイーサネットフレームの送信を停止する処理を依頼することとなり、ネットワークのパフォーマンスが低下してしまう。
【０００５】
したがって、ブリッジ・スイッチでは、一定の時間を超えても正常に転送処理が行えないイーサネットフレームの廃棄を行う処理が必要となる。フレーム廃棄の基準となるイーサネットフレームを受信してから送信するまでの遅延時間の上限値は、アメリカ電気・電子技術者協会（ＩＥＥＥ）が定めているＩＥＥＥｓｔｄ．８０２．１Ｄにおいて、最大ブリッジ転送遅延（ｍａｘｉｍｕｍ  ｂｒｉｄｇｅ ｔｒａｎｓｉｔ ｄｅｌａｙ）として規格化されている(推奨値１秒、最大値４秒)。この規格に従うと、転送の遅延、停滞によりブリッジ・スイッチ内で一定時間以上経過したイーサネットフレームは転送不要となって削除される。
【０００６】
従来のイーサネットフレーム廃棄制御として、タイムスタンプを利用する方法がある。図８にタイムスタンプを利用する従来の方法の例を示す。図のように、受信ブロック８１から入力したフレームデータをフレームバッファ８２へ順次書き込む際に、フレーム毎にタイムスタンプを取得して、フレームデータと一緒に保存する。その後フレームを送信ブロック８３に転送する際に、受信時に取得したタイムスタンプと送信時刻との差分からブリッジ・スイッチ内で発生した通過遅延時間を算出し、この通過遅延時間が最大ブリッジ転送遅延の時間を超過した場合にフレームを廃棄するというものである。
【０００７】
例えば特許文献１には、タイムスタンプを利用したデータ廃棄制御が開示されている。ここで開示されている方法の特徴は、（１）受信ブロックから入力したデータ（イーサネットフレーム等）を受信バッファ（フレームバッファ）へ順次書き込む際に、時間管理データ（タイムスタンプ等）も合わせて書き込む、（２）受信バッファのデータは先入れ先出しで転送処理が行われ、転送先が決まらないデータは処理待ちキューの最後尾に戻される、（３）処理待ちキューに戻される際に時間管理データをチェックして、一定時間を経過している場合はデータ廃棄を行う、という点である。
【０００８】
しかしながら、この方法では、受信イーサネットフレーム毎のタイムスタンプ記憶領域とタイムスタンプのチェック回路が必要となるので回路規模が増加してしまう。また、タイムスタンプより遅延時間が大きくなった場合は通過遅延時間の判別ができないため、タイムスタンプは発生し得る通過遅延時間以上の精度が必要となり、精度を上げていくとさらに回路規模が増加する原因となる。さらに、フレームバッファに長時間保存されているデータのタイムスタンプ比較による廃棄処理は、そのデータの転送処理を行う順番を待って行われるため、最大ブリッジ転送遅延を経過した時点で即時にデータを廃棄することができず、フレームバッファの使用効率が悪い。
【０００９】
特許文献２には、タイムスタンプを利用したパケット廃棄制御の改良が開示されている。図９は、特許文献２に開示されたネットワーク接続機器の構成を示すブロック図である。パケット受信部９１は、接続しているセグメントからパケットを受信し、そのパケットと、
タイムスタンプ処理部９５から取得したタイムスタンプを、バッファ９４に格納し、そのパケットの、受信ポートまたは宛先アドレス等の受信情報をルーティング処理部９３に渡す。ルーティング処理部９３は、その受信情報からパケットの送信先ポートを決定した後、送信先ポートの遅延管理部９６に、そのパケットが格納されているバッファ９４のアドレス等の送信情報を渡す。
【００１０】
遅延管理部９６は、同一ポートに設けられた送信キュー９７に空きがある状態のときに、送信情報を受け取った場合は、そのまま送信情報を送信キュー９７にキューイングする。一方、送信キュー９７に空きがない状態のときに、送信情報を受け取った場合は、送信キュー９７に空きができるのを待った後、そのパケットのタイムスタンプが示す時刻から現在時刻までの経過時間を遅延時間（滞留時間）として算出する。そして、その遅延時間（滞留時間）が、ネットワーク接続機器の最大ブリッジ転送遅延の時間を超過している場合には、そのパケットを破棄し、超過していない場合には、送信情報を送信キュー９７にキューイングする。最後に、パケット送信部９２が、送信キュー９７に格納されている送信情報に基づいて、その送信情報に対応したパケットをバッファ９４から読み出し、送信先ポートに接続されているセグメントにパケットを送信する。
【００１１】
以上に説明したように処理することにより、送信キュー９７に空きがある状態で送信先ポートが決定したパケットの場合は、遅延時間算出処理が行われず、その送信情報がすぐに送信キュー９７にキューイングされるので、送信処理能力の向上が図れる。しかしながら、送信キューに空きがない場合には、送信キューに空きができるのを待った後、そのパケットのタイムスタンプが示す時刻から現在時刻までの経過時間を通過遅延時間として算出する必要がある。この為にはパケット毎のタイムスタンプをパケットと共にバッファに保存しておく必要があるため、前述の特許文献１の場合と同様に回路規模の増加につながる。あるいは、送信キューに空きができるのを待った後に、パケットの通過遅延時間を算出するため、送信キューに空がない状態では最大ブリッジ転送遅延の時間を経過してもパケットを廃棄しないのでパケットバッファの使用効率が悪い。
【００１２】
さらに特許文献２には、タイムスタンプを利用しないパケット廃棄制御の改良も開示されている。ここで開示されている方法は、（１）パケットバッファを区分けして、ある期間に受信するパケットを格納する受信領域、前記期間以前に受信したパケットのうち送信対象のパケットが格納された受信済み領域、廃棄すべきパケットが格納された廃棄領域の、それぞれを指定する。（２）一定時間毎に、前記破棄領域としていた領域の指定を解除し、前記受信領域としていた領域を前記受信済領域に指定変更し、前記受信済領域としていた領域の全部または一部を前記破棄領域に指定変更し、領域指定が変更される以前の、前記受信領域及び前記受信済領域及び前記破棄領域以外の、前記パケットバッファの所定領域を前記受信領域に指定するように構成しておく。
【００１３】
さらに、（３）パケットを受信した場合は、受信した時点で前記受信領域に指定されている前記受信領域に格納し、そのパケットの情報に基づいて送信先ポートを決定し、その送信先ポートに設けられた、パケット送信のために順番に情報が読み出される送信キューに、パケットのアドレス等の送信情報をキューイングすると共に、（４）領域指定が変更された時に、前記破棄領域に格納されている、パケットのアドレス等の破棄情報を基にして、その破棄情報に対応する送信情報を前記送信キューから破棄する。
【００１４】
しかしながら、ある一定時間の間は、あらかじめ区分けされたバッファ領域を受信領域として固定的に使用するため、一時的に大量のフレームデータを受信した際は、あらかじめ割り当てられた受信領域に全てのデータを格納できない可能性がある。また、逆に殆どデータを受信せずに受信領域を空き領域が占めている場合であっても、一定時間経過後に受信領域から受信済み領域に変更されるため、バッファの使用効率が悪くなってしまう。
【特許文献１】特開平６−４６０６４号公報
【特許文献２】特開平１０−１３４７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
上述したように、従来のタイムスタンプを用いたフレーム廃棄制御では、タイムスタンプ保存領域と、タイムスタンプにより一定時間以上を経過していることを判断するタイムスタンプチェック回路が必要となり回路規模の増加につながる、もしくは、データバッファの使用効率の点において問題がある。あるいは、従来のタイムスタンプを用いないフレーム廃棄制御では、データバッファ領域を区分し、区分された領域毎にフレーム廃棄制御を行っているので、データバッファを十分に効率的に使用することができない。
【００１６】
本発明は、上記事情を背景としてなされたものであって、効率的な方法・構成によって、データバッファの効率的使用を可能とすることである。
【課題を解決するための手段】
【００１７】
本発明にかかるデータバッファ制御方法は、通信データを一時的に記憶するデータバッファの制御方法であって、通信データに関連付けて記憶されるエージングデータを、第１のタイミングにおいて、第１の状態にセットするステップと、前記通信データをデータバッファに記憶するステップと、前記第１のタイミングの後の第２のタイミングにおいて、前記エージングデータを第２の状態にセットするステップと、前記第２のタイミングの後の第３のタイミングにおいて、前記エージングデータが前記第２の状態にあることに応答して、未送信状態の前記通信データを無効として、前記通信データのバッファ領域を開放するステップとを有するものである。これにより、タイムスタンプを使用せずに効率的な通信データ廃棄を行うことができる。
【００１８】
上述のデータバッファ制御方法には、前記通信データのバッファ領域に、前記通信データの後に取得した他の通信データを記憶するステップを含むようにしてもよい。これにより、開放されたバッファ領域を新しい通信データの記憶領域として使用でき、フレームバッファの使用効率を向上することができる。
【００１９】
前記ステップ（ｄ）は、前記通信データに関連付けて記憶され、前記通信データの有効／無効を表す状態データを無効に設定するステップと、前記状態データを参照して、前記通信データが無効であると決定するステップとを含むようにしてもよい。これにより、状態データの有効／無効にもとづいてバッファ領域を開放するステップを確実に行うことができる。
【００２０】
前記ステップ（ａ）において、前記エージングデータは、前記通信データの前記データバッファへの書き込み処理に応答して前記第１の状態にセットされるようにしてもよい。これにより、データバッファへの通信データの書き込み時を通信データ廃棄の判断を行う基準時間とすることができ、通過遅延時間の判断を適切に行うことができる。
【００２１】
前記ステップ（ａ）において、前記エージングデータは、前記通信データが記憶されるバッファ領域に記憶されていたデータの読み出し処理に応答して、前記第１の状態にセットされるようにしてもよい。これにより、送信先出力ポートへの転送が行えなかった時間を通信データ廃棄の判断を行う基準時間とすることができ、通過遅延時間の判断を適切に行うことができる。
【００２２】
前記エージングデータはＨｉｇｈ及びＬＯＷの２状態を表すようにしてもよい。これにより、エージングデータの記憶に必要なデータ量を減らすことができる。
【００２３】
前記通信データは、複数の出力ポートから送信されるデータであって、前記複数の出力ポートのそれぞれに対応して、前記通信データに関連付けられたエージングデータが記憶されようにしてもよい。これにより、複数の出力ポートを有するデータ中継装置に対しても本方法を有効に適用できる。
【００２４】
前記通信データは、複数の部分データに分割されて前記データバッファに記憶され、前記複数の部分データのそれぞれに関連付けられたエージングデータと状態データとが記憶されるようにしてもよい。これにより、分割されたデータバッファ単位で次の通信データを書き込むことが可能となり、データバッファの使用効率を向上できる。
【００２５】
前記状態データは、対応する部分データが前記データバッファから読み出されることに応答して無効にセットされるようにしてもよい。これにより、転送が終了した通信データを保存していたデータバッファ領域を即座に開放して、新しい通信データを取り込めるようになり、データバッファの使用効率を向上することができる。
【００２６】
他方、本発明にかかるデータ中継装置は、取得した通信データを中継するデータ中継装置であって、取得した通信データを一時的に記憶するデータバッファと、前記データバッファに記憶された通信データと関連づけてエージングデータを記憶する記憶部と、一定の間隔でタイミングを指示するタイマと、前記記憶部に記憶されているエージングデータを第１のタイミングにおいて第１の状態にセットし、前記第１のタイミングの後の前記タイマによって指示された第２のタイミングで第２の状態にセットする管理部とを備え、前記第２のタイミングの後の前記タイマによって指示される第３のタイミングにおいて、前記エージングデータが前記第２の状態にあることに応答して、未送信状態の前記通信データを無効として、前記通信データのバッファ領域を開放する装置である。このよう構成により、タイムスタンプを使用せず通信データ廃棄を行うことができるため、必要な回路規模または処理時間を小さくすることができる。
【００２７】
前記記憶部は、前記通信データの有効／無効を示す状態データを記憶し、前記第３のタイミングにおいて、前記エージングデータが前記第２の状態にある場合に、前記状態データが無効にセットされるようにしてもよい。これにより、状態データの有効／無効にもとづいてバッファ領域を開放するステップを確実に行うことができる。
【００２８】
前記記憶部は、複数の通信データのそれぞれに対応するエージングデータを記憶し、前記タイマから指示される一定間隔のタイミングにおいて、前記記憶部に記憶されているエージングデータを前記第２の状態にセットするようにしてもよい。これにより、複数の通信データを記憶する領域を持つデータバッファに対してタイムスタンプを使用せず通信データ廃棄を行うことができるため、必要な回路規模または処理時間を小さくすることができる。
【００２９】
前記記憶部は、前記通信データの有効／無効を示す状態データを記憶し、前記タイマから指示される前記一定間隔のタイミングにおいて、前記第２状態にセットされているエージングデータに対応する状態データを無効にセットするようにしてもよい。これにより、状態データの有効／無効にもとづいてバッファ領域を開放するステップを確実に行うことができる。
【００３０】
前記管理部は、前記通信データの前記データバッファへの記憶処理に応答して、前記エージングデータを前記第１の状態にセットするようにしてもよい。これにより、データバッファへの通信データの書き込み時を通信データ廃棄の判断を行う基準時間とすることができ、通過遅延時間の判断を適切に行うことができる。
【００３１】
前記管理部は、前記通信データが記憶されるバッファ領域に記憶されていたデータの読み出し処理に応答して、前記エージングデータを前記第１の状態にセットするようにしてもよい。これにより、送信先出力ポートへの転送が行えなかった時間を通信データ廃棄の判断を行う基準時間とすることができ、通過遅延時間の判断を適切に行うことができる。
【００３２】
前記記憶部は、前記通信データが送信される複数の出力ポートのそれぞれに対応して状態データを記憶し、前記通信データの前記複数の出力ポートの一つからの送信に応答して、前記一つの出力ポートに対応する状態データを無効にセットするようにしてもよい。これにより、複数の出力ポートを有するデータ中継装置に対しても本方法を有効に適用できる。
【００３３】
前記データバッファは、前記通信データを複数の部分データに分割して記憶し、前記記憶部は、前記複数の部分データのそれぞれに関連付けられた状態データを記憶し、前記複数の部分データの一つの送信に応答して、前記一つの部分データに関連付けられた状態データを無効にセットしてバッファ領域を開放するようにしてもよい。これにより、分割されたデータバッファ単位で次の通信データを書き込むことが可能となり、データバッファの使用効率を向上できる。
【発明の効果】
【００３４】
本発明により、効率的な方法・構成によって、通信データのデータバッファの効率的使用を可能とする。
【発明を実施するための最良の形態】
【００３５】
発明の実施の形態１．
図１乃至図３を用いて本発明の実施の形態１にかかるイーサネットフレームの廃棄制御について説明する。図１は、本実施の形態にかかるブリッジ・スイッチの一部構成の概略示している。受信ブロック１は入力ポートから受信したフレームデータを、フレームバッファ２へ転送する機能を有する。送信ブロック３は、フレームバッファ２から転送されたフレームデータを出力ポートへ送信する機能を有する。
【００３６】
フレームバッファ２は、受信ブロック１から受信したフレームデータを保存する共有メモリである。フレームバッファ２内は、イーサネットフレーム単位で保存可能なように分割されており、１つの領域のサイズは、例えば、イーサネットフレームの最大サイズである１５１８バイトのデータが保存できるサイズを選べば良い。ＶＬＡＮタグ等の付加データを考慮してより大きなサイズを割り当てても良いが、必要以上に割り当てるとフレームバッファ利用効率が悪化するため、受信データに合わせて適切なサイズを選択すると良い。
【００３７】
フレームバッファ管理部４は、フレームバッファ２を管理し、フレームバッファへのフレームデータ入力、あるいは、フレームバッファからのフレームデータ出力を制御する。受信ブロック１あるいは送信ブロック２は、フレームバッファ管理部４を介して、フレームバッファとの間のフレームデータの入出力を行う。
【００３８】
バッファデータ情報レジスタ５は、フレームバッファ２に保存された各フレームデータに対応付けられた制御情報を記憶する。具体的には、フレームデータ毎に、有効フラグ６とエージングフラグ７を記憶する。ここで、有効フラグ６は、フレームバッファ２に保存されたフレームデータの有効性を示す識別子であり、例えば、有効を示す”Ｈｉｇｈ”と無効を示す”Ｌｏｗ”の二値で識別できる１ビットレジスタで良い。ここで、”Ｈｉｇｈ”は１ビットレジスタにおける”１”値、”Ｌｏｗ”は１ビットレジスタにおける”０”値である。また、エージングフラグ７は、フレームデータがフレームバッファに保存されてから一定の時間が経過していることを示す識別子であり、例えば、”Ｈｉｇｈ”をエージング有り、”Ｌｏｗ”をエージング無しとしてエージングの有無を二値で識別できる１ビットレジスタで良い。
【００３９】
バッファデータ情報レジスタ５は、レジスタ管理部８によって管理される。レジスタ管理部８は、他の構成部からのデータあるいは要求などに応じて、レジスタ５内のデータを変更し、あるいは、他の構成部へレジスタ５内データを渡す。エージングタイマ９は、バッファデータ情報レジスタ５におけるエージングフラグ７を変更するエージングタイミング指示を行うためのタイマである。
【００４０】
以下に、本発明の実施の形態にかかるブリッジ・スイッチの動作を、図２のフロー図を援用しながら説明する。
【００４１】
（１）受信ブロック１からフレームバッファへの転送（ライト動作）
入力ポートから受信ブロック１へ入力されたフレームデータは、フレームバッファ２の空き領域へ転送される。フレームバッファ２へのライト動作が正常に行われたら（S２０１）、アドレス情報などの必要な情報を含むライト終了の通知がフレームバッファ管理部４からレジスタ管理部８に送られる。レジスタ管理部８は、そのバッファ領域に対応するバッファデータ情報レジスタ５を変更する（S２０２）。具体的には、有効フラグ６を”Ｈｉｇｈ”（有効状態）、エージングフラグ７を”Ｌｏｗ”（エージング無し）とする。
【００４２】
（２）フレームバッファ２から送信ブロック３への転送（リード動作）
送信ブロック３はフレームバッファ２からのフレームデータが受け取り可能となれば、フレーム転送の要求をフレームバッファ管理部４に行う。フレームバッファ管理部４は、データリクエストを行っている送信ブロック３へ転送可能なフレームがフレームバッファ２の領域に存在するかを、レジスタ管理部８から取得したバッファデータ情報レジスタ５の情報によって決定する。（S２０３）、存在する場合は、リード開始の通知をレジスタ管理部８に送る。レジスタ管理部８は、転送フレームが保存されたバッファ領域に対応するエージングフラグ７を”Ｌｏｗ”に設定する（S２０４）。フレームバッファ管理部４は、送信ブロック３へのデータ転送を行う。ここでエージングフラグ７を”Ｌｏｗ”に設定することによって、フレームの転送開始時点でエージングを初期化し、バッファ内での滞留時間を通過遅延時間として厳密に判定できるようになる。
【００４３】
フレームバッファ管理部４は、フレームの転送が終了したかを決定し（S２０５）、終了した場合、転送終了通知をレジスタ管理部８に送る。レジスタ管理部８は、通知に応答して、転送したフレームが保存されていたバッファ領域に対応する有効フラグ６を”Ｌｏｗ”へ変更する（S２０６）。これにより、当該バッファ領域に対して新たなフレームデータの書き込みが即座に行えるようになる。
【００４４】
（３）エージング(データ無効化)手順
レジスタ管理部８は、エージングタイマ９による指定時間の判断を行う（S２０７）。エージングタイマ９からのエージングタイミングの指示を取得することによって、レジスタ管理部８は指定時間であると決定する。レジスタ管理部８は、指定されたタイミングにおいてバッファデータ情報レジスタ５の有効フラグ６及びエージングフラグ７について判断を行う（S２０８）。指定されたタイミングにおいてエージングフラグ７が”Ｌｏｗ”であれば、レジスタ管理部８はエージングフラグ７を”Ｈｉｇｈ”へ値を変更する（S２０９）。指定タイミングにおいて、エージングフラグ７が”Ｈｉｇｈ”であり、対応する有効フラグ６が“Ｈｉｇｈ”である場合、レジスタ管理部８は、有効フラグ６を”Ｌｏｗ”とする（S２１０）。尚、指定タイミングにおけるバッファデータ情報の変更は、全てのフレームデータに対応するバッファデータ情報について実行される。これにより、そのフレームバッファ２に保存されたフレームデータを無効化して当該バッファ領域を開放し、新たなフレームデータの書き込みに使用できる状態となる。
【００４５】
ここで、エージングタイマ９が与えるエージングタイミングに基づくバッファデータ情報レジスタ５におけるバッファデータ情報の変更タイミングについて、図３（ａ）、図３（ｂ）のタイミングチャートを参照して説明する。
【００４６】
図３（ａ）は、エージングによってフレームデータが無効化される前に送信ブロック３へのフレームデータ転送が完了した場合を示している。図中のＷｒｉｔｅと示された矢印はフレームバッファにデータが書き込まれたこと（フレームバッファ２へのフレームデータ転送）によるフラグの変更を示しており、Ｒｅａｄと示された矢印はフレームバッファからデータが読み出されたこと（フレームバッファ２からのフレームデータ転送）によるフラグの変更を示している。フレームバッファ２へのフレームデータ転送によって、エージングフラグは”Ｌｏｗ”に、有効フラグは”Ｈｉｇｈ”に変更される。この後、最初にエージングタイミングを迎えた時点でエージングフラグが”Ｈｉｇｈ”に変更される。続いて、フレームデータの読み出し開始時に、エージングフラグは再び”Ｌｏｗ”に変更され、次いで読み出し終了時時に有効フラグがデータ無効を表す”Ｌｏｗ”に変更される。これによって、フレームバッファ領域が開放されて次のフレームデータを書き込みできる状態と判断することができる。
【００４７】
図３（ｂ）は、エージングによってデータが無効化される過程を示している。Ｗｒｉｔｅ処理によって、エージングフラグは”Ｌｏｗ”に、有効フラグは”Ｈｉｇｈ”に変更される。この後、最初にエージングタイミングを迎えた時点でエージングフラグが”Ｈｉｇｈ”に変更される。図では、この後にデータが読み出されることなく次のエージングタイミングを迎えているため、この時点で有効フラグが”Ｌｏｗ”に変更されている。これによってフレームバッファ領域に保存されていたフレームデータが無効化され、この領域に新しいデータを書き込み可能であると判断することができる。
【００４８】
本実施の形態にかかるイーサネットフレーム廃棄制御でのエージングタイミングの間隔をＴｅとすると、フレームデータがフレームバッファ領域に書き込まれてからエージング手順によるフレームデータの無効化が行われるまでの時間は、Ｔｅ乃至２Ｔｅ後となる。例えばＴｅを４秒とすると、フレームデータが廃棄されるのは４秒乃至８秒後となる。
【００４９】
このフレーム廃棄までの時間の揺らぎを小さくすることは、エージングタイミングを細かくし、エージングの加齢数を増やすことで可能である。例えば、エージングタイミング間隔Ｔｅを１秒とし、エージングフラグを前述した２段階（ＨｉｇｈおよびＬｏｗ）から４段階に変更し、エージングタイミング経過ごとに順次エージングフラグを加齢して、エージングフラグが４段階目にあるときにエージングタイミングに達した際に有効フラグを”Ｌｏｗ”にしてデータ無効化を行えば、フレームデータが廃棄されるのは４Ｔｅ乃至５Ｔｅ後、つまり４秒乃至５秒後となる。回路規模の観点からは、各フラグのビット数は小さいこと、特に１ビットデータであることが好ましい。
【００５０】
このように本発明の実施の形態にかかる制御方法では、エージングタイマの指定するエージングタイミングの間隔を許容される最大ブリッジ転送遅延にあわせて適切に設定することにより、タイムスタンプを使用する場合に比べて少ない回路規模でフレーム廃棄制御を行うことができる。
【００５１】
例えば従来のタイムスタンプを用いる場合において、1ミリ秒間隔で５分まで識別可能なタイムスタンプを２０フレーム分持つ場合は、タイムスタンプ用に合計で３８０ビットの記憶領域が必要である。一方、１つのエージングタイマと、１ビットの有効フラグ、および１ビットのエージングフラグによる本実施の形態にかかる構成であれば、４０ビットの記憶領域しか必要としないため記憶領域を削減でき、さらにタイムスタンプを用いた遅延時間演算用の回路も不要である。
【００５２】
また、本発明の実施の形態にかかる制御方法では、設定された通過遅延時間を経過してバッファ領域に保存されているフレームデータは、送信ブロックへの転送処理のタイミングを待つことなく即座に無効とされてバッファ領域が開放されるため、フレームバッファの利用効率を向上させてブリッジ・スイッチ内での通過遅延時間を減少することが可能である。
【００５３】
さらに、本発明の実施の形態にかかる制御方法では、有効フラグに基づいてフレームバッファの領域に対する新たなフレームデータの受信可否を判定することから、あらかじめバッファ領域を受信領域として固定的に確保しておく必要がないため、一時的に大量のフレームデータを受信した場合の耐性に優れている。加えて、新たなフレームデータを受信して有効フラグが”Ｈｉｇｈ”に設定されない限りは新たなフレームデータを受信可能であるため、一定間隔で一律に受信済み領域に以降する従来方法と比べて、フレームバッファの使用効率を向上することができる。
【００５４】
発明の実施の形態２．
図４乃至図６を用いて本発明の実施の形態２にかかるイーサネットフレーム廃棄制御について説明する。
【００５５】
図４は、本実施の形態にかかるブリッジ・スイッチの構成図を示している。本発明の実施の形態では、フレームバッファ２内が固定長単位で分割されている点が発明の実施の形態１と異なっている。データフレームは一つの固定長単位に、もしくは、複数の固定長単位に分割されて記憶される。また、バッファデータ情報レジスタ５に、有効フラグ６、エージングフラグ７に加えてリンク情報１０を保持している。リンク情報１０は、１フレームを複数の固定長領域に分割して保存する際に、次の分割部分が保存されている固定長領域のアドレスを指し示すものである。
【００５６】
図４では一例として、フレームバッファ２内を５１２バイト単位の固定長領域に分割している。この場合、受信ブロック１から受信したフレームデータはそのフレーム長(６４バイト乃至１５１８バイト)に応じて１面から３面を使用して保存される（面は、各々の固定長領域を数える単位である）。バッファデータ情報レジスタ５は、各固定長分割領域に対応した情報を持つ。その他の構成は発明の実施の形態１と同様であるため、説明を省略する。
【００５７】
本発明の実施の形態にかかるフレーム廃棄制御において発明の実施の形態１と異なる点は、フレームバッファ２から送信ブロック３へのフレーム転送時に、（１）固定長バッファ１面分の転送が終了した時点で、対象となる固定長バッファ領域に対応する有効フラグを”Ｌｏｗ”へ変更する点、（２）データのリンク先が存在すれば（２面、３面を使用していれば）、さらにリンク先の固定長領域より送信ブロック３へ同様にデータ転送を行い、転送終了時に有効フラグを”Ｌｏｗ”へ変更する点である。
【００５８】
本実施の形態における、エージングタイマ９が与えるエージングタイミングに基づくバッファデータ情報レジスタ５におけるバッファデータ情報の変更タイミングについて、図５（ａ）、図５（ｂ）のタイミングチャートを参照して説明する。
【００５９】
図５（ａ）は、エージングによってデータが無効化される前に送信ブロックへのフレームデータ転送が完了した場合を示しており、発明の実施の形態１での図３（ａ）に対応するものである。
【００６０】
図中のＷｒｉｔｅ１／２と示された矢印は１フレーム分のデータが２つの固定長領域に分割されて書き込まれたことによるデータ変更を示している。データ書き込み（フレームバッファへのデータ転送）に応答して、２つの固定長領域（１面目、２面目）に対応するエージングフラグは”Ｌｏｗ”に、有効フラグは”Ｈｉｇｈ”に変更される。この後、最初にエージングタイミングを迎えた時点で、２つの固定長領域のエージングフラグが”Ｈｉｇｈ”に変更される。続いて、フレームデータの読み出し開始時には、まず先に読み出される固定長領域（図の１面目に相当）のエージングフラグが”Ｌｏｗ”に変更され、読み出し終了時点で有効フラグが”Ｌｏｗ”に変更される（図中のＲｅａｄ１と示された矢印）。この時点で、この固定長領域に新たなデータを取り込むことが可能となる。
【００６１】
さらに、次に読み出される固定長領域（図の２面目に相当）のデータの読み出し開始によって、２面目の固定長領域に対応するエージングフラグが”Ｌｏｗ”に変更され、読み出し終了時点で有効フラグが”Ｌｏｗ”に変更される（図中のＲｅａｄ２と示された矢印）。この時点で、この固定長領域に新たなデータを取り込むことが可能となる。
【００６２】
図５（ｂ）は、エージングによってデータが無効化される過程を示しており、発明の実施の形態１での図３（ｂ）に対応するものである。
【００６３】
図中のＷｒｉｔｅ１／２と示された矢印は１フレーム分のデータが２つの固定長領域に分割されて書き込まれたことによるデータ変更を示している。データ書き込み（フレームバッファへのデータ転送）に応答して、２つの固定長領域（１面目、２面目）に対応するエージングフラグは”Ｌｏｗ”に、有効フラグは”Ｈｉｇｈ”に変更される。この後、最初にエージングタイミングを迎えた時点で、２つの固定長領域のエージングフラグが”Ｈｉｇｈ”に変更される。図では、この後にデータが読み出されることなく次のエージングタイミングを迎えているため、この時点で２つの固定長領域（１面目、２面目）に対応する有効フラグが”Ｌｏｗ”に変更されている。これによってバッファ領域に保存されていたデータが無効と判断され、対応する固定長領域に新しいデータを書き込むことができるようになる。ここで、１面目のフレームデータが読み出された後に、エージングタイミングが来た場合、２面目のフレームデータの有効フラグを”Ｌｏｗ”に変更することによって無効化し、新たなデータフレームの書き込みを可能とすることができる。
【００６４】
このように本発明の実施の形態にかかる制御方法では、１フレームデータ全体の転送を待たずに転送が終了した固定長バッファ領域から次々に新たなデータの書き込みを行えるため、フレームバッファの利用効率を更に向上させ、ブリッジ・スイッチの通過遅延時間を減少させることができる
【００６５】
例えば、１５１８バイトのイーサネットフレームの転送を待っている状態で、８バイトのデータ転送に１０ナノ秒を要する場合には、フレームバッファを５１２バイト単位に分割すると、次のフレームバッファへの書き込み開始時間を、1フレーム全体の転送を待つ場合に比べて最大１．２マイクロ秒程度早くすることができる。
【００６６】
発明の実施の形態３．
入出力ポートを複数有するスイッチにおいてユニキャストフレーム（いずれか１つのポートにのみ転送するイーサネットフレーム）の転送が必要な場合は、バッファデータ情報レジスタに「転送先情報」を追加し、フレームデータの転送時には、転送先情報に示される出力ポートに対して転送処理を行うよう制御すれば良い。
【００６７】
本実施の形態におけるバッファデータ情報レジスタの構成を図６に示す。このように構成して、転送先情報に示される出力ポートに対する転送処理が終了した時点で有効フラグを”Ｌｏｗ”に設定するよう制御すれば、当該フレームバッファ領域への新たな書き込みが可能であることを判断できる。
【００６８】
また、転送先情報に示される出力ポートに対する転送が未完了の場合でも、エージングタイマによるエージング動作が行なわれれば、有効フラグのビットを”Ｌｏｗ”に設定することによって、当該フレームバッファ領域への書き込みが可能となる。
【００６９】
発明の実施の形態４．
入出力ポートを複数有するブリッジ・スイッチにおいてマルチキャストフレーム（同一イーサネットフレームを複数のポートに転送が必要）の転送が必要な場合は、有効フラグを出力ポート数又は送信ブロック数に合わせて持つようにし、フレームバッファへの書き込み時に送信を行うべき出力ポートに対応する有効フラグのビットを”Ｈｉｇｈ”に設定すれば良い。
【００７０】
本実施の形態におけるバッファデータ情報レジスタの構成を図７に示す。各転送先を表すデータと対応有効フラグは同一のビット列によってあらわされている。又、各転送先及び有効フラグに関連付けてエージングフラグが記憶されている。このように構成して、各送信ブロックへの転送が完了した時点で対応する有効フラグのビットを”Ｌｏｗ”に変更するよう制御すれば、必要な送信ブロックへの転送が全て完了した時点で有効フラグの全ビットが”Ｌｏｗ”となって、当該フレームバッファ領域への新たな書き込みが可能であることを判断できる。
【００７１】
また、全ての必要な送信ブロックへの転送が未完了の場合でも、エージングタイマによるエージング動作によるエージングフラグの変更処理が行われ、エージングフラグに従って有効フラグの全ビットを”Ｌｏｗ”に設定することによって、当該フレームバッファ領域への書き込みが可能となる。
【００７２】
尚、本明細書においては好ましい態様としてイーサネットフレームを転送するブリッジ・スイッチの例が説明されているが、本発明を他のデータ転送方式に適用することが可能である。この他、当業者であれば、上記の実施形態の各要素を、本発明の範囲において容易に変更、追加、変換することが可能である。
【図面の簡単な説明】
【００７３】
【図１】発明の実施の形態１にかかるイーサネットフレーム廃棄制御に用いるブリッジ・スイッチの構成図である。
【図２】発明の実施の形態１にかかるイーサネットフレーム廃棄制御の動作フローである。
【図３】発明の実施の形態１にかかるエージング動作の概要図である。
【図４】発明の実施の形態２にかかるイーサネットフレーム廃棄制御に用いるブリッジ・スイッチの構成図である。
【図５】発明の実施の形態２にかかるエージング動作の概要図である。
【図６】発明の実施の形態３にかかるバッファデータ情報レジスタの構成図である。
【図７】発明の実施の形態４にかかるバッファデータ情報レジスタの構成図である。
【図８】従来のイーサネットフレーム廃棄制御に用いるデータ通信装置の構成図である。
【図９】従来のイーサネットフレーム廃棄制御に用いるデータ通信装置の構成図である。
【符号の説明】
【００７４】
１  受信ブロック
２  フレームバッファ
３  送信ブロック
４  フレームバッファ管理部
５  バッファデータ情報レジスタ
６  有効フラグ
７  エージングフラグ
８  レジスタ管理部
９  エージングタイマ
【図１】
2005223675.tif 000003
【図２】
2005223675.tif 000004
【図３】
2005223675.tif 000005
【図４】
2005223675.tif 000006
【図５】
2005223675.tif 000007
【図６】
2005223675.tif 000008
【図７】
2005223675.tif 000009
【図８】
2005223675.tif 000010
【図９】
2005223675.tif 000011