Symbol frequency leveling in a storage system
First Claim
1. A method of storing data in a memory cell array, an individual memory cell having two or more possible states representing one or more bits of data, the data stored in a format that conforms to predetermined criteria, comprising:
- transforming a portion of data received from a host according to a first transformation that reduces the number of occurrences of a first state if the portion of data were stored in the memory cell array;
subsequently analyzing the transformed portion of data to determine if the transformed portion of data conforms to the predetermined criteria; and
if the transformed portion of data does not conform to the predetermined criteria, transforming the transformed portion of data according to a second transformation to provide a twice transformed portion of data.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for transforming data into a format which may be efficiently stored in a non-volatile memory are disclosed. According to one aspect of the present invention, a method for storing information of a first data format in a memory system includes generating statistics associated with the first data format, and transforming the information from the first data format to a second data format using the statistics. Once the information is transformed into the second data format, the information is stored into a memory. Storing the information in the second data format in the memory includes storing an identifier that identifies a transformation used to transform the information to the second data format. In one embodiment, costs associated with storing the information in the second data format are less than or equal to costs associated with storing the information in the first data format.
92 Citations
15 Claims
-
1. A method of storing data in a memory cell array, an individual memory cell having two or more possible states representing one or more bits of data, the data stored in a format that conforms to predetermined criteria, comprising:
-
transforming a portion of data received from a host according to a first transformation that reduces the number of occurrences of a first state if the portion of data were stored in the memory cell array; subsequently analyzing the transformed portion of data to determine if the transformed portion of data conforms to the predetermined criteria; and if the transformed portion of data does not conform to the predetermined criteria, transforming the transformed portion of data according to a second transformation to provide a twice transformed portion of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of transforming data that is sent by a host for storage in an array of non-volatile memory cells, comprising:
sequentially analyzing and transforming a plurality of symbols within the data, individual symbols corresponding to states to which individual non-volatile memory cells are programmed to store a portion of data, the sequential analysis determining how to transform a first one of the plurality based on a transformed symbol that was generated by a transformation of a sequentially prior second one of the plurality of symbols. - View Dependent Claims (11, 12, 13, 14, 15)
Specification