IP Library Granted Patent US 10,510,426
Granted Patent B2
US 10,510,426 · App. 15/964,929 · Granted Dec 17, 2019

Programming method, programming apparatus and storage medium for non-volatile memory

Inventor: Minyi Chen (Wan Chai, CN)
Assignees: GIGADEVICE SEMICONDUCTOR (SHANGHAI) INC.; GIGADEVICE SEMICONDUCTOR (BEIJING) INC.; GIGADEVICE SEMICONDUCTOR (HEFEI) INC.
G11C16/3459G11C16/10G11C16/26G11C16/30G11C16/0408G11C2216/14H01L29/7883
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,510,426
App. No.
15/964,929
Granted
Dec 17, 2019
Kind
B2
Abstract

Provided are a programming method, programming apparatus and storage medium to reduce threshold voltage distribution in a non-volatile memory. The method includes performing program loops on a target page by sequentially using first programming voltages Vn; and when a predetermined condition is reached, proceeding to perform program loops on the target page by sequentially using second programming voltages Um until the target page is successfully programmed. Vn=V 1 +(n−1)×d 1 , where n denotes a program loop count of the first programming voltages, n is an integer greater than or equal to 1, and V 1 and d 1 are all positive numbers. Um=Vn+(m−1)×d 2 , where m denotes a program loop count of the second programming voltages, m is an integer greater than or equal to 2, and d 2 is a positive number not equal to d 1.

Claims (48)

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

performing program loops on a target page by sequentially using first programming voltages Vn; and

when a predetermined condition is reached, proceeding to perform program loops on the target page by sequentially using second programming voltages Um until the target page is successfully programmed, wherein

Vn=V 1 +(n−1)×d 1 , wherein n denotes a program loop count of the first programming voltages, n is an integer greater than or equal to 1, and V 1 and d 1 are all positive numbers; and

Um=Vn+(m−1)×d 2 , wherein m denotes a program loop count of the second programming voltages, m is an integer greater than or equal to 2, and d 2 is a positive number not equal to d 1 .

2. The programming method of claim 1 , wherein the performing program loops on a target page by sequentially using first programming voltages Vn comprises:

performing a program operation on the target page with a respective one of the first programming voltages;

performing a programming verification for the program operation;

if the programming verification is not passed, increasing the program loop count n of the first programming voltages by one and returning to the step of performing a program operation on the target page with a respective one of the first programming voltages; and

if the programming verification is passed, ending the programming method.

3. The programming method of claim 2 , wherein the predetermined condition is that a number of the program loops performed on the target page by sequentially using the first programming voltages Vn reaches a preset number.

4. The programming method of claim 2 , wherein the predetermined condition is that one of the first programming voltages Vn is increased to a predetermined value.

5. The programming method of claim 2 , wherein the predetermined condition is that a number of memory cells that have failed to be programmed in the target page is less than a preset number.

6. The programming method of claim 2 , wherein the proceeding to perform program loops on the target page by sequentially using second programming voltages Um comprises:

performing a program operation on the target page with a respective one of the second programming voltages;

performing a programming verification for the program operation;

if the programming verification is not passed, increasing the program loop count m of the second programming voltages by one and returning to the step of using the second programming voltage Um to perform the program operation on the target memory cell page; and

if the programming verification is passed, ending the programming method,

wherein an initial value of the program loop count m of the second programming voltages is 2.

7. The programming method of claim 2 , wherein performing a program operation on the target page comprises: applying, by a charge pump, a respective one of the first programming voltages Vn or a respective one of the second programming voltages Um to a word line of a memory cell in the target page.

8. The programming method of claim 5 , wherein the performing the programming verification for the program operation comprises:

performing a read operation on the memory cells in the target page; and

if a result of the reading operation is 0, determining that the program operation succeeds, and if the result of the reading operation is 1, determining that the program operation fails.

9. The programming method of claim 2 , wherein the performing the programming verification for the program operation comprises:

performing a read operation on the memory cells in the target page; and

if a result of the reading operation is 0, determining that the program operation succeeds, and if the result of the reading operation is 1, determining that the program operation fails.

10. The programming method of claim 1 , wherein the predetermined condition is that a number of the program loops performed on the target page by sequentially using the first programming voltages Vn reaches a preset number.

11. The programming method of claim 1 , wherein the predetermined condition is that one of the first programming voltages Vn is increased to a predetermined value.

12. The programming method of claim 1 , wherein the predetermined condition is that a number of memory cells that have failed to be programmed in the target page is less than a preset number.

13. A programming apparatus for a non-volatile memory, comprising:

a first programming circuit configured to perform program loops on a target page by sequentially using first programming voltages Vn; and

a second programming circuit configured to, when a predetermined condition is reached, proceed to perform program loops on the target page by sequentially using second programming voltages Um until the target page is successfully programmed, wherein

Vn=V 1 +(n−1)×d 1 , wherein n denotes a program loop count of the first programming voltages, n is an integer greater than or equal to 1, and V 1 and d 1 are all positive numbers; and

Um=Vn+(m−1)×d 2 , wherein m denotes a program loop count of the second programming voltages, m is an integer greater than or equal to 2, and d 2 is a positive number not equal to d 1 , wherein the first programming circuit comprises:

a first programming sub-circuit configured to perform a program operation on the target page with a respective one of the first programming voltages,

a verification circuit configured to perform a programming verification for the program operation, and if the programming verification is not passed, increase the program loop count n of the first programming voltages by one;

a returning circuit configured to return to a step of performing a program operation on the target page with a respective one of the first programming voltages; and

an ending circuit configured to, if the programming verification is passed, ending a programming method.

14. The programming apparatus of claim 13 , wherein the predetermined condition is that a number of the program loops performed on the target page by sequentially using the first programming voltages Vn reaches a preset number.

15. The programming apparatus of claim 13 , wherein the predetermined condition is that one of the first programming voltages Vn is increased to a predetermined value.

16. The programming apparatus of claim 13 , wherein the predetermined condition is that a number of memory cells that have failed to be programmed in the target page is less than a preset number.

17. A storage medium containing computer-executable instructions that, when executed by a computer processor, implement a programming method for a non-volatile memory, wherein the programming method comprises:

performing program loops on a target page by sequentially using first programming voltages Vn; and

when a predetermined condition is reached, proceeding to perform program loops on the target page by sequentially using second programming voltages Um until the target page is successfully programmed, wherein

Vn=V 1 +(n−1)×d 1 , wherein n denotes a program loop count of the first programming voltages, n is an integer greater than or equal to 1, and V 1 and d 1 are all positive numbers; and

Um=Vn+(m−1)×d 2 , wherein m denotes a program loop count of the second programming voltages, m is an integer greater than or equal to 2, and d 2 is a positive number not equal to d 1 .

18. The storage medium according to claim 17 , wherein the predetermined condition is: a number of the program loops performed on the target page by sequentially using the first programming voltages Vn reaches a preset number, or one of the first programming voltages Vn is increased to a predetermined value.

19. The storage medium according to claim 17 , wherein the predetermined condition is that a number of memory cells that have failed to be programmed in the target page is less than a preset number.

Assignments (3)
CHANGE OF NAME & ADDRESS Recorded Oct 13, 2022
From: GIGADEVICE SEMICONDUCTOR (BEIJING) INC.
To: GIGADEVICE SEMICONDUCTOR INC.
Reel/Frame 061668/0819 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2019
From: SHINE BRIGHT TECHNOLOGY LIMITED
To: GIGADEVICE SEMICONDUCTOR (SHANGHAI) INC.; GIGADEVICE SEMICONDUCTOR (BEIJING) INC.; GIGADEVICE SEMICONDUCTOR (HEFEI) INC.
Reel/Frame 050901/0852 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2018
From: CHEN, MINYI
To: SHINE BRIGHT TECHNOLOGY LIMITED
Reel/Frame 046621/0254 →
Continuity (1)
Related Publication 20190333591A1 · Oct 31, 2019