IP Library Granted Patent US 9,311,183
Granted Patent B2
US 9,311,183 · App. 14/596,174 · Granted Apr 12, 2016

Adaptive target charge to equalize bit errors across page types

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,311,183
App. No.
14/596,174
Filed
Jan 13, 2015
Granted
Apr 12, 2016
Kind
B2
Examiner
RADKE, JAY W
Art Unit
2827
USPC
365/184
Abstract

Systems, methods and/or devices are used to adapt a target charge to equalize bit errors across page types for a storage medium, such as flash memory, in a storage system. In one aspect, the method includes performing a sequence of operations, including: (1) determining a first target charge, a second target charge, and a third target charge, the first, second, and third target charges used for controlling first, second, and third charge distributions, respectively, in cells of the storage medium when data is written to the cells, wherein the second charge distribution is between the first charge distribution and the third charge distribution, (2) determining a first error indicator for lower/fast pages of the storage medium, (3) determining a second error indicator for upper/slow pages of the storage medium, and (4) adjusting the second target charge in accordance with the first error indicator and the second error indicator.

Claims (78)

1. A method of setting target charges for a storage medium in a storage system, the method comprising:

performing a sequence of operations, including:

determining a first target charge, a second target charge, and a third target charge, the first, second, and third target charges used for controlling first, second, and third charge distributions, respectively, in cells of the storage medium when data is written to the cells, wherein the second charge distribution is between the first charge distribution and the third charge distribution;

determining a first error indicator for lower/fast pages of the storage medium;

determining a second error indicator for upper/slow pages of the storage medium; and

adjusting the second target charge in accordance with the first error indicator and the second error indicator.

2. The method of claim 1 , wherein adjusting the second target charge in accordance with the first error indicator and the second error indicator includes:

in accordance with a determination that the first error indicator is greater than the second error indicator, increasing the second target charge; and

in accordance with a determination that the first error indicator is less than the second error indicator, decreasing the second target charge.

3. The method of claim 1 , wherein adjusting the second target charge in accordance with the first error indicator and the second error indicator includes:

accumulating a bias value for the second target charge, wherein the bias value increases in accordance with a determination that the first error indicator is greater than the second error indicator and the bias value decreases in accordance with a determination that the first error indicator is less than the second error indicator;

in accordance with a determination that the bias value is greater than or equal to a positive threshold:

increasing the second target charge; and

resetting the bias value; and

in accordance with a determination that the bias value is less than a negative threshold:

decreasing the second target charge; and

resetting the bias value.

4. The method of claim 3 , wherein the bias value is accumulated on a per-die basis.

5. The method of claim 1 , further comprising using the first target charge, the adjusted second target charge, and the third target charge to program one or more cells of the storage medium during a write operation.

6. The method of claim 1 , wherein determining the first error indicator for lower/fast pages includes:

measuring the first error indicator on a predetermined number of data units, including:

for each data unit of the predetermined number of data units:

measuring the first error indicator at a first operating threshold; and

measuring the first error indicator at the first operating threshold plus a predetermined increment.

7. The method of claim 6 , further comprising, for each data unit of the predetermined number of data units, using the lower of the first error indicator at the first operating threshold and the first error indicator at the first operating threshold plus a predetermined increment as the determined first error indicator.

8. The method of claim 7 , further comprising, for each data unit of the predetermined number of data units, augmenting the determined first error indicator by a first factor.

9. The method of claim 1 , wherein determining the second error indicator for upper/slow pages includes:

measuring the second error indicator on a predetermined number of data units, including:

for each data unit of the predetermined number of data units:

measuring the second error indicator at a second operating threshold; and

measuring the second error indicator at the second operating threshold plus a predetermined increment.

10. The method of claim 9 , further comprising, for each data unit of the predetermined number of data units, using the lower of the second error indicator at the second operating threshold and the second error indicator at the second operating threshold plus a predetermined increment as the determined second error indicator.

11. The method of claim 10 , further comprising, for each data unit of the predetermined number of data units, augmenting the determined second error indicator by a second factor.

12. The method of claim 1 , wherein the sequence of operations is performed for a first die in the storage medium to adjust the second target charge for the first die, further comprising performing the sequence of operations for a second die in the storage medium to adjust a distinct second target charge for the second die.

13. The method of claim 12 , wherein a first adjustment for the second target charge for the first die, determined in accordance with the sequence of operations performed for the first die, is different than a second adjustment for the second target charge for the second die, determined in accordance with the sequence of operations performed for the second die.

14. The method of claim 13 , wherein the second target charge for the first die is adjusted in a different direction than the second target charge for the second die.

15. The method of claim 1 , further comprising:

determining a first read threshold, a second read threshold, and a third read threshold, the first, second, and third read thresholds used for reading first, second, and third values, respectively, in cells of the storage medium when data is read from the cells;

adjusting the second read threshold in accordance with the first error indicator and the second error indicator; and

adjusting the third read threshold in accordance with the first error indicator and the second error indicator.

16. The method of claim 15 , wherein the second read threshold and the third read threshold are adjusted at a faster rate than the second target charge.

17. The method of claim 1 , wherein the first target charge, the second target charge, and the third target charge are determined, in part, in accordance with feed-forward characterization values.

18. A device operable to set target charges for a storage medium, the device comprising:

a storage medium interface for coupling the device to the storage medium; and

one or more modules, the one or more modules coupled to the storage medium interface and configured to:

perform a sequence of operations, including:

determining a first target charge, a second target charge, and a third target charge, the first, second, and third target charges used for controlling charge distributions in cells of the storage medium when data is written to the cells;

determining a first error indicator for lower/fast pages of the storage medium;

determining a second error indicator for upper/slow pages of the storage medium; and

adjusting the second target charge in accordance with the first error indicator and the second error indicator.

19. The device of claim 18 , wherein the one or more modules include a target charge module to determine the first target charge, second target charge, and third target charge; an error indicator module to determine the first error indicator and the second error indicator; and an adjustment module to adjust the second target charge.

20. The device of claim 19 , wherein the one or more modules include a memory management module that includes one or more processors and memory storing one or more programs configured for execution by the one or more processors.

21. The device of claim 18 , wherein adjusting the second target charge in accordance with the first error indicator and the second error indicator includes:

accumulating a bias value for the second target charge, wherein the bias value increases in accordance with a determination that the first error indicator is greater than the second error indicator and the bias value decreases in accordance with a determination that the first error indicator is less than the second error indicator;

in accordance with a determination that the bias value is greater than or equal to a positive threshold:

increasing the second target charge; and

resetting the bias value; and

in accordance with a determination that the bias value is less than a negative threshold:

decreasing the second target charge; and

resetting the bias value.

22. The device of claim 18 , wherein determining the first error indicator for lower/fast pages includes:

measuring the first error indicator on a predetermined number of data units, including, for each data unit of the predetermined number of data units:

measuring the first error indicator at a first operating threshold; and

measuring the first error indicator at the first operating threshold plus a predetermined increment.

23. The device of claim 18 , wherein the sequence of operations is performed for a first die in the storage medium to adjust the second target charge for the first die, further comprising performing the sequence of operations for a second die in the storage medium to adjust a distinct second target charge for the second die.

24. A non-transitory computer-readable storage medium storing one or more programs configured for execution by a device coupled to a storage medium, the one or more programs comprising instructions for causing the device and/or storage medium to perform a sequence of operations, including:

determining a first target charge, a second target charge, and a third target charge, the first, second, and third target charges used for controlling charge distributions in cells of the storage medium when data is written to the cells;

determining a first error indicator for lower/fast pages of the storage medium;

determining a second error indicator for upper/slow pages of the storage medium; and

adjusting the second target charge in accordance with the first error indicator and the second error indicator.

25. The non-transitory computer-readable storage medium of claim 24 , wherein adjusting the second target charge in accordance with the first error indicator and the second error indicator includes:

accumulating a bias value for the second target charge, wherein the bias value increases in accordance with a determination that the first error indicator is greater than the second error indicator and the bias value decreases in accordance with a determination that the first error indicator is less than the second error indicator;

in accordance with a determination that the bias value is greater than or equal to a positive threshold:

increasing the second target charge; and

resetting the bias value; and

in accordance with a determination that the bias value is less than a negative threshold:

decreasing the second target charge; and

resetting the bias value.

Assignments (3)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →