Storage system and storage control method
First Claim
1. A storage system, capable of communicating with one or a plurality of external devices which issue IO commands, the storage system comprising:
- a plurality of storage control functions;
a pool having multiple pool regions which are storage regions dynamically allocated or released;
a plurality of virtual volumes which are a plurality of virtual storage devices which are recognized by the external devices and serve as destinations of the IO commands sent from the external devices; and
a storage controller which receives the IO commands sent from the external devices to the virtual volumes, allocates one or more pool regions inside the pool to the virtual volumes, and writes or reads data corresponding to the received IO commands with respect to the allocated one or more pool regions, wherein the pool comprises a plurality of pool groups which are related to the plurality of storage control functions respectively, and a pool free region group, each of the plurality of pool groups has a plurality of pool regions, the pool free region group has a plurality of pool free regions which are pool regions dynamically allocated or released to any of the plurality of pool groups, and is a group common to the plurality of pool groups, and the storage controller comprises a free allocation portion for allocating the pool free regions inside the common pool free region group to, of the plurality of pool groups, pool groups which satisfy a predetermined allocation condition.
1 Assignment
0 Petitions
Accused Products
Abstract
A pool, which has multiple pool regions which are storage regions capable of being dynamically allocated or released, is configured from a plurality of pool groups and a pool free region group which is common to the plurality of pool groups. Each of the pool groups is related to each storage control function of a storage system. When a used value of a certain pool group exceeds the threshold, a storage controller of the storage system selects a pool free region appropriate for the pool group from the pool free region group, and allocates the selected pool free region to the pool group.
-
Citations
20 Claims
-
1. A storage system, capable of communicating with one or a plurality of external devices which issue IO commands, the storage system comprising:
-
a plurality of storage control functions;
a pool having multiple pool regions which are storage regions dynamically allocated or released;
a plurality of virtual volumes which are a plurality of virtual storage devices which are recognized by the external devices and serve as destinations of the IO commands sent from the external devices; and
a storage controller which receives the IO commands sent from the external devices to the virtual volumes, allocates one or more pool regions inside the pool to the virtual volumes, and writes or reads data corresponding to the received IO commands with respect to the allocated one or more pool regions, wherein the pool comprises a plurality of pool groups which are related to the plurality of storage control functions respectively, and a pool free region group, each of the plurality of pool groups has a plurality of pool regions, the pool free region group has a plurality of pool free regions which are pool regions dynamically allocated or released to any of the plurality of pool groups, and is a group common to the plurality of pool groups, and the storage controller comprises a free allocation portion for allocating the pool free regions inside the common pool free region group to, of the plurality of pool groups, pool groups which satisfy a predetermined allocation condition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A storage control method, wherein, when there exist a pool having multiple pool regions which are storage regions dynamically allocated or released, and a plurality of virtual volumes which are a plurality of virtual storage devices recognized by external devices, which are communication partners, and serve as destinations of IO commands sent from the external devices, and when the pool comprises a plurality of pool groups which are related to a plurality of storage control functions respectively, and a pool free region group, each of the plurality of pool groups has a plurality of pool regions, and the pool free region group has a plurality of pool free regions which are pool regions dynamically allocated or released to any of the plurality of pool groups, and is a group common to the plurality of pool groups, the storage control method comprises the steps of:
-
receiving the IO commands sent from the external devices to the virtual volumes, allocating one or more pool regions inside the pool to the virtual volumes, and writing or reading data corresponding to the received IO commands with respect to the allocated one or more pool regions; and
allocating the pool free regions inside the common pool free region group to, of the plurality of pool groups, pool groups which satisfy a predetermined allocation condition. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A storage system, capable of communicating with one or a plurality of external devices which issue IO commands, the storage system comprising:
-
a plurality of storage control functions;
a pool having multiple pool regions which are storage regions dynamically allocated or released;
a plurality of virtual volumes which are a plurality of virtual storage devices which are recognized by the external devices and serve as destinations of the IO commands sent from the external devices; and
a storage controller which receives the IO commands sent from the external devices to the virtual volumes, allocates one or more pool regions inside the pool to the virtual volumes, and writes or reads data corresponding to the received IO commands with respect to the allocated one or more pool regions, wherein the pool comprises a plurality of pool groups which are related to the plurality of storage control functions respectively, and a pool free region group, each of the plurality of pool groups has a plurality of pool regions, the pool free region group has a plurality of pool free regions which are pool regions dynamically allocated or released to any of the plurality of pool groups, and is a group common to the plurality of pool groups, each RAID group comprises one or a plurality of disk drives, each disk drive can be accessed from the storage controller via each drive path, and the storage controller comprises;
a storage area which can store a used upper limit which is an upper limit of a value related to capacity of storage capacities of the pool groups, the capacity being actually in use, and a used lower limit which is a lower limit of a value related to capacity of storage capacities of the pool groups, the capacity being actually in use;
a free allocation portion which, when a used value of a certain pool group of the plurality of pool groups exceeds the used upper limit stored in the storage area of the certain pool group, preferentially searches, from the common pool free region group, pool free regions present in the RAID groups and/or drive paths, the pool free regions being different from the pool regions which are already allocated to the certain pool groups, and allocates the searched pool free regions to the certain pool groups; and
a pool region withdrawal portion which, when a used value of a certain pool group of the plurality of pool groups is lower than the used lower limit stored in the storage area of the certain pool group, moves data, which is stored in at least one pool region to be withdrawn, to other pool region inside the certain pool group, and causes the at least one pool region to withdraw from the certain pool group to the pool free region group.
-
Specification