IP Library Granted Patent US 12,019,589
Granted Patent B2
US 12,019,589 · App. 17/657,455 · Granted Jun 25, 2024

Optimized autonomous defragmentation of storage devices

Inventors: Judah Gamliel Hahn (Ofra, IL); Alexander Bazarsky (Holon, IL); Michael Ionin (Rehovot, IL)
Assignee: Western Digital Technologies, Inc.
G06F16/1724G06F3/0619G06F3/0655G06F3/0679
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 12,019,589
App. No.
17/657,455
Granted
Jun 25, 2024
Kind
B2
Abstract

The present disclosure generally relates to determining host device read patterns and then matching autonomous defragmentation to the read pattern to reduce latency impact and avoid unnecessary write amplification (WA). Host devices tend to read data in similar sized chunks. Additionally, host devices tend to read certain data sequentially. Based upon the typical chunk size and data read, the data can be defragmented in sizes to match the typical host device read chunks, and the data defragmented can then be read sequentially within a same plane even if the defragmented data is on different dies. The data is defragmented without relying upon a host command to be presented. Background operation time is used to move updated data such that a future sequential read is supported.

Claims (43)

1. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

store sequentially read logical block address (LBA) coordinates in the memory device;

mark one or more segments of the sequentially read LBA coordinates as candidates for defragmentation;

select one or more candidates from relocation to one or more defragmentation blocks in the memory device;

write the selected one or more candidates to the one or more defragmentation blocks;

mark the one or more segments as urgent for defragmentation and process a read request; and

begin background operations (BKOPS) after processing the read request, wherein the defragmenting begins during BKOPS.

2. The data storage device of claim 1 , wherein the marked one or more segments are stored in non-volatile memory.

3. The data storage device of claim 1 , wherein the marked one or more segments are LBA overwrites.

4. The data storage device of claim 1 , wherein the writing comprises writing multiple candidates and wherein the multiple candidates are written to different memory dies of the memory device.

5. The data storage device of claim 4 , wherein the multiple candidates are written to a same plane on the different memory dies.

6. The data storage device of claim 1 , wherein the controller is configured to detect read trends of a host device.

7. The data storage device of claim 6 , wherein the one or more defragmentation blocks are selected based upon the detected read trends.

8. The data storage device of claim 1 , wherein the one or more segments are sized to reflect a size of data chunks read by a host device.

9. The data storage device of claim 1 , wherein the writing occurs to a same die and plane from which the one or more segments are marked.

10. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

monitor a host device's read length pattern;

record the host device's read length pattern;

utilize the recorded host device's read length pattern to set defragmentation granularity;

defragment data stored in the memory device;

mark one or more segments as urgent for defragmentation and process a read request; and

begin background operations (BKOPS) after processing a read request, wherein the defragmenting begins during BKOPS.

11. The data storage device of claim 10 , wherein the recording comprises maintaining a histogram of each data segment read.

12. The data storage device of claim 11 , wherein the histogram indicates a number of reads of each length.

13. The data storage device of claim 10 , wherein the controller is configured to detect a logical block address (LBA) overwrite has occurred prior to defragmenting the data.

14. The data storage device of claim 10 , wherein the host device's read length pattern indicates a number of word lines to be relocated during the defragmenting.

15. A data storage device, comprising:

memory means; and

a controller coupled to the memory means, wherein the controller is configured to:

detect a pattern of host device read requests;

log host device access rate to data;

defragment the data based upon the detected pattern;

mark one or more segments as urgent for defragmentation and process a read request; and

begin background operations (BKOPS) after processing a read request, wherein the defragmenting begins during BKOPS.

16. The data storage device of claim 15 , wherein detecting a pattern comprises determining whether the host device provides read requests within a threshold timeframe.

17. The data storage device of claim 15 , wherein a timing of the defragmentation is based upon the detected pattern.

18. The data storage device of claim 15 , wherein the controller is configured to detect a rewrite request of the host device.

19. The data storage device of claim 15 , wherein the defragmenting comprises rewriting segments of the data to other locations of the memory means, wherein the segments are sized based upon the detected host device read requests.

20. The data storage device of claim 15 , wherein the defragmenting comprises rewriting data that has been overwritten, wherein the data that has been overwritten is a part of a larger data segment, wherein only the data that has been overwritten is rewritten to a new location in the memory means, and wherein other data of the larger data segment remains in place in the memory means.

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 Mar 31, 2022
From: HAHN, JUDAH GAMLIEL; BAZARSKY, ALEXANDER; IONIN, MICHAEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059460/0521 →