System and method for creating mapped RAID group during expansion of extent pool
AssigneeEMC IP Holding Company LLC
InventorsYousheng Liu, Michael P. Wahl, Jian Gao, Xinlei Xu, Lifeng Yang, Geng Han
Life of this patent
Estimating the term…
Abstract
A method, computer program product, and computer system for receiving, by a computing device, one or more drives added to an extent pool of storage devices. An empty Mapped RAID group may be generated. A plurality of extents in the extent pool may be shuffled. A RAID extent may be mapped to the empty Mapped RAID group, wherein the RAID extent is mapped to the empty Mapped RAID group while shuffling the plurality of extents in the extent pool.
Claims9
A computer-implemented method comprising:
- receiving, by a computing device, one or more drives added to an extent pool of storage devices;
- beginning with a plurality of existing Mapped RAID groups, generating an empty Mapped RAID group in response to receiving the one or more drives added to the extent pool of storage devices, wherein the empty Mapped RAID group has a defined logical capacity, an empty mapping of one or more logical addresses to one or more physical storage spaces, and an accessible size of zero;
- shuffling a plurality of extents in the extent pool among the plurality of existing Mapped RAID groups and the empty Mapped RAID group;
- mapping a RAID extent to the empty Mapped RAID group, wherein the RAID extent is mapped to the empty Mapped RAID group while shuffling the plurality of extents in the extent pool, wherein mapping the RAID extent to the empty Mapped RAID group while shuffling the plurality of extents in the extent pool includes increasing the accessible size of the empty Mapped RAID group by a size of the RAID extent while shuffling in response to mapping the RAID extent to the empty Mapped RAID group;
- increasing an accessible size of a Flare LUN associated with the empty Mapped RAID group by the size of the RAID extent mapped to the empty Mapped RAID group, wherein the size of the empty Mapped RAID group is exposed to a multi-core cache through the Flare LUN;
- determining that an accessible size of the empty Mapped RAID group is at least equal to a logical capacity of the empty Mapped RAID group;
- and
- reporting to an upper layer that all of the Flare LUN is accessible in response to determining that the accessible size of the empty Mapped RAID group is at least equal to the logical capacity of the empty Mapped RAID group.
A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising:
- receiving one or more drives added to an extent pool of storage devices;
- beginning with a plurality of existing Mapped RAID groups, generating an empty Mapped RAID group in response to receiving the one or more drives added to the extent pool of storage devices, wherein the empty Mapped RAID group has a defined logical capacity, an empty mapping of one or more logical addresses to one or more physical storage spaces, and an accessible size of zero;
- shuffling a plurality of extents in the extent pool among the plurality of existing Mapped RAID groups and the empty Mapped RAID group;
- mapping a RAID extent to the empty Mapped RAID group, wherein the RAID extent is mapped to the empty Mapped RAID group while shuffling the plurality of extents in the extent pool, wherein mapping the RAID extent to the empty Mapped RAID group while shuffling the plurality of extents in the extent pool includes increasing the accessible size of the empty Mapped RAID group by a size of the RAID extent while shuffling in response to mapping the RAID extent to the empty Mapped RAID group;
- increasing an accessible size of a Flare LUN associated with the empty Mapped RAID group by the size of the RAID extent mapped to the empty Mapped RAID group, wherein the size of the empty Mapped RAID group is exposed to a multi-core cache through the Flare LUN;
- determining that an accessible size of the empty Mapped RAID group is at least equal to a logical capacity of the empty Mapped RAID group;
- and
- reporting to an upper layer that all of the Flare LUN is accessible in response to determining that the accessible size of the empty Mapped RAID group is at least equal to the logical capacity of the empty Mapped RAID group.
A computing system including one or more processors and one or more memories configured to perform operations comprising:
- receiving one or more drives added to an extent pool of storage devices;
- beginning with a plurality of existing Mapped RAID groups, generating an empty Mapped RAID group in response to receiving the one or more drives added to the extent pool of storage devices, wherein the empty Mapped RAID group has a defined logical capacity, an empty mapping of one or more logical addresses to one or more physical storage spaces, and an accessible size of zero;
- shuffling a plurality of extents in the extent pool among the plurality of existing Mapped RAID groups and the empty Mapped RAID group;
- mapping a RAID extent to the empty Mapped RAID group, wherein the RAID extent is mapped to the empty Mapped RAID group while shuffling the plurality of extents in the extent pool, wherein mapping the RAID extent to the empty Mapped RAID group while shuffling the plurality of extents in the extent pool includes increasing the accessible size of the empty Mapped RAID group by a size of the RAID extent while shuffling in response to mapping the RAID extent to the empty Mapped RAID group;
- increasing an accessible size of a Flare LUN associated with the empty Mapped RAID group by the size of the RAID extent mapped to the empty Mapped RAID group, wherein the size of the empty Mapped RAID group is exposed to a multi-core cache through the Flare LUN;
- determining that an accessible size of the empty Mapped RAID group is at least equal to a logical capacity of the empty Mapped RAID group;
- and
- reporting to an upper layer that all of the Flare LUN is accessible in response to determining that the accessible size of the empty Mapped RAID group is at least equal to the logical capacity of the empty Mapped RAID group.
Dependencies are inferred from the claim text.