IP Library Granted Patent US 11,182,295
Granted Patent B2
US 11,182,295 · App. 16/916,474 · Granted Nov 23, 2021

Coherence protocol for distributed caches

Inventor: Oleg Zaydman (San Jose, CA)
Assignee: VMware, Inc.
G06F12/0815G06F12/12G06F2212/1032G06F2212/608
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,182,295
App. No.
16/916,474
Granted
Nov 23, 2021
Kind
B2
Abstract

The disclosure provides for a reactive cache coherence protocol that has efficiencies over proactive approaches. Rather than proactively performing remediation when a data item is invalidated, a destination endpoint checks cache coherence upon receiving an indication of a cache hit, and based at least on detecting a lack of coherence, performs a reactive remediation process. For example, the incoherence may be fixed by replacing, as a cached data item, a data block indicated by the cache hit with a replacement data block that triggered the cache hit.

Claims (55)

1. A method for maintaining cache coherence, the method comprising:

receiving, at a destination endpoint, an indication of a cache hit from a teleporter;

based at least on receiving the indication of the cache hit, checking cache coherence; and

based at least on detecting a lack of coherence, performing a reactive remediation process using a data block in a first destination storage location.

2. The method of claim 1 , wherein the reactive remediation process comprises:

replacing, as a cached data item, a data block indicated by the cache hit with a replacement data block that triggered the cache hit.

3. The method of claim 1 , wherein receiving, at the destination endpoint, the indication of the cache hit from the teleporter comprises:

receiving, from the teleporter, a data hash value and a matching block location; and

wherein checking cache coherence comprises:

generating a check hash value for a data block found at the matching block location; and

comparing the check hash value with the data hash value.

4. The method of claim 3 , wherein the data hash value comprises a 256-bit hash.

5. The method of claim 3 , wherein the check hash value comprises a 256-bit hash.

6. The method of claim 3 , further comprising:

based at least on the check hash value matching the data hash value, copying the data block found at the matching block location to a second destination storage location; and

based at least on the check hash value not matching the data hash value, copying a data block received from a source endpoint to the second destination storage location.

7. The method of claim 3 , wherein the remediation process comprises:

promoting the data hash value from a short-term cache to a long-term cache.

8. A computer system for maintaining cache coherence, the computer system comprising:

a teleporter configured to indicate a cache hit;

a first destination storage location; and

a destination endpoint coupled to the teleporter and the first destination storage location, the destination endpoint configured to:

based at least on receiving an indication of the cache hit from the teleporter, check cache coherence; and

based at least on detecting a lack of coherence, perform a reactive remediation process using a data block in the first destination storage location.

9. The computer system of claim 8 , wherein the remediation process comprises:

replacing, as a cached data item, a data block indicated by the cache hit with a replacement data block that triggered the cache hit.

10. The computer system of claim 8 , wherein receiving, at the destination endpoint, the indication of the cache hit from the teleporter comprises:

receiving, from the teleporter, a data hash value and a matching block location; and

wherein checking cache coherence comprises:

generating a check hash value for a data block found at the matching block location; and

comparing the check hash value with the data hash value.

11. The computer system of claim 10 , wherein the data hash value comprises a 256-bit hash.

12. The computer system of claim 10 , wherein the check hash value comprises a 256-bit hash.

13. The computer system of claim 10 , wherein the destination endpoint is further configured to:

based at least on the check hash value matching the data hash value, copy the data block found at the matching block location to a second destination storage location; and

based at least on the check hash value not matching the data hash value, copy a data block received from a source endpoint to the second destination storage location.

14. The computer system of claim 10 , wherein the remediation process comprises:

promoting the data hash value from a short-term cache to a long-term cache.

15. A non-transitory computer storage medium having computer-executable instructions that, upon execution by a processor, cause the processor to at least perform operations to maintain cache coherence, the operations comprising:

receiving, at a destination endpoint, an indication of a cache hit from a teleporter;

based at least on receiving the indication of the cache hit, checking cache coherence; and

based at least on detecting a lack of coherence, performing a reactive remediation process using a data block in a first destination storage location.

16. The non-transitory computer storage medium of claim 15 , wherein the remediation process comprises:

replacing, as a cached data item, a data block indicated by the cache hit with a replacement data block that triggered the cache hit.

17. The non-transitory computer storage medium of claim 15 , wherein receiving, at the destination endpoint, the indication of the cache hit from the teleporter comprises:

receiving, from the teleporter, a data hash value and a matching block location; and

wherein checking cache coherence comprises:

generating a check hash value for a data block found at the matching block location; and

comparing the check hash value with the data hash value.

18. The non-transitory computer storage medium of claim 17 , wherein the data hash value comprises a 256-bit hash, and wherein the check hash value comprises a 256-bit hash.

19. The non-transitory computer storage medium of claim 17 , wherein the computer-executable instructions further cause the processor to perform operations comprising:

based at least on the check hash value matching the data hash value, copying the data block found at the matching block location to a second destination storage location; and

based at least on the check hash value not matching the data hash value, copying a data block received from a source endpoint to the second destination storage location.

20. The non-transitory computer storage medium of claim 17 , wherein the remediation process comprises:

promoting the data hash value from a short-term cache to a long-term cache.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →