JP3765931B2 - バッファ制御方法及びバッファ制御装置 - Google Patents

バッファ制御方法及びバッファ制御装置 Download PDF

Info

Publication number
JP3765931B2
JP3765931B2 JP29383298A JP29383298A JP3765931B2 JP 3765931 B2 JP3765931 B2 JP 3765931B2 JP 29383298 A JP29383298 A JP 29383298A JP 29383298 A JP29383298 A JP 29383298A JP 3765931 B2 JP3765931 B2 JP 3765931B2
Authority
JP
Japan
Prior art keywords
data
pattern
buffer
input data
patterns
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP29383298A
Other languages
English (en)
Other versions
JP2000124953A (ja
Inventor
康夫 手塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP29383298A priority Critical patent/JP3765931B2/ja
Priority to US09/329,837 priority patent/US6826354B2/en
Publication of JP2000124953A publication Critical patent/JP2000124953A/ja
Application granted granted Critical
Publication of JP3765931B2 publication Critical patent/JP3765931B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Description

【0001】
【発明の属する技術分野】
本発明は、バッファ制御技術に関し、特に、入力データ群のパケットプロトコル処理又は出力レート制限等のためのバッファメモリ蓄積に際し、バッファメモリの消費量を削減し、バッファ溢れを回避するバッファ制御方法及びバッファ制御装置に関する。
【0002】
【従来の技術】
図1は従来の技術におけるバッファ制御装置10の例を示すブロック図である。バッファ制御装置10は、パケット処理部46におけるパケット処理やバッファメモリ26におけるバッファチェーニングを制御するバッファ管理部14、バッファ管理部14に対する出力指示及びデータの出力を制御する出力スケジューリング部12から構成されている。バッファ管理部14は、空き先頭ポインタ16、空き最後尾ポインタ18、各ポインタを制御するポインタ制御部20、出力先頭ポインタ22、出力最後尾ポインタ24を有する。本構成における動作は次の通りである。
【0003】
連続したセグメントとしてデータ2が入力され、ポインタ制御部20においてバッファメモリ26内のバッファチェーニングを行うと共に、バッファメモリ26内にセグメント単位にデータを一時蓄積する。なお、セグメント単位はバッファメモリにおけるデータ記録単位である。その間、パケット処理が必要であれば、パケット処理部46にてパケット組み立て等のパケット処理を行う。また、出力レートを調整して出力する場合すなわちシェーピングの場合であれば、出力レート調整のための時間の間、データはバッファメモリ26に蓄積される。その後、出力スケジューリング部12がバッファ管理部14に出力指示することにより、ポインタが制御されると共に、セグメント単位のデータ4またはパケット組み立て後のデータ6が出力される。セグメント単位のデータ4には出力レート調整等による空き時間があり、パケット組み立て後のデータ6にはパケット処理等による空き時間がある。
【0004】
図2はバッファメモリ26内の構成を示した図である。図1のバッファ管理部14が有する各ポインタの役割を含めて図2について説明する。同図中、バッファメモリ26は空きバッファチェーン27と出力バッファチェーン28を保持し、空きバッファチェーン27と出力バッファチェーン28はそれぞれセグメントから構成されている。なお、空きバッファチェーン27内のセグメントを空きセグメント、出力バッファチェーン28内のセグメントを出力セグメントと称する。空き先頭ポインタ16は空きバッファチェーン27の先頭セグメントアドレスを示し、空き最後尾ポインタ18は空きバッファチェーン27の最後尾セグメントアドレスを示す。出力先頭ポインタ22は出力バッファチェーンの先頭セグメントアドレスを示し、出力最後尾ポインタ24は出力バッファチェーンの最後尾セグメントアドレスを示す。出力セグメント内の次セグメントアドレス29は次の出力セグメントのアドレスを示している。各出力セグメントにデータが格納される。
【0005】
図3(a)、(b)、(c)は、バッファメモリ26に3つのデータが蓄積される場合を示す図である。図3(a)に示すように、第1データを受信すると、空きバッファキュー、すなわち空きバッファチェーンから1つのセグメントが出力セグメントとして確保され、該出力セグメントにデータX−▲1▼が蓄積される。空き先頭ポインタ(空き先P)は次の空きセグメントを指す。図3(b)、(c)に示すように、第2、第3 データを受信すると、データ数に応じて空きセグメントが出力セグメントとして確保される。すなわち、従来のバッファ制御技術においては、受信したデータをそのままバッファメモリに蓄積する。
【0006】
【発明が解決しようとする課題】
しかしながら、近年のATM通信等においては高速化・高多重化が進み、マルチキャスト等による同一内容のデータが多量に高速に転送される場合が多くなっているので、同一内容のデータを連続受信した場合もその量だけバッファメモリを消費する上記従来の技術によると、バッファリング用に多量のメモリを必要とし、パケットプロトコル処理又は出力レート制限等によりバッファ溢れの可能性も大きいという問題点がある。
【0007】
本発明は上記の点に鑑みなされたもので、入力データ群のパケットプロトコル処理又は出力レート制限等のためのバッファメモリ蓄積に際して、バッファメモリの消費を削減し、バッファ溢れを回避するバッファ制御方法及びバッファ制御装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記課題を解決するための本発明の構成は、以下の通りである。
【0009】
請求項に記載のバッファ制御方法は、入力データを一時記憶するバッファメモリを制御するバッファ制御方法であって、入力データを1又は複数のデータパターンと比較し、前記入力データが、前記データパターンのうち少なくとも1つと一致した場合、前記バッファメモリ内のデータ記録単位内に該データパターンを示す符号を記録し、次の入力データが、連続して、前記データパターンのうち少なくとも1つと一致した場合には、前記データ記録単位と同一のデータ記録単位内に該データパターンを示す符号を記録し、入力データが、前記データパターンのうち1つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録し、データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも1つと一致した場合、該バッファメモリ内の更に別のデータ記録単位内に該データパターンを示す符号を記録し、前記符号に対応したデータを再生して出力する
【0010】
請求項1に記載の発明によれば、バッファメモリに対して、パターンが一致した場合には、入力データの替わりにデータパターン符号を書き込むこととしたため、バッファメモリの消費量を削減でき、従来問題であったバッファあふれ等を回避することができる。
請求項に記載のバッファ制御方法は、入力データを一時記憶するバッファメモリを制御するバッファ制御方法であって、入力データを1又は複数のデータパターンと比較し、前記入力データが、前記データパターンのうち少なくとも1つと一致した場合、前記バッファメモリ内のデータ記録単位を細分化した記録単位に該データパターンを示す符号を記録し、入力データが、前記データパターンの1つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録し、データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも1つと一致した場合、該バッファメモリ内において、データパターンの符号が既に記録されているデータ記録単位内に細分化した記録単位の空きがあるか否かを判定し、空きがあれば、該空きの細分化した記録単位に該データパターンを示す符号を記録し、前記符号に対応したデータを再生して出力する
【0011】
本発明によれば、データ記録単位を細分化してデータパターン符号を書き込むこととしたため、連続的に入力データがデータパターンと一致しない場合でも、バッファメモリの消費量の削減が可能となる。
請求項に記載のバッファ制御方法は、前記データパターンが、予め設定された所定のデータパターンであることとする。
【0012】
本発明によれば、定型的なデータが想定される場合に、効率的な処理を行うことができる。
請求項に記載のバッファ制御方法は、所定の場合に、前記データパターンのうち 1つ又は複数を新たなデータパターンと入れ替える。
請求項に記載のバッファ制御方法は、前記データパターンのうち、入力データと不一致であった回数が所定の回数以上、かつバッファメモリ内で使用されていないデータパターンがある場合に、該データパターンを新たなデータパターンと入れ替える。
【0013】
請求項に記載のバッファ制御方法は、前記データパターンに優先順位付けすることを可能とし、前記データパターンのうち入力データと一致したデータパターンがある場合には、該データパターンを最高優先順位に遷移させ、前記データパターンのうち1つとも入力データと一致しなかった場合には、低優先順位のデータパターンを、該データパターンがバッファメモリ内で使用されていない場合に、新たなデータパターンと入れ替え、該新たなデータパターンを最高優先順位に遷移させる。
【0014】
請求項4〜6に記載の発明によれば、データパターンを書き換えることが可能であるため、入力データに対して、データパターンを一致させる可能性が高くなり、バッファメモリをより有効に使用することが可能となる。
請求項に記載のバッファ制御方法は、入力データを複数に分割し、該分割された部分毎に対応する1つ又は複数のデータパターンを用いることにより、該分割された部分それぞれを入力データとしてバッファ制御を行う。
【0015】
本発明によれば、入力データを分割して処理することができるため、入力データ内が定型部分と非定型部分に分かれる場合等に、定型部分にデータパターンを使用することにより、バッファメモリの消費量を削減でき、バッファあふれを回避できる。
【0016】
請求項に記載のバッファ制御装置は、入力データを一時記憶するバッファメモリを制御するバッファ制御装置であって、入力データを1又は複数のデータパターンと比較する手段と、前記入力データが、前記データパターンのうち少なくとも1つと一致した場合に、前記バッファメモリ内のデータ記録単位内に該データパターンを示す符号を記録し、次の入力データが、連続して、前記データパターンのうち少なくとも1つと一致した場合には、前記データ記録単位と同一のデータ記録単位内に該データパターンを示す符号を記録する手段と、入力データが、前記データパターンのうち1つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録する手段と、データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも1つと一致した場合、該バッファメモリ内の更に別のデータ記録単位内に該データパターンを示す符号を記録する手段と、前記符号に対応したデータを再生して出力する手段と、を有する。
【0017】
請求項に記載の発明によれば、バッファメモリに対して、パターンが一致した場合には、入力データの替わりにデータパターン符号を書き込むように構成したため、バッファメモリの消費量を削減でき、従来問題であったバッファあふれ等を回避することができる。
請求項に記載のバッファ制御装置は、入力データを一時記憶するバッファメモリを制御するバッファ制御装置であって、入力データを1又は複数のデータパターンと比較する手段と、入力データが、前記データパターンのうち少なくとも1つと一致した場合、前記バッファメモリ内のデータ記録単位を細分化した記録単位に該データパターンを示す符号を記録する手段と、前記入力データが、前記データパターンの1つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録する手段と、データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも1つと一致した場合、該バッファメモリ内において、データパターンの符号が既に記録されているデータ記録単位内に細分化した記録単位の空きがあるか否かを判定し、空きがあれば、該空きの細分化した記録単位に該データパターンを示す符号を記録する手段と、前記符号に対応したデータを再生して出力する手段と、を有する。
【0018】
本発明によれば、データ記録単位を細分化してデータパターン符号を書き込むよう構成したため、連続的に入力データがデータパターンと一致しない場合でも、バッファメモリの消費量の削減が可能となる。
請求項10に記載のバッファ制御装置は、予め設定された所定のデータパターンを、前記データパターンとして保持する手段を有する。
【0019】
本発明によれば、定型的なデータが想定される場合に、効率的な処理を行うことができる。
請求項11に記載のバッファ制御装置は、所定の場合に、前記データパターンのうち 1つ又は複数を新たなデータパターンと入れ替える手段を有する。請求項12に記載のバッファ制御装置は、前記データパターン毎にデータパターンと入力データが一致又は不一致であった回数を保持する手段と、あるデータパターンがバッファメモリ内で使用中かどうかを判定する手段とを有し、前記データパターンのうち、入力データと不一致であった回数が所定の回数以上、かつバッファメモリ内で使用されていないデータパターンがある場合に、該データパターンを新たなデータパターンと入れ替える。
【0020】
請求項13に記載のバッファ制御装置は、前記データパターンに優先順位付けする手段と、あるデータパターンがバッファメモリ内で使用中かどうかを判定する手段とを有し、前記データパターンのうち入力データと一致したデータパターンがある場合には、該データパターンを最高優先順位に遷移させ、前記データパターンのうち1つとも入力データと一致しなかった場合には、低優先順位のデータパターンを、該データパターンがバッファメモリ内で使用されていない場合に、新たなデータパターンと入れ替え、該新たなデータパターンを最高優先順位に遷移させる手段を有する。
【0021】
請求項11〜13に記載の発明によれば、データパターンを書き換えるよう構成したため、入力データに対して、データパターンを一致させる可能性が高くなり、バッファメモリをより有効に使用することが可能となる。
請求項14に記載のバッファ制御装置は、入力データを複数に分割する手段と、該分割された部分毎に対応する1つ又は複数のデータパターンと、該データパターンを用いることにより、該分割された部分それぞれを入力データとしてバッファ制御を行う手段とを有する。
【0022】
本発明によれば、入力データを分割して処理するよう構成したため、入力データ内が定型部分と非定型部分に分かれる場合等に、定型部分にデータパターンを使用することにより、バッファメモリの消費量を削減でき、バッファあふれを回避できる。
【0023】
【発明の実施の形態】
次に、本発明の実施の形態として、図を用いて本発明の実施例を説明する。
図4は、本発明の第1の実施例を示すバッファ制御装置10のブロック図である。本発明は定型的なパケットデータとしてデータパターンが予想できる場合に適しており、同図中、バッファ制御装置10は、パケット処理部(図4には記載していない)におけるパケット組み立てやバッファメモリ26におけるバッファチェーニングを制御するバッファ管理部14、受信データとあらかじめ設定されたデータパターンとの比較を行うキャッシュ制御部30、バッファ管理部14に対する出力指示及びパターンデータの出力を制御する出力スケジューリング部12から構成されている。キャッシュ制御部30は受信データを一時蓄積するシフトレジスタ36、予め設定されたデータパターンであるパターンR320 〜32n 、シフトレジスタ36の内容とパターンR320 〜32n の内容を比較する比較部34から構成される。バッファ管理部14は、空き先頭ポインタ16、空き最後尾ポインタ18、各ポインタを制御するポインタ制御部20、パターンNo.ライトポインタ17、出力先頭ポインタ22、出力最後尾ポインタ24を有する。なお、データパターンを示す符号をパターンNo.と称する。
【0024】
図4中、比較部34は例えばEOR群で構成でき、パターンR320 〜32n はFF群もしくはメモリで構成でき、ソフトウェアプログラム等にて設定・変更可能とすることもできる。バッファ管理部14の各ポインタはFF群もしはメモリで構成できる。ポインタ制御部20はハードロジックもしくはソフトウェアプログラムで構成できる。
【0025】
図5はバッファメモリ26内の構成を示した図である。図4のバッファ管理部14が有する各ポインタの役割を含めて図5について説明する。同図中、バッファメモリ26はデータ記録単位の繋がりである空きバッファチェーン27と出力バッファチェーン28を保持しており、空きバッファチェーン27と出力バッファチェーン28はそれぞれデータ記録単位であるセグメントから構成されている。空き先頭ポインタ16は空きバッファチェーン27の先頭セグメントアドレスを示し、空き最後尾ポインタ18は空きバッファチェーン27の最後尾セグメントアドレスを示す。パターンNo.ライトポインタ17はパターンNo.のライトアドレスを示し、出力先頭ポインタ22は出力バッファチェーンの先頭セグメントアドレスを示し、出力最後尾ポインタ24は出力バッファチェーンの最後尾セグメントアドレスを示す。出力セグメント内の次セグメントアドレス40は次の出力セグメントのアドレスを示し、パターンNo.出力ポインタ41はセグメント内で次に出力するパターンNo.の場所を示し、パターンNo.42の領域においてパターンNo.を格納し、データ格納領域43は受信データを格納し、識別フラグ(F)44はセグメント内にパターンNo.を有するか否かを示し、ENDフラグ(f)45はセグメント内の最終パターンNo.を示し、空きバッファチェーン27及び出力バッファチェーン28を制御する。
【0026】
図6は、図1に示す実施例における受信処理の動作を示すフローチャートである。ステップ1としてキャッシュ制御部30のシフトレジスタ36がデータ受信すると、ステップ2として比較部34において受信データとパターンR320 〜32n との比較を行い、ステップ3にてデータ及びパターンNo.をポインタ制御部に送出する。ステップ4としてキャッシュ制御部30での比較結果をポインタ制御部20にて判定し、ミスヒットすなわち不一致の場合はステップ5として空き先頭ポインタ16を更新することでセグメントを獲得し、ステップ6として該セグメントにデータをライトし識別フラグ(F)を0 とし、ステップ7としてパターンNo.ライトポインタを空きバッファチェーンの先頭セグメントアドレスとすることで初期化し、ステップ8として次セグメントアドレスを更新することで出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。
【0027】
ステップ4においてヒットすなわち一致の場合は、ステップ9としてパターンNo.ライトポインタが初期状態か否かを判定し、初期状態の場合は前記ステップ5と同様に空き先頭ポインタを更新し、ステップ10としてパターンNo.ライトポインタが示すアドレスを基にパターンNo.をライトし、識別フラグ(F)を1 として識別フラグをパターンNo.を有する状態とし、ステップ11としてENDフラグ(f)を1 とし該当のセグメント内での最終パターンNo.であることを示す状態とし、ステップ12としてパターンNo.出力ポインタを設定し、ステップ13として、セグメント内に空きがある場合にはパターンNo.ライトポインタを更新し、セグメント内に空きがない場合にはパターンNo.ライトポインタ初期化する。そして、前記ステップ8と同様に出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。
【0028】
ステップ9においてパターンNo.ライトポインタが初期状態でない場合、前記ステップ10〜11の処理の後、ステップ14として前ENDフラグ(f)を0 とし、前記ステップ13とステップ8の処理を行う。
図7は、図4に示す実施例における送信処理の動作を示すフローチャートである。図7(a)は主にポインタ制御部20における処理、図7(b)は出力スケジューリング部12における処理を示す。図7(a)において、データ送信時、ステップ20として出力スケジューリング部12がポインタ制御部20に出力を指示すると、ステップ21としてポインタ制御部20において出力先頭ポインタが示すアドレスよりFをリードし、ステップ22としてパターンNoが有る否かを判定し、パターンNo. 無しすなわちF=0の場合、ステップ23として出力先頭ポインタが示すアドレスよりデータをリードし、ステップ24として出力先頭ポインタを更新し、ステップ25として空き最後尾ポインタを更新することでセグメントを開放する。
【0029】
ステップ22における判定の結果、パターンNo.が有る場合、ステップ26として出力先頭ポインタが示すセグメント内のパターンNo.出力ポインタよりパターンNo.をリードし、ステップ27としてENDフラグ(f)が1 か否かを判定し、1 の場合は前記ステップ24〜25の処理、すなわち出力先頭ポインタを更新し、空き最後尾ポインタを更新する処理を行う。
【0030】
ステップ27における判定の結果、ENDフラグ(f)が0の場合はパターンNo.出力ポインタを更新する。
図7(b)において、ステップ30として出力スケジユーリング部12はポインタ制御部20からデータ又はパターンNo.を受信する。ステップ31においてデータかパターンNo.かどうかを判定し、データの場合はそのままのデータをリードし、ステップ32としてそのデータを出力し、パターンNo.の場合は、ステップ33として該パターンNo.に対応したデータパターンの内容を出力する。
【0031】
図8の(a)、(b)、(c)は、図4に示す実施例におけるデータ受信の例であり、3つのデータを受信し、第1データはヒット、第2データもヒット、第3データはミスヒットした場合を説明するための図である。図8(a)において、第1 データ受信時にキャッシュヒットしたがライトする領域がないため空きセグメントを1 つ消費して出力セグメントを確保し、パターンNo.0をライトしている。このときパターンNo.ライトポインタ(パNo.WP)は次アドレスを示している。また、出力先頭ポインタ(出力先P)及び出力最後尾ポインタ(出力後P)は該出力セグメントを示している。図8(b)において、第2 データ受信時にキャッシュヒットした場合は第1 データにて確保した出力セグメントにパターンNo.1をライトする。このとき空きセグメントは消費しない。図8(c)において、第3 データ受信時はキャッシュミスヒットのため空きセグメントを1 つ消費し、新たに確保した出力セグメントに受信したデータ(X−▲3▼)をそのまま格納する。この場合、出力最後尾ポインタ(出力後P)は新たに確保した出力セグメントを示す。
【0032】
図9は、本発明の第2の実施例を示すバッファ制御装置10のブロック図である。同図に示すように、図4に示した構成におけるパターンNo.ライトポインタ17の替わりに空きセグメントを細分化したセグメントアドレスを示す空きパターンNo.ポインタ19を有する構成である。
図10は、空きバッファチェーンにおいて空きセグメントを細分化した細分化セグメントからなる空きパターンNo.チェーン50を示す図であり、同図中、パターンNo.力ウンタ52は細分化セグメントの獲得・開放状態を管理する。
【0033】
図11は、出力セグメント及び出力細分化セグメントから構成された出力バッファチェーン54を示す図である。次細分化セグメントアドレス56は次細分化セグメントを示し、次セグメントアドレスは次セグメントアドレスを示す。パターンNo. 58はパターンNo.を格納する領域を示し、データ格納領域59は受信データを格納し、識別フラグ(F)60はセグメント又は細分化セグメント内がパターンNo.か否かを示すものであり、空きバッファチェーン、空きパターンNo.チェーン、出力バッファチェーンを制御する。出力先頭ポインタ22は出力セグメント又は出力細分化セグメントの先頭を示し、出力最後尾ポインタ24は出力セグメント又は出力細分化セグメントの最後尾を示す。なお、空きパターンNo.ポインタはFF群もしくはメモリで構成できる。
【0034】
図12は、図9に示す実施例における受信処理の動作を示すフローチャートである。ステップ40としてキャッシュ制御部30にて前述した図6におけるステップ1〜3と同一の処理が行われ、続いてステップ41としてポインタ制御部20においてキャッシュデータを受信し、キャッシュ制御部30での比較結果を判定し、ミスヒットの場合はステップ42として空き先頭ポインタを更新して新たにセグメントを獲得し、ステップ43として該セグメントにデータをライトし識別フラグ(F)を0とする。そして、ステップ44として出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。
【0035】
ステップ41における判定の結果がヒットの場合、ステップ45として空きパターンNo.チェーンに空きが有るか否かを判定し、無しの場合は前記ステップ42と同様の処理を行い空き先頭ポインタを更新し、ステップ46として細分化セグメントにパターンNo.をライトし識別フラグ(F)を1 とし、ステップ44と同様に出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。ステップ45における判定の結果、空きパターンNo.チェーンに空きが有る場合はステップ47として空きパターンNo.ポインタを更新することで空き細分化セグメントを獲得し、ステップ46及びステップ44と同様に該細分化セグメントにパターンNo.をライトし識別フラグ(F)を1 とし、出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。
【0036】
図13は、図9に示す実施例における送信処理の動作を示すフローチャートである。図13(a)は主にポインタ制御部20における処理、図13(b)は出力スケジューリング部12における処理を示す。
図13(a)において、データ送信時、ステップ50として出力スケジューリング部12がポインタ制御部20に出力を指示すると、ステップ51としてポインタ制御部20において出力先頭ポインタが示すアドレスよりFをリードし、ステップ52としてパターンNoであるか否かを判定し、パターンNo. でない、すなわちF=0の場合、ステップ53として出力先頭ポインタが示すアドレスよりデータをリードし、ステップ54として出力先頭ポインタを更新し、ステップ55として空き最後尾ポインタを更新することでセグメントを開放する。
【0037】
ステップ52における判定の結果、パターンNo.の場合、ステップ56として出力先頭ポインタが示すアドレスよりパターンNo.をリードし、出力先頭ポインタを更新し、ステップ57としてパターンNo.カウンタを1 加算することで細分化セグメントを開放し、ステップ58として該パターンNo.カウンタが最大値か否かを判定し、最大値の場合、ステップ55の処理、すなわち空き最後尾ポインタの更新を行いセグメントを開放し、最大値でない場合は更新等の処理は行わない。
【0038】
図13(b)において、出力スケジユーリング部12はポインタ制御部20からデータ又はパターンNo.を受信し、データかパターンNo.かどうかを判定し、データの場合はそのままのデータをリードし、そのデータを出力し、パターンNo.の場合は、該パターンNo.に対応したデータパターンの内容を出力する。
【0039】
図14の(a)、(b)、(c)は、図9に示す実施例におけるデータ受信の例であり、3データを受信し、第1データはヒット、第2データもヒット、第3データはミスヒットした場合を説明するための図である。
図14(a)において、第1 データ受信時にキャッシュヒットしたがライトする領域がないため空きセグメントを1 つ消費しかつ該セグメントを細別化し該細分化セグメントにパターンNo.0をライトしている。このとき空きパターンNo.ポインタ(空きパNo.P)は空きパターンNo.キューにおける次アドレスを示している。図14(b)において、第2 データ受信時にキャッシュヒットした場合は、第1 データにて確保した出力セグメント内の空きパターンNo.キューより細別化セグメントを確保しパターンNo.1をライトする。図14(c)において、第3 データ受信時はキャッシュミスヒットのため空きセグメントを1 つ消費し、新たに確保した出力セグメントに受信したデータ(X−▲3▼)をそのまま格納する。ただし、空きパターンNo.キューに残った細別化セグメントは後のヒット時に利用可能である。
【0040】
図15は、本発明の第3の実施例を示す図である。同図に示すように、本実施例は、図4又は図9に示す構成におけるキャッシュ制御部30においてパターン更新制御部31が付加された構成をとる。パターン更新制御部31におけるミスヒットCNT370 〜37n は受信データとパターンデータを比較した結果不一致であった回数をカウントし、使用中CNT380 〜38n はパターンNo.が出力バッファにチェーンすなわち使用されている個数をカウントする。ミスヒットCNT370 〜37n からミスヒット数の多いパターンR内データを新パターンデータに書き換える構成である。ただし、使用中CNT380 〜38n により使用中であることが示されている状態のパターンは書き換えない。なお、ミスヒットCNT370 〜37n 、使用中CNT380 〜38n はFF群もしくはメモリで構成できる。また、ミスヒットCNT370 〜37n はヒット数をカウントするものであっても実施可能であり、ミスヒットCNT370 〜37n のカウント値による置き換え対象パターンRの判定は、例えば、あるしきい値を設けて行ってもよい。
【0041】
図16は、図15に示す実施例における受信処理のキャッシュ制御部30における動作を示すフローチャートである。ステップ70〜72としてキャッシュ制御部30にて前述した図6におけるステップ1〜3と同一の処理が行われ、ステップ73としてパターン比較結果をパターン更新制御部31にて判定し、ヒットの場合、ステップ74として該ヒットパターンに対応するミスヒットCNTをクリアもしくは保持し、ステップ75として他のミスヒットCNTに1 を加算し、ステップ76として該ヒットパターンに対応する使用中カウンタに1 を加算する。
【0042】
ステップ73における判定の結果、全パターンがミスヒットの場合、ステップ77としてパターンR320 〜32n に空きがあるかどうかを判定し、空きが無い場合、ステップ78としてミスヒットCNTの値が大きくかつパターンが使用中でない条件に合致したパターンR内データを新パターンデータに書き換え、ステップ77での判定の結果、未使用パターンRがある場合、ステップ79としてそこに新パターンデータを書き込む。
【0043】
図17の(a)、(b)は、ミスヒットCNT、使用中CNT、パターンR、出力バッファキューの状態変化を示した図である。図17の(a)の前状態においてパターンR1に対応するミスヒットCNT1が4と多く、前状態から2バッファ出力後にミスヒットデータを受信した現状態を示す図17の(b)において、ミスヒットCNT値が大きくかつ使用中CNTが0であるパターンR1 が新パターンデータに置き換えられる。
【0044】
図18は、本発明の第4の実施例を示す図である。同図に示すように、本実施例は、図4又は図9に示す構成におけるキャッシュ制御部30においてパターン更新制御部31が付加された構成をとる。本実施例におけるパターン更新制御部31は、パターンの優先順位を決定するヒット状態管理部39及び使用中CNT380 〜38n を有する。ヒット状態管理部39がパターンR320 〜32n の優先順位を決定し、優先順位の低いパターンデータを新パターンデータに書き換えるものである。なお、ヒット状態管理部は例えばハードロジックもしくはソフトウェアプログラムで構成できる。
【0045】
図19は、図18に示す実施例における受信処理のキャッシュ制御部30における動作を示すフローチャートである。ステップ80〜82としてキャッシュ制御部30にて前述した図6におけるステップ1〜3と同一の処理が行われ、ステップ83としてパターン比較結果をパターン更新制御部31にて判定し、ヒットの場合、ステップ84としてヒットした該パターンRを高優先順位に遷移させる。ステップ83における判定の結果、全パターンがミスヒットの場合、ステップ85としてパターンR320 〜32n に空きがあるかどうかを判定し、空きが無い場合、ステップ86として低優先順位かつパターンが使用中でないという条件に合致したパターンR内データを新パターンデータに書き換え、ステップ88として該パターンR を高優先順位に遷移させる。ステップ85における判定の結果、パターンR320 〜32n に空きがある場合、未使用パターンRへ新パターンデータを書き込み、該パターンR を高優先順位に遷移させる。図20に、上述したヒット状態管理部39におけるパターンの状態遷移を示す。
【0046】
図21(a)、(b)は、データ受信してパターンの状態が遷移する例を示す図である。 図21(a)において、第1 のデータを受信し、パターンR0 がヒットしたためパターンR0が高優先順位に遷移し、パターンR1 が低優先順位になることを示す。 図21(b)において、第2 のデータを受信し、ミスヒットのため低優先順位のパターンR1 が新パターンデータに置き換えられ高優先順位に遷移する。
【0047】
図22は本発明の第5の実施例を示すブロック図である。同図に示すように、本実施例の構成は、図15又は図18の構成において、HパターンR330 〜33m が付加されたものである。HパターンR330 〜33m は受信データの一部を比較し、パターンR320 〜32n は受信データの残りの部分を比較し、それぞれの比較結果の組み合わせをバッファ管理部14に送出する。なお、HパターンR330 〜33m 、パターンR320 〜32n はFF群もしくはメモリで構成できる。また分割の数は3 以上であっても可能である。
【0048】
図23は、図22に示す実施例における受信処理のキャッシュ制御部30における動作を示すフローチャートである。ステップ90でデータ受信し、ステップ91及びステップ92においてHパターンRとパターンRをそれぞれ並行に比較し、ステップ93においてその結果を送出する。
図24は、データBとデータXから成るデータを受信した場合の例を示す図である。同図において、受信データをデータBとデータXに分割し、データBをHパターンRとデータXをパターンRと比較し、それぞれマッチするので、その結果であるHパターンNo.1 とパターンNo.0を送出することが示される。
【0049】
図25は本発明に係るバッファ制御装置がパケット転送モジュール60に適用された場合の実施例を示した図である。パケット転送モジュール60は、入力物理終端部62、多重部64、入力ATM終端部66、入力AAL部68、パケット処理部70、出力AAL終端部80、マルチキャスト部82、セルシェーピング部84、出力ATM終端部90、分離部92、出力物理終端部94、制御部96より構成される。パケット処理部70は、本発明のバッファ制御装置が適用されるパケット組み立てバッファ72とパケットヘッダ処理部74とから構成され、セルシェーピング部84は、本発明のバッファ制御装置が適用されるセルシェーピングバッファ86とセルシェーピング制御部88とから構成される。
【0050】
同図中、入力回線からのデータは、各ポート毎に物理終端処理、多重処理、ATM終端処理、AAL終端処理され、パケット処理部へ入力される。パケット処理部では複数ATMコネクション(VPI/VCI)毎にパケットを組み立て、ヘッダ処理にて出力コネクションを決定しパケット化されたセルを出力し、AAL終端される。出力したパケットがマルチキャストパケットの場合は、マルチキャスト部でパケットコピー又はセルコピーされシェーピング部に入力される。シェーピング部84では各コネクション毎にセルを蓄積し、設定された出力レートにてセルを出力し、ATM終端処理、分離処理、物理終端処理され回線へ出力される。制御部96は、各ブロックの初期設定、状態管理等を行う。
【0051】
本実施例のパケット転送モジュールを使用することにより、パケット組み立て及びシェーピング等におけるバッファ使用量が削減でき、バッファあふれ等が回避できる。
図26は、本発明をATMモジュールに適用した場合の実施例を示すブロック図である。同図に示すように、ATMスイッチモジュール100は、入力物理終端部102、入力ATM終端部104、ATMスイッチ部106、セルシェーピング部116、出力ATM終端部122、出力物理終端部124より構成される。ATMスイッチ部106は、多重部108、分離部112、スイッチ制御部114及び本発明のバッファ制御装置が適用されるスイッチバッファ110から構成される。セルシェーピング部116は、本発明のバッファ制御装置が適用されるセルシェーピングバッファ118とセルシェーピング制御部120とから構成される。
【0052】
同図中、入力回線からのデータは、各ポート毎に物理終端処理、ATM終端処理、ATMスイッチ部へ入力される。ATMスイッチ部106は各入力回線を多重し、複数ATMコネクション(VPI/VCI)毎にスイッチバッファに蓄積する。蓄積されたセルはスイッチ制御部114からのスイッチ情報に従い出力され、分離部にて出力先の回線へ出力される。スイッチ容量が大きい場合は、同図に示すように、スイッチバッファを多段に配置する。ATMスイッチ部106から出力されたセルは、シェーピングバッファに蓄積し、設定されたレートにてセルを出力し、ATM終端処理、物理終端処理され回線へ出力される。制御部126は、各ブロックの初期設定、状態管理等を行う。
【0053】
本実施例のATMスイッチモジュールを使用することにより、スイッチ処理及びシェーピング等におけるバッファ使用量が削減でき、バッファあふれ等が回避できる。
次に、本発明がネットワーク上で適用され、バッファあふれ防止等の効果が想定される例について図27〜29を用いて説明する。
【0054】
図27は、公衆ネットワーク134上に本発明のバッファを有するノード130、131、132が配置され、ホスト133等にデータが集中的に送られる場合を示す図である。ホスト等に対するIP等のデータが集中する場合としては、単なる返信のアンケート回答や、時間指定のチケット購入申し込み等が想定され、それらに関するデータパケットは一時的で同一データが多い。図27のデータ135〜139において、IPヘッダや網内ヘッダは定型であり、内容はアドレス等のルート情報が主であるので、同一ノードへの入力は同一データとなる場合が多いため、データ量が多い場合でも本発明のバッファ制御装置によりバッファ溢れ等の防止が可能である。
【0055】
図28は、公衆ネットワーク134上に本発明のバッファを有するノード130、131、132が配置され、例えば企業内イントラネット等の中のユーザ141からユーザ140へ、多量のパケットデータ142を送信する場合を示す図である。データ142は企業内イントラネットにおけるデータであるので、各ヘッダは定型であり、同一データとなる場合が多く、ノード133において一般ユーザ又は多ネットワークのデータが着信している場合でも、バッファあふれ等の防止が可能である。
【0056】
図29は、データが放送型ユーザからマルチキャスト転送される場合を示す図であり、ノード15 1〜155、ユーザルータA156、ユーザルータB157は本発明のバッファ制御装置を有する。また、ユーザルータB157以外はマルチキャスト機能を有する。各ノードにおいて、本発明のバッファ制御装置を有するパケット組み立てバッファ158にてATMセルをパケットに組み立て、マルチキャスト部159においてマルチキャスト転送のためのパケットコピーが行われ、本発明のバッファ制御装置を有するシェーピングバッファ160にデータを蓄積する。複数にコピー生成されたデータ162中、マルチキャストデータは同一であるので、本発明におけるバッファあふれ等の防止効果が大きい。また、ユーザルータにおいては、本発明のバッファ制御装置を有するパケット組み立てバッファ161にてATMセルをパケットに組み立てる。マルチキャスト機能を有しないユーザルータB157においては、同一マルチキャストデータを有するデータ163が多量に入力されるので、本発明による効果が大きい。
【0057】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【0058】
【発明の効果】
上述したように、本発明によれば、バッファメモリに対して、パターンが一致した場合には、入力データの替わりにデータパターン符号を書き込むこととしたため、バッファメモリの消費量を削減でき、従来問題であったバッファあふれ等を回避することができる。更に、データ記録単位を細分化してデータパターン符号を書き込むこととしたため、連続的に入力データがデータパターンと一致しない場合でも、バッファメモリの消費量の削減が可能となる。
【0059】
また、本発明によれば、データパターンを書き換えることが可能であるため、入力データに対して、データパターンを一致させる可能性が高くなり、バッファメモリをより有効に使用することが可能となる。
更に、入力データを分割して処理することができるため、入力データ内が定型部分と非定型部分に分かれる場合等に、定型部分にデータパターンを使用することにより、バッファメモリの消費量を削減でき、バッファあふれをより効率的に回避できる。
【0060】
したがって、本発明によれば、バッファメモリの最適利用が可能となり、データ入力スループットに対し出力スループットが小さい場合及びパケット処理時のバッファメモリのバッファ溢れを極力防止でき、データバッファ装置の性能および品質向上に寄与するところが大きい。特にマルチキャスト転送等のように同一データが多量に転送される場合に効果が大きく、又、同一データの無意味なデータ転送のような悪意データへの対応策としても効果がある。
【図面の簡単な説明】
【図1】従来技術によるバッファ制御装置のブロック図である。
【図2】図1におけるバッファメモリ26内の構成を示す図である。
【図3】バッファメモリ26に3つのデータが蓄積される例を示す図である。
【図4】本発明の第1の実施例を示すブロック図である。
【図5】図4におけるバッファメモリ26内の構成を示す図である。
【図6】第1の実施例においてデータ受信時の動作を示すフローチャートである。
【図7】第1の実施例においてデータ送信時の動作を示すフローチャートである。
【図8】第1の実施例において3つのデータが蓄積される例を示す図である。
【図9】本発明の第2の実施例を示すブロック図である。
【図10】第2の実施例における空きパターンNo.チェーン内の構成を示す図である。
【図11】第2の実施例における出力バッファチェーン内の構成を示す図である。
【図12】第2の実施例においてデータ受信時の動作を示すフローチャートである。
【図13】第2の実施例においてデータ送信時の動作を示すフローチャートである。
【図14】第2の実施例において3つのデータが蓄積される例を示す図である。
【図15】本発明の第3の実施例を示すブロック図である。
【図16】第3の実施例においてデータ受信時の動作を示すフローチャートである。
【図17】第3の実施例においてデータが更新される例を示す図である。
【図18】本発明の第4の実施例を示すブロック図である。
【図19】第4の実施例においてデータ受信時の動作を示すフローチャートである。
【図20】第4の実施例におけるデータパターンの優先順位の遷移方法を表した図である。
【図21】第4の実施例においてデータが更新される例を示す図である。
【図22】本発明の第5の実施例を示すブロック図である。
【図23】第5の実施例においてデータ受信時の動作を示すフローチャートである。
【図24】第5の実施例において分割されたデータをデータパターンと比較する例を示す図である。
【図25】本発明をパケット転送モジュールに適用した実施例を示すブロック図である。
【図26】本発明をATMスイッチモジュールに適用した実施例を示すブロック図である。
【図27】本発明をネットワーク上で適用する例であり、データ集中の場合を示す図である。
【図28】本発明をネットワーク上で適用する例であり、同一ユーザ間に多量のパケットが転送される場合を示す図である。
【図29】本発明をネットワーク上で適用する例であり、マルチキャスト転送が行われるの場合を示す図である。
【符号の説明】
2、4、6 データ
10 バッファ制御装置
12 出力スケジューリング部
14 バッファ管理部
16 空き先頭ポインタ
17 パターンNo.ライトポインタ
18 空き最後尾ポインタ
19 空きパターンNo.ポインタ
20 ポインタ制御部
22 出力先頭ポインタ
24 出力最後尾ポインタ
26 バッファメモリ
27 空きバッファチェーン
28 出力バッファチェーン
29、40 次セグメントアドレス
30 キャッシュ制御部
31 パターン更新制御部
32 パターンR
33 HパターンR
34 比較部
36 シフトレジスタ
37 ミスヒットCNT
38 使用中CNT
39 ヒット状態管理部
41 パターンNo.出力ポインタ
42、58 パターンNo.
43、59 データ格納領域
44 識別フラグ(F)
45 ENDフラグ(f)
46 パケット処理部
50 空きパターンNo.チェーン
52 パターンNo.カウンタ
54 出力バッファチェーン
56 次細分化セグメントアドレス
57 次セグメントアドレス
60 パケット転送モジュール
62、102 入力物理終端部
64、108 多重部
66、104 入力ATM終端部
68 入力AAL終端部
70 パケット処理部
72、158、161 パケット組み立てバッファ
74 パケットヘッダ処理部
80 出力AAL終端部
82、159 マルチキャスト部
84、116 セルシェーピング部
86、118、160 セルシェーピングバッファ
88、120 セルシェーピング制御部
90、122 出力ATM終端部
92、112 分離部
94、124 出力物理終端部
96、126 制御部
100 ATMスイッチモジュール
106 ATMスイッチ部
110 スイッチバッファ
114 スイッチ制御部
130〜132、151〜157 ノード
133 ホスト等
134 公衆ネットワーク
135、136、137、138、139、142、162、163 データ
140、141 ユーザ

Claims (14)

  1. 入力データを一時記憶するバッファメモリを制御するバッファ制御方法であって、
    入力データを1又は複数のデータパターンと比較し、
    前記入力データが、前記データパターンのうち少なくとも1つと一致した場合、前記バッファメモリ内のデータ記録単位内に該データパターンを示す符号を記録し、次の入力データが、連続して、前記データパターンのうち少なくとも1つと一致した場合には、前記データ記録単位と同一のデータ記録単位内に該データパターンを示す符号を記録し、
    入力データが、前記データパターンのうち1つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録し、
    データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも1つと一致した場合、該バッファメモリ内の更に別のデータ記録単位内に該データパターンを示す符号を記録し、
    前記符号に対応したデータを再生して出力することを特徴とするバッファ制御方法。
  2. 入力データを一時記憶するバッファメモリを制御するバッファ制御方法であって、
    入力データを1又は複数のデータパターンと比較し、
    前記入力データが、前記データパターンのうち少なくとも1つと一致した場合、前記バッファメモリ内のデータ記録単位を細分化した記録単位に該データパターンを示す符号を記録し、
    入力データが、前記データパターンの1つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録し、
    データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも1つと一致した場合、該バッファメモリ内において、データパターンの符号が既に記録されているデータ記録単位内に細分化した記録単位の空きがあるか否かを判定し、空きがあれば、該空きの細分化した記録単位に該データパターンを示す符号を記録し、
    前記符号に対応したデータを再生して出力することを特徴とするバッファ制御方法。
  3. 前記データパターンは、予め設定された所定のデータパターンであることを特徴とする請求項1又は2に記載のバッファ制御方法。
  4. 所定の場合に、前記データパターンのうち1つ又は複数を新たなデータパターンと入れ替えることを特徴とする請求項1又は2に記載のバッファ制御方法。
  5. 前記データパターンのうち、入力データと不一致であった回数が所定の回数以上、かつバッファメモリ内で使用されていないデータパターンがある場合に、
    該データパターンを新たなデータパターンと入れ替えることを特徴とする請求項1又は2に記載のバッファ制御方法。
  6. 前記データパターンに優先順位付けすることを可能とし、
    前記データパターンのうち入力データと一致したデータパターンがある場合には、該データパターンを最高優先順位に遷移させ、
    前記データパターンのうち1つとも入力データと一致しなかった場合には、低優先順位のデータパターンを、該データパターンがバッファメモリ内で使用されていない場合に、新たなデータパターンと入れ替え、
    該新たなデータパターンを最高優先順位に遷移させることを特徴とする請求項1又は2に記載のバッファ制御方法。
  7. 入力データを複数に分割し、該分割された部分毎に対応する1つ又は複数のデータパターンを用いることにより、該分割された部分を入力データとしてバッファ制御を行うことを特徴とする請求項1ないしいずれか一項記載のバッファ制御方法。
  8. 入力データを一時記憶するバッファメモリを制御するバッファ制御装置であって、
    入力データを1又は複数のデータパターンと比較する手段と、
    前記入力データが、前記データパターンのうち少なくとも1つと一致した場合に、前記バッファメモリ内のデータ記録単位内に該データパターンを示す符号を記録し、次の入力データが、連続して、前記データパターンのうち少なくとも1つと一致した場合には、前記データ記録単位と同一のデータ記録単位内に該データパターンを示す符号を記録する手段と、
    入力データが、前記データパターンのうち1つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録する手段と、
    データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも1つと一致した場合、該バッファメモリ内の更に別のデータ記録単位内に該データパターンを示す符号を記録する手段と、
    前記符号に対応したデータを再生して出力する手段と、
    を有することを特徴とするバッファ制御装置。
  9. 入力データを一時記憶するバッファメモリを制御するバッファ制御装置であって、
    入力データを1又は複数のデータパターンと比較する手段と、
    前記入力データが、前記データパターンのうち少なくとも1つと一致した場合、前記バッファメモリ内のデータ記録単位を細分化した記録単位に該データパターンを示す符号を記録する手段と、
    入力データが、前記データパターンの1つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録する手段と、
    データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも1つと一致した場合、該バッファメモリ内において、データパターンの符号が既に記録されているデータ記録単位内に細分化した記録単位の空きがあるか否かを判定し、空きがあれば、該空きの細分化した記録単位に該データパターンを示す符号を記録する手段と、
    前記符号に対応したデータを再生して出力する手段と、
    を有することを特徴とするバッファ制御装置。
  10. 予め設定された所定のデータパターンを、前記データパターンとして保持する手段を有することを特徴とする請求項8又は9に記載のバッファ制御装置。
  11. 所定の場合に、前記データパターンのうち 1つ又は複数を新たなデータパターンと入れ替える手段を有することを特徴とする請求項8又は9に記載のバッファ制御装置。
  12. 前記データパターン毎にデータパターンと入力データが一致又は不一致であった回数を保持する手段と、
    あるデータパターンがバッファメモリ内で使用中かどうかを判定する手段とを有し、
    前記データパターンのうち、入力データと不一致であった回数が所定の回数以上、かつバッファメモリ内で使用されていないデータパターンがある場合に、該データパターンを新たなデータパターンと入れ替える手段を有することを特徴とする請求項8又は9に記載のバッファ制御装置。
  13. 前記データパターンに優先順位付けする手段と、あるデータパターンがバッファメモリ内で使用中かどうかを判定する手段とを有し、
    前記データパターンのうち入力データと一致したデータパターンがある場合には、該データパターンを最高優先順位に遷移させ、
    前記データパターンのうち1つとも入力データと一致しなかった場合には、低優先順位のデータパターンを、該データパターンがバッファメモリ内で使用されていない場合に、新たなデータパターンと入れ替え、
    該新たなデータパターンを最高優先順位に遷移させる、
    手段を有することを特徴とする請求項8又は9に記載のバッファ制御装置。
  14. 入力データを複数に分割する手段と、該分割された部分毎に対応する1つ又は複数のデータパターンとを有し、
    該データパターンを用いることにより、該分割された部分それぞれを入力データとしてバッファ制御を行う手段を有することを特徴とする請求項ないし13いずれか一項記載のバッファ制御装置。
JP29383298A 1998-10-15 1998-10-15 バッファ制御方法及びバッファ制御装置 Expired - Fee Related JP3765931B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP29383298A JP3765931B2 (ja) 1998-10-15 1998-10-15 バッファ制御方法及びバッファ制御装置
US09/329,837 US6826354B2 (en) 1998-10-15 1999-06-10 Buffer control method and buffer control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29383298A JP3765931B2 (ja) 1998-10-15 1998-10-15 バッファ制御方法及びバッファ制御装置

Publications (2)

Publication Number Publication Date
JP2000124953A JP2000124953A (ja) 2000-04-28
JP3765931B2 true JP3765931B2 (ja) 2006-04-12

Family

ID=17799745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29383298A Expired - Fee Related JP3765931B2 (ja) 1998-10-15 1998-10-15 バッファ制御方法及びバッファ制御装置

Country Status (2)

Country Link
US (1) US6826354B2 (ja)
JP (1) JP3765931B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100448071B1 (ko) * 2002-03-14 2004-09-10 한국과학기술원 컴퓨터 시스템의 버퍼 메모리 제어장치
TW580619B (en) * 2002-04-03 2004-03-21 Via Tech Inc Buffer control device and the management method
US7721018B2 (en) * 2006-08-24 2010-05-18 Microchip Technology Incorporated Direct memory access controller with flow control
US7934025B2 (en) * 2007-01-24 2011-04-26 Qualcomm Incorporated Content terminated DMA
JP4848983B2 (ja) * 2007-03-22 2011-12-28 カシオ計算機株式会社 画像記憶装置、画像記憶制御プログラム及び画像記憶方法
JP4742072B2 (ja) * 2007-06-20 2011-08-10 アラクサラネットワークス株式会社 シェーピング装置およびルータ装置
US8219740B2 (en) * 2008-06-25 2012-07-10 International Business Machines Corporation Flash sector seeding to reduce program times
CN101551736B (zh) * 2009-05-20 2010-11-03 杭州华三通信技术有限公司 基于地址指针链表的缓存管理装置和方法
US8266344B1 (en) * 2009-09-24 2012-09-11 Juniper Networks, Inc. Recycling buffer pointers using a prefetch buffer
US8605722B1 (en) * 2009-12-10 2013-12-10 Juniper Networks, Inc. Deadlock-resistant fabric tree replication in a network device
US9727504B2 (en) * 2012-02-29 2017-08-08 Mitsubishi Electric Corporation Data transfer apparatus, data transfer method, and data transfer program
JP2013210836A (ja) 2012-03-30 2013-10-10 Fujitsu Ltd データ転送回路及びデータ転送方法
US9804793B2 (en) 2016-03-04 2017-10-31 Intel Corporation Techniques for a write zero operation
US20170255387A1 (en) * 2016-03-04 2017-09-07 Intel Corporation Techniques to Cause a Content Pattern to be Stored to Memory Cells of a Memory Device
JP6673044B2 (ja) * 2016-06-17 2020-03-25 株式会社オートネットワーク技術研究所 制御システム
US10249351B2 (en) 2016-11-06 2019-04-02 Intel Corporation Memory device with flexible internal data write control circuitry
US10490239B2 (en) 2016-12-27 2019-11-26 Intel Corporation Programmable data pattern for repeated writes to memory

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383367B1 (en) * 1983-12-26 1999-03-17 Hitachi, Ltd. Graphic pattern processing apparatus and method
US4949301A (en) * 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
JPH0688427B2 (ja) * 1987-04-15 1994-11-09 キヤノン株式会社 出力装置
JPS63271180A (ja) * 1987-04-30 1988-11-09 Fujitsu Ltd 集積回路用試験装置
JP3018404B2 (ja) * 1990-06-21 2000-03-13 日本電気株式会社 マイクロプロセッサ
JP3084807B2 (ja) * 1991-07-10 2000-09-04 ブラザー工業株式会社 印字装置
JP3312039B2 (ja) * 1992-01-08 2002-08-05 シャープ株式会社 データ駆動型情報処理装置
JP3283939B2 (ja) 1992-01-29 2002-05-20 キヤノン株式会社 画像処理方法及びその装置
JPH05266095A (ja) * 1992-03-23 1993-10-15 Toshiba Corp 画像検索装置
JP2932346B2 (ja) * 1994-07-22 1999-08-09 富士通株式会社 印刷装置並びに印刷装置における印刷制御方法及び文字フォントパターン管理方法
JP3500724B2 (ja) * 1994-09-05 2004-02-23 ソニー株式会社 データ再生方法およびデータ再生装置
JPH08249494A (ja) * 1995-03-09 1996-09-27 Sharp Corp Zバッファ方式隠面消去装置
JP3673553B2 (ja) 1995-03-31 2005-07-20 キヤノン株式会社 ファイリング装置
US6044076A (en) * 1995-06-09 2000-03-28 Canon Kabushiki Kaisha Network system for transmitting a plurality of channels, and node device, packet transmission method, terminal equipment connection table generation method, and connection information registration method used in the system
US5859954A (en) * 1995-07-27 1999-01-12 Canon Kabushiki Kaisha Printing apparatus, data registration method, and storage medium
US5691997A (en) * 1995-09-28 1997-11-25 Cisco Systems, Inc. Encoder for use in asynchronous transfer mode systems
US5665953A (en) * 1996-02-14 1997-09-09 Lobar Code Inc. Self-contained personal data collector for redeeming coupons
JP3069771B2 (ja) 1996-07-01 2000-07-24 株式会社フロム新居浜 パターン認識方法及び装置
US6092116A (en) * 1996-12-11 2000-07-18 Lsi Logic Corporation DMA controller with response message and receive frame action tables
TW401564B (en) * 1996-12-27 2000-08-11 Canon Kk Printing system
JP3537290B2 (ja) * 1997-05-27 2004-06-14 沖電気工業株式会社 シリアルインタフェース回路
US5996043A (en) * 1997-06-13 1999-11-30 Micron Technology, Inc. Two step memory device command buffer apparatus and method and memory devices and computer systems using same
JP3616981B2 (ja) * 1997-06-18 2005-02-02 株式会社ルネサステクノロジ 同期化装置
JP3372455B2 (ja) * 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
KR100233244B1 (ko) * 1997-07-10 1999-12-01 정선종 다수의 스트림을 수용하는 운송스트림 다중화 장치
US6301256B1 (en) * 1997-09-17 2001-10-09 Sony Corporation Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
US6041053A (en) * 1997-09-18 2000-03-21 Microsfot Corporation Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards
JP3452771B2 (ja) * 1997-10-02 2003-09-29 富士通株式会社 命令制御システム及びその方法
US6332152B1 (en) * 1997-12-02 2001-12-18 Matsushita Electric Industrial Co., Ltd. Arithmetic unit and data processing unit
US6128282A (en) * 1997-12-18 2000-10-03 Sicom, Inc. Network node controller and method for combining circuit and packet data
US6151658A (en) * 1998-01-16 2000-11-21 Advanced Micro Devices, Inc. Write-buffer FIFO architecture with random access snooping capability
US6067301A (en) * 1998-05-29 2000-05-23 Cabletron Systems, Inc. Method and apparatus for forwarding packets from a plurality of contending queues to an output
US6098100A (en) * 1998-06-08 2000-08-01 Silicon Integrated Systems Corp. Method and apparatus for detecting a wake packet issued by a network device to a sleeping node
US6393033B1 (en) * 1998-08-03 2002-05-21 Motorola, Inc. Method and apparatus for encapsulating ISDN data in a broadband network
US6606317B1 (en) * 1999-09-09 2003-08-12 Harris Corporation Dual key controlled content addressable memory for accessing packet switch data buffer for multicasting data packets

Also Published As

Publication number Publication date
US20020118882A1 (en) 2002-08-29
US6826354B2 (en) 2004-11-30
JP2000124953A (ja) 2000-04-28

Similar Documents

Publication Publication Date Title
JP3765931B2 (ja) バッファ制御方法及びバッファ制御装置
AU738983B2 (en) Networking systems
US7558270B1 (en) Architecture for high speed class of service enabled linecard
US6535951B1 (en) Hit result register file used in a CAM
US7715419B2 (en) Pipelined packet switching and queuing architecture
JP4483535B2 (ja) ネットワーク装置
US7313142B2 (en) Packet processing device
US7843816B1 (en) Systems and methods for limiting low priority traffic from blocking high priority traffic
US6611527B1 (en) Packet switching apparatus with a common buffer
US8370545B2 (en) Programmable queuing instruction set
US7649885B1 (en) Network routing system for enhanced efficiency and monitoring capability
US20060268913A1 (en) Streaming buffer system for variable sized data packets
US6741562B1 (en) Apparatus and methods for managing packets in a broadband data stream
US7079538B2 (en) High-speed router
US11652750B2 (en) Automatic flow management
US7418001B2 (en) Router for scheduling packet and method therefor
US20030231590A1 (en) Method of performing deficit round-robin scheduling and structure for implementing same
US5940404A (en) Method and apparatus for enhanced scatter mode allowing user data to be page aligned
US7289455B2 (en) Network statistics
US20030072268A1 (en) Ring network system
JP2002033749A (ja) バッファ装置およびスイッチング装置
JP2003218907A (ja) パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ
WO2003088047A1 (en) System and method for memory management within a network processor architecture
GB2349296A (en) Reduction of imbalance in transmsit queues in a network switch
US8422396B2 (en) Rate monitoring apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051007

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060125

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090203

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100203

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110203

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120203

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130203

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140203

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees