Data reduction techniques in a flash-based key/value cluster storage
US-9606870-B1 · Mar 28, 2017 · US
US10613770B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10613770-B2 |
| Application number | US-201615384769-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 20, 2016 |
| Priority date | Dec 29, 2015 |
| Publication date | Apr 7, 2020 |
| Grant date | Apr 7, 2020 |
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 and an apparatus for controlling an access to a disk array. The method comprises: receiving a command for writing to a first stripe of the plurality of stripes; and determining a first parity position for the first stripe by searching a mapping table, the mapping table recording a first mapping between the first stripe and the first parity position allocated in the first stripe, the first parity position being arranged in a first disk of the plurality of disks having a minimum wearing level. The embodiments of the present disclosure further disclose a corresponding apparatus. The embodiments of the present disclosure provides a solution for controlling an access to a disk array, which can achieve a dynamic balance of wearing levels among all of the disks in a RAID, thereby making it possible to control or manage a failure order of the disks.
Opening claim text (preview).
We claim: 1. A method of controlling an access to a disk array, the disk array including a plurality of disks that are divided into a plurality of stripes with same fixed storage capability, the method comprising: receiving a command for writing to a first stripe of the plurality of stripes; and determining a first parity position for the first stripe by searching a mapping table, the mapping table recording a first mapping between the first stripe and the first parity position allocated in the first stripe, the first parity position being arranged in a first disk of the plurality of disks having a minimum wearing level. 2. The method of claim 1 , further comprising: in response to determining that a second stripe of the plurality of stripes is unable to be retrieved in the mapping table, selecting, from the plurality of disks, a second disk with a minimum wearing level among the plurality of disks to arrange a second parity position for the second stripe; and recording a second mapping between the second stripe and the second parity position in the mapping table. 3. The method of claim 2 , further comprising: determining an actual wearing level factor for a third disk of the plurality of disks based on a ratio of an average erase count to a maximum erase count of the third disk; and determining a wearing level factor for the third disk based on the actual wearing level of the third disk. 4. The method of claim 3 , wherein the determining the wearing level factor for the third disk comprises: setting a reference wearing level for the third disk; and determining the wearing level factor for the third disk by adding the reference wearing level and the actual wearing level of the third disk. 5. The method of claim 4 , further comprising: adjusting the reference wearing level for the third disk dynamically. 6. The method of claim 5 , further comprising: adjusting the reference wearing level for the third disk in response to a user request. 7. The method of claim 1 , further comprising: in response to a trigger condition being satisfied, updating the mapping table. 8. The method of claim 7 , wherein the trigger condition comprises at least one of: a time interval exceeds a first threshold since the mapping table is detected to record mappings associated with all of the plurality stripes, a count for input and output requests exceeds a second threshold since the mapping table is detected to record mappings associated with all of the plurality stripes, and traffic of the input and output requests exceeds a third threshold since the mapping table is detected to record mappings associated with all of the plurality stripes. 9. The method of claim 7 , wherein the updating the mapping table comprises: determining a respective wearing level for each of the plurality of disks; updating a third parity position for a third stripe of the plurality of stripes periodically by selecting from the plurality of disks a fourth disk with a minimum wearing level among the plurality of disks to arrange the third parity position; and recording a third mapping between the third stripe and the updated third parity position in the mapping table. 10. The method of claim 9 , wherein the updating the mapping table comprises: updating a fourth parity position for a fourth stripe of the plurality of stripes periodically by exchanging the fourth parity position with a data position; and recording a fourth mapping between the fourth stripe and the updated fourth parity position in the mapping table. 11. The method of claim 1 , wherein each disk of the plurality of disks is a solid state disk (SSD) having a SSD wearing level value which represents an amount remaining life for that SSD; and wherein determining the first parity position for the first stripe includes: from multiple SSDs selected for holding the first stripe, selecting the SSD having the lowest SSD wearing level value to effectuate placement of parity for the first stripe in the SSD furthest from its end of life. 12. An apparatus for controlling an access to a disk array, the disk array including a plurality of disks that are divided into a plurality of stripes with same fixed storage capability, the apparatus comprising: a receiving unit configured to receive a command for writing to a first stripe of the plurality of stripes; and a mapping management unit configured to determine a first parity position for the first stripe by performing a searching operation that searches a mapping table, a result of the searching operation including the mapping table recording a first mapping which defines a relationship between the first stripe and the first parity position allocated in the first stripe, the relationship identifying the first parity position as being arranged in a first disk of the plurality of disks having a minimum wearing level; wherein each disk of the plurality of disks has a respective wearing level identifying an amount of remaining life for that disk, the first disk having the lowest wearing level to indicate that the first disk currently has the longest remaining service life among the other disks of the plurality of disks. 13. The apparatus according to claim 12 , wherein the mapping management unit is further configured to: in response to determining that a second stripe of the plurality of stripes is unable to be retrieved in the mapping table, select, from the plurality of disks, a second disk with a minimum wearing level among the plurality of disks to arrange a second parity position for the second stripe; and record a second mapping between the second stripe and the second parity position in the mapping table. 14. The apparatus according to claim 13 , wherein the mapping management unit is further configured to: determine an actual wearing level factor for a third disk of the plurality of disks based on a ratio of an average erase count to a maximum erase count of the third disk; and determine a current wearing level factor for the third disk based on the actual wearing level of the third disk. 15. The apparatus according to claim 14 , wherein the mapping management unit is further configured to determine the current wearing level factor for the third disk by: setting a reference wearing level for the third disk; and determining the current wearing level factor for the third disk by adding the reference wearing level and the actual wearing level of the third disk. 16. The apparatus according to claim 15 , wherein the mapping management unit is further configured to: adjust the reference wearing level for the third disk dynamically. 17. The apparatus according to claim 16 , wherein the mapping management unit is further configured to: adjust the reference wearing level for the third disk in response to a user request. 18. The apparatus according to claim 12 , wherein the mapping management unit is further configured to: in response to a trigger condition being satisfied, updating the mapping table. 19. The apparatus according to claim 18 , wherein the trigger condition comprises at least one of: a time interval exceeds a first threshold since the mapping table is detected to record mappings associated with all of the plurality stripes, a count for input and output requests exceeds a second threshold since the mapping table is detected to record mappings associated with all of the plurality stripes, and traffic of the input and output requests exceeds a third threshold since the mapping table is detected to record mappings assoc
Disk arrays, e.g. RAID, JBOD · CPC title
at area level, e.g. provisioning of virtual or logical volumes · CPC title
by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title
in relation to life time, e.g. increasing Mean Time Between Failures [MTBF] · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.