RAID storage system with logical data group priority
AssigneeWestern Digital Technologies, Inc.
InventorAdam Roberts
Life of this patent
Estimating the term…
Abstract
Example redundant array of independent disks (RAID) storage systems and methods provide rebuild of logical data groups in priority order. Storage devices are configured as a storage array for storing logical data groups distributed among the storage devices. The logical data groups are written in a configuration of RAID stripes in the storage devices. A logical group index includes a logical group map for each logical data group and identifies corresponding logical blocks. When a storage device fails, the rebuild queue is ordered based on the priority of the logical data groups and rebuild to the replacement storage device is completed in the priority order.
Claims20
A storage system, comprising:
- a plurality of storage devices configured as a storage array for storing a plurality of logical data groups distributed among the plurality of storage devices;
- a redundant array of independent disks (RAID) controller configured to write the plurality of logical data groups in a configuration of RAID stripes across at least one RAID group in the plurality of storage devices, the RAID controller comprising:
- a rebuild module configured to rebuild a failed storage device from the plurality of storage devices based on the configuration of RAID stripes;
- and
- a rebuild queue defining a rebuild order for logical blocks of the failed storage device;
- a logical group index comprising a logical group map for each of the plurality of logical data groups, wherein the logical group map identifies logical blocks corresponding to each logical data group of the plurality of logical data groups;
- and
- a logical group accelerator module configured to order the rebuild queue based on the plurality of logical data groups, wherein the RAID stripes that include a first priority set of logical blocks corresponding to at least one logical data group of the plurality of logical data groups are ordered ahead of the RAID stripes that include a remaining set of logical blocks not in the first priority set of logical blocks in the rebuild queue;
- wherein, the rebuild module is further configured to rebuild the RAID stripes that include the first priority set of logical blocks before the RAID stripes that include the remaining set of logical blocks for a remaining logical data group from the plurality of logical data groups.
A computer-implemented method, comprising:
- accessing a logical group index for a plurality of storage devices configured as a storage array for storing a plurality of logical data groups distributed among the plurality of storage devices, wherein:
- the logical group index comprises a logical group map for each logical data group of the plurality of logical data groups;
- and
- the logical group map identifies logical blocks corresponding to each logical data group of the plurality of logical data groups;
- writing the plurality of logical data groups in a configuration of redundant array of independent disks (RAID) stripes across at least one RAID group in the plurality of storage devices;
- and
- responsive to a failed storage device failing among the plurality of storage devices:
- identifying a replacement storage device for rebuilding the failed storage device;
- ordering a rebuild queue based on the plurality of logical data groups, wherein:
- a first priority set of logical blocks corresponding to at least one logical data group of the plurality of logical data groups are ordered ahead of a remaining set of logical blocks not in the first priority set of logical blocks in the rebuild queue, and
- the RAID stripes that include the first priority set of logical blocks are rebuilt before the RAID stripes that include the remaining set of logical blocks for a remaining logical data group from the plurality of logical data groups;
- and
- rebuilding the failed storage device to the replacement storage device based on the configuration of RAID stripes in a priority order of the rebuild queue.
A system, comprising:
- means for accessing a logical group index for a plurality of storage devices configured as a storage array for storing a plurality of logical data groups distributed among the plurality of storage devices, wherein:
- the logical group index comprises a logical group map for each logical data group of the plurality of logical data groups;
- and
- the logical group map identifies logical blocks corresponding to each logical data group of the plurality of logical data groups;
- means for writing the plurality of logical data groups in a configuration of redundant array of independent disks (RAID) stripes across at least one RAID group in the plurality of storage devices;
- means for identifying a replacement storage device for rebuilding a failed storage device;
- means for ordering a rebuild queue based on the plurality of logical data groups, wherein:
- a first priority set of logical blocks corresponding to at least one logical data group of the plurality of logical data groups are ordered ahead of a remaining set of logical blocks not in the first priority set of logical blocks in the rebuild queue, and
- the RAID stripes that include the first priority set of logical blocks are rebuilt before the RAID stripes that include the remaining set of logical blocks for a remaining logical data group from the plurality of logical data groups;
- and
- means for rebuilding the failed storage device to the replacement storage device based on the configuration of RAID stripes in a priority order of the rebuild queue.
Dependencies are inferred from the claim text.