8307171

Storage Controller and Storage Control Method for Dynamically Assigning Partial Areas of Pool Area as Data Storage Areas

PublishedNovember 6, 2012
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A storage controller comprising a plurality of Central Processing Unit (CPU) cores, wherein the plurality of CPU cores each have control rights for logical storage areas of one or more types among logical storage areas of a plurality of types, and each of the CPU cores, in a case of a write access to a logical storage area corresponding to the control rights of the CPU cores, assigns an area required to store data according to the write access from a common physical storage area to an access-target logical storage area, wherein the logical storage areas of the plurality of types are a plurality of volumes belonging to a plurality of control rights sets, one or more control rights sets are assigned to each of the CPU cores, the common physical storage area is a storage area based on a plurality of Redundant Array of Independent (or Inexpensive) Disks (RAID) groups of different attributes, the RAID groups are configured by a plurality of physical storage devices, the common physical storage area is configured by a plurality of chunks, each of the chunks is configured by a plurality of stripe columns, the stripe columns are configured by a plurality of stripes, and are RAID group-based data I/O unit areas, the stripes are unit areas in a physical storage device, one or more chunks assigned from the plurality of chunks belong, in addition to the volumes, to each control rights set, the CPU core, to which a control rights set of a target volume to which data to be written is assigned: in operation (A) judges whether or not there is an area capable of storing data in the chunks belonging to the control rights set of the target volume, in operation (B) if a result of the judgment in the operation (A) is affirmative, judges whether or not there is an area of an attribute conforming to a policy of the target volume, in operation (C) if a result of the judgment in the operation (B) is affirmative, assigns to the target volume the area of an attribute conforming to the policy of the target volume, and in operation (D) if the result of the judgment in the operation (A) or operation (B) is negative, assigns a chunk conforming to the policy of the target volume to the control rights set of the target volume, and then assigns an area conforming to the policy of the target volume from the assigned chunk to the target volume, any of the CPU cores performs control rights migration processing to migrate an assignment destination of, one or more migration target volumes from a first control rights set to a second control rights set, performing in operations (a) to (c) below in the control rights migration processing: in operation (a) judging whether or not all of the one or more migration target volumes are all of the one or more volumes belonging to the first control rights set; in operation (b) if a result of the judgment in the operation (a) is affirmative, migrating all the assignment destinations of the one or more migration target volumes from the first control rights set to the second control rights set; in operation (c) if the result of the judgment in the operation (a) is negative, performing operations (c-1) to (c-5) below for each of the areas assigned to the one or more migration target volumes: in operation (c-1) judging whether an area has also been assigned to a volume other than the one or more migration target volumes; in operation (c-2) if a result of the judgment in the operation (c-1) is affirmative, copying data in the area to an area of a chunk belonging to the second control rights set; in operation (c-3) if the result of the judgment of in the operation (c-1) is negative, migrating data in the area to an area of a chunk belonging to the second control rights set; in operation (c-4) judging whether or not a chunk including a data migration source area is empty after the operation (c-3); and in operation (c-5) if a result of the judgment in the operation (c-4) is affirmative, releasing the chunk from the first control rights set, and wherein areas of different sizes are mixed in one chunk.

2

2. The storage controller according to claim 1 , wherein the plurality of volumes include a plurality of first-type volumes, which are volumes used in a virtual volume function which is a function carrying out Thin Provisioning capacity virtualization, and a second-type volume used in a function other than the virtual volume function, at least one of the plurality of first-type volumes is adopted as an access target for data to be written to the second-type volume, a target CPU score, which is a CPU core to which a set of control rights for the access-target first-type volume is assigned, assigns an area required to store data according to the write access from the common physical storage area to the access-target first-type volume.

3

3. The storage controller according to claim 2 , wherein a certain CPU core performs overflow prevention processing, which is processing including operations (A) to (C) below: in operation (A) judging whether or not a usage rate of the common physical storage area exceeds a first threshold value; in operation (B) deleting a volume in a case where a result of the judgment in the operation (A) is affirmative; and in operation (C) releasing an area of the common physical storage area that has been assigned to the volume deleted in the operation (B).

