IP Library Granted Patent US 11,972,149
Granted Patent B2
US 11,972,149 · App. 17/874,555 · Granted Apr 30, 2024

Storage system and method for optimizing host-activated defragmentation and proactive garbage collection processes

Inventors: Einav Zilberstein (Had Hasharon, IL); Nadav Sober (Shoam, IL); Omer Katz (Beit-Itzhak, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/0604G06F3/0679G06F12/0253G06F16/1724
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 11,972,149
App. No.
17/874,555
Granted
Apr 30, 2024
Kind
B2
Abstract

A storage system is provided that performs a defragmentation operation or proactive garbage collection in its memory based on a command from a host. The command specifies which blocks in the memory should take part in the defragmentation operation by specifying a maximum amount of valid data that a block can have to qualify for defragmentation. That way, the storage system only performs defragmentation on those blocks that meet the validity criteria provided by the host. This can help improve performance of the storage system while reducing the degree of negative tradeoffs that may come with defragmentation or proactive garbage collection.

Claims (33)

1. A storage system comprising:

a memory; and

a controller coupled with the memory and configured to:

receive, from a host, a command to perform host-activated defragmentation on the memory, wherein the command specifies a maximum block valid count threshold that is selected by the host after assessing a tradeoff between increased performance and reduction of memory lifetime associated with the maximum block valid count threshold;

perform defragmentation only to those blocks in the memory whose amount of valid data is not greater than the maximum block valid count threshold; and

receive, from the host, at least one subsequent command to perform host-activated defragmentation on the memory, wherein each subsequent command specifies a different maximum block valid count threshold;

wherein the host dynamically decreases the maximum block valid count threshold in each subsequent command as the host progressively prioritizes memory lifetime over performance.

2. The storage system of claim 1 , wherein the controller is further configured to inform the host that the storage system supports the command.

3. The storage system of claim 1 , wherein the controller is further configured to provide the host with an indication of a maximum block valid count threshold supported by the storage system.

4. The storage system of claim 1 , wherein the controller is further configured to provide the host with a recommendation of the maximum block valid count threshold.

5. The storage system of claim 1 , wherein the controller is further configured to provide the host with an indication of a number of blocks of the memory that are expected to be relocated in each of a plurality of maximum block valid count thresholds.

6. The storage system of claim 1 , wherein the defragmentation is performed during an idle time of the memory.

7. The storage system of claim 1 , wherein the command further indicates a storage pool in the memory to which the defragmentation operation is to be performed.

8. The storage system of claim 1 , wherein the maximum block valid count threshold is based on a counter value, a memory fullness, and/or performance statistics.

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

10. In a storage system comprising a memory, a method comprising:

receiving, from a host, a command to perform host-activated defragmentation on the memory, wherein the command specifies a valid count criteria that is determined by host application usage after the host assesses a tradeoff between increased performance and reduction of memory lifetime associated with the valid count criteria;

performing defragmentation only on those blocks in the memory that satisfy the valid count criteria; and

receiving, from the host, at least one subsequent command to perform host-activated defragmentation on the memory, wherein each subsequent command specifies a different valid count criteria, and wherein the host dynamically decreases the valid count criteria in each subsequent command as the host progressively prioritizes memory lifetime over performance.

11. The method of claim 10 , further comprising informing the host that the storage system supports the command.

12. The method of claim 10 , further comprising providing the host with an indication of a maximum valid count criteria supported by the storage system.

13. The method of claim 10 , further comprising providing the host with a recommendation of the valid count criteria.

14. The method of claim 10 , further comprising providing the host with an indication of a number of blocks of the memory that are expected to be relocated in each of a plurality of valid count criteria.

15. The method of claim 10 , wherein the defragmentation is performed during an idle time of the memory.

16. The method of claim 10 , wherein the at least one subsequent command comprises a plurality of commands.

17. The method of claim 10 , wherein the command further indicates a storage pool in the memory to which the defragmentation operation is to be performed.

18. The method of claim 10 , wherein the valid count criteria is based on memory lifetime, memory health, a counter value, a memory fullness, and/or performance statistics.

19. A storage system comprising:

a memory;

means for receiving, from a host, a command to perform host-activated defragmentation on the memory, wherein the command specifies a selection of one of a predefined number of maximum block valid count threshold options that is selected by the host after assessing a tradeoff between increased performance and reduction of memory lifetime associated with each of the predefined number of maximum block valid count threshold options;

means for performing defragmentation only to those blocks in the memory whose amount of valid data is not greater than the selected one of the predefined number of maximum block valid count threshold options; and

means for receiving, from the host, at least one subsequent command to perform host-activated defragmentation on the memory, wherein each subsequent command specifies a different one of the predefined number of maximum block valid count threshold options, wherein the host dynamically selects a decreasing maximum block valid count threshold option in each subsequent command as the host progressively prioritizes memory lifetime over performance.

20. The storage system of claim 1 , wherein the maximum block valid count threshold is based on memory health.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2022
From: ZILBERSTEIN, EINAV; SOBER, NADAV; KATZ, OMER
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060642/0736 →