Method of storage allocation, electronic device, storage system and computer program product
US-2019220212-A1 · Jul 18, 2019 · US
US11163470B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11163470-B2 |
| Application number | US-201916654702-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 16, 2019 |
| Priority date | Oct 31, 2018 |
| Publication date | Nov 2, 2021 |
| Grant date | Nov 2, 2021 |
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.
Techniques manage a redundant array of independent disks. Such techniques involve: obtaining information on a wear level associated with each of a plurality of disks; selecting, based on the information on the wear level, a group of disks from the plurality of disks, a difference between the wear levels of any two of the group of disks being below a predetermined threshold; and creating a RAID with extents from the selected group of disks. Such techniques can sufficiently utilize the wear level to balance the data storage distribution among redundant arrays of independent disks, thereby enabling efficient management of redundant arrays of independent disks.
Opening claim text (preview).
We claim: 1. A method of managing a redundant array of independent disks (RAID), comprising: obtaining information on a wear level associated with each of a plurality of disks; selecting, based on the information on the wear level, a group of disks from the plurality of disks, a difference between wear levels of any two of the group of disks being below a predetermined threshold; and creating a RAID with extents from the selected group of disks; wherein the RAID comprises a plurality of physical large blocks (PLBs), each PLB including a block in extents of each of the group of disks, the method further comprising: in response to receiving a request to write target data to the RAID, determining, from the plurality of PLBs of the RAID, a first number of used PLBs having data stored therein; determining, based on an average value of wear levels of the group of disks and from the plurality of PLBs of the RAID, a second number of PLBs expected to store data; and in response to the first number being below the second number, determining a third number of free PLBs available for storing the target data. 2. The method according to claim 1 , further comprising: determining the third number of free PLBs from the plurality of PLBs; and storing the target data in the free PLBs. 3. The method according to claim 1 , wherein determining the second number of PLBs expected to store data comprises: determining, based on the average value of the wear levels of the group of disks, a first wear level of the RAID; determining, based on the first wear level of the RAID, a fourth number of unreserved PLBs from the plurality of PLBs of the RAID; determining, based on a second wear level of another RAID associated with the RAID, a fifth number of used PLBs and a sixth number of unreserved PLBs of the other RAID; and determining, based on the first number of used PLBs and the fourth number of unreserved PLBs of the RAID as well as the fifth number of used PLBs and the sixth number of unreserved PLBs of the other RAID, the second number of PLBs from the plurality of PLBs of the RAID. 4. The method according to claim 1 , further comprising: in response to the first number exceeding the second number, determining whether there is another RAID available for storing the target data; and in response to absence of the other RAID, adding a new disk to the plurality of disks to update the RAID. 5. The method according to claim 1 , wherein obtaining information on the wear level associated with each of the plurality of disks comprises: obtaining used time of a disk, the used time indicating a duration that the disk has been used to store data; obtaining a rated lifetime of the disk, the rated lifetime indicating the maximum time that the disk can be used to store data; and obtaining, based on the used time and the rated lifetime, the information on the wear level associated with the disk. 6. An electronic device for managing a redundant array of independent disks (RAID), comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts, the acts comprising: obtaining information on a wear level associated with each of a plurality of disks; selecting, based on the information on the wear level, a group of disks from the plurality of disks, a difference between wear levels of any two of the group of disks being below a predetermined threshold; and creating a RAID with extents from the selected group of disks; wherein the RAID comprises a plurality of physical large blocks (PLBs), each PLB including a block in extents of each of the group of disks, the device further comprising: in response to receiving a request to write target data to the RAID, determining, from the plurality of PLBs of the RAID, a first number of used PLBs having data stored therein; determining, based on an average value of wear levels of the group of disks and from the plurality of PLBs of the RAID, a second number of PLBs expected to store data; and in response to the first number being below the second number, determining a third number of free PLBs available for storing the target data. 7. The electronic device according to claim 6 , wherein the acts further comprise: determining the third number of free PLBs from the plurality of PLBs; and storing the target data in the free PLBs. 8. The electronic device according to claim 6 , wherein determining the second number of PLBs expected to store data comprises: determining, based on the average value of the wear levels of the group of disks, a first wear level of the RAID; determining, based on the first wear level of the RAID, a fourth number of unreserved PLBs from the plurality of PLBs of the RAID; determining, based on a second wear level of another RAID associated with the RAID, a fifth number of used PLBs and a sixth number of unreserved PLBs of the other RAID; and determining, based on the first number of used PLBs and the fourth number of unreserved PLBs of the RAID as well as the fifth number of used PLBs and the sixth number of unreserved PLBs of the other RAID, the second number of PLBs from the plurality of PLBs of the RAID. 9. The electronic device according to claim 6 , wherein the acts further comprise: in response to the first number exceeding the second number, determining whether there is another RAID available for storing the target data; and in response to absence of the other RAID, adding a new disk to the plurality of disks to update the RAID. 10. The electronic device according to claim 6 , wherein obtaining information on the wear level associated with each of the plurality of disks comprises: obtaining used time of a disk, the used time indicating a duration that the disk has been used to store data; obtaining a rated lifetime of the disk, the rated lifetime indicating the maximum time that the disk can be used to store data; and obtaining, based on the used time and the rated lifetime, the information on the wear level associated with the disk. 11. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage a redundant array of independent disks (RAID); the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of: obtaining information on a wear level associated with each of a plurality of disks; selecting, based on the information on the wear level, a group of disks from the plurality of disks, a difference between wear levels of any two of the group of disks being below a predetermined threshold; and creating a RAID with extents from the selected group of disks; wherein the RAID comprises a plurality of physical large blocks (PLBs), each PLB including a block in extents of each of the group of disks, the method further comprising: in response to receiving a request to write target data to the RAID, determining, from the plurality of PLBs of the RAID, a first number of used PLBs having data stored therein; determining, based on an average value of wear levels of the group of disks and from the plurality of PLBs of the RAID, a second number of PLBs expected to store data; and in response to the first number being below the second number, determining a third number of free PLBs available for storing the target data. 12. The computer program product according to claim 11 , wherein the method further comprises: determining th
Disk arrays, e.g. RAID, JBOD · CPC title
Management of blocks · CPC title
by allocating resources to storage systems · CPC title
Monitoring storage devices or systems · 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.