IP Library Granted Patent US 10,552,313
Granted Patent B2
US 10,552,313 · App. 15/889,521 · Granted Feb 4, 2020

Updating cache using two bloom filters

Inventors: Michael Bar-Joshua (Haifa, IL); Yiftach Benjamini (Haifa, IL); Bartholomew Blaner (Shelburne, VT); Michael Grubman (Kiryat Ata, IL)
Assignee: International Business Machines Corporation
G06F12/0246G06F1/3275G06F11/073G06F12/0864G06F16/22G11C11/5642G06F12/0802G06F16/134G06F2212/225
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 10,552,313
App. No.
15/889,521
Granted
Feb 4, 2020
Kind
B2
Abstract

Updating cache devices includes a processor to detect a first set of hash functions and a first bit array corresponding to elements of a cache. In some examples, the processor detects a first instruction to add a new element to the cache and modify the first bit array based on the new element. Additionally, the processor processes a first invalidation operation and generates a second bit array and a second set of hash functions, while processing additional instructions. The processor deletes the first bit array and the first set of hash functions in response to detecting that the second bit array and the second set of hash functions have each been generated. Some examples process a second invalidation operation with the second set of hash functions and the second bit array.

Claims (17)

1. A computer-implemented method comprising:

detecting a first set of hash functions and a first bit array corresponding to elements of a cache;

detecting a first instruction to add a new element to the cache;

modifying the first bit array based on the new element, wherein modifying the first bit array comprises modifying bit values corresponding to hash values generated from the first set of hash functions applied to the new element;

detecting at least one element to remove from the first bit array;

designating the first bit array as an active array for invalidation operations until athc second bit array is completely generated;

processing a first invalidation operation using the first bit array;

preventing bits from being set based on the at least one element during the generation of the second bit array;

generating a second bit array and a second set of hash functions while processing additional instructions with the first bit array;

deleting the first bit array and the first set of hash functions in response to detecting the second bit array and the second set of hash functions have been completely generated;

processing a second invalidation operation using the second set of hash functions and the second bit array; and

deleting the second bit array and the second set of hash functions responsive to processing the second invalidation operation with the second bit array;

wherein:

the first bit array and the second bit array are Bloom filters;

the designation of the active array switches from the first bit array to the second bit array;

the second set of hash functions differs from the first set of hash functions; and

the cache comprises an address translation cache and the invalidation operations correspond to invalidated memory pages in which a virtual memory address does not exist for an actual memory address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2018
From: BAR-JOSHUA, MICHAEL; BLANER, BARTHOLOMEW; BENJAMINI, YIFTACH; GRUBMAN, MICHAEL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044842/0265 →
Continuity (2)
Continuation 15653776 · Jul 19, 2017
Related Publication 20190026221A1 · Jan 24, 2019
Cited By (2)
US 12,192,324 US 12,647,252