4

4. The storage controller according to claim 3 , wherein the certain CPU core further performs operation (D) and operation (E) below in the overflow prevention processing: in operation (D) judging whether or not the usage rate of the common physical storage area has fallen below a second threshold value as a result of the operation (C); and in operation (E) executing the operation (B) if the result of the judgment in the operation (D) is negative, and ending processing if a result of the judgment in the operation (D) is affirmative, and wherein the second threshold value is a lower threshold value than the first threshold value.

5

5. The storage controller according to claim 2 , wherein the target CPU core assigns an area from one or more chunks belonging to the set of control rights for the access-target first-type volume to the access-target first-type volume, and if the one or more chunks do not have an area of a capacity required to store data, adds at least one free chunk to the set of control rights and then assigns the area to the first-type volume from the added chunk.

6

6. A storage controller comprising a plurality of Central Processing Unit (CPU) cores, wherein the plurality of CPU cores each have control rights for logical storage areas of one or more types among logical storage areas of a plurality of types, and each of the CPU cores, in a case of a write access to a logical storage area corresponding to the control rights of the CPU cores, assigns an area required to store data according to the write access from a common physical storage area to an access-target logical storage area, wherein the logical storage areas of the plurality of types are a plurality of volumes belonging to a plurality of control rights sets, one or more control rights sets are assigned to each of the CPU cores, the common physical storage area is configured by a plurality of chunks, one or more chunks assigned from the plurality of chunks belong, in addition to the volumes, to each control rights set, and each of the CPU cores, to which a control rights set of a target volume to which data is to be written is assigned, assigns an area to the target volume from the one or more chunks belonging to the control rights set.

7

7. The storage controller according to claim 6 , wherein any CPU core performs control rights migration processing to migrate an assignment destination of one or more migration target volumes from a first control rights set to a second control rights set, and in the control rights migration processing, in operation (a) judges whether or not all of the one or more migration target volumes are all of the one or more volumes belonging to the first control rights set, and in operation (b) if a result of the judgment in the operation (a) is negative, performs operations (b-1) to (b-3) below for each of the areas assigned to the one or more migration target volumes: in operation (b-1) judging whether an area has also been assigned to a volume other than the one or more migration target volumes; in operation (b-2) if a result of the judgment in the operation (b-1) is affirmative, copying data in the area to an area of a chunk belonging to the second control rights set; in operation (b-3) if the result of the judgment in operation (b-1) is negative, migrating data in the area to an area of a chunk belonging to the second control rights set.

8

8. The storage controller according to claim 7 , wherein any of the CPU cores, in the control rights migration processing, in operation (b-4) judges whether or not a chunk that includes a data migration source area is empty after the operation (b-3), and in operation (b-5) if a result of the judgment of in the operation (b-4) is affirmative, releases the chunk from the first control rights set.

9

9. The storage controller according to claim 6 , wherein the CPU core, to which the control rights set of the target volume is assigned, in operation (A) judges whether or not there is an area capable of storing data in the chunks belonging to the control rights set of the target volume, in operation (B) if a result of the judgment in the operation (A) is affirmative, assigns an area to the target volume from a chunk which belongs to the control rights set of the target volume, and in operation (C) if the result of the judgment in the operation (A) is negative, adds any free chunk to the control rights set for the target volume and then assigns an area to the target volume from the added chunk.

10

10. The storage controller according to claim 6 , wherein areas of different sizes are mixed in one chunk.

11

11. The storage controller according to claim 6 , wherein the plurality of volumes include a virtual volume, a snapshot volume and a snapshot virtual volume; the virtual volume and the snapshot volume among the virtual volume, the snapshot and the snapshot virtual volumes are host device volumes; the virtual volume is a volume which is a data storage destination from a host device; the snapshot volume is a volume which stores differential data from a snapshot base volume which stores data as a base; data stored in the snapshot volume is stored in the snapshot virtual volume; each of the CPU cores to which a set of control rights for the virtual volume is assigned, in the case of a write access to the virtual volume, assigns an area required to store data according to the write access from the one or more chunks belonging to the set of control rights; each of the CPU cores to which a set of control rights for the snapshot volume is assigned, in the case of write access to the snapshot volume, writes data according to the write access to the snapshot virtual volume; the CPU core to which a set of control rights for the snapshot virtual volume is assigned, in the case of write access to the snapshot virtual volume, assigns an area required to store data according to the write access from the one or more chunks belonging to the set of control rights.

12

12. The storage controller according to claim 6 , wherein the plurality of volumes include a plurality of first-type volumes, which are volumes used in a virtual volume function which is a function carrying out Thin Provisioning capacity virtualization, and a second-type volume used in a function other than the virtual volume function, at least one of the plurality of first-type volumes is adopted as an access target for data to be written to the second-type volume, a target CPU core, that is one of the CPU cores to which a set of control rights for the access-target first-type volume is assigned, assigns an area required to store the data according to the write access on the access-target first-type volume from the one or more chunks belonging to the set of control rights.

13

13. The storage controller according to claim 12 , wherein a certain CPU core performs an overflow prevention process which includes the following operations (A) to (C): in operation (A) determining if usage rate of the common physical storage area exceeds a first threshold value; in operation (B) deleting volumes if a result of the above operation (A) determination is affirmative; in operation (C) releasing an area in the common physical storage area that was assigned in the deleted volumes in the above operation (C), and the usage rate is a total ratio of the assigned area for the capacity of the common physical storage area.

14

14. The storage controller according to claim 13 , wherein a certain CPU core performs an overflow prevention process which includes the following operations (D) to (E): in operation (D) determining whether the usage rate of the common physical storage area is less than a second threshold value as a result of the above operation (C); in operation (E) executing the above operation (B) if a result of the above operation (D) determination is negative, and terminate process if a result of the above operation (D) determination is affirmative, and the second threshold value is lower than the first threshold value.

15

15. The storage controller according to claim 6 , wherein the common physical storage area is a storage area based on a RAID group; the RAID group is comprised of a plurality of physical storage devices; each of the plural chunks is comprised of plural stripe lines; each stripe line is comprised of plural stripes and I/O unit area of data based on the RAID group; each stripe is a unit area in the physical storage device, and areas of different sizes are mixed in one chunk.

16

16. The storage controller according to claim 12 , wherein when the target CPU core assigns the area on the access-target first-type volume from one or more chunks belonging to a set of control rights for the access-target first-type volume, if there is no capacity area required to store data in the one or more chunks, at least one free chunk is assigned for the set of control rights and thereafter, an area required to store data is assigned for the first-type volume from the assigned chunk.

17

17. A storage controlling method by a storage controller, wherein the storage controller has a plurality of CPU cores, plural types of logical storage areas, and common physical storage areas on one or more logical storage areas among the plural types of logical storage areas, the plural types of logical storage areas have a plurality of volumes belonging to plural sets of control rights and the common physical storage areas are comprised of plural chunks, and the storage controlling method has the following steps of: assigning one or more chunks among the plural chunks on each of the plural sets of control rights; assigning one or more sets of control rights on each of the plural CPU cores; when receiving a write access, a CPU core to which a set of control rights for the target volume in which data according to the write access is to be written assigns an area required to store the data from one or more chunks belonging to the set of control rights.

Patent Metadata

Filing Date

Unknown

Publication Date

November 6, 2012

Inventors

Junji Ogawa
Yoichi Mizuno
Yoshinori Ohira
Kenta Shiga
Yusuke Nonaka

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “STORAGE CONTROLLER AND STORAGE CONTROL METHOD FOR DYNAMICALLY ASSIGNING PARTIAL AREAS OF POOL AREA AS DATA STORAGE AREAS” (8307171). https://patentable.app/patents/8307171

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.