IP Library Granted Patent US 7,453,724
Granted Patent B2
US 7,453,724 · App. 11/931,992 · Granted Nov 18, 2008

Flash memory device having improved program rate

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 7,453,724
App. No.
11/931,992
Granted
Nov 18, 2008
Kind
B2
Abstract

A method is provided for programming a nonvolatile memory device including an array of memory cells, where each memory cell including a substrate, a control gate, a charge storage element, a source region and a drain region. The method includes receiving a programming window that identifies a plurality of memory cells in the array. A first group of memory cells to be programmed is identified from the plurality of memory cells in the programming window. The first group of memory cells is programmed and a programming state of the first group of memory cells is verified.

Claims (66)

1. A method for programming a group of non-volatile memory cells in an array of non-volatile memory cells, comprising:

receiving a programming window that identifies a plurality of memory cells in the array of non-volatile memory cells, where the programming window identifies fewer than one half of a total number of non-volatile memory cells in a row of memory cells in the array or more than one half of the total number of non-volatile memory cells in the row of memory cells in the array;

identifying a group of non-volatile memory cells to be programmed from the plurality of memory cells in the programming window;

programming the group of non-volatile memory cells;

determining a programming state for each memory cell in the group of non-volatile memory cells;

storing, in a buffer, the programming state for each memory cell in the group of non-volatile memory cells;

identifying non-programmed memory cells in the group of non-volatile memory cells based on the programming state for each memory cell in the group of non-volatile memory cells stored in the buffer; and

reprogramming the non-programmed memory cells.

2. The method of claim 1 , wherein programming the group of non-volatile memory cells comprises applying programming voltage pulses to the group of non-volatile memory cells.

3. The method of claim 2 , wherein determining the programming state for each of the group of non-volatile memory cells comprises sensing a threshold voltage in each of the group of non-volatile memory cells, where memory cells having a threshold voltage lower than a reference threshold voltage are non-programmed and memory cells having a threshold voltage greater than or equal to the reference threshold voltage are programmed.

4. The method of claim 1 , further comprising:

writing, to the buffer, a value indicative of the programmed state for each memory cell in the group of non-volatile memory cells.

5. The method of claim 1 , wherein determining the programming state of each of the group of non-volatile memory cells comprises:

verifying the programming state of each of the group of non-volatile memory cells.

6. The method of claim 1 , wherein the determining the programming state of each of the group of non-volatile memory cells comprises simultaneously verifying the programming state for each of up to 2,048 memory cells.

7. The method of claim 1 , wherein the array of non-volatile memory cells include SONOS (silicon-oxide-nitride-oxide-silicon) type NOR memory cells.

8. The method of claim 1 , where each memory cell comprises a substrate, a control gate, a charge storage element, a source region and a drain region, and wherein the charge storage element comprises a dielectric charge storage element configured to store at least two independent charges for each memory cell.

9. The method of claim 8 , wherein programming the group of non-volatile memory cells comprises:

applying a first voltage to a control gate of each of the group of non-volatile memory cells; and

applying a second voltage to a drain region of each of the group of non-volatile memory cells.

10. The method of claim 9 , where determining the programming state for each of the group of non-volatile memory cells comprises:

applying a third voltage to the control gate of each of the group of non-volatile memory cells; and

monitoring a threshold voltage in each memory cell in the group of non-volatile memory cells.

11. The method of claim 10 , wherein the third voltage is different from the first voltage.

12. A device, comprising:

an array of non-volatile memory cells;

a state control component for receiving a programming window that identifies a plurality of memory cells in the array of non-volatile memory cells, where the programming window identifies fewer than one half of a total number of non-volatile memory cells in a row of memory cells in the array or more than one half of the total number of non-volatile memory cells in the row of memory cells in the array,

where the state control component identifies a group of non-volatile memory cells to be programmed from the plurality of memory cells in the programming window,

where the state control component is configured to program the group of non-volatile memory cells in the array of non-volatile memory cells;

sense amplifier circuitry to determine a programming state of each of the group of non-volatile memory cells; and

a buffer,

wherein the sense amplifier circuitry is further configured to:

store, in the buffer, the programming state for each memory cell in the group of non-volatile memory cells, and

identify non-programmed memory cells in the group of non-volatile memory cells based on the programming states stored in the buffer, and

wherein the state control component is further configured to reprogram the non-programmed memory cells.

13. The device of claim 12 , wherein the array of non-volatile memory cells comprise:

a plurality of bit lines each connected to source or drain regions of a plurality of the non-volatile memory cells; and

a plurality of word lines, arranged orthogonally to the bit lines, each word line being connected to gate regions of a plurality of the non-volatile memory cells,

wherein the group of non-volatile memory cells corresponds to the non-volatile memory cells along a selected word line.

14. The device of claim 12 , comprising:

a voltage supply component configured to generate at least one programming voltage for programming the group of non-volatile memory cells and a verifying voltage for identifying the non-programmed memory cells in the group of non-volatile memory cells,

wherein the at least one programming voltage and the verifying voltage comprise different voltages.

15. The device of claim 14 , where the state control component is further configured to:

apply a first programming voltage to a control gate of each non-volatile memory cell in the group of non-volatile memory cells; and

apply a second programming voltage to a drain region of each non-volatile memory cell in the group of non-volatile memory cells.

16. The device of claim 14 , where the sense amplifier circuitry is further configured to:

apply the verifying voltage to the control gate of each non-volatile memory cell in the group of non-volatile memory cells; and

compare a threshold voltage in each memory cell in the group of non-volatile memory cells to a threshold voltage of at least one reference memory cell.

17. The device of claim 12 , where each non-volatile memory cell in the array of non-volatile memory cells comprises:

a substrate;

a control gate;

a charge storage element;

a source region; and

a drain region,

wherein the charge storage element comprises a dielectric charge storage element configured to store at least two independent charges for each non-volatile memory cell.

18. A method, comprising:

receiving a programming window that identifies a plurality of memory cells in the array of non-volatile memory cells, where the programming window identifies fewer than one half of a total number of non-volatile memory cells in a row of memory cells in the array or more than one half of the total number of non-volatile memory cells in the row of memory cells in the array;

identifying a group of non-volatile memory cells in an array of non-volatile memory cells;

performing a programming operation on the group of non-volatile memory cells;

writing, to a buffer, values corresponding to programming states for each non-volatile memory cell in the group of non-volatile memory cells;

identifying non-programmed memory cells based on the programming states stored in the buffer; and

performing a second programming operation on the non-programmed memory cells.

19. The method of claim 18 , comprising:

writing values corresponding to the programming states for each of the non-programmed memory cells, following performing the second programming operation, in the buffer;

identifying remaining non-programmed memory cells based on the programming states stored in the buffer; and

performing a third programming operation on the remaining non-programmed memory cells.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2022
From: CYPRESS SEMICONDUCTOR CORPORATION
To: INFINEON TECHNOLOGIES LLC
Reel/Frame 059721/0467 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: MUFG UNION BANK, N.A.
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 059410/0438 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST. Recorded Nov 3, 2020
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058002/0470 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 28, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MUFG UNION BANK, N.A.
Reel/Frame 050896/0366 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2015
From: SPANSION, LLC
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 036044/0745 →
SECURITY INTEREST Recorded Mar 21, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035240/0429 →
RELEASE OF SECURITY INTEREST Recorded Mar 13, 2015
From: BARCLAYS BANK PLC
To: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY LLC
Reel/Frame 035201/0159 →
SECURITY AGREEMENT Recorded Jun 4, 2010
From: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
To: BARCLAYS BANK PLC
Reel/Frame 024522/0338 →