IP Library Granted Patent US 10,283,195
Granted Patent B2
US 10,283,195 · App. 15/993,968 · Granted May 7, 2019

Methods of operating a memory with redistribution of received data

Inventors: Preston A. Thomson (Boise, ID); Peiling Zhang (El Dorado Hills, CA); Junchao Chen (Singapore, SG)
Assignee: Micron Technology, Inc.
G11C11/5628G11C11/5635G11C11/5642G11C16/0458G11C16/0483G11C16/10G11C2211/5641G11C2211/5648
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 10,283,195
App. No.
15/993,968
Granted
May 7, 2019
Kind
B2
Abstract

Methods of operating a memory include receiving data for programming to a plurality of memory cells of the memory, redistributing the received data in a reversible manner, programming the redistributed data to the plurality of memory cells, and programming respective second data to each memory cell of the plurality of memory cells containing the redistributed data, wherein the respective second data for any memory cell of the plurality of memory cells has a same data value as the respective second data for each remaining memory cell of the plurality of memory cells.

Claims (33)

1. A method of operating a memory, comprising:

receiving data for programming to a plurality of memory cells of the memory;

redistributing the received data in a reversible manner, thereby generating redistributed data;

programming the redistributed data to the plurality of memory cells; and

programming respective second data to each memory cell of the plurality of memory cells containing the redistributed data, wherein the respective second data for any memory cell of the plurality of memory cells has a same data value as the respective second data for each remaining memory cell of the plurality of memory cells.

2. The method of claim 1 , wherein programming the redistributed data to the plurality of memory cells comprises programming a respective digit of a plurality of digits of the redistributed data to each memory cell of the plurality of memory cells.

3. The method of claim 2 , wherein the respective second data for any memory cell of the plurality of memory cells is configured to program that memory cell to one of two pre-selected data states of a plurality of data states regardless of a value of the respective digit of the redistributed data for that memory cell.

4. The method of claim 1 , wherein the respective second data for each memory cell of the plurality of memory cells comprises one or more digits.

5. The method of claim 1 , wherein programming the respective second data to any memory cell of the plurality of memory cells containing the redistributed data comprises programming that memory cell to one of a plurality of readable data states, and wherein a number of readable data states of the plurality of readable data states is greater than two.

6. The method of claim 1 , wherein redistributing the received data in the reversible manner comprises providing the received data to a data randomizer prior to programming the redistributed data to the plurality of memory cells.

7. The method of claim 1 , wherein programming the redistributed data to the plurality of memory cells and programming the respective second data to each memory cell of the plurality of memory cells comprises programming each memory cell of the plurality of memory cells to a respective data state of a plurality of data states, each represented by a plurality of digit positions, and wherein a number of digit positions of the plurality of digit positions is greater than or equal to two.

8. The method of claim 1 , wherein redistributing the received data in the reversible manner comprises encoding the received data using a particular function.

9. The method of claim 8 , further comprising:

reading each memory cell of the plurality of memory cells after programming the respective second data to each memory cell of the plurality of memory cells, thereby generating read data; and

decoding the read data using an inverse of the particular function.

10. The method of claim 9 , wherein reading each memory cell of the plurality of memory cells comprises reading each digit position of a plurality of digit positions of a respective data value for each memory cell of the plurality of memory cells, and wherein decoding the read data using the inverse of the particular function comprises decoding each digit position of the plurality of digit positions of the respective data value for each memory cell of the plurality of memory cells.

11. The method of claim 10 , further comprising ignoring, or deeming invalid, each digit position of the plurality of digit positions of the respective data value for any memory cell of the plurality of memory cells that corresponds to the respective second data for that memory cell.

12. The method of claim 9 , wherein reading each memory cell of the plurality of memory cells comprises reading a particular digit position of a plurality of digit positions of a respective data value for each memory cell of the plurality of memory cells, and wherein decoding the read data using the inverse of the particular function comprises decoding the particular digit position of the plurality of digit positions of the respective data value for each memory cell of the plurality of memory cells.

13. The method of claim 12 , wherein reading the particular digit position of the plurality of digit positions of the respective data value for each memory cell of the plurality of memory cells comprises reading data corresponding to the redistributed data programmed to the plurality of memory cells.

14. The method of claim 12 , further comprising not reading any remaining digit position of the plurality of digit positions of the respective data value for each memory cell of the plurality of memory cells.

15. A method of operating a memory, comprising:

receiving data for programming to a memory cell of the memory, wherein the memory is configured to program the memory cell to one of a plurality of data states, each data state of the plurality of data states represented by a plurality of digit positions;

performing data randomization on the received data, thereby generating encoded data;

programming the encoded data to the memory cell; and

programming additional data to the memory cell without performing data randomization on the additional data prior to programming the additional data to the memory cell.

16. The method of claim 15 , wherein the additional data is configured to program the memory cell to one of two pre-selected data states of the plurality of data states regardless of a data value of the encoded data.

17. The method of claim 15 , wherein performing data randomization on the received data comprises changing a pattern of data values of the received data in a reversible manner.

18. The method of claim 15 , wherein receiving the data for programming to the memory cell comprises receiving data corresponding to one digit position of a data state of the plurality of data states to be programmed to the memory cell.

19. The method of claim 18 , wherein programming the additional data to the memory cell comprises programming data corresponding to one or more digit positions of the data state to be programmed to the memory cell.

20. A method of operating a memory, comprising:

performing data randomization on a first data value for a particular digit position of a data state of a memory cell, thereby generating a randomized first data value, wherein the data state of the memory cell is represented by a plurality of digit positions;

programming the randomized first data value for the particular digit position to the memory cell; and

programming a second data value for a different digit position of the data state to the memory cell without performing data randomization on the second data value prior to programming the second data value to the memory cell.

Assignments (4)
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 11, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050713/0001 →
SUPPLEMENT NO. 9 TO PATENT SECURITY AGREEMENT Recorded Aug 9, 2018
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 047282/0463 →
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 →
Continuity (2)
Continuation 15490316 · Apr 18, 2017
Related Publication 20180277200A1 · Sep 27, 2018