IP Library Granted Patent US 12,585,586
Granted Patent B2
US 12,585,586 · App. 18/780,924 · Granted Mar 24, 2026

Managing read look ahead caching in storage devices

Inventors: Akhilesh Yadav (Bengaluru, IN); Ramanathan Muthiah (Bangalore, IN); Shiv Kumar Gupta (Bangalore, IN)
Assignee: Sandisk Technologies, Inc.
G06F12/0802G06F12/0215G06F2212/60
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 12,585,586
App. No.
18/780,924
Granted
Mar 24, 2026
Kind
B2
Abstract

A storage device manages a read look ahead (RLA) buffer with fluctuating RLA caching. The storage device includes a memory device to store data in a format including upper, middle, and lower pages and an RLA buffer to store data retrieved from the memory device. When a controller on the storage device receives a host read request, the controller predicts data to be included in a subsequent host read request. The controller then determines a set of pages storing the predicted data, identifies latency-oriented pages in the set of pages, retrieves data from the latency-oriented pages, and stores the data in the RLA buffer. When the storage device receives the subsequent host read request including the predicted data, the controller reads a first portion of the predicted data from the RLA buffer and a second portion of the predicted data from the memory device.

Claims (32)

1 . A storage device executes fluctuating read look ahead (RLA) caching to manage a RLA buffer, the storage device comprises:

a memory device to store data in a multi-bit cell format including an upper page, a middle page, and a lower page;

an RLA buffer to store data retrieved from the memory device; and

a controller to receive a first host read request for data stored on the memory device, predict data to be accessed in a second host read request, determine a set of pages storing the predicted data, identify latency-oriented pages in the set of pages, retrieve data from the latency-oriented pages and store the data in the RLA buffer, receive the second host read request accessing the predicted data, and read a first portion of the predicted data from the RLA buffer and a second portion of the predicted data from the memory device.

2 . The storage device of claim 1 , wherein the controller determines that middle pages storing the predicted data are latency-oriented pages.

3 . The storage device of claim 1 , wherein the controller uses a host memory buffer to store data retrieved from the latency-oriented pages.

4 . The storage device of claim 1 , wherein the controller effectuates fluctuating RLA caching based on at least one of a response time, system latency, and a backend response time for a given workload.

5 . The storage device of claim 1 , wherein the controller stores a first portion of the data retrieved from the latency-oriented pages in a host memory buffer and stores a second portion of the data retrieved from the latency-oriented pages in the RLA buffer.

6 . The storage device of claim 5 , wherein when the controller receives the second host read request, reads at least one of the first portion of the data retrieved from the latency-oriented pages from the host memory buffer and reads the second portion of the data retrieved from the latency-oriented pages from the RLA buffer.

7 . The storage device of claim 5 , wherein the controller at least one of (a) abstains from caching the first portion of the data retrieved from the latency-oriented pages in the host memory buffer and (b) abstains from caching the second portion of the data retrieved from the latency-oriented pages in the RLA buffer.

8 . The storage device of claim 1 , wherein the controller includes a tuning module to determine a first number and a first type of physical pages, in a logical range, to buffer in the RLA buffer prior to receiving the second host read request and to determine a second number and a second type of physical pages, in the logical range, to retrieve from the memory device after receipt of the second host read request.

9 . The storage device of claim 8 , wherein the tuning module effectuates fluctuating RLA caching based on at least one of a host data access rate and a historical hit rate for read look ahead for a given stream.

10 . The storage device of claim 1 , wherein the controller determines read vulnerability as a latency factor and identifies pages storing data for a set of logical addresses associated with a read vulnerable factor as latency-oriented pages.

11 . The storage device of claim 10 , wherein the controller caches latency-oriented pages associated with the read vulnerable factor in a host memory buffer.

12 . A method for executing fluctuating read look ahead (RLA) caching to manage a RLA buffer in a storage device, the storage device comprises a controller to execute the method comprising:

receiving a first host read request for data stored on a memory device;

predicting data to be accessed in a second host read request;

determining a set of pages in the memory device storing the predicted data;

identifying latency-oriented pages in the set of pages;

retrieving data from the latency-oriented pages and storing the data in an RLA buffer; and

receiving the second host read request accessing the predicted data and reading a first portion of the predicted data from the RLA buffer and a second portion of the predicted data from the memory device.

13 . The method of claim 12 , further comprising at least one of:

determining that middle pages storing the predicted data are latency-oriented pages; and

determining read vulnerability as a latency factor and identifying the set of pages storing data for a set of logical addresses associated with a read vulnerable factor as latency-oriented pages.

14 . The method of claim 12 , further comprising determining a first number and a first type of physical pages, in a logical range, to buffer in the RLA buffer prior to receiving the second host read request and to determining a second number and a second type of physical pages, in the logical range, to retrieve from the memory device after receipt of the second host read request.

15 . The method of claim 12 , further comprising effectuating fluctuating RLA caching based on at least one of a host data access rate and a historical hit rate for read look ahead for a given stream among a plurality of streams.

16 . The method of claim 12 , further comprising using host memory buffer to store data retrieved from the latency-oriented pages.

17 . The method of claim 16 , further comprising storing a first portion of the data retrieved from the latency-oriented pages in a host memory buffer and storing a second portion of the data retrieved from the latency-oriented pages in the RLA buffer.

18 . The method of claim 16 , further comprising reading, when the controller receives the second host read request, at least one of the first portion of the data retrieved from the latency-oriented pages from the host memory buffer and the second portion of the data retrieved from the latency-oriented pages from the RLA buffer.

19 . The method of claim 16 , further comprising at least one of abstaining from caching the first portion of the data retrieved from the latency-oriented pages in the host memory buffer and abstaining from caching the second portion of the data retrieved from the latency- oriented pages in the RLA buffer.

20 . A storage device executes fluctuating read look ahead (RLA) caching to manage a RLA buffer, the storage device comprises:

a controller to receive a first host read request for data stored on a memory device, determine host read accesses falling within a sequential logical range, predict data to be accessed in a second host read request, identify a latency-oriented portion of the sequential logical range, read the latency-oriented portion of the sequential logical range prior to receiving the second host read request and read a non-latency-oriented portion of the sequential logical range after receiving the second host read request.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2024
From: YADAV, AKHILESH; MUTHIAH, RAMANATHAN; GUPTA, SHIV KUMAR
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 068055/0233 →
Continuity (1)
Related Publication 20260030161A1 · Jan 29, 2026
References Cited (9)
US 8966184B2 · Atkisson · 2015 [cited by examiner]
US 10990289B2 · Barrell · 2021 [cited by applicant]
US 11650924B2 · Lee · 2023 [cited by examiner]
US 11704249B2 · Sreedhar · 2023 [cited by examiner]
US 11816035B2 · Balasubramani · 2023 [cited by applicant]
US 20120317364A1 · Loh · 2012 [cited by examiner]
US 20170371559A1 · Higgins · 2017 [cited by examiner]
US 20220253379A1 · Hu · 2022 [cited by examiner]
WO 2013175625A1 · 2013 [cited by applicant]