IP Library › Granted Patent US 9,588,702
Granted Patent B2
US 9,588,702 · App. 14/585,689 · Granted Mar 7, 2017

Adapting erase cycle parameters to promote endurance of a memory

Inventors: Thomas Mittelholzer (Zurich, CH); Nikolaos Papandreou (Thalwil, CH); Thomas Parnell (Zurich, CH); Charalampos Pozidis (Thalwil, CH); Gary A. Tressler (Sand Hook, CT)
Assignee: International Business Machines Corporation
G06F3/0619G06F3/0655G06F3/0688G06F11/076G06F11/1072G11C16/14G11C16/3445G11C16/3495G06F11/108
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,588,702
App. No.
14/585,689
Granted
Mar 7, 2017
Kind
B2
Abstract

In a data storage system including a non-volatile memory array, a controller repeatedly determines at least one health metric of the non-volatile memory array during an operating lifetime of the non-volatile memory array. In response to determining the at least one health metric, the controller selectively varies an erase parameter of the non-volatile memory array over the operating lifetime of the non-volatile memory array, such that endurance of the non-volatile memory array is improved.

Claims (48)

1. A method in a data storage system including a non-volatile memory array controlled by a controller, the method comprising:

selecting and implementing a first value among a plurality of alternative values as a value of an erase parameter of the non-volatile memory, wherein the selecting includes selecting the first value such that a bit error rate for the non-volatile memory array is greater than that which would be achieved if a second value among the plurality of alternative values for the erase parameter were selected;

thereafter, during an operating lifetime of the non-volatile memory array, the controller repeatedly determining at least one health metric of the non-volatile memory array, wherein the at least one health metric includes one based on the bit error rate; and

in response to the determining of the at least one health metric, the controller selectively varying the value of the erase parameter of the non-volatile memory array over the operating lifetime of the non-volatile memory array such that the bit error rate is controlled in accordance with a bit error rate threshold greater than the bit error rate, wherein endurance of the non-volatile memory array is improved.

2. The method of claim 1 , wherein:

the non-volatile memory array includes multiple blocks of memory; and

the controller performs the selectively varying the erase parameter on a per-block basis.

3. The method of claim 1 , wherein the at least one health metric comprises a program/erase cycle count.

4. The method of claim 1 , wherein the at least one health metric comprises a bit error rate.

5. The method of claim 4 , wherein:

the non-volatile memory array includes multiple blocks of memory; and

the bit error rate comprises a worst page bit error rate for one of the blocks of memory.

6. The method of claim 4 , wherein the at least one health metric further includes a change in the bit error rate.

7. The method of claim 1 , wherein the bit error rate threshold is related to a maximum number of errors that can be corrected by an error correcting code implemented for the non-volatile memory array.

8. The method of claim 1 , wherein the selectively varying includes selectively varying at least one erase parameter from a set including an erase pulse budget, an erase verify voltage threshold for an erase verify operation, a threshold memory cell count for the erase verify operation, an erase pulse amplitude, and an erase pulse duration, wherein the erase pulse budget specifies a maximum number of erase pulses that can be used in any given erase operation to which the erase pulse budget applies.

9. The method of claim 1 , wherein:

the erase parameter is the erase verify voltage threshold; and

the first value is a higher erase verify voltage threshold and the second value is a lower erase verify voltage threshold.

10. The method of claim 1 , wherein:

the erase parameter is the erase pulse budget; and

the first value is a lower erase pulse budget and the second value is a higher erase pulse budget.

11. The method of claim 1 , wherein the selectively varying includes selectively varying the value of the erase parameter such that the bit error rate has a highest possible value less than the bit error rate threshold.

12. A data storage system, comprising:

a controller configured to be coupled to a non-volatile memory array, wherein the controller selects and implements a first value among a plurality of alternative values as a value of an erase parameter of the non-volatile memory such that a bit error rate for the non-volatile memory array is greater than that which would be achieved if a second value among the plurality of alternative values for the erase parameter were selected, and wherein the controller, thereafter during an operating lifetime of the non-volatile memory array, repeatedly determines at least one health metric of the non-volatile memory array including one based on the bit error rate, and in response to determining the at least one health metric, selectively varies the value of the erase parameter of the non-volatile memory array over the operating lifetime of the non-volatile memory array such that the bit error rate is controlled in accordance with a bit error rate threshold greater than the bit error rate and endurance of the non-volatile memory array is improved.

13. The data storage system of claim 12 , wherein:

the non-volatile memory array includes multiple blocks of memory; and

the controller selectively varies the erase parameter on a per-block basis.

14. The data storage system of claim 12 , wherein the at least one health metric comprises a program/erase cycle count.

15. The data storage system of claim 12 , wherein the at least one health metric comprises a bit error rate.

16. The data storage system of claim 15 , wherein:

the non-volatile memory array includes multiple blocks of memory; and

the bit error rate comprises a worst page bit error rate for one of the blocks of memory.

17. The data storage system of claim 15 , wherein the at least one health metric further includes a change in the bit error rate.

18. The data storage system of claim 12 , wherein the bit error rate threshold is related to a maximum number of error that can be corrected by an error correcting code implemented for the non-volatile memory array.

19. The data storage system of claim 12 , wherein the controller selectively varies at least one erase parameter from a set including an erase pulse budget, an erase verify voltage threshold for an erase verify operation, a threshold memory cell count for the erase verify operation, an erase pulse amplitude, and an erase pulse duration, wherein the erase pulse budget specifies a maximum number of erase pulses that can be used in any given erase operation to which the erase pulse budget applies.

20. The data storage system of claim 12 , and further comprising the non-volatile memory array coupled to the controller.

21. A program product, comprising:

a storage device; and

program code stored in the storage device, wherein the program code, when executed by a controller that controls a non-volatile memory array of a data storage system, causes the controller to perform:

selecting and implementing a first value among a plurality of alternative values as a value of an erase parameter of the non-volatile memory, wherein the selecting includes selecting the first value such that a bit error rate for the non-volatile memory array is greater than that which would be achieved if a second value among the plurality of alternative values for the erase parameter were selected;

thereafter, during an operating lifetime of the non-volatile memory array, the controller repeatedly determining at least one health metric of the non-volatile memory array, wherein the at least one health metric includes one based on the bit error rate; and

in response to the determining of the at least one health metric, the controller selectively varying the value of the erase parameter of the non-volatile memory array over the operating lifetime of the non-volatile memory array such that the bit error rate is controlled in accordance with a bit error rate threshold greater than the bit error rate, wherein endurance of the non-volatile memory array is improved.

22. The program product of claim 21 , wherein:

the non-volatile memory array includes multiple blocks of memory; and

the controller performs the selectively varying the erase parameter on a per-block basis.

23. The program product of claim 21 , wherein the at least one health metric comprises a program/erase cycle count.

24. The program product of claim 21 , wherein the at least one health metric comprises a bit error rate.

25. The program product of claim 21 , wherein the selectively varying includes selectively varying at least one erase parameter from a set including an erase pulse budget, an erase verify voltage threshold for an erase verify operation, a threshold memory cell count for the erase verify operation, an erase pulse amplitude, and an erase pulse duration, wherein the erase pulse budget specifies a maximum number of erase pulses that can be used in any given erase operation to which the erase pulse budget applies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2014
From: MITTELHOLZER, THOMAS; PAPANDREOU, NIKOLAOS; PARNELL, THOMAS; POZIDIS, CHARALAMPOS; TRESSLER, GARY A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 034600/0437 →
Continuity (1)
Related Publication 20160188231A1 · Jun 30, 2016