CPC G06F 3/0647 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0644 (2013.01); G06F 3/0689 (2013.01)] | 18 Claims |
1. A data storage system comprising:
an interface circuit configured to receive a read request for a chunk;
a disk array including a plurality of main disks and a plurality of sub disks;
an input/output (I/O) control circuit configured to read the chunk among the plurality of main disks according to the read request;
a data mapping circuit configured to store mapping relations between logical addresses and physical addresses of chunks; and
a data relocation control circuit configured to control relocation of the chunks stored in the disk array,
wherein the data storage system is configured to select a source disk from among one or more main disks that are in an overloaded state, and
wherein the data relocation control circuit is configured to:
select a first target disk from among one or more main disks that are in an underloaded state;
perform a first operation for relocating a first chunk from the source disk to the first target disk; and
perform a second operation for designating a second chunk stored in a sub disk to be moved to a second target disk among the plurality of main disks which can accommodate a required bandwidth of the second chunk,
wherein a main disk being in the overloaded state corresponds to a maximum bandwidth that can be provided by the main disk being less than a sum of required bandwidths of a plurality of chunks stored in the main disk, and the main disk being in the underloaded state corresponds to the maximum bandwidth that can be provided by the main disk being greater than or equal to the sum of required bandwidths by the plurality of chunks stored in the main disk, and
wherein the data relocation control circuit is configured to:
determine whether the second target disk would be in the overloaded state as a result of the second chunk being moved to the second target disk, and
when the second target disk would be in the overloaded state:
determine one or more second candidate disks each of which can accommodate a required bandwidth of a third chunk, and
select a third target disk from among the one or more second candidate disks to move the third chunk to.
|