Method, data storage system, and computer-readable recording medium for disk array data distribution
AssigneeQnap Systems, Inc.
InventorChin-Hsing Hsu
Life of this patent
Estimating the term…
Abstract
A method, a data storage system, and a computer-readable recording medium for disk array data distribution are proposed. The method includes the following steps. The space of a disk array composed of multiple flash storage devices is divided into multiple RAID extents with a same data distribution pattern, where each of the RAID extents includes a first region having multiple first stripes and first strips and also a second region having multiple second stripes and second strips. The first strips in each of the first stripes are evenly distributed among the flash storage devices in a first rotation pattern, and the second strips in each of the second stripes are unevenly distributed among the flash storage devices in a second rotation pattern.
Claims16
A method for disk array data distribution, applicable to a data storage system comprising a disk array composed of a plurality of flash storage devices, and comprising steps of:
- dividing space of the disk array into a plurality of RAID extents having a same data distribution pattern, wherein each of the RAID extents comprises a first region and a second region, wherein each of the first regions comprises a plurality of first stripes and a plurality of first strips, and wherein each of the second regions comprises a plurality of second stripes and a plurality of second strips;
- distributing the first strips in each of the first stripes evenly among the flash storage devices in a first rotation pattern, wherein at least one of the first strips is distributed in each of the first stripes evenly among the flash storage devices as over-provisioning (OP) space in the first rotation pattern;
- and
- distributing the second strips in each of the second stripes unevenly among the flash storage devices in a second rotation pattern, wherein at least one of the second strips is distributed in each of the second stripes unevenly among the flash storage devices as the OP space in the second rotation pattern, wherein the second rotation pattern allows the number of the second strips distributed as the OP space in each of the flash storage devices to be different,
- wherein the step of dividing the space of the disk array into the RAID extents comprises:
- for each of the RAID extents:
- obtaining a quantity M of the flash storage devices so as to accordingly set a quantity N of the strips distributed as the OP space in each of the first stripes and each of the second stripes, wherein N is less than M;
- setting different quantities S={Si}i=1M of strips able to store data or fault-tolerance data in each of the flash storage devices in the RAID extent, wherein i denotes a numbering of each of the flash storage devices;
- and
- setting a quantity X of the first stripes and a quantity W of the second stripes in the RAID extent according to the quantity M, the quantity N, and the quantities S={Si}i=1M.
A data storage system comprising:
- a disk array, composed of a plurality of flash storage devices;
- and
- a processor, coupled to the disk array and configured to:
- divide space of the disk array into a plurality of RAID extents having a same data distribution pattern, wherein each of the RAID extents comprises a first region and a second region, wherein each of the first regions comprises a plurality of first stripes and a plurality of first strips, and wherein the second regions comprises a plurality of second stripes and a plurality of second strips;
- distribute the first strips in each of the first stripes evenly among the flash storage devices in a first rotation pattern, wherein the processor distributes at least one of the first strips in each of the first stripes evenly among the flash storage devices as over-provisioning (OP) space in the first rotation pattern;
- and
- distribute the second strips in each of the second stripes unevenly among the flash storage devices in a second rotation pattern, wherein the processor distributes at least one of the second strips in each of the second stripes unevenly among the flash storage devices as the OP space in the second rotation pattern, wherein the second rotation pattern allows the number of the second strips distributed as the OP space in each of the flash storage devices to be different,
- wherein for each of the RAID extents, the processor obtains a quantity M of the flash storage devices so as to accordingly set a quantity N of the strips distributed as the OP space in each of the first stripes and each of the second stripes, sets different quantities S={Si}i=1M of strips able to store data or fault-tolerance data in each of the flash storage devices in the RAID extent, and sets a quantity X of the first stripes and a quantity W of the second stripes in the RAID extent according to the quantity M, the quantity N, and the quantities S={Si}i=1M, wherein N is less than M, and wherein i denotes a numbering of each of the flash storage devices.
A non-transitory computer-readable recording medium, storing a computer program to be loaded to a data storage system comprising a disk array composed of a plurality of flash storage device to perform steps of:
- dividing space of the disk array into a plurality of RAID extents having a same data distribution pattern, wherein each of the RAID extents comprises a first region and a second region, wherein each of the first regions comprises a plurality of first stripes and a plurality of first strips, and wherein each of the second regions comprises a plurality of second stripes and a plurality of second strips;
- distributing the first strips in each of the first stripes evenly among the flash storage devices in a first rotation pattern, wherein at least one of the first strips is distributed in each of the first stripes evenly among the flash storage devices as over-provisioning (OP) space in the first rotation pattern;
- and
- distributing the second strips in each of the second stripes unevenly among the flash storage devices in a second rotation pattern, wherein at least one of the second strips is distributed in each of the second stripes unevenly among the flash storage devices as the OP space in the second rotation pattern, wherein the second rotation pattern allows the number of the second strips distributed as the OP space in each of the flash storage devices to be different,
- wherein the step of dividing the space of the disk array into the RAID extents comprises:
- for each of the RAID extents:
- obtaining a quantity M of the flash storage devices so as to accordingly set a quantity N of the strips distributed as the OP space in each of the first stripes and each of the second stripes, wherein N is less than M;
- setting different quantities S={Si}i=1M of strips able to store data or fault-tolerance data in each of the flash storage devices in the RAID extent, wherein i denotes a numbering of each of the flash storage devices;
- and
- setting a quantity X of the first stripes and a quantity W of the second stripes in the RAID extent according to the quantity M, the quantity N, and the quantities S={Si}i=1M.
Dependencies are inferred from the claim text.