IP Library Granted Patent US 9,411,718
Granted Patent B2
US 9,411,718 · App. 13/743,858 · Granted Aug 9, 2016

Method to apply fine grain wear leveling and garbage collection

Inventors: Earl T. Cohen (Oakland, CA); Alex G. Tang (Cupertino, CA); Leonid Baryudin (San Jose, CA)
Assignee: Seagate Technology LLC
G06F12/0246G06F2212/7204G06F2212/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 9,411,718
App. No.
13/743,858
Granted
Aug 9, 2016
Kind
B2
Abstract

An apparatus includes a non-volatile memory and a controller. The controller is coupled to the non-volatile memory and configured to (i) measure a rate of free space consumption in the non-volatile memory, (ii) measure a rate of free space production in the non-volatile memory, and (iii) adjust a rate of a recycling process in response to the measured rate of free space consumption and the measured rate of free space production.

Claims (31)

1. An apparatus comprising:

an interface configured to process a plurality of read/write operations to/from a memory; and

a controller coupled to the interface and configured to measure a rate of free space consumption in the memory, measure a rate of free space production in the memory, and adjust a rate of a recycling process in response to the measured rate of free space consumption and the measured rate of free space production, wherein the controller is configured to generate garbage collection requests selecting portions of the memory for garbage collection, generate wear leveling requests selecting portions of the memory for wear leveling, perform recycling operations for garbage collection and recycling operations for wear leveling concurrently by interleaving the recycling operations being performed in response to the garbage collection requests and the recycling operations being performed in response to the wear leveling requests at page level fine grain boundaries, and control a ratio of activity between the recycling operations for garbage collection and the recycling operations for wear leveling.

2. The apparatus according to claim 1 , wherein the rates of free space consumption and free space production are measured in real time.

3. The apparatus according to claim 1 , wherein the rate of free space production takes into account both free space returned via recycling for garbage collection and free space returned via recycling for wear leveling.

4. The apparatus according to claim 3 , wherein the controller is further configured to provide a steady rate of free space production despite differences in a rate of space being returned from the portion of the memory selected for garbage collection and a rate of space being returned from the portion of the memory selected for wear leveling.

5. The apparatus according to claim 3 , wherein the controller is further configured to determine the ratio of activity between the recycling for garbage collection and the recycling for wear leveling based upon a program and erase (PE) range.

6. The apparatus according to claim 5 , wherein the controller compares the program and erase (PE) range to a predefined target PE range associated with the memory.

7. The apparatus according to claim 6 , wherein the predefined target PE range associated with the memory is based upon a configuration and life expectancy of the memory.

8. The apparatus according to claim 1 , wherein the rate of free space consumption is determined according to one or more of directly measuring the rate of free space consumption by accounting for space being written in the memory, calculating the rate of free space consumption from a measured amount of host writes, and indirectly calculating write amplification based on used space tracking statistics.

9. The apparatus according to claim 1 , wherein the controller is further configured to balance free space consumption and free space production by speeding up or slowing down one or both of the recycling of the portion of the memory selected for garbage collection and the recycling of the portion of the memory selected for wear leveling.

10. The apparatus according to claim 1 , wherein the interface and the controller are part of a solid state drive (SSD) controller.

11. A method of fine grain wear leveling and garbage collection comprising the steps of:

measuring a rate of free space consumption in a memory;

measuring a rate of free space production in the memory; and

adjusting a rate of a recycling process in response to the measured rate of free space consumption and the measured rate of free space production, wherein the recycling process comprises generating garbage collection requests selecting portions of the memory for garbage collection, generating wear leveling requests selecting portions of the memory for wear leveling, performing recycling operations for garbage collection and recycling operations for wear leveling concurrently by interleaving the recycling operations being performed in response to the garbage collection requests and the recycling operations being performed in response to the wear leveling requests at page level fine grain boundaries, and controlling a ratio of activity between the recycling operations for garbage collection and the recycling operations for wear leveling.

12. The method according to claim 11 , wherein:

the rate of free space consumption takes into account host writes and write amplification factors; and

the rate of free space production takes into account both free space returned via recycling for garbage collection and free space returned via recycling for wear leveling.

13. The method according to claim 11 , further comprising: determining the ratio of activity between the recycling for garbage collection and the recycling for wear leveling based upon a program and erase (PE) range.

14. The method according to claim 13 , further comprising:

comparing the program and erase (PE) range to a predefined target PE range associated with the memory.

15. The method according to claim 11 , wherein the rate of free space consumption is determined according to one or more of directly measuring the rate of free space consumption by accounting for space being written in the non-volatile memory, calculating the rate of free space consumption from a measured amount of host writes, and indirectly calculating write amplification based on used space tracking statistics.

16. The method according to claim 11 , wherein the rate of free space production is determined based upon a rate at which predefined units of the memory complete the recycling process.

17. The method according to claim 11 , further comprising:

balancing free space consumption and free space production by speeding up or slowing down one or both of the recycling of the portion of the memory selected for garbage collection and the recycling of the portion of the memory selected for wear leveling.

18. An apparatus comprising:

a memory configured to store data; and

a controller configured to process a plurality of input/output requests to read/write to/from the memory, measure a rate of free space consumption in the memory, measure a rate of free space production in the memory, generate garbage collection requests selecting portions of the memory for garbage collection, generate wear leveling requests selecting portions of the memory for wear leveling, and adjust a rate of a recycling process in response to the measured rate of free space consumption and the measured rate of free space production, wherein the controller is further configured to perform recycling operations for garbage collection and recycling operations for wear leveling concurrently by interleaving the recycling operations being performed in response to the garbage collection requests and the recycling operations being performed in response to the wear leveling requests at page level fine grain boundaries, and control a ratio of activity between the recycling operations for garbage collection and the recycling operations for wear leveling.

19. The apparatus according to claim 18 , wherein the controller and the memory are part of a solid state drive (SSD).

20. The apparatus according to claim 18 , wherein the controller is further configured to smoothly change the ratio of activity between the recycling operations for garbage collection and the recycling operations for wear leveling to maintain a predetermined rate of wear leveling.

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034770/0859 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS INCLUDED IN SECURITY INTEREST PREVIOUSLY RECORDED AT REEL/FRAME (032856/0031) Recorded Nov 6, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034177/0257 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2013
From: COHEN, EARL T.; TANG, ALEX G.; BARYUDIN, LEONID
To: LSI CORPORATION
Reel/Frame 029650/0677 →
Continuity (2)
Continuation In Part 13724905 · Dec 21, 2012
Related Publication 20140181370A1 · Jun 26, 2014