JPH10255485A - 連想メモリおよびネットワークフレーム中継器 - Google Patents

連想メモリおよびネットワークフレーム中継器

Info

Publication number
JPH10255485A
JPH10255485A JP9054394A JP5439497A JPH10255485A JP H10255485 A JPH10255485 A JP H10255485A JP 9054394 A JP9054394 A JP 9054394A JP 5439497 A JP5439497 A JP 5439497A JP H10255485 A JPH10255485 A JP H10255485A
Authority
JP
Japan
Prior art keywords
data
address
search
word
cam
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.)
Pending
Application number
JP9054394A
Other languages
English (en)
Inventor
Hiroshi Yoshizawa
宏 吉澤
Masato Yoneda
正人 米田
Hideyo Nakano
秀世 中野
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.)
JFE Steel Corp
Original Assignee
Kawasaki Steel Corp
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 Kawasaki Steel Corp filed Critical Kawasaki Steel Corp
Priority to JP9054394A priority Critical patent/JPH10255485A/ja
Priority to US09/037,710 priority patent/US6070223A/en
Publication of JPH10255485A publication Critical patent/JPH10255485A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 (修正有) 【課題】ネットワークフレームの中継に必要な処理の高
速化が図られたネットワークフレーム中継器とその高速
化処理に適した連想メモリ(CAM)の提供。 【解決手段】送信されてきたネットワークフレームから
抽出されたソースアドレスのアドレスデータと現在の時
間情報とを含む検索データを生成して連想メモリに供給
する検索データ生成手段と、入力された検索データ中の
ソースアドレスのアドレスデータが格納されたワードメ
モリの検索において、検出されたワードメモリの中から
選択された1つのワードメモリに格納された格納データ
のうちの時間情報を、入力された検索データ中の時間情
報と同一の情報に置き換え、あるいは、検索の対象とな
る有効な格納データが格納されているワードメモリを除
く1つ以上のワードメモリの中から選択された1つのワ
ードメモリに、入力された検索データを書き込む検索結
果対応書込手段を備えた連想メモリとを備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、検索機能を備えた
メモリである連想メモリ、および通信ネットワーク内に
配置され、その通信ネットワークを経由して送受される
ネットワークフレームを中継するネットワークフレーム
中継器に関する。
【0002】
【従来の技術】従来より、配列された複数のワードメモ
リそれぞれに各格納データ(格納データ)を格納してお
き、検索データを入力し、入力された検索データの全部
もしくは所定の一部のビットパターンと一致するビット
パターンを有する格納データが記憶されたワードメモリ
を検索する連想メモリ(Associative Me
mory,内容アドレス式メモリ;Content A
ddressableMemory(CAM))が提案
されている。
【0003】図3は、連想メモリの一例を表わした回路
ブロック図である。この連想メモリ(CAM)10に
は、図の横方向に並ぶmビットのメモリセルからなる、
mビットを1ワードとする多数のワードメモリ11_
1,11_2,…,11_nが、図の縦方向に配列され
ている。またこの連想メモリ10は、1ワードの検索デ
ータが入力されラッチされる検索データレジスタ12
と、その検索データレジスタ12にラッチされた検索デ
ータのうち検索に有効なデータ部分を定める(検索に関
与させないデータ部分にマスクをかける)マスクデータ
がラッチされるマスクデータレジスタ13が備えられて
おり、検索データレジスタ12にラッチされた検索デー
タのうち、マスクデータレジスタにラッチされたマスク
データによりマスクがかけられていない、検索データの
全部もしくは所定の一部のビットパターンと、各ワード
メモリ11_1,11_2,…,11_nに記憶された
格納データのうち上記ビットパターンに対応する部分の
ビットパターンとの一致(ヒット)不一致(ミスヒッ
ト)が比較され、各ワードメモリ11_1,11_2,
…,11_nのそれぞれに対応して備えられた一致線1
4_1,14_2,…,14_nのうちビットパターン
が一致したワードメモリ11_1,11_2,…,11
_nに対応する一致線に論理‘1’のヒットフラグが出
力される。それ以外の一致線は論理‘0’(ミスヒッ
ト)にとどまる。
【0004】このCAM10には、各ワードメモリ11
_1,11_2,…,11_nに対応して、そのワード
メモリに検索の対象となる有効な検索データが格納され
ているか(論理‘0’)、それともそのワードメモリ
が、有効なデータが格納されていない空き状態にあるか
(論理‘1’)を区別するためのエンプティフラグを格
納するエンプティフラグレジスタ15_1,15_2,
…,15_nが備えられており、上記の検索にあたって
は、エンプティフラグレジスタ15_1,15_2,
…,15_nに格納されたエンプティフラグが論理
‘0’(有効な検索データが格納されている)の状態に
あるワードメモリのみが検索の対象となる。
【0005】各エンプティフラグレジスタ15_1,1
5_2,…,15_nに格納されたエンプティフラグ
は、プライオリティエンコーダ17に入力され、このプ
ライオリティエンコーダ17からは、所定の優先順位づ
けに従って、論理‘1’のエンプティフラグが格納され
たエンプティフラグレジスタ(ここではエンプティフラ
グレジスタ14_n−1とエンプティフラグレジスタ1
4_nの2つとする)のうちの優先度の最も高いエンプ
ティフラグレジスタ(ここではエンプティフラグレジス
タ14_n−1)に対応するアドレスデータHEA(H
ighest Empty Address)が出力さ
れる。このアドレスデータHEAは検索とは無関係に常
時出力されている。この連想メモリ10に新たに検索デ
ータを格納しようとするときは、そのアドレスデータH
EAが参照され、空きアドレスにその新たなデータが格
納される。
【0006】なお、検索のときと同様、この連想メモリ
10にデータを格納するときも、そのデータの格納先が
空きアドレスであるか否かに拘らず、マスクデータレジ
スタ13に格納されマスクデータが有効に作用し、格納
しようとするデータのうち、マスクデータによりマスク
されていないデータ部分のみ書き換えられ、マスクデー
タによりマスクされたデータ部分は書き換えられずに前
のデータがそのまま保存される。
【0007】検索動作に戻って説明を続行する。上述し
た検索により一致線14_1,14_2,…,14_n
に出力された信号は、各ヒットフラグレジスタ16_
1,16_2,…,16_nに格納される。ここでは、
一例として、図示のように、各ヒットフラグレジスタ1
6_1,16_2,…,16_nにそれぞれ‘0’,
‘1’,‘1’,‘0’,…,‘0’,‘0’が格納さ
れたものとする。エンプティフラグレジスタ15_1,
15_2,…,15_nのうち対応するワードメモリが
空き状態にあることをあらわす論理‘1’のエンプティ
フラグが格納されたエンプティフラグレジスタに対応す
るフラグレジスタには、無条件に、すなわち、そのワー
ドメモリにたまたま検索データと合致するビットパター
ンが格納されていたとしても、不一致をあらわす論理
‘0’が格納される。
【0008】これらのヒットフラグレジスタ16_1,
16_2,…,16_nに格納されたヒットフラグは、
エンプティフラグの場合と同様に、プライオリティエン
コーダ17に入力され、プライオリティエンコーダ17
からは、所定の優先順位づけに従って、論理‘1’のヒ
ットフラグが格納されたヒットフラグレジスタ(ここで
はヒットフラグレジスタ16_2とヒットフラグレジス
タ16_3の2つ)のうちの優先度の最も高いヒットフ
ラグレジスタに対応するアドレスデータHHA(Hig
hest Hit Addres)が出力される。ここ
では、添字が若いほど優先順位が高いものとし、従って
ヒットフラグレジスタ16_2に対応するメモリアドレ
スが出力される。
【0009】また、このCAM10は通常のRAMと同
様、外部からアドレスを与えて、そのアドレスにデータ
を書き込んだり、そのアドレスからデータを読み出す機
能も備えている。例えば、プライオリティエンコーダ1
7から出力されたアドレスデータHHAをアドレスデコ
ーダ18にアドレスデータADとして入力すると、アド
レスデコーダ18ではこの入力されたアドレスデータA
Dをデコードして、各ワードメモリ11_1,11_
2,…,11_nそれぞれに対応して備えられたワード
線19_1,19_2,…,19_nのうちの入力され
たアドレスデータADに対応するいずれか1本のワード
線(ここではワード線19_2)にアクセス信号(ここ
では論理‘1’の信号)を出力し、アクセス信号の出力
されたワード線19_2に対応するワードメモリ11_
2に記憶されている格納データが出力レジスタ20に読
み出される。
【0010】また、CAM10には、検索によりヒット
したすべてのワードメモリを一括して消去する機能も備
えられている。具体的には、検索によりヒットしたすべ
てのワードメモリに対応するエンプティフラグレジスタ
の内容が論理‘1’(空き状態)に変更される。この機
能は、例えば後述するネットワークフレーム中継器に備
えられた連想メモリに格納されたデータのうち、時間的
に古いデータを一括して消去する場合等に用いられる。
【0011】上記のように、CAM10は、検索データ
の全部もしくは所定の一部のデータを用いて多数のワー
ドメモリ11_1,11_2,…,11_nに格納され
た格納データを検索し、一致する格納データを有するワ
ードメモリのアドレスHHAを得ることを基本とするメ
モリである。上記のような連想メモリの主要な用途の1
つに、ネットワークフレームの送受信の中継を行なうネ
ットワークフレーム中継器がある。以下、このネットワ
ークフレーム中継器の概要について説明する。
【0012】従来より、ネットワークシステム中に、そ
のネットワーク内で送受信される、情報の塊としてのネ
ットワークフレームの送信を中継する、例えば“ハブ”
等と呼ばれるネットワークフレーム中継器が存在する。
図4は、従来のネットワークフレーム中継器の一構成例
を示す回路ブロック図である。
【0013】ここに示すネットワークフレーム中継器3
0には、バス31に接続されたn個のポートコントロー
ラ32_1,…,32_nが備えられており、また各ポ
ートコントローラ32_1,…,32_nに対応する各
ポート33_1,…,33_nには、LAN34_1,
…,34_nを介して、複数の端末A,B,…,C;
…;E,F,…,Gが接続されている。
【0014】また、バス31には、CAM35、RAM
36、CPU37、およびパケットメモリ38が備えら
れている。CAM35は検索機能が付加されたものであ
るため、通常のRAMと比べビット単価が高く、メモリ
容量が比較的小さい。そこで図4に示すネットワークフ
レーム中継器30ではCAM35とRAM36が併用さ
れ、検索のために直接に必要なデータのみCAM35に
格納しておき、その他の、検索のためには直接には関与
しないデータは、RAM36に格納される。CAM35
の各ワードメモリのアドレスとRAM36の各メモリ領
域のアドレスは信号線39で互いに対応づけられてお
り、CAM35には、各端末のアドレスをあらわすアド
レスデータと、後述するタイムスタンプ情報が格納さ
れ、RAM36には、各端末が接続されたポートのポー
ト番号や、その他、説明は省略するが、VLAN(Vi
rtualLAN;仮想LAN)に関するデータや、こ
のネットワークフレーム中継器のハードウェアが参照す
るデータなどが格納されている。
【0015】また、CPU37は、このネットワークフ
レーム中継器の全体の制御を司っており、さらにパケッ
トメモリ38は、送信されてきたネットワークフレーム
を一時的に蓄えるものである。尚、ネットワークフレー
ム中継器30には、通常、さらに種々のデバイス等が備
えられているが、ここでの説明には直接は関係しないた
め、それらについての図示および説明は省略する。
【0016】ここでは、LAN34_1に接続された端
末Bから、LAN34_nに接続された端末Eに向け
て、ネットワークフレームの形式を有する、ある情報を
送信するものとする。このとき、ネットワークフレーム
には、そのヘッダ部分に、情報の受信先、すなわち端末
Eを示すデスティネーションアドレス、および情報の送
信元、すなわち端末Bを示すソースアドレスが記録され
ている。
【0017】端末Bからポート33_1を経由して送信
されてきたネットワークフレームは、ポートコントロー
ラ32 1を経由し、バス31を経由して、一旦パケッ
トメモリ37に蓄積される。CPU37は、そのネット
ワークフレームの中のヘッダの部分からデータ転送先
(ここでの例では端末E)をあらわすデスティネーショ
ンアドレスを抽出してCAM35に送る。CAM35に
は、このネットワークシステムを構成する各端末A,
B,…,C;…;E,F,…,Gのアドレスを表わすア
ドレスデータが記憶されており、一方、RAM37に
は、それら各端末A,B,…,C;…;E,F,…,G
がどのポート33_1,33_nを経由した先に接続さ
れているかを示すポート番号が格納されている。CAM
35には、デスティネーションアドレスをあらわすアド
レスデータが入力され、そのアドレスデータと同一のア
ドレスデータが格納されているCAM35のワードメモ
リのアドレスHHAが出力される。それを受けて、RA
M36の、アドレスHHAに対応するアドレスから、そ
のデスティネーションアドレスが示す端末の接続先を示
すポート番号が読み出される。この読み出されたポート
番号により、CPU36は、今回のネットワークフレー
ムはポート33_nから送信すべきネットワークフレー
ムであることを認識する。
【0018】このようにしてRAM36からポート番号
が読み出されると、それに引き続いて、ネットワークフ
レームが、パケットメモリ28からバス31を経由して
ポートコントローラ32_nに入力され、ポート33_
nを経由し、さらにLAN34_nを経由して端末Eに
送られる。このように、ネットワークフレーム中継器で
は、アドレスの高速検索用として連想メモリ(CAM)
が有効に利用されている。
【0019】図5は、図4に示すネットワークフレーム
中継器30に備えられたCAM15に格納された格納デ
ータを示した図、図6は、タイムスタンプ情報の説明図
である。各ワードメモリには、各端末のアドレスをあら
わすアドレスデータと、タイムスタンプ情報が格納され
ている。
【0020】上述したように、ネットワークフレームか
ら抽出したデスティネーションアドレスで検索を行な
い、その検索により得られたアドレスHHAに対応した
RAMのアドレスからそのネットワークフレームを送出
すべきポート番号を知ることができるが、各ワードメモ
リには、各端末のアドレスをあらわすアドレスデータの
ほか、各タイムスタンプ情報も格納されている。以下、
このタイムスタンプ情報について説明する。
【0021】ここでは、図6に示すように、所定の時間
間隔を1つのタイムスロットとし、時間の経過に従っ
て、p個のタイムスロットのうちのいずれか1つのタイ
ムスロットに循環的に移り変わるものとし、これらp個
のタイムスロットを互いに区別する情報、例えばタイム
スロットの番号1,2,…,pをタイムスタンプ情報と
称する。
【0022】ネットワークフレームから抽出したソース
アドレスで、CAM15の検索を行ない、そのソースア
ドレスと同一のアドレスが検出されたときは、そのワー
ドメモリのタイムスタンプ情報が現時点のタイムスロッ
トをあらわすタイムスタンプ情報に書き換えられる。ま
た、検索を行なった結果そのソースアドレスと同一のア
ドレスが検出されなかったときは、空きアドレス(空き
状態のワードメモリ)に、そのソースアドレスと、さら
に現時点のタイムスロットをあらわすタイムスタンプ情
報とからなるデータが書き込まれる。これとともに、R
AM36には、そのソースアドレスを持ったネットワー
クフレームが送信されてきたポートのポート番号が書き
込まれる。また、CAM35では、1つのタイムスロッ
トを規定する時間間隔ごとに現時点のタイムスロットよ
りも1つ前のタイムスロットのタイムスタンプ情報で検
索が行なわれ、そのタイムスタンプ情報と同一のタイム
スタンプ情報が検出されたワードメモリのデータが一括
して消去される。すなわち、具体的には、前述したよう
に、そのワードメモリに対応するエンプティフラグレジ
スタの内容が空き状態をあらわす内容に書き換えられ
る。長期間通信に参加していない端末のアドレス情報を
消去することによってCAM15内に空きアドレスを確
保し、新たなデータの格納を可能にするためである。
【0023】
【発明が解決しようとする課題】以上のように構成され
たネットワークフレーム中継器では、以下のような動作
が実行される。図7は、図4に示すネットワークフレー
ム中継器内部における動作の手順を示すフローチャー
ト、図8は、その手順を示すタイミングチャートであ
る。
【0024】あるポートからネットワークフレームが入
力されると、先ず、そのネットワークフレームから送信
先をあらわすデスティネーションアドレス(DA)が切
り出されてそのDAで検索が行なわれ(ステップa)、
そのDAと同一のアドレスが格納されたワードメモリの
アドレスHHAが出力される(ステップb)。DAによ
る検索をここではSRCH_DAと略記する。SRCH
_DAにより得られたアドレスHHAはRAM36に入
力され、そのネットワークフレームを受信すべき端末が
接続されたポートのポート番号が読み出される。
【0025】CAM35では、SRCH_DAの検索結
果であるアドレスHHAが出力されると、続けて、その
ネットワークフレームから切り出された、発信元をあら
わすソースアドレス(SA)で検索が行なわれ(ステッ
プc)、その検索結果を得(ステップd)、その検索結
果に基づいて、CAM内にその検索に用いたソースアド
レスと同一のアドレスが既に格納されているか否か(ヒ
ットしたか否か)判定される(ステップd)。この判定
は、図4に示す構成では、CPU36で行なわれること
になる。ソースアドレスによる検索を、ここではSRC
H_SAと略記する。その判定の結果、ヒットした場
合、そのヒットしたアドレス(HHA)を取得し、その
アドレスHHAのタイムスタンプ情報が現時点のタイム
スロットのタイムスタンプ情報に書き換えられる(ステ
ップf−1)。アドレスHHAのタイムスタンプ情報の
書き換えを、ここではSTMP_HHAと略記する。こ
のタイムスタンプ情報の書き換えは、現時点でそのソー
スアドレスをもつ端末が通信に参加したことをもって、
そのソースアドレスに関する情報がCAMから消去され
るタイミングを後に延ばすためである。
【0026】一方、ステップ(d)においてミスヒット
であった(検索に用いたソースアドレスと同一のアドレ
スがCAM内に格納されていなかった)と判定される
と、最優先の空きアドレス(HEA)が取得され、その
SAと、現時点のタイムスロットのタイムスタンプ情報
とからなる検索データ(図5参照)がアドレスHEAに
格納され次回の検索に備えられる(ステップf−2)。
ここでは、アドレスHEAへの検索データの格納を、S
TR_HEAと略記する。また、このSTR_HEAと
ともに、RAM36には、そのソースアドレスを含むネ
ットワークフレームを受信したポートのポート番号が格
納される。
【0027】ここで、ネットワークフレームの中継を高
速に行なうためには、図7、図8を参照して説明した一
連の処理を如何に高速に行なうか、換言すれば、図8に
示す1サイクルに要する時間を如何に短縮するかが問題
となる。この問題の1つの解決方法として、ステップ
(e)の判定をCPUではなく専用のシーケンサで実行
したり、以下に説明するように一連の処理をパイプライ
ン化することが行なわれている。
【0028】図9は、パイプライン化したときのネット
ワークフレーム中継器の処理の流れを示すタイミングチ
ャートである。パイプライン化により、CAMには、S
RCH_DAのオペレーションに引き続いてSRCH_
SAのオペレーションを入力することができるが、検索
結果を取り出すまでに要する時間DはCAM自体の検索
速度による制限を受けるため、パイプライン化によって
は短縮されず、SAの検索結果を得た後にCPUもしく
は専用のシーケンサで判定を行なって次の操作であるS
TMP_HHAないしSTR_HEAを決定するための
オーバーヘッドタイムが一連のサイクルの中で大きなも
のとなり、処理の一層の高速化を図る上で問題となって
きている。
【0029】本発明は、上記事情に鑑み、ネットワーク
フレーム中継器に必要な一連の処理の一層の高速化が図
られたネットワークフレーム中継器およびその高速化処
理の実現に適した連想メモリ(CAM)を提供すること
を目的とする。
【0030】
【課題を解決するための手段】上記目的を達成する本発
明の連想メモリは、複数の格納データそれぞれを書換え
自在に格納しておく複数のワードメモリと、これら複数
のワードメモリそれぞれに対応して備えられた、対応す
るワードメモリに検索の対象となる有効な格納データが
格納されているか否かをあらわす情報を格納しておくレ
ジスタとを有し、検索データが入力され、入力された検
索データから抽出された所定の第1のデータ部分に対応
するデータ部分を有する格納データが格納されたワード
メモリを検索する連想メモリにおいて、上記第1のデー
タ部分に対応するデータ部分を有する格納データが格納
されたワードメモリの検索において1つ以上のワードメ
モリが検出されたか否かに応じて、それぞれ、検出され
たワードメモリの中から選択された1つのワードメモリ
に格納された格納データのうちの、入力された検索デー
タのうちから抽出された、上記第1のデータ部分とは異
なる第2のデータ部分に対応するデータ部分を、その第
2のデータ部分と同一の情報に書き換え、あるいは、検
索の対象となる有効な格納データが格納されているワー
ドメモリを除く1つ以上のワードメモリの中から選択さ
れた1つのワードメモリに、入力された検索データを書
き込む検索結果対応書込手段を備えたことを特徴とす
る。
【0031】ここで、上記本発明の連想メモリにおい
て、上記検索結果対応書込手段が、外部から入力され
る、この検索結果対応書込手段の動作を指示する指令に
応答して動作するものであることが好ましい。また、上
記目的を達成する本発明のネットワークフレーム中継器
は、各アドレスが付された複数の通信端末が接続された
通信ネットワーク内に配置され、発信元通信端末のアド
レスであるソースアドレスを含む情報の塊であるネット
ワークフレームの送受信を中継するネットワークフレー
ム中継器において、通信端末のアドレスと、そのアドレ
スが最近にアクセスされた時間をあらわす時間情報とを
含む格納データを、それぞれ書換え自在に格納しておく
複数のワードメモリと、これら複数のワードメモリそれ
ぞれに対応して備えられた、対応するワードメモリに検
索の対象となる有効な格納データが格納されているか否
かを表わす情報を格納しておくレジスタとを有し、通信
端末のアドレスをあらわすアドレスデータと現在の時間
をあらわす時間情報とを含む検索データが入力され、入
力された検索データのうちのアドレスデータに対応する
アドレスデータを含む格納データが格納されたワードメ
モリを検索する連想メモリと、送信されてきたネットワ
ークフレームからソースアドレスを抽出し、抽出された
ソースアドレスをあらわすアドレスデータと現在の時間
をあらわす時間情報とを含む検索データを生成して連想
メモリに供給する検索データ生成手段とを備え、上記連
想メモリが、入力された検索データ中のアドレスデータ
に対応するアドレスデータを含む格納データが格納され
たワードメモリの検索において1つ以上のワードメモリ
が検出されたか否かに応じて、それぞれ、検出されたワ
ードメモリの中から選択された1つのワードメモリに格
納された格納データのうちの時間情報を、入力された検
索データ中の時間情報と同一の情報に置き換え、あるい
は、検索の対象となる有効な格納データが格納されてい
るワードメモリを除く1つ以上のワードメモリの中から
選択された1つのワードメモリに、入力された検索デー
タを書き込む検索結果対応書込手段を備えたものである
ことを特徴とする。
【0032】ここで、上記本発明のネットワークフレー
ム中継器が、所定の時間間隔を1つのタイムスロットと
し循環的に繰り返す複数のタイムスロットを互いに区別
するタイムスタンプ情報を、上記時間情報として用いる
ものであることが好ましい。本発明の連想メモリ(CA
M)は入力された検索データのうちの第1のデータ部分
による検索結果に応じて、ヒットしたときは、そのヒッ
トしたアドレスHHAの、検索データのうちの第2のデ
ータ部分に相当するデータ部分をその第2のデータ部分
と同一の情報に書き換え、ミスヒットであったときは、
その検索データを空きアドレスHEAに書き込むもので
あるため、この連想メモリをネットワークフレーム中継
器に採用し、第1のデータ部分をアドレスデータ、第2
のデータ部分をタイムスタンプ情報に対応づけることに
より、CAMの外部でのソースアドレスの検索結果の判
定は不要となり、一連の処理を極めて高速化することが
でき、ネットワークフレームの、一層高速な中継が可能
となる。
【0033】
【発明の実施の形態】以下、本発明の実施形態について
説明する。図1は、本発明のネットワークフレーム中継
器の一実施形態でのタイミングチャートである。ここで
はパイプライン処理が行なわれており、SRCH_D
A、SRCH_SAに引き続いてSTR_AUTが入力
される。
【0034】このSTR_AUTは、直前の検索SRC
H_SAの検索結果に応じて、ヒットのときはアドレス
HHAに現時刻のタイムスタンプ情報を格納し、ミスヒ
ットのときはアドレスHEAに検索データそのもの(ソ
ースアドレス+タイムスタンプ情報)を格納することを
指示するオペレーション(命令)である。CAM自体に
このSTR_AUTのオペレーション(命令)を追加し
たことにより、SAの検索結果の出力を待ってCAM外
部で判定を行なうという処理が不要となり、一連の処理
が極めて高速化される。
【0035】図2は、STR_AUTの機能を持ったC
AMの構成を示すブロック図である。尚、CAM全体に
ついては、図3を参照して既に説明したため、ここでは
STR_AUTの機能に必要な部分を中心に図示および
説明を行なう。ここには、多数のワードメモリ等が備え
られたCAMコア110が備えられており、このCAM
コア110に入力データIN_DATAとして検索デー
タを与え、検索スタート信号S_STARTを入力する
と、検索が行なわれる。この検索にあたっては、マスク
データレジスタ群130では、外部から入力されたコマ
ンドCOMMANDに応じたマスクデータレジスタが選
択され、その選択されたマスクデータレジスタに格納さ
れたマスクデータにより、入力された検索データの一部
にマスクがかけられた上で検索が行なわれる。ここでは
コマンドCOMMANDは、STAMP_HHA、ST
R_HEA、およびSTR_AUTの3種類が存在す
る。また、コマンドCOMMANDにはそれら3種類の
いずれのコマンドも入力されていないことをあらわす状
態も存在する。したがってこのコマンドCOMMAND
には、合計4つの状態が存在し、2ビットであらわされ
る。コマンドの有無をあらわすコマンドイグジスト信号
COMMAND_EXSTは、上記の3種類のコマンド
のうちのいずれかのコマンドが入力されていないか、そ
れともそれら3種類のコマンドのいずれもが入力されて
いないかをあらわす信号であり、このCOMMAND_
EXIT信号は第1のセレクタ141に入力される。
【0036】このCAMは、通常のRAMと同様に、こ
のCAMに外部からアドレスADDRESSを与え、さ
らに書込信号Wを与えることによりそのアドレスに入力
データIN_DATAを格納したり、あるいは外部から
アドレスADDRESSを与え、読出信号R_を与える
ことにより、そのアドレスに格納されたデータを出力デ
ータOUT_DATAとして取り出す機能を有してお
り、第1のセレクタ141は、COMMAND_EXI
T信号に応じて、上述した3種類のコマンドのうちのい
ずれのコマンドも入力されていないときには外部から与
えられたアドレスADDRESSを選択してCAMコア
110に入力し、いずれかのコマンドが入力されている
ときには、第2のセレクタ142で選択されたHHAも
しくはHEAと選択してCAMコア110に入力する。
【0037】CAMコア110に、入力データIN_D
ATAとして検索データが入力され、検索スタート信号
S_STARTがCAMコア110に入力されると、C
AMコア110内ではその検索データの、マスクデータ
によりマスクされていない第1のデータ部分による検索
が行なわれ、その検索の結果ヒットすると、CAMコア
110からHHAが出力され、かつヒット/ミスヒット
をあらわすヒット信号HIT_が出力される。このHH
Aは、CAMの外部に出力されるとともに、第1の制御
信号CTL1により、第1のラッチ回路143にラッチ
される。ヒット信号HIT_は、外部に出力されるとと
もに、マスクデータレジスタ群130にも入力され、マ
スクデータレジスタの切り換えにも寄与している。マス
クデータレジスタの切換えについては後述する。
【0038】また、CAMコア110からは空きアドレ
スHEAが出力されており、このHEAは、CAMの外
部に出力されるとともに、第2の制御信号CTL2によ
り第2のラッチ回路144にラッチされる。第1のラッ
チ回路143にラッチされたHHAおよび第2のラッチ
回路144にラッチされたHEAはいずれも第2のセレ
クタ142に入力され、それらHHAとHEAとのうち
のいずれか一方が選択されて第1のセレクタ141に入
力される。
【0039】第2のセレクタ142では、以下の表1に
示す選択が行なわれる。
【0040】
【表1】
【0041】すなわちCOMMANDがSTR_AUT
のときは、第1のセレクタ142からは、検索によりヒ
ットがあった(HIT_が論理‘0’)かミスヒットで
あった(HIT_が論理‘1’)かに応じて、それぞ
れ、HHA、HEAが選択される。また、COMMAN
DがSTMP_HHAのときは、HIT_のいかんにか
かわらずHHAが選択され、COMMANDがSTR_
HEAのときは、HIT_のいかんにかかわらずHEA
が選択される。
【0042】COMMANDが‘11’のときは、ST
R_AUT,STMP_HHA,STR_HEAのいず
れのコマンドも入力されていないことを意味し、そのと
きは、第1のセレクタ141は外部から入力されるアド
レスADDRESSを選択する状態となり、第2のセレ
クタ142の状態は問題とはならない。マスクデータレ
ジスタ群130にも、第2のセレクタ142と同様、C
OMMANDとHIT_が入力され、COMMANDが
‘11’のときは、マスクデータレジスタ群130で
は、入力される検索データのうち、図5に示すアドレス
データ(第1のデータ部分)以外のデータ部分にマスク
をかけるマスクデータを格納したマスクデータレジスタ
が選択され、第2のセレクタ142でHHAが選択され
る条件(COMMANDがSTR_AUTかつHIT_
が論理‘0’、あるいは、COMMANDがSTMP_
HHA)のときは、図5に示すタイムスタンプ情報(第
2のデータ部分)以外のデータ部分にマスクをかけるマ
スクデータを格納したマスクデータレジスタが選択さ
れ、第2のセレクタ142でHEAが選択される条件
(COMMANDがSTR_AUTかつHIT_が論理
‘1’、あるいは、COMMANDがSTR_HEA)
のときは、入力データIN_DATAのいずれのデータ
部分にもマスクをかけないマスクデータを格納したマス
クデータレジスタが選択される。
【0043】次に、図2に示すCAMの、図1に示すタ
イムスケージュールに従う動作について説明する。この
CAMを備えたネットワークフレーム中継器に送信され
てきたネットワークフレームからデスティネーションア
ドレスDAが切り出されてそのDAを含む検索データが
生成され、マスクデータレジスタ群130では、その検
索データの中からDAのみを検索対象とするマスクデー
タが選択されて、検索が行なわれる(ステップa)。こ
のCAMではパイプライン処理が行なわれており、CA
Mには、ステップaのSRCH_DAの処理に続き、ネ
ットワークフレームから切り出されたソースアドレスS
Aと現時刻のタイムスロットのタイムスタンプ情報とか
らなる検索データが入力される。マスクデータレジスタ
群130では、その検索データの中からSAのみを検索
の有効部分とするマスクデータが選択されて検索が行な
われる(ステップc)。
【0044】CAMには、そのSRCH_SAに続いて
STR_AUTが入力される。具体的には、図2に示す
COMMANDが、STR_AUTをあらわす‘00’
に設定され、さらに、第1のセレクタ141により、第
2のセレクタ142から出力されたHHAもしくはHE
Aが選択されるように、COMMAND_EXSTが設
定される。
【0045】CAM内では、SRCH_DAに応じて、
DAと同一のアドレスが格納されたアドレスがHHAと
して出力されて第1のラッチ回路143にラッチされ、
CAM外部に出力される。このHHAは、前述したよう
に、RAM36(図4参照)に入力されポート番号の読
み出し用として用いられる。次いで、CAM内では、S
RCH_SAに応じて、ヒット(HIT_=‘0’)で
あればHHAが出力されて第1のラッチ回路143にラ
ッチされる。また、第2のラッチ回路114にはヒット
であるかミスヒットであるかにかかわらずHEAがラッ
チされる。第2のセレクタ142は、表1のように動作
し、ここではSTR_AUT=‘00’が入力されてい
るため、HIT_=‘0’であれば、すなわちSAと同
一のアドレスが検出されたときは、第1のラッチ回路1
43にラッチされたHHAが選択されて第1のセレクタ
141に入力され、さらに第1のセレクタ141を通過
してCAMコアに入力される。また、これと同時に、マ
スクデータレジスタ群では、ソースアドレスとタイムス
タンプ情報とからなる検索データのうちタイムスタンプ
情報のみを有効とするマスクデータが検索され、さらに
書込信号Wを入力することにより、CAMコアのアドレ
スHHAのタイムスタンプ情報が現時刻のタイムスロッ
トのタイムスタンプ情報に書き換えられる。
【0046】また、SAによる検索において、HIT_
=‘1’、すなわちSAと同一のアドレスが検出さなか
ったときは、第2のセレクタ142ではHEAが選択さ
れ、そのHEAが第1のセレクタ141を経由してCA
Mコア110に入力される。またこれと同時に、マスク
データレジスタ群130では、ソースアドレスとタイム
スタンプ情報とからなる検索データの全ビットを有効と
するマスクデータが選択され、さらに書込信号Wを入力
することにより、CAMコアのアドレスHEAに、その
ソースアドレスと現時刻のタイムスロットのタイムスタ
ンプ情報が書き込まれる。
【0047】このように、本実施形態では、CAMに、
STR_AUTの動作、すなわち検索結果に応じて、H
HAのタイムスタンプ情報を更新し、あるいはHEAに
ソースアドレスとタイムスタンプ情報とを書き込む処理
を搭載したため、従来のようにCAMの外部、例えばC
PUでSAによる検索でヒットしたかミスヒットであっ
たか判定してからSTMP_HHAないしSTR_HE
Aの動作に移行する場合と比べ、一連の動作が極めて高
速化され、ネットワークフレームの高速中継が可能とな
る。
【0048】尚、図2に示す実施形態には、STMP_
HHA,STR_HEAのコマンドも用意されており、
従来と同じ動作、すなわち、SAによる検索結果である
HIT_を外部で判定し、HIT_=‘0’(ヒット)
のときはCOMMANDをSTMP_HHA(‘0
1’)にして第2のセレクタ142でHHAを選択し、
かつマスクデータレジスタ群130でタイムスタンプ情
報のみ有効なデータとしてHHAのタイムスタンプ情報
を書き換え、一方、HIT_=‘1’(ミスヒット)の
ときはCOMMANDをSTR_HEA(‘10’)に
して第2のセレクタ142でHEAを選択し、かつマス
クデータレジスタ群130でSAとタイムスタンプ情報
との双方、すなわち検索データ全体を有効なデータとし
てそのデータをHEAに書き込むこともできる。すなわ
ち、この図2に示すCAMは、従来方式のネットワーク
フレーム中継器にもそのまま適合する。
【0049】
【発明の効果】以上説明したように、本発明によれば、
ネットワークフレームの一層高速な中継を行なうことが
できる。
【図面の簡単な説明】
【図1】本発明のネットワークフレーム中継器の一実施
形態でのタイミングチャートである。
【図2】STR_AUTの機能を持ったCAMの構成を
示すブロック図である。
【図3】連想メモリの一例を表わした回路ブロック図で
ある。
【図4】従来のネットワークフレーム中継器の一構成例
を示す回路ブロック図である。
【図5】図4に示すネットワークフレーム中継器に備え
られたCAMに格納された格納データを示した図であ
る。
【図6】タイムスタンプ情報の説明図である。
【図7】図4に示すネットワークフレーム中継器内部に
おける動作の手順を示すフローチャートである。
【図8】図7にフローチャートに示す手順をあらわすタ
イミングチャートである。
【図9】パイプライン化したときのネットワークフレー
ム中継器の処理の流れを示すタイミングチャートであ
る。
【符号の説明】
10 連想メモリ 11_1,11_2,…,11_n ワードメモリ 12 検索データレジスタ 13 マスクデータレジスタ 14_1,14_2,…,14_n 一致線 15_1,15_2,…,15_n エンプティフラグ
レジスタ 16_1,16_2,…,16_n ヒットフラグレジ
スタ 17 プライオリティエンコーダ 18 アドレスデコーダ 30 ネットワークフレーム中継器 31 バス 32_1,…,32_n ポートコントローラ 33_1,…,33_n ポート 34_1,…,34_n LAN 35 連想メモリ 36 RAM 37 CPU 38 パケットメモリ 110 CAMコア 130 マスクデータレジスタ群 141 第1のセレクタ 142 第2のセレクタ 143 第1のラッチ回路 144 第2のラッチ回路

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の格納データそれぞれを書換え自在
    に格納しておく複数のワードメモリと、これら複数のワ
    ードメモリそれぞれに対応して備えられた、対応するワ
    ードメモリに検索の対象となる有効な格納データが格納
    されているか否かをあらわす情報を格納しておくレジス
    タとを有し、検索データが入力され、入力された検索デ
    ータから抽出された所定の第1のデータ部分に対応する
    データ部分を有する格納データが格納されたワードメモ
    リを検索する連想メモリにおいて、 前記第1のデータ部分に対応するデータ部分を有する格
    納データが格納されたワードメモリの検索において1つ
    以上のワードメモリが検出されたか否かに応じて、それ
    ぞれ、検出されたワードメモリの中から選択された1つ
    のワードメモリに格納された格納データのうちの、入力
    された検索データのうちから抽出された、前記第1のデ
    ータ部分とは異なる第2のデータ部分に対応するデータ
    部分を、該第2のデータ部分と同一の情報に書き換え、
    あるいは、検索の対象となる有効な格納データが格納さ
    れているワードメモリを除く1つ以上のワードメモリの
    中から選択された1つのワードメモリに、入力された検
    索データを書き込む検索結果対応書込手段を備えたこと
    を特徴とする連想メモリ。
  2. 【請求項2】 前記検索結果対応書込手段が、外部から
    入力される、該検索結果対応書込手段の動作を指示する
    指令に応答して動作するものであることを特徴とする請
    求項1記載の連想メモリ。
  3. 【請求項3】 各アドレスが付された複数の通信端末が
    接続された通信ネットワーク内に配置され、発信元通信
    端末のアドレスであるソースアドレスを含む情報の塊で
    あるネットワークフレームの送受信を中継するネットワ
    ークフレーム中継器において、 通信端末のアドレスと、該アドレスが最近にアクセスさ
    れた時間をあらわす時間情報とを含む格納データを、そ
    れぞれ書換え自在に格納しておく複数のワードメモリ
    と、これら複数のワードメモリそれぞれに対応して備え
    られた、対応するワードメモリに検索の対象となる有効
    な格納データが格納されているか否かを表わす情報を格
    納しておくレジスタとを有し、通信端末のアドレスをあ
    らわすアドレスデータと現在の時間をあらわす時間情報
    とを含む検索データが入力され、入力された検索データ
    のうちのアドレスデータに対応するアドレスデータを含
    む格納データが格納されたワードメモリを検索する連想
    メモリと、 送信されてきたネットワークフレームからソースアドレ
    スを抽出し、抽出されたソースアドレスをあらわすアド
    レスデータと現在の時間をあらわす時間情報とを含む検
    索データを生成して前記連想メモリに供給する検索デー
    タ生成手段とを備え、 前記連想メモリが、入力された検索データ中のアドレス
    データに対応するアドレスデータを含む格納データが格
    納されたワードメモリの検索において1つ以上のワード
    メモリが検出されたか否かに応じて、それぞれ、検出さ
    れたワードメモリの中から選択された1つのワードメモ
    リに格納された格納データのうちの時間情報を、入力さ
    れた検索データ中の時間情報と同一の情報に置き換え、
    あるいは、検索の対象となる有効な格納データが格納さ
    れているワードメモリを除く1つ以上のワードメモリの
    中から選択された1つのワードメモリに、入力された検
    索データを書き込む検索結果対応書込手段を備えたもの
    であることを特徴とするネットワークフレーム中継器。
  4. 【請求項4】 前記ネットワークフレーム中継器が、所
    定の時間間隔を1つのタイムスロットとし循環的に繰り
    返す複数のタイムスロットを互いに区別するタイムスタ
    ンプ情報を、前記時間情報として用いるものであること
    を特徴とするネットワークフレーム中継器。
JP9054394A 1997-03-10 1997-03-10 連想メモリおよびネットワークフレーム中継器 Pending JPH10255485A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP9054394A JPH10255485A (ja) 1997-03-10 1997-03-10 連想メモリおよびネットワークフレーム中継器
US09/037,710 US6070223A (en) 1997-03-10 1998-03-10 Associative memory device and network frame switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9054394A JPH10255485A (ja) 1997-03-10 1997-03-10 連想メモリおよびネットワークフレーム中継器

Publications (1)

Publication Number Publication Date
JPH10255485A true JPH10255485A (ja) 1998-09-25

Family

ID=12969475

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9054394A Pending JPH10255485A (ja) 1997-03-10 1997-03-10 連想メモリおよびネットワークフレーム中継器

Country Status (2)

Country Link
US (1) US6070223A (ja)
JP (1) JPH10255485A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0960494B1 (en) * 1997-12-16 2006-03-08 Koninklijke Philips Electronics N.V. Synchronisation in an atm over stm transmission system
US6597690B1 (en) * 1999-01-22 2003-07-22 Intel Corporation Method and apparatus employing associative memories to implement limited switching
US6570887B2 (en) 1999-01-22 2003-05-27 Intel Corporation Method and apparatus employing associative memories to implement message passing
JP3484093B2 (ja) * 1999-02-01 2004-01-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 連想メモリ
CA2321466C (en) * 2000-09-29 2006-06-06 Mosaid Technologies Incorporated Priority encoder circuit and method
US6956756B2 (en) * 2001-04-25 2005-10-18 Terminus Technology Limited Associative memory, method for searching the same, network device, and network system
US7114026B1 (en) * 2002-06-17 2006-09-26 Sandeep Khanna CAM device having multiple index generators
JP3807379B2 (ja) * 2003-02-21 2006-08-09 ソニー株式会社 パターン検出回路
JP3938091B2 (ja) * 2003-04-22 2007-06-27 ソニー株式会社 検索装置および方法、記録媒体、並びにプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4969088A (en) * 1988-04-26 1990-11-06 International Business Machines Corporation Hardware mechanism for automatically detecting hot-spot references and diverting same from memory traffic in a multiprocessor computer system
EP0463874A2 (en) * 1990-06-29 1992-01-02 Digital Equipment Corporation Cache arrangement for file system in digital data processing system
EP0594196B1 (en) * 1992-10-22 1999-03-31 Cabletron Systems, Inc. Address lookup in packet data communications link, using hashing and content-addressable memory
US5649110A (en) * 1994-11-07 1997-07-15 Ben-Nun; Michael Traffic shaping system with virtual circuit table time stamps for asynchronous transfer mode networks
US5751993A (en) * 1995-09-05 1998-05-12 Emc Corporation Cache management system

Also Published As

Publication number Publication date
US6070223A (en) 2000-05-30

Similar Documents

Publication Publication Date Title
KR100370937B1 (ko) 입력패킷의 다이제스트 정보를 사용하는 고속 및 적응형패킷처리장치 및 방법
US7694077B2 (en) Multi-port integrated cache
US7302519B2 (en) Distributed content addressable memory
JP3935880B2 (ja) ネットワーク・プロセッサおよびコンピュータ・システム用ハイブリッド・サーチ・メモリ
US6272596B1 (en) Data processor
US6490279B1 (en) Fast data base research and learning apparatus
JPH09307581A (ja) ブリッジ装置
JP2005513895A5 (ja)
JPH02153428A (ja) キャッシュ装置と命令読出し装置
WO1997030395A1 (fr) Memoire a acces multiples et processeur de donnees procurant l'acces a cette memoire
US7082499B2 (en) External memory control device regularly reading ahead data from external memory for storage in cache memory, and data driven type information processing apparatus including the same
JP2002051072A (ja) パケット処理装置
US7606967B2 (en) Frame transfer method and apparatus
JPH0744545B2 (ja) Atmセル分解/組立てシステム
JPH10255485A (ja) 連想メモリおよびネットワークフレーム中継器
JP2000196672A (ja) ネットワ―ク間中継装置
US4975872A (en) Dual port memory device with tag bit marking
US20050078704A1 (en) Method and apparatus for translating data packets from one network protocol to another
US5125097A (en) Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path
US5117499A (en) Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs
JP2002050184A (ja) 連想メモリ
US6961337B2 (en) Interleaved processing system for processing frames within a network router
US6532534B1 (en) Information processing apparatus provided with branch history with plurality of designation ways
US20050015552A1 (en) System for supporting unlimited consecutive data stores into a cache memory
EP0326164B1 (en) Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061010