IP Library Granted Patent US 9,230,652
Granted Patent B2
US 9,230,652 · App. 13/791,856 · Granted Jan 5, 2016

Flash memories using minimum push up, multi-cell and multi-permutation schemes for data storage

Inventors: Anxiao Jiang (College Station, TX); Eyal En Gad (Pasadena, CA); Jehoshua Bruck (Pasadena, CA)
Assignee: California Institute of Technology
G11C16/0441G06F12/0246G11C11/5621G11C11/5628G11C11/5635G11C16/0483H03M2201/52
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,230,652
App. No.
13/791,856
Granted
Jan 5, 2016
Kind
B2
Abstract

Rank modulation has been recently proposed as a scheme for storing information in flash memories. Three improved aspects are disclosed. In one aspect the minimum push-up scheme, for storing data in flash memories is provided. It aims at minimizing the cost of changing the state of the memory. In another aspect, multi-cells, used for storing data in flash memories is provided. Each transistor is replaced with a multi-cell of mm transistors connected in parallel. In yet another aspect, multi-permutations, are provided. The paradigm of representing information with permutations is generalized to the case where the number of cells in each level is a constant greater than one.

Claims (28)

1. A method of operating a data device, the method comprising:

receiving a data value v=[v 1 , v 2 , . . . , v n ]∈S n wherein v is an element of S, and S is a set of symbols in a rank modulation coding scheme and n is a number of ranks in v to be stored in a group of n rank locations in data storage of the data device containing current values U=[u 1 , u 2 , . . . , u n ]∈S n ;

programming the group of n rank locations according to the rank modulation coding scheme and the value v such that for i=n−1, n−2, . . . , 1 the programmed value of a rank location v i is increased until it is greater than the value of a rank location v i+1 by a minimum cell differentiation amount.

2. A method as in claim 1 wherein each of the n rank locations comprises a cell of the device data storage.

3. A method as in claim 1 wherein each rank location comprises a plurality of cells of the device data storage.

4. A method as in claim 3 , wherein each rank location comprises an equal number of cells of the device data storage.

5. A method as in claim 3 , wherein programming comprises increasing the value of all cells in the rank location v i until the value in each of the cells v i is greater than the value in each of the cells in the rank location v i+1 .

6. A method as in claim 1 wherein the current values of u=[u 1 , u 2 , . . . , u n ]∈S n are read from the device data storage before the programming of the group of n rank locations with v.

7. A memory controller comprising:

an interface that receives a new data set for a rank of a plurality of ranks to be stored in a memory comprising a plurality of cells;

a processor configured to perform operations of:

receiving a data value v=[v 1 , v 2 , . . . , v n ]∈S n wherein v is an element of S, and S is a set of symbols in a rank modulation coding scheme and n is a number of ranks in v to be stored in a group of n rank locations in data storage of the data device containing current values u=[u 1 , u 2 , . . . , u n ]∈S n ;

programming the group of n rank locations according to the rank modulation coding scheme and the value v such that for i=n−1, n−2, . . . , 1 the programmed value of a rank location v i is increased until it is greater than the value of a rank location v i+1 by a minimum cell differentiation amount.

8. A memory controller as in claim 7 , wherein each of the n rank locations comprises a cell of the device data storage.

9. A memory controller as in claim 7 , wherein each rank location comprises a plurality of cells of the device data storage.

10. A memory controller as in claim 9 , wherein each rank location comprises an equal number of cells of the device data storage.

11. A memory controller as in claim 9 , wherein programming comprises increasing the value of all cells in the rank location v i until the value in each of the cells v i is greater than the value in each of the cells in the rank location v i+1 .

12. A memory controller as in claim 7 , wherein the current values of u=[u 1 , u 2 , . . . , u n ]∈S n are read from the device data storage before the programming of the group of n rank locations with v.

13. A data device comprising:

a memory configured to store data values:

a memory controller that is configured to store the data values in the memory by performing operations comprising:

receiving a data value v=[v 1 , v 2 , . . . , V n ]∈S n wherein v is an element of S, and S is a set of symbols in a rank modulation coding scheme and n is a number of ranks in v to be stored in a group of n rank locations in data storage of the data device containing current values u=[u 1 , u 2 , . . . , u n ]∈S n ;

programming the group of n rank locations according to the rank modulation coding scheme and the value v such that for i=n−1, n−2, . . . , 1 the programmed value of a rank location v i is increased until it is greater than the value of a rank location v i+1 by a minimum cell differentiation amount.

14. A data device as in claim 13 , wherein each of the n rank locations comprises a cell of the device data storage.

15. A data device as in claim 13 , wherein each rank location comprises a plurality of cells of the device data storage.

16. A data device as in claim 15 , wherein each rank location comprises an equal number of cells of the device data storage.

17. A data device as in claim 15 , wherein programming comprises increasing the value of all cells in the rank location v i until the value in each of the cells v i is greater than the value in each of the cells in the rank location v i+1 .

18. A data device as in claim 13 , wherein the current values of u=[u 1 , u 2 , . . . , u n ]∈S n are read from the device data storage before the programming of the group of n rank locations with v.

Assignments (2)
CONFIRMATORY LICENSE Recorded Aug 8, 2014
From: CALIFORNIA INSTITUTE OF TECHNOLOGY
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 033500/0899 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2013
From: JIANG, ANXIAO; GAD, EYAL EN; BRUCK, JEHOSHUA
To: CALIFORNIA INSTITUTE OF TECHNOLOGY
Reel/Frame 030690/0601 →
Continuity (3)
Provisional Application 61608245 · Mar 8, 2012
Provisional Application 61608465 · Mar 8, 2012
Related Publication 20130268723A1 · Oct 10, 2013