IP Library Granted Patent US 9,318,204
Granted Patent B1
US 9,318,204 · App. 14/508,352 · Granted Apr 19, 2016

Non-volatile memory and method with adjusted timing for individual programming pulses

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,318,204
App. No.
14/508,352
Granted
Apr 19, 2016
Kind
B1
Abstract

A non-volatile memory and method have programming circuitry that outputs a series of programming pulses of increasing voltage level to program in parallel a group of memory cells associated with a selected word line. Individual timing of the programming pulses such as rise and fall times of the pulse is optimally and dynamically adjusted according to the relative numbers of program-enabled and program-inhibited memory cells in the group associated with that pulse.

Claims (66)

1. A non-volatile memory, comprising:

an array of memory cells;

a plurality of word lines and bit lines for accessing the array of memory cells; and

a programming circuit for programming a group of memory cells in parallel,

the programming circuit comprising:

word line driver circuitry for providing a programming voltage to a selected word line to the group of memory cells, the programming voltage comprising a series of pulses having increasing voltage levels;

the group of memory cells having a number of program-enabled and program-inhibited memory cells that varies dynamically with each pulse of the series of pulses; and

the word line driver circuitry including a control module to adjust an individual timing of a pulse of the series of pulses, responsive to relative numbers of program-enabled and program-inhibited memory cells in the group of memory cells associated with the pulse.

2. The non-volatile memory as in claim 1 , wherein

the individual timing comprises a rise time and a fall time of the pulse.

3. The non-volatile memory as in claim 1 , wherein:

each memory cell of the array of memory cells has a channel with a word-line-to-channel capacitance between the channel and a respective word line; and

the individual timing depends on a sum of the word-line-to-channel capacitance of the group of memory cells under programming.

4. The non-volatile memory as in claim 3 , wherein

the word-line-to-channel capacitance is a function of the relative numbers of the program-enabled and program-inhibited memory cells in the group of memory cells.

5. The non-volatile memory as in claim 3 , wherein

the individual timing depends on an RC constant of the selected word line, wherein R and C are respectively a resistance and an effective capacitance of the word line, the effective capacitance of the selected word line comprising the word-line-to-channel capacitance.

6. The non-volatile memory as in claim 5 , wherein:

the RC constant has a maximum value of RCmax when all memory cells of the group of memory cells are program-enabled and has a minimum value of RCmin when all memory cells of the group of memory cells are program-inhibited; and

the RC constant is given by (n 2 /N)RCmin+(n 1 /N)RCmax,

where N is the total number of memory cells in the group of memory cells, and n 1 and n 2 are respectively the number of program-enabled and program-inhibited memory cells just prior to the pulse.

7. The non-volatile memory as in claim 1 , wherein

each memory cell of the array of memory cells comprises a charge-storage element.

8. The non-volatile memory as in claim 1 , wherein:

each pulse in the series of pulses is identified by a pulse number; and

the number of program-enabled and program-inhibited memory cells associated with the pulse is a function of the pulse number associated with the pulse.

9. The non-volatile memory as in claim 1 , wherein

the array of memory cells is organized in a 3D pattern.

10. The non-volatile memory as in claim 1 , wherein

the word line driver circuitry further comprises a second control module to adjust a timing of precharging unselected word lines, responsive to relative numbers of program-enabled and program-inhibited memory cells in the group of memory cells associated with the pulse.

11. A method of operating a non-volatile memory, comprising:

providing an array of memory cells;

providing a plurality of word lines and bit lines for accessing the array of memory cells; and

programming a group of memory cells in parallel,

the programming comprising:

applying a programming voltage to a selected word line to the group of memory cells, the programming voltage comprising a series of pulses having increasing voltage levels;

determining a number of program-enabled and program-inhibited memory cells in the group of memory cells that varies dynamically with each pulse of the series of pulses; and

adjusting an individual timing of a pulse of the series of pulses, responsive to relative numbers of program-enabled and program-inhibited memory cells in the group of memory cells associated with the pulse.

12. The method of operating the non-volatile memory as in claim 11 , wherein

the individual timing comprises a rise time and a fall time of the pulse.

13. The method of operating the non-volatile memory as in claim 11 , wherein:

each memory cell of the array of memory cells has a channel with a word-line-to-channel capacitance between the channel and a respective word line; and

the individual timing depends on a sum of the word-line-to-channel capacitance of the group of memory cells under programming.

14. The method of operating the non-volatile memory as in claim 13 , wherein

the word-line-to-channel capacitance is a function of the relative numbers of the program-enabled and program-inhibited memory cells in the group of memory cells.

15. The method of operating the non-volatile memory as in claim 13 , wherein

the individual timing depends on an RC constant of the selected word line, wherein R and C are respectively a resistance and an effective capacitance of the word line, the effective capacitance of the word line comprising the word-line-to-channel capacitance.

16. The method of operating the non-volatile memory as in claim 15 , wherein:

the RC constant has a maximum value of RCmax when all memory cells of the group of memory cells are program-enabled, and has a minimum value of RCmin when all memory cells of the group of memory cells are program-inhibited; and

the RC constant is given by (n 2 /N)RCmin+(n 1 /N)RCmax,

where N is the total number of memory cells in the group of memory cells, and n 1 and n 2 are respectively the number of program-enabled and program-inhibited memory cells just prior to the pulse.

17. The method of operating the non-volatile memory as in claim 11 , wherein

each memory cell of the array of memory cells comprises a charge-storage element.

18. The method of operating the non-volatile memory as in claim 11 , wherein:

each pulse in the series of pulses is identified by a pulse number; and

the number of program-enabled and program-inhibited memory cells associated with the pulse is a function of the pulse number associated with the pulse.

19. The method of operating the non-volatile memory as in claim 11 , further comprising:

adjusting a timing of precharging unselected word lines, responsive to relative numbers of program-enabled and program-inhibited memory cells in the group of memory cells associated with the pulse.

20. A non-volatile memory comprising:

a 3D array of memory cells organized as a 2D array of vertical NAND strings across multiple memory planes above a substrate, with each memory cell of a NAND string residing in a different memory plane;

a plurality of word lines and bit lines for accessing the array of memory cells; and

a programming circuit for programming a group of memory cells in parallel,

the programming circuit comprising:

word line driver circuitry for providing a programming voltage to a selected word line to the group of memory cells, the programming voltage comprising a series of pulses having increasing voltage levels;

the group of memory cells, having a number of program-enabled and a number of program-inhibited memory cells, that varies dynamically with each pulse of the series of pulses; and

the word line driver circuitry comprising a control module to adjust an individual timing of a pulse of the series of pulses, responsive to relative numbers of program-enabled and program-inhibited memory cells in the group of memory cells associated with the pulse.

Assignments (5)
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 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2014
From: CHEN, HAN; MUI, MAN LUNG; TEI, KOU
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 033919/0886 →