Disk array device, method of extending storage capacity and computer program
First Claim
1. A disk array device having a plurality of disks, each of said disks being divided into a plurality of partitions, and a plurality of redundancy groups, each of said redundancy groups having a plurality of partitions, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said disk array device comprising:
- means for dividing a newly added disk into a plurality of partitions;
means for selecting, as an origin of copying a partition, a partition included in one of the existing redundancy groups but not sharing a disk with any other origin of copying a partition of any other existing redundancy group;
means for selecting a partition of said newly added disk as a destination of copying a partition;
means for repeating copying the data of an origin of copying a partition to a destination of copying a partition for a plurality of existing redundancy groups;
means for excluding the origin of copying partitions from the existing redundancy groups said origin of copying partitions have belonged to and adding the destination of copying partitions to the redundancy groups the origin of copying partitions have belonged to; and
means for preparing a new redundancy group by collecting the excluded plurality of partitions.
1 Assignment
0 Petitions
Accused Products
Abstract
If a disk array device according to the invention initially has four disk devices, which is the smallest number of disk devices for RAID5 (3D+P), the storage region of each of the four disk devices is equally divided by four to produce partitions. Then, four partitions are selected respectively from the four disk devices and combined to form a redundancy group so that a total of four redundancy groups are formed. When another disk device is added, its storage region is also equally divided by four. Four partitions are selected from the four redundancy groups, one from each of the disk devices, and the data of the selected four partitions are copied to the four partitions of the added disk device. After the completion of the copying, the origin of copying partitions are excluded from the original redundancy groups and the corresponding four destination of copying partitions are incorporated to replace the excluded partitions. The four origin of copying partitions excluded from the original redundancy groups are combined to generate a new redundancy group.
47 Citations
75 Claims
-
1. A disk array device having a plurality of disks, each of said disks being divided into a plurality of partitions, and a plurality of redundancy groups, each of said redundancy groups having a plurality of partitions, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said disk array device comprising:
-
means for dividing a newly added disk into a plurality of partitions;
means for selecting, as an origin of copying a partition, a partition included in one of the existing redundancy groups but not sharing a disk with any other origin of copying a partition of any other existing redundancy group;
means for selecting a partition of said newly added disk as a destination of copying a partition;
means for repeating copying the data of an origin of copying a partition to a destination of copying a partition for a plurality of existing redundancy groups;
means for excluding the origin of copying partitions from the existing redundancy groups said origin of copying partitions have belonged to and adding the destination of copying partitions to the redundancy groups the origin of copying partitions have belonged to; and
means for preparing a new redundancy group by collecting the excluded plurality of partitions.
-
-
2. A disk array device having a disk array controller for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including N redundancy groups, each of said N redundancy groups having N partitions formed by equally dividing the storage region of each of said initial disk devices by N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to:
-
said disk array controller being adapted to select N partitions from said N redundancy groups, each of N partitions being selected from each of said N redundancy groups, said N partitions being selected from different initial disk devices, so as to define the selected N partitions as origin of copying partitions and define the N partitions of a first added disk device formed by equally dividing the storage region thereof by N as destination of copying partitions;
said controller having;
a copying processing section for copying the data stored in the origin of copying partitions to the destination of copying partitions; and
a redundancy group defining section for excluding the origin of copying partitions from the original redundancy groups and incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate a new redundancy group. - View Dependent Claims (3, 4, 5, 6)
-
-
7. A disk array device having a disk array controller for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including M sets of N redundancy groups, where M is a positive integer, each of said M times of N redundancy groups having M sets of N partitions formed by equally dividing the storage region of each of said initial disk devices by M×
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to;
said disk array controller being adapted to select M×
N partitions from said N redundancy groups of M sets, each of M×
N partitions being selected from each of said N redundancy groups, said M×
N partitions being selected from different initial disk devices, so as to define the selected M×
N partitions as origin of copying partitions and define the M×
N partitions of a first added disk device formed by equally dividing the storage region thereof by M×
N as destination of copying partitions;
said controller having;
a copying processing section for copying the data stored in the origin of copying partitions to the destination of copying partitions; and
a redundancy group defining section for excluding the origin of copying partitions from the original redundancy groups and incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate new a redundancy groups. - View Dependent Claims (8, 9, 10, 11)
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to;
-
12. A disk array device having a disk array controller for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including N redundancy groups, each of said N redundancy groups having N partitions formed by equally dividing the storage region of each of said initial disk devices by N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to:
-
said disk array controller being adapted to select, each time an additional disk device is added, N partitions from the N redundancy groups other than the new redundancy group generated as a result of the extension of the storage capacity, each of N partitions being selected from each of said N redundancy groups, said N partitions being selected from different initial disk devices, so as to define the selected N partitions as origin of copying partitions and define said N partitions of said added disk device as destination of copying partitions;
said controller having;
a copying processing section for copying the data stored in the origin of copying partitions to the destination of copying partitions; and
a redundancy group defining section for excluding the origin of copying partitions from the original redundancy groups and incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate a new redundancy group. - View Dependent Claims (13, 14, 15)
-
-
16. A disk array device having a disk array controller for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including M sets of N redundancy groups, where M is a positive integer, each of said N redundancy groups having M sets of N partitions formed by equally dividing the storage region of each of said initial disk devices by M×
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to;
said disk array controller being adapted to select, each time an additional disk device is added, M×
N partitions from the N redundancy groups of M sets other than the new redundancy group generated as a result of the extension of the storage capacity, each of M×
N partitions being selected from each of said N redundancy groups, said M×
N partitions being selected from different initial disk devices, so as to define the selected M×
N partitions as origin of copying partitions and define said M×
N partitions of said added disk device as destination of copying partitions;
said controller having;
a copying processing section for copying the data stored in the origin of copying partitions to the destination of copying partitions; and
a redundancy group defining section for excluding the origin of copying partitions from the original redundancy groups and incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate new a redundancy groups. - View Dependent Claims (17, 18, 19)
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to;
-
20. A disk array device comprising a disk array controller connected to a host computer and a plurality of disk devices connected to the disk array controller to provide a disk array of a predetermined RAID type:
-
said disk array controller having an IO processing section for processing an IO command from said host computer, a copying processing section for copying data to accommodate an addition of a disk, a redundancy group defining section for defining redundancy groups, a disk control section for controlling said disk devices, a control table for storing configuration information and other pieces of information of the disk array, a read position browsing section, a write position browsing section and a copying position browsing section;
said control table having a configuration of storing a state flag indicating the state of said disk array of an addition of a disk in progress or not, the number of times of addition of a disk device, ordinary configuration information and addition-caused configuration information, said ordinary configuration information being so initialized as to contain disk partition information indicating the disk device each of the partitions of each redundancy group belonging to, said disk array being so generated as to have the smallest number N of initial disk devices required for said RAID type and include N redundancy groups, each of said N redundancy groups having N partitions formed by equally dividing the storage region of each of said initial disk devices by N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the redundancy group belong to;
at the time of extending the storage capacity of said disk array by adding an additional disk device having N partitions, each being formed by equally dividing the storage region thereof by N, said copying processing section being adapted to select N different partitions from the initial disk devices other than said new redundancy group generated as a result of extending the storage capacity, each of N partitions being selected from each of the N redundancy groups, according to the number of times of addition up to now and the ordinary configuration information in said control table, define configuration information obtained by replacing the information on the selected N partitions in said ordinary configuration information by information on the corresponding partitions of said added disk device as addition-caused configuration information in said control table, detect the difference between said ordinary configuration information and said addition-caused configuration information for each of said N redundancy groups by means of said copying position browsing section so as to define the differentiated partitions in the ordinary configuration as origin of copying partitions and define the differentiated partitions in the addition-caused configuration as destination of copying partitions so as to copy the data stored in the origin of copying partitions to the destination of copying partitions and, after the completion of the copying, exclude the origin of copying partitions from the original redundancy groups so as to incorporate the corresponding destination of copying partitions respectively into the original redundancy groups and combines the N origin of copying partitions excluded from the original redundancy groups to generate a new redundancy group by means of said redundancy group defining section;
upon receiving a read command for said disk array from said host computer, said IO processing section determining the disk device and partition for reading data from the ordinary configuration information in the control table by acquiring disk partition information on the redundancy group specified by said read command by means of said read position browsing section and executing the read operation by way of said disk control section and, upon receiving a write command for said disk array from said host computer, said IO processing section determining the disk device and the partition for writing data to by acquiring from the ordinary configuration information in the control table disk partition information on the redundancy group specified by said write command by means of said write position browsing section and, if said state flag indicating “
addition of disk”
, further determining the disk device and the partition for writing data to at the same time according to the disk partition information of the addition-caused configuration information differentiated from the disk partition information of the ordinary configuration information on the redundancy group specified by said write command. - View Dependent Claims (21, 22)
-
-
23. A disk array device comprising a disk array controller connected to a host computer and a plurality of disk devices connected to the disk array controller to provide a disk array of a predetermined RAID type:
-
said disk array controller having an IO processing section for processing an IO command from said host computer, a copying processing section for copying data to accommodate an addition of a disk, a redundancy group defining section for defining redundancy groups, a disk control section for controlling said disk devices, a control table for storing configuration information and other pieces of information of the disk array, a read position browsing section, a write position browsing section and a copying position browsing section;
said control table having a configuration of storing a state flag indicating the state of said disk array of an addition of a disk in progress or not, the number of times of addition of a disk device, ordinary configuration information and addition-caused configuration information, said ordinary configuration information being so initialized as to contain disk partition information indicating the disk device each of the partitions of each redundancy group belonging to, said disk array being so generated as to have the smallest number N of initial disk devices required for said RAID type and include N redundancy groups, each of said N redundancy groups having M sets of N partitions, where M is a positive integer, formed by equally dividing the storage region of each of said initial disk devices by M×
N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the redundancy group belong to;
at the time of extending the storage region of said disk array by adding an additional disk device having M×
N partitions, each being formed by equally dividing the storage region thereof by M×
N, said copying processing section being adapted to select N different partitions for each of said M sets from the initial disk devices other than said new redundancy group generated as a result of extending the storage capacity, each of M×
N partitions being selected from each of the N redundancy group, according to the number of times of addition up to now and the ordinary configuration information in said control table, define configuration information obtained by replacing the information on the selected M×
N partitions in said ordinary configuration information by information on the corresponding partitions of said added disk device as addition-caused configuration information in said control table, detect the difference between said ordinary configuration information and said addition-caused configuration information for each of said N redundancy groups of each of said M sets by means of said copying position browsing section so as to define the differentiated partitions in the ordinary configuration as origin of copying partitions and define the differentiated partitions in the addition-caused configuration as destination of copying partitions so as to copy the data stored in the origin of copying partitions to the destination of copying partitions and, after the completion of the copying, exclude the origin of copying partitions from the original redundancy groups so as to incorporate the corresponding destination of copying partitions respectively into the original redundancy groups and combines the N origin of copying partitions excluded from the original redundancy groups to generate new a redundancy groups by means of said redundancy group defining section;
upon receiving a read command for said disk array from said host computer, said IO processing section determining the disk device and partition for reading data from the ordinary configuration information in the control table by acquiring disk partition information on the redundancy group specified by said read command by means of said read position browsing section and executing the read operation by way of said disk control section and, upon receiving a write command for said disk array from said host computer, said IO processing section determining the disk device and the partition for writing data to by acquiring disk partition information on the redundancy group specified by said write command by means of said write position browsing section and, if said state flag indicating “
addition of disk”
, further determining the disk device and the partition for writing data to at the same time according to the disk partition information of the addition-caused configuration information differentiated from the disk partition information of the ordinary configuration information on the redundancy group specified by said write command. - View Dependent Claims (24, 25)
-
-
26. A method of extending the storage capacity of a disk array device having a plurality of disks, each of said disks being divided into a plurality of partitions, and a plurality of redundancy groups, each of said redundancy groups having a plurality of partitions, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising:
-
a step of dividing a newly added disk into a plurality of partitions;
a step of selecting, as an origin of copying a partition, a partition included in one of the existing redundancy groups but not sharing a disk with any other origin of copying a partition of any other existing redundancy group;
a step of selecting a partition of said newly added disk as a destination of copying a partition;
a step of repeating copying the data of an origin of copying a partition to a destination of copying a partition for a plurality of existing redundancy groups;
a step of excluding the origin of copying partitions from the existing redundancy groups said origin of copying partitions have belonged to and adding the destination of copying partitions to the redundancy groups the origin of copying partitions have belonged to; and
a step of preparing a new redundancy group by collecting the excluded plurality of partitions.
-
-
27. A method of extending the storage capacity of a disk array device for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including N redundancy groups, each of said N redundancy groups having N partitions formed by equally dividing the storage region of each of said initial disk devices by N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising:
-
a) a step of selecting N partitions from said N redundancy groups, each of N partitions being selected from each of said N redundancy groups, said N partitions being selected from different initial disk devices, so as to define the selected N partitions as origin of copying partitions and define the N partitions of a first added disk device formed by equally dividing the storage region thereof by N as destination of copying partitions and copying the data stored in the origin of copying partitions to the destination of copying partitions; and
b) a step of excluding the origin of copying partitions from the original redundancy groups and incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate a new redundancy group. - View Dependent Claims (28, 29, 30, 31)
-
-
32. A method of extending the storage capacity of a disk array device for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including M sets of N redundancy groups, where M is a positive integer, each of said M times of N redundancy groups having M sets of N partitions formed by equally dividing the storage region of each of said initial disk devices by M×
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising;
a) a step of selecting M×
N partitions from said N redundancy groups of M sets, each of M×
N partitions being selected from each of said N redundancy groups, said M×
N partitions being selected from different initial disk devices, so as to define the selected M×
N partitions as origin of copying partitions and define the M×
N partitions of a first added disk device formed by equally dividing the storage region thereof by M×
N as destination of copying partitions and copying the data stored in the origin of copying partitions to the destination of copying partitions; and
b) a step of excluding the origin of copying partitions from the original redundancy groups and incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate new a redundancy groups. - View Dependent Claims (33, 34, 35, 36)
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising;
-
37. A method of extending the storage capacity of a disk array device for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including N redundancy groups, each of said N redundancy groups having N partitions formed by equally dividing the storage region of each of said initial disk devices by N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising:
selecting, each time an additional disk device is added, N partitions from the N redundancy groups other than the new redundancy group generated as a result of the extension of the storage capacity, each of N partitions being selected from each of said N redundancy groups, said N partitions being selected from different initial disk devices, so as to define the selected N partitions as origin of copying partitions and define said N partitions of said added disk device as destination of copying partitions, copying the data stored in the origin of copying partitions to the destination of copying partitions, excluding the origin of copying partitions from the original redundancy groups, incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate a new redundancy group. - View Dependent Claims (38, 39, 40)
-
41. A method of extending the storage capacity of a disk array device for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including M sets of N redundancy groups, where M is a positive integer, each of said N redundancy groups having M sets of N partitions formed by equally dividing the storage region of each of said initial disk devices by M×
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising;
selecting, each time an additional disk device is added, M×
N partitions from the N redundancy groups of M sets other than the new redundancy group generated as a result of the extension of the storage capacity, each of M×
N partitions being selected from each of said N redundancy groups, said M×
N partitions being selected from different initial disk devices, so as to define the selected M×
N partitions as origin of copying partitions and define said M×
N partitions of said added disk device as destination of copying partitions, copying the data stored in the origin of copying partitions to the destination of copying partitions, excluding the origin of copying partitions from the original redundancy groups, incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate new a redundancy groups. - View Dependent Claims (42, 43, 44)
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising;
-
45. A method of extending the storage capacity of a disk array device comprising a disk array controller connected to a host computer and a plurality of disk devices connected to the disk array controller to provide a disk array of a predetermined RAID type:
-
said disk array controller defining a control table having a configuration of storing a state flag indicating the state of said disk array of an addition of a disk in progress or not, the number of times of addition of a disk device, ordinary configuration information and addition-caused configuration information so as to make said ordinary configuration information contain disk partition information indicating the disk device each of the partitions of each redundancy group belonging to, said disk array being so generated as to have the smallest number N of initial disk devices required for said RAID type and include N redundancy groups, each of said N redundancy groups having N partitions formed by equally dividing the storage region of each of said initial disk devices by N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the redundancy group belong to;
at the time of extending the storage capacity of said disk array by adding an additional disk device having N partitions, each being formed by equally dividing the storage region thereof by N, the copying processing section of said disk array controller being adapted to select N different partitions from the initial disk devices other than said new redundancy group generated as a result of extending the storage capacity, each of N partitions being selected from each of the N redundancy groups, according to the number of times of addition up to now and the ordinary configuration information in said control table, define configuration information obtained by replacing the information on the selected N partitions in said ordinary configuration information by information on the corresponding partitions of said added disk device to define as addition-caused configuration information in said control table, detect the difference between said ordinary configuration information and said addition-caused configuration information for each of said N redundancy groups by means of the copying position browsing section thereof so as to define the differentiated partitions in the ordinary configuration as origin of copying partitions and define the differentiated partitions in the addition-caused configuration as destination of copying partitions so as to copy the data stored in the origin of copying partitions to the destination of copying partitions and, after the completion of the copying, exclude the origin of copying partitions from the original redundancy groups so as to incorporate the corresponding destination of copying partitions respectively into the original redundancy groups and combine the N origin of copying partitions excluded from the original redundancy groups to generate a new redundancy group by means of the redundancy group defining section thereof, upon receiving a read command for said disk array from said host computer, the IO processing section of the disk array controller determining the disk device and the partition for reading data from by acquiring disk partition information on the redundancy group specified by said read command by means of said read position browsing section and executing the read operation by way of said disk control section and, upon receiving a write command for said disk array from said host computer, said IO processing section determining the disk device and the partition for writing data to by acquiring disk partition information on the redundancy group specified by said write command by means of said write position browsing section and, if said state flag indicating “
addition of disk”
, further determining the disk device and the partition for writing data to at the same time according to the disk partition information of the addition-caused configuration information differentiated from the disk partition information of the ordinary configuration information on the redundancy group specified by said write command and executing the write operation by way of the disk control section. - View Dependent Claims (46, 47)
-
-
48. A method of extending the storage capacity of a disk array device comprising a disk array controller connected to a host computer and a plurality of disk devices connected to the disk array controller to provide a disk array of a predetermined RAID type:
-
said disk array controller defining a control table having a configuration of storing a state flag indicating the state of said disk array of an addition of a disk in progress or not, the number of times of addition of a disk device, ordinary configuration information and addition-caused configuration information, said ordinary configuration information being so as to make the control table contain disk partition information indicating the disk device each of the partitions of each redundancy group belonging to, said disk array being so generated as to have the smallest number N of initial disk devices required for said RAID type and include N redundancy groups, each of said N redundancy groups having M sets of N partitions, where M is a positive integer, formed by equally dividing the storage region of each of said initial disk devices by M×
N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the redundancy group belong to;
at the time of extending the storage capacity of said disk array by adding an additional disk device having M×
N partitions, each being formed by equally dividing the storage region thereof by M×
N, the copying processing section of said disk array controller being adapted to select N different partitions for each of said M sets from the initial disk devices other than said new redundancy group generated as a result of extending the storage capacity, each of M×
N partitions being selected from each of the N redundancy group, according to the number of times of addition up to now and the ordinary configuration information in said control table, define configuration obtained by replacing the information on the selected M×
N partitions in said ordinary configuration information by information on the corresponding partitions of said added disk device to define as addition-caused configuration information in said control table, detect the difference between said ordinary configuration information and said addition-caused configuration information for each of said N redundancy groups of each of said M sets by means of the copying position browsing section thereof so as to define the differentiated partitions in the ordinary configuration as origin of copying partitions and define the differentiated partitions in the addition-caused configuration as destination of copying partitions so as to copy the data stored in the origin of copying partitions to the destination of copying partitions and, after the completion of the copying, exclude the origin of copying partitions from the original redundancy groups so as to incorporate the corresponding destination of copying partitions respectively into the original redundancy groups and combines the N origin of copying partitions excluded from the original redundancy groups to generate new a redundancy groups by means of the redundancy group defining section thereof;
upon receiving a read command for said disk array from said host computer, the IO processing section of the disk array controller determining the disk device and the partition for reading data from by acquiring disk partition information on the redundancy group specified by said read command by means of said read position browsing section thereof and executing the read operation by way of said disk control section and, upon receiving a write command for said disk array from said host computer, said IO processing section determining the disk device and the partition for writing data to by acquiring disk partition information on the redundancy group specified by said write command by means of the write position browsing section thereof and, if said state flag indicating “
addition of disk”
, further determining the disk device and the partition for writing data to at the same time according to the disk partition information of the addition-caused configuration information differentiated from the disk partition information of the ordinary configuration information on the redundancy group specified by said write command and executing the write operation by way of the disk control section. - View Dependent Claims (49, 50)
-
-
51. A computer program product embodied on a computer-readable medium and comprising codes that, when executed, cause a computer to perform a method of extending the storage capacity of a disk array device having a plurality of disks, each of said disks being divided into a plurality of partitions, and a plurality of redundancy groups, each of said redundancy groups having a plurality of partitions, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising:
-
a step of dividing a newly added disk into a plurality of partitions;
a step of selecting, as an origin of copying a partition, a partition included in one of the existing redundancy groups but not sharing a disk with any other origin of copying a partition of any other existing redundancy group;
a step of selecting a partition of said newly added disk as a destination of copying a partition;
a step of repeating copying the data of an origin of copying a partition to a destination of copying a partition for a plurality of existing redundancy groups;
a step of excluding the origin of copying partitions from the existing redundancy groups said origin of copying partitions have belonged to and adding the destination of copying partitions to the redundancy groups the origin of copying partitions have belonged to; and
a step of preparing a new redundancy group by collecting the excluded plurality of partitions.
-
-
52. A computer program product embodied on a computer-readable medium and comprising codes that, when executed, cause a computer to perform a method of extending the storage capacity of a disk array device for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including N redundancy groups, each of said N redundancy groups having N partitions formed by equally dividing the storage region of each of said initial disk devices by N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising:
-
a) a step of selecting N partitions from said N redundancy groups, each of N partitions being selected from each of said N redundancy groups, said N partitions being selected from different initial disk devices, so as to define the selected N partitions as origin of copying partitions and define the N partitions of a first added disk device formed by equally dividing the storage region thereof by N as destination of copying partitions and copying the data stored in the origin of copying partitions to the destination of copying partitions; and
b) a step of excluding the origin of copying partitions from the original redundancy groups and incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate a new redundancy group. - View Dependent Claims (53, 54, 55, 56)
-
-
57. A computer program product embodied on a computer-readable medium and comprising codes that, when executed, cause a computer to perform a method of extending the storage capacity of a disk array device for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including M sets of N redundancy groups, where M is a positive integer, each of said M times of N redundancy groups having M sets of N partitions formed by equally dividing the storage region of each of said initial disk devices by M×
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising;
a) a step of selecting M×
N partitions from said N redundancy groups of M sets, each of M×
N partitions being selected from each of said N redundancy groups, said M×
N partitions being selected from different initial disk devices, so as to define the selected M×
N partitions as origin of copying partitions and define the M×
N partitions of a first added disk device formed by equally dividing the storage region thereof by M×
N as destination of copying partitions and copying the data stored in the origin of copying partitions to the destination of copying partitions; and
b) a step of excluding the origin of copying partitions from the original redundancy groups and incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate new a redundancy groups. - View Dependent Claims (58, 59, 60, 61)
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising;
-
62. A computer program product embodied on a computer-readable medium and comprising codes that, when executed, cause a computer to perform a method of extending the storage capacity of a disk array device for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including N redundancy groups, each of said N redundancy groups having N partitions formed by equally dividing the storage region of each of said initial disk devices by N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising:
selecting, each time an additional disk device is added, N partitions from the N redundancy groups other than the new redundancy group generated as a result of the extension of the storage capacity, each of N partitions being selected from each of said N redundancy groups, said N partitions being selected from different initial disk devices, so as to define the selected N partitions as origin of copying partitions and define said N partitions of said added disk device as destination of copying partitions, copying the data stored in the origin of copying partitions to the destination of copying partitions, excluding the origin of copying partitions from the original redundancy groups, incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate a new redundancy group. - View Dependent Claims (63, 64, 65)
-
66. A computer program product embodied on a computer-readable medium and comprising codes that, when executed, cause a computer to perform a method of extending the storage capacity of a disk array device for providing a disk array of a predetermined RAID type and the smallest number N of initial disk devices required for said RAID type and including M sets of N redundancy groups, where M is a positive integer, each of said N redundancy groups having M sets of N partitions formed by equally dividing the storage region of each of said initial disk devices by M×
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising;
selecting, each time an additional disk device is added, M×
N partitions from the N redundancy groups of M sets other than the new redundancy group generated as a result of the extension of the storage capacity, each of M×
N partitions being selected from each of said N redundancy groups, said M×
N partitions being selected from different initial disk devices, so as to define the selected M×
N partitions as origin of copying partitions and define said M×
N partitions of said added disk device as destination of copying partitions. copying the data stored in the origin of copying partitions to the destination of copying partitions, excluding the origin of copying partitions from the original redundancy groups, incorporating the corresponding destination of copying partitions respectively into said original redundancy groups at the time of completion of the copying and combining the N origin of copying partitions excluded from the original redundancy groups to generate new a redundancy groups. - View Dependent Claims (67, 68, 69)
- N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the same redundancy group belong to, said method comprising;
-
70. A computer program product embodied on a computer-readable medium and comprising codes that, when executed, cause a computer to perform a method of extending the storage capacity of a disk array device comprising a disk array controller connected to a host computer and a plurality of disk devices connected to the disk array controller to provide a disk array of a predetermined RAID type:
-
said disk array controller defining a control table having a configuration of storing a state flag indicating the state of said disk array of an addition of a disk in progress or not, the number of times of addition of a disk device, ordinary configuration information and addition-caused configuration information so as to make said ordinary configuration information contain disk partition information indicating the disk device each of the partitions of each redundancy group belonging to, said disk array being so generated as to have the smallest number N of initial disk devices required for said RAID type and include N redundancy groups, each of said N redundancy groups having N partitions formed by equally dividing the storage region of each of said initial disk devices by N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the redundancy group belong to;
at the time of extending the storage region of said disk array by adding an additional disk device having N partitions, each being formed by equally dividing the storage region thereof by N, the copying processing section of said disk array controller being adapted to select N different partitions from the initial disk devices other than said new redundancy group generated as a result of extending the storage capacity, each of N partitions being selected from each of the N redundancy groups, according to the number of times of addition up to now and the ordinary configuration information in said control table, define configuration obtained by replacing the information on the selected N partitions in said ordinary configuration information by information on the corresponding partitions of said added disk device to define as addition-caused configuration information in said control table, detect the difference between said ordinary configuration information and said addition-caused configuration information for each of said N redundancy groups by means of the copying position browsing section thereof so as to define the differentiated partitions in the ordinary configuration as origin of copying partitions and define the differentiated partitions in the addition-caused configuration as destination of copying partitions so as to copy the data stored in the origin of copying partitions to the destination of copying partitions and, after the completion of the copying, exclude the origin of copying partitions from the original redundancy groups so as to incorporate the corresponding destination of copying partitions respectively into the original redundancy groups and combines the N origin of copying partitions excluded from the original redundancy groups to generate a new redundancy group by means of the redundancy group defining section thereof;
upon receiving a read command for said disk array from said host computer, the IO processing section of the disk array controller determining the disk device for reading data from by acquiring disk partition information on the redundancy group specified by said read command by means of said read position browsing section and executing the read operation by way of said disk control section and, upon receiving a write command for said disk array from said host computer, said IO processing section determining the disk device and the partition for writing data to by acquiring disk partition information on the redundancy group specified by said write command by means of said write position browsing section and, if said state flag indicating “
addition of disk”
, further determining the disk device and the partition for writing data to at the same time according to the disk partition information of the addition-caused configuration information differentiated from the disk partition information of the ordinary configuration information on the redundancy group specified by said write command. - View Dependent Claims (71, 72)
-
-
73. A computer program product embodied on a computer-readable medium and comprising codes that, when executed, cause a computer to perform a method of extending the storage capacity of a disk array device comprising a disk array controller connected to a host computer and a plurality of disk devices connected to the disk array controller to provide a disk array of a predetermined RAID type:
-
said disk array controller defining a control table having a configuration of storing a state flag indicating the state of said disk array of an addition of a disk in progress or not, the number of times of addition of a disk device, ordinary configuration information and addition-caused configuration information, said ordinary configuration information being so as to make the control table contain disk partition information indicating the disk device each of the partitions of each redundancy group belonging to, said disk array being so generated as to have the smallest number N of initial disk devices required for said RAID type and include N redundancy groups, each of said N redundancy groups having M sets of N partitions, M being a positive integer, formed by equally dividing the storage region of each of said initial disk devices by M×
N, each of said partitions of each of said redundancy groups belonging to a disk different from the disks the other partitions of the redundancy group belong to;
at the time of extending the storage region of said disk array by adding an additional disk device having M×
N partitions, each being formed by equally dividing the storage region thereof by M×
N, the copying processing section of said disk array controller being adapted to select N different partitions for each of said M sets from the initial disk devices other than said new redundancy group generated as a result of extending the storage capacity, each of M×
N partitions being selected from each of the N redundancy group, according to the number of times of addition up to now and the ordinary configuration information in said control table, define configuration obtained by replacing the information on the selected M×
N partitions in said ordinary configuration information by information on the corresponding partitions of said added disk device to define as addition-caused configuration information in said control table, detect the difference between said ordinary configuration information and said addition-caused configuration information for each of said N redundancy groups of each of said M sets by means of the copying position browsing section thereof so as to define the differentiated partitions in the ordinary configuration as origin of copying partitions and define the differentiated partitions in the addition-caused configuration as destination of copying partitions so as to copy the data stored in the origin of copying partitions to the destination of copying partitions and, after the completion of the copying, exclude the origin of copying partitions from the original redundancy groups so as to incorporate the corresponding destination of copying partitions respectively into the original redundancy groups and combines the N origin of copying partitions excluded from the original redundancy groups to generate new a redundancy groups by means of the redundancy group defining section thereof;
upon receiving a read command for said disk array from said host computer, the IO processing section of the disk array controller determining the disk device and the partition for reading data from by acquiring disk partition information on the redundancy group specified by said read command by means of said read position browsing section thereof and executing the read operation by way of said disk control section and, upon receiving a write command for said disk array from said host computer, said IO processing section determining the disk device and the partition for writing data to by acquiring disk partition information on the redundancy group specified by said write command by means of the write position browsing section thereof and, if said state flag indicating “
addition of disk”
, further determining the disk device and the partition for writing data to at the same time according to the disk partition information of the addition-caused configuration information differentiated from the disk partition information of the ordinary configuration information on the redundancy group specified by said write command. - View Dependent Claims (74, 75)
-
Specification