IP Library Granted Patent US 11,561,893
Granted Patent B2
US 11,561,893 · App. 17/346,122 · Granted Jan 24, 2023

System and method of data writes and mapping of data for multiple sub-drives

Inventors: Sergey Anatolievich Gorobets (Edinburgh, GB); Liam Michael Parker (Edinburgh, GB)
Assignee: Western Digital Technologies, Inc.
G06F12/0253G06F3/064G06F3/0613G06F3/0616G06F3/0652G06F3/0665G06F3/0688G06F12/0246G06F12/10G06F2212/1044G06F2212/2022G06F2212/7201G06F2212/7205
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,561,893
App. No.
17/346,122
Granted
Jan 24, 2023
Kind
B2
Abstract

A system and method is disclosed for managing data in a non-volatile memory. The system may include a non-volatile memory having multiple non-volatile memory sub-drives. A controller of the memory system is configured to route incoming host data to a desired sub-drive, keep data within the same sub-drive as its source during a garbage collection operation, and re-map data between sub-drives, separate from any garbage collection operation, when a sub-drive overflows its designated amount logical address space. The method may include initial data sorting of host writes into sub-drives based on any number of hot/cold sorting functions. In one implementation, the initial host write data sorting may be based on a host list of recently written blocks for each sub-drive and a second write to a logical address encompassed by the list may trigger routing the host write to a hotter sub-drive than the current sub-drive.

Claims (63)

1. A data storage system, comprising:

a plurality of sub-drives; and

one or more controllers configured to cause:

writing data into a first sub-drive of the plurality of sub-drives;

when a garbage collection operation is triggered:

selecting one sub-drive of the plurality of sub-drives, based on an amount of over-provisioning;

selecting a superblock within the selected one sub-drive, based on an amount of valid data;

copying the valid data in the selected superblock of the selected one sub-drive, to another superblock within only the same selected one sub-drive, without crossing sub-drive boundaries, wherein the another superblock is different from the selected superblock; and

adding an entry, associated with the selected superblock, to a free block list; and

performing re-mapping of a given superblock within a given sub-drive of the plurality of sub-drives to another sub-drive, wherein the another sub-drive is different from the given sub-drive.

2. The data storage system of claim 1 ,

wherein the performing re-mapping comprises:

determining that the given sub-drive has overflowed its predetermined amount of logical address space; and

based on the determining, re-mapping the given superblock within the given sub-drive to a superblock within the another sub-drive,

wherein the performing re-mapping is carried out without performing garbage collection, and

wherein the free block list indicates currently unused physical superblocks available for use.

3. The data storage system of claim 1 , wherein the selecting one sub-drive comprises selecting the one sub-drive based on a current logical capacity occupied by valid data in the one sub-drive and a current write traffic in the one sub-drive.

4. The data storage system of claim 1 ,

wherein the writing data comprises writing the data into the first sub-drive of the plurality of sub-drives when an address of the data is represented in a list associated with a second sub-drive of the plurality of sub-drives, and

wherein the first sub-drive is associated with a data temperature range hotter than the second sub-drive.

5. The data storage system of claim 4 , wherein the list is associated with recent data writes for the second sub-drive.

6. The data storage system of claim 4 , wherein the writing data comprises writing the data into the second sub-drive when the address of the data is not represented in the list.

7. The data storage system of claim 4 , wherein the list comprises most recent host data writes and most recent garbage collection writes.

8. The data storage system of claim 4 , wherein the one or more controllers are configured to cause:

removing an oldest entry off an end of the list and adding a new entry at a beginning of the list when a logical address of the data is absent from the list and when the list is filled to a fixed length of entries.

9. A machine-implemented method, comprising:

writing data into a first sub-drive of a plurality of sub-drives;

when a garbage collection operation is triggered:

selecting one sub-drive of the plurality of sub-drives, based on an amount of over-provisioning;

selecting a superblock within the selected one sub-drive, based on an amount of valid data;

copying the valid data in the selected superblock of the selected one sub-drive, to another superblock within only the same selected one sub-drive, without crossing sub-drive boundaries, wherein the another superblock is different from the selected superblock; and

adding an entry, associated with the selected superblock, to a free block list; and

performing re-mapping of a given superblock within a given sub-drive of the plurality of sub-drives to another sub-drive, wherein the another sub-drive is different from the given sub-drive.

10. The machine-implemented method of claim 9 ,

wherein the performing re-mapping comprises:

determining that the given sub-drive has overflowed its predetermined amount of logical address space; and

based on the determining, re-mapping the given superblock within the given sub-drive to a superblock within the another sub-drive, and

wherein the performing re-mapping is carried out without performing garbage collection.

11. The machine-implemented method of claim 9 , wherein the selecting one sub-drive comprises selecting the one sub-drive based on a current logical capacity occupied by valid data in the one sub-drive and a current write traffic in the one sub-drive.

12. The machine-implemented method of claim 9 ,

wherein the writing data comprises writing the data into the first sub-drive of the plurality of sub-drives when an address of the data is represented in a list associated with a second sub-drive of the plurality of sub-drives, and

wherein the first sub-drive is associated with a data temperature range hotter than the second sub-drive.

13. The machine-implemented method of claim 12 , wherein the list is associated with recent data writes for the second sub-drive.

14. The machine-implemented method of claim 12 , wherein the writing data comprises writing the data into the second sub-drive when the address of the data is not represented in the list.

15. The machine-implemented method of claim 12 , wherein the list comprises most recent host data writes and most recent garbage collection writes.

16. An apparatus, comprising:

means for writing data into a first sub-drive of a plurality of sub-drives;

when a garbage collection operation is triggered:

means for selecting one sub-drive of the plurality of sub-drives, based on an amount of over-provisioning;

means for selecting a superblock within the selected one sub-drive, based on an amount of valid data;

means for copying the valid data in the selected superblock of the selected one sub-drive, to another superblock within only the same selected one sub-drive, without crossing sub-drive boundaries, wherein the another superblock is different from the selected superblock; and

means for adding an entry, associated with the selected superblock, to a free block list; and

means for performing re-mapping of a given superblock within a given sub-drive of the plurality of sub-drives to another sub-drive, wherein the another sub-drive is different from the given sub-drive.

17. The apparatus of claim 16 ,

wherein the means for performing re-mapping comprises:

means for determining that the given sub-drive has overflowed its predetermined amount of logical address space; and

means for re-mapping, based on the determining, the given superblock within the given sub-drive to a superblock within the another sub-drive, and

wherein the means for performing re-mapping is to be carried out without performing garbage collection.

18. The apparatus of claim 16 , wherein the means for selecting one sub-drive comprises means for selecting the one sub-drive based on a current logical capacity occupied by valid data in the one sub-drive and a current write traffic in the one sub-drive.

19. The apparatus of claim 16 ,

wherein the means for writing data comprises means for writing the data into the first sub-drive of the plurality of sub-drives when an address of the data is represented in a list associated with a second sub-drive of the plurality of sub-drives, and

wherein the first sub-drive is associated with a data temperature range hotter than the second sub-drive.

20. The apparatus of claim 19 , wherein the list is associated with recent data writes for the second sub-drive.

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 057651 FRAME 0296 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058981/0958 →
SECURITY INTEREST Recorded Sep 17, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 057651/0296 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2021
From: GOROBETS, SERGEY ANATOLIEVICH; PARKER, LIAM MICHAEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 056765/0808 →
Continuity (4)
Continuation 16586865 · Sep 27, 2019
Continuation 15954198 · Apr 16, 2018
Provisional Application 62518513 · Jun 12, 2017
Related Publication 20210303463A1 · Sep 30, 2021