Segmented data storage
First Claim
Patent Images
1. A method for data storage, comprising:
- estimating reliability of one or more multi-level memory cells in a memory, wherein the estimating the reliability includes determining a number of program and erase cycles that have been performed on the one or more multi-level memory cells;
partitioning the memory into a first storage area and a second storage area dependent upon the estimated reliability;
processing input data to produce first redundancy data and second redundancy data, wherein the second redundancy data incudes a larger number of redundancy bits than the first redundancy data;
storing the input data and the first redundancy data in the first storage area, wherein storing the input data includes mapping bit values of the input data to programming levels in a binary order;
storing the second redundancy data in the second storage area; and
evaluating a criterion with respect to the stored input data, and, responsively to the criterion, selecting to perform one of;
reconstructing the input data irrespective of the second redundancy data stored in the second storage area by reading the input data from the first storage area; and
reading the second redundancy data from the second storage area and reconstructing the input data responsively to the second redundancy data;
wherein reconstructing the input data responsively to the second redundancy data comprises reusing readout data from a first page of the stored input data in a reading of a second page of the stored input data.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for data storage includes assigning in a memory that includes one or more storage devices a first storage area for storage of user data, and a second storage area, which is separate from the first storage area, for storage of redundancy information related to the user data. Input data is processed to produce redundancy data, and the input data is stored in the first storage area using at least one first write command. The redundancy data is stored in the second storage area using at least one second write command, separate from the first write command.
-
Citations
20 Claims
-
1. A method for data storage, comprising:
-
estimating reliability of one or more multi-level memory cells in a memory, wherein the estimating the reliability includes determining a number of program and erase cycles that have been performed on the one or more multi-level memory cells; partitioning the memory into a first storage area and a second storage area dependent upon the estimated reliability; processing input data to produce first redundancy data and second redundancy data, wherein the second redundancy data incudes a larger number of redundancy bits than the first redundancy data; storing the input data and the first redundancy data in the first storage area, wherein storing the input data includes mapping bit values of the input data to programming levels in a binary order; storing the second redundancy data in the second storage area; and evaluating a criterion with respect to the stored input data, and, responsively to the criterion, selecting to perform one of; reconstructing the input data irrespective of the second redundancy data stored in the second storage area by reading the input data from the first storage area; and reading the second redundancy data from the second storage area and reconstructing the input data responsively to the second redundancy data; wherein reconstructing the input data responsively to the second redundancy data comprises reusing readout data from a first page of the stored input data in a reading of a second page of the stored input data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus for data storage, comprising:
-
an interface, which is coupled to communicate with a memory; and circuitry coupled to the memory, wherein the circuitry is configured to; estimate reliability of one or more multi-level memory cells in the memory, wherein to estimate the reliability of the one or more multi-level memory cells in the memory, the circuitry is further configured to determine a number of program and erase cycles that have been performed on the one or more multi-level memory cells; partitioning the memory into a first storage area and a second storage area dependent upon the estimated reliability; process input data to produce first redundancy data and second redundancy data, wherein the second redundancy data includes a larger number of redundancy bits than the first redundancy data; store the input data and the first redundancy data in the first storage area; wherein to store the input data the circuitry is further configured to map bit values of the input data to programming levels in a binary order; store the second redundancy data in the second storage area; and evaluate a criterion with respect to the stored input data, and, responsively to the criterion, selecting to perform one of; reconstruct the input data irrespective of the second redundancy data stored in the second storage area by reading the input data from the first storage area; and read the second redundancy data from the second storage area and reconstructing the input data responsively to the second redundancy data; wherein to reconstruct the input data responsively to the read second redundancy data the circuitry is further configured to reuse readout data from a first page of the stored input data in a reading of a second page of the stored input data. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification