Data storage device and method for flash block management
US-9104549-B2 · Aug 11, 2015 · US
US9983963B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9983963-B2 |
| Application number | US-201514936355-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 9, 2015 |
| Priority date | Nov 9, 2015 |
| Publication date | May 29, 2018 |
| Grant date | May 29, 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.
A method of accessing data stored in a storage disk of a storage system includes the steps of receiving a read operation to a sector of the storage disk and in response to an error returned from the read operation, determining whether the sector is to be replaced. If the sector is determined to be replaced, the method further includes replacing the sector with a spare sector. The data previously stored at the replaced disk sector are reconstructed and written to the spare sector, and the LBA assigned to the replaced sector is reassigned to the PBA associated with the spare sector.
Opening claim text (preview).
What is claimed is: 1. A method of replacing failed sectors in a storage system, the method comprising: when a failed sector is detected and a pool of spare sectors has more than a first number of spare sectors, selecting a spare sector from the pool of spare sectors to replace the failed sector; when the failed sector is detected and the pool of spare sectors has the same as or less than the first number of spare sectors, loading a second number of spare sectors into the pool of spare sectors from a spare sector reserve; after the second number of spare sectors has been loaded into the pool of spare sectors from the spare sector reserve, loading all remaining spare sectors from the spare sector reserve into the pool of spare sectors when the spare sector reserve has the same as or less than a third number of spare sectors; after all remaining spare sectors from the spare sector reserve have been loaded into the pool of spare sectors, dividing the spare sectors in the pool of spare sectors into a first group of spare sectors and a second group of spare sectors; and selecting a spare sector from the first group of spare sectors to replace the failed sector. 2. The method of claim 1 , wherein the failed sector is placed into a pool of recycled sectors, and further comprising: when the first group of spare sectors is empty, replenishing the first group of spare sectors with recycled sectors from the pool of recycled sectors until there are no more recycled sectors in the pool of recycled sectors; when there are no more recycled sectors in the pool of recycled sectors and the pool of spare sectors, dividing the second group of spare sectors into a first subgroup of spare sectors and a second subgroup of spare sectors; and selecting a spare sector from the first subgroup of sectors. 3. A method of accessing data stored in a storage disk of a storage system, the method comprising: receiving a read operation to a sector of the storage disk; in response to an error returned from the read operation, determining whether the sector is to be replaced; in response to determining that the sector is to be replaced, replacing the sector with a spare sector, the spare sector being selected by: determining whether a number of spare sectors available in a pool of spare sectors exceeds a pre-determined threshold; in response to a determination that the number of spare sectors available exceeds the pre-determined threshold, selecting a spare sector from the pool; in response to a determination that the number of spares sectors available does not exceed the pre-determined threshold: loading a plurality of spare sectors from a spare sector reserve into the pool of spare sectors; determining whether a remaining size of the spare sector reserve exceeds a pre-determined reserve-size threshold; in response to a determination that the remaining size of the spare sector reserve exceeds the pre-determined reserve-size threshold, selecting a spare sector from the pool; in response to a determination that the remaining size of the spare sector reserve does not exceed the pre-determined reserve-size threshold: (a) loading all spare sectors available in the spare sector reserve into the pool of spare sectors; (b) dividing the spare sectors in the pool into a first group and a second group; (c) starting to select a spare sector from the first group until exhausting the first group and to retain replaced sectors as recycled sectors; (d) if there are no spare sectors in the first group, loading a plurality of the recycled sectors in the pool to replenish the first group and starting to select a spare sector from the first group until there is no recycled sectors in the first group; (e) determining whether a size of the second group is greater than 1; and (f) in response to a determination that the size of the second group is greater than 1, repeating from step (b). 4. The method of claim 3 , wherein the reconstructed data is written to a plurality of recycled sectors selected from the pool. 5. A method of replacing failed sectors in a storage system, the method comprising: when a failed storage sector is detected and a pool of spare sectors has the same as or less than a first number of spare sectors, loading a second number of spare sectors into the pool of spare sectors from a spare sector reserve; after the second number of spare sectors has been loaded into the pool of spare sectors from the spare sector reserve, loading all remaining spare sectors from the spare sector reserve into the pool of spare sectors when the spare sector reserve has less than a third number of spare sectors; after all remaining spare sectors from the spare sector reserve have been loaded into the pool of spare sectors, dividing the spare sectors in the pool of spare sectors into a first group of spare sectors and a second group of spare sectors; and selecting a spare sector from the first group of spare sectors to replace the failed sector. 6. The method of claim 5 , further comprising: after the failed sector has been detected, reconstructing data previously stored in the failed sector; and after the spare sector has been selected, writing the reconstructed data to the spare sector. 7. The method of claim 5 , wherein the data previously stored in the failed sector is stored by use of erasure coding and the reconstructed data is generated by erasure decoding. 8. The method of claim 5 , wherein the failed sector is placed in a pool of recycled sectors. 9. The method of claim 8 , further comprising: when the first group of spare sectors is empty, replenishing the first group of spare sectors with recycled sectors from the pool of recycled sectors until there are no more recycled sectors in the pool of recycled sectors; when there are no more recycled sectors in the pool of recycled sectors and the pool of spare sectors, dividing the second group of spare sectors into a first subgroup of spare sectors and a second subgroup of spare sectors; and selecting a spare sector from the first subgroup of sectors. 10. A method of replacing sectors in a storage disk, the method comprising: replacing a sector with a spare sector if the sector is determined to be replaced; reconstructing data previously stored in the sector in response to determining that the sector is to be replaced; and writing the reconstructed data to the spare sector, the spare sector being selected by: determining whether a number of spare sectors available in a pool of spare sectors exceeds a pre-determined threshold; in response to a determination that the number of spare sectors available exceeds the pre-determined threshold, selecting a spare sector from the pool; in response to a determination that the number of spare sectors available does not exceed the pre-determined threshold: loading a plurality of spare sectors from a spare sector reserve into the pool of spare sectors; determining whether a remaining size of the spare sector reserve exceeds a pre-determined reserve-size threshold; and in response to a determination that the remaining size of the spare sector reserve exceeds the pre-determined reserve-size threshold, selecting a spare sector from the pool; in response to a determination that the remaining size of the spare sector reserve does not exceed the pre-determined reserve-size threshold: (a) loading all spare sectors available in the spare sector reserve into the pool of spare sectors; (b) dividing the spare sectors in the pool into a first group and a second group; (c) starting to select a spare sector from the first group until exhausting the first group and to retain replaced sectors as recycled sectors; (d) if there are no spare sec
Redundant storage or storage space (G06F11/2056 takes precedence) · CPC title
Real-time · CPC title
Active fault masking without idle spares · CPC title
Rebuilding, e.g. when physically replacing a failing disk · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.