IP Library Granted Patent US 10,725,901
Granted Patent B2
US 10,725,901 · App. 15/994,551 · Granted Jul 28, 2020

Storage system and method for soft-decision-based command execution to enhance random write performance

Inventors: Ramanathan Muthiah (Bangalore, IN); Nikhil Ranjan (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F12/0246G06F3/061G06F3/0604G06F3/0659G06F3/0679G06F9/3855G06F12/0292G06F12/0802G06F13/1626G06F2212/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 10,725,901
App. No.
15/994,551
Granted
Jul 28, 2020
Kind
B2
Abstract

A storage system and method for soft-decision-based command execution to enhance random write performance are provided. In one embodiment, the storage system comprises a memory and a controller. The controller comprises a command parser and a set of components in a path between the command parser and the memory, wherein the command parser is configured to receive a plurality of commands from a host and determine an order in which to send the plurality of commands to the set of components based on feedback from the set of components. Other embodiments are provided.

Claims (41)

1. A storage system comprising:

at least one latch;

a memory; and

a controller comprising:

a command parser; and

a set of components in a path between the command parser and the memory, wherein one of the components in the set of components is configured to determine whether the at least one latch is partially filled with data to be written in the memory;

wherein the command parser is configured to:

receive a plurality of commands from a host, wherein the plurality of commands comprises at least one read command and at least one write command;

receive feedback from the set of components that indicates that the at least one latch is partially filled with data to be written in the memory; and

in response to receiving the feedback from the set of components, send a write command to the set of components instead of a read command to further fill the at least one latch with data before flushing it to the memory.

2. The storage system of claim 1 , wherein:

one of the components in the set of components is configured to perform logical-to-physical address translation based on a cached portion of a logical-to-physical address translation table; and

the feedback comprises an identification of logical addresses contained in the cached portion of the logical-to-physical address translation table.

3. The storage system of claim 2 , wherein the command parser is further configured to give priority to a command having a logical address contained in the cached portion of the logical-to-physical address translation table over a command having a logical address that is not contained in the cached portion of the logical-to-physical address translation table.

4. The storage system of claim 1 , wherein:

one of the components in the set of components is configured to track free space remaining in a block of memory; and

the feedback comprises an identification of the free space remaining in the block of memory.

5. The storage system of claim 4 , wherein the command parser is further configured to give priority to a write command that requires no more than the amount of free space remaining in the block of memory over a write command that requires more than the amount of free space remaining in the block of memory.

6. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory.

7. The storage system of claim 1 , wherein the storage system is removably connectable to the host.

8. The storage system of claim 1 , wherein the storage system is embedded in the host.

9. A method for prioritizing commands in a storage system, the method comprising:

performing the following in a command parser in a controller of a storage system, wherein the storage system comprises a memory, and wherein the controller further comprises a backend module, wherein the backend module is configured to perform logical-to-physical address translation based on a cached portion of a logical-to-physical address map stored in cache:

receiving a plurality of commands from a host;

receiving feedback from the backend module, wherein the feedback comprises information about which logical addresses are included in the cached portion of the logical-to-physical address man; and

determining, based on the feedback from the backend module, an order in which to send the plurality of commands to the backend module, such that a command having logical address present in the cached portion of the logical-to-physical address map is given priority over a command having a logical address that is not contained in the cached portion of the logical-to-physical address map to avoid decreasing performance by reading another portion of the logical-to-physical address map from a location external to the cache.

10. The method of claim 9 , wherein:

the feedback comprises information about how full a latch in the memory is; and

the command parser sends a write command instead of a read command responsive to the latch not being empty.

11. The method of claim 9 , wherein:

the feedback comprises information about free space remaining in a block of memory; and

the command parser sends a write command that will not spill over to another block of memory.

12. The method of claim 9 , wherein the memory comprises a three-dimensional memory.

13. The method of claim 9 , wherein the storage system is removably connectable to the host.

14. The method of claim 9 , wherein the storage system is embedded in the host.

15. A storage system comprising:

a memory;

back end means for processing and sending a command to the memory; and

front end means for receiving a plurality of commands from a host and determining, based on feedback from the back end means, an order in which to send the plurality of commands to the back end means, wherein the feedback comprises information about free space remaining in a block of the memory, and wherein the order is chosen to give priority to a write command that requires no more than the amount of free space remaining in the block of memory over a write command that requires more than the amount of free space remaining in the block of memory to avoid memory translation layer fragmentation.

16. The storage system of claim 15 , wherein the front end means comprises a command parser.

17. The storage system of claim 15 , wherein the memory comprises a three-dimensional memory.

Assignments (10)
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 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/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 - 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 May 31, 2018
From: MUTHIAH, RAMANATHAN; RANJAN, NIKHIL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045955/0195 →
Continuity (1)
Related Publication 20190370168A1 · Dec 5, 2019