CPC G06F 3/0631 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0619 (2013.01); G06F 3/0646 (2013.01); G06F 3/0665 (2013.01); G06F 3/0689 (2013.01)] | 9 Claims |
1. A storage system that reduces data movement when a capacity of the storage system is increased, the storage system comprising:
a plurality of first physical storage drives,
one or more processors that are communicatively coupled to the plurality of first physical storage drives, wherein the one or more processors are collectively configured to:
form a plurality of virtual chunks with K virtual parcels, (K is an integer of 2 or more), each of the K virtual parcels having user data or element data that is redundant data for repairing the user data,
allocate at least one virtual chunk out of the virtual chunks to a virtual volume provided to a host,
respectively perform a mapping of virtual parcels included in a same virtual chunk to different first physical storage drives, and
process a new virtual chunk in response to a number A of a second physical storage drives being added to the first physical storage drives to increase the capacity of the storage system, wherein A is an integer of 1 or more but less than K;
wherein the new virtual chunk is processed by:
selecting K-A existing virtual parcels from different virtual chunks that existed prior to adding the new virtual chunk,
updating mapping location of the selected existing virtual parcels from regions in the first physical storage drives already allocated to the selected existing virtual parcels, to regions in the second physical storage drives, and
forming the new virtual chunk with K additional virtual parcels by setting K additional virtual parcels to K unallocated regions collected both from K-A unallocated regions in the first physical storage drives in response to updating the mapping location of the selected existing virtual parcels and from A regions in the second physical storage drives.
|