ADAPTIVE ECC TECHNIQUES FOR FLASH MEMORY BASED DATA STORAGE
First Claim
1. A system, comprising:
- means for error statistics collecting and tracking enabled to dynamically determine a raw Bit Error Rate (BER) of accesses to a portion of a flash memory; and
means for adaptive encoding enabled to encode according to a dynamically selected one of a plurality of error correcting codes, and further enabled to dynamically determine the dynamically selected error correcting code based at least in part on the raw BER.
7 Assignments
0 Petitions
Accused Products
Abstract
Adaptive ECC techniques for use with flash memory enable improvements in flash memory lifetime, reliability, performance, and/or storage capacity. The techniques include a set of ECC schemes with various code rates and/or various code lengths (providing different error correcting capabilities), and error statistic collecting/tracking (such as via a dedicated hardware logic block). The techniques further include encoding/decoding in accordance with one or more of the ECC schemes, and dynamically switching encoding/decoding amongst one or more of the ECC schemes based at least in part on information from the error statistic collecting/tracking (such as via a hardware logic adaptive codec receiving inputs from the dedicated error statistic collecting/tracking hardware logic block). The techniques further include selectively operating a portion (e.g., page, block) of the flash memory in various operating modes (e.g. as an MLC page or an SLC page) over time.
-
Citations
19 Claims
-
1. A system, comprising:
-
means for error statistics collecting and tracking enabled to dynamically determine a raw Bit Error Rate (BER) of accesses to a portion of a flash memory; and means for adaptive encoding enabled to encode according to a dynamically selected one of a plurality of error correcting codes, and further enabled to dynamically determine the dynamically selected error correcting code based at least in part on the raw BER. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system, comprising:
-
means for error statistics collecting and tracking enabled to dynamically determine a raw Bit Error Rate (BER) of accesses to a portion of a flash memory; and means for adaptive encoding/decoding comprising means for adaptive encoding and means for adaptive decoding, the means for adaptive encoding enabled to encode according to a first selected one of a plurality of error correcting codes, the means for adaptive decoding enabled to decode according to a second selected one of the error correcting codes, and the means for adaptive encoding/decoding further comprising means for controlling enabled to determine the first selected error correcting code based at least in part on information received from the means for error statistics collecting and tracking. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
means for dynamic code rate selection enabled to dynamically determine a respective code rate associated with each of a plurality of portions of a flash memory; means for encoding operable according to the respective determined code rates; means for decoding operable according to the respective determined code rates; and wherein a particular one of the portions is written with data encoded by the means for encoding according to a particular one of the respective determined code rates, and is subsequently read from the particular portion and decoded by the means for decoding. - View Dependent Claims (16, 17, 18, 19)
-
Specification