IP Library Granted Patent US 8,996,957
Granted Patent B1
US 8,996,957 · App. 13/477,633 · Granted Mar 31, 2015

Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,996,957
App. No.
13/477,633
Granted
Mar 31, 2015
Kind
B1
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.

Claims (54)

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.

2. The method of claim 1 , wherein performing the memory test further comprises applying a test pattern to the regions, counting errors encountered, and determining the RBER based on the counted errors.

3. The method of claim 1 , wherein performing the memory test further comprises:

scrambling data corresponding to all zeroes;

encoding the scrambled data with the gear having the highest amount of correction ability; and

determining the RBER based on the counted errors.

4. The method of claim 3 , wherein the errors are counted by counting ones in the corrected data.

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.

6. The apparatus of claim 5 , wherein the first circuit is further configured to apply a test pattern to the regions, to count errors encountered, and to determine the RBER based on the counted errors.

7. The apparatus of claim 5 , wherein the first circuit is further configured to:

scramble data corresponding to all zeroes;

encode the scrambled data with the gear having the highest amount of correction ability; and

determine the RBER based on the counted errors.

8. The apparatus of claim 7 , wherein the first circuit is configured to count ones in the corrected data to count errors.

9. The apparatus of claim 5 , further comprising a plurality of flash memory devices, wherein the apparatus comprises the flash drive.

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.

11. The apparatus of claim 10 , wherein the memory test performing means is configured to apply a test pattern to the regions, count errors encountered, and determine the RBER based on the counted errors.

12. The apparatus of claim 10 , wherein the memory test performing means is further configured to:

scramble data corresponding to all zeroes;

encode the scrambled data with the gear having the highest amount of correction ability; and

determine the RBER based on the counted errors.

13. The apparatus of claim 12 , wherein memory test performing means is further configured to count the errors by counting ones in the corrected data.

14. The apparatus of claim 10 , further comprising a plurality of flash memory devices, wherein the apparatus comprises the flash drive.

15. The method of claim 1 , wherein the memory test, retiring regions, and allocating are performed concurrently with initialization operations for an end user.

16. The apparatus of claim 5 , wherein the first circuit is configured to run the memory test concurrently with initialization operations for an end user.

17. The apparatus of claim 10 , wherein the memory test performing means is further configured to run the memory test concurrently with initialization operations for an end user.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2017
From: MICROSEMI STORAGE SOLUTIONS, INC.
To: IP GEM GROUP, LLC
Reel/Frame 043212/0221 →
CHANGE OF NAME Recorded Apr 7, 2016
From: PMC-SIERRA, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 038381/0753 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2014
From: NORTHCOTT, PHILIP L.
To: PMC-SIERRA, INC.
Reel/Frame 033856/0298 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →