IP Library Granted Patent US 11,194,644
Granted Patent B2
US 11,194,644 · App. 16/903,282 · Granted Dec 7, 2021

Program verify adaptation for memory devices

Inventor: Ming Jin (San Jose, CA)
Assignee: Western Digital Technologies, Inc.
G06F11/0754G06F11/073G06F11/1048G11C29/00
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 11,194,644
App. No.
16/903,282
Granted
Dec 7, 2021
Kind
B2
Abstract

Disclosed is a system and method for providing program verify adaptation for flash memory. The method includes performing an adjustment iteration, which includes accessing error counts for respective N states of a plurality of memory cells, applying a weighting to the error counts based on a binary data coding for the N states, determining a state Smin of the N states having a minimum error count Emin from the error counts, determining a state Smax of the N states having a maximum error count Emax from the error counts, determining a difference between the Emax and the Emin satisfies an error count threshold, and adjusting, by a predefined value, a respective program verify offset of a lowest state from Smin and Smax, and of each state between Smin and Smax in the N states, wherein the adjusting is a decrement when Smin is less than Smax and an increment otherwise.

Claims (53)

1. A data storage system, comprising:

one or more memory devices, wherein each of the one or more memory devices comprises wordlines, and wherein each of the wordlines comprises memory cells; and

a controller configured to cause:

programming the one or more memory devices into multiple states associated with program verify voltages;

adjusting the program verify voltages of the one or more memory devices, wherein the adjusting includes incrementing or decrementing at least some of program verify offsets in an iterative manner to distribute errors across the one or more memory devices, wherein the adjusting facilitates improvement of bit error correction and reliability over not performing the adjusting, and wherein the adjusting comprises:

obtaining error counts for respective multiple states of the memory cells in the one or more memory devices, wherein the error counts are for errors between the respective multiple states and adjacent states;

providing a minimum state and a maximum state of the multiple states having a minimum error count and a maximum error count, respectively, based on the error counts; and

calibrating a respective program verify offset of a lowest state based on the minimum and maximum states, and of each state between the minimum state and the maximum state,

wherein the calibrating is a decrement when the minimum state is less than the maximum state, and

wherein the calibrating is an increment when the minimum state is greater than the maximum state; and

programming at least some of the one or more memory devices using at least some of the adjusted program verify voltages.

2. The data storage system of claim 1 , wherein the adjusting comprises:

applying a weighting to the error counts, wherein the weighting is based on a binary data coding for the multiple states; and

determining a difference between the maximum and minimum error counts satisfies an error count threshold.

3. The data storage system of claim 1 , wherein the calibrating comprises calibrating using a predetermined value.

4. The data storage system of claim 3 , wherein the predetermined value is a voltage increment recognizable by a digital-to-analog converter circuit for performing reads on one or more memory cells within the one or more memory devices.

5. The data storage system of claim 1 , wherein the controller is configured to cause sampling the error counts from a representative distribution of the memory cells.

6. The data storage system of claim 1 , wherein the controller is configured to cause:

determining, prior to the calibrating, that an adaptation is due for calibrating the program verify offsets for the multiple states programmable into at least some of the memory cells.

7. The data storage system of claim 6 , wherein the controller is configured to cause determining that the adaptation is due when a program/erase cycle count for the at least some of the memory cells reaches a threshold value.

8. The data storage system of claim 1 , wherein the controller is configured to cause incrementing the program verify offset of a highest program state of the multiple states.

9. A method, comprising:

programming one or more memory devices into multiple states associated with program verify voltages, wherein each of the one or more memory devices comprises wordlines, and wherein each of the wordlines comprises memory cells; and

adjusting, by a controller, the program verify voltages of the one or more memory devices, wherein the adjusting includes incrementing or decrementing at least some of program verify offsets in an iterative manner to distribute errors across the one or more memory devices, wherein the adjusting facilitates improvement of bit error correction and reliability over not performing the adjusting, and wherein the adjusting comprises:

obtaining, by the controller, error counts for respective multiple states of the memory cells in the one or more memory devices, wherein the error counts are for errors between the respective multiple states and adjacent states;

providing, by the controller, a minimum state and a maximum state of the multiple states having a minimum error count and a maximum error count, respectively, based on the error counts; and

calibrating, by the controller, a respective program verify offset of a lowest state based on the minimum and maximum states, and of each state between the minimum state and the maximum state,

wherein the calibrating is a decrement when the minimum state is less than the maximum state, and

wherein the calibrating is an increment when the minimum state is greater than the maximum state.

10. The method of claim 9 , wherein the adjusting comprises:

applying a weighting to the error counts, wherein the weighting is based on a binary data coding for the multiple states; and

determining a difference between the maximum and minimum error counts satisfies an error count threshold.

11. The method of claim 9 , wherein the calibrating comprises calibrating using a predetermined value.

12. The method of claim 11 , wherein the predetermined value is a voltage increment recognizable by a digital-to-analog converter circuit for performing reads on one or more memory cells within the one or more memory devices.

13. The method of claim 9 , wherein the error counts are sampled from a representative distribution of the memory cells.

14. The method of claim 9 , comprising:

determining, prior to the calibrating, that an adaptation is due for calibrating the program verify offsets for the multiple states programmable into at least some of the memory cells.

15. The method of claim 14 , wherein the adaptation is due when a program/erase cycle count for the at least some of the memory cells reaches a threshold value.

16. The method of claim 9 , comprising:

repeating the adjusting until a difference between the maximum and minimum error counts does not satisfy an error count threshold, wherein a minimum number of read operations on data programmed with the calibrated program verify offsets is met after each repeating.

17. An apparatus, comprising:

means for programming one or more memory devices into multiple states associated with program verify voltages, wherein each of the one or more memory devices comprises wordlines, and wherein each of the wordlines comprises memory cells; and

means for adjusting the program verify voltages of the one or more memory devices, wherein the means for adjusting includes means for incrementing or decrementing at least some of program verify offsets in an iterative manner to distribute errors across the one or more memory devices, wherein the means for adjusting is configured to facilitate improvement of bit error correction and reliability over not performing the adjusting, and wherein the means for adjusting comprises:

means for obtaining error counts for respective multiple states of the memory cells in the one or more memory devices, wherein the error counts are for errors between the respective multiple states and adjacent lower states;

means for providing a minimum state and a maximum state of the multiple states having a minimum error count and a maximum error count, respectively, based on the error counts; and

means for calibrating a respective program verify offset of a lowest state based on the minimum and maximum states, and of each state between the minimum state and the maximum state,

wherein the means for calibrating comprises means for decrementing when the minimum state is less than the maximum state, and

wherein the means for calibrating comprises means for incrementing when the minimum state is greater than the maximum state.

18. The apparatus of claim 17 , wherein the means for adjusting comprises:

means for applying a weighting to the error counts, wherein the weighting is based on a binary data coding for the multiple states; and

means for determining a difference between the maximum and minimum error counts satisfies an error count threshold.

19. The apparatus of claim 17 , wherein the means for calibrating comprises means for calibrating using a predetermined value.

20. The apparatus of claim 19 , wherein the predetermined value is a voltage increment recognizable by a digital-to-analog converter circuit for performing reads on one or more memory cells within the one or more memory devices.

Assignments (10)
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 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2020
From: JIN, MING
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 053308/0251 →
Continuity (3)
Continuation 15951097 · Apr 11, 2018
Provisional Application 62625907 · Feb 2, 2018
Related Publication 20200310904A1 · Oct 1, 2020