IP Library Granted Patent US 10,048,875
Granted Patent B2
US 10,048,875 · App. 15/294,063 · Granted Aug 14, 2018

System and method for managing access requests to a memory storage subsystem

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 10,048,875
App. No.
15/294,063
Granted
Aug 14, 2018
Kind
B2
Abstract

Embodiments of this disclosure relate to improving solid-state non-volatile memory management. Embodiments improve the management of solid-state non-volatile memory by providing an execution manager responsible for controlling the timing of providing a request to a memory unit for execution. In embodiments, the execution manager traverses a list of received requests for memory access and dispatches commands for execution. In embodiments, if a request is directed to memory units which have reached a threshold for outstanding requests, the request may be skipped so that other requests can be dispatched for memory units which have not yet reached the threshold.

Claims (41)

1. A storage subsystem, comprising:

a media access request manager;

a plurality of media access requesters in electrical contact with the media access request manager; and

a non-volatile solid-state memory array, the non-volatile solid-state memory array including a plurality of memory units in electrical contact with the media access request manager;

wherein the media access request manager is configured to:

receive a plurality of media access request pointers from a plurality of request queues, wherein each request queue is associated with a different one of the plurality of media access requesters; and

determine a dynamic ratio at which to process the plurality of media access request pointers from each of the plurality of request queues, wherein each media access request pointer is associated with a specific media request object and wherein only one media access requester may have access to the specific media request object at a time; and

wherein the plurality of media access requestors obtains the plurality of media access request pointers from a free pointer pool.

2. The storage subsystem of claim 1 , wherein the plurality of media access requestors comprises: a user data manager, a garbage collector and a requestor for wear leveling operations.

3. The storage subsystem of claim 1 , wherein the media access request manager is configured to:

receive a write command request;

update a mapping table with a new physical address corresponding to a logical address of the write command request; and

update an invalid page table to indicate that a physical address formerly mapped to the logical address of the write command request is invalid.

4. The storage subsystem of claim 1 , wherein the plurality of media access request pointers are processed in a different order than they were received.

5. The storage subsystem of claim 1 , wherein the media access request manager is configured to prioritize requests from a first media access requestor over requests from a second media access requestor.

6. The storage subsystem of claim 1 , wherein the media access request manager is configured to temporarily halt receiving media access request pointers from a particular media access requestor when a condition has been reached.

7. A method of managing access requests to a non-volatile solid state memory array from a plurality of media access requestors in a storage subsystem, the method comprising:

obtaining, by plurality of media access requests, a plurality of media access request pointers from a free pointer pool;

receiving, by a media access request manager, the plurality of media access request pointers from a plurality of request queues, wherein each request queue is associated with a different one of the plurality of media access requestors;

determining, by the media access request manager, a ratio at which to process the plurality of media access request pointers from each of the plurality of request queues, wherein each media access request pointer is associated with a specific media request object and wherein only one media access requestor may have access to the specific media request object at a time; and

changing, by the media access request manager, the ratio at which to process the plurality of media access request pointers from each of the plurality of request queues.

8. The method of claim 7 , wherein the plurality of media access requestors comprises: a user data manager, a garbage collector and a requestor for wear leveling operations.

9. The method of claim 7 , comprising:

receiving, by the media access request manager, a write command request;

updating, by the media access request manager, a mapping table with a new physical address corresponding to a logical address of the write command request; and

updating, by the media access request manager, an invalid page table to indicate that a physical address formerly mapped to the logical address of the write command request is invalid.

10. The method of claim 7 , comprising:

processing, by the media access request manager, the plurality of media access request pointers in a different order than they were received by the media access request manager.

11. The method of claim 7 , comprising:

prioritizing, by the media access request manager, requests from a first media access requestor over requests from a second media access requestor.

12. The method of claim 7 , comprising:

temporarily halting, by the media access request manager, receiving media access request pointers from a particular media access requestor when a condition has been reached.

13. A storage subsystem, comprising:

a media access request manager means;

a plurality of media access requestor means in electrical contact with the media access request manager means, the plurality of media access requestor means operable to obtain a plurality of media access request pointers from a free pointer pool;

a non-volatile solid-state memory array, the non-volatile solid-state memory array including a plurality of memory units in electrical contact with the media access request manager means; and

wherein the media access request manager means is operable to:

receive the plurality of media access request pointers from a plurality of request queues, wherein each request queue is associated with a different one of the plurality of media access requestor means;

determine a ratio at which to process the plurality of media access request pointers from each of the plurality of request queues, wherein each media access request pointer is associated with a specific media request object and wherein only one of the plurality of media access requestor means may have access to the specific media request object at a time

throttle processing of the plurality of media access pointers from one of the plurality of request queues.

14. The storage subsystem of claim 13 , wherein the plurality of media access means comprises: a user data manager, a garbage collector and a requestor for wear leveling operations.

Assignments (9)
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 Aug 15, 2024
From: SANDISK TECHNOLOGIES, INC.
To: PALISADE TECHNOLOGIES, LLP
Reel/Frame 068301/0027 →
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 - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2018
From: PHAN, LAN D.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046276/0952 →