IP Library Granted Patent US 9,299,441
Granted Patent B2
US 9,299,441 · App. 14/220,758 · Granted Mar 29, 2016

Programming and/or erasing a memory device in response to its program and/or erase history

Inventors: June Lee (San Jose, CA); Fred Jaffin, III (San Jose, CA)
Assignee: Micron Technology, Inc.
G11C16/10G06F11/1068G11C11/5628G11C16/0483G11C16/26G06F2212/202
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,299,441
App. No.
14/220,758
Granted
Mar 29, 2016
Kind
B2
Abstract

For one embodiment, a programming method includes programming one or more memory cells of a memory device during a programming operation, determining, internal to the memory device, a number of program pulses required to program a sample of the one or more memory cells of the memory device during the programming operation, and adjusting a program starting voltage level of one or more program pulses applied to the one or more memory cells during a subsequent programming operation in response, at least in part, to the number of program pulses required to program the sample of the one or more memory cells programed during the prior programming operation.

Claims (35)

1. A method of programming a memory device, comprising:

programming one or more memory cells of the memory device during a first programming operation;

determining, internal to the memory device, a number of program pulses required to program a sample of the one or more memory cells of the memory device during the first programming operation; and

adjusting, internal to the memory device, a program starting voltage level of one or more program pulses applied to the one or more memory cells during a second programming operation, subsequent to the first programming operation, in response, at least in part, to the number of program pulses required to program the sample of the one or more memory cells programed during the first programming operation.

2. The method of claim 1 , wherein the sample of the one or more memory cells programmed during the first programming operation is programmed during the second programming operation.

3. The method of claim 1 , wherein adjusting the program starting voltage level of the one or more program pulses applied to the one or more memory cells during the second programming operation comprises adjusting the program starting voltage level so that the number of program pulses applied during the second programming operation will tend toward a target number of programming pulses.

4. The method of claim 3 , wherein the target number of programming pulses is less than the number of program pulses determined in the first programming operation.

5. The method of claim 1 , wherein determining the number of program pulses required to program the sample of the one or more memory cells programed during the first programming operation comprises at least one of determining an average number of program pulses it takes to program the sample of the one or more memory cells programmed during the first programming operation and determining the number of program pulses it takes to program the sample of the one or more memory cells programmed during the first programming operation a certain number of times after power-up.

6. The method of claim 1 , wherein adjusting the program starting voltage level of the one or more program pulses applied to the one or more memory cells during the second programming operation is in response to the number of program pulses required to program the sample of the one or more memory cells programed during the first programming operation exceeding a certain number of program pulses or exceeding the certain number of program pulses by more than one.

7. The method of claim 1 , further comprising storing the number of program pulses-required to program the sample of the one or more memory cells programmed during the first programming operation.

8. The method of claim 1 , wherein determining, internal to the memory device, the number of program pulses required to program the sample of the one or more memory cells occurs each time the sample of the one or more memory cells is programed.

9. The method of claim 1 , wherein adjusting the program starting voltage level of the one or more program pulses applied to the one or more memory cells during the second programming operation, subsequent to the first programming operation, in response, at least in part, to the number of program pulses required to program the sample of the one or more memory cells programed during the first programming operation comprises adjusting the program starting voltage level of the one or more program pulses applied to the one or more memory cells of the sample of memory cells during the second programming operation when the determined number of program pulses required to program the sample of memory cells during the first programming operation is different than a target number so that the number of program pulses applied during the second programming operation tends toward the target number.

10. The method of claim 9 , wherein adjusting the program starting voltage level of the one or more program pulses applied to the one or more memory cells of the sample of memory cells during the second programming operation comprises adjusting the program starting voltage level of the one or more program pulses applied to the one or more memory cells of the sample of memory cells during the second programming operation to reduce the number of program pulses applied to the one or more memory cells of the sample of memory cells during the second programming operation when the determined number of programming pulses required to program the sample of memory cells during the first programming operation exceeds the target number.

11. A memory device, comprising:

a memory array;

a state machine configured to control program operations on the memory array;

a sampling circuit internal to the memory device and in communication with the state machine, the sampling circuit configured to determine a number of program pulses required to program a sample of one or more memory cells of the memory array programmed during a first programming operation; and

starting-voltage level control logic internal to the memory device coupled to the sampling circuit, the starting-voltage level control logic configured to adjust a program starting voltage level of one or more program pulses applied to the one or more memory cells of the memory array during a second programming operation, subsequent to the first programming operation, in response, at least in part, to the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation.

12. The memory device of claim 11 , wherein the starting-voltage level control logic is configured to determine an average number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation.

13. The memory device of claim 11 , wherein the starting-voltage level control logic comprises a latch configured to store the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation.

14. The memory device of claim 11 , wherein the starting-voltage level control logic is further configured to compare the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation to a target number of programming pulses.

15. The memory device of claim 14 , wherein the starting-voltage level control logic is further configured to adjust the program starting voltage level of the one or more program pulses when the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation exceeds the target number of programming pulses by some number greater than one.

16. The memory device of claim 11 , wherein the starting-voltage level control logic comprises a latch configured to store a difference between a target number of programming pulses and the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation.

17. The memory device of claim 16 , wherein the latch is a non-volatile latch.

18. The memory device of claim 11 , wherein the sampling circuit is configured to gather and hold the number of program pulses required to program the sample of one or more memory cells of the memory array programmed during the first programming operation.

19. The memory device of claim 11 , wherein the sample of one or more memory cells comprises a single page of memory cells.

20. A memory device, comprising:

a memory array;

a state machine configured to control program operations on the memory array;

a sampling circuit internal to the memory device and in communication with the state machine, the sampling circuit configured to determine a number of program pulses required to program a sample of one or more memory cells of the memory array programmed during a first programming operation;

starting-voltage level control logic internal to the memory device coupled to the sampling circuit, the starting-voltage level control logic configured to adjust a program starting voltage level of one or more program pulses applied to the one or more memory cells of the memory array during a second programming operation, subsequent to the first programming operation, in response, at least in part, to the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation; and

a regulator in communication with the starting-voltage level control logic, the regulator configured to set a program starting voltage to the program starting voltage level adjusted by the starting-voltage level control logic.

21. The memory device of claim 20 , wherein the starting-voltage level control logic comprises a latch configured to store a difference between a target number of programming pulses and the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation.

22. The memory device of claim 21 , wherein the starting-voltage level control logic is further configured to adjust the program starting voltage level of the one or more program pulses applied to the one or more memory cells of the memory array during the second programming operation in response to the difference between the target number of programming pulses and the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation.

23. The memory device of claim 21 , wherein the starting-voltage level control logic is configured to adjust the program starting voltage level of one or more program pulses applied to the one or more memory cells of the memory array during the second programming operation when the difference between the target number of programming pulses and the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation indicates that the number of program pulses required to program the sample of the one or more memory cells programmed during the first programming operation exceeds the target number of programming pulses.

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 →
Continuity (4)
Division 13473164 · May 16, 2012
Continuation 12724790 · Mar 16, 2010
Division 11739732 · Apr 25, 2007
Related Publication 20140204679A1 · Jul 24, 2014