IP Library Granted Patent US 9,947,418
Granted Patent B2
US 9,947,418 · App. 15/096,439 · Granted Apr 17, 2018

Boosted channel programming of memory

Inventors: Mark A. Helm (Santa Cruz, CA); Kalyan C. Kavalipurapu (Santa Clara, CA)
Assignee: Micron Technology, Inc.
G11C16/3459G11C16/10
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,947,418
App. No.
15/096,439
Granted
Apr 17, 2018
Kind
B2
Abstract

Methods of operating a memory include generating a programming pulse for a programming operation having a plurality of steps prior to a program voltage level of the programming pulse, and generating a subsequent programming pulse for the programming operation having the plurality of steps prior to a program voltage level of the subsequent programming pulse, wherein a particular step of the plurality of steps of the programming pulse has a different magnitude than a corresponding step of the plurality of steps of the subsequent programming pulse.

Claims (67)

1. A method of operating a memory, comprising:

generating a programming pulse for a programming operation having a particular number of steps prior to a program voltage level of the programming pulse, the programming pulse to be applied to an access line of an array of memory cells of the memory selected for programming during the programming operation;

generating an additional programming pulse for the programming operation having the particular number of steps, the additional programming pulse to be applied to an access line of the array of memory cells unselected for programming during the programming operation; and

generating a subsequent programming pulse for the programming operation having the particular number of steps prior to a program voltage level of the subsequent programming pulse, the subsequent programming pulse to be applied to the selected access line during the programming operation after applying the programming pulse;

wherein a particular step of the particular number of steps of the programming pulse increases a voltage level of the programming pulse to a particular voltage level, and a corresponding step of the particular number of steps of the additional programming pulse increases a voltage level of the additional programming pulse to the particular voltage level; and

wherein the particular step of the particular number of steps of the programming pulse has a different magnitude than a corresponding step of the particular number of steps of the subsequent programming pulse.

2. The method of claim 1 , wherein a different step of the particular number of steps of the programming pulse also has a different magnitude than its corresponding step of the particular number of steps of the subsequent programming pulse.

3. The method of claim 2 , wherein an initial step of the particular number of steps of the programming pulse, prior to the particular step of the particular number of steps of the programming pulse and the different step of the particular number of steps of the programming pulse, has a same magnitude as its corresponding step of the particular number of steps of the subsequent programming pulse.

4. The method of claim 3 , further comprising:

generating a next subsequent programming pulse for the programming operation having the particular number of steps prior to a program voltage level of the next subsequent programming pulse, the next subsequent programming pulse to be applied to the selected access line during the programming operation after applying the subsequent programming pulse;

wherein the particular step of the particular number of steps of the programming pulse has a first magnitude, its corresponding step of the particular number of steps of the subsequent programming pulse has a second magnitude, and a corresponding step of the particular number of steps of the next subsequent programming pulse has a third magnitude;

wherein the third magnitude is greater than the second magnitude; and

wherein the second magnitude is greater than the first magnitude.

5. The method of claim 4 , further comprising:

wherein the different step of the particular number of steps of the programming pulse has a fourth magnitude, its corresponding step of the particular number of steps of the subsequent programming pulse has a fifth magnitude, and a corresponding step of the particular number of steps of the next subsequent programming pulse has a sixth magnitude;

wherein the sixth magnitude is greater than the fifth magnitude; and

wherein the fifth magnitude is greater than the fourth magnitude.

6. The method of claim 5 , wherein a difference between the sixth magnitude and the fifth magnitude is equal to a difference between the third magnitude and the second magnitude, and wherein a difference between the fifth magnitude and the fourth magnitude is equal to a difference between the second magnitude and the first magnitude.

7. The method of claim 6 , wherein the difference between the sixth magnitude and the fifth magnitude is equal to the difference between the fifth magnitude and the fourth magnitude.

8. The method of claim 1 , further comprising performing a program verify operation between generating the programming pulse and generating the subsequent programming pulse.

