IP Library Granted Patent US 9,142,314
Granted Patent B2
US 9,142,314 · App. 14/301,798 · Granted Sep 22, 2015

Limiting flash memory over programming

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,142,314
App. No.
14/301,798
Granted
Sep 22, 2015
Kind
B2
Abstract

Certain aspects of this disclosure relate to programming an at least one flash memory cell using an at least one programming pulse with a new programming voltage having a level. The level is maintained in at least one page in a block of a flash memory controller memory, wherein the level varies as a function of a number of programming cycles applied to the at least one flash memory cell.

Claims (50)

1. A method comprising:

programming a memory cell of a memory block according to one or more application programs using a programming pulse comprising a voltage level obtained from a first page of the memory block,

wherein the voltage level is determined based on a count of programming pulses used to program memory cells of an other page of the memory block,

wherein the programming pulse is applied in programming pages of the memory block other than the other page, and

wherein the voltage level is maintained in a spare area of the first page of the memory block, wherein the spare area is not programmed by the one or more application programs.

2. The method of claim 1 , further comprising programming an other memory cell in the other page of the memory block using an other programming pulse comprising a test voltage level, wherein the test voltage level is determined during an initial testing period.

3. The method of claim 1 , further comprising programming an other memory cell of the memory block using an other programming pulse comprising an other voltage level, wherein the other voltage level of the other programming pulse is based on a count of programming pulses used to program at least the memory cell of the memory block.

4. The method of claim 1 , further comprising programming the memory cell of the memory block using at least one other programming pulse comprising an other voltage level, wherein the other voltage level is increased incrementally from the voltage level.

5. The method of claim 1 , wherein programming the memory cell comprises programming pages in the memory block sequentially.

6. The method of claim 1 , wherein the voltage level is increased as a function of the count of programming pulses used to program the memory cells of the other page of the memory block.

7. The method of claim 1 , wherein the voltage level is set to a level after which at least some of the memory cells of the memory block are verified programmed.

8. The method of claim 1 , wherein the voltage level is set to a programming voltage at which at least one of the memory cells of the memory bock are verified programmed.

9. A memory device comprising:

a memory block comprising a plurality of pages; and

a controller configured to:

retrieve one or more signals representative of a programming voltage from a first page of the plurality of pages of the memory block, wherein the programming voltage is determined based on a count of programming pulses used to program memory cells of an other page of the plurality of pages of the memory block; and

apply a programming pulse comprising the programming voltage to at least one memory cell of the memory block in pages of the plurality of pages other than the other page of the plurality of pages to program the at least one memory cell according to one or more application programs,

wherein the programming voltage is maintained in a spare area of the first page of the plurality of pages, wherein the spare area is not programmed by the one or more application programs.

10. The memory device of claim 9 , wherein the at least one cell is a multilevel memory cell.

11. The memory device of claim 9 , wherein the controller is configured to retrieve the one or more signals representative of the programming voltage from a non-volatile memory.

12. The memory device of claim 9 , wherein the controller is configured to apply an other programming pulse to at least one other memory cell of the other page of the memory, wherein the other programming pulse comprises a test voltage level determined during an initial testing period of the memory device.

13. The memory device of claim 9 , wherein the controller is configured to program the at least one memory cell of the memory block using at least one other programming pulse comprising an other programming voltage, wherein the controller increases the other programming voltage from the programming voltage.

14. The memory device claim 12 , wherein the test voltage level is stored in a volatile memory of the memory device.

15. The memory device of claim 12 , wherein the test voltage level is fixed after the initial testing period of the memory device.

16. A system comprising:

a processor configured to host one or more application programs; and

a memory device coupled to the processor, the memory device comprising:

a plurality of pages; and

a controller configured to:

retrieve one or more signals representative of a programming voltage from a first page of the plurality of pages, wherein the programming voltage is determined based on a count of programming pulses used to program memory cells of an other page of the plurality of pages; and

apply a programming pulse comprising the programming voltage to at least one memory cell of the memory device in pages other than the other page of the plurality of pages,

wherein the programming voltage is maintained in a spare area of the first page of the plurality of pages, wherein the spare area is not programmed by the one or more application programs.

17. The system of claim 16 , wherein the memory device comprises a plurality of memory blocks comprising the plurality of pages, wherein each memory block includes a corresponding first page to maintain a corresponding programming voltage.

18. The system of claim 16 , wherein the first page of the plurality of pages is a volatile memory of the memory device.

19. The system of claim 16 , wherein the programming voltage substantially equals a voltage level of at least one programming pulse applied after which a program verify voltage fails.

20. A system comprising:

a processor configured to host one or more application programs; and

a memory device coupled to the processor, the memory device comprising:

a plurality of memory blocks comprising a plurality of pages, wherein each memory block includes a corresponding first page to maintain a corresponding programming voltage; and

a controller configured to:

retrieve one or more signals representative of a programming voltage from a first page of a plurality of pages of a memory block of the plurality of memory blocks, wherein the programming voltage is determined based on a count of programming pulses used to program memory cells of an other page of the plurality of pages of the memory block; and

apply a programming pulse comprising the programming voltage to at least one memory cell of the memory block of the plurality of memory blocks of the memory device in pages other than the other page of the plurality of pages of the memory block.

21. A system comprising:

a processor configured to host one or more application programs; and

a memory device coupled to the processor, the memory device comprising:

a plurality of pages; and

a controller configured to:

retrieve one or more signals representative of a programming voltage from a first page of the plurality of pages, wherein the programming voltage is determined based on a count of programming pulses used to program memory cells of an other page of the plurality of pages; and

apply a programming pulse comprising the programming voltage to at least one memory cell of the memory device in pages other than the other page of the plurality of pages,

wherein the first page of the plurality of pages is a volatile memory of the memory device.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →