JP2668438B2 - データ検索装置 - Google Patents
データ検索装置Info
- Publication number
- JP2668438B2 JP2668438B2 JP1102712A JP10271289A JP2668438B2 JP 2668438 B2 JP2668438 B2 JP 2668438B2 JP 1102712 A JP1102712 A JP 1102712A JP 10271289 A JP10271289 A JP 10271289A JP 2668438 B2 JP2668438 B2 JP 2668438B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- hash
- memory
- bit
- packet
- 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
Links
- 230000005055 memory storage Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 18
- 238000000034 method Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000010304 firing Methods 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 102100025232 Calcium/calmodulin-dependent protein kinase type II subunit beta Human genes 0.000 description 1
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 1
- 101001077352 Homo sapiens Calcium/calmodulin-dependent protein kinase type II subunit beta Proteins 0.000 description 1
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9014—Indexing; Data structures therefor; Storage structures hash tables
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明はハッシュ処理され記憶されたデータの検索
装置に関し、特に識別データの一致するデータの対を生
成し、発火処理するデータ駆動形プロセッサに用いるデ
ータ検索装置に関する。
装置に関し、特に識別データの一致するデータの対を生
成し、発火処理するデータ駆動形プロセッサに用いるデ
ータ検索装置に関する。
〔従来の技術〕 第9図はデータ駆動形処理の概念図であり、2つのデ
ータの加算が行われる様子を示している。図において、
“A"という値を持ち“a"という識別子を付加されたパケ
ット81がマッチングメモリ87に与えられると、識別子フ
ィールド比較部84は待合せメモリ85にパケット81の識別
子“a"と一致する識別子を持つパケットが格納されてい
るか否かを検索する。第9図では“B"という値を持ち
“a"という識別子を持つパケット82が格納されているの
で、このパケット82が待合せメモリ85から読出され、入
力されたパケット81と共にデータ対形成部86へ送られ
る。
ータの加算が行われる様子を示している。図において、
“A"という値を持ち“a"という識別子を付加されたパケ
ット81がマッチングメモリ87に与えられると、識別子フ
ィールド比較部84は待合せメモリ85にパケット81の識別
子“a"と一致する識別子を持つパケットが格納されてい
るか否かを検索する。第9図では“B"という値を持ち
“a"という識別子を持つパケット82が格納されているの
で、このパケット82が待合せメモリ85から読出され、入
力されたパケット81と共にデータ対形成部86へ送られ
る。
データ対形成部86はパケット81とパケット82とを合体
し、“A"という値と“B"という値とに“a"という識別子
を付加したデータ83を形成し(これを発火と呼ぶ)、デ
ータ処理部88で演算が実行される。
し、“A"という値と“B"という値とに“a"という識別子
を付加したデータ83を形成し(これを発火と呼ぶ)、デ
ータ処理部88で演算が実行される。
第9図の例では待合せメモリ85に入力されたパケット
81と同じ識別子“a"を有するパケット82が格納されてい
たが、待合せメモリ85に入力されたパケット81と同じ識
別子を有するパケットが格納されていない場合は、入力
されたパケット81は待合せメモリ85に格納され、これと
一致する識別子を有するパケットが入力されるまで待合
される。
81と同じ識別子“a"を有するパケット82が格納されてい
たが、待合せメモリ85に入力されたパケット81と同じ識
別子を有するパケットが格納されていない場合は、入力
されたパケット81は待合せメモリ85に格納され、これと
一致する識別子を有するパケットが入力されるまで待合
される。
このようにマッチングメモリとはデータ駆動形プロセ
ッサにおいて演算すべきパケットを検索する役割を持っ
ている。
ッサにおいて演算すべきパケットを検索する役割を持っ
ている。
通常データ駆動形プロセッサにおいては、識別子のビ
ット幅は数十ビットとなるため、識別子毎にメモリのア
ドレスを割当てるとメモリ容量が膨大なものとなるた
め、従来よりマッチングメモリに用いるメモリとしてビ
ット幅を圧縮(以下ハッシュという)し、これをメモリ
アドレスとして用いたメモリ(以下ハッシュメモリとい
う)を用いている。
ット幅は数十ビットとなるため、識別子毎にメモリのア
ドレスを割当てるとメモリ容量が膨大なものとなるた
め、従来よりマッチングメモリに用いるメモリとしてビ
ット幅を圧縮(以下ハッシュという)し、これをメモリ
アドレスとして用いたメモリ(以下ハッシュメモリとい
う)を用いている。
第10図は入力パケットの一例の構成を示すビットマッ
プ図、第11図はハッシュメモリの一例の構成を示すブロ
ック図である。
プ図、第11図はハッシュメモリの一例の構成を示すブロ
ック図である。
入力パケットは演算対象となる18ビットのオペランド
データOD、演算内容を示すコードである7ビットのオペ
レーションコードOC、1ビットのプロセッサ選択ビット
PS、入力パケットが2入力命令か1入力命令かを示す1
ビットのFC処理選択ビット及び演算順に応じて左又は右
に配置することを示す左右データ選択ビットを含み、各
種の選択を行うセレクションコードSC、入力データの入
力順等の属性を示す9ビットのカラー/世代識別番号DN
並びに演算の行われるべき場所を示す21ビットのノード
番号NNの60ビットにて構成されている。そしてプロセッ
サ選択ビットPSとカラー/世代識別番号DNとノード番号
NNとから識別コードである31ビットの識別子が構成され
る。
データOD、演算内容を示すコードである7ビットのオペ
レーションコードOC、1ビットのプロセッサ選択ビット
PS、入力パケットが2入力命令か1入力命令かを示す1
ビットのFC処理選択ビット及び演算順に応じて左又は右
に配置することを示す左右データ選択ビットを含み、各
種の選択を行うセレクションコードSC、入力データの入
力順等の属性を示す9ビットのカラー/世代識別番号DN
並びに演算の行われるべき場所を示す21ビットのノード
番号NNの60ビットにて構成されている。そしてプロセッ
サ選択ビットPSとカラー/世代識別番号DNとノード番号
NNとから識別コードである31ビットの識別子が構成され
る。
ハッシュメモリ601はカラー/世代識別番号DNの下位
3ビット及びノード番号NNの下位6ビットの合計9ビッ
トをハッシュアドレスとしてアクセスされるものであ
り、リードライトサイクルを定めるリードライト信号W/
・H,書込みデータ及び各アドレスの有効・無効の別を
示すプレゼンスビットPBの更新を行うセットリセット信
号S/が与えられる。格納される書込みデータは18ビッ
トのオペランドデータと、カラー/世代識別番号DN及び
ノード番号NNの残り21ビットの識別子と、1ビットのプ
ロセッサ選択ビットのPSの合計40ビットからなってい
る。またハッシュメモリ601には別に1ビットのプレゼ
ンスビットPBが格納されており、合計1ワード41ビット
となっている。またアドレス空間は29=512となってお
り、ハッシュメモリ601は41ビット/ワード×512の大き
さを有している。
3ビット及びノード番号NNの下位6ビットの合計9ビッ
トをハッシュアドレスとしてアクセスされるものであ
り、リードライトサイクルを定めるリードライト信号W/
・H,書込みデータ及び各アドレスの有効・無効の別を
示すプレゼンスビットPBの更新を行うセットリセット信
号S/が与えられる。格納される書込みデータは18ビッ
トのオペランドデータと、カラー/世代識別番号DN及び
ノード番号NNの残り21ビットの識別子と、1ビットのプ
ロセッサ選択ビットのPSの合計40ビットからなってい
る。またハッシュメモリ601には別に1ビットのプレゼ
ンスビットPBが格納されており、合計1ワード41ビット
となっている。またアドレス空間は29=512となってお
り、ハッシュメモリ601は41ビット/ワード×512の大き
さを有している。
ハッシュメモリを用いた場合、ハッシュしたアドレス
(以下ハッシュアドレスという)をアクセスしたときに
同一アドレスでの衝突所謂ハッシュ衝突が起こる虞があ
る。
(以下ハッシュアドレスという)をアクセスしたときに
同一アドレスでの衝突所謂ハッシュ衝突が起こる虞があ
る。
即ちハッシュ衝突とは識別子の一部をハッシュアドレ
スとした場合にハッシュアドレスが既にハッシュメモリ
内に格納されたデータと一致しても、残りの識別子が一
致しないデータがアクセスされたとき、そのデータを記
憶するアドレスが既に占有されているために起こるもの
である。
スとした場合にハッシュアドレスが既にハッシュメモリ
内に格納されたデータと一致しても、残りの識別子が一
致しないデータがアクセスされたとき、そのデータを記
憶するアドレスが既に占有されているために起こるもの
である。
これを回避する従来技術として「沖電気研究開発報
告」第19〜第26頁に開示されたデータ駆動形処理装置及
び本出願人による発明(特願昭61−277040号)がある。
告」第19〜第26頁に開示されたデータ駆動形処理装置及
び本出願人による発明(特願昭61−277040号)がある。
前者のものはハッシュメモリ内にハッシュメモリ内の
アドレスの相関関係を示すチェインフィールドを設け、
ハッシュ衝突した場合はハッシュメモリ内のチェインフ
ィールドに示されるアドレスを順次参照することによっ
て対となるデータを検索するものである。
アドレスの相関関係を示すチェインフィールドを設け、
ハッシュ衝突した場合はハッシュメモリ内のチェインフ
ィールドに示されるアドレスを順次参照することによっ
て対となるデータを検索するものである。
後者のものは、識別子の大小を比較するタグ比較部を
設け、ハッシュ衝突が発生した場合に、入力されたデー
タと読出されたデータの識別子との大小を比較し、識別
子の小さい方のデータをハッシュメモリに格納し、大き
い方のデータはスルーフラグを付加され何も処理されず
にハッシュメモリに格納できるまで何度も装置内を循環
し、ハッシュメモリに入力される。この識別子の大小は
プログラムの処理順に応じて定められているので、識別
子の大小比較を行いハッシュメモリに小さい値の識別子
を有するデータを格納することにより、プログラムの実
行におけるデータの依存関係によって生じる無限ループ
の発生を防ぐ。
設け、ハッシュ衝突が発生した場合に、入力されたデー
タと読出されたデータの識別子との大小を比較し、識別
子の小さい方のデータをハッシュメモリに格納し、大き
い方のデータはスルーフラグを付加され何も処理されず
にハッシュメモリに格納できるまで何度も装置内を循環
し、ハッシュメモリに入力される。この識別子の大小は
プログラムの処理順に応じて定められているので、識別
子の大小比較を行いハッシュメモリに小さい値の識別子
を有するデータを格納することにより、プログラムの実
行におけるデータの依存関係によって生じる無限ループ
の発生を防ぐ。
しかしながら前者のものはハッシュ衝突が起きた場合
にチェインフィールドで指示されるアドレスをたどるこ
とにより対となるべきデータを順次検索しているので、
ハッシュ衝突を起こす頻度が増加した場合、1データ当
たりの処理時間が長くなり、プロセッサ全体の処理効率
が著しく低下するという問題がある。
にチェインフィールドで指示されるアドレスをたどるこ
とにより対となるべきデータを順次検索しているので、
ハッシュ衝突を起こす頻度が増加した場合、1データ当
たりの処理時間が長くなり、プロセッサ全体の処理効率
が著しく低下するという問題がある。
従ってハッシュ衝突の頻度を減少させるべく、ハッシ
ュメモリの容量を大きくする必要が生じ、メモリ容量を
小さくするためのハッシュメモリを用いる意味がなくな
る。
ュメモリの容量を大きくする必要が生じ、メモリ容量を
小さくするためのハッシュメモリを用いる意味がなくな
る。
また後者のものは、データの識別子の値の大小を比較
し、ハッシュメモリ内のデータの入換えを行うため、そ
の機構が大がかりな装置となる。またスルーフラグをセ
ットされたデータがプロセッサ内を循環し、その間プロ
セッサを占有することになるため、その処理効率が低下
する。
し、ハッシュメモリ内のデータの入換えを行うため、そ
の機構が大がかりな装置となる。またスルーフラグをセ
ットされたデータがプロセッサ内を循環し、その間プロ
セッサを占有することになるため、その処理効率が低下
する。
一方ハッシュアドレスは前述した如く例えば識別子の
9ビットのカラー/世代識別番号DNからの3ビットに21
ビットのノード番号NNからの6ビットを連結して生成さ
れている。そして29のハッシュメモリのアドレス空間は
23(=8)のカラー/世代区間に分かれ、1カラー/世
代区間は26(=64)のアドレス空間がある。従って入力
データのカラー/世代識別番号DNの下位3ビットが等し
い場合、同一のカラー/世代区間にアクセスすることに
なり、カラー/世代が少ない場合、1区間(=26)のア
ドレス空間へのアクセス頻度が増加し、ハッシュ衝突の
頻度が増大する。即ちカラー/世代識別番号DNの下位3
ビットが等しい入力データはアドレス空間が29(=51
2)あるのにも拘わらず、実質的にはその1/8の空間(=
64)をアクセスすることになる。それ故ハッシュ衝突の
頻度は8倍となる場合がある。
9ビットのカラー/世代識別番号DNからの3ビットに21
ビットのノード番号NNからの6ビットを連結して生成さ
れている。そして29のハッシュメモリのアドレス空間は
23(=8)のカラー/世代区間に分かれ、1カラー/世
代区間は26(=64)のアドレス空間がある。従って入力
データのカラー/世代識別番号DNの下位3ビットが等し
い場合、同一のカラー/世代区間にアクセスすることに
なり、カラー/世代が少ない場合、1区間(=26)のア
ドレス空間へのアクセス頻度が増加し、ハッシュ衝突の
頻度が増大する。即ちカラー/世代識別番号DNの下位3
ビットが等しい入力データはアドレス空間が29(=51
2)あるのにも拘わらず、実質的にはその1/8の空間(=
64)をアクセスすることになる。それ故ハッシュ衝突の
頻度は8倍となる場合がある。
この発明は斯かる事情に鑑みなされたものであり、複
数の識別データからハッシュアドレスを生成する場合
に、それからKビットを抽出し、それらの演算に基づき
生成することにより識別データが類似している場合であ
ってもメモリの全アドレス空間をアクセスすることがで
き、ハッシュ衝突の発生を抑制し、処理効率を向上させ
たデータ検索装置を得ることを目的とする。
数の識別データからハッシュアドレスを生成する場合
に、それからKビットを抽出し、それらの演算に基づき
生成することにより識別データが類似している場合であ
ってもメモリの全アドレス空間をアクセスすることがで
き、ハッシュ衝突の発生を抑制し、処理効率を向上させ
たデータ検索装置を得ることを目的とする。
この発明に係るデータ検索装置は、任意ビット長の複
数の識別データを有する入力パケットの前記複数の識別
データから少なくとも1つの部分ビット列を選択し、選
択されたビット列の逆算可能な演算により前記パケット
の格納アドレスを生成するアドレス生成手段と、生成さ
れた格納アドレスによりアクセスされ、前記パケットの
一部または全部を格納するメモリと、入力されたパケッ
トの前記メモリ内格納アドレスに既に有効なパケットが
格納されているとき、格納されているパケットの識別デ
ータの一部又は全部と、入力されたパケットの識別デー
タの一部又は全部とを比較し、それらの一致/不一致を
判定する第1の比較手段と、該第1の比較手段が不一致
を判定したとき、入力されたパケットの識別データを検
索データとして格納する連想メモリと、入力されたパケ
ットの識別データの一部又は全部と前記連想メモリに格
納されている識別データの一部又は全部とを比較する第
2の比較手段と、前記第1および第2の比較手段の比較
結果に応じて、前記メモリ又は前記連想メモリからの出
力を選択する手段とを備えることを特徴とする。
数の識別データを有する入力パケットの前記複数の識別
データから少なくとも1つの部分ビット列を選択し、選
択されたビット列の逆算可能な演算により前記パケット
の格納アドレスを生成するアドレス生成手段と、生成さ
れた格納アドレスによりアクセスされ、前記パケットの
一部または全部を格納するメモリと、入力されたパケッ
トの前記メモリ内格納アドレスに既に有効なパケットが
格納されているとき、格納されているパケットの識別デ
ータの一部又は全部と、入力されたパケットの識別デー
タの一部又は全部とを比較し、それらの一致/不一致を
判定する第1の比較手段と、該第1の比較手段が不一致
を判定したとき、入力されたパケットの識別データを検
索データとして格納する連想メモリと、入力されたパケ
ットの識別データの一部又は全部と前記連想メモリに格
納されている識別データの一部又は全部とを比較する第
2の比較手段と、前記第1および第2の比較手段の比較
結果に応じて、前記メモリ又は前記連想メモリからの出
力を選択する手段とを備えることを特徴とする。
この発明においては、メモリの格納アドレスが複数の
識別データの逆算可能な演算により生成されるので、識
別データの一部が類似のパケットであっても、同一の格
納アドレスとなることがなく、ハッシュ衝突の頻度が減
少する。またハッシュ衝突が生じたときにそのパケット
の識別データを検索データとして連想メモリに格納でき
るのでパケットが循環することなく格納でき処理効率が
向上する。
識別データの逆算可能な演算により生成されるので、識
別データの一部が類似のパケットであっても、同一の格
納アドレスとなることがなく、ハッシュ衝突の頻度が減
少する。またハッシュ衝突が生じたときにそのパケット
の識別データを検索データとして連想メモリに格納でき
るのでパケットが循環することなく格納でき処理効率が
向上する。
以下、この発明を実施例を示す図面に基づいて説明す
る。
る。
第1図はこの発明に係るデータ検索装置をデータ駆動
形プロセッサの発火処理装置に用いた場合の構成を示す
ブロック図である。図において612は入力セレクタであ
り、後述するFIFOメモリ611から出力されたパケットと
入力されたパケットとを選択する。なおパケットはその
ビットマップを第10図に示すごとく62ビットの幅を有し
ている。選択されたパケットはデータクラッチ608に与
えられ、そこでデータ入力信号COが“H"のタイミングで
ラッチされる。ラッチされたパケットはその31ビットの
識別子のうち、カラー/世代識別番号DNの9ビットと、
ノード番号NNの下位9ビットとが、排他的論理和演算を
行いハッシュアドレスを生成するアドレス生成手段であ
る演算器101の2つの入力端子に夫々与えられる。
形プロセッサの発火処理装置に用いた場合の構成を示す
ブロック図である。図において612は入力セレクタであ
り、後述するFIFOメモリ611から出力されたパケットと
入力されたパケットとを選択する。なおパケットはその
ビットマップを第10図に示すごとく62ビットの幅を有し
ている。選択されたパケットはデータクラッチ608に与
えられ、そこでデータ入力信号COが“H"のタイミングで
ラッチされる。ラッチされたパケットはその31ビットの
識別子のうち、カラー/世代識別番号DNの9ビットと、
ノード番号NNの下位9ビットとが、排他的論理和演算を
行いハッシュアドレスを生成するアドレス生成手段であ
る演算器101の2つの入力端子に夫々与えられる。
第2図は演算器101の構成を示す図であり、入力され
た9ビットのカラー/世代識別番号DNとノード番号NNの
下位9ビットとが夫々のビット毎に排他的論理和演算さ
れ、その演算結果がハッシュアドレスとなり、ハッシュ
メモリ601に与えられる。
た9ビットのカラー/世代識別番号DNとノード番号NNの
下位9ビットとが夫々のビット毎に排他的論理和演算さ
れ、その演算結果がハッシュアドレスとなり、ハッシュ
メモリ601に与えられる。
また31ビットの識別子と18ビットのオペランドデータ
ODとは連想メモリ部602にも与えられる。また識別子の
うちノード番号NNの下位9ビットを除いた22ビットと、
18ビットのオペランドデータODとを合わせた40ビットの
書込みデータがハッシュメモリ601に与えられる。
ODとは連想メモリ部602にも与えられる。また識別子の
うちノード番号NNの下位9ビットを除いた22ビットと、
18ビットのオペランドデータODとを合わせた40ビットの
書込みデータがハッシュメモリ601に与えられる。
第3図はハッシュメモリ601の構成を示すブロック図
であり、ハッシュメモリ601は41ビットのビット幅を有
し、29(=512)のアドレス空間を有している。そして1
8ビットのオペランドデータODと、31ビットの識別子の
うちノード番号NNの下位9ビットを除いた22ビットとが
格納されると共に、そのアドレスの内容の有効(PB=
1)、無効(PB=0)の別を示すフラグであるプレゼン
スビットPBが格納されている。ハッシュメモリ601には
前述の如く9ビットのハッシュアドレスと40ビットの書
込みデータが与えられると共に、後述する制御部606か
らそのリードライトサイクルを定めるリードライト信号
W/・Hと、プレゼンスビットPBの更新を行うセット信
号S/とが与えられ、リードライト信号W/・H=“H"
のサイクルで書込みされ、W/・H=“L"のサイクルで
指定されたアドレスの読出しデータとプレゼンスビット
とが出力される。
であり、ハッシュメモリ601は41ビットのビット幅を有
し、29(=512)のアドレス空間を有している。そして1
8ビットのオペランドデータODと、31ビットの識別子の
うちノード番号NNの下位9ビットを除いた22ビットとが
格納されると共に、そのアドレスの内容の有効(PB=
1)、無効(PB=0)の別を示すフラグであるプレゼン
スビットPBが格納されている。ハッシュメモリ601には
前述の如く9ビットのハッシュアドレスと40ビットの書
込みデータが与えられると共に、後述する制御部606か
らそのリードライトサイクルを定めるリードライト信号
W/・Hと、プレゼンスビットPBの更新を行うセット信
号S/とが与えられ、リードライト信号W/・H=“H"
のサイクルで書込みされ、W/・H=“L"のサイクルで
指定されたアドレスの読出しデータとプレゼンスビット
とが出力される。
第4図は連想メモリ部602の構成を示すブロック図で
ある。図において201はハッシュ衝突したときにデータ
ラッチ608からの31ビットの識別子と一致するデータを
検索する連想メモリ(以下CAMという)であり、32ビッ
ト×32アドレスの容量となっている。CAM201のうち1ビ
ットは前記ハッシュメモリ601と同様に格納されている
データの有効性を判別するためのプレゼンスビットPBの
格納に用いられる。CAM201には各アドレスに対して一
致,不一致検索ライン(以下マッチラインという)が設
けられており、与えられた31ビットの識別子と、CAM201
に格納された識別子とが全て一致したアドレスの32ビッ
トのマッチラインの1ビットが“H"となる判定信号が出
力される。またCAM201にはセレクタ205を介してプレゼ
ンスビットPBの更新を行うセット信号S/が与えられる
と共にリードライトのサイクルを定めるリードライト信
号W/・Cが与えられる。セレクタ205は一端に基準電
圧が、他端にセット信号S/が与えられており、また切
換端子にはリードライト信号W/・Cが与えられてお
り、リードサイクルのときは基準電圧が、ライトサイク
ルのときはセット信号S/が選択される。即ちリードサ
イクル(W/・C=L)のときは、プレゼンスビットPB
=1のアドレスだけを検索する必要があるので、検索デ
ータのプレゼンスビットPBに相当するビットを常に1と
し、ライトサイクル(W/・C=H)のときのみプレゼ
ンスビットPBを更新する必要があるためにこのセレクタ
205は用いられる。
ある。図において201はハッシュ衝突したときにデータ
ラッチ608からの31ビットの識別子と一致するデータを
検索する連想メモリ(以下CAMという)であり、32ビッ
ト×32アドレスの容量となっている。CAM201のうち1ビ
ットは前記ハッシュメモリ601と同様に格納されている
データの有効性を判別するためのプレゼンスビットPBの
格納に用いられる。CAM201には各アドレスに対して一
致,不一致検索ライン(以下マッチラインという)が設
けられており、与えられた31ビットの識別子と、CAM201
に格納された識別子とが全て一致したアドレスの32ビッ
トのマッチラインの1ビットが“H"となる判定信号が出
力される。またCAM201にはセレクタ205を介してプレゼ
ンスビットPBの更新を行うセット信号S/が与えられる
と共にリードライトのサイクルを定めるリードライト信
号W/・Cが与えられる。セレクタ205は一端に基準電
圧が、他端にセット信号S/が与えられており、また切
換端子にはリードライト信号W/・Cが与えられてお
り、リードサイクルのときは基準電圧が、ライトサイク
ルのときはセット信号S/が選択される。即ちリードサ
イクル(W/・C=L)のときは、プレゼンスビットPB
=1のアドレスだけを検索する必要があるので、検索デ
ータのプレゼンスビットPBに相当するビットを常に1と
し、ライトサイクル(W/・C=H)のときのみプレゼ
ンスビットPBを更新する必要があるためにこのセレクタ
205は用いられる。
またCAM201からは32ビットのマッチラインに識別子の
一致,不一致の別を示す判定信号が出力されると共に、
空アドレス検出器203に各アドレスのプレゼンスビットP
Bが出力され、そこでプレゼンスビットPBにより空アド
レスが検出される。
一致,不一致の別を示す判定信号が出力されると共に、
空アドレス検出器203に各アドレスのプレゼンスビットP
Bが出力され、そこでプレゼンスビットPBにより空アド
レスが検出される。
空アドレス検出器203は32ビットの検出信号をアドレ
スセレクタ204の一端に出力すると共に空アドレスがな
くCAM201の全アドレス空間にハッシュ衝突したパケット
の識別子が格納されたとき、そのことを示すフル信号FL
を制御部606に出力する。なお検出信号はCAM201のアド
レスに対応する32ビットの出力であり、その空アドレス
のビットが“H"となっている。アドレスセレクタ204の
他端にはマッチラインからの判定信号が与えられ、その
切換端子に与えられたリードライト信号W/・Cのリー
ドライトに応じアドレスセレクタ204はリードサイクル
のときは判定信号を、またライトサイクルのときは空ア
ドレス検出器203の検出信号を夫々選択する。アドレス
セレクタ204のアドレス選択出力はRAM202に与えられ、
それにより指定されたアドレスがアクセスされる。RAM2
02はオペランドデータを格納するためのものであり、18
ビット×32アドレスの容量となっている。リードライト
信号W/・C及びアドレス選択出力に応じてオペランド
データの読書きが行われる。即ちリードサイクルではRA
M202のアドレスラインには判定信号が与えられ、CAM201
に入力されたパケットの識別子と一致する識別子がCAM2
01に格納されている場合(これをCAM201がヒットしたと
いう)、判定信号に応じたアドレスの18ビットのオペラ
ンドデータが読出しデータとして出力される。この読出
しデータは判定信号とマージされ、50ビットの出力信号
としてデータラッチ609に出力される。またCAM201がヒ
ットしなければ判定信号は32ビット全て“L"のままであ
り、RAM202からは如何なるオペランドデータも読出され
ない。
スセレクタ204の一端に出力すると共に空アドレスがな
くCAM201の全アドレス空間にハッシュ衝突したパケット
の識別子が格納されたとき、そのことを示すフル信号FL
を制御部606に出力する。なお検出信号はCAM201のアド
レスに対応する32ビットの出力であり、その空アドレス
のビットが“H"となっている。アドレスセレクタ204の
他端にはマッチラインからの判定信号が与えられ、その
切換端子に与えられたリードライト信号W/・Cのリー
ドライトに応じアドレスセレクタ204はリードサイクル
のときは判定信号を、またライトサイクルのときは空ア
ドレス検出器203の検出信号を夫々選択する。アドレス
セレクタ204のアドレス選択出力はRAM202に与えられ、
それにより指定されたアドレスがアクセスされる。RAM2
02はオペランドデータを格納するためのものであり、18
ビット×32アドレスの容量となっている。リードライト
信号W/・C及びアドレス選択出力に応じてオペランド
データの読書きが行われる。即ちリードサイクルではRA
M202のアドレスラインには判定信号が与えられ、CAM201
に入力されたパケットの識別子と一致する識別子がCAM2
01に格納されている場合(これをCAM201がヒットしたと
いう)、判定信号に応じたアドレスの18ビットのオペラ
ンドデータが読出しデータとして出力される。この読出
しデータは判定信号とマージされ、50ビットの出力信号
としてデータラッチ609に出力される。またCAM201がヒ
ットしなければ判定信号は32ビット全て“L"のままであ
り、RAM202からは如何なるオペランドデータも読出され
ない。
一方ライトサイクルでは空アドレス検出器203から検
出信号が選択され、CAM201とRAM202のいずれかのアドレ
スに31ビットの識別子と18ビットのオペランドデータOD
とを格納するか指示する。
出信号が選択され、CAM201とRAM202のいずれかのアドレ
スに31ビットの識別子と18ビットのオペランドデータOD
とを格納するか指示する。
またCAM201がヒットした場合はプレゼンスビットPBを
更新する必要が生じるので、ライトサイクルにてCAM201
に与えられるアドレスはヒットしたアドレスである。
更新する必要が生じるので、ライトサイクルにてCAM201
に与えられるアドレスはヒットしたアドレスである。
入力されたパケットとハッシュアドレスとが等しいハ
ッシュメモリ601内の40ビットの格納データ、ハッシュ
メモリ601のプレゼンスビットPB及び連想メモリ部602の
出力信号はデータラッチ609にクロックT1のタイミング
でラッチされ、プレゼンスビットPBは制御部606へ、ま
た格納データのうちの22ビットの識別子は第一の比較手
段を構成する一致検出器603の一端へ、格納データのう
ちの18ビットのオペランドデータODは出力セレクタ605
の一端へ夫々与えられる。また連想メモリ部602の出力
信号のうち32ビットの判定信号は第2の比較手段を構成
するヒット検出器604へ、また18ビットのオペランドデ
ータODは出力セレクタ605の他端へ与えられる。
ッシュメモリ601内の40ビットの格納データ、ハッシュ
メモリ601のプレゼンスビットPB及び連想メモリ部602の
出力信号はデータラッチ609にクロックT1のタイミング
でラッチされ、プレゼンスビットPBは制御部606へ、ま
た格納データのうちの22ビットの識別子は第一の比較手
段を構成する一致検出器603の一端へ、格納データのう
ちの18ビットのオペランドデータODは出力セレクタ605
の一端へ夫々与えられる。また連想メモリ部602の出力
信号のうち32ビットの判定信号は第2の比較手段を構成
するヒット検出器604へ、また18ビットのオペランドデ
ータODは出力セレクタ605の他端へ与えられる。
一致検出器603の他端には入力されたパケットの31ビ
ットの識別子の下位9ビットを除いた22ビットの識別子
が与えられ、入力された2つの識別子の一致を検出し、
一致している場合は一致信号EQを制御部606に出力す
る。即ち一致した場合はハッシュアドレスとして用いた
9ビットの識別子と22ビットの識別子とが全て一致した
こととなるためその旨を一致信号EQとして制御部606へ
告知する。
ットの識別子の下位9ビットを除いた22ビットの識別子
が与えられ、入力された2つの識別子の一致を検出し、
一致している場合は一致信号EQを制御部606に出力す
る。即ち一致した場合はハッシュアドレスとして用いた
9ビットの識別子と22ビットの識別子とが全て一致した
こととなるためその旨を一致信号EQとして制御部606へ
告知する。
またヒット検出器604はCAM201からの32本のマッチラ
インの反転信号をモニタし、その中の1ビットでも“H"
に立上ったものがあった場合は(=CAM201がヒットすれ
ば)、ヒット信号HITを制御部606及び出力セレクタ605
の切換端子に与える。
インの反転信号をモニタし、その中の1ビットでも“H"
に立上ったものがあった場合は(=CAM201がヒットすれ
ば)、ヒット信号HITを制御部606及び出力セレクタ605
の切換端子に与える。
出力セレクタ605は、入力されたパケットの識別子と
ハッシュメモリ601又は連想メモリ602内に格納された識
別子とが全て一致する発火対象の相手データが検索され
た場合に一致した識別子を格納した方のメモリからのオ
ペランドデータODを選択するものである。選択結果のオ
ペランドデータODはデータラッチ610に与えられ、制御
部606からのクロックT2の“H"のタイミングでラッチさ
れ、データ対形成器607の一端に与えられる。
ハッシュメモリ601又は連想メモリ602内に格納された識
別子とが全て一致する発火対象の相手データが検索され
た場合に一致した識別子を格納した方のメモリからのオ
ペランドデータODを選択するものである。選択結果のオ
ペランドデータODはデータラッチ610に与えられ、制御
部606からのクロックT2の“H"のタイミングでラッチさ
れ、データ対形成器607の一端に与えられる。
出力セレクタ605の選択は切換端子に与えられたヒッ
ト信号HITにより行われ、CAM201がヒットした場合にの
み連想メモリ部602に格納されていたオペランドデータO
Dを選択し、ヒットしなかった場合にはハッシュメモリ6
01に格納されていたデータを選択し、データラッチ610
に送る。
ト信号HITにより行われ、CAM201がヒットした場合にの
み連想メモリ部602に格納されていたオペランドデータO
Dを選択し、ヒットしなかった場合にはハッシュメモリ6
01に格納されていたデータを選択し、データラッチ610
に送る。
データ対形成器607は出力セレクタ605により選択され
たオペランドデータODが一端に入力されると共に他端に
は、データラッチ608からの62ビットの入力されたパケ
ットのデータが与えられる。そして2つのデータがマー
ジされ80ビットの2オペランドデータが形成される。こ
のとき2項演算の減算命令の如くオペランドの順序関係
が重要なものがあるので、選択されたオペランドデータ
ODと入力されたパケットのオペランドデータODとは正し
く左又は右のオペランドとして配置される必要がある。
たオペランドデータODが一端に入力されると共に他端に
は、データラッチ608からの62ビットの入力されたパケ
ットのデータが与えられる。そして2つのデータがマー
ジされ80ビットの2オペランドデータが形成される。こ
のとき2項演算の減算命令の如くオペランドの順序関係
が重要なものがあるので、選択されたオペランドデータ
ODと入力されたパケットのオペランドデータODとは正し
く左又は右のオペランドとして配置される必要がある。
第5図はデータ対形成器607の構成を示すブロック図
である。データ対形成器607は2つのデータセレクタ70
1,702からなり、夫々の切換端子には入力されたパケッ
トの左/右データ選択ビットでその状態を示すセレクタ
制御信号L/が与えられる。データセレクタ701のA端
子及びデータセレクタ702のB端子にはデータラッチ608
よりの入力されたパケットのオペランドデータODが夫々
与えられ、データセレクタ701のB端子及びデータセレ
クタ702のA端子にはデータラッチ610よりの格納された
オペランドデータODが与えられる。そして入力されたパ
ケットのオペランドデータODからのセレクタ制御信号L/
が“1"のときは夫々のデータセレクタ701,702のA端
子に与えられたオペランドデータが、またL/が“0"の
ときはB端子に与えられたオペランドデータが選択さ
れ、データセレクタ701からの選択出力が左オペランド
となり、データセレクタ702からの選択出力が右オペラ
ンドとなり、それらと入力されたパケットのオペランド
データODを除く他のデータとがマージされ出力される。
である。データ対形成器607は2つのデータセレクタ70
1,702からなり、夫々の切換端子には入力されたパケッ
トの左/右データ選択ビットでその状態を示すセレクタ
制御信号L/が与えられる。データセレクタ701のA端
子及びデータセレクタ702のB端子にはデータラッチ608
よりの入力されたパケットのオペランドデータODが夫々
与えられ、データセレクタ701のB端子及びデータセレ
クタ702のA端子にはデータラッチ610よりの格納された
オペランドデータODが与えられる。そして入力されたパ
ケットのオペランドデータODからのセレクタ制御信号L/
が“1"のときは夫々のデータセレクタ701,702のA端
子に与えられたオペランドデータが、またL/が“0"の
ときはB端子に与えられたオペランドデータが選択さ
れ、データセレクタ701からの選択出力が左オペランド
となり、データセレクタ702からの選択出力が右オペラ
ンドとなり、それらと入力されたパケットのオペランド
データODを除く他のデータとがマージされ出力される。
制御部606はプレゼンスビットPB、ヒット信号HIT、一
致信号EQ、入力されたパケットが2入力命令か1入力命
令かの別を示すFC処理選択ビットの状態で定まる入力選
択信号FC(2入力命令FC=1、1入力命令FC=0)及び
フル信号FLが与えられ、それらを判断してリードライト
信号W/・C,W/・H、セット信号S/、データ出力信
号C1及び後述するFIFOメモリ611への書込信号WRFを出力
する。またデータ入力信号C0、データ出力許可信号▲
▼が入力され、それらを判断してデータ入力許可信号
▲▼、クロックT1及び同T2を出力する。ここでデー
タ入力信号C0及びデータ入力許可信号▲▼はこの発
火処理装置と、この装置に対してデータを与える処理装
置(以下前段装置という)との間のデータ転送制御信号
であり、データ出力信号C1及びデータ出力許可信号▲
▼はこの装置の出力するデータを受取る処理装置(以
下後段装置という)との間のデータ転送制御信号であ
る。
致信号EQ、入力されたパケットが2入力命令か1入力命
令かの別を示すFC処理選択ビットの状態で定まる入力選
択信号FC(2入力命令FC=1、1入力命令FC=0)及び
フル信号FLが与えられ、それらを判断してリードライト
信号W/・C,W/・H、セット信号S/、データ出力信
号C1及び後述するFIFOメモリ611への書込信号WRFを出力
する。またデータ入力信号C0、データ出力許可信号▲
▼が入力され、それらを判断してデータ入力許可信号
▲▼、クロックT1及び同T2を出力する。ここでデー
タ入力信号C0及びデータ入力許可信号▲▼はこの発
火処理装置と、この装置に対してデータを与える処理装
置(以下前段装置という)との間のデータ転送制御信号
であり、データ出力信号C1及びデータ出力許可信号▲
▼はこの装置の出力するデータを受取る処理装置(以
下後段装置という)との間のデータ転送制御信号であ
る。
制御部606にフル信号FLが入力され、さらにハッシュ
衝突が生じた場合、制御部606から2ポートタイプのFIF
Oメモリ611に書込み信号WRFが与えられる。このときFIF
Oメモリ611はデータ対形成器607からの出力信号のうち
入力されたパケットの62ビットのデータを格納し、それ
を所定時間バッファリングした後:入力セレクタ612の
他端に与える。この間にハッシュ衝突の原因となったハ
ッシュアドレスのハッシュメモリ601内のデータか、ま
たはCAM201内のデータのいずれかのデータが読出されて
発火されている場合はFIFOメモリ611を経由して再び入
力されたパケットはこの装置内のハッシュメモリ601又
は連想メモリ部602のいずれかで待合せを行うことがで
きる。
衝突が生じた場合、制御部606から2ポートタイプのFIF
Oメモリ611に書込み信号WRFが与えられる。このときFIF
Oメモリ611はデータ対形成器607からの出力信号のうち
入力されたパケットの62ビットのデータを格納し、それ
を所定時間バッファリングした後:入力セレクタ612の
他端に与える。この間にハッシュ衝突の原因となったハ
ッシュアドレスのハッシュメモリ601内のデータか、ま
たはCAM201内のデータのいずれかのデータが読出されて
発火されている場合はFIFOメモリ611を経由して再び入
力されたパケットはこの装置内のハッシュメモリ601又
は連想メモリ部602のいずれかで待合せを行うことがで
きる。
この際、入力セレクタ612は通常外部より与えられる
データをセレクトし、FIFOメモリ611の出力端にバッフ
ァリングを施されたデータが存在するときのみ、外部よ
り与えられるデータとFIFOメモリ611の与えるデータを
交互にセレクトするよう制御される。
データをセレクトし、FIFOメモリ611の出力端にバッフ
ァリングを施されたデータが存在するときのみ、外部よ
り与えられるデータとFIFOメモリ611の与えるデータを
交互にセレクトするよう制御される。
次に以下の如く構成されたこの発明の発火処理装置の
動作について説明する。なおハッシュメモリ601にはデ
ータ対を待つ複数のパケットが格納されているとする。
第6図はこの発明の概略動作を説明するフローチャート
である。パケットが入力されると(S1)、連想メモリ部
602では格納された識別子との一致,不一致を判定(SI
0)すると共に、9ビットのハッシュアドレスがカラー
/世代識別番号DN(9ビット)とノード番号NNの下位9
ビットとの排他的論理和により生成される(S2)。次に
ハッシュメモリ601のそのハッシュアドレスに有効なデ
ータが既に格納されているか否かが判定され(S3)、連
想メモリ部602の識別子と一致せず、かつ(S3)でデー
タが格納されていない場合は入力パケットをハッシュメ
モリ601のそのハッシュアドレスに格納し(S4)、格納
されている場合は22ビットの他の識別子が一致している
か否かが判定され(S5)、一致していない場合はハッシ
ュ衝突が生じているので、入力パケットを連想メモリ部
602に格納し(S7)、一致した場合はハッシュメモリ601
内の格納データを選択し(S9)、それと入力パケットと
をデータ対となす発火処理を行う(S12)。
動作について説明する。なおハッシュメモリ601にはデ
ータ対を待つ複数のパケットが格納されているとする。
第6図はこの発明の概略動作を説明するフローチャート
である。パケットが入力されると(S1)、連想メモリ部
602では格納された識別子との一致,不一致を判定(SI
0)すると共に、9ビットのハッシュアドレスがカラー
/世代識別番号DN(9ビット)とノード番号NNの下位9
ビットとの排他的論理和により生成される(S2)。次に
ハッシュメモリ601のそのハッシュアドレスに有効なデ
ータが既に格納されているか否かが判定され(S3)、連
想メモリ部602の識別子と一致せず、かつ(S3)でデー
タが格納されていない場合は入力パケットをハッシュメ
モリ601のそのハッシュアドレスに格納し(S4)、格納
されている場合は22ビットの他の識別子が一致している
か否かが判定され(S5)、一致していない場合はハッシ
ュ衝突が生じているので、入力パケットを連想メモリ部
602に格納し(S7)、一致した場合はハッシュメモリ601
内の格納データを選択し(S9)、それと入力パケットと
をデータ対となす発火処理を行う(S12)。
また連想メモリ部602に格納した後、そのメモリ部602
が満杯か否かが判定され(S7)、満杯のときは入力パケ
ットをFIFOメモリ611に格納し、満杯でないときはその
まま次処理に移る。
が満杯か否かが判定され(S7)、満杯のときは入力パケ
ットをFIFOメモリ611に格納し、満杯でないときはその
まま次処理に移る。
一方パケットが入力されとハッシュアドレスが生成さ
れると共に連想メモリ部602では格納された識別子との
一致、不一致を判定し(S10)、一致したときは連想メ
モリ部602の出力を選択し(S11)、発火処理する(S1
2)。また一致しないときはステップ9に移る。以上が
概略動作である。
れると共に連想メモリ部602では格納された識別子との
一致、不一致を判定し(S10)、一致したときは連想メ
モリ部602の出力を選択し(S11)、発火処理する(S1
2)。また一致しないときはステップ9に移る。以上が
概略動作である。
第7図はこの発明装置の動作サイクルを説明するタイ
ミングチャートであり、この図に示す如くこの発明装置
の動作サイクルはリードサイクル、処理サイクル及びラ
イトサイクルの3つのサイクルに分けられる。前段装置
からのデータ入力信号C0が制御部606に入力されると、
前段装置への出力許可信号▲▼が“1"→“0"に変化
し、次の入力を禁止し、リードサイクルに入る。リード
サイクルに入ると入力セレクタ612で選択された入力パ
ケット又はCAM201のオーバフローにより循環されたパケ
ットのいずれかが、データ入力信号COの“0"→“1"のタ
イミングでデータラッチ608にラッチされる。データラ
ッチ608にパケットが入力されると、前記パケットの31
ビットの識別子のうち、カラー/世代識別番号DNの9ビ
ットと21ビットのノード番号NNの下位9ビットとが演算
器101に与えられそれらの排他的論理和演算が行われ、
9ビットのハッシュアドレスが定められる。
ミングチャートであり、この図に示す如くこの発明装置
の動作サイクルはリードサイクル、処理サイクル及びラ
イトサイクルの3つのサイクルに分けられる。前段装置
からのデータ入力信号C0が制御部606に入力されると、
前段装置への出力許可信号▲▼が“1"→“0"に変化
し、次の入力を禁止し、リードサイクルに入る。リード
サイクルに入ると入力セレクタ612で選択された入力パ
ケット又はCAM201のオーバフローにより循環されたパケ
ットのいずれかが、データ入力信号COの“0"→“1"のタ
イミングでデータラッチ608にラッチされる。データラ
ッチ608にパケットが入力されると、前記パケットの31
ビットの識別子のうち、カラー/世代識別番号DNの9ビ
ットと21ビットのノード番号NNの下位9ビットとが演算
器101に与えられそれらの排他的論理和演算が行われ、
9ビットのハッシュアドレスが定められる。
なおこの実施例では演算器101により2種類の識別コ
ードの排他的論理和演算が行われているが、識別コード
の演算対象数及び演算内容はこれに限るものではなく、
演算対象数は3つ以上でもよく、また演算内容は加算等
の他の逆算可能な演算でもよい。
ードの排他的論理和演算が行われているが、識別コード
の演算対象数及び演算内容はこれに限るものではなく、
演算対象数は3つ以上でもよく、また演算内容は加算等
の他の逆算可能な演算でもよい。
即ち、任意の自然数a,bに対してab=cならばb
c=aが成立する演算子により下記式 〔k1〕k…〔kM〕k 但しk1・・・kM…識別コード によりハッシュアドレスを生成してもよい。
c=aが成立する演算子により下記式 〔k1〕k…〔kM〕k 但しk1・・・kM…識別コード によりハッシュアドレスを生成してもよい。
ハッシュアドレスが定められると、リードサイクルで
はハッシュメモリ601と連想メモリ602とが同時に読出さ
れる。メモリ読出しに必要な時間が経過するとクロック
T1が“0"→“1"に変化し、読出されたデータはデータラ
ッチ609にラッチされる。ここから処理サイクルに入
り、一致検出器603及びヒット検出器604はハッシュメモ
リ601及び連想メモリ部602より読出された各データに基
づいて一致信号EQ及びヒット信号HITを出力する。即ち
一致検出器603はハッシュ衝突が起こっているか否かを
検出するものであり、データラッチ608に入力されてい
るパケットの識別子とハッシュメモリ601から読出され
たデータラッチ609にラッチされている識別子との比較
を行う。即ちカラー/世代識別番号DNの9ビット、ノー
ド番号NNの上位12ビット及びプロセッサ識別ビットの1
ビットの計22ビットの比較を行う。これらの22ビットが
全て等しいと判定されると、9ビットのハッシュアドレ
スが等しく、また9ビットのカラー/世代識別番号DNが
等しいので、ノード番号NNの下位9ビットも等しいこと
になり、31ビットの識別子の全てが等しいと判定され、
一致検出器603は一致信号EQ=“1"を制御部606に出力す
る。
はハッシュメモリ601と連想メモリ602とが同時に読出さ
れる。メモリ読出しに必要な時間が経過するとクロック
T1が“0"→“1"に変化し、読出されたデータはデータラ
ッチ609にラッチされる。ここから処理サイクルに入
り、一致検出器603及びヒット検出器604はハッシュメモ
リ601及び連想メモリ部602より読出された各データに基
づいて一致信号EQ及びヒット信号HITを出力する。即ち
一致検出器603はハッシュ衝突が起こっているか否かを
検出するものであり、データラッチ608に入力されてい
るパケットの識別子とハッシュメモリ601から読出され
たデータラッチ609にラッチされている識別子との比較
を行う。即ちカラー/世代識別番号DNの9ビット、ノー
ド番号NNの上位12ビット及びプロセッサ識別ビットの1
ビットの計22ビットの比較を行う。これらの22ビットが
全て等しいと判定されると、9ビットのハッシュアドレ
スが等しく、また9ビットのカラー/世代識別番号DNが
等しいので、ノード番号NNの下位9ビットも等しいこと
になり、31ビットの識別子の全てが等しいと判定され、
一致検出器603は一致信号EQ=“1"を制御部606に出力す
る。
即ち入力されたパケットのカラー/世代識別番号DNの
9ビットをg、ノード番号NNの上位12ビットをNA、下位
9ビットをNBとし、ハッシュメモリ601内に格納されて
いるカラー/世代識別番号DNをgM、ノード番号NNの上位
12ビットをNMとすると、ハッシュアドレスAは前述の如
く A=gN …(1) :排他的論理和 又は NB=gA …(2) によって求められ、このハッシュアドレスAによりハッ
シュメモリ601をアクセスしている。ハッシュメモリ601
上にノード番号NNの21ビットのうち下位9ビットは格納
されていないので、それを求めなければ入力パケットの
下位9ビットNBとの比較はできない。
9ビットをg、ノード番号NNの上位12ビットをNA、下位
9ビットをNBとし、ハッシュメモリ601内に格納されて
いるカラー/世代識別番号DNをgM、ノード番号NNの上位
12ビットをNMとすると、ハッシュアドレスAは前述の如
く A=gN …(1) :排他的論理和 又は NB=gA …(2) によって求められ、このハッシュアドレスAによりハッ
シュメモリ601をアクセスしている。ハッシュメモリ601
上にノード番号NNの21ビットのうち下位9ビットは格納
されていないので、それを求めなければ入力パケットの
下位9ビットNBとの比較はできない。
しかし前述の如くg=gMが判明すると、上記(2)式
より NB=gMA …(3) が得られる。しかしNBが直接に得られるため、格納され
ていない下位9ビットを求める必要がなく、比較する必
要もなくなる。
より NB=gMA …(3) が得られる。しかしNBが直接に得られるため、格納され
ていない下位9ビットを求める必要がなく、比較する必
要もなくなる。
そしてヒット検出器604では連想メモリ部602に格納さ
れている識別子とデータラッチ608に入力されているパ
ケットの識別子とが等しい場合、即ち32ビットのマッチ
ラインのいずれかが“H"となったときにヒット信号HIT
=“1"を出力する。
れている識別子とデータラッチ608に入力されているパ
ケットの識別子とが等しい場合、即ち32ビットのマッチ
ラインのいずれかが“H"となったときにヒット信号HIT
=“1"を出力する。
上述の操作に必要な時間が経過すると、クロックT2が
“0"→“1"に変化し、ライトサイクルに入る。ライトサ
イクルではプレゼンスビットPBの更新を含むメモリの書
込みとデータ対の生成が行われる。これらの操作に必要
な時間が経過すると制御部606はデータ出力信号C1を出
力し、クロックT1,T2及びデータ入力許可信号▲▼
の復帰を行い一連の処理を終了する。但しデータ出力信
号C1の出力は入力されたパケットが発火したときだけで
あり、発火しなかった場合は、クロックT1,T2及びデー
タ入力許可信号▲▼の復帰だけを行い、データ出力
信号C1は出力されない。そしてこのライトサイクルでは
プレゼンスビットPB、一致信号EQ、ヒット信号HIT,フル
信号FL及び入力選択信号FCによってリードライト信号W/
・H,W/・C,FIFOメモリ611の書込信号WRF及びセット
信号S/が制御部606で生成される。この真理値表を第
8図に示す。これによりハッシュメモリ601及び連想メ
モリ部602に入力されたパケットを書込むか否かを定
め、下記の如くの動作をする。
“0"→“1"に変化し、ライトサイクルに入る。ライトサ
イクルではプレゼンスビットPBの更新を含むメモリの書
込みとデータ対の生成が行われる。これらの操作に必要
な時間が経過すると制御部606はデータ出力信号C1を出
力し、クロックT1,T2及びデータ入力許可信号▲▼
の復帰を行い一連の処理を終了する。但しデータ出力信
号C1の出力は入力されたパケットが発火したときだけで
あり、発火しなかった場合は、クロックT1,T2及びデー
タ入力許可信号▲▼の復帰だけを行い、データ出力
信号C1は出力されない。そしてこのライトサイクルでは
プレゼンスビットPB、一致信号EQ、ヒット信号HIT,フル
信号FL及び入力選択信号FCによってリードライト信号W/
・H,W/・C,FIFOメモリ611の書込信号WRF及びセット
信号S/が制御部606で生成される。この真理値表を第
8図に示す。これによりハッシュメモリ601及び連想メ
モリ部602に入力されたパケットを書込むか否かを定
め、下記の如くの動作をする。
第8図の(1)は、1入力命令が与えられた場合を示
し、ハッシュメモリ601の内容を何ら更新することなく
1オペランドデータがそのまま出力される。
し、ハッシュメモリ601の内容を何ら更新することなく
1オペランドデータがそのまま出力される。
第8図の(2)〜(7)は2入力命令が与えられた場
合を示し、データを出力するか否かは各種の条件により
定まる。(2)はハッシュメモリ601の入力パケットに
より定められたハッシュアドレスにデータが格納されて
おり(PB=1)、それがハッシュ衝突を起こすことがな
かった(EQ=1)場合を示す。ハッシュメモリ601と連
想メモリ部602とに重複してデータが格納されることは
ないので、この場合CAM201がヒットすることはない(HI
T=0)。このときライトサイクルにおいてはハッシュ
メモリ601のプレゼンスビットPBをリセットする必要が
あるのでリードライト信号W/・H=1、セット信号S/
=0とする。連想メモリ部602には手を加える必要が
ないので、リードライト信号W/・C=0とする。入力
されたパケットはハッシュメモリ601の内容と発火した
ので、ライトサイクルの終了と同時にデータ出力信号C1
を出力する。
合を示し、データを出力するか否かは各種の条件により
定まる。(2)はハッシュメモリ601の入力パケットに
より定められたハッシュアドレスにデータが格納されて
おり(PB=1)、それがハッシュ衝突を起こすことがな
かった(EQ=1)場合を示す。ハッシュメモリ601と連
想メモリ部602とに重複してデータが格納されることは
ないので、この場合CAM201がヒットすることはない(HI
T=0)。このときライトサイクルにおいてはハッシュ
メモリ601のプレゼンスビットPBをリセットする必要が
あるのでリードライト信号W/・H=1、セット信号S/
=0とする。連想メモリ部602には手を加える必要が
ないので、リードライト信号W/・C=0とする。入力
されたパケットはハッシュメモリ601の内容と発火した
ので、ライトサイクルの終了と同時にデータ出力信号C1
を出力する。
第8図の(3)及び(4)はハッシュメモリ601に有
効なデータが格納されていたが、それがハッシュ衝突を
起こした場合を示す(PB=1,EQ=0)。そして(3)で
はCAM201でもヒットしなかったため(HIT=0)、入力
されたデータは連想メモリ部602に格納され(W/・C
=1,S/=1)データの出力は行われない(C1=0)。
(4)ではCAM201がヒットしたため(HIT=1)、入力
されたパケットは連想メモリ部602の内容と発火し、出
力される(C1=1)。ここでCAM201のプレゼンスビット
PBがリセットされなければいけないので、リードライト
信号W/・C=1,セット信号S/=0とされる。(5)
及び(6)はハッシュメモリ601に有効なデータが格納
されていなかった場合であり(PB=0)、一致信号EQの
値に意味はない。(5)ではCAM201がヒットしなかった
場合を示し(HIT=0)、入力されたパケットはハッシ
ュメモリ601に書込まれる(W/・H=1,S/=1,C1=
0)。(6)ではCAM201がヒットしており、(4)と同
様な操作を行う。また(7)はハッシュメモリ601に有
効なデータが格納されていたがそれがハッシュ衝突を起
こし(PB=1、EQ=0)、連想メモリ部602に格納する
必要が生じたが、CAM201が満杯となり全アドレスが有効
となった場合(FL=1)を示し、入力されたパケットは
FIFOメモリ611に所定時間をバッファリングされる(WRF
=1)。第8図を参照して述べた動作は全てライトサイ
クルにおけるものであり、ライトサイクル以外の動作で
はリードライト信号W/,W/・Cは常に“0"となって
いる。
効なデータが格納されていたが、それがハッシュ衝突を
起こした場合を示す(PB=1,EQ=0)。そして(3)で
はCAM201でもヒットしなかったため(HIT=0)、入力
されたデータは連想メモリ部602に格納され(W/・C
=1,S/=1)データの出力は行われない(C1=0)。
(4)ではCAM201がヒットしたため(HIT=1)、入力
されたパケットは連想メモリ部602の内容と発火し、出
力される(C1=1)。ここでCAM201のプレゼンスビット
PBがリセットされなければいけないので、リードライト
信号W/・C=1,セット信号S/=0とされる。(5)
及び(6)はハッシュメモリ601に有効なデータが格納
されていなかった場合であり(PB=0)、一致信号EQの
値に意味はない。(5)ではCAM201がヒットしなかった
場合を示し(HIT=0)、入力されたパケットはハッシ
ュメモリ601に書込まれる(W/・H=1,S/=1,C1=
0)。(6)ではCAM201がヒットしており、(4)と同
様な操作を行う。また(7)はハッシュメモリ601に有
効なデータが格納されていたがそれがハッシュ衝突を起
こし(PB=1、EQ=0)、連想メモリ部602に格納する
必要が生じたが、CAM201が満杯となり全アドレスが有効
となった場合(FL=1)を示し、入力されたパケットは
FIFOメモリ611に所定時間をバッファリングされる(WRF
=1)。第8図を参照して述べた動作は全てライトサイ
クルにおけるものであり、ライトサイクル以外の動作で
はリードライト信号W/,W/・Cは常に“0"となって
いる。
これらの動作で発火することが判明したパケット及び
データはデータ対形成器607に送られ、オペランド対パ
ケットが形成されて出力される。このように発火処理装
置に対してハッシュメモリ601と連想メモリ602とを併用
し、両者の読出しを同時に行うことにより、ハッシュ衝
突の如何に拘わらず同じ速度で処理ができ、装置の制御
も第8図に示した如く簡潔に行える。
データはデータ対形成器607に送られ、オペランド対パ
ケットが形成されて出力される。このように発火処理装
置に対してハッシュメモリ601と連想メモリ602とを併用
し、両者の読出しを同時に行うことにより、ハッシュ衝
突の如何に拘わらず同じ速度で処理ができ、装置の制御
も第8図に示した如く簡潔に行える。
ここでハッシュアドレスの生成を排他的論理和の演算
により行った場合、第1の識別データであるカラー/世
代識別番号DNが同一又はその下位3ビットが同一であっ
ても生成されるハッシュアドレスの値が広範囲に及ぶこ
との一例を説明する。
により行った場合、第1の識別データであるカラー/世
代識別番号DNが同一又はその下位3ビットが同一であっ
ても生成されるハッシュアドレスの値が広範囲に及ぶこ
との一例を説明する。
第1表はこの発明及び従来技術において生成されたハ
ッシュアドレスを比較したものであり、表内の数字は全
て16進数で示している。従来技術の場合はカラー/世代
識別番号DNが異なっていてもその下位3ビットが共に0
で等しいため(0H=000000000,8H=000001000,80H=010
000000)、生成されるハッシュアドレスは0〜3番地の
4アドレスだけとなるが、この発明では0〜83と広い範
囲に及ぶことがわかる。従ってこの発明においては識別
データのうちいくつかが同一又は近接したものであって
も、異なったハッシュアドレスを生成し、それによりハ
ッシュ衝突の頻度が低減される。
ッシュアドレスを比較したものであり、表内の数字は全
て16進数で示している。従来技術の場合はカラー/世代
識別番号DNが異なっていてもその下位3ビットが共に0
で等しいため(0H=000000000,8H=000001000,80H=010
000000)、生成されるハッシュアドレスは0〜3番地の
4アドレスだけとなるが、この発明では0〜83と広い範
囲に及ぶことがわかる。従ってこの発明においては識別
データのうちいくつかが同一又は近接したものであって
も、異なったハッシュアドレスを生成し、それによりハ
ッシュ衝突の頻度が低減される。
なお、この実施例では、ハッシュアドレスの決定に際
し、識別子のカラー/世代識別番号DNの9ビットと、ノ
ード番号NNの下位9ビットとの排他的論理和をとりハッ
シュアドレスを生成したが、ノード番号NNの下位9ビッ
トの位置を上位と下位を並べかえるビットリバースさ
せ、排他的論理和をとりハッシュアドレスを生成しても
同様な効果を得ることができる。
し、識別子のカラー/世代識別番号DNの9ビットと、ノ
ード番号NNの下位9ビットとの排他的論理和をとりハッ
シュアドレスを生成したが、ノード番号NNの下位9ビッ
トの位置を上位と下位を並べかえるビットリバースさ
せ、排他的論理和をとりハッシュアドレスを生成しても
同様な効果を得ることができる。
このビットリバースを用いた場合の効果について詳し
く説明する。発火処理装置においては、パケットのカラ
ー/世代識別番号DNは続き番号で流れてくることが多
い。例えばカラー/世代識別番号DN=1Hとノード番号NN
の下位9ビット=2Hとを有するパケットの後にカラー/
世代識別番号DN=2Hとノード番号NNの下位9ビット=1H
を有するパケットが入力されるというようにである。こ
の場合、それらの排他的論理和は等しいので双方のハッ
シュアドレスは等しく、識別子が一致していないのでハ
ッシュ衝突が生じる。
く説明する。発火処理装置においては、パケットのカラ
ー/世代識別番号DNは続き番号で流れてくることが多
い。例えばカラー/世代識別番号DN=1Hとノード番号NN
の下位9ビット=2Hとを有するパケットの後にカラー/
世代識別番号DN=2Hとノード番号NNの下位9ビット=1H
を有するパケットが入力されるというようにである。こ
の場合、それらの排他的論理和は等しいので双方のハッ
シュアドレスは等しく、識別子が一致していないのでハ
ッシュ衝突が生じる。
しかし、ノード番号NNの下位9ビットをビットリバー
スし、排他的論理和によりハッシュアドレスを求める
と、前者のパケットのハッシュアドレスは81H、後者の
は102Hとなり、全く違ったハッシュアドレスを生成する
ことができる。第2表は以上のビットリバースの場合の
ハッシュアドレスの生成の一例を示している。
スし、排他的論理和によりハッシュアドレスを求める
と、前者のパケットのハッシュアドレスは81H、後者の
は102Hとなり、全く違ったハッシュアドレスを生成する
ことができる。第2表は以上のビットリバースの場合の
ハッシュアドレスの生成の一例を示している。
ビットリバースしない場合に比してビットリバースし
た場合はハッシュアドレスをさらに多くのパターンで生
成することができる。
た場合はハッシュアドレスをさらに多くのパターンで生
成することができる。
またこの実施例ではハッシュ衝突が頻発しCAMがオー
バフローした場合であっても、入力されたパケットを所
定時間FIFOメモリにバッファリングできるので、CAMを
小容量とすることができ、オーバーフロー時に何ら特別
の処理を行う必要がなく処理速度が向上する。
バフローした場合であっても、入力されたパケットを所
定時間FIFOメモリにバッファリングできるので、CAMを
小容量とすることができ、オーバーフロー時に何ら特別
の処理を行う必要がなく処理速度が向上する。
なおこの実施例ではこの発明のデータ検索装置をデー
タ駆動プロセッサの発火処理装置に適用した場合を説明
したが、この発明はこれに限るものではなく、キーワー
ド等の識別子によりデータ検索を行う一般的なマッチン
グメモリに対して適用できることは言うまでもない。
タ駆動プロセッサの発火処理装置に適用した場合を説明
したが、この発明はこれに限るものではなく、キーワー
ド等の識別子によりデータ検索を行う一般的なマッチン
グメモリに対して適用できることは言うまでもない。
以上説明したようにこの発明によれば、ハッシュアド
レスの生成を複数の識別データの逆算可能な所定の論理
演算により行っているので、複数の識別データが等しい
か又は類似した値であっても生成されるハッシュアドレ
スは幅広い領域を有するため、アドレス空間の全域が有
効利用され、ハッシュ衝突の頻度が低減する。また連想
メモリ部を設けたことでハッシュ衝突したパケットをそ
れに格納することができ、パケットの循環がなくなり、
ハッシュメモリと連想メモリ部との同時検索により処理
速度が向上する等優れた効果を奏する。
レスの生成を複数の識別データの逆算可能な所定の論理
演算により行っているので、複数の識別データが等しい
か又は類似した値であっても生成されるハッシュアドレ
スは幅広い領域を有するため、アドレス空間の全域が有
効利用され、ハッシュ衝突の頻度が低減する。また連想
メモリ部を設けたことでハッシュ衝突したパケットをそ
れに格納することができ、パケットの循環がなくなり、
ハッシュメモリと連想メモリ部との同時検索により処理
速度が向上する等優れた効果を奏する。
第1図はこの発明に係るデータ検索装置をデータ駆動形
プロセッサの発火処理装置に適用した場合の構成を示す
ブロック図、第2図は演算器の構成を示す図、第3図は
ハッシュメモリの構成を示すブロック図、第4図は連想
メモリ部の構成を示すブロック図、第5図はデータ対形
成器の構成を示すブロック図、第6図はこの発明の概略
動作を説明するフローチャート、第7図はこの発明の動
作サイクルの説明図、第8図はライトサイクルの真理値
を示す図、第9図は従来のデータ駆動形処理の概念図、
第10図は入力パケットの一例を示す図、第11図は従来の
ハッシュメモリの構成を示すブロック図である。 101……演算器、201……CAM、601……ハッシュメモリ、
602……連想メモリ部、603……一致検出器、604……ヒ
ット検出器、605……出力セレクタ、606……制御部、60
7……データ対形成器 なお、図中、同一符号は同一、又は相当部分を示す。
プロセッサの発火処理装置に適用した場合の構成を示す
ブロック図、第2図は演算器の構成を示す図、第3図は
ハッシュメモリの構成を示すブロック図、第4図は連想
メモリ部の構成を示すブロック図、第5図はデータ対形
成器の構成を示すブロック図、第6図はこの発明の概略
動作を説明するフローチャート、第7図はこの発明の動
作サイクルの説明図、第8図はライトサイクルの真理値
を示す図、第9図は従来のデータ駆動形処理の概念図、
第10図は入力パケットの一例を示す図、第11図は従来の
ハッシュメモリの構成を示すブロック図である。 101……演算器、201……CAM、601……ハッシュメモリ、
602……連想メモリ部、603……一致検出器、604……ヒ
ット検出器、605……出力セレクタ、606……制御部、60
7……データ対形成器 なお、図中、同一符号は同一、又は相当部分を示す。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐藤 尚和 兵庫県伊丹市瑞原4丁目1番地 三菱電 機株式会社エル・エス・アイ研究所内 (72)発明者 高田 英裕 兵庫県伊丹市瑞原4丁目1番地 三菱電 機株式会社エル・エス・アイ研究所内 (56)参考文献 特開 昭59−158443(JP,A) 特開 昭59−33555(JP,A) 特開 昭57−59252(JP,A) 特開 昭63−129425(JP,A)
Claims (1)
- 【請求項1】任意ビット長の複数の識別データを有する
入力パケットの前記複数の識別データから少なくとも1
つの部分ビット列を選択し、選択されたビット列の逆算
可能な演算により前記パケットの格納アドレスを生成す
るアドレス生成手段と、 生成された格納アドレスによりアクセスされ、前記パケ
ットの一部または全部を格納するメモリと、 入力されたパケットの前記メモリ内格納アドレスに既に
有効なパケットが格納されているとき、格納されている
パケットの識別データの一部又は全部と、入力されたパ
ケットの識別データの一部又は全部とを比較し、それら
の一致/不一致を判定する第1の比較手段と、 該第1の比較手段が不一致を判定したとき、入力された
パケットの識別データを検索データとして格納する連想
メモリと、 入力されたパケットの識別データの一部又は全部と前記
連想メモリに格納されている識別データの一部又は全部
とを比較する第2の比較手段と、 前記第1および第2の比較手段の比較結果に応じて、前
記メモリ又は前記連想メモリからの出力を選択する手段
と を備えることを特徴とするデータ検索装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1102712A JP2668438B2 (ja) | 1989-04-21 | 1989-04-21 | データ検索装置 |
US07/416,887 US5182799A (en) | 1989-04-21 | 1989-10-04 | Retrieving data using hash memory address generated by reversing /xor bits of selected bit strings of an input packet id |
US07/918,489 US5359720A (en) | 1989-04-21 | 1992-07-22 | Taken storage apparatus using a hash memory and a cam |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1102712A JP2668438B2 (ja) | 1989-04-21 | 1989-04-21 | データ検索装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02280286A JPH02280286A (ja) | 1990-11-16 |
JP2668438B2 true JP2668438B2 (ja) | 1997-10-27 |
Family
ID=14334883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1102712A Expired - Fee Related JP2668438B2 (ja) | 1989-04-21 | 1989-04-21 | データ検索装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US5182799A (ja) |
JP (1) | JP2668438B2 (ja) |
Families Citing this family (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4931175A (en) * | 1988-09-07 | 1990-06-05 | Lenox Institute For Research, Inc. | Water clarifying apparatus |
JP2668438B2 (ja) * | 1989-04-21 | 1997-10-27 | 三菱電機株式会社 | データ検索装置 |
FR2660088B1 (fr) * | 1990-03-26 | 1992-06-26 | Arditti David | Dispositif de condensation de donnees numeriques. |
US5404553A (en) * | 1991-01-09 | 1995-04-04 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor and data flow microprocessor having vector operation function |
DE69132824T2 (de) * | 1991-12-23 | 2002-06-27 | Alcatel, Paris | Verfahren zur Reduzierung der Anzahl der Bits in einem binären Adresswort |
JP2810269B2 (ja) * | 1992-01-20 | 1998-10-15 | 三菱電機株式会社 | 連想メモリシステム |
JP3219826B2 (ja) * | 1992-02-21 | 2001-10-15 | 日本電気株式会社 | 情報処理装置 |
US5509135A (en) * | 1992-09-25 | 1996-04-16 | Digital Equipment Corporation | Multi-index multi-way set-associative cache |
DE4302754C1 (de) * | 1993-02-01 | 1994-06-16 | Siemens Ag | Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb |
JPH06259583A (ja) * | 1993-03-10 | 1994-09-16 | Sharp Corp | データ駆動型プロセッサの接続方法 |
US5475826A (en) * | 1993-11-19 | 1995-12-12 | Fischer; Addison M. | Method for protecting a volatile file using a single hash |
US5860085A (en) * | 1994-08-01 | 1999-01-12 | Cypress Semiconductor Corporation | Instruction set for a content addressable memory array with read/write circuits and an interface register logic block |
US5649149A (en) * | 1994-08-01 | 1997-07-15 | Cypress Semiconductor Corporation | Integrated content addressable memory array with processing logical and a host computer interface |
US5551484A (en) * | 1994-08-19 | 1996-09-03 | Charboneau; Kenneth R. | Pipe liner and monitoring system |
WO1996032685A1 (en) | 1995-04-11 | 1996-10-17 | Kinetech, Inc. | Identifying data in a data processing system |
US5809494A (en) * | 1995-11-16 | 1998-09-15 | Applied Language Technologies, Inc. | Method for rapidly and efficiently hashing records of large databases |
US6414726B1 (en) * | 1996-11-01 | 2002-07-02 | Texas Instruments Incorporated | Device for identifying packets of digital data and a receiver for digital television signals equipped with such a device |
US6226291B1 (en) * | 1996-11-01 | 2001-05-01 | Texas Instruments Incorporated | Transport stream packet parser system |
US6430184B1 (en) * | 1998-04-10 | 2002-08-06 | Top Layer Networks, Inc. | System and process for GHIH-speed pattern matching for application-level switching of data packets |
US6621817B1 (en) | 1999-07-06 | 2003-09-16 | Texas Instruments Incorporated | Transport packet parser |
US6763425B1 (en) * | 2000-06-08 | 2004-07-13 | Netlogic Microsystems, Inc. | Method and apparatus for address translation in a partitioned content addressable memory device |
US6389419B1 (en) * | 1999-10-06 | 2002-05-14 | Cisco Technology, Inc. | Storing and retrieving connection information using bidirectional hashing of connection identifiers |
JP3912958B2 (ja) * | 2000-06-14 | 2007-05-09 | シャープ株式会社 | データ駆動型処理装置およびデータ駆動型処理装置におけるデータ処理方法 |
JP2002149699A (ja) * | 2000-11-10 | 2002-05-24 | Hitachi Ltd | データ検索装置 |
US7117278B2 (en) * | 2001-07-12 | 2006-10-03 | Sun Micro Systems, Inc. | Method for merging a plurality of data streams into a single data stream |
US6889225B2 (en) * | 2001-08-09 | 2005-05-03 | Integrated Silicon Solution, Inc. | Large database search using content addressable memory and hash |
US8112578B2 (en) | 2001-11-01 | 2012-02-07 | Micron Technology, Inc. | Low power, hash-content addressable memory architecture |
US7039764B1 (en) * | 2002-01-17 | 2006-05-02 | Nokia Corporation | Near-perfect, fixed-time searching algorithm using hashing, LRU and cam-based caching |
US6697276B1 (en) | 2002-02-01 | 2004-02-24 | Netlogic Microsystems, Inc. | Content addressable memory device |
US7382637B1 (en) | 2002-02-01 | 2008-06-03 | Netlogic Microsystems, Inc. | Block-writable content addressable memory device |
US6934796B1 (en) * | 2002-02-01 | 2005-08-23 | Netlogic Microsystems, Inc. | Content addressable memory with hashing function |
US7412449B2 (en) * | 2003-05-23 | 2008-08-12 | Sap Aktiengesellschaft | File object storage and retrieval using hashing techniques |
JP4064380B2 (ja) * | 2004-07-29 | 2008-03-19 | 富士通株式会社 | 演算処理装置およびその制御方法 |
US8370583B2 (en) | 2005-08-12 | 2013-02-05 | Silver Peak Systems, Inc. | Network memory architecture for providing data based on local accessibility |
US8171238B1 (en) | 2007-07-05 | 2012-05-01 | Silver Peak Systems, Inc. | Identification of data stored in memory |
US8095774B1 (en) | 2007-07-05 | 2012-01-10 | Silver Peak Systems, Inc. | Pre-fetching data into a memory |
US8392684B2 (en) | 2005-08-12 | 2013-03-05 | Silver Peak Systems, Inc. | Data encryption in a network memory architecture for providing data based on local accessibility |
US8811431B2 (en) | 2008-11-20 | 2014-08-19 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data |
US8929402B1 (en) | 2005-09-29 | 2015-01-06 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data by predicting subsequent data |
US8489562B1 (en) | 2007-11-30 | 2013-07-16 | Silver Peak Systems, Inc. | Deferred data storage |
JP3894335B1 (ja) * | 2005-10-04 | 2007-03-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースの整合性を判断する装置、およびその方法 |
US8185576B2 (en) * | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
US8885632B2 (en) | 2006-08-02 | 2014-11-11 | Silver Peak Systems, Inc. | Communications scheduler |
US8755381B2 (en) * | 2006-08-02 | 2014-06-17 | Silver Peak Systems, Inc. | Data matching using flow based packet data storage |
US8307115B1 (en) | 2007-11-30 | 2012-11-06 | Silver Peak Systems, Inc. | Network memory mirroring |
US8442052B1 (en) | 2008-02-20 | 2013-05-14 | Silver Peak Systems, Inc. | Forward packet recovery |
US20090315906A1 (en) * | 2008-06-18 | 2009-12-24 | Microsoft Corporation | Cache arrangement for graphical applications |
US8743683B1 (en) | 2008-07-03 | 2014-06-03 | Silver Peak Systems, Inc. | Quality of service using multiple flows |
US10805840B2 (en) | 2008-07-03 | 2020-10-13 | Silver Peak Systems, Inc. | Data transmission via a virtual wide area network overlay |
US9717021B2 (en) | 2008-07-03 | 2017-07-25 | Silver Peak Systems, Inc. | Virtual network overlay |
US10164861B2 (en) | 2015-12-28 | 2018-12-25 | Silver Peak Systems, Inc. | Dynamic monitoring and visualization for network health characteristics |
TW201115582A (en) * | 2009-10-29 | 2011-05-01 | Acer Inc | Method for determining data correlation and data processing method for memory |
WO2011077858A1 (ja) | 2009-12-25 | 2011-06-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム |
US8856614B2 (en) * | 2010-07-29 | 2014-10-07 | Kabushiki Kaisha Toshiba | Semiconductor memory device detecting error |
US9130991B2 (en) | 2011-10-14 | 2015-09-08 | Silver Peak Systems, Inc. | Processing data packets in performance enhancing proxy (PEP) environment |
US9626224B2 (en) | 2011-11-03 | 2017-04-18 | Silver Peak Systems, Inc. | Optimizing available computing resources within a virtual environment |
US9367454B2 (en) * | 2013-08-15 | 2016-06-14 | Applied Micro Circuits Corporation | Address index recovery using hash-based exclusive or |
US9948496B1 (en) | 2014-07-30 | 2018-04-17 | Silver Peak Systems, Inc. | Determining a transit appliance for data traffic to a software service |
US9875344B1 (en) | 2014-09-05 | 2018-01-23 | Silver Peak Systems, Inc. | Dynamic monitoring and authorization of an optimization device |
US10432484B2 (en) | 2016-06-13 | 2019-10-01 | Silver Peak Systems, Inc. | Aggregating select network traffic statistics |
US9967056B1 (en) | 2016-08-19 | 2018-05-08 | Silver Peak Systems, Inc. | Forward packet recovery with constrained overhead |
US11044202B2 (en) | 2017-02-06 | 2021-06-22 | Silver Peak Systems, Inc. | Multi-level learning for predicting and classifying traffic flows from first packet data |
US10892978B2 (en) | 2017-02-06 | 2021-01-12 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows from first packet data |
US10257082B2 (en) | 2017-02-06 | 2019-04-09 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows |
US10771394B2 (en) | 2017-02-06 | 2020-09-08 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows on a first packet from DNS data |
US11212210B2 (en) | 2017-09-21 | 2021-12-28 | Silver Peak Systems, Inc. | Selective route exporting using source type |
US10637721B2 (en) | 2018-03-12 | 2020-04-28 | Silver Peak Systems, Inc. | Detecting path break conditions while minimizing network overhead |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4153932A (en) * | 1974-03-29 | 1979-05-08 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
US4055851A (en) * | 1976-02-13 | 1977-10-25 | Digital Equipment Corporation | Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle |
US4152762A (en) * | 1976-03-03 | 1979-05-01 | Operating Systems, Inc. | Associative crosspoint processor system |
US4325116A (en) * | 1979-08-21 | 1982-04-13 | International Business Machines Corporation | Parallel storage access by multiprocessors |
FR2474201B1 (fr) * | 1980-01-22 | 1986-05-16 | Bull Sa | Procede et dispositif pour gerer les conflits poses par des acces multiples a un meme cache d'un systeme de traitement numerique de l'information comprenant au moins deux processus possedant chacun un cache |
JPS5936857A (ja) * | 1982-08-25 | 1984-02-29 | Nec Corp | プロセツサユニツト |
KR940001563B1 (ko) * | 1985-01-21 | 1994-02-24 | 가부시끼가이샤 히다찌세이사꾸쇼 | 룰 베이스 시스템 |
JPS61276032A (ja) * | 1985-05-31 | 1986-12-06 | Matsushita Electric Ind Co Ltd | 情報処理装置 |
JP2564805B2 (ja) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | 情報処理装置 |
JPS63129425A (ja) * | 1986-11-19 | 1988-06-01 | Mitsubishi Electric Corp | デ−タ処理装置 |
US4922438A (en) * | 1986-12-11 | 1990-05-01 | Siemens Aktiengesellschaft | Method and apparatus for reading packet-oriented data signals into and out of a buffer |
JP2667849B2 (ja) * | 1988-01-06 | 1997-10-27 | 株式会社日立製作所 | 情報処理装置 |
JPH06101044B2 (ja) * | 1988-01-23 | 1994-12-12 | シャープ株式会社 | デッドロック回避実行制御方式 |
JPH01232393A (ja) * | 1988-03-14 | 1989-09-18 | Sony Corp | 周波数検出器 |
EP0333181B1 (en) * | 1988-03-18 | 1996-07-03 | Kabushiki Kaisha Toshiba | Data string retrieval apparatus |
US5142676A (en) * | 1988-12-28 | 1992-08-25 | Gte Laboratories Incorporated | Separate content addressable memories for storing locked segment addresses and locking processor identifications for controlling access to shared memory |
US5175837A (en) * | 1989-02-03 | 1992-12-29 | Digital Equipment Corporation | Synchronizing and processing of memory access operations in multiprocessor systems using a directory of lock bits |
JP2668438B2 (ja) * | 1989-04-21 | 1997-10-27 | 三菱電機株式会社 | データ検索装置 |
-
1989
- 1989-04-21 JP JP1102712A patent/JP2668438B2/ja not_active Expired - Fee Related
- 1989-10-04 US US07/416,887 patent/US5182799A/en not_active Expired - Lifetime
-
1992
- 1992-07-22 US US07/918,489 patent/US5359720A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US5359720A (en) | 1994-10-25 |
US5182799A (en) | 1993-01-26 |
JPH02280286A (ja) | 1990-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2668438B2 (ja) | データ検索装置 | |
US4384325A (en) | Apparatus and method for searching a data base using variable search criteria | |
US5896529A (en) | Branch prediction based on correlation between sets of bunches of branch instructions | |
CA1282496C (en) | Database system for parallel processor | |
US5452451A (en) | System for plural-string search with a parallel collation of a first partition of each string followed by finite automata matching of second partitions | |
US6526474B1 (en) | Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes | |
US5349684A (en) | Sort and merge system using tags associated with the current records being sorted to lookahead and determine the next record to be sorted | |
US6760821B2 (en) | Memory engine for the inspection and manipulation of data | |
EP0424163A2 (en) | Translation look ahead based cache access | |
US5241638A (en) | Dual cache memory | |
EP0007001A1 (en) | Constrained paging data processing apparatus | |
US5111465A (en) | Data integrity features for a sort accelerator | |
US5142687A (en) | Sort accelerator with rebound sorter repeatedly merging sorted strings | |
US5185886A (en) | Multiple record group rebound sorter | |
US5206947A (en) | Stable sorting for a sort accelerator | |
KR100394136B1 (ko) | 메모리 시스템의 리던던트 방식 어드레스 디코더 | |
US7069386B2 (en) | Associative memory device | |
US6513053B1 (en) | Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits | |
JP2007536696A5 (ja) | ||
JPH052608A (ja) | データ検索装置 | |
JPH0384685A (ja) | データ検索装置 | |
JPH03229381A (ja) | データ駆動形計算機 | |
JP2590866B2 (ja) | データ検索装置 | |
JPH0528291A (ja) | 記憶装置 | |
JPH0528290A (ja) | データ駆動形計算機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |