JPH11282852A - データ検索装置 - Google Patents

データ検索装置

Info

Publication number
JPH11282852A
JPH11282852A JP10087187A JP8718798A JPH11282852A JP H11282852 A JPH11282852 A JP H11282852A JP 10087187 A JP10087187 A JP 10087187A JP 8718798 A JP8718798 A JP 8718798A JP H11282852 A JPH11282852 A JP H11282852A
Authority
JP
Japan
Prior art keywords
data
search
address
mem
addresses
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.)
Granted
Application number
JP10087187A
Other languages
English (en)
Other versions
JP3850134B2 (ja
Inventor
Ryuichi Onoo
隆一 小野尾
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 JP08718798A priority Critical patent/JP3850134B2/ja
Priority to US09/276,112 priority patent/US6611894B1/en
Publication of JPH11282852A publication Critical patent/JPH11282852A/ja
Application granted granted Critical
Publication of JP3850134B2 publication Critical patent/JP3850134B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 (修正有) 【課題】二分検索法を採用し、かつ、高速検索動作を可
能とするデータ検索装置を提供する。 【解決手段】3つのメモリ210,220,230と、
論理アドレス空間を偶数アドレスの集合であるバンクと
奇数アドレスの集合であるバンクとの2つのバンクに分
割し、さらにこれら2つのバンクのうちの一方のバンク
を、アドレスを2進数で表現した場合に’1’のビット
が偶数個存在する集合と奇数個存在する集合であるバン
クとに分割したときの、合計3つのバンクの各論理アド
レス空間を、3つのメモリ210,220,230それ
ぞれの物理アドレス空間にマッピングするアドレス変換
回路310,320,330と、二分検索法により、デ
ータの検索を行う検索回路であって、キーデータと読み
出されたデータとの比較と次に比較が予定される2つの
データのメモリからの読出しとを同時に実行する検索回
路10とを備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリに格納され
た多数のデータの中から所望のデータを検索するデータ
検索装置に関する。
【0002】
【従来の技術】従来より、上記のようなデータ検索装置
が、広く使用されている。図12には、従来のデータ検
索装置の一構成例を示すブロック図である。この図12
に示すデータ検索装置は、データの検索、登録、削除を
制御する検索、登録、削除制御回路10とメモリ20と
から構成されている。
【0003】図12のデータ検索装置において、検索値
KEYで検索する場合は、データに検索値KEYを与え
て検索開始信号を送る。また、登録値INSを登録する
場合、データに登録値INSを与えて登録要求信号を送
る。同様に、削除値DELを削除する場合、データに削
除値DELを与えて削除要求信号を送る。データ検索手
法にはたくさんの手法が存在するが、ここではそれらの
中の一手法である2分検索法を用いたデータ検索装置に
ついて説明する。
【0004】まず、2分検索法について説明する。a
[0],a[1],a[2]…,a[n−1]のn個か
らなるデータ列を考える。2分検索法においては、デー
タ列は昇順又は降順に整列されていることが前提となっ
ているので、ここでは昇順に整列されていることとし、 a[0]<a[1]<a[2]…<a[n−1] とする。
【0005】このデータ列の中から検索値KEYに等し
い要素を探す。検索範囲は初めはa[0]からa[n−
1](データ列全体)である。このデータ列を2つにわ
け、検索値KEYが存在すると考えられる一方のデータ
列を選択し、さらにこの選択したデータ列を2つに分け
…という処理を繰り返し、検索範囲の要素数を一回の選
択毎に半分にしていき、検索範囲の要素数が1つになっ
た時点、または、検索値KEYがデータ列のある要素と
一致した時点で検索を終了する。
【0006】図13に2分検索法のフローを示す。ま
た、検索範囲の中央要素のアドレス遷移を図14、検索
動作のタイミングを図15に示す。以下、これら図13
〜図15を参照しながら、データ検索装置の検索動作を
具体例を挙げて説明する。データ列が15個、つまりメ
モリのアドレスが0〜14の場合で、検索値をKEY、
メモリアドレス0〜14に格納されているデータをそれ
ぞれMEM[0]〜MEM[14]とおき(MEM
[0]<MEM[1]<MEM[2]<…<MEM[1
4])、MEM[5]<KEY=MEM[6]<MEM
[7]のときを例にとって説明する。
【0007】図13の2分検索法フローのステップ13
01において、S=0、E=14となる。次にステップ
1302において、検索範囲MEM[0]からMEM
[14]の中央要素を計算する。M=(S+E)/2=
7より中央要素はMEM[7]になる。そこで、この中
央要素MEM[7]をメモリ20から読み出す(図15
のサイクル1)。
【0008】ステップ1303において、検索範囲の要
素数はE−S+1=15なので、ステップ1304に処
理が移る。ステップ1304において、検索値KEYと
中央要素MEM[7]との大小比較を行ない(図15の
サイクル2)、その大小比較結果は検索値KEYの方が
小さい(KEY<MEM[7])から、検索値KEYに
等しい要素(MEM[6])は中央要素MEM[7]を
境にして中央要素より小さい範囲に存在していることが
わかる。
【0009】ステップ1305に従ってE=M=7とす
ることで、検索範囲がMEM[0]からMEM[7]の
範囲になる。ステップ1302に戻り、中央要素を求め
るとM=(S+E)/2=3.5より小数点以下を切り
捨てMEM[3]になり、今度は、このMEM[3]を
メモリ20から読み出す(図15のサイクル3)。
【0010】ステップ1303にて検索範囲の要素数が
8であるので、ステップ1304で検索値と中央要素の
大小を比較し(図15のサイクル4)、KEY>MEM
[3]よりステップ1304に従ってS=M+1=4と
することで、検索範囲がMEM[4]からMEM[7]
の範囲に狭まる。再びステップ1302で中央要素がM
EM[5]、ステップ1303で検索範囲の要素数が
4、ステップ1304の比較でKEY>MEM[5]、
ステップ1306でS=M+1=6となる(図15のサ
イクル5、6)。
【0011】再び、ステップ1302で中央要素がME
M[6]、ステップ1303で検索範囲の要素数が2、
ステップ1304の比較でKEY=MEM[6]なので
検索が終了し(図15のサイクル7、8)、MEM
[6]が検索結果となる。次にデータの登録について説
明する。a[0]からa[11]までの有効な12のデ
ータ列に対し、登録値INS(a[5]<INS<a
[6])を登録する際の動作の概要を図16に示す。
【0012】データを登録する際は、メモリ上のデータ
は検索を行なえるように常に昇順に整列されていなけれ
ばならないため、登録するデータの挿入位置を探し、メ
モリ上のデータを1つずつずらして登録するスペースを
確保した後に登録データを書き込まなければならない。
データ登録動作にはデータ列に登録値と等しい要素がな
い場合の挿入動作と、登録値と等しい要素が存在した場
合の上書き動作とがある。
【0013】この両方の動作を考慮した登録動作のフロ
ーを図17に、その登録動作の動作タイミングを図18
に示す。これら図17、図18を参照しながら、データ
の登録動作について具体例を挙げて説明する。データ列
が15個、つまり、メモリのアドレスが0〜14の場合
で、登録値をINS、メモリには12個の有効なデータ
がアドレス0〜11に格納されており(m=12)、そ
のデータをMEM[0]〜MEM[11](MEM
[0]<MEM(1)<MEM(2)<…<MEM[1
1])、アドレス12以降は何も登録されていないと
き、MEM[5]<INS<MEM[6]のときを考え
る。
【0014】まず、ステップ1701で登録値INSを
検索値とした検索を行なう(図18のサイクル1〜サイ
クル8、検索フローは図13参照)。登録値INSと一
致した要素があれば上書きとなり、一致した要素が格納
されているアドレスはMであるので、MEM[M]にI
NSが書き込まれる(ステップ1702、1709)。
今回の例の場合、登録値INSと一致した要素がないの
で挿入となり、挿入アドレスはM=6である(ステップ
1702)。
【0015】ステップ1703で、S=m−1=11、
D=m=12、E=M=6となる。ここで、mは登録さ
れているデータの数を表わし、Mは、上記のように、デ
ータの挿入個所(データの削除の場合は削除個所)を表
わしている。S、D、Eは、フロー実行時の変数であ
る。ステップ1704でデータの移動終了の判定を行な
う。
【0016】E<Dなので、アドレス11のデータを読
み出し(ステップ1705;図18のサイクル9)、ア
ドレス12に書き込む(ステップ1706,サイクル1
0)。ステップ1707でS、Dが更新され、S=1
0、D=11となる。ステップ1704からステップ1
707までをE=Dとなるまで繰り返す(サイクル11
〜20)。
【0017】ステップ1704においてE=D=6とな
った時点では、アドレス6〜11にあったもともとのデ
ータMEM[6]〜MEM[11]はアドレス7〜12
に移動している。最後に、有効要素数mが1増加し(ス
テップ1708)、アドレスM(=6)に登録値INS
が書き込まれる(ステップ1709、サイクル21)。
【0018】次に、データの削除について説明する。a
[0]からa[11]までの有効な12のデータ列に対
し、削除DEL(a[5]<DEL=a[6])を削除
する際の動作の概要を図19に示す。データを削除する
際も、メモリ上のデータは検索を行えるように常に昇順
に整列されていなければならないため、削除するデータ
の位置を探し、メモリ上のデータを1つずつずらして削
除されたデータのスペースを詰めなければならない。
【0019】データ削除動作のフローを図20に、その
削除動作の動作タイミングを図21に示す。これら、図
20、図21を参照しながら、データの削除動作につい
て具体例をあげて説明する。データ列が15個、つま
り、メモリのアドレスが0〜14の場合で、削除値をD
EL、メモリには12個の有効なデータがアドレス0〜
11に格納されており(m=12)、そのデータをME
M[0]〜MEM[11](MEM[0]<MEM
[1]<MEM[2]<…<MEM[11]、アドレス
12以降は何も登録されていない)とおき、MEM
[5]<DEL=MEM[6]<MEM[7]のときを
考える。
【0020】まず、ステップ2001で削除値DELを
検索値とした検索を行なう(図21のサイクル1〜サイ
クル8)。削除値DELと一致した要素がなければ削除
動作は行なうことができないので終了となる。今回の例
の場合、削除値DELと一致した要素が存在し、一致し
た要素が格納されているアドレスはMであるので、ME
M[M]が削除対象となる(ステップ2002)。
【0021】ステップ2003で、S=M+1=7、D
=M=6、E=m=12となる。ステップ2004でデ
ータの移動終了の判定を行なう。E>Dなので、アドレ
ス7を読み出し(ステップ2005、サイクル9)、ア
ドレス6へ書き込む(ステップ2006、サイクル1
0)。ステップ2007で、S、Dが更新され、S=
8、D=7となる。
【0022】ステップ2004からステップ2007ま
でをE=Dとなるまで繰り返す(サイクル11〜1
8)。ステップ2004においてE=D=12となった
時点では、アドレス7〜11にあったもともとのデータ
MEM[7]〜MEM[11]はアドレス6〜10に移
動している。
【0023】ステップ2008において、有効要素数m
が1減少する。
【0024】
【発明が解決しようとする課題】以上の動作により、二
分検索法に基づくデータ検索、およびデータの登録、削
除が行なわれるが、例えば図15に示すように、二分検
索法による検索に際しては、メモリからのデータの読出
しと読み出されたデータと検索値KEYとの比較が交互
に行なわれており、この二分検索法には検索動作中の約
半分の時間はメモリが使われておらず、無駄が多い。
【0025】本発明は、上記事情に鑑み、二分検索法を
採用し、高速検索動作が可能なデータ検索装置を提供す
ることを目的とする。
【0026】
【課題を解決するための手段】上記目的を達成する本発
明のデータ検索装置は、3つもしくは4つのメモリと、
論理アドレス空間を偶数アドレスの集合であるバンクと
奇数アドレスの集合であるバンクとの2つのバンクに分
割し、さらにこれら2つのバンクのうち一方もしくは双
方のバンクを、アドレスを2進数で表現した場合に’
1’のビットが偶数個存在するアドレスの集合であるバ
ンクと奇数個存在するアドレスの集合であるバンクとに
分割したときの、合計3つもしくは4つのバンクの各論
理アドレス空間を、上記3つもしくは4つのメモリそれ
ぞれの物理アドレス空間にマッピングするアドレス変換
回路と、与えられたキーデータを用いて、二分検索法に
より、上記メモリに格納されたデータの検索を行う検索
回路であって、キーデータとメモリから読み出されたデ
ータとの比較と次に比較が予定される2つのデータのメ
モリからの読出しとを同時に実行するサイクルを含む検
索を行なう検索回路とを備えたことを特徴とする。
【0027】
【発明の実施の形態】以下、本発明の実施形態について
説明する。ここでは、本発明の一実施形態として、メモ
リ全体の論理アドレスを、まず、 (I)偶数アドレス (II)奇数アドレス の2つに分割する。さらに(II)を以下の規則に従っ
てさらに2つに分割する。
【0028】(II−1)アドレスを2進数表現した場
合の”1”のビットが偶数であるアドレス (II−2)アドレスを2進数表現した場合の”1”の
ビットが奇数であるアドレス 以上のようにして、論理アドレス空間を3つのバンクに
分割する。これら3つのバンクのメモリの物理アドレス
の割り当ては以下のようにする。
【0029】(1)上記(I)のバンクは、論理アドレ
スの下位1ビットを除いたアドレス (2)上記(II−1)(II−2)の2つのバンク
は、論理アドレスの下位2ビットを除いたアドレス 例えば、全体の論理アドレスが0〜15(0000B
1111B )の場合の3つのバンクの論理アドレスと物
理アドレスは、図1のように割り当てられる。
【0030】図2は、本発明のデータ検索装置の一実施
形態の構成を示すブロック図である。この図2に示すデ
ータ検索装置は、以上の3つのバンクへ独立に同時にア
クセスすることができるように構成されている。バンク
1,2,3に対応し3つのメモリ210,220,23
0が備えられており、さらに、論理アドレスを物理アド
レスに変換するアドレス変換装置310,320,33
0がメモリ210,220,230に対応して合計3つ
備えられている。
【0031】2分検索の動作を、先に示した例と同様
に、メモリのアドレスが0〜14の場合で、検索キーデ
ータをKEY、メモリアドレス0〜14に格納されてい
るデータをそれぞれMEM[0]〜MEM[14]とお
き(MEM[0]<MEM[2]<…<MEM[1
4])、MEM[5]<KEY=MEM[6]<MEM
[7]のときを例にあげて説明する。
【0032】このときのアドレス遷移は図14のように
なることは従来技術の説明で示した通りである。これを
バンクとその物理アドレスで表記すると図3のようにな
る。この場合の検索の動作タイミングは、バンク1、
2、3のメモリへ同時にアクセスできるため、図4のよ
うにできる。従来は、図15に示したように、サイクル
1の次に検索値KEYとの比較サイクルがあり、その比
較結果をもとに図5のアドレスペアBのうちのどちらの
アドレスを出力するか決定し、サイクル3で出力してい
た。なぜなら、従来は、アドレスペアB(アドレス3と
アドレス11)の両方のアドレスを同時に与えることが
できなかったからである。
【0033】しかし、本発明においては、アドレスペア
Bの両方のアドレスはバンクが異なるため同時に出力で
きる。そこで、図4に示すように、サイクル2で、アド
レスペアの両方のアドレスを読み出し、その読み出しと
同時に、サイクル1で読み出したMEM[7]と検索キ
ーとの比較を行なう。サイクル2で発生したアドレスペ
アBの次に発生すべきアドレスは、アドレスペアC、D
の4つのアドレスであるが、サイクル1で読み出したM
EM[7]と検索キーとの比較結果から、アドレスペア
CまたはアドレスペアDのみの発生で良いといえる。
【0034】つまり、 KEY≦MEM[7]の場合、アドレスペアC KEY>MEM[7]の場合、アドレスペアD である。アドレスペアC、Dのどちらについても、バン
クが異なるアドレスのペアであるので、同時に出力する
ことが可能であるから、これらのアドレスはサイクル3
で発生可能となる。今回の例では、サイクル2でKEY
<MEM[7]の結果が得られたので、サイクル3では
アドレスペアCの発生を行なっている。また、サイクル
2での比較結果から、アドレスペアBの2つのアドレス
のうちのどちらのアドレスと検索キーを比較すべきかが
わかり、今回の例では、アドレスペアCの発生サイクル
と同じサイクル3で、MEM[3]と検索キーとの比較
を行なっている。
【0035】以上を繰り返していく。但し、最後のアド
レス(アドレスペアE〜H)については、本実施形態で
は、各ペアのアドレスが同じバンク(バンク1)にあっ
て同時に発生させることができないので、このサイクル
に関しては従来通り1つ前の比較結果からアドレスを決
定することになる。
【0036】つまり、サイクル3のアドレスペアCの次
のアドレスペアは、KEY>MEM[3]よりアドレス
ペアFであるが、ペアのアドレスは両方ともバンク1に
属するため、サイクル4で発生することはできない。し
たがって、サイクル4ではサイクル3の比較結果を反映
して検索キーとMEM[5]の比較を行ない、その結果
から、サイクル5にてアドレス6を出力する。そして次
のサイクル6にて、最終結果が得られる。
【0037】本実施形態におけるデータ登録の動作を、
先に示した例と同様に、メモリのアドレスが0〜14の
場合で、登録データをINS、メモリのアドレス0〜1
1に格納されているデータをそれぞれMEM[0]〜M
EM[11]とおき(MEM[0]<MEM[1]<M
EM[2]<…MEM[11]、アドレス12以降は何
も登録されていない)、MEM[5]<INS<MEM
[6]のときを例にあげて説明する。
【0038】本実施形態における登録動作フローを図6
に、その登録動作の動作タイミングを図7,図8に示
す。登録場所の検索は先にのべた検索と同じなので説明
は省略する(ステップ601,サイクル1〜6)。登録
値と一致した要素があれば、一致アドレスに登録値を上
書きして終了になる(ステップ611)。
【0039】EとDを比較してデータの移動が終了かど
うかを判定する(ステップ604)。E>Dならば、デ
ータの移動は終了しているので、有効要素数mを1増や
し(ステップ610)、登録値INSを登録して登録動
作は終了となる(ステップ611)。
【0040】E≦Dの場合、データの移動は終了してい
ないので、データの移動を行なう。従来は1つのデータ
に対して2サイクルで読み書きを行なっていたが、本発
明においてはメモリを偶数アドレスと奇数アドレスとに
分けて同時にアクセスできるようになっているので、連
続する2アドレスは同時に読み書きできる。従って、1
サイクルで2つのデータを移動することができる。ただ
し、E=Dの場合は、移動するデータの残りは1アドレ
ス分なので1アドレスのみ読み出して(ステップ60
8)、書き込みを行なう(ステップ609)。
【0041】今はE<Dなので、アドレス10、11の
2アドレス分読み出し(ステップ605、サイクル
7)、アドレス11、12に書き込む(ステップ60
6、サイクル8)。S、Dを2減らし、S=8、D=9
となる(ステップ607)。以上のステップ604〜6
07をE≧Dとなるまで繰り返す(サイクル9〜サイク
ル12)。
【0042】3回繰り返すと、S=4、D=5となり、
E=6であるから、ステップ604でE>Dを満たし、
有効な要素数mを1増やし(ステップ610)、登録値
INSをアドレスMに書き込み終了となる(ステップ6
11、サイクル13)。次に、本実施形態におけるデー
タ削除の動作を、先に示した例と同様に、メモリのアド
レスが0〜14の場合で、削除値をDEL、メモリのア
ドレス0〜11に格納されているデータをそれぞれME
M[0]〜MEM[11]とおき、(MEM[0]<M
EM[1]<MEM[2]<…MEM[11]、アドレ
ス12以降は何も登録されていない、DEL=MEM
[6]のときを例に挙げて説明する。
【0043】本実施形態における削除動作のフローを図
9に、その削除動作の動作タイミングを図10、図11
に示す。削除場所の検索は先に述べた検索と同じなので
説明は省略する(ステップ901、サイクル1〜6)。
削除値DELと一致した要素がなければ削除動作は行な
うことができないので終了となる。
【0044】今回の例の場合、削除値DELと一致した
要素が存在し、一致した要素が格納されているアドレス
はMであるのでMEM[M]が削除対象となる(ステッ
プ902)。ステップ903で、S=M+1=7,D=
M=6,E=m−1=11となる。EとSを比較してデ
ータの移動が終了かどうかを判定する(ステップ90
4)。
【0045】E<Sならば、データの移動は終了してい
るので、有効要素数mを1減らし(ステップ910)、
削除動作は終了となる。E≧Sの場合、データの移動は
終了していないので、データの移動を行なう。従来は1
つのデータに対して2サイクルでデータの読み書きを行
なっていたが、本発明においてはメモリを偶数アドレス
と奇数アドレスとに分けて同時にアクセスできるように
なっているので、連続する2アドレスは同時に読み書き
できる。従って、1サイクルで2アドレス分のデータの
読み出し又は2アドレス分の書き込みを同時に行ない、
2サイクルで2つのデータを移動することができる。た
だし、E=Sの場合は、移動するデータの残りは1アド
レス分なので、1アドレスのみ読み出して(ステップ9
08)、書き込みを行なう(ステップ909)。
【0046】今はE<Sなので、アドレス7、8の2ア
ドレス分のデータを読み出し(ステップ905、サイク
ル7)、アドレス6、7に書き込む(ステップ906、
サイクル8)。S、Dを2増加し、S=9、D=8とな
る(ステップ907)。以上のステップ904〜907
をE≦Sとなるまで繰り返す(サイクル9〜サイクル1
0)。
【0047】S=11、D=10となると、ステップ9
04でE=Sを満たし、アドレス11のデータを読み出
して(ステップ908、サイクル11)、アドレス10
に書き込み(ステップ909,サイクル12)、削除動
作を終了する。以上説明した実施形態では、バンク(メ
モリ)を3つに分けているため、図4に示すように、検
索の最終部分(サイクル4とサイクル5)では、比較と
読出しを同時に行なうことはできない。ここでは簡単な
例を示して説明したが、実際にはもっと多数のデータの
中から検索を行なうわけであり、最終部分のみ比較と読
み出しを同時に行なうことができなくてもさほど大きな
問題ではない。ただし、この部分をもさらに高速化しよ
うとすると、バンク(メモリ)を4つに分ける。すなわ
ち、図1では偶数アドレスは全体で1つのバンクを構成
しているが、この偶数アドレスも奇数アドレスと同様に
して2つのバンクに分割する。こうすることにより、検
索の最終部分(図4に示すサイクル4とサイクル5)を
同時に行なうことができ、さらに高速化されることとな
る。
【0048】
【発明の効果】以上説明したように、本発明によれば、
検索動作の構成要素であるメモリからの読出し動作と比
較動作を、バンクを3つに分けた場合は、一連の検索動
作の最後の読出し動作と比較動作を除いて、同時に行え
るため、従来の約半分のサイクル数で検索動作を終了す
ることができる。
【0049】データの登録、削除動作には、大きく分け
て検索動作とメモリデータの移動があり、本発明によれ
ば、登録削除動作における検索動作については、上記の
検索動作と同様に約半分のサイクル数で動作を終了する
ことができ、また、メモリが奇数アドレスとに分かれて
いるため、メモリデータの移動については、1サイクル
で連続する2アドレスから同時に読み出し、または、同
時に書き込みを行なうことができ、従来の約半分のサイ
クル数で終了することができるので、データの登録、削
除動作についても従来の約半分のサイクル数で終了する
ことができる。
【図面の簡単な説明】
【図1】3つのバンクに分けたときの論理アドレスと物
理アドレスの対応関係を示す図である。
【図2】本発明のデータ検索装置の一実施形態の構成を
示すブロック図である。
【図3】検索範囲の中央要素のアドレス遷移を、バンク
とその物理アドレスで表記した図である。
【図4】本実施形態における検索動作のタイミングを示
す図である。
【図5】検索範囲の中央要素のアドレス遷移を、択一的
に選択される2つのアドレスからなるアドレスペアの集
合で表記した図である。
【図6】本実施形態における登録動作フローを示す図で
ある。
【図7】本実施形態における登録動作の動作タイミング
の前半部分を示す図である。
【図8】本実施形態における登録動作の動作タイミング
の後半部分を示す図である。
【図9】本実施形態における削除動作フローを示す図で
ある。
【図10】本実施形態における削除動作の動作タイミン
グの前半部分を示す図である。
【図11】本実施形態における削除動作の動作タイミン
グの後半部分を示す図である。
【図12】従来のデータ検索装置の一構成例を示すブロ
ック図である。
【図13】従来の2分検索法のフローを示す図である。
【図14】検索範囲の中央要素のアドレス遷移を示す図
である。
【図15】従来の検索動作のタイミングを示す図であ
る。
【図16】登録動作の概要を示す図である。
【図17】従来の登録動作のフローを示す図である。
【図18】従来の登録動作の動作タイミングを示す図で
ある。
【図19】削除動作の概要を示す図である。
【図20】従来の削除動作のフローを示す図である。
【図21】従来の削除動作の動作タイミングを示す図で
ある。
【符号の説明】
10 検索、登録、削除制御回路 20,210,220,230 メモリ 310,320,330 アドレス変換装置

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 3つもしくは4つのメモリと、 論理アドレス空間を偶数アドレスの集合であるバンクと
    奇数アドレスの集合であるバンクとの2つのバンクに分
    割し、さらにこれら2つのバンクのうち一方もしくは双
    方のバンクを、アドレスを2進数で表現した場合に’
    1’のビットが偶数個存在するアドレスの集合であるバ
    ンクと奇数個存在するアドレスの集合であるバンクとに
    分割したときの、合計3つもしくは4つのバンクの各論
    理アドレス空間を、前記3つもしくは4つのメモリそれ
    ぞれの物理アドレス空間にマッピングするアドレス変換
    回路と、 与えられたキーデータを用いて、二分検索法により、前
    記メモリに格納されたデータの検索を行う検索回路であ
    って、キーデータとメモリから読み出されたデータとの
    比較と次に比較が予定される2つのデータのメモリから
    の読出しとを同時に実行するサイクルを含む検索を行な
    う検索回路とを備えたことを特徴とするデータ検索装
    置。
JP08718798A 1998-03-31 1998-03-31 データ検索装置 Expired - Fee Related JP3850134B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP08718798A JP3850134B2 (ja) 1998-03-31 1998-03-31 データ検索装置
US09/276,112 US6611894B1 (en) 1998-03-31 1999-03-25 Data retrieval apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08718798A JP3850134B2 (ja) 1998-03-31 1998-03-31 データ検索装置

Publications (2)

Publication Number Publication Date
JPH11282852A true JPH11282852A (ja) 1999-10-15
JP3850134B2 JP3850134B2 (ja) 2006-11-29

Family

ID=13907996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08718798A Expired - Fee Related JP3850134B2 (ja) 1998-03-31 1998-03-31 データ検索装置

Country Status (2)

Country Link
US (1) US6611894B1 (ja)
JP (1) JP3850134B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775726B2 (en) 2012-07-27 2014-07-08 International Business Machine Corporation TCAM extended search function

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912173B2 (en) * 2001-06-29 2005-06-28 Broadcom Corporation Method and system for fast memory access
US20090013148A1 (en) 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays
EP2220849B1 (en) * 2007-12-12 2019-03-13 Nokia Technologies Oy Address assignment protocol
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US20120324143A1 (en) 2011-06-15 2012-12-20 Data Design Corporation Methods and apparatus for data access by a reprogrammable circuit module
US9417894B1 (en) 2011-06-15 2016-08-16 Ryft Systems, Inc. Methods and apparatus for a tablet computer system incorporating a reprogrammable circuit module
US12124421B2 (en) * 2020-09-18 2024-10-22 Kioxia Corporation System and method for efficient expansion of key value hash table

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041393A (en) * 1996-08-23 2000-03-21 Hewlett-Packard Co. Array padding for higher memory throughput in the presence of dirty misses
US5748905A (en) * 1996-08-30 1998-05-05 Fujitsu Network Communications, Inc. Frame classification using classification keys
US6161144A (en) * 1998-01-23 2000-12-12 Alcatel Internetworking (Pe), Inc. Network switching device with concurrent key lookups

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775726B2 (en) 2012-07-27 2014-07-08 International Business Machine Corporation TCAM extended search function

Also Published As

Publication number Publication date
US6611894B1 (en) 2003-08-26
JP3850134B2 (ja) 2006-11-29

Similar Documents

Publication Publication Date Title
JP3084201B2 (ja) パターン一致を探索するための方法およびシステム
US6760821B2 (en) Memory engine for the inspection and manipulation of data
US6903953B2 (en) Content addressable memory with cascaded array
US8166278B2 (en) Hashing and serial decoding techniques
JPH08504992A (ja) 動的記憶装置におけるパターン検索およびリフレッシュ論理
US7231383B2 (en) Search engine for large-width data
US7017005B2 (en) Implementation of a content addressable memory using a RAM-cell structure
US7054994B2 (en) Multiple-RAM CAM device and method therefor
JPH11282852A (ja) データ検索装置
CN109933584B (zh) 一种多级无序索引方法与系统
JPH08129551A (ja) ハッシュ方式
US7565482B1 (en) Method and device for scalable multiple match extraction from search data
WO2001091132A2 (en) The implementation of a content addressable memory using a ram-cell structure
JPH01297724A (ja) 学習型文字列検索装置と同装置の制御方式
JP2590866B2 (ja) データ検索装置
JPS6211426B2 (ja)
CN121880325A (zh) 一种面向外存优化的学习型索引结构建立方法
JP2002124088A (ja) 連想メモリ装置およびそのメモリデータ移動方法
JPS62248031A (ja) デ−タ管理方法
JP2003108600A (ja) 検索装置
JPH02146647A (ja) バツフアメモリ制御装置
JPH05143287A (ja) ハードウエアソート処理装置
JPH02150920A (ja) 最大値データ検索方式
JPH09146837A (ja) キャッシュバイパス回路
JPS62217495A (ja) 連想記憶装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060711

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: 20060822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060829

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: 20100908

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110908

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110908

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120908

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130908

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees