IP Library › Granted Patent US 12,020,747
Granted Patent B2
US 12,020,747 · App. 17/511,802 · Granted Jun 25, 2024

Non-volatile memory and programming method thereof

Inventors: Po-Hao Tseng (Taichung, TW); Feng-Min Lee (Hsinchu, TW); Yung-Chun Li (New Taipei, TW)
Assignee: MACRONIX INTERNATIONAL CO., LTD.
G11C11/5628G11C11/5671G11C16/10
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 12,020,747
App. No.
17/511,802
Granted
Jun 25, 2024
Kind
B2
Abstract

A non-volatile memory and a programming method thereof are provided. The programming method of the non-volatile memory includes the following steps. A coarse programming procedure is performed for programing all of a plurality of memory cells at an erase state to 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N program states. N is a positive integer. A fine programming procedure is performed for pushing all of memory cells into 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N verify levels.

Claims (55)

1. A programming method of a non-volatile memory, comprising:

performing a coarse programming procedure for programing all of a plurality of memory cells at an erase state to 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N program states, and removing the erase state, wherein Nis a positive integer; and

performing a fine programming procedure for pushing all of the memory cells into 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N verify levels,

wherein during the coarse programming procedure, a larger step voltage is configured to categorize the memory cells into several groups,

wherein during the fine programming procedure, the memory cells are programmed with a smaller step voltage to push all of the memory cells forward into the verify levels,

wherein removing the erase state comprises:

determining an overlap between the erase state and a first program state of the 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N program states; and

removing the overlap between the erase state and the first program state.

2. The programming method of the non-volatile memory according to claim 1 , wherein after performing the coarse programming procedure, a quality of the memory cells which are at the erase state is 0.

3. The programming method of the non-volatile memory according to claim 1 , wherein a threshold voltage of each of the program states is different from a threshold voltage of the erase state.

4. The programming method of the non-volatile memory according to claim 1 , wherein

if the non-volatile memory is a Multi-Level Cell (MLC) memory, N is 2, after performing the coarse programming procedure, all of the memory cells at the erase state are programmed to 3 or 4 program states;

if the non-volatile memory is a Triple-Level Cell (TLC) memory, N is 3, after performing the coarse programming procedure, all of the memory cells at the erase state are programmed to 7 or 8 program states;

if the non-volatile memory is a Quad-Level Cell (QLC) memory, N is 4, after performing the coarse programming procedure, all of the memory cells at the erase state are programmed to 15 or 16 program states; and

if the non-volatile memory is a Penta-Level Cell (PLC) memory, N is 5, after performing the coarse programming procedure, all of the memory cells at the erase state are programmed to 31 or 32 program states.

5. The programming method of the non-volatile memory according to claim 1 , wherein after performing the coarse programming procedure, the memory cells at the program states are used for data storage.

6. The programming method of the non-volatile memory according to claim 1 , wherein after performing the coarse programming procedure, all of the memory cells are at the program states.

7. The programming method of the non-volatile memory according to claim 1 , wherein N is larger than 1.

8. A non-volatile memory, comprising:

a memory array, including a plurality of memory cells; and

a controller, configured to

perform a coarse programming procedure for programing all of the memory cells at an erase state to 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N program states, and remove the erase state, wherein N is a positive integer; and

perform a fine programming procedure for pushing all of the memory cells into 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N verify levels,

wherein during the coarse programming procedure, a larger step voltage is configured to categorize the memory cells into several groups,

wherein during the fine programming procedure, the memory cells are programmed with a smaller step voltage to push all of the memory cells forward into the verify levels,

wherein the controller is configured to remove the erase state by:

determining an overlap between the erase state and a first program state of the 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N program states; and

removing the overlap between the erase state and the first program state.

9. The non-volatile memory according to claim 8 , wherein after performing the coarse programming procedure, a quality of the memory cells which are at the erase state is 0.

10. The non-volatile memory according to claim 8 , wherein a threshold voltage of each of the program states is different from a threshold voltage of the erase state.

11. The non-volatile memory according to claim 8 , wherein

if the non-volatile memory is a Multi-Level Cell (MLC) memory, N is 2, after performing the coarse programming procedure, all of the memory cells at the erase state are programmed to 3 or 4 program states;

if the non-volatile memory is a Triple-Level Cell (TLC) memory, N is 3, after performing the coarse programming procedure, all of the memory cells at the erase state are programmed to 7 or 8 program states;

if the non-volatile memory is a Quad-Level Cell (QLC) memory, N is 4, after performing the coarse programming procedure, all of the memory cells at the erase state are programmed to 15 or 16 program states; and

if the non-volatile memory is a Penta-Level Cell (PLC) memory, N is 5, after performing the coarse programming procedure, all of the memory cells at the erase state are programmed to 31 or 32 program states.

12. The non-volatile memory according to claim 8 , wherein after performing the coarse programming procedure, the memory cells at the program states are used for data storage.

13. The non-volatile memory according to claim 8 , after performing the coarse programming procedure, all of the memory cells are at the program states.

14. The non-volatile memory according to claim 8 , wherein N is larger than 1.

15. A programming method of a non-volatile memory, comprising:

performing a coarse programming procedure for programing each of a plurality of memory cells at an erase state to one of 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N program states, and removing the erase state, wherein N is a positive integer; and

performing a fine programming procedure for pushing each of the memory cells into one of 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N verify levels,

wherein during the coarse programming procedure, a lager larger step voltage is configured to categorize the memory cells into several groups,

wherein during the fine programming procedure, the memory cells are programmed with a smaller step voltage to push all of the memory cells forward into the verify levels,

wherein removing the erase state comprises:

determining an overlap between the erase state and a first program state of the 2{circumflex over ( )}N−1 or 2{circumflex over ( )}N program states; and

removing the overlap between the erase state and the first program state.

16. The programming method of the non-volatile memory according to claim 15 , wherein after performing the coarse programming procedure, a quality of the memory cells which are at the erase state is 0.

17. The programming method of the non-volatile memory according to claim 15 , wherein a threshold voltage of each of the program states is different from a threshold voltage of the erase state.

18. The programming method of the non-volatile memory according to claim 15 , wherein

if the non-volatile memory is a Multi-Level Cell (MLC) memory, N is 2, after performing the coarse programming procedure, each of the memory cells at the erase state is programmed to one of 3 or 4 program states;

if the non-volatile memory is a Triple-Level Cell (TLC) memory, N is 3, after performing the coarse programming procedure, each of the memory cells at the erase state is programmed to one of 7 or 8 program states;

if the non-volatile memory is a Quad-Level Cell (QLC) memory, N is 4, after performing the coarse programming procedure, each of the memory cells at the erase state is programmed to one of 15 or 16 program states; and

if the non-volatile memory is a Penta-Level Cell (PLC) memory, N is 5, after performing the coarse programming procedure, each of the memory cells at the erase state is programmed to one of 31 or 32 program states.

19. The programming method of the non-volatile memory according to claim 15 , wherein after performing the coarse programming procedure, the memory cells at the program state are used for data storage.

20. The programming method of the non-volatile memory according to claim 15 , after performing the coarse programming procedure, all of the memory cells are at the program states.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2021
From: TSENG, PO-HAO; LEE, FENG-MIN; LI, YUNG-CHUN
To: MACRONIX INTERNATIONAL CO., LTD.
Reel/Frame 057931/0502 →
Continuity (2)
Provisional Application 63223552 · Jul 20, 2021
Related Publication 20230027384A1 · Jan 26, 2023