Memory device with secure boot updates and self recovery
US-2024406008-A1 · Dec 5, 2024 · US
US10747460B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10747460-B2 |
| Application number | US-201916248015-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 15, 2019 |
| Priority date | Jan 18, 2018 |
| Publication date | Aug 18, 2020 |
| Grant date | Aug 18, 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.
Techniques change a type of a storage system. The techniques involve: determining, from a resource pool associated with the storage system, a set of used disks utilized by one stripe of the storage system and a set of spare disks unutilized by the stripe; determining a neighboring relationship between spare disks in the set of spare disks and used disks in the set of used disks, the neighboring relationship indicating a number of adjacencies between the spare disks and the used disks in a period of history time; selecting, based on the neighboring relationship, one spare disk from the set of spare disks as an expanded disk of the stripe; and updating the stripe of the storage system using extents of the expanded disk. Accordingly, the type of the storage system may be changed based on the existing resources to improve reliability and operating efficiency.
Opening claim text (preview).
We claim: 1. A method for changing a type of a storage system, comprising: determining, from a resource pool associated with the storage system, a set of used disks utilized by one stripe of the storage system and a set of spare disks unutilized by the stripe; determining a neighboring relationship between spare disks in the set of spare disks and used disks in the set of used disks, the neighboring relationship indicating a number of adjacencies between the spare disks and the used disks in a historical time period; selecting, based on the neighboring relationship, one spare disk from the set of spare disks as an expanded disk of the stripe; and updating the stripe of the storage system by using extents of the expanded disk. 2. The method of claim 1 , wherein determining the set of spare disks and the set of used disks comprises: determining whether a disk in the resource pool has an extent included in the stripe of the storage system; in response to determining the disk having the extent included in the stripe of the storage system, determining the disk as a used disk of the stripe; and in response to determining the disk having no extent included in the stripe of the storage system, determining the disk as a spare disk of the stripe. 3. The method of claim 1 , wherein determining the neighboring relationship between the spare disks and the used disks comprises: establishing a neighborhood matrix for the resource pool, each element in the neighborhood matrix indicating a number of adjacencies between one disk and another disk in the resource pool within the historical time period; and searching the neighborhood matrix for the neighboring relationship between the spare disks and the used disks. 4. The method of claim 3 , further comprising: updating the neighborhood matrix based on the expanded disk. 5. The method of claim 1 , wherein selecting the expanded disk from the set of spare disks comprises: computing, based on the neighboring relationship, a score of each spare disk in the set of spare disks; and selecting, from the set of spare disks, a spare disk with a minimum score as the expanded disk of the stripe. 6. The method of claim 1 , further comprising: prior to determining the neighboring relationship, modifying non-paged metadata of the stripe, the non-paged metadata including at least one of: the type of the storage system, a width of the stripe, an extent position and an identifier of a slot of the stripe. 7. The method of claim 1 , further comprising: updating a mapping relationship between extents in the stripe and extents in the resource pool. 8. The method of claim 7 , further comprising: modifying paged metadata of the stripe, the paged metadata indicating the selected extent as a rebuild position for the stripe when the stripe fails. 9. The method of claim 1 , further comprising: prior to determining the neighboring relationship, suspending processing of unprocessed user input/output requests for the storage system. 10. The method of claim 9 , further comprising: after updating all stripes of the storage system, continuing to process the unprocessed user input/output requests for the storage system. 11. A device for changing a type of a storage system, comprising: a set of processors; a memory coupled to the set of processors, the memory storing computer program instructions which, when executed by the set of processors, cause the device to: determine, from a resource pool associated with the storage system, a set of used disks utilized by one stripe of the storage system and a set of spare disks unutilized by the stripe; determine a neighboring relationship between spare disks in the set of spare disks and used disks in the set of used disks, the neighboring relationship indicating a number of adjacencies between the spare disks and the used disks in a historical time period; select, based on the neighboring relationship, one spare disk from the set of spare disks as an expanded disk of the stripe; and update the stripe of the storage system by using extents of the expanded disk. 12. The device of claim 11 , wherein the computer program instructions stored in the memory, when executed by the one or more processors, further cause the device to: determine whether a disk in the resource pool has an extent included in the stripe of the storage system; in response to determining the disk having the extent included in the stripe of the storage system, determine the disk as a used disk of the stripe; and in response to determining the disk having no extent included in the stripe of the storage system, determine the disk as a spare disk of the stripe. 13. The device of claim 11 , wherein the computer program instructions stored in the memory, when executed by the one or more processors, further cause the device to: establish a neighborhood matrix for the resource pool, each element in the neighborhood matrix indicating a number of adjacencies between one disk and another disk in the resource pool within the historical time period; search the neighborhood matrix for the neighboring relationship between the spare disks and the used disks. 14. The device of claim 13 , wherein the computer program instructions stored in the memory, when executed by the one or more processors, further cause the device to: update the neighborhood matrix based on the expanded disk. 15. The device of claim 11 , wherein the computer program instructions stored in the memory, when executed by the one or more processors, further cause the device to: compute, based on the neighboring relationship, a score of each spare disk in the set of spare disks; and select, from the set of spare disks, a spare disk with a minimum score as the expanded disk of the stripe. 16. The device of claim 11 , wherein the computer program instructions stored in the memory, when executed by the one or more processors, further cause the device to: prior to determining the neighboring relationship, modify non-paged metadata of the stripe, the non-paged metadata including at least one of: the type of the storage system, a width of the stripe, an extent position and an identifier of a slot of the stripe. 17. The device of claim 11 , wherein the computer program instructions stored in the memory, when executed by the one or more processors, further cause the device to: update a mapping relationship between extents in the stripe and extents in the resource pool. 18. The device of claim 17 , wherein the computer program instructions stored in the memory, when executed by the one or more processors, further cause the device to: modify paged metadata of the stripe, the paged metadata indicating the selected extent as a rebuild position for the stripe when the stripe fails. 19. The device of claim 11 , wherein the computer program instructions stored in the memory, when executed by the one or more processors, further cause the device to: prior to determining the neighboring relationship, suspend processing of unprocessed user input/output requests for the storage system. 20. The device of claim 19 , wherein the computer program instructions stored in the memory, when executed by the one or more processors, further cause the device to: after updating all stripes of the storage system, continue to process the unprocessed user input/output requests for the storage system. 21. A computer program product having a non-transitory computer readable medium which stores a set of instructions fo
Disk arrays, e.g. RAID, JBOD · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Management of space entities, e.g. partitions, extents, pools · CPC title
Rebuilding, e.g. when physically replacing a failing disk · CPC title
by changing the state or mode of one or more devices · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.