Patent ID: 8805850

Claim:
A method, comprising: performing a hash-join operation in a hardware accelerator responsive to receiving, at a source comprising at least one database, a request to perform the hash join operation; wherein performing the hash-join operation in the hardware accelerator comprises the steps of: processing a first table comprising one or more rows; hashing at least one join column in at least one of the one or more rows of the first table to set at least one bit in at least one bit vector; storing in a memory of the hardware accelerator each of the rows of the first table hashing to the same hash value; processing a second table comprising one or more rows; hashing at least one join column in at least one of the one or more rows of the second table to generate at least one hash value; probing the at least one bit vector using the at least one hash value; and constructing a joined row responsive to the probing step; wherein each of the rows of the first table hashing to the same hash value is stored in a separate memory bank of the memory at a first address corresponding to the hash value; and wherein when a first memory bank of the memory is full, subsequent rows of the first table hashing to the bit vector corresponding to the first address are stored in a second memory bank at a second address, the second address being the next sequential address.