IP Library Granted Patent US 10,908,844
Granted Patent B2
US 10,908,844 · App. 16/444,461 · Granted Feb 2, 2021

Storage system and method for memory backlog hinting for variable capacity

Inventor: Ramanathan Muthiah (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/061G06F3/0658G06F3/0683G06F12/0253G06F2212/7204
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,908,844
App. No.
16/444,461
Granted
Feb 2, 2021
Kind
B2
Abstract

A storage system and method for memory backlog hinting for variable capacity are provided. In one embodiment, a method for memory backlog hinting for variable capacity is provided that is performed in a storage system comprising a memory. The method comprises: sending information regarding a state of the memory to a host device; receiving an instruction from the host device to alter memory capacity in order to alter memory performance, wherein the instruction is based on the information regarding the state of the memory sent to the host device; and altering memory capacity in order to alter memory performance in response to receiving the instruction from the host device. Other embodiments are provided.

Claims (42)

1. A method for memory backlog hinting for variable capacity, the method comprising:

performing the following in a storage system comprising a memory:

sending information regarding a state of the memory to a host device;

receiving an instruction from the host device to alter memory capacity to alter memory performance, wherein the instruction is based on the information regarding the state of the memory sent to the host device;

altering memory capacity to alter memory performance in response to receiving the instruction from the host device, wherein the altered memory capacity is maintainable by the storage system for only a limited amount of time; and

performing one of the following:

receiving an instruction from the host device to cease altering memory capacity prior to an expiration of the limited amount of time, wherein the instruction to cease altering memory capacity is based on the host device's estimate of the limited amount of time; and

in response to the instruction from the host device to cease altering memory capacity not being received prior to the expiration of the limited amount of time, informing the host device that the altered memory capacity is no longer maintainable by the storage system.

2. The method of claim 1 , wherein the information regarding the state of the memory comprises one or more of the following: a number of free blocks in the memory, a number of used blocks in the memory, a number of single level cell (SLC) blocks in the memory, a number of multi-level cell (MLC) blocks in the memory, a garbage collection workload, and backlog information.

3. The method of claim 2 , further comprising sending one or more of the following secondary information to the host device: memory age, memory quality, and memory endurance, wherein the instruction from the host device is also based on the secondary information.

4. The method of claim 1 , further comprising sending updated information about an updated state of the memory to the host device.

5. The method of claim 4 , wherein the updated state indicates one or more of the following: urgent compaction, a wear level operation pending for longer than a threshold amount of time, and an urgent read scrub command.

6. The method of claim 4 , further comprising periodically sending the updated information to the host device.

7. A storage system comprising:

a memory; and

a controller configured to be in communication with the memory, wherein the controller is further configured to:

provide a hint to a host device regarding a condition of the memory;

receive a command from the host device to alter memory capacity to alter memory performance, wherein the command is in response to the hint provided to the host device;

alter memory capacity to alter memory performance in response to receiving the command from the host device, wherein the altered memory capacity is maintainable by the storage system for only a limited amount of time; and

perform one of the following:

receive an instruction from the host device to cease altering memory capacity prior to an expiration of the limited amount of time, wherein the instruction to cease altering memory capacity is based on the host device's estimate of the limited amount of time; and

in response to the instruction from the host device to cease altering memory capacity not being received prior to the expiration of the limited amount of time, inform the host device that the altered memory capacity is no longer maintainable by the storage system.

8. The storage system of claim 7 , wherein the hint regarding the condition of the memory comprises one or more of the following: a number of free blocks in the memory, a number of used blocks in the memory, a number of single level cell (SLC) blocks in the memory, a number of multi-level cell (MLC) blocks in the memory, a garbage collection workload, and backlog information.

9. The storage system of claim 8 , wherein the controller is further configured to send one or more of the following secondary hints to the host device: memory age, memory quality, and memory endurance, wherein the command from the host device is also in response to the secondary information.

10. The storage system of claim 7 , wherein the controller is further configured to send an updated hint to the host device.

11. The storage system of claim 10 , wherein the updated hint indicates one or more of the following: urgent compaction, a wear level operation pending for longer than a threshold amount of time, and an urgent read scrub command.

12. The storage system of claim 10 , wherein the controller is further configured to periodically send the updated hint to the host device.

13. The storage system of claim 7 , wherein the memory comprises a three-dimensional memory.

14. The storage system of claim 7 , wherein the storage system is configured to be integrated in the host device.

15. The storage system of claim 7 , wherein the storage system is configured to be removably connected with the host device.

16. A storage system comprising:

a memory;

means for sending information regarding a state of the memory to a host device;

means for receiving an instruction from the host device to alter memory capacity to alter memory performance, wherein the instruction is based on the information regarding the state of the memory sent to the host device;

means for altering memory capacity to alter memory performance in response to receiving the instruction from the host device, wherein the altered memory capacity is maintainable by the storage system for only a limited amount of time; and

means for performing one of the following:

receiving an instruction from the host device to cease altering memory capacity prior to an expiration of the limited amount of time, wherein the instruction to cease altering memory capacity is based on the host device's estimate of the limited amount of time; and

in response to the instruction from the host device to cease altering memory capacity not being received prior to the expiration of the limited amount of time, informing the host device that the altered memory capacity is no longer maintainable by the storage system.

17. The storage system of claim 16 , wherein the information regarding the state of the memory comprises one or more of the following: a number of free blocks in the memory, a number of used blocks in the memory, a number of single level cell (SLC) blocks in the memory, a number of multi-level cell (MLC) blocks in the memory, a garbage collection workload, and backlog information.

18. The storage system of claim 17 , further comprising means for sending one or more of the following secondary information to the host device: memory age, memory quality, and memory endurance, wherein the instruction from the host device is also based on the secondary information.

19. The storage system of claim 16 , further comprising means for sending updated information about an updated state of the memory to the host device.

20. The storage system of claim 19 , further comprising means for periodically sending the updated information to the host device.

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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
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 Jun 18, 2019
From: MUTHIAH, RAMANATHAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049506/0328 →
Cited By (1)
US 12,619,528