Error correction for storage devices
US-9201731-B2 · Dec 1, 2015 · US
US9922678B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9922678-B2 |
| Application number | US-201514947833-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 20, 2015 |
| Priority date | Sep 15, 2009 |
| Publication date | Mar 20, 2018 |
| Grant date | Mar 20, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and techniques include a method including: receiving a data request for first data stored at a storage device; reading second data from discrete units of storage of the storage device, the second data comprising the first data read from two or more of the discrete units of storage, error correction code redundancies read from the two or more of the discrete units of storage, and parity data read from at least one of the discrete units of storage; detecting, based on the error correction code redundancies, an error in a first portion of the first data stored in one of the two or more of the discrete units of storage; and recovering the first portion of the first data using the parity data and a second portion of the first data read from one or more remaining ones of the two or more of the discrete units of storage.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, at a storage controller, a data request for first data stored at a storage device; reading, in response to the data request, second data from discrete units of storage of the storage device, the second data comprising i) the first data read from two or more of the discrete units of storage, ii) error correction code redundancies read from the two or more of the discrete units of storage, and iii) parity data read from at least one of the discrete units of storage; detecting, based on the error correction code redundancies read from the two or more of the discrete units of storage, an error in a first portion of the first data, wherein the first portion of the first data with the error is stored in one of the two or more of the discrete units of storage; and recovering the first portion of the first data with the error using i) the parity data and ii) a second portion of the first data read from one or more remaining ones of the two or more of the discrete units of storage. 2. The method of claim 1 , wherein each of the error correction code redundancies is associated with a wordline, wherein each wordline comprises a single page for storing data. 3. The method of claim 1 , wherein each of the error correction code redundancies is associated with a wordline, wherein each wordline comprises a plurality of pages for storing data. 4. The method of claim 1 , wherein error correction code redundancies are done on a wordline level. 5. The method of claim 4 , wherein the storage device is a single level cell (SLC) solid state memory device. 6. The method of claim 4 , wherein the storage device is a multi level cell (MLC) solid state memory device. 7. The method of claim 1 , wherein the at least one of the discrete units of storage from which the parity data is read comprises at least one dedicated parity device. 8. The method of claim 1 , wherein the storage device is a solid state memory device, and each of the discrete units of storage is a page in the solid state memory device. 9. The method of claim 8 , wherein the reading comprises reading pages in accordance with an interleaving across physical memory blocks of the solid state memory device. 10. A storage system comprising: discrete units of storage in a storage device; and a controller, coupled to the discrete units of storage in the storage device, to read, in response to a data request for first data, second data from the discrete units of storage in the storage device, the second data comprising i) the first data read from two or more of the discrete units of storage, ii) error correction code redundancies read from the two or more of the discrete units of storage, and iii) parity data read from at least one of the discrete units of storage, detect, based on the error correction code redundancies, an error in a first portion of the first data, wherein the first portion of the first data with the error is stored in one of the two or more of the discrete units of storage, and recover the first portion of the first data with the error using i) the parity data and ii) a second portion of the first data read from one or more remaining ones of the two or more of the discrete units of storage. 11. The storage system of claim 10 , wherein each of the error correction code redundancies is associated with a wordline, wherein each wordline comprises a single page for storing data. 12. The storage system of claim 10 , wherein each of the error correction code redundancies is associated with a wordline, wherein each wordline comprises a plurality of pages for storing data. 13. The storage system of claim 10 , wherein error correction code redundancies are done on a wordline level. 14. The storage system of claim 13 , wherein the storage device is a single level cell (SLC) solid state memory device. 15. The storage system of claim 13 , wherein the storage device is a multi level cell (MLC) solid state memory device. 16. The storage system of claim 10 , wherein the at least one of the discrete units of storage from which the parity data is read comprises at least one dedicated parity device. 17. The storage system of claim 10 , wherein the storage device is a solid state memory device, and each of the discrete units of storage is a page in the solid state memory device. 18. The storage system of claim 17 , wherein the controller reads pages from the solid state memory device in accordance with an interleaving across physical memory blocks of the solid state memory device.
ECC block, i.e. a block of error correction encoded symbols which includes all parity data needed for decoding · CPC title
by adding special lists or symbols to the coded information (G11B20/1806, G11B20/1866 take precedence) · CPC title
Error detection or correction by redundancy in data representation, e.g. by using checking codes · CPC title
Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title
track, i.e. the entire a spirally or concentrically arranged path on which the recording marks are located · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.