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

データ検索装置 Download PDF

Info

Publication number
JP3850134B2
JP3850134B2 JP08718798A JP8718798A JP3850134B2 JP 3850134 B2 JP3850134 B2 JP 3850134B2 JP 08718798 A JP08718798 A JP 08718798A JP 8718798 A JP8718798 A JP 8718798A JP 3850134 B2 JP3850134 B2 JP 3850134B2
Authority
JP
Japan
Prior art keywords
data
search
addresses
mem
bank
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP08718798A
Other languages
English (en)
Other versions
JPH11282852A (ja
Inventor
隆一 小野尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
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 Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
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

Images

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)

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[14])、MEM[5]<KEY=MEM[6]<MEM[7]のときを例にとって説明する。
【0007】
図13の2分検索法フローのステップ1301において、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で中央要素がMEM[5]、ステップ1303で検索範囲の要素数が4、ステップ1304の比較でKEY>MEM[5]、ステップ1306でS=M+1=6となる(図15のサイクル5、6)。
【0011】
再び、ステップ1302で中央要素がMEM[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[11])、アドレス12以降は何も登録されていないとき、MEM[5]<INS<MEM[6]のときを考える。
【0014】
まず、ステップ1701で登録値INSを検索値とした検索を行なう(図18のサイクル1〜サイクル8、検索フローは図13参照)。
登録値INSと一致した要素があれば上書きとなり、一致した要素が格納されているアドレスはMであるので、MEM[M]にINSが書き込まれる(ステップ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,サイクル10)。
ステップ1707でS、Dが更新され、S=10、D=11となる。
ステップ1704からステップ1707までを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の場合で、削除値をDEL、メモリには12個の有効なデータがアドレス0〜11に格納されており(m=12)、そのデータをMEM[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であるので、MEM[M]が削除対象となる(ステップ2002)。
【0021】
ステップ2003で、S=M+1=7、D=M=6、E=m=12となる。
ステップ2004でデータの移動終了の判定を行なう。
E>Dなので、アドレス7を読み出し(ステップ2005、サイクル9)、アドレス6へ書き込む(ステップ2006、サイクル10)。
ステップ2007で、S、Dが更新され、S=8、D=7となる。
【0022】
ステップ2004からステップ2007までをE=Dとなるまで繰り返す(サイクル11〜18)。
ステップ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,230が備えられており、さらに、論理アドレスを物理アドレスに変換するアドレス変換装置310,320,330がメモリ210,220,230に対応して合計3つ備えられている。
【0031】
2分検索の動作を、先に示した例と同様に、メモリのアドレスが0〜14の場合で、検索キーデータをKEY、メモリアドレス0〜14に格納されているデータをそれぞれMEM[0]〜MEM[14]とおき(MEM[0]<MEM[2]<…<MEM[14])、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で読み出したMEM[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〜11に格納されているデータをそれぞれMEM[0]〜MEM[11]とおき(MEM[0]<MEM[1]<MEM[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アドレスのみ読み出して(ステップ608)、書き込みを行なう(ステップ609)。
【0041】
今はE<Dなので、アドレス10、11の2アドレス分読み出し(ステップ605、サイクル7)、アドレス11、12に書き込む(ステップ606、サイクル8)。
S、Dを2減らし、S=8、D=9となる(ステップ607)。
以上のステップ604〜607をE≧Dとなるまで繰り返す(サイクル9〜サイクル12)。
【0042】
3回繰り返すと、S=4、D=5となり、E=6であるから、ステップ604でE>Dを満たし、有効な要素数mを1増やし(ステップ610)、登録値INSをアドレスMに書き込み終了となる(ステップ611、サイクル13)。
次に、本実施形態におけるデータ削除の動作を、先に示した例と同様に、メモリのアドレスが0〜14の場合で、削除値をDEL、メモリのアドレス0〜11に格納されているデータをそれぞれMEM[0]〜MEM[11]とおき、(MEM[0]<MEM[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を比較してデータの移動が終了かどうかを判定する(ステップ904)。
【0045】
E<Sならば、データの移動は終了しているので、有効要素数mを1減らし(ステップ910)、削除動作は終了となる。
E≧Sの場合、データの移動は終了していないので、データの移動を行なう。
従来は1つのデータに対して2サイクルでデータの読み書きを行なっていたが、本発明においてはメモリを偶数アドレスと奇数アドレスとに分けて同時にアクセスできるようになっているので、連続する2アドレスは同時に読み書きできる。従って、1サイクルで2アドレス分のデータの読み出し又は2アドレス分の書き込みを同時に行ない、2サイクルで2つのデータを移動することができる。ただし、E=Sの場合は、移動するデータの残りは1アドレス分なので、1アドレスのみ読み出して(ステップ908)、書き込みを行なう(ステップ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〜サイクル10)。
【0047】
S=11、D=10となると、ステップ904で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 (3)

  1. 3つもしくは4つのメモリと、
    論理アドレス空間を偶数アドレスの集合であるバンクと奇数アドレスの集合であるバンクとの2つのバンクに分割し、さらにこれら2つのバンクのうち一方もしくは双方のバンクを、アドレスを2進数で表現した場合に’1’のビットが偶数個存在するアドレスの集合であるバンクと奇数個存在するアドレスの集合であるバンクとに分割したときの、合計3つもしくは4つのバンクの各論理アドレス空間を、前記3つもしくは4つのメモリそれぞれの物理アドレス空間にマッピングするアドレス変換回路と、
    与えられたキーデータを用いて、二分検索法により、前記メモリに格納されたデータの検索を行う検索回路であって、キーデータとメモリから読み出されたデータとの比較と次に比較が予定される2つのデータのメモリからの読出しとを同時に実行するサイクルを含む検索を行なう検索回路とを備えたことを特徴とするデータ検索装置。
  2. 3つもしくは4つのメモリと、
    論理アドレス空間を偶数アドレスの集合であるバンクと奇数アドレスの集合であるバンクとの2つのバンクに分割し、さらにこれら2つのバンクのうち一方もしくは双方のバンクを、アドレスを2進数で表現した場合に’1’のビットが偶数個存在するアドレスの集合であるバンクと奇数個存在するアドレスの集合であるバンクとに分割したときの、合計3つもしくは4つのバンクの各論理アドレス空間を、前記3つもしくは4つのメモリそれぞれの物理アドレス空間にマッピングするアドレス変換回路と、
    与えられたキーデータを用いて、二分検索法により、前記メモリに格納されたデータの検索を行う検索回路であって、キーデータとメモリから読み出されたデータとの比較と次に比較が予定される2つのデータのメモリからの読出しとを同時に実行するサイクルを含む検索を行なう検索回路と、
    異なるバンクに属する連続する2つのアドレスのデータを1サイクルで同時に移動させ、登録値を書き込む登録制御回路と
    を備えたことを特徴とするデータ検索装置。
  3. 3つもしくは4つのメモリと、
    論理アドレス空間を偶数アドレスの集合であるバンクと奇数アドレスの集合であるバンクとの2つのバンクに分割し、さらにこれら2つのバンクのうち一方もしくは双方のバンクを、アドレスを2進数で表現した場合に’1’のビットが偶数個存在するアドレスの集合であるバンクと奇数個存在するアドレスの集合であるバンクとに分割したときの、合計3つもしくは4つのバンクの各論理アドレス空間を、前記3つもしくは4つのメモリそれぞれの物理アドレス空間にマッピングするアドレス変換回路と、
    与えられたキーデータを用いて、二分検索法により、前記メモリに格納されたデータの検索を行う検索回路であって、キーデータとメモリから読み出されたデータとの比較と次に比較が予定される2つのデータのメモリからの読出しとを同時に実行するサイクルを含む検索を行なう検索回路と、
    異なるバンクに属する連続する2つのアドレスのデータを1サイクルで同時に移動させ、検索されたデータを削除する削除制御回路と
    を備えたことを特徴とするデータ検索装置。
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 JPH11282852A (ja) 1999-10-15
JP3850134B2 true 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)

Families Citing this family (10)

* 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
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
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
US8775726B2 (en) 2012-07-27 2014-07-08 International Business Machine Corporation TCAM extended search function
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

Also Published As

Publication number Publication date
JPH11282852A (ja) 1999-10-15
US6611894B1 (en) 2003-08-26

Similar Documents

Publication Publication Date Title
US6353910B1 (en) Method and apparatus for implementing error correction coding (ECC) in a dynamic random access memory utilizing vertical ECC storage
US5117495A (en) Method of sorting data records
US5175857A (en) System for sorting records having sorted strings each having a plurality of linked elements each element storing next record address
US6760821B2 (en) Memory engine for the inspection and manipulation of data
US5497478A (en) Memory access system and method modifying a memory interleaving scheme so that data can be read in any sequence without inserting wait cycles
US7017005B2 (en) Implementation of a content addressable memory using a RAM-cell structure
JPH08504992A (ja) 動的記憶装置におけるパターン検索およびリフレッシュ論理
JP3850134B2 (ja) データ検索装置
JP3786993B2 (ja) データ記憶ユニット及び該ユニットを用いたデータ記憶装置
JP3251138B2 (ja) ハッシュ方式
CN109933584B (zh) 一种多级无序索引方法与系统
KR100914646B1 (ko) 멀티-플레인 구조의 플래시 메모리 관리 방법
JPS5925316B2 (ja) メモリ・アレイ
EP0166577A2 (en) Information sorting and storage apparatus and method
JPH0666050B2 (ja) ソート処理方法
CN113821177B (zh) 一种基于nvm的lsm树的存储结构及其数据存储方法
US5644497A (en) Method and apparatus for compiling and implementing state-machine states and outputs for a universal cellular sequential logic array
US7051183B2 (en) Circuit for recording digital waveform data and method of doing the same
JP3215598B2 (ja) 最小誤差記憶装置
CN85105547A (zh) 用于一信息处理装置的存储器存取控制系统
JP2541006B2 (ja) ソ―ト処理方式
JP3518420B2 (ja) ディスクキャッシュを用いたソート処理方法ならびに装置
JP2002124088A (ja) 連想メモリ装置およびそのメモリデータ移動方法
JPH09146837A (ja) キャッシュバイパス回路
WO1994029784A1 (en) Method and apparatus for compiling and implementing state-machine states and outputs for a cellular array

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