HASH INDEX
First Claim
1. A system comprising:
- a plurality of processors;
a plurality of volatile random access memories (VRAMs) coupled to one or more of the plurality of processors;
a plurality of non-volatile random access memories (NVRAMs) coupled to one or more of the plurality of processors, wherein at least one of the plurality of NVRAMs comprises instructions, that when executed by one or more processors in the plurality of processors, cause the processors to;
access a hash table distributed across the plurality of VRAMs and the plurality of NVRAMs comprising;
a plurality of data pages associated with one another by a plurality of corresponding pointers according to a tree data structure, wherein the plurality of data pages comprise;
a root data page associated with a plurality of hash values;
a plurality of intermediate data pages associated with the root data page through corresponding subsets of the plurality of pointers and associated with corresponding subsets of the plurality of hash values; and
a plurality of leaf data pages, each associated with one intermediate data page in the plurality of intermediate data pages through a corresponding pointer in the plurality of pointers, and comprising a corresponding hash value included in the subset of the plurality of hash values included in the one intermediate data page.
2 Assignments
0 Petitions
Accused Products
Abstract
Example implementations disclosed herein can be used to build, maintain, and use a hash table distributed across the plurality multiple nodes in a multi-node computing system. The hash table can include data pages associated by corresponding pointers according to a tree data structure. The data pages include leaf data pages. Each leaf data page can be associated with a corresponding hash value and include a tag bitmap. When a transaction associated with a key is executed, a hash value and a tag value are generated based on the key. The leaf data pages can be searched using the hash value. A probability that a leaf data page includes the key can be determined based on a comparison tag value with the tag bitmap.
60 Citations
15 Claims
-
1. A system comprising:
-
a plurality of processors; a plurality of volatile random access memories (VRAMs) coupled to one or more of the plurality of processors; a plurality of non-volatile random access memories (NVRAMs) coupled to one or more of the plurality of processors, wherein at least one of the plurality of NVRAMs comprises instructions, that when executed by one or more processors in the plurality of processors, cause the processors to; access a hash table distributed across the plurality of VRAMs and the plurality of NVRAMs comprising; a plurality of data pages associated with one another by a plurality of corresponding pointers according to a tree data structure, wherein the plurality of data pages comprise; a root data page associated with a plurality of hash values; a plurality of intermediate data pages associated with the root data page through corresponding subsets of the plurality of pointers and associated with corresponding subsets of the plurality of hash values; and a plurality of leaf data pages, each associated with one intermediate data page in the plurality of intermediate data pages through a corresponding pointer in the plurality of pointers, and comprising a corresponding hash value included in the subset of the plurality of hash values included in the one intermediate data page. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
generating, by a processor, a tag and a hash value based on an input key associated with a transaction; searching, by the processor, a plurality of data pages comprising corresponding hash values and tag bitmaps for a data page in the plurality of data pages based on the hash value; and comparing, by the processor, the tag to a tag bitmap in the data page to determine a probability that the data page contains a data record associated with the input key. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium comprising instructions, that when executed by a processor, cause the processor to:
-
generate a tag and a hash value based on an input key associated with a transaction; search a plurality of data pages comprising corresponding hash values and tag bitmaps for a data base in the plurality of data pages based on the hash value; and compare the tag to a tag bitmap in the data page to determine a probability that the data page contains a data record associated with the input key. - View Dependent Claims (15)
-
Specification