IP Library Granted Patent US 11,914,519
Granted Patent B2
US 11,914,519 · App. 17/581,521 · Granted Feb 27, 2024

Affinity-based cache operation for a persistent storage device

Inventors: Stuart John Inglis (Cambridge, NZ); Cameron Ray Simmonds (Cambridge, NZ); Dmitry Lapik (Cambridge, NZ); Chia-Chi Hsu (Cambridge, NZ); Daniel James Nicholas Stokes (Cambridge, NZ); Adam Gworn Kit Fleming (Cambridge, NZ)
Assignee: Nyriad, Inc.
G06F12/0891G06F3/0604G06F3/064G06F3/0659G06F3/0673G06F12/0246G06F2212/2542
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,914,519
App. No.
17/581,521
Granted
Feb 27, 2024
Kind
B2
Abstract

Aspects described herein relate to a method comprising: receiving a request to write data to a persistent storage device, the request comprising data; determining an affinity of the data; writing the request to a cache line of a cache; associating the cache line with the affinity of the data; and reporting the data as having been written to the persistent storage device.

Claims (47)

1. A method comprising:

receiving a request to write data to a persistent storage device, the request comprising data and a logical block addressing (LBA) value;

determining an affinity of the data, wherein the affinity of the data is a least a function of the LBA value;

writing the request to a cache line of a cache;

associating the cache line with the affinity of the data; and

reporting the data as having been written to the persistent storage device.

2. The method of claim 1 , wherein the request further comprises a request time, and the affinity of the data is at least a function the request time.

3. The method of claim 1 , wherein the request further comprises a process identifier, and the affinity of the data is at least a function the process identifier.

4. The method of claim 1 , wherein the request further comprises a central processing unit (CPU) identifier, and the affinity of the data is at least a function the CPU identifier.

5. The method of claim 1 , wherein the request further comprises a central processing unit (CPU) core identifier, and the affinity of the data is at least a function of the CPU core identifier.

6. The method of claim 1 , wherein the cache comprises a plurality of buckets, each bucket comprising a predetermined number of cache lines.

7. The method of claim 6 , wherein each bucket is associated with a range of LBA values.

8. The method of claim 1 , further comprising:

determining that data is to be evicted from the cache;

generating a stream based on one or more buckets; and

writing the stream to the persistent storage device.

9. The method of claim 8 , wherein generating a stream based on one or more buckets comprises:

determining one or more buckets based on least recent use.

10. The method of claim 8 , wherein determining that data is to be evicted from the cache comprises:

determining that the cache is below a threshold clean capacity.

11. The method of claim 8 , wherein determining that data is to be evicted from the cache comprises determining that a predetermined proportion of the buckets are full above a threshold.

12. The method of claim 1 , further comprising:

after writing the data to a cache line of a cache, marking the cache line as dirty.

13. A system comprising:

one or more processors; and

a memory;

wherein the memory stores instructions that, when executed by the one or more processors, causes the system to:

receive a request to write data to a persistent storage device, the request comprising data and a logical block addressing (LBA) value;

determine an affinity of the data, wherein the affinity of the data is a least a function of the LBA value;

write the request to a cache line of a cache;

associate the cache line with the affinity of the data; and

report the data as having been written to the persistent storage device.

14. A system comprising:

a memory; and

a plurality of non-uniform memory access (NUMA) nodes, each NUMA node comprising at least one CPU core in communication with at least a portion of the memory,

wherein the memory stores instructions that, when executed by the plurality of NUMA nodes, cause each of the NUMA nodes to:

receive a request to write data to a persistent storage device, the request comprising data and a logical block addressing (LBA) value;

determine an affinity of the data, wherein the affinity of the data is a least a function of the LBA value;

write the request to a cache line of a cache;

associate the cache line with the affinity of the data; and

report the data as having been written to the persistent storage device.

15. A non-transitory computer readable medium comprising instructions which, when executed by one or more processors, cause the one or more processors to perform steps comprising:

receiving a request to write data to a persistent storage device, the request comprising data and a logical block addressing (LBA) value;

determining an affinity of the data, wherein the affinity of the data is a least a function of the LBA value;

writing the request to a cache line of a cache;

associating the cache line with the affinity of the data; and

reporting the data as having been written to the persistent storage device.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADDRESS OF ASSIGNEE PREVIOUSLY RECORDED ON REEL 66856 FRAME 603. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 25, 2024
From: NYRIAD; NYRIAD, INC.
To: DAEDALUS CLOUD LLC
Reel/Frame 067239/0096 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2024
From: NYRIAD; NYRIAD INC.
To: DAEDALUS CLOUD LLC
Reel/Frame 066856/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2022
From: INGLIS, STUART JOHN; SIMMONDS, CAMERON RAY; LAPIK, DMITRY; HSU, CHIA-CHI; STOKES, DANIEL JAMES NICHOLAS; FLEMING, ADAM GWORN KIT
To: NYRIAD LIMITED
Reel/Frame 058729/0590 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2022
From: NYRIAD
To: NYRIAD, INC.
Reel/Frame 058807/0524 →
CHANGE OF NAME Recorded Jan 21, 2022
From: NYRIAD LIMITED
To: NYRIAD
Reel/Frame 058813/0586 →
Continuity (2)
Provisional Application 63140644 · Jan 22, 2021
Related Publication 20220237125A1 · Jul 28, 2022
Cited By (2)
US 12,554,653 US 12,596,663