Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
First Claim
Patent Images
1. A method of selecting among gears, wherein different gears correspond to different error correction coding (ECC) schemes for regions of a flash drive, the method comprising:
- performing a memory test to determine raw bit error rates among the regions of the flash drive, wherein performing the memory test further comprises;
encoding data only with a gear having the highest amount of correction ability for all the regions regardless of the current gear setting(s) for the regions;
programming the encoded data;
retrieving the encoded data;
performing error correction such that errors encountered can be counted;
determining a raw bit error rate (RBER) based on the counted errors;
retiring regions having an RBER above a selected threshold; and
for remaining regions, allocating one or more regions to one of at least a first gear or a second gear based at least partly on the RBER for the region, wherein the first gear and the second gear vary by data payload size and correction capability; and
initiating the method at least partly in response to receiving an instruction to perform formatting;
wherein the memory test, retiring regions, and allocating are performed by an integrated circuit.
7 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and methods provide relatively low uncorrectable bit error rates, low write amplification, long life, fast and efficient retrieval, and efficient storage density such that a solid-state drive (SSD) can be implemented using relatively inexpensive MLC Flash for an enterprise storage application.
123 Citations
17 Claims
-
1. A method of selecting among gears, wherein different gears correspond to different error correction coding (ECC) schemes for regions of a flash drive, the method comprising:
-
performing a memory test to determine raw bit error rates among the regions of the flash drive, wherein performing the memory test further comprises; encoding data only with a gear having the highest amount of correction ability for all the regions regardless of the current gear setting(s) for the regions; programming the encoded data; retrieving the encoded data; performing error correction such that errors encountered can be counted; determining a raw bit error rate (RBER) based on the counted errors; retiring regions having an RBER above a selected threshold; and for remaining regions, allocating one or more regions to one of at least a first gear or a second gear based at least partly on the RBER for the region, wherein the first gear and the second gear vary by data payload size and correction capability; and initiating the method at least partly in response to receiving an instruction to perform formatting; wherein the memory test, retiring regions, and allocating are performed by an integrated circuit. - View Dependent Claims (2, 3, 4, 15)
-
-
5. An apparatus comprising:
-
a first circuit configured to initiate a memory test at least partly in response to an instruction to perform formatting to determine raw bit error rates among regions of a flash drive, wherein to run the memory test, the first circuit is configured to; encode data only with a gear having the highest amount of correction ability for all the regions regardless of the current gear setting(s) for the regions; program the encoded data; retrieve the encoded data; perform error correction such that errors encountered can be counted; and determine a raw bit error rate (RBER) based on the counted errors; and a second circuit configured to; retire regions having a RBER above a selected threshold; and allocate one or more remaining regions to one of at least a first gear or a second gear based at least partly on the RBER for the region, wherein the first gear and the second gear vary by data payload size and correction capability, wherein different gears correspond to different error correction coding (ECC) schemes for regions of the flash drive. - View Dependent Claims (6, 7, 8, 9, 16)
-
-
10. An apparatus for selecting among gears, wherein different gears correspond to different error correction coding (ECC) schemes for regions of a flash drive, the apparatus comprising:
-
a means for performing a memory test configured to determine raw bit error rates among the regions of the flash drive, wherein the memory test performing means is configured to; initiate the memory test at least partly in response to receiving an instruction to perform formatting; encode data only with a gear having the highest amount of correction ability for all the regions regardless of the current gear setting(s) for the regions; program the encoded data; retrieve the encoded data; perform error correction such that errors encountered can be counted; and determine a raw bit error rate (RBER) based on the counted errors; a means for retiring regions having an RBER above a selected threshold; and a means for allocating one or more remaining regions to one of at least a first gear or a second gear based at least partly on the RBER for the region, wherein the first gear and the second gear vary by data payload size and correction capability. - View Dependent Claims (11, 12, 13, 14, 17)
-
Specification