IP Library Granted Patent US 11,636,033
Granted Patent B2
US 11,636,033 · App. 17/235,816 · Granted Apr 25, 2023

System and method of direct write and mapping of data in a non-volatile memory having 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,636,033
App. No.
17/235,816
Granted
Apr 25, 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 (68)

1. A storage system, comprising:

storage memory having sub-drives, the sub-drives comprising a first sub-drive and a second sub-drive;

one or more controllers configured to cause:

providing an identification of one or more recently written superblocks for the first sub-drive;

receiving a first data from a host write; and

when the host write invalidates a logical block address associated with the one or more recently written superblocks for the first sub-drive:

writing the first data into the second sub-drive that is next hotter than the first sub-drive; and

refraining from writing the first data into an open block in the first sub-drive.

2. The storage system of claim 1 , wherein the one or more controllers are configured to cause:

when the host write does not invalidate the logical block address associated with the one or more recently written superblocks for the first sub-drive, writing the first data into the open block in the first sub-drive,

wherein the first sub-drive includes a block corresponding to the logical block address.

3. The storage system of claim 2 ,

wherein providing the identification of the one or more recently written superblocks for the first sub-drive comprises providing the identification for only a predetermined number of the one or more recently written superblocks for the first sub-drive, and

wherein the one or more controllers are configured to cause:

updating the identification of the one or more recently written superblocks for the first sub-drive when the first data is written into the open block of the first sub-drive; and

when a quantity of the one or more recently written superblocks exceeds the predetermined number, removing an identification of an oldest recently written superblock for the first sub-drive from the identification of the one or more recently written superblocks for the first sub-drive.

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

moving data previously stored in the first sub-drive into a different sub-drive of the storage memory by re-mapping at least a portion of the data previously stored in the first sub-drive, without rewriting the at least a portion of the data previously stored in the first sub-drive, into a different physical location of the storage memory.

5. The storage system of claim 4 , wherein moving the data previously stored in the first sub-drive comprises moving the data previously stored in the first sub-drive into the different sub-drive of the storage memory, independently of any garbage collection operation in the first sub-drive.

6. The storage system of claim 4 , wherein:

the at least a portion of the data previously stored in the first sub-drive comprises a superblock of the first sub-drive;

the different sub-drive comprises a next colder sub-drive of the sub-drives, wherein the next colder sub-drive comprises a sub-drive associated with data having a data temperature less than a data temperature of data associated with the first sub-drive; and

re-mapping the at least a portion of the data previously stored in the first sub-drive comprises selecting a coldest superblock of the first sub-drive and re-mapping the coldest superblock to the different sub-drive.

7. The storage system of claim 4 , wherein:

the at least a portion of the data previously stored in the first sub-drive comprises a superblock of the first sub-drive;

the different sub-drive comprises a next hotter sub-drive of the sub-drives, wherein the next hotter sub-drive comprises a sub-drive associated with data having a data temperature greater than a data temperature of data associated with the first sub-drive; and

re-mapping the at least a portion of the data previously stored in the first sub-drive comprises selecting a hottest superblock of the first sub-drive and re-mapping the hottest superblock to the different sub-drive.

8. The storage system of claim 1 , comprising:

an open block group, comprising superblocks assignable to any of the sub-drives for data storage,

wherein the one or more controllers are configured to cause:

initiating a garbage collection operation in one of the sub-drives in response to detecting that an amount of the superblocks in the open block group is below a predetermined minimum threshold; and

selecting a source superblock for the garbage collection operation from a sub-drive having an amount of overprovisioning that is greater than a target overprovisioning for the sub-drive.

9. The storage system of claim 1 , wherein the one or more controllers are configured to cause: when valid data is relocated during a garbage collection operation, relocating the valid data only within a same sub-drive of the storage memory.

10. The storage system of claim 1 , wherein the one or more controllers are configured to cause:

re-mapping at least a portion of data stored in the first sub-drive when an amount of valid data in the first sub-drive exceeds a predetermined amount of logical address space assigned to the first sub-drive.

11. A method for a storage system, the method comprising:

providing an identification of one or more recently written superblocks for a first sub-drive of storage memory;

receiving a first data from a host write; and

when the host write invalidates a logical block address associated with the one or more recently written superblocks for the first sub-drive:

writing the first data into a second sub-drive that is next hotter than the first sub-drive; and

refraining from writing the first data into an open block in the first sub-drive.

12. The method of claim 11 , comprising:

when the host write does not invalidate the logical block address associated with the one or more recently written superblocks for the first sub-drive, writing the first data into the open block in the first sub-drive,

wherein the first sub-drive includes a block corresponding to the logical block address.

13. The method of claim 11 , comprising:

moving data previously stored in the first sub-drive into a different sub-drive of the storage memory by re-mapping at least a portion of the data previously stored in the first sub-drive, without rewriting the at least a portion of the data previously stored in the first sub-drive, into a different physical location of the storage memory.

14. The method of claim 13 , wherein moving the data previously stored in the first sub-drive comprises moving the data previously stored in the first sub-drive into the different sub-drive of the storage memory, independently of any garbage collection operation in the first sub-drive.

15. The method of claim 11 , wherein:

the storage memory comprises an open block group, the open block group comprising superblocks assignable to any of sub-drives of the storage memory; and

the method comprises:

initiating a garbage collection operation in one of the sub-drives in response to detecting that an amount of the superblocks in the open block group is below a predetermined minimum threshold; and

selecting a source superblock for the garbage collection operation from a sub-drive of the storage memory having an amount of overprovisioning that is greater than a target overprovisioning for the sub-drive.

16. The method of claim 11 , comprising:

when valid data is relocated during a garbage collection operation, relocating the valid data only within a same sub-drive of the storage memory.

17. The method of claim 11 , comprising:

re-mapping at least a portion of data stored in the first sub-drive when an amount of valid data in the first sub-drive exceeds a predetermined amount of logical address space assigned to the first sub-drive.

18. An apparatus, comprising:

means for providing an identification of one or more recently written superblocks for a first sub-drive of storage memory;

means for receiving a first data from a host write; and

when the host write invalidates a logical block address associated with the one or more recently written superblocks for the first sub-drive:

means for writing the first data into a second sub-drive that is next hotter than the first sub-drive; and

means for refraining from writing the first data into an open block in the first sub-drive.

19. The apparatus of claim 18 , comprising:

when the host write does not invalidate the logical block address associated with the one or more recently written superblocks for the first sub-drive, means for writing the first data into the open block in the first sub-drive,

wherein the first sub-drive includes a block corresponding to the logical block address.

20. The apparatus of claim 18 , comprising:

means for moving data previously stored in the first sub-drive into a different sub-drive of the storage memory,

wherein the means for moving comprises means for re-mapping at least a portion of the data previously stored in the first sub-drive, without rewriting the at least a portion of the data previously stored in the first sub-drive, into a different physical location of the storage 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 056285 FRAME 0292 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 056285/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2021
From: GOROBETS, SERGEY ANATOLIEVICH; PARKER, LIAM MICHAEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 056149/0120 →
Continuity (4)
Continuation 16554527 · Aug 28, 2019
Continuation 15954171 · Apr 16, 2018
Provisional Application 62518513 · Jun 12, 2017
Related Publication 20210240614A1 · Aug 5, 2021
Cited By (1)
US 12,602,163