Data storage with incremental redundancy
First Claim
1. A method for operating a memory that includes a plurality of memory cells, comprising:
- encoding input data with an Error Correction Code (ECC) so as to produce input encoded data comprising first and second sections, such that the ECC is decodable with a first error correction capability when decoded only based on the first section, and is decodable with a second error correction capability, higher than the first error correction capability, when decoded based on both the first and the second sections;
storing the input encoded data in the memory cells;
after storing at least part of the input encoded data, reading from the memory cells output encoded data; and
evaluating a condition related to the output encoded data and reconstructing the input data using a decoding level selected, responsively to the evaluated condition, from a group of decoding levels consisting of;
a first decoding level, at which a first part of the output encoded data corresponding to the first section of the input encoded data is processed so as to decode the ECC with the first error correction capability; and
a second decoding level, at which both the first part and a second part of the output encoded data corresponding to the second section of the input encoded data are processed jointly so as to decode the ECC with the second error correction capability.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for operating a memory includes encoding input data with an Error Correction Code (ECC) to produce input encoded data including first and second sections, such that the ECC is decodable based on the first section at a first redundancy, and based on both the first and the second sections at a second redundancy that is higher than the first redundancy.
Output encoded data is read and a condition is evaluated. The input data is reconstructed using a decoding level selected, responsively to the condition, from a first level, at which a first part of the output encoded data corresponding to the first section is processed to decode the ECC at the first redundancy, and a second level, at which the first part and a second part of the output encoded data corresponding to the second section are processed jointly to decode the ECC at the second redundancy.
-
Citations
37 Claims
-
1. A method for operating a memory that includes a plurality of memory cells, comprising:
-
encoding input data with an Error Correction Code (ECC) so as to produce input encoded data comprising first and second sections, such that the ECC is decodable with a first error correction capability when decoded only based on the first section, and is decodable with a second error correction capability, higher than the first error correction capability, when decoded based on both the first and the second sections; storing the input encoded data in the memory cells; after storing at least part of the input encoded data, reading from the memory cells output encoded data; and evaluating a condition related to the output encoded data and reconstructing the input data using a decoding level selected, responsively to the evaluated condition, from a group of decoding levels consisting of; a first decoding level, at which a first part of the output encoded data corresponding to the first section of the input encoded data is processed so as to decode the ECC with the first error correction capability; and a second decoding level, at which both the first part and a second part of the output encoded data corresponding to the second section of the input encoded data are processed jointly so as to decode the ECC with the second error correction capability. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A data storage apparatus, comprising:
-
an interface, which is operative to communicate with a memory that includes a plurality of memory cells; and a processor, which is connected to the interface and is coupled to encode input data with an Error Correction Code (ECC) so as to produce input encoded data comprising first and second sections, such that the ECC is decodable with a first error correction capability when decoded only based on the first section, and is decodable with a second error correction capability, higher than the first error correction capability, when decoded based on both the first and the second sections, to store the input encoded data in the memory cells, to read from the memory cells output encoded data after storing at least part of the input encoded data, to evaluate a condition related to the output encoded data and to reconstruct the input data using a decoding level selected, responsively to the evaluated condition, from a group of decoding levels consisting of; a first decoding level, at which a first part of the output encoded data corresponding to the first section of the input encoded data is processed so as to decode the ECC with the first error correction capability; and a second decoding level, at which both the first part and a second part of the output encoded data corresponding to the second section of the input encoded data are processed jointly so as to decode the ECC with the second error correction capability. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A data storage apparatus, comprising:
-
a memory, which comprises a plurality of memory cells; and a processor, which is coupled to encode input data with an Error Correction Code (ECC) so as to produce input encoded data comprising first and second sections, such that the ECC is decodable with a first error correction capability when decoded only based on the first section, and is decodable with a second error correction capability, higher than the first error correction capability, when decoded based on both the first and the second sections, to store the input encoded data in the memory cells, to read from the memory cells output encoded data after storing at least part of the input encoded data, to evaluate a condition related to the output encoded data and to reconstruct the input data using a decoding level selected, responsively to the evaluated condition, from a group of decoding levels consisting of; a first decoding level, at which a first part of the output encoded data corresponding to the first section of the input encoded data is processed so as to decode the ECC with the first error correction capability; and a second decoding level, at which both the first part and a second part of the output encoded data corresponding to the second section of the input encoded data are processed jointly so as to decode the ECC with the second error correction capability.
-
Specification