Storage-efficient and collision-free hash-based packet processing architecture and method
View Patent ↗An architecture and method for data storage and retrieval which also addresses a number of key problems associated with systems employing hash-based techniques. The architecture and method employs a collision-free hashing scheme called Bloomier filter while eliminates its false positives in a storage efficient way. Wildcard support is added through the use of a scheme called prefix collapsing, while introducing only a small additional storage requirement and reduced hardware complexity. Real update traces indicate that both fast and incremental updates are provided—features generally not available in prior-art collision-free hashing schemes.
1. A method of operating upon a data structure used for storing and retrieving data items wherein said data structure includes an index table, a bitmap table and a result table, said method comprising the computer implemented steps of:
storing within the index table, an encoded value for each data item, wherein said encoded value is stored at an index obtained by hashing the data item according to the following relationship
V
(
t
)
=
D
[
H
h
τ
(
t
)
(
t
)
]
=
(
⋀
i
=
k
i
=
1
i
!=
h
τ
(
t
)
D
[
H
i
(
t
)
]
)
⋀
p
(
t
)
where “^” represents the XOR operation, H i (t) is the i'th hash value of t, D[H i (t)] is the data value in the H i (t)'th location of the Index Table, h τ (t) identifies which hash function produces τ(t), and k is the total number of hash functions and where p(t) is a pointer into the bitmap table;
combining the values contained within the index table addressed by the hash results;
storing within the bitmap table, a bitmap and a pointer at the index pointed to by the index table where said bitmap represents wildcards in a prefix of the data item and the pointer indexes a region in the result table; and
storing within the result table, output data associated with each data item, said output data being stored at an address determined by the bitmap and the pointer.