IP Library Granted Patent US 7,903,486
Granted Patent B2
US 7,903,486 · App. 11/942,631 · Granted Mar 8, 2011

System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory

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 7,903,486
App. No.
11/942,631
Granted
Mar 8, 2011
Kind
B2
Abstract

A system, method, and computer program product are provided for increasing a lifetime of a plurality of blocks of memory. In operation, at least one factor that affects a lifetime of a plurality of blocks of memory is identified. Additionally, the plurality of blocks to write is selected, based on the at least one factor.

Claims (26)

1. A method, comprising:

calculating a respective lifetime expectancy score for each of a plurality of blocks of a memory based at least in part on a respective count percentage of free space of each of the blocks;

determining an order to write and recycle the blocks, based at least in part on at least some of the respective lifetime expectancy scores; and

wherein a total amount of the blocks that are erased and written is minimized while lifetime expectancy score variation between the blocks is equalized.

2. The method of claim 1 , wherein the calculating is further based at least in part on a respective number of errors during a respective read operation involving each of the blocks.

3. The method of claim 2 , wherein the errors are detected errors.

4. The method of claim 2 , wherein the errors are corrected errors.

5. The method of claim 1 , wherein the calculating is further based at least in part on a respective duration between a respective program operation and a respective read operation involving each of the blocks.

6. The method of claim 1 , wherein the calculating is further based at least in part on a respective number of times each of the blocks is respectively erased.

7. The method of claim 1 , wherein the calculating is further based at least in part on a respective duration required to respectively erase each of the blocks.

8. The method of claim 1 , wherein the calculating is further based at least in part on a respective duration required to respectively program each of the blocks.

9. The method of claim 1 , wherein the calculating is further based at least in part on a respective number of retries required to respectively program each of the blocks.

10. The method of claim 1 , wherein the calculating is further based at least in part on a respective number of intervening reads of a page associated with each of the blocks.

11. The method of claim 1 , wherein the calculating is further based at least in part on a respective number of intervening reads in a neighboring page associated with each of the blocks.

12. The method of claim 1 , wherein a first one of the blocks with a longer estimated lifetime is written before a second one of the blocks with a shorter estimated lifetime.

13. The method of claim 12 , wherein the respective lifetime expectancy score for the second one of the blocks with the shorter estimated lifetime is above a threshold value established for lifetime expectancy scores.

14. The method of claim 13 , wherein the respective lifetime expectancy score for the first one of the blocks with the longer estimated lifetime is below the threshold value established for lifetime expectancy scores.

15. The method of claim 1 , wherein the memory includes a mechanical storage device.

16. The method of claim 1 , wherein the memory includes a volatile memory device.

17. The method of claim 1 , wherein the memory includes a nonvolatile memory device.

18. The method of claim 17 , wherein the nonvolatile memory device includes at least one of a single-bit per cell NOR flash memory, a multi-bit per cell NOR flash memory, a single-bit per cell NAND flash memory, and a multi-bit per cell NAND flash memory.

19. The method of claim 1 , further including storing a history of use of the blocks.

20. A tangible computer readable medium having a set of instructions stored therein which when executed by a processing element causes the processing element to perform functions comprising:

calculating a respective lifetime expectancy score for each of a plurality of blocks of a memory based at least in part on a respective count percentage of free space of each of the blocks;

determining an order to write and recycle the blocks, based at least in part on at least some of the respective lifetime expectancy scores; and

wherein a total amount of the blocks that are erased and written is minimized while lifetime expectancy score variation between the blocks is equalized.

Assignments (6)
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 034775/0777 →
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 Aug 10, 2012
From: SANDFORCE, INC.
To: LSI CORPORATION
Reel/Frame 028768/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2007
From: DANILAK, RADOSLAV
To: SANDFORCE, INC.
Reel/Frame 020141/0822 →