IP Library Granted Patent US 9,235,503
Granted Patent B2
US 9,235,503 · App. 13/859,445 · Granted Jan 12, 2016

Stripe-based non-volatile multilevel memory operation

Inventor: Kevin R. Brandt (Boise, ID)
Assignee: Micron Technology, Inc.
G06F12/0246G06F11/1072G11C11/5628G11C16/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,235,503
App. No.
13/859,445
Granted
Jan 12, 2016
Kind
B2
Abstract

Stripe-based non-volatile multilevel memory operation can include writing a number of lower stripes including programming a number of lower pages of information in each of the number of lower stripes. An upper stripe can be written including programming a number of upper pages of the information in the upper stripe. Each of the number of upper pages can correspond to a respective one of the number of lower pages. Each of the respective ones of the number of lower pages corresponding to the number of upper pages can be programmed in a different lower stripe of the number of lower stripes.

Claims (38)

1. A method, comprising:

writing a plurality of lower stripes including programming a lower page of write information and a lower page of parity information for the lower page of write information in each of the plurality of lower stripes; and

writing an upper stripe including programming a plurality of upper pages of write information and an upper page of parity information for the plurality of upper pages of write information in the upper stripe, wherein each of the plurality of upper pages of write information corresponds to the lower page of write information in a respective one of the plurality of lower stripes.

2. The method of claim 1 , wherein each of the plurality of upper pages of write information corresponds to the lower page of write information in the respective one of the plurality of lower stripes by being programmed to a same physical page of memory cells.

3. The method of claim 2 , wherein:

programming the lower page of parity information comprises programming the lower page of parity information to a particular physical page of memory cells; and

programming the upper page of parity information comprises programming the upper page of parity information to the particular physical page of memory cells.

4. The method of claim 1 , wherein the method includes programming a particular lower page of parity information in a first lower stripe of the plurality of lower stripes before programming a particular lower page of write information in a second lower stripe of the plurality of lower stripes.

5. The method of claim 1 , wherein the method includes recreating, based at least in part on the lower page of parity information, the lower page of write information in response to an error during writing the upper stripe.

6. The method of claim 5 , wherein the error comprises asynchronous power cycling.

7. The method of claim 1 , wherein writing the upper stripe includes programming each of the plurality of upper pages of write information and the upper page of parity information for the plurality of upper pages of write information substantially simultaneously.

8. The method of claim 7 , wherein writing a particular one of the plurality of lower stripes includes programming the lower page of write information and the lower page of the parity information for the lower page of write information in the particular one of the plurality of lower stripes substantially simultaneously.

9. The method of claim 1 , wherein programming the plurality of upper pages of write information and the upper page of parity information for the plurality of upper pages of write information in the upper stripe comprises programming the plurality of upper pages of write information and the upper page of parity information for the plurality of upper pages of write information in the upper stripe across a different channel.

10. A method, comprising:

programming lower page write information across a plurality of physical pages of memory cells in a single lower stripe and programming lower page parity information for the lower page write information to a particular physical page of memory cells in the single lower stripe; and

writing a plurality of upper stripes, wherein writing each of the plurality of upper stripes includes programming upper page write information to one of the plurality of physical pages of memory cells.

11. The method of claim 10 , wherein writing the plurality of upper stripes includes programming upper page parity information for upper page write information in one of the plurality of upper stripes to the particular physical page of memory cells.

12. The method of claim 10 , wherein writing each of the plurality of upper stripes includes programming upper page write information to other physical pages of memory cells that were not programmed with lower page write information in the single lower stripe.

13. A device, comprising:

a memory controller configured to:

write a plurality of lower stripes by programming lower page write information across a plurality of physical pages of memory cells and programming lower page parity information for lower page write information in each of the plurality of lower stripes to a particular physical page of memory cells; and

write an upper stripe by programming upper page write information across a subset of the plurality of physical pages of memory cells and programming upper page parity information for upper page write information written in the upper stripe,

wherein the memory controller is configured to program each lower page of a particular one of the plurality of lower stripes substantially simultaneously as part of a single striping operation.

14. The device of claim 13 , wherein the memory controller comprises control circuitry and/or control firmware.

15. The device of claim 13 , wherein the memory controller comprises an application specific integrated circuit (ASIC).

16. A device, comprising:

a memory controller configured to:

write a first lower stripe by programming a first plurality of lower pages of write information across a first plurality of physical pages of memory cells and programming a first lower page of parity information for the first plurality of lower pages of write information;

write a second lower stripe by:

programming a second plurality of lower pages of write information across a second plurality of pages of memory cells after programming the first lower page of parity information and;

programming a second lower page of parity information for the second plurality of lower pages of write information; and

write an upper stripe by programming a plurality of upper pages of write information and an upper page of parity information for the plurality of upper pages of write information in the upper stripe, wherein the memory controller is configured to program the plurality of upper pages of write information to one of the first plurality of physical pages of memory cells and one of the second plurality of physical pages of memory cells.

17. The device of claim 16 , wherein the memory controller is configured to:

program each of the first plurality of lower pages of write information across a different one of a plurality of channels;

program each of the second plurality of lower pages of write information across a different one of the plurality of channels; and

program each of the plurality of upper pages of write information across a different one of the plurality of channels.

18. The device of claim 16 , wherein the memory controller is coupled to a host interface, and wherein the memory controller is configured to receive the write information from the host interface and to calculate the parity information.

19. The device of claim 18 , wherein the memory controller comprises one of control circuitry, control firmware, and an application specific integrated circuit (ASIC).

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 9, 2013
From: BRANDT, KEVIN R.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 030180/0937 →
Continuity (2)
Continuation 12872969 · Aug 31, 2010
Related Publication 20130339580A1 · Dec 19, 2013