IP Library Granted Patent US 11,183,259
Granted Patent B2
US 11,183,259 · App. 16/866,483 · Granted Nov 23, 2021

Adapting flash memory programming parameters for high endurance and steady performance

Inventors: Avi Steiner (Kiriat Motzkin, IL); Hanan Weingarten (Herzliya, IL); Yasuhiko Kurosawa (Fujisawa, JP)
Assignee: KIOXIA CORPORATION
G11C29/028G11C16/3495G11C16/0483
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,183,259
App. No.
16/866,483
Granted
Nov 23, 2021
Kind
B2
Abstract

The present embodiments relate to methods for maintaining steady and high performance programming of non-volatile memory devices such as NAND-type flash devices. According to certain aspects, embodiments provide adaptive control of programming parameters over the lifespan of a NAND flash device so as to maintain write performance and obtain high endurance.

Claims (36)

1. A method comprising:

monitoring programming operations of a flash memory device, the programming operations being performed in accordance with a plurality of programming parameters;

based on the monitoring, performing an adaptation operation on the plurality of programming parameters, wherein the adaptation operation includes:

performing at least first and second adaptive programming operations on the flash memory device respectively using at least first and second changed values of the programming parameters, and

determining, based on the at least first and second adaptive programming operations, adapted values of the programming parameters that maintain a programming performance condition.

2. The method of claim 1 , wherein monitoring the programming operations includes maintaining a count of a number of programming and erase cycles, and wherein performing the adaptation operation is based on the count exceeding a threshold.

3. The method of claim 2 , wherein the threshold corresponds to a range of programming and erase cycles of the flash memory device.

4. The method of claim 1 , wherein monitoring the programming operations includes estimating a first number of programming and erase cycles using one of an average programming time or a second number of programming errors, and wherein performing the adaptation operation is based on the first or second number exceeding a threshold.

5. The method of claim 1 , wherein the plurality of programming parameters include one or more of a start program voltage, a maximum number of pulses, and a program voltage pulse step.

6. The method of claim 1 , wherein performing the adaptation operation includes:

changing a value of one of the programming parameters;

programming the memory device with the one programming parameter having the changed value; and

determining if a desired level of the programming performance condition is met in connection with the programming.

7. The method of claim 6 , wherein performing the adaptation includes obtaining the changed value for the one programming parameter from a stored table.

8. The method of claim 7 , wherein the stored table is prepared by performing a fast cycling operation on a representative block of the memory device.

9. The method of claim 1 , wherein the performance condition is a programming time threshold.

10. The method of claim 1 , wherein the performance condition is a bit error rate (BER) threshold.

11. The method of claim 1 , wherein performing the adaptation operation includes:

estimating a plurality of sets of candidate values of the plurality of programming parameters;

programming the memory device with the plurality of sets of candidate values of the plurality of programming parameters; and

selecting one of the plurality of sets of candidate values based on the programming performance condition in connection with the programming.

12. A flash memory system comprising:

a flash memory comprising a plurality of dies; and

a controller configured to perform programming operations on the flash memory, the controller including a programming circuit and a programming parameter adapter configured to:

monitor programming operations performed on the flash memory by the programming circuit, the programming operations being performed in accordance with a plurality of programming parameters; and

based on the monitoring, perform an adaptation operation on the plurality of programming parameters, wherein the adaptation operation includes:

performing at least first and second adaptive programming operations on the flash memory device respectively using at least first and second changed values of the programming parameters, and

determining, based on the at least first and second adaptive programming operations, adapted values of the programming parameters that maintain a programming performance condition.

13. The flash memory system of claim 12 , wherein the monitoring is performed separately for each of the plurality of dies.

14. The flash memory system of claim 12 , wherein changing values of one or more of the programming parameters is performed separately for each of the plurality of dies.

15. The flash memory system of claim 14 , wherein the flash memory device is a NAND-type flash memory.

16. The flash memory system of claim 12 , wherein each of the plurality of dies comprises a plurality of blocks, and wherein adaptation of the plurality of programming parameters is performed separately for each of the plurality of blocks.

17. The flash memory system of claim 16 , wherein each of the plurality blocks includes a plurality of rows, and wherein adaptation of the plurality of programming parameters of each block is performed separately for two or more sets of the plurality of rows.

18. The flash memory system of claim 12 , wherein each of the plurality of dies comprises a plurality of blocks, and wherein adaptation of the plurality of programming parameters is performed on one of the blocks and the adapted programming parameters resulting from the adaptation performed on the one of the blocks are then applied to the other of the plurality of blocks.

19. The flash memory system of claim 18 , wherein each of the plurality blocks includes a plurality of rows, and wherein the adapted programming parameters from the adaptation performed on the one of the blocks are applied to one or more of the plurality of rows.

20. The flash memory system of claim 18 , wherein the plurality of programming parameters include one or more of a start program voltage, a maximum number of pulses, and a program voltage pulse step.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2021
From: STEINER, AVI; WEINGARTEN, HANAN; KUROSAWA, YASUHIKO
To: OCZ ISRAEL LIMITED
Reel/Frame 057877/0799 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2021
From: OCZ ISRAEL LIMITED
To: TOSHIBA MEMORY AMERICA, INC.
Reel/Frame 057877/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2021
From: TOSHIBA MEMORY AMERICA, INC.
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 057877/0976 →
MERGER Recorded Oct 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 057878/0085 →
CHANGE OF NAME Recorded Oct 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 057878/0180 →
CHANGE OF NAME Recorded Oct 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 057890/0676 →
Continuity (2)
Continuation 15904893 · Feb 26, 2018
Related Publication 20200265910A1 · Aug 20, 2020