JP2680010B2 - ハッシュビットアレイ構成方法 - Google Patents

ハッシュビットアレイ構成方法

Info

Publication number
JP2680010B2
JP2680010B2 JP62331330A JP33133087A JP2680010B2 JP 2680010 B2 JP2680010 B2 JP 2680010B2 JP 62331330 A JP62331330 A JP 62331330A JP 33133087 A JP33133087 A JP 33133087A JP 2680010 B2 JP2680010 B2 JP 2680010B2
Authority
JP
Japan
Prior art keywords
bit
bit array
memory
record
circuit
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
JP62331330A
Other languages
English (en)
Other versions
JPH01171022A (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.)
Hitachi Ltd
Nippon Telegraph and Telephone Corp
Original Assignee
Hitachi Ltd
Nippon Telegraph and Telephone 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 Hitachi Ltd, Nippon Telegraph and Telephone Corp filed Critical Hitachi Ltd
Priority to JP62331330A priority Critical patent/JP2680010B2/ja
Publication of JPH01171022A publication Critical patent/JPH01171022A/ja
Application granted granted Critical
Publication of JP2680010B2 publication Critical patent/JP2680010B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数のデータ集合からハッシングを用いて
値の等しいデータを検索するデータ検索装置に係り、特
に、ハッシング値を格納する複数のビットアレイ(1ビ
ットのビット列)をメモリ上に形成する場合に好適なハ
ッシュビットアレイ構成方法に関する。 〔従来の技術〕 データベース処理の分野において、レコードの検索処
理は最も基本的な処理であるが、該検索処理の一つに、
複数、特に2つのレコード集合からキー(レコードの項
目の内、検索対象となる項目)の値の一致するレコード
を各々の集合から見いだす処理がある。従来、この種検
索処理の高速化のため、ハッシュ化ビットアレイの手法
がしばしば用いられる。 第5図はハッシュ化ビットアレイの手法を説明する図
であって、501はレコード集合A、502はレコード集合
B、503はハッシング回路、504,505はビットアレイ(1
ビットのビット列)、506はレコード集合Aの設定操作
パス、507はレコード集合Bの参照操作パス、508はレコ
ード集合Bの設定操作パス、509はレコード集合Aの参
照操作パス、510はレコード集合Bで参照の結果残った
レコード、511はレコード集合Aで参照の結果残ったレ
コードである。 2つのレコード集合A,B間でキー値の一致するレコー
ド検索処理は以下の手順で行う。 2つのビットアレイ504,505の全ビットに“0"を書
込む(ビットアレイの初期化)。 レコード集合Aの各レコードについて、そのキーを
ハッシング回路503にてハッシングし、該ハッシング値
を番地とするビットアレイaのビット位置に“1"を書込
む(パス506;レコード集合Aの設定)。 レコード集合Bの各レコードについて、そのキーを
と同様にハッシング回路503にてハッシングし、該ハ
ッシング値を番地とするビットアレイaのビット位置を
見る(パス507;レコード集合Bの参照)。該位置が“1"
であれば、該レコードは、レコード集合Aのレコードの
いずれかと一致する可能性があるので抽出しておく。レ
コード510は、これを示したものである。該参照処理と
同時に、同ハッシング値を番地とするビットアレイbの
ビット位置に“1"を書込む(パス508;レコード集合Bの
設定)。 レコード集合Aの各レコードについて、そのキーを
再びハッシングし、該ハッシング値を番地とするビット
アレイbのビット位置を見る(パス509;レコード集合A
の参照)。該位置が“1"であれば、該レコードは、レコ
ード集合bのレコードのいずれかと一致する可能性があ
るので抽出しておく。レコード511はこれを示したもの
である。,で各々レコード集合A,Bから抽出しておいた
レコードのキー値を突合せ、レコードA,Bの各々からキ
ー値の一致するレコード値を求める。第5図の例の場
合、このようにして「山田 庶務」、「鈴木 設計」の
各レコードが検索される。 なお、ハッシュ化ビットアレイ手法については、例え
ば、D.R.McGregor,R.G.Thomson,W.N.Dawson,“High Per
formance Hardware for Database Systems",Systems fo
r Large Data Bases,pp103−116,North−Holland Publi
shing Company,1976に記載されている。 〔発明が解決しようとする問題点〕 従来技術においては、ハッシング値を格納するビット
アレイは1ビットのビット列をデータ集合毎に独立に用
意していたゝめ、次のような問題があった。 (a) 上記手順において、参照、設定毎にビットア
レイをアクセスしなければならない。特に、ビットアレ
イは一般のデータを記憶しているメモリ上に作成する等
の理由で、メモリへの読出し、書込み幅の語単位とする
場合、ビットアレイaの参照のためにメモリ読出しを1
回、ビットアレイbの設定のためには、ハッシュ値に対
応するビットを含む語をメモリから読出し、該語のハッ
シング値に対応するビットを書替えた後、再び、メモリ
に書込む必要があり、このためにメモリ読出し、書込み
を各1回ずつ、合計、上記手順におけるメモリアクセ
ス回数は、3回必要になる。この処理をビットアレイご
と逐次に行っていたのでは処理に時間がかゝる。また
は、ビットアレイごとにアクセス回路を用意すると、ア
クセス回数は2回で済むが、ビットアレイごとに独立な
メモリとアクセス回路が必要であり、ハード量が増加す
る。 (b) ビットアレイの初期化はビットアレイごと独立
に行う必要がある。即ち、2つのビットアレイの番地を
管理する必要がある。 本発明の目的は、複数のデータ集合からハッシングを
用いて値の等しいデータを検索するデータ検索装置にお
いて、ハッシング値を格納する複数のビットアレイの同
一番地に対する同一アクセス処理を、少ないアクセス回
数、少ないハード量で実現し、さらに、該複数のビット
アレイの初期化処理制御を容易にすることにある。 〔問題点を解決するための手段〕 上記目的は、各データ集合(レコード集合)に対応す
るハッシュ化ビットアレイを、1セルの大きさをm・n
ビット(mはビットアレイの個数、nは自然数)とし、
1セルの各nビットに各ビットアレイを対応させるよう
に、該セルを単位にメモリ上に構成することにより、達
成される。 〔作 用〕 複数のビットアレイの同一番地に対する同一アクセス
は、各ビットアレイのnビットをまとめたセルを単位と
してアクセスした後、セル内の各ビットアレイ対応のビ
ットを処理することで行う。こうすることにより、メモ
リへのアクセスは簡易なアクセス回路で、かつ、1回の
アクセスで済む。 例えば、先の例で、語単位のアクセス幅をメモリを用
いた場合、上記手順を行うには、2つのビットアレイ
に対する参照、設定処理のためのメモリ読出し処理は、
番地が同一であるから、1回でよい。さらに、設定のた
めのメモリ書込みが必要であるから、手順のためには
合計2回のメモリアクセスでよい。この際用いるアクセ
ス回路は1個である。 また、ビットアレイの初期化時、セル単位で初期化す
ればよいので、複数のビットアレイを別々にではなく、
一度に初期化できる。 〔実施例〕 以下、本発明の一実施例について図面により説明す
る。 第1図は本発明を用いたデータ検索装置の構成ブロッ
ク図であり、110はハッシング回路、111はビットアレイ
設定参照回路、112はメモリである。ハッシング回路110
はレコード集合のキーの値をハッシングし、ハッシング
値を出力する回路であり、マイクロプロセッサ等で実現
できる。ビットアレイ設定参照回路111はハッシング回
路110で生成されたハッシング値を基にメモリ112をアク
セスし、ハッシング値に対応するビットの設定、ビット
の参照を行う回路である。メモリ112はハッシング回路1
10で生成されたハッシング値で番地付される複数のビッ
トアレイ(ビット列)を格納する。 第2図はビットアレイのメモリ112上への構成方法を
説明する図であって、こゝには2つのレコード集合に対
応する2個のビットアレイを、各ビットアレイの1ビッ
トずつをまとめて1セルとしてメモリ上に構成する場合
を示している。200はビットアレイ(ビット列)、201は
ビットアレイの1セル(本例では2ビット)、202はセ
ルの番号、203は一方のビットアレイに対応するビッ
ト、204は他方のビットアレイに対応するビットであ
る。あるビットアレイの特定ビットをアクセスするに
は、まず1つのセル201をアクセスし、次に該セル内の
ビット203,204のいずれかを選択する。 第3図は第2図のビットアレイ200を具体的にメモリ1
12上に構成した図を示したもので、本例では、1語2バ
イト幅でアクセスするメモリ112上に構成する場合を示
している。即ち、1語(2バイト)は各々2ビット構成
の8個のセル201からなり、そのうちの各ビット203には
一方のビットアレイが、各ビット204には他方のビット
アレイが格納される。 第4図はビットアレイ設定参照回路111の構成例を示
したものであり、1語を2バイト、各バイトを4つのセ
ル、各セルを2つのビットアレイに対応する2ビットか
ら構成する場合を示している。400はハッシング回路110
でハッシングした結果を格納するレジスタ、401はメモ
リ112への番地端子、402はメモリ112から読出した1語
の中から設定或いは参照するビットが含まれるバイトを
選択するバイト選択信号であり、本例では1語2バイト
であるので、レジスタ400から1ビット抽出したもの、4
03はバイト選択信号402で選択されたバイトの中から設
定或いは参照するビットが含まれるセルを選択するセル
選択信号であり、本例では1バイト4セルであるので、
レジスタ400から2ビット抽出したものである。404は2
つのビットアレイと2つのレコード集合間の対応を設
定、参照操作の切れ目で切替えるビットアレイ切替え信
号(1ビット)を受取るビットアレイ切替信号端子であ
る。405はバイト選択回路、406はセル選択回路、407は
ビット切替え回路、408はセル組立回路、409はバイト組
立回路である。410はメモリ112へのデータ端子、411は
参照結果出力端子、412はビット切替え回路407を構成し
ている2×2スイッチである。 以下、本実施例において、第5図に示したレコード集
合Bに対する2つのビットアレイa,bへの設定、参照の
同時操作(先の検索手順)がどのようにして行われる
か説明する。 今、2つのビットアレイa,bの全ビット、即ち、セル2
01のビット203,204の全てに“0"が書込まれた後(検索
手順)、一方のレコード集合Aの各レコードについ
て、そのキーをハッシング回路110でハッシングし、該
当ビットアレイaのビット位置(各セル201におけるビ
ット203の該当のもの)に“1"が書込まれているとする
(検索手順)。また、検索手順が終了し、次の検索
手順に移行するとき、ビットアレイ切替え信号端子40
4の切替え信号により、ビット切替え回路407内のスイッ
チ412が第4図の破線のように接続されているものとす
る。すなわち、ビットアレイ切替え信号はスイッチ412
の上側のビットが参照操作用に、下側のビットが設定操
作用に接続されている。 (a) レコード集合Bの各レコード中のキーをハッシ
ング回路110を用いてハッシングし、その結果をビット
アレイ設定参照回路111のレジスタ400に格納する。 (b) レジスタ400の下3ビットを除いた部分を番地
として、メモリ112をアクセスし、1語(2バイト)読
出す。 (c) メモリ112より読出された語は端子410から入力
され、バイト選択回路405でハッシング値に対応するセ
ルを含むバイトを選択し、セル選択回路406で対応する
セルを選択する。この時、レジスタ400の下から3ビッ
ト目がバイト選択信号402として、又、レジスタ400の下
2ビットがセル選択信号として用いられる。 (d) ビット切替え回路407では、1セルの中の上ビ
ット(ビットアレイaに対応するビット203)に対して
はビットの参照を行い、参照結果を端子411を通じて装
置外に報告する。すなわち、参照結果、該ビットが“1"
であれば、端子411には“1"が、“0"であれば、“0"が
出力される。対応するレコードの抽出は本装置外で行
う。一方、1セルの下ビット(ビットアレイbに対応す
るビット204)に対しては“1"を設定する。 (e) セル組立回路408で、(d)で設定したセルと
それ以外の3セルから1バイトを組立て、バイト組立回
路409で同様に1語を組立てる。 (f) 設定操作結果を端子410からメモリ112へ書込
む。この時の番地は(b)と同様である。 これから明らかなように、2つのビットアレイa,bに
対して設定、参照操作を行う際、2つのビットに対応す
るセルを単位にメモリにアクセスしているため、各1回
の読出し、書込み、合計2回のメモリアクセスだけで済
み、かつ、アクセス回路(第4図ではメモリへのデータ
端子410のみ示している)は1つでよい。従来の技術で
は3回のアクセス、または、2つの独立なアクセス回路
を用いて2回のアクセスが必要であるのに比べ、少ない
アクセス回路で高速な処理ができる。 また、2つのビットアレイa,bの初期設定を行うに
は、バイト組立回路409内の全てのセレクタのイネーブ
ルをオフとし(端子410から“0"が出力される状態にな
る)、レジスタ400の番地出力部分を“0"から数え上げ
ながら端子401から番地を供給し、メモリ112に語単位で
“0"を書込む。したがって、2つのビットアレイa,bを
一度に初期化でき、従来、2つ別々に初期化していたの
に比べ、制御が容易になる。 なお、本実施例では、2つのビットアレイを、各ビッ
トアレイの1ビットずつをまとめて1セルとしてメモリ
上に構成する場合について説明したが、3つ以上のビッ
トアレイ、及び、2ビット以上ずつまとめて1セルとし
て構成する場合にも容易に拡張できる。一般に、データ
検索する際のm本のビットアレイについて、1セルをm
・nビットで構成し、1セルの各nビットに各ビットア
レイを対応させるようにしてメモリ上に構成することが
できる。 〔発明の効果〕 以上説明したように、本発明によれば、複数のビット
アレイをセルを単位に1つのメモリ上にまとまって構成
することできるため、各ビットアレイを同一番地で同一
アクセスする際、1つのアクセス回路でメモリに1回ア
クセスするだけで済み、複数のビットアレイへのアクセ
ス時間の短縮が図れるとゝも、複数ビットアレイの初期
化(零化)制御も容易になる。特に、複数のビットアレ
イを一般のデータを記憶しているメモリ上に構成するな
どの理由で、語単位でアクセスする場合においては、ビ
ットアレイの設定のためにはメモリの書込みばかりでな
く、読出しも必要であり、アクセス回数が増加するの
で、1回のアクセスで済む本発明の効果は大きい。
【図面の簡単な説明】 第1図は本発明を適用したデータ検索装置の一実施例の
ブロック図、第2図は本発明によるビットアレイのメモ
リ上への構成方法を説明する図、第3図はビットアレイ
のメモリ上への具体的構成例を示す図、第4図は第1図
におけるビットアレイ設定参照回路の構成例を示す図、
第5図はハッシュ化ビットアレイ手法を説明する図であ
る。 110……ハッシング回路、 111……ビットアレイ設定参照回路、 112……ビット列を格納するメモリ、 200……ビットアレイ(ビット列)、 201……ビットアレイの1セル、 202……セルの番号、 203……一方のビットアレイに対応するビット、 204……他方のビットアレイに対応するビット。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 清水 尚彦 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内 (72)発明者 武田 英昭 東京都千代田区内幸町1丁目1番6号 日本電信電話株式会社内 (72)発明者 佐藤 哲司 東京都千代田区内幸町1丁目1番6号 日本電信電話株式会社内 (72)発明者 速水 治夫 東京都千代田区内幸町1丁目1番6号 日本電信電話株式会社内 (56)参考文献 特開 昭59−139444(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 1.複数のデータ集合からハッシングを用いて値の等し
    いデータを検索するデータ検索装置において、各データ
    集合について、ハッシング値で番地付けされる複数のビ
    ットアレイを、m・nビット(m:ビットアレイの個数
    で、自然数、n:自然数)からなるセルを単位とし、1セ
    ルの各nビットを各ビットアレイに対応させるように、
    メモリ上に構成することを特徴とするハッシュビットア
    レイ構成方法。
JP62331330A 1987-12-26 1987-12-26 ハッシュビットアレイ構成方法 Expired - Fee Related JP2680010B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62331330A JP2680010B2 (ja) 1987-12-26 1987-12-26 ハッシュビットアレイ構成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62331330A JP2680010B2 (ja) 1987-12-26 1987-12-26 ハッシュビットアレイ構成方法

Publications (2)

Publication Number Publication Date
JPH01171022A JPH01171022A (ja) 1989-07-06
JP2680010B2 true JP2680010B2 (ja) 1997-11-19

Family

ID=18242476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62331330A Expired - Fee Related JP2680010B2 (ja) 1987-12-26 1987-12-26 ハッシュビットアレイ構成方法

Country Status (1)

Country Link
JP (1) JP2680010B2 (ja)

Also Published As

Publication number Publication date
JPH01171022A (ja) 1989-07-06

Similar Documents

Publication Publication Date Title
US5694406A (en) Parallel associative processor formed from modified dram
US6526474B1 (en) Content addressable memory (CAM) with accesses to multiple CAM arrays used to generate result for various matching sizes
US7643324B2 (en) Method and apparatus for performing variable word width searches in a content addressable memory
US4845664A (en) On-chip bit reordering structure
US5758148A (en) System and method for searching a data base using a content-searchable memory
JPS61107597A (ja) ブロツク連想メモリ
US7194574B2 (en) Searching small entities in a wide CAM
WO1994014162B1 (en) Pattern search and refresh logic in dynamic memory
US6560670B1 (en) Inter-row configurability of content addressable memory
JPH0620476A (ja) 電子的コンピュータ・メモリのためのビット・ライン・スイッチ配列
US6115280A (en) Semiconductor memory capable of burst operation
US6525987B2 (en) Dynamically configured storage array utilizing a split-decoder
US7058757B1 (en) Content addressable memory (CAM) devices that support distributed CAM control and methods of operating same
US5598365A (en) High-density read-only memory
JP2000353388A (ja) 内容参照可能メモリの改良
JPH09167495A (ja) データ記憶ユニット及び該ユニットを用いたデータ記憶装置
USRE42684E1 (en) Word search in content addressable memory
US6373737B1 (en) Content addressable memory
US7260675B1 (en) CAM-based search engines that support pipelined multi-database search operations using encoded multi-database identifiers
JP2680010B2 (ja) ハッシュビットアレイ構成方法
JP4004847B2 (ja) 連想メモリ装置
JP3425811B2 (ja) 半導体メモリ
US5873126A (en) Memory array based data reorganizer
US5182802A (en) Data addressable memory architecture and method of forming a data addressable memory
US7577784B1 (en) Full-ternary content addressable memory (CAM) configurable for pseudo-ternary operation

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees