IP Library Granted Patent US 11,402,999
Granted Patent B2
US 11,402,999 · App. 17/110,393 · Granted Aug 2, 2022

Adaptive wear leveling using multiple partitions

Inventors: Nathan Koch (Longmont, CO); John William Slattery (Boulder, CO); Amy Lee Wohlschlegel (Lafayette, CO); Kevin Darveau Landin (Longmont, CO); Christopher Bergman (Erie, CO)
Assignee: Burlywood, Inc.
G06F3/0616G06F3/0644G06F3/0659G06F3/0679G06F2212/7211
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,402,999
App. No.
17/110,393
Granted
Aug 2, 2022
Kind
B2
Abstract

A storage device for adaptive wear leveling within a data storage system is provided. The storage device includes a host interface configured to receive storage operations for storage and retrieval of data on storage media, a media interface configured to read and write data to the storage media, and a storage controller configured to provide wear leveling for the storage media using a plurality of partitions within the storage media.

Claims (44)

1. A storage device for adaptive wear leveling within a data storage system, comprising:

a host interface configured to receive storage operations for storage and retrieval of data on storage media;

a media interface configured to read and write data to the storage media; and

a storage controller configured to provide wear leveling for the storage media using a plurality of partitions within the storage media, the plurality of partitions comprising a host partition, a garbage collection partition, and a wear leveling partition, wherein during periods when wear leveling is not required, the storage controller is configured to:

identify a least valid block stripe having a sequence number less than a configurable threshold sequence number below a most recently assigned sequence number; and

move valid data from the least valid block stripe having a sequence number less than the configurable threshold sequence number below the most recently assigned sequence number into a high wear bias block stripe.

2. The storage device of claim 1 , wherein the storage controller comprises:

a host partition cursor module configured to control the writing of block stripes to the host partition;

a garbage collection partition cursor module configured to control the writing of block stripes to the garbage collection partition; and

a wear leveling partition cursor module configured to control the writing of block stripes to the wear leveling partition.

3. The storage device of claim 1 , wherein the storage controller is configured to choose target blocks within the host partition using a low wear bias.

4. The storage device of claim 1 , wherein the storage controller is configured to choose target blocks within the garbage collection partition using a low wear bias.

5. The storage device of claim 1 , wherein the storage controller is configured to choose new victims within the wear leveling partition by finding the block stripe with the lowest wear score, and to choose new destination blocks within the wear leveling partition using a high wear bias.

6. The storage device of claim 1 , wherein the storage controller is configured to begin wear leveling after a difference in wear score between a lowest wear score block and a highest wear score block reaches a configurable maximum wear score spread value.

7. The storage device of claim 1 , wherein the storage controller is configured to throttle wear leveling writes to a multiple of host writes.

8. The storage device of claim 1 , wherein the storage controller is configured to place blocks with wear scores larger than a threshold on a cooling list to be chosen only when no other blocks are available for wear leveling.

9. The storage device of claim 1 , wherein the storage controller is configured to exclude block stripes from wear leveling until the block stripes have reached an age threshold.

10. The storage device of claim 1 , wherein when wear leveling is not required, the storage controller is configured to:

move valid data from the least valid block stripe having a sequence number less than the configurable threshold sequence number below the most recently assigned sequence number into the high wear bias block stripe only if an amount of valid data in the identified least valid block stripe is less than a configurable valid data threshold.

11. A method for operating a storage device within a data storage system, the method comprising:

receiving storage operations for storage and retrieval of data on storage media within the storage device from a host through a host interface;

creating a plurality of partitions within the storage media;

reading and writing data to the multiple partitions within the storage media through a media interface;

providing wear leveling for the storage media using the plurality of partitions within the storage media as directed by a storage controller, the plurality of partitions comprising a host partition, a garbage collection partition, and a wear leveling partition; and

during periods when wear leveling is not required:

identifying a least valid block stripe having a sequence number less than a configurable threshold sequence number below a most recently assigned sequence number; and

moving valid data from the least valid block stripe having a sequence number less than the configurable threshold sequence number below the most recently assigned sequence number into a high wear bias block stripe.

12. The method of claim 11 , further comprising:

controlling the writing of block stripes to the host partition with a host partition cursor module;

controlling the writing of block stripes to the garbage collection partition with a garbage collection partition cursor module; and

controlling the writing of block stripes to the wear leveling partition with a wear leveling partition cursor module.

13. The method of claim 11 , further comprising:

choosing target blocks within the host partition using a low wear bias.

14. The method of claim 11 , further comprising:

choosing target blocks within the garbage collection partition using a low wear bias.

15. The method of claim 11 , further comprising:

choosing new victims within the wear leveling partition by finding the block stripe with the lowest wear score; and

choosing new destination blocks within the wear leveling partition using a high wear bias.

16. The method of claim 11 , further comprising:

beginning wear leveling after a difference in wear score between a lowest wear score block and a highest wear score block reaches a configurable maximum wear score spread value.

17. The method of claim 11 , further comprising:

throttling wear leveling writes to a multiple of host writes.

18. The method of claim 11 , wherein when wear leveling is not required, the method further comprises:

moving valid data from the least valid block stripe having a sequence number less than the configurable threshold sequence number below the most recently assigned sequence number into the high wear bias block stripe only if an amount of valid data in the identified least valid block stripe is less than a configurable valid data threshold.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2025
From: INNOVATIVE SSD IP, LLC
To: BIP BY DDN, INC.
Reel/Frame 070844/0470 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2025
From: JONES, MICHAEL
To: INNOVATIVE SSD IP, LLC
Reel/Frame 070582/0446 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 10719389 TO PATENT NUMBER 10719389 PREVIOUSLY RECORDED AT REEL: 065954 FRAME: 0911. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 27, 2023
From: BURLYWOOD, INC.
To: JONES, MICHAEL
Reel/Frame 066132/0215 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 26, 2023
From: BURLYWOOD, INC.
To: JONES, MICHAEL
Reel/Frame 065954/0911 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: KOCH, NATHAN; SLATTERY, JOHN WILLIAM; WOHLSCHLEGEL, AMY LEE; LANDIN, KEVIN DARVEAU; BERGMAN, CHRISTOPHER
To: BURLYWOOD, INC.
Reel/Frame 054526/0604 →
Continuity (2)
Provisional Application 62942931 · Dec 3, 2019
Related Publication 20210165576A1 · Jun 3, 2021