Patent US4897785A successfully refreshed from Google Patents.
← Back to Patent Explorer
US4897785A Expired / Lapsed US ⏱️ 0.0 years remaining

Search system for locating values in a table using address compare circuit

Assignee: ABB Participation AG
•
Filing: 1988-06-17
•
Granted: 1990-01-30
•
Expires: 2008-06-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The retrieval of stored data by means of a search word or search key by using, a hashing method. For this purpose, the search key is resolved into a polynomial having the form of ##EQU1## where i=control variable, k=its maximum value, w i =polynomial coefficient, p=a power of 2, m=number of search keys in an address table stored in the memory (7). The search process occurs by means of a recursive hashing function having the form of ##EQU2## using hashing function tables and address sub-tables stored in the memory. The address compared circuit, having three temporary memories for the polynomial coefficients w i , a multiplexer, the memory, an adder registers, a comparator, an edge-triggered JK-type flip-flop with an AND gate connected to its output, and a control unit makes it possible to achieve an inexpensive hardware implementation of the search method.

Inventors

  • 👤 Stefan Zuger

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 19:16
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/90; G06F16/901; G06F16/9014

Claims Analysis

Total Claims: 12
Claim 1
Independent Claim 158 words
An address compare circuit for determining whether a search key (w) is present in a memory, comprising: (a) a memory; (b) a control unit coupled with an input to said memory; (c) a multiplexer coupled with address inputs of said memory; (d) a sum register having an output coupled with a first multiplexer input; (e) at least one temporary memory for a search key (w) having an output coupled with a second multiplexer input; (f) an addend register having an input coupled with an output of said memory; (g) an adder having a first input coupled with said memory output and a second input coupled with said addend register, an output of said adder being coupled with said sum register; (h) a comparator having a first input coupled with said memory output and a second input coupled with said temporary memory output; and (i) a bistable memory unit having an input coupled with an output from said comparator.
Claim 2
Dependent Claim 158 words
An address compare circuit for determining whether a search key (w) is present in a memory, comprising: (a) a memory; (b) a control unit coupled with an input to said memory; (c) a multiplexer coupled with address inputs of said memory; (d) a sum register having an output coupled with a first multiplexer input; (e) at least one temporary memory for a search key (w) having an output coupled with a second multiplexer input; (f) an addend register having an input coupled with an output of said memory; (g) an adder having a first input coupled with said memory output and a second input coupled with said addend register, an output of said adder being coupled with said sum register; (h) a comparator having a first input coupled with said memory output and a second input coupled with said temporary memory output; and (i) a bistable memory unit having an input coupled with an output from said comparator.
Claim 3
Dependent Claim 32 words
The circuit of claim 1 wherein the bistable memory element is an edge-triggered JK-type flip-flop with clear input, the J input of which is effectively connected to the output of the comparator.
Claim 4
Dependent Claim 84 words
The circuit of claim 1 wherein an AND gate is provided which is effectively connected at its input to an output of the bistable memory element, and to an end signal output of the control unit and at the output of which AND gate a valid signal or an invalid signal can be picked up as function of the input signals, having the meaning that the search key (w) is present or not present, respectively, in an address table stored in the associative memory.
Claim 5
Dependent Claim 76 words
The circuit of claim 3 wherein (a) the at least one temporary memory, the addend register, the sum register, the bistable memory element and the multiplexer are controlled by the control element as a function of predeterminable control steps, and (b) at the output of the multiplexer, a table index signal h(w)) can be picked up which specifies at which position in the address table a data item equal to the search key (w) is stored.
Claim 6
Dependent Claim 28 words
The circuit of claim 1 wherein (a) a memory having an access time of ≦50 ns is used, and (b) the address compare circuit includes fast AS-TTL components.
Claim 7
Dependent Claim 329 words
An address compare circuit for determining whether a search key (w) is present in a memory, comprising: (a) a memory; (b) a control unit coupled with an input to said memory; (c) a multiplexer coupled with address inputs of said memory; (d) a sum register having an output coupled with a first multilexer input; (e) at least one temporary memory for a search key (w) having an output coupled with a second multiplexer input; (f) an addend register having an input coupled with an output of said memory; (g) an adder having a first input coupled with said memory output and a second input coupled with said addend register, an output of said adder being coupled with said sum register; (h) a comparator having a first input coupled with said memory output and a second input coupled with said temporary meory output; and (i) a bistable memory unit having an input coupled with an output from said comparator; said memory comprising data items or keys in an address table (T), said address table (T) including subtables (T 0 , T 1 , T 2 ), each of said sub-tables containing polynomial coefficients having a control variable i, in accordance with ##EQU4## said memory storing a hashing function table with subfunctions (h ij ) of a recursive hashing function of the form h(w)=h.sub.i (w)=h.sub.i1 (w.sub.i)+h.sub.i0 (h.sub.i-1 (w))(mod p), h.sub.1 (w)=h.sub.11 (w.sub.1)=h.sub.10 (w.sub.0); wherein a hashing function h(w) for each search key w is calculated with the use of said hashing function table in accordance with: h:=h.sub.11 (w.sub.1)=h.sub.10 (w.sub.0)(mod p), for i:=2 to k, do h:=(h i1 (w i )=h i0 (h)) (mod p); ##EQU5## wherein i is a control variable, k is the maximum value of the control variable i, w i is a polynomial coefficient, p is a free variable, and m is the number of keys in the address table; said search key being compared with a data item having the table index h(w) of said address table.
Claim 8
Dependent Claim 329 words
An address compare circuit for determining whether a search key (w) is present in a memory, comprising: (a) a memory; (b) a control unit coupled with an input to said memory; (c) a multiplexer coupled with address inputs of said memory; (d) a sum register having an output coupled with a first multilexer input; (e) at least one temporary memory for a search key (w) having an output coupled with a second multiplexer input; (f) an addend register having an input coupled with an output of said memory; (g) an adder having a first input coupled with said memory output and a second input coupled with said addend register, an output of said adder being coupled with said sum register; (h) a comparator having a first input coupled with said memory output and a second input coupled with said temporary meory output; and (i) a bistable memory unit having an input coupled with an output from said comparator; said memory comprising data items or keys in an address table (T), said address table (T) including subtables (T 0 , T 1 , T 2 ), each of said sub-tables containing polynomial coefficients having a control variable i, in accordance with ##EQU4## said memory storing a hashing function table with subfunctions (h ij ) of a recursive hashing function of the form h(w)=h.sub.i (w)=h.sub.i1 (w.sub.i)+h.sub.i0 (h.sub.i-1 (w))(mod p), h.sub.1 (w)=h.sub.11 (w.sub.1)=h.sub.10 (w.sub.0); wherein a hashing function h(w) for each search key w is calculated with the use of said hashing function table in accordance with: h:=h.sub.11 (w.sub.1)=h.sub.10 (w.sub.0)(mod p), for i:=2 to k, do h:=(h i1 (w i )=h i0 (h)) (mod p); ##EQU5## wherein i is a control variable, k is the maximum value of the control variable i, w i is a polynomial coefficient, p is a free variable, and m is the number of keys in the address table; said search key being compared with a data item having the table index h(w) of said address table.
Claim 9
Dependent Claim 15 words
The circuit of claim 6, wherein said free variable p is a power of 2.
Claim 10
Dependent Claim 87 words
The circuit of claim 7, wherein in comparing said search key with a data item having the table index h(w) of said address table, a boolean variable r is initially set to true and, i=1 to k, setting r=(r and (w i =T i (h))), so that the final value of the boolean value r is true if the search key w is stored at position h in the address table T, and the search key w does not appear at another location in said address table.
Claim 11
Dependent Claim 20 words
The circuit of claim 8, wherein said address table and said hashing function table are stored in a common memory.
Claim 12
Dependent Claim 20 words
The circuit of claim 7, wherein said address table and said hashing function table are stored in a common memory.

References Cited (Backward Citations)

US3699533A Cited
CH632365A5 Cited
US4215402A Cited
US4525780A Cited
US4611272A Cited
US4648069A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1993-01-29 1993-07-31 1994-01-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1997-01-29 1997-07-31 1998-01-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2001-01-29 2001-07-31 2002-01-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag