IP Library › Granted Patent US 12,411,630
Granted Patent B2
US 12,411,630 · App. 18/353,495 · Granted Sep 9, 2025

System and method for managing tasks in a storage device

Inventors: Omkar Desai (Syracuse, NY); Shuyi Pei (Santa Clara, CA); Jing Yang (Glen Allen, VA); Rekha Pitchumani (Oak Hill, VA)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0652G06F3/061G06F3/064G06F3/0659G06F3/0688G06F12/0246G06F2212/7205G06F2212/7211
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,411,630
App. No.
18/353,495
Granted
Sep 9, 2025
Kind
B2
Abstract

A method for scheduling requests in a storage system includes receiving, at a scheduler, a request associated with a first storage device, receiving, at the scheduler, task information from a neural network circuit, the task information being associated with a task performed by the first storage device, and modifying a processing of the request at the first storage device based on the task information.

Claims (75)

1. A method of scheduling requests in a storage system, the method comprising:

receiving, at a scheduler, a request associated with a first storage device;

receiving, at the scheduler, task information from a neural network circuit, the task information indicating a likelihood of the first storage device performing a task; and

modifying a processing of the request at the first storage device based on the task information, such that an operation associated with the request is performed at a physical location that is external to the first storage device.

2. The method of claim 1 , wherein:

the request is an input/output (I/O) request;

the scheduler is an I/O scheduler;

the task is a background task; and

the task information comprises an indication that the first storage device has a probability of performing the background task that exceeds a threshold.

3. The method of claim 1 , wherein the task comprises a garbage collection task or a wear levelling task.

4. The method of claim 1 , wherein:

the request comprises a read request; and

the modifying the processing of the request at the first storage device comprises:

prefetching data from the first storage device based on the task information;

storing the data at a buffer associated with the scheduler; and

retrieving at least a portion of the data from the buffer based on the request and based on the task information.

5. The method of claim 4 , further comprising:

determining, by the scheduler, a status of the task based on information received via a firmware interface of the first storage device; and

moving the data from the buffer to the first storage device based on the status.

6. The method of claim 1 , wherein:

the request comprises a write request; and

the modifying the processing of the request at the first storage device comprises rerouting the processing of the request from the first storage device to a second storage device based on the task information.

7. The method of claim 1 , wherein the neural network circuit is trained to generate the task information based on:

a simulation circuit configured to trace operations from applications running on a host and to generate a trace based on the operations; and

a machine learning (ML) model trainer configured to input data associated with the trace to the neural network circuit.

8. A system for scheduling requests, the system comprising:

a processor; and

a memory storing instructions, which, based on being executed by the processor, cause the processor to perform:

receiving a request associated with a first storage device;

receiving task information from a neural network circuit, the task information indicating a likelihood of the first storage device performing a task; and

modifying a processing of the request at the first storage device based on the task information, such that an operation associated with the request is performed at a physical location that is external to the first storage device.

9. The system of claim 8 , wherein:

the request is an input/output (I/O)) request;

the task is a background task; and

the task information is generated based on a workload associated with the first storage device.

10. The system of claim 8 , wherein the task comprises a garbage collection task or a wear levelling task.

11. The system of claim 8 , wherein:

the request comprises a read request; and

the modifying the processing of the request at the first storage device comprises:

prefetching data from the first storage device based on the task information;

storing the data at a buffer; and

retrieving at least a portion of the data from the buffer based on the request and based on the task information.

12. The system of claim 11 , wherein the instructions, based on being executed by the processor, further cause the processor to perform:

determining a status of the task based on information received via a firmware interface of the first storage device; and

moving the data from the buffer to the first storage device based on the status.

13. The system of claim 8 , wherein:

the request comprises a write request; and

the modifying the processing of the request at the first storage device comprises rerouting the processing of the request from the first storage device to a second storage device based on the task information.

14. The system of claim 8 , wherein the neural network circuit is trained to generate the task information based on:

a simulation circuit configured to trace operations from applications running on a host and generate a trace based on the operations; and

a machine learning (ML) model trainer configured to input data associated with the trace to the neural network circuit.

15. A storage system comprising:

a neural network circuit; and

a scheduler configured to be communicably coupled to the neural network circuit and a first storage device, the scheduler being further configured to:

receive a request associated with the first storage device;

receive task information from the neural network circuit, the task information indicating a likelihood of the first storage device performing a task; and

modify a processing of the request at the first storage device based on the task information, such that an operation associated with the request is performed at a physical location that is external to the first storage device.

16. The storage system of claim 15 , wherein:

the request is an I/O request;

the scheduler is an I/O scheduler;

the task is a background task; and

the storage system comprises an all-flash array.

17. The storage system of claim 15 , wherein the task comprises a garbage collection task or a wear levelling task.

18. The storage system of claim 15 , wherein:

the request comprises a read request; and

the modifying the processing of the request at the first storage device comprises:

prefetching data from the first storage device based on the task information;

storing the data at a buffer associated with the scheduler; and

retrieving at least a portion of the data from the buffer based on the request and based on the task information.

19. The storage system of claim 18 , wherein the scheduler is configured to:

determine a status of the task based on information received via a firmware interface of the first storage device; and

move the data from the buffer to the first storage device based on the status.

20. The storage system of claim 15 , wherein:

the request comprises a write request; and

the modifying the processing of the request at the first storage device comprises rerouting the processing of the request from the first storage device to a second storage device based on the task information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2025
From: DESAI, OMKAR; PEI, SHUYI; YANG, JING; PITCHUMANI, REKHA
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 070133/0808 →
Continuity (2)
Provisional Application 63466923 · May 16, 2023
Related Publication 20240385767A1 · Nov 21, 2024
References Cited (19)
US 8468318B2 · Colgrove et al. · 2013 [cited by applicant]
US 9804787B2 · Pinto et al. · 2017 [cited by applicant]
US 10896126B2 · Kim et al. · 2021 [cited by applicant]
US 10963394B2 · Kachare et al. · 2021 [cited by applicant]
US 11010314B2 · Therene et al. · 2021 [cited by applicant]
US 11030038B2 · Darwin · 2021 [cited by examiner]
US 11544187B2 · Sinha et al. · 2023 [cited by applicant]
US 20180024932A1 · Nachimuthu et al. · 2018 [cited by applicant]
US 20210072901A1 · Kale · 2021 [cited by examiner]
US 20210173588A1 · Kannan et al. · 2021 [cited by applicant]
US 20210248069A1 · Jang et al. · 2021 [cited by applicant]
US 20210255955A1 · Trika · 2021 [cited by examiner]
US 20220050593A1 · Kim · 2022 [cited by examiner]
US 20220374169A1 · Zuolo et al. · 2022 [cited by applicant]
US 20220413708A1 · Canepa · 2022 [cited by applicant]
US 20230051103A1 · Roberts et al. · 2023 [cited by applicant]
US 20230110401A1 · Zheng et al. · 2023 [cited by applicant]
US 20230297519A1 · Kim · 2023 [cited by examiner]
EPO Extended European Search Report dated Oct. 8, 2024, issued in corresponding European Patent Application No. 24173804.6 (14 pages). [cited by applicant]