IP Library Granted Patent US 11,210,280
Granted Patent B2
US 11,210,280 · App. 16/431,295 · Granted Dec 28, 2021

Systems and methods for fast bloom filter operations

Inventors: David Zhang (San Mateo, CA); Li Zhao (San Mateo, CA)
Assignee: ALIBABA GROUP HOLDING LIMITED
G06F16/2255G06F16/2237G06F16/9014
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,210,280
App. No.
16/431,295
Granted
Dec 28, 2021
Kind
B2
Abstract

A system and method of setting and checking a Bloom filter is provided. The system generates a set of hashed values by applying a number of hash functions to an input value; determines each bit address of a bloom filter corresponding to a hashed value of the set of hashed values; maps each determined bit address from the bloom filter into a corresponding byte address of a register, such that each bit address corresponds to one byte address; writes a byte value into the register for the byte address, wherein each bit of the byte value corresponds to a bit address of the bloom filter and writes each bit of the byte value from the register into the bloom filter for each bit address of the byte address.

Claims (30)

1. A computer-implemented method comprising:

generating a set of hashed values by applying a number of hash functions to an input value;

determining each bit address of a bloom filter corresponding to a hashed value of the set of hashed values;

mapping each determined bit address from the bloom filter into a corresponding byte address of a register, such that each bit address corresponds to one byte address;

writing a byte value into the register for the byte address, wherein each bit of the byte value corresponds to a bit address of the bloom filter; and

writing each bit of the byte value from the register into the bloom filter for each bit address of the byte address.

2. The method of claim 1 , further comprising performing a bitwise AND on the bits of each byte value.

3. The method of claim 1 , wherein the bloom filter is stored in memory of a processor.

4. The method of claim 1 , wherein the generated set of hashed values are stored in a vector extension register.

5. The method of claim 4 , further comprising:

receiving a value for configuring the vector extension register, wherein the value corresponds to at least one of a number of hash values corresponding to the set of hash values stored in the vector extension register or a size of the hash values stored in the vector extension register.

6. The method of claim 1 , wherein a number of hash values in the set of hash values is greater than a number of bit addresses of the determined bit addresses.

7. A computer-implemented method comprising:

generating a set of hashed values by applying a number of hash functions to a search value;

determining each bit address of a bloom filter corresponding to a hashed value of the set of hashed values;

mapping each determined bit address from the bloom filter into a corresponding byte address of a register, such that each bit address corresponds to one byte address;

writing a byte value into the register for the byte address, wherein each bit of the byte value corresponds to a bit address of the bloom filter;

fetching a database segment associated with each byte address; and

for each database segment, checking a portion of the database segment corresponding to the bit addresses associated with the set of hashed values to determine whether the portion contains the search value.

8. The method of claim 7 , wherein the bloom filter is stored in memory of a processor.

9. The method of claim 7 , wherein the generated set of hashed values are stored in a vector extension register.

10. The method of claim 9 , further comprising:

receiving a value for configuring the vector extension register, wherein the value corresponds to at least one of a number of hash values corresponding to the set of hash values stored in the vector extension register or a size of the hash values stored in the vector extension register.

11. The method of claim 7 , further comprising querying a segment of a database for the search value if the output is 1.

12. A system comprising:

a memory configured to store a bloom filter having bit addresses and corresponding bit values;

a configurable register configured to store a set of hash values that are generated by applying a number of hash functions to an input value, wherein the set of hash values are used to determine corresponding bit addresses of the bloom filter and wherein the configurable register is configured to read the determined corresponding bit addresses from the bloom filter and store byte values, wherein each bit of the byte values corresponds to a bit address of the bloom filter,

wherein the configurable register is configured based on a received value, wherein the received value corresponds to at least one of a number of hash values corresponding to the set of hash values stored in the configurable register or of a size of the hash values stored in the configurable register.

13. The system of claim 12 , wherein the configurable register is further configured to output a data stream comprising a result of a bitwise AND performed on the bits of each byte value.

14. The system of claim 12 , wherein the configurable register is a vector extension register.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2020
From: ZHANG, DAVID; ZHAO, LI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 054041/0181 →
Continuity (1)
Related Publication 20200387491A1 · Dec 10, 2020