IP Library Granted Patent US 11,422,941
Granted Patent B2
US 11,422,941 · App. 16/748,790 · Granted Aug 23, 2022

Calculating the optimal number of LBNs to prefetch per CPU

Inventor: Kevin James Wendzel (Rochester, MN)
Assignee: Western Digital Technologies, Inc.
G06F12/0862G06F2212/602G06F2212/6026G06F2212/7201
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,422,941
App. No.
16/748,790
Granted
Aug 23, 2022
Kind
B2
Abstract

The present disclosure generally relates to prefetching data from one or more CPUs prior to the data being requested by a host device. The prefetched data is prefetched from memory and stored in cache. If a host device requests data that is not already in cache, then a determination is made regarding whether the data is scheduled to be written into cache. If the data is not in cache and is not scheduled to be written into cache, then the data is retrieved from memory and delivered to the host device. If the data is scheduled to be written into cache, or is currently being written into cache, then the request to retrieve the data is delayed or scheduled to retrieve the data once the data is in cache. If the data is already in cache, the data is delivered to the host device.

Claims (21)

1. A system, comprising:

a memory system to be coupled to a host device, the memory system comprising:

a first CPU to be coupled to the host device, wherein the first CPU has a first cache;

at least one additional CPU decoupled from the host device, wherein the at least one additional CPU has a second cache;

a controller coupled to the first CPU and the at least one additional CPU, wherein the controller is distinct from the first CPU and the at least one additional CPU;

a memory device coupled to both the first CPU, the controller, and the at least one additional CPU; and

means to determine an amount of LBNs to prefetch from the second cache to the first cache and to cause the amount of LBNs to be prefetched from the second cache and written into the first cache.

2. The system of claim 1 , wherein the first CPU comprises means to receive a request from the host device.

3. The system of claim 2 , wherein the first CPU additionally comprises means to receive prefetched LBNs from the memory device.

4. The system of claim 3 , wherein the at least one additional CPU includes means to send prefetched LBNs to the first CPU.

5. The system of claim 1 , wherein the first CPU additionally comprises means to receive prefetched LBNs from the memory device.

6. The system of claim 5 , wherein the at least one additional CPU includes means to send prefetched LBNs to the first CPU.

7. The system of claim 1 , wherein the at least one additional CPU includes means to send prefetched LBNs to the first CPU.

8. A method, comprising:

prefetching and storing a first predetermined number of LBNs in a cache of a first CPU, wherein the first CPU is to be coupled to a host device, wherein the first CPU is a part of a memory system that includes at least one additional CPU having a second cache and a controller distinct from the first CPU and the at least one additional CPU, and wherein the first predetermined number of LBNs are prefetched from the second cache;

reading data from the cache;

delivering the data to the host device; and

prefetching and storing a second number of LBNs into the cache, wherein the prefetching and storing occurs prior to receiving a request from the host device to read the data.

9. The method of claim 8 , wherein the second number of LBNs is equal to the number of LBNs that contained the data read from the cache.

10. The method of claim 9 , wherein the first predetermined number of LBNs are all disposed in a memory device coupled to the first CPU.

11. The method of claim 8 , wherein the first predetermined number of LBNs are all disposed in a memory device coupled to the first CPU.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052025 FRAME 0088 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0699 →
SECURITY INTEREST Recorded Feb 26, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052025/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2020
From: WENDZEL, KEVIN JAMES
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 051864/0248 →