IP Library Granted Patent US 10,936,205
Granted Patent B2
US 10,936,205 · App. 15/725,699 · Granted Mar 2, 2021

Techniques for retention and read-disturb aware health binning

Inventors: Nikolaos Papandreou (Thalwil, CH); Roman Pletka (Uster, CH); Sasa Tomic (Kilchberg, CH)
Assignee: International Business Machines Corporation
G06F3/0619G06F11/076G06F11/0727G06F12/0246G06F12/0253G06F2212/1032G06F2212/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 10,936,205
App. No.
15/725,699
Granted
Mar 2, 2021
Kind
B2
Abstract

A technique for performing health binning in a storage system includes in response to a block having a retention time below a first threshold and a read count below a second threshold, utilizing a first error metric for health binning. The first error metric is a current error metric for the block. In response to the block having a retention time above a third threshold that is greater than or equal to the first threshold or a read count above a fourth threshold that is greater than or equal to the second threshold, utilizing a second error metric that is not the same as the current block error metric for health binning.

Claims (42)

1. A method of performing health binning in a storage system, the method comprising:

during a particular program-erase cycle (PEC) of a block of the storage system, a controller of the storage system determining a specific health grade among multiple health grades for assignment to the block, the determining including:

determining whether the block is in a first phase of the particular PEC in which a retention time of the block is below a first threshold and a read count of the block is below a second threshold;

based on determining the block is in the first phase of the particular PEC, selecting, by the controller, a first error metric for health binning the block, wherein the first error metric is a current error metric for the block measured during the first phase of the particular PEC;

based on determining the block is not in the first phase and is instead in a subsequent second phase of the particular PEC in which the retention time of the block is above a third threshold that is greater than or equal to the first threshold or in which the read count of the block is above a fourth threshold that is greater than or equal to the second threshold, selecting, by the controller, a second error metric for health binning the block, wherein the second error metric has a value different than that of the current error metric during the second phase and was predetermined prior to the second phase of the particular PEC;

the controller assigning the block the specific health grade based on the selected one of the first error metric and the second error metric; and

based on the specific health grade assigned by the controller the controller mapping a write stream with a suitable heat level upon data placement to the block.

2. The method of claim 1 , wherein the second error metric is a previous error metric for the block that was measured by the controller prior to the particular PEC.

3. The method of claim 1 , wherein the second error metric is an estimated error metric for the block.

4. The method of claim 3 , and further comprising:

based on a program/erase cycle count of the block increasing above a fifth threshold since a previous error metric was determined by the controller, the controller estimating the second error metric using a block error metric model.

5. The method of claim 1 , wherein the first error metric includes one or more of a per-page and/or per-block raw bit error count, an average raw bit error rate (RBER) of the block, a maximum RBER of a worst codeword in the block, a rate of change of the RBER, and an average per-page RBER.

6. The method of claim 1 , wherein the first error metric is measured by the controller during a most recent read scrubbing of the block.

7. The method of claim 1 , wherein the first error metric is measured by the controller during a most recent block calibration of the block.

8. A data storage system, comprising:

a non-volatile memory (NVM) array including a plurality of blocks of data storage, the plurality of blocks including a block; and

a controller coupled to the NVM array, wherein the controller is configured to perform:

during a particular program-erase cycle (PEC) of the block of the NVM array, the controller determining a specific health grade among multiple health grades for assignment to the block, the determining including:

determining whether the block is in a first phase of the particular PEC in which a retention time of the block is below a first threshold and a read count of the block is below a second threshold;

based on determining the block is in the first phase, selecting a first error metric for health binning the block, wherein the first error metric is a current error metric for the block measured during the first phase of the particular PEC;

based on determining the block is not in the first phase and is instead in a subsequent second phase of the particular PEC in which the retention time of the block is above a third threshold that is greater than or equal to the first threshold or in which the read count of the block is above a fourth threshold that is greater than or equal to the second threshold, selecting a second error metric for health binning the block, wherein the second error metric has a value different than that of the current error metric during the second phase and was predetermined prior to the second phase of the particular PEC;

assigning the block the specific health grade based on the selected one of the first error metric and the second error metric; and

based on the specific health grade assigned by the controller, mapping a write stream with a suitable heat level upon data placement to the block.

9. The data storage system of claim 8 , wherein the second error metric is a previous error metric for the block that was measured by the controller prior to the particular PEC.

10. The data storage system of claim 8 , wherein the second error metric is an estimated error metric for the block.

11. The data storage system of claim 10 , wherein the controller is configured to, wherein based on a program/erase cycle count of the block increasing above a fifth threshold since a previous error metric was determined by the controller, to estimate the second error metric using a block error metric model.

12. The data storage system of claim 8 , wherein the first error metric includes one or more of a per-page and/or per-block raw bit error count, an average raw bit error rate (RBER) of the block, a maximum RBER of a worst codeword in the block, a rate of change of the RBER, and an average per-page RBER.

13. The data storage system of claim 8 , wherein the first error metric is measured by the controller during a most recent read scrubbing of the block.

14. The data storage system of claim 8 , wherein the first error metric is measured by the controller during a most recent block calibration of the block.

15. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therein, the program instructions executable by a controller of a storage system, to cause the controller to perform:

during a particular program-erase cycle (PEC) of a block among the plurality of blocks in the storage system, determining a specific health grade among multiple health grades for assignment to the block, the determining including:

determining whether the block is in a first phase of the particular PEC in which a retention time of the block is below a first threshold and a read count of the block is below a second threshold;

based on determining the block is in the first phase, selecting a first error metric for health binning the block, wherein the first error metric is a current error metric for the block measured during the first phase of the particular PEC;

based on determining the block is not in the first phase and is instead in a subsequent second phase of the particular PEC in which the retention time of the block is above a third threshold that is greater than or equal to the first threshold or in which the read count of the block is above a fourth threshold that is greater than or equal to the second threshold, selecting a second error metric for health binning the block, wherein the second error metric has a value different than that of the current error metric during the second phase and was predetermined prior to the second phase of the particular PEC;

assigning the block the specific health grade based on the selected one of the first error metric and the second error metric; and

based on the specific health grade assigned by the controller, mapping a write stream with a suitable heat level upon data placement to the block.

16. The computer program product of claim 15 , wherein the second error metric is a previous error metric for the block that was measured by the controller prior to the particular PEC.

17. The computer program product of claim 15 , wherein the second error metric is an estimated error metric for the block.

18. The computer program product of claim 17 , wherein the program instructions cause the controller to perform:

based on a program/erase cycle count of the block increasing above a fifth threshold since a previous error metric was determined by the controller, estimating the second error metric using a block error metric model.

19. The computer program product of claim 15 , wherein the first error metric includes one or more of a per-page and/or per-block raw bit error count, an average raw bit error rate (RBER) of the block, a maximum RBER of a worst codeword in the block, a rate of change of the RBER, and an average per-page RBER.

20. The computer program product of claim 15 , wherein the first error metric is measured by the controller during a most recent read scrubbing of the block or a most recent block calibration of the block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2017
From: PAPANDREOU, NIKOLAOS; PLETKA, ROMAN; TOMIC, SASA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043798/0065 →
Continuity (1)
Related Publication 20190107959A1 · Apr 11, 2019
Cited By (3)
US 12,265,447 US 12,566,671 US 12,675,230