IP Library Granted Patent US 12711063
Granted Patent B2
US 12711063 · App. 18/941,785 · Granted Aug 18, 2026

Memory device optimization for parallel data requests

Inventors: Nian Niles Yang (Mountain View, CA); Pitamber Shukla (San Jose, CA); Achyut Chandulal Gedia (Los Gatos, CA)
Assignee: Microchip Technology Incorporated
G06F12/0646G06F9/546G06F2209/548
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 12711063
App. No.
18/941,785
Granted
Aug 18, 2026
Kind
B2
Abstract

A data storage system may include a memory device and a controller. The controller may include at least one processor and a memory. The memory may include instructions stored thereon, that when executed by at least one processor, cause the at least one processor to: assign memory spaces of the memory device respectively to corresponding ones of a plurality of data requestors, said memory spaces having corresponding physical addresses; receive data access requests from the plurality of data requestors; generate a queue of the data access requests for accessing the memory device; and responsive to the data access requests, enable the plurality of data requestors to directly access corresponding ones of the respective memory spaces.

Claims (61)

1 . A data storage system comprising:

a memory device; and

a controller including at least one processor and a memory, said memory including instructions stored thereon, that when executed by the at least one processor, cause the at least one processor to:

assign memory spaces of the memory device respectively to corresponding ones of a plurality of data requestors, said memory spaces having corresponding physical addresses;

receive data access requests from the plurality of data requestors;

generate a queue of the data access requests for accessing the memory device; and

responsive to the data access requests, enable the plurality of data requestors to directly access corresponding ones of the respective memory spaces.

2 . The data storage system of claim 1 ,

wherein the respective memory spaces include virtual wordlines and virtual blocks.

3 . The data storage system of claim 1 ,

wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

collect telemetry data of the memory device; and

modify memory space assignments for a subset of the respective memory spaces based on the collected telemetry data.

4 . The data storage system of claim 3 ,

wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

send updated physical addresses of the subset of the memory spaces to those of the plurality of data requestors having modified memory space assignments.

5 . The data storage system of claim 3 ,

wherein the telemetry data includes a status and usage data for the memory spaces.

6 . The data storage system of claim 5 ,

wherein the modification of the memory space assignments includes changing memory space assignments for at least some of the plurality of data requestors based on the telemetry data.

7 . The data storage system of claim 1 ,

wherein the queue defines respective time slices for enabling the plurality of data requestors to directly access the corresponding ones of the respective memory spaces.

8 . The data storage system of claim 1 ,

wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

perform wear leveling and garbage collection (GC) operations on respective ones of the memory spaces; and

modify memory space assignments for a subset of the respective ones of the memory spaces based on the wear leveling and GC operations.

9 . A computer-implemented method, comprising:

assigning memory spaces of a memory device respectively to corresponding ones of a plurality of data requestors, said respective memory spaces having corresponding physical addresses;

receiving data access requests from a subset of the plurality of data requestors, said data access requests including respective physical addresses of the corresponding physical addresses;

generating a queue of the data access requests for accessing the memory device; and

responsive to the data access requests, enabling the subset of the plurality of data requestors to directly access the memory device.

10 . The computer-implemented method of claim 9 , comprising:

collecting telemetry data of the memory device; and

modifying memory space assignments for a subset of the respective memory spaces based on the collected telemetry data, wherein the respective memory spaces include virtual wordlines and virtual blocks.

11 . The computer-implemented method of claim 10 , comprising:

sending updated physical addresses of the subset of the memory spaces to those of the plurality of data requestors having modified memory space assignments.

12 . The computer-implemented method of claim 10 ,

wherein the telemetry data includes a status and usage data for the memory spaces,

wherein modifying the memory space assignments includes changing memory space assignments for at least some of the plurality of data requestors based on the telemetry data.

13 . The computer-implemented method of claim 9 ,

wherein the queue defines respective time slices for enabling the plurality of data requestors to directly access the corresponding ones of the respective memory spaces, wherein the respective memory spaces include virtual wordlines and virtual blocks.

14 . Non-transitory computer readable media having instructions stored thereon, that when executed by at least one processor, cause the at least one processor to:

assign memory spaces of the memory device respectively to corresponding ones of a plurality of data requestors, said memory spaces having corresponding physical addresses;

receive data access requests from the plurality of data requestors;

generate a queue of the data access requests for accessing the memory device; and

responsive to the data access requests, enable the plurality of data requestors to directly access corresponding ones of the respective memory spaces.

15 . The non-transitory computer readable media of claim 14 ,

wherein the respective memory spaces include virtual wordlines and virtual blocks.

16 . The non-transitory computer readable media of claim 14 ,

wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

collect telemetry data of the memory device; and

modify memory space assignments for a subset of the respective memory spaces based on the collected telemetry data.

17 . The non-transitory computer readable media of claim 16 ,

wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

send updated physical addresses of the subset of the memory spaces to those of the plurality of data requestors having modified memory space assignments.

18 . The non-transitory computer readable media of claim 14 ,

wherein the telemetry data includes a status and usage data for the memory spaces.

19 . The non-transitory computer readable media of claim 18 ,

wherein the modification of the memory space assignments includes changing memory space assignments for at least some of the plurality of data requestors based on the telemetry data.

20 . The non-transitory computer readable media of claim 14 ,

wherein the queue defines respective time slices for enabling the plurality of data requestors to directly access the corresponding ones of the respective memory spaces.