IP Library Granted Patent US 11,068,392
Granted Patent B2
US 11,068,392 · App. 16/586,865 · Granted Jul 20, 2021

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,068,392
App. No.
16/586,865
Granted
Jul 20, 2021
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 (44)

1. A machine-implemented method, comprising:

providing a list associated with recent data writes for at least one sub-drive of a plurality of sub-drives;

receiving incoming data; and

writing the incoming data to another sub-drive of the plurality of sub-drives when an address of the incoming data is represented in the list, wherein the another sub-drive is associated with a data temperature range hotter than the at least one sub-drive.

2. The machine-implemented method of claim 1 , further comprising:

providing lists of recent data writes for all other sub-drives of the plurality of sub-drives, wherein the all other sub-drives exclude a sub-drive of the plurality of sub-drives associated with a hottest data temperature range, and wherein the all other sub-drives include the another sub-drive.

3. The machine-implemented method of claim 1 , further comprising:

writing the incoming data to the at least one sub-drive when the address of the incoming data is not represented in the list.

4. The machine-implemented method of claim 1 , wherein the list comprises a list of superblocks containing logical addresses of data in most recent data writes.

5. The machine-implemented method of claim 4 ,

wherein the list comprises a first in first out list having a fixed length of write entries, and

wherein the machine-implemented method comprises:

when the list is filled to the fixed length, pushing an oldest write entry off of an end of the list and inserting a new write entry at a beginning of the list when a logical address of the incoming data is absent from the list.

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

7. The machine-implemented method of claim 1 , further comprising:

logically re-mapping a coldest superblock from the another sub-drive to a different sub-drive of the plurality of sub-drives, when writing the incoming data to the another sub-drive causes the another sub-drive to exceed a predetermined logical address space.

8. The machine-implemented method of claim 1 , further comprising:

only duplicating data from a superblock in a respective sub-drive to another superblock in the respective sub-drive during a garbage collection operation; and

only relocating data from a first one of the plurality of sub-drives to a second one of the plurality of sub-drives based on logical re-mapping.

9. A data storage system, comprising:

a plurality of sub-drives; and

a controller configured to cause:

providing a list associated with recent data writes for at least one sub-drive of the plurality of sub-drives;

receiving incoming data; and

writing the incoming data to another sub-drive of the plurality of sub-drives when an address of the incoming data is represented in the list, wherein the another sub-drive is associated with a data temperature range hotter than the at least one sub-drive.

10. The data storage system of claim 9 , wherein the controller is configured to provide lists of recent data writes for all other sub-drives of the plurality of sub-drives, wherein the all other sub-drives exclude a sub-drive of the plurality of sub-drives associated with a hottest data temperature range, and wherein the all other sub-drives include the another sub-drive.

11. The data storage system of claim 9 , wherein the controller is configured to write the incoming data to the at least one sub-drive when the address of the incoming data is not represented in the list.

12. The data storage system of claim 9 , wherein the controller is configured to only move valid data during a garbage collection operation within a same sub-drive of the plurality of sub-drives.

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

14. The data storage system of claim 9 , wherein the list comprises a first in first out list having a fixed length of entries.

15. The data storage system of claim 14 , wherein the controller is configured to:

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

16. The data storage system of claim 9 , wherein the controller is configured to:

only copy data from a superblock in a respective sub-drive to another superblock in the respective sub-drive during a garbage collection operation; and

only logically re-map data already written to a first one of the plurality of sub-drives to a second one of the plurality of sub-drives when a logical capacity assigned to the first one is exceeded.

17. An apparatus, comprising:

means for providing a list associated with recent data writes for at least one sub-drive of a plurality of sub-drives;

means for receiving incoming data; and

means for writing the incoming data to another sub-drive of the plurality of sub-drives when an address of the incoming data is represented in the list, wherein the another sub-drive is associated with a data temperature range hotter than the at least one sub-drive.

18. The apparatus of claim 17 , further comprising:

means for writing the incoming data to the at least one sub-drive when the address of the incoming data is not represented in the list.

19. The apparatus of claim 17 , wherein the list comprises a list of superblocks containing logical addresses of data in most recent data writes.

20. The apparatus of claim 17 , further comprising:

means for logically re-mapping a coldest superblock from the another sub-drive to the at least one sub-drive, when writing the incoming data to the another sub-drive causes the another sub-drive to exceed a predetermined logical address space.

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 051717 FRAME 0716 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0385 →
SECURITY INTEREST Recorded Feb 4, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 051717/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2019
From: GOROBETS, SERGEY ANATOLIEVICH; PARKER, LIAM MICHAEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 051113/0095 →
Continuity (3)
Continuation 15954198 · Apr 16, 2018
Provisional Application 62518513 · Jun 12, 2017
Related Publication 20200026645A1 · Jan 23, 2020