IP Library Granted Patent US 10,228,862
Granted Patent B2
US 10,228,862 · App. 15/459,339 · Granted Mar 12, 2019

Capacity-aware wear leveling in solid-state storage devices

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 10,228,862
App. No.
15/459,339
Granted
Mar 12, 2019
Kind
B2
Abstract

A data storage device includes a nonvolatile solid-state memory comprising a plurality of blocks and a controller configured to maintain age data associated with each of a plurality of memory units, wherein each memory unit comprises one or more of the plurality of blocks, determine a capacity of the nonvolatile solid-state memory, and perform a wear leveling operation on a first memory unit of the plurality of memory units based at least in part on the age data associated with the first memory unit and the capacity of the nonvolatile solid-state memory.

Claims (60)

1. A data storage device comprising:

a nonvolatile solid-state memory comprising a plurality of blocks; and

a controller configured to:

maintain age data associated with each of a plurality of memory units, wherein each memory unit comprises one or more of the plurality of blocks;

determine a capacity of the nonvolatile solid-state memory; and

perform a wear leveling operation on a first memory unit of the plurality of memory units based at least in part on:

the age data associated with the first memory unit; and

the capacity of the nonvolatile solid-state memory, wherein a resolution of the wear leveling operation is inversely proportional to the capacity of the nonvolatile solid-state memory.

2. The data storage device of claim 1 , wherein performing the wear leveling operation based on the capacity of the nonvolatile solid-state memory provides optimized wear leveling for the nonvolatile solid-state memory.

3. The data storage device of claim 1 , wherein the controller is configured to perform the wear leveling operation according to a wear leveling scheme, wherein a resolution of the wear leveling scheme is based at least in part on the capacity of the nonvolatile solid-state memory.

4. The data storage device of claim 1 , wherein the age data indicates program/erase cycle counts associated with each of the plurality of memory units.

5. The data storage device of claim 1 , wherein the age data indicates bit error counts associated with each of the plurality of memory units.

6. The data storage device of claim 1 , wherein the plurality of memory units are superblocks.

7. The data storage device of claim 1 , wherein the controller is further configured to generate age-tracking data for the plurality of memory units at least in part by:

determining a plurality of memory unit age groups, wherein each of the plurality of age groups is associated with a range of program/erase cycles; and

associating each of the plurality of memory units with one of the plurality of age groups based on a program/erase cycle count associated with the respective memory unit.

8. The data storage device of claim 7 , wherein the controller is configured to determine the plurality of age groups based on the capacity of the nonvolatile solid-state memory.

9. The data storage device of claim 7 , wherein a number of the plurality of age groups is based on the capacity of the nonvolatile solid-state memory.

10. The data storage device of claim 7 , wherein the controller is further configured to:

identify one or more of the plurality of age groups as a threshold age group; and

determine that the first memory unit has transitioned to an age group identified as a threshold age group;

wherein said performing the wear leveling operation on the first memory unit is triggered by the determination that the first memory unit has transitioned to the age group identified as a threshold age group.

11. The data storage device of claim 10 , wherein said identification of the one or more of the plurality of age groups as a threshold age group is based at least in part on the capacity of the nonvolatile solid-state memory.

12. The data storage device of claim 7 , wherein the controller is further configured to:

determine that a number of memory units associated with one of the plurality of age groups is greater than a threshold; and

perform wear leveling in the nonvolatile solid-state memory based on the determination that the number of memory units associated with the one of the plurality of age groups is greater than the threshold;

wherein the threshold is based at least in part on the capacity of the nonvolatile solid-state memory.

13. A method of performing wear leveling in a data storage device, the method comprising:

determining age data associated with each of a plurality of memory units, wherein each of the plurality of memory units comprises one or more blocks of a nonvolatile solid-state memory;

determining a capacity of the nonvolatile solid-state memory; and

performing a wear leveling operation of a first memory unit of the plurality of memory units based at least in part on:

the age data associated with the first memory unit; and

the capacity of the nonvolatile solid-state memory, wherein a resolution of the wear leveling operation is inversely proportional to the capacity of the nonvolatile solid-state memory;

wherein the method is performed at least in part by a controller of the data storage device.

14. The method of claim 13 , wherein the age data indicates program/erase cycle counts associated with each of the plurality of memory units.

15. The method of claim 14 , wherein said performing the wear leveling operation on the first memory unit comprises relocating data stored in the first memory unit to a second memory unit of the plurality of memory units, wherein the program/erase cycle count associated with the second memory unit is less than the program/erase cycle count associated with the first memory unit.

16. The method of claim 13 , wherein performing the wear leveling operation based at least in part on the capacity of the nonvolatile solid-state memory provides optimized wear leveling for the nonvolatile solid-state memory.

17. The method of claim 13 , further comprising performing the wear leveling operation according to a wear leveling scheme, wherein a resolution of the wear leveling scheme is based at least in part on the capacity of the nonvolatile solid-state memory.

18. The method of claim 13 , further comprising generating age-tracking data for the plurality of memory units at least in part by:

defining a plurality of memory unit age groups, wherein each of the plurality of age groups is associated with a range of program/erase cycles; and

associating each of the plurality of memory units with one of the plurality of age groups based on a program/erase cycle count associated with the respective memory unit.

19. The method of claim 18 , wherein at least one of a number of the plurality of age groups and the range of program/erase cycles associated with each of the plurality of age groups is based at least in part on the capacity of the nonvolatile solid-state memory.

20. The method of claim 18 , further comprising:

identifying one or more of the plurality of age groups as a threshold age group; and

determining that the first memory unit has transitioned to an age group identified as a threshold age group;

wherein said performing the wear leveling operation on the first memory unit is triggered by the determination that the first memory unit has transitioned to the age group identified as a threshold age group.

21. The method of claim 18 , further comprising:

determining that a number of memory units associated with one of the plurality of age groups is greater than a threshold; and

performing wear leveling in the nonvolatile solid-state memory based on the determination that the number of memory units associated with the one of the plurality of age groups is greater than the threshold;

wherein the threshold is based at least in part on the capacity of the nonvolatile solid-state memory.

22. A data storage device comprising:

a nonvolatile solid-state memory comprising a plurality of blocks of memory;

a volatile memory;

means for maintaining, in the volatile memory, age data associated with each of a plurality of memory units comprising one or more of the plurality of blocks of memory;

means for determining a capacity of the nonvolatile solid-state memory; and

means for performing a wear leveling operation on a first memory unit of the plurality of memory units based at least in part on:

the age data associated with the first memory unit; and

the capacity of the nonvolatile solid-state memory, wherein a resolution of the wear leveling operation is inversely proportional to the capacity of the nonvolatile solid-state memory.

23. The data storage device of claim 22 , the wear leveling operation is performed based on age-tracking data for the plurality of memory units, wherein the age-tracking data is based at least in part on the capacity of the nonvolatile solid-state memory.

24. The data storage device of claim 23 , wherein the age-tracking data indicates a designation of the first memory unit as being associated with one of a plurality of age groups, wherein a number of the plurality of age groups is based on the capacity of the nonvolatile solid-state 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 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2017
From: LIU, HAINING; PILLAI, SUBHASH BALAKRISHNA
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 041663/0899 →