9. The method of claim 1 , further comprising generating the subsequent programming pulse such that the program voltage level of the subsequent programming pulse is higher than the program voltage level of the programming pulse.

10. The method of claim 9 , further comprising generating the subsequent programming pulse such that the corresponding step of the particular number of steps of the subsequent programming pulse has a greater magnitude than the particular step of the particular number of steps of the programming pulse.

11. The method of claim 9 , further comprising generating the subsequent programming pulse such that the particular step of the particular number of steps of the programming pulse has a greater magnitude than the corresponding step of the particular number of steps of the subsequent programming pulse.

12. The method of claim 1 , further comprising:

generating a next subsequent programming pulse for the programming operation having the particular number of steps prior to a program voltage level of the next subsequent programming pulse, the next subsequent programming pulse to be applied to the selected access line during the programming operation after applying the subsequent programming pulse;

wherein the particular step of the particular number of steps of the programming pulse has a first magnitude, the corresponding step of the particular number of steps of the subsequent programming pulse has a second magnitude, and a corresponding step of the particular number of steps of the next subsequent programming pulse has a third magnitude;

wherein the third magnitude is greater than the second magnitude; and

wherein the second magnitude is greater than the first magnitude.

13. The method of claim 1 , further comprising:

generating a next subsequent programming pulse for the programming operation having the particular number of steps prior to a program voltage level of the next subsequent programming pulse, the next subsequent programming pulse to be applied to the selected access line during the programming operation after applying the subsequent programming pulse;

wherein the particular step of the particular number of steps of the programming pulse has a first magnitude, the corresponding step of the particular number of steps of the subsequent programming pulse has a second magnitude, and a corresponding step of the particular number of steps of the next subsequent programming pulse has a third magnitude;

wherein the third magnitude is less than the second magnitude; and

wherein the second magnitude is less than the first magnitude.

14. The method of claim 1 , wherein a different step of the particular number of steps of the programming pulse has a same magnitude as its corresponding step of the particular number of steps of the subsequent programming pulse.

15. The method of claim 14 , wherein an additional step of the particular number of steps of the programming pulse has a same magnitude as its corresponding step of the particular number of steps of the subsequent programming pulse.

16. The method of claim 15 , wherein the different step of the particular number of steps of the programming pulse and the additional step of the particular number of steps of the programming pulse each occur prior to the particular step of the particular number of steps of the programming pulse.

17. The method of claim 16 , wherein the particular step of the particular number of steps of the programming pulse is a last step of the particular number of steps of the programming pulse prior to the program voltage level of the programming pulse.

18. A method of operating a memory, comprising:

generating a programming pulse for a programming operation having a particular number of steps prior to a program voltage level of the programming pulse, the programming pulse to be applied to an access line of an array of memory cells of the memory selected for programming during the programming operation;

generating an additional programming pulse for the programming operation having the particular number of steps, the additional programing pulse to be applied to an access line of the array of memory cells unselected for programming during the programming operations; and

generating a subsequent programming pulse for the programming operation having the particular number of steps prior to a program voltage level of the subsequent programming pulse, the subsequent programming pulse to be applied to the selected access line during the programming operation after applying the programming pulse;

wherein a particular step of the particular number of steps of the programming pulse increases a voltage level of the programming pulse to a particular voltage level, and a corresponding step of the particular number of steps of the additional programming pulse increases a voltage level of the additional programming pulse to the particular voltage level;

wherein the particular step of the particular number of steps of the programming pulse has a different magnitude than a corresponding step of the particular number of steps of the subsequent programming pulse;

wherein a different step of the particular number of steps of the programming pulse, subsequent to the particular step of the particular number of steps of the programming pulse, also has a different magnitude than its corresponding step of the particular number of steps of the subsequent programming pulse; and

wherein a difference between the magnitude of the particular step of the particular number of steps of the programming pulse and the magnitude of its corresponding step of the particular number of steps of the subsequent programming pulse, and a difference between the magnitude of the different step of the particular number of steps of the programming pulse and the magnitude of its corresponding step of the particular number of steps of the subsequent programming pulse, are a same difference.

19. The method of claim 18 , wherein an initial step of the particular number of steps of the programming pulse, prior to the particular step of the particular number of steps of the programming pulse, has a same magnitude as its corresponding step of the particular number of steps of the subsequent programming pulse.

20. The method of claim 19 , wherein the different step of the particular number of steps of the programming pulse is a last step of the particular number of steps of the programming pulse prior to the program voltage level of the programming pulse.

21. The method of claim 18 , wherein the magnitude of the particular step of the particular number of steps of the programming pulse is less than the magnitude of its corresponding step of the particular number of steps of the subsequent programming pulse.

22. The method of claim 18 , further comprising:

generating a next subsequent programming pulse for the programming operation having the particular number of steps prior to a program voltage level of the next subsequent programming pulse, the next subsequent programming pulse to be applied to the selected access line during the programming operation after applying the subsequent programming pulse;

wherein the particular step of the particular number of steps of the programming pulse has a first magnitude, its corresponding step of the particular number of steps of the subsequent programming pulse has a second magnitude, and a corresponding step of the particular number of steps of the next subsequent programming pulse has a third magnitude; and

wherein a difference between the first magnitude and the second magnitude equals a difference between the second magnitude and the third magnitude.

23. The method of claim 22 , further comprising:

wherein the different step of the particular number of steps of the programming pulse has a fourth magnitude, its corresponding step of the particular number of steps of the subsequent programming pulse has a fifth magnitude, and a corresponding step of the particular number of steps of the next subsequent programming pulse has a sixth magnitude; and

wherein a difference between the fourth magnitude and the fifth magnitude equals a difference between the fifth magnitude and the sixth magnitude.

24. A method of operating a memory, comprising:

generating a programming pulse for a programming operation having a particular number of steps prior to a program voltage level of the programming pulse, the programming pulse to be applied to an access line of an array of memory cells of the memory selected for programming during the programming operation;

generating an additional programming pulse for the programming operation having the particular number of steps, the additional programming pulse to be applied to an access line of the array of memory cells unselected for programming during the programming operation; and

generating a subsequent programming pulse for the programming operation having the particular number of steps prior to a program voltage level of the subsequent programming pulse, the subsequent programming pulse to be applied to the selected access line during the programming operation after applying the programming pulse to the selected access line;

wherein a particular step of the particular number of steps of the programming pulse increases a voltage level of the programming pulse to a particular voltage level, and a corresponding step of the particular number of steps of the additional programming pulse increases a voltage level of the additional programming pulse to the particular voltage level:

wherein the particular step of the particular number of steps of the programming pulse has a different magnitude than a corresponding step of the particular number of steps of the subsequent programming pulse;

wherein a different step of the particular number of steps of the programming pulse, subsequent to the particular step of the particular number of steps of the programming pulse, also has a different magnitude than its corresponding step of the particular number of steps of the subsequent programming pulse; and

wherein the magnitude of the particular step of the particular number of steps of the programming pulse is greater than the magnitude of its corresponding step of the particular number of steps of the subsequent programming pulse, and the magnitude of the different step of the particular number of steps of the programming pulse is less than the magnitude of its corresponding step of the particular number of steps of the subsequent programming pulse.

25. The method of claim 24 , further comprising:

wherein a difference between the magnitude of the particular step of the particular number of steps of the programming pulse and the magnitude of its corresponding step of the particular number of steps of the subsequent programming pulse has a first magnitude;

wherein a difference between the magnitude of the different step of the particular number of steps of the programming pulse and the magnitude of its corresponding step of the particular number of steps of the subsequent programming pulse has a second magnitude; and

wherein the second magnitude is greater than the first magnitude.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2016
From: HELM, MARK A.; KAVALIPURAPU, KALYAN C.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 038252/0013 →
Continuity (1)
Related Publication 20170294233A1 · Oct 12, 2017