WO2014083620A1 - ストレージ装置及び階層制御方法 - Google Patents

ストレージ装置及び階層制御方法 Download PDF

Info

Publication number
WO2014083620A1
WO2014083620A1 PCT/JP2012/080651 JP2012080651W WO2014083620A1 WO 2014083620 A1 WO2014083620 A1 WO 2014083620A1 JP 2012080651 W JP2012080651 W JP 2012080651W WO 2014083620 A1 WO2014083620 A1 WO 2014083620A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
hierarchy
area
data
access frequency
Prior art date
Application number
PCT/JP2012/080651
Other languages
English (en)
French (fr)
Inventor
開道 相浦
裕 小泉
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2012/080651 priority Critical patent/WO2014083620A1/ja
Priority to US13/978,819 priority patent/US9448740B2/en
Priority to JP2014549672A priority patent/JP5941996B2/ja
Publication of WO2014083620A1 publication Critical patent/WO2014083620A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Definitions

  • the present invention relates to a storage apparatus and a tier control method, and is suitable for application to, for example, a storage apparatus equipped with a tier control function.
  • the Thin Provisioning function presents a virtual volume (hereinafter referred to as a virtual volume) as a logical volume for reading and writing user data to the host device (host computer), and actually uses the virtual volume according to the usage status of the virtual volume.
  • a virtual volume hereinafter referred to as a virtual volume
  • This function dynamically allocates a physical storage area for storing user data to the virtual volume.
  • the virtual volume is divided into a plurality of unit areas of a predetermined size (hereinafter referred to as virtual pages), and is installed in the storage device.
  • the storage area provided by the storage device is managed as a collection of logical storage areas called one or a plurality of pools.
  • the storage area in the pool is managed by dividing it into an area having the same size as the virtual page (hereinafter referred to as a logical page).
  • the physical storage area provided by the storage device is also managed by dividing it into an area having the same size as the logical page (hereinafter referred to as a physical page).
  • Each logical page is associated with a different physical page in a one-to-many, many-to-many or many-to-one manner.
  • the storage device allocates a logical page from the pool to the virtual page, and Data is stored in a physical page associated with the logical page.
  • Such a Thin Provisioning function has an advantage that the storage area in the storage apparatus can be used efficiently while presenting a volume having a capacity larger than the storage area in the storage apparatus to the host apparatus.
  • one pool is composed of storage areas provided by multiple types of storage devices with different performances, and the access frequency is measured in units of virtual pages of a virtual volume.
  • Data written to a virtual page with high access frequency is relocated to a storage area provided by a storage device with higher performance, and storage device with lower performance is provided for data written to a virtual page with low access frequency
  • Patent Document 1 has also been proposed (referred to below as Patent Document 1).
  • Patent Document 2 discloses that pages are arranged based on the weighted average of the number of I / Os in each of the first period and the second period.
  • the measurement period Even for virtual pages where the access frequency for the entire measurement period has increased because the access frequency was high only for a part of the period within the access frequency measurement period (hereinafter referred to as the measurement period). There is a problem in that it is placed in a storage area with high performance even during a period in which the access frequency is not high.
  • Patent Document 2 the number of I / Os is calculated based on past monitoring results, and there is a problem that the increase in the number of I / Os in the latest short span cannot be handled.
  • the present invention has been made in view of the above points, and intends to propose a storage apparatus and a tier control method capable of preventing an increase in system operation workload while preventing a decrease in system performance.
  • a virtual volume is provided to a higher-level device, and the virtual volume is divided into unit areas of a predetermined size and managed, and a write request for the virtual volume from the higher-level device is received.
  • the storage area is configured from a plurality of storage hierarchies each having different performance, For each unit area in the virtual volume, an access frequency measuring unit that measures an access frequency for each of a plurality of measurement periods, and each unit area of the virtual volume based on a measurement result of the access frequency measuring unit A floor for determining the appropriate storage hierarchy as the location of the written data.
  • a determination unit the storage tier to which the storage area storing data written in the unit area belongs, and the arrangement of the data determined by the tier determination unit
  • a rearrangement unit that rearranges data written in the unit area in the storage area belonging to the storage hierarchy determined to be appropriate by the hierarchy determination unit for the unit area that is different from the appropriate storage hierarchy And so on.
  • the virtual volume is provided to the host device, and the virtual volume is divided into unit areas of a predetermined size and managed, and the virtual volume is responded to a write request to the virtual volume from the host device.
  • a tier control method in a storage device that allocates a storage area to the corresponding unit area in the storage area and stores data to be written in the storage area, wherein the storage area is composed of a plurality of storage tiers each having different performance
  • the storage apparatus and tier control method of the present invention it is possible to determine the storage tier at which data is allocated from the viewpoint of a plurality of periods such as a long-term viewpoint, a medium-term viewpoint, and a short-term viewpoint. Therefore, it is possible to perform data arrangement in a more appropriate storage hierarchy without the system operator being conscious.
  • the present invention it is possible to realize a storage apparatus and a tier control method capable of preventing an increase in the workload of system operation while preventing a decrease in system performance.
  • FIG. 6 is a conceptual diagram for explaining a fixed storage area, a long-term storage area, and a temporary storage area of the first to third storage hierarchies according to the present embodiment.
  • FIG. 5 is a conceptual diagram for explaining first to third time periods. It is a conceptual diagram with which it uses for description of each threshold value.
  • reference numeral 1 denotes a computer system according to the present embodiment as a whole.
  • the computer system 1 includes one or a plurality of business servers 3 and a storage device 4 connected via a network 2.
  • the network 2 includes, for example, a SAN (Storage Area Network), a LAN (Local Area Network), the Internet, a public line, or a dedicated line.
  • a SAN Storage Area Network
  • LAN Local Area Network
  • the Internet a public line
  • a dedicated line For example, when the network 2 is a SAN, communication between the business server 3 and the storage device 4 via the network 2 is performed according to the fiber channel protocol.
  • TCP / IP Transmission Control Protocol / Internet (Protocol) protocol.
  • the business server 3 is a server device that reads and writes data from and to the storage device 4 and includes information processing resources such as a CPU 10, a memory 11, and an interface 12.
  • the CPU 10 is a processor that controls the operation of the entire business server 3, and the memory 11 is mainly used to store various programs such as the application 13. When the CPU 10 executes the program stored in the memory 11, various processes such as reading and writing of data with respect to the storage apparatus 4 are executed.
  • the interface 12 is composed of, for example, a NIC (Network Interface Card) or the like, and executes processing such as protocol conversion during communication with the storage apparatus 4.
  • the storage device 4 includes a storage unit 21 that stores data, and a controller 22 that controls input / output of data to / from the storage unit 21.
  • the storage unit 21 includes a plurality of types of storage devices 30 having different performance such as SSD (Solid State Attached SCSI) disks, SAS (Serial Attached SCSI) disks, and SATA (Serial AT Attachment) disks.
  • SSD Solid State Attached SCSI
  • SAS Serial Attached SCSI
  • SATA Serial AT Attachment
  • the controller 22 includes a CPU (Central Processing Unit) 31, a memory 32, a cache memory 33, a host interface 34, a disk interface 35, and a management device 36, which are connected to each other via an internal bus 37. ing.
  • CPU Central Processing Unit
  • the CPU 31 is a processor that controls the operation of the entire storage apparatus 4.
  • the memory 32 is mainly used for storing various programs and various data. When the CPU 31 executes the program stored in the memory 32, the storage apparatus 4 as a whole executes various processes as described below.
  • the cache memory 33 is used for temporarily storing and holding data read from and written to the storage device 30.
  • the host interface 34 is an interface to the network 2 and is composed of, for example, a NIC.
  • the CPU 31 sends and receives various commands such as read data or write data, and read commands or write commands to and from the business server 3 via the host interface 34.
  • the disk interface 35 is an interface to the storage device 30.
  • the disk interface 35 controls the corresponding storage device 30 according to the read command and write command from the business server 3 given via the host interface 34, thereby reading to the address position specified in the read command or write command. Read and write data and write data.
  • the management device 36 includes, for example, a display device (not shown) made up of a liquid crystal panel and the like, and an input device (not shown) made up of a keyboard and a mouse, and is made up of, for example, a notebook personal computer.
  • the management device 36 is used for maintaining and managing the storage device 4.
  • FIG. 2 shows a logical configuration of the storage area in the storage apparatus 4.
  • the controller 22 manages one or a plurality of storage devices 30 of the same type as one RAID (RedundantundArrays of IndependentsDisks) group RG. Then, one or a plurality of logical volumes VOL are created on the physical storage area provided by each storage device 30 constituting one RAID group RG.
  • RAID RedundantundArrays of IndependentsDisks
  • the controller 22 also has a storage area (logical volume VOL) provided by the RAID group RG composed of the storage device 30 with the highest performance (hereinafter referred to as SSD) among the storage devices 30 loaded in the storage apparatus 4.
  • Volume VOL) is managed as the second storage tier ("Tier2"), and is composed of the storage devices 30 (hereinafter referred to as SATA disks) having the lowest performance among the storage devices 30 loaded in the storage apparatus 4.
  • the storage area (logical volume VOL) provided by the RAID group RG is managed as the third storage hierarchy (“Tier3”).
  • the controller 22 manages a plurality of types of logical volumes VOL belonging to the first to third storage tiers as a pool PL. That is, one or more logical volumes VOL belonging to the first storage hierarchy, one or more logical volumes VOL belonging to the second storage hierarchy, and one or more logical volumes VOL belonging to the third storage hierarchy.
  • One pool PL is configured.
  • one or a plurality of virtual volumes VVOL are created on the pool PL, and these virtual volumes VVOL are provided to the business server 3.
  • the controller 22 and the virtual volume VVOL A logical page LP is allocated from the logical volume VOL belonging to one of the storage tiers (first to third storage tiers) in the associated pool PL to the virtual volume VVOL, and the write target data is assigned to the logical page LP. Is stored in the physical page PP associated with.
  • the controller 22 when the controller 22 allocates the logical page LP to the virtual volume VVOL, the controller 22 allocates the logical page LP from the logical volume VOL belonging to the highest storage tier among the storage tiers to which the logical page LP can be allocated. assign.
  • the hierarchical relationship of the storage tier is determined by the performance of the storage device 30 that provides the storage area that constitutes the storage tier, and the storage tier to which the logical volume VOL provided by the higher performance storage device 30 belongs is higher.
  • Storage hierarchy Therefore, the second storage hierarchy is managed as a higher storage hierarchy than the third storage hierarchy, and the first storage hierarchy is managed as a higher storage hierarchy than the second storage hierarchy.
  • the controller 22 accesses the virtual pages VP in all virtual volumes VVOL created in the storage apparatus 4 from the business server 3 to the virtual pages VP per second (hereinafter referred to as IOPS ( Always called Input Output per second). Then, for each virtual page VP in which data from the business server 3 is written, the controller 22 is appropriate as an arrangement destination of the data written in the virtual page VP based on the IOPS from the business server 3 for the virtual page VP. Appropriate tier determination processing is executed to determine each of the different storage tiers.
  • IOPS always called Input Output per second
  • the controller 22 thereafter stores the storage tier to which the logical page LP (exactly the physical page PP) in which the data written to the virtual page VP is stored among the virtual pages VP of the virtual volume VVOL, For the virtual page VP that is different from the appropriate storage hierarchy as the data placement destination determined by the above-described appropriate hierarchy determination process, the data written to the virtual page VP is determined to be appropriate by the appropriate hierarchy determination process. A rearrangement process for rearranging the physical page PP associated with the logical page LP belonging to the hierarchy is executed.
  • the controller 22 of the storage apparatus 4 logically or physically stores the storage areas of the respective storage tiers (first to third storage tiers) in the pool, as shown in FIG.
  • One area is managed as a fixed storage area (H1, M1, and L1 in FIG. 4), and one of the remaining two areas is a long-term storage area (H2, M2 in FIG. 4).
  • L2 and the other is managed as a temporary storage area (H3, M3 and L3 in FIG. 4).
  • the alphabets “H”, “M”, and “L” represent storage tiers (first, second, or third storage tiers, respectively), and “1”, “
  • the numbers “2” and “3” represent the attributes of the corresponding areas in the corresponding storage hierarchy (fixed storage area, long-term storage area, or temporary storage area, respectively). The same applies to the following.
  • the controller 22 measures the average value of IOPS for each of a plurality of measurement periods (hereinafter referred to as access frequency) for each virtual page VP of each virtual volume VVOL.
  • access frequency a plurality of measurement periods
  • such a plurality of measurement periods are defined as an X time period, a Y time period, and a Z time period, respectively, and among the X time, the Y time, and the Z time, the X time is the longest ( For example, 24 hours), Z time is long (for example, 2 hours), and Y time is shortest (for example, 1 hour).
  • the controller 22 determines which storage hierarchy of the first to third storage hierarchies the data written in each preset virtual page VP should be stored in.
  • a first threshold value (hereinafter referred to as a first access frequency threshold value) Ia and a second threshold value (hereinafter referred to as a second access frequency threshold value) Ib, which are reference values for determination, are stored in the memory 32 (FIG. 1) is stored in memory.
  • the first access frequency threshold value Ia is a reference value for determining whether the data written in the virtual page VP should be stored in the logical page LP belonging to the first or second storage hierarchy.
  • the second access frequency threshold Ib is a reference value for determining whether the data written in the virtual page VP should be stored in the logical page LP belonging to either the second or third storage hierarchy.
  • first low-side access frequency threshold Iam that is lower in access frequency by a predetermined amount than the first access frequency threshold Ia and a first access frequency threshold Ia.
  • a first high-side access frequency threshold value Iah having a high access frequency by a fixed amount is set, and a second access frequency that is lower than the second access frequency threshold value Ib by a predetermined amount before and after the second access frequency threshold value Ib.
  • a second high-side access frequency threshold Ibm that is higher in access frequency by a predetermined amount than the second access frequency threshold Ib.
  • the controller 22 determines an appropriate storage tier as an arrangement destination of data written in each virtual page VP in the virtual volume VVOL, for example, in the Y time cycle as the above-described appropriate tier determination processing.
  • the controller 22 has the logical page LP belonging to the long-term storage area (H2, M2 or L2) of the first to third storage hierarchies among the virtual pages VP in which the data in the virtual volume VVOL is written.
  • the access frequency (Ix) of the most recent X time is compared with the first and second access frequency threshold values Ia and Ib, and the access frequency (Iy) of the most recent Y time is Comparison is made with one high-side access frequency threshold Iah, the first low-side access frequency threshold Iam, the second high-side access frequency threshold Ibm, and / or the second low-side access frequency threshold Ibl.
  • the access frequency (Ix) in the latest X time is equal to or higher than the first access frequency threshold Ia
  • the access frequency (Iy) in the latest Y time is the first
  • the controller 22 determines that the appropriate arrangement destination of the data written in the virtual page VP is the long-term storage area (H2) of the first storage hierarchy.
  • the controller 22 determines that the appropriate arrangement destination of the data written in the virtual page VP is the temporary storage area (H3) of the second storage hierarchy.
  • the access frequency (Ix) in the latest X time is less than the first access frequency threshold value Ia and greater than or equal to the second access frequency threshold value Ib, and the access frequency (Iy) in the latest Y time is the first high side.
  • the access frequency threshold is higher than Iah, the access frequency for the corresponding virtual page VP is not so high from a long-term viewpoint, but is high from a short-term viewpoint, so the latest access frequency is temporarily high. It is estimated that Thus, at this time, the controller 22 determines that the appropriate arrangement destination of the data written in the corresponding virtual page VP is the temporary storage area (H3) of the first storage hierarchy.
  • the access frequency (Ix) in the latest X time is less than the first access frequency threshold value Ia and greater than or equal to the second second access frequency threshold value Ib, and the access frequency (Iy) in the latest Y time is the first value. If the access frequency is lower than the high-side access frequency threshold Iah and greater than or equal to the second low-side access frequency threshold Ibl, the current access frequency is not so high from both the long-term and short-term viewpoints. It is estimated that the access frequency does not increase rapidly. Thus, at this time, the controller 22 determines that the appropriate arrangement destination of the data written in the corresponding virtual page VP is the long-term storage area (M2) of the second storage hierarchy.
  • M2 long-term storage area
  • the access frequency (Ix) at the latest X time is less than the first access frequency threshold value Ia and is equal to or higher than the second second access frequency threshold value Ib, and the access frequency (Iy) at the latest Y time. Is less than the second high-side access frequency threshold Iah, the access frequency is low from the short-term viewpoint, but the access frequency is not so low from the long-term viewpoint. It is estimated that there is a possibility of returning to a level that is neither high nor low. Thus, at this time, the controller 22 determines that the appropriate arrangement destination of the data written in the corresponding virtual page VP is the temporary storage area (L3) of the third storage hierarchy.
  • the controller 22 determines that the appropriate arrangement destination of the data written in the corresponding virtual page VP is the temporary storage area (M3) of the second storage hierarchy.
  • the controller 22 determines that the appropriate placement destination of the data written in the corresponding virtual page VP is the long-term storage area (L3) of the third storage hierarchy.
  • the controller 22 is a logical page belonging to the temporary storage area (H3, M3 or L3) of the first to third storage hierarchies among the virtual pages VP in which the data in the virtual volume VVOL is written.
  • the data is arranged in the long-term storage area (H2, M2 or L2) of the same storage hierarchy or the long-term storage area (H2, M2 or L2) of another storage hierarchy. Determine whether it should be.
  • the controller 22 accesses the most recent Z time access frequency for the virtual page VP to which the logical page LP belonging to the temporary storage area (H3, M3, or L3) of the first to third storage hierarchies is assigned. (Iz) is compared with the first high-side access frequency threshold Iah, the first low-side access frequency threshold Iam, the second high-side access frequency threshold Ibm, or the second low-side access frequency threshold Ibl.
  • the data written to the target virtual page VP is stored in the temporary storage area (H3) of the first storage hierarchy at the latest Z time.
  • the access frequency (Iz) is equal to or higher than the first high-side access frequency threshold Iah, it is estimated that the access frequency for the corresponding virtual page VP will continue to be high from a medium-term viewpoint.
  • the controller 22 determines that the data written in the virtual page VP should be arranged in the long-term storage area (H2) of the first storage hierarchy.
  • data written to the target virtual page VP at that time is stored in the temporary storage area (H3) of the first storage hierarchy, and the access frequency (Iz) in the latest Z time is the first high level.
  • the access frequency is less than the side access frequency threshold Iah, the access frequency to the corresponding virtual page VP is temporarily high in the short term, but is estimated to be likely to become low in the future from the medium-term viewpoint. .
  • the controller 22 determines that the data written in the virtual page VP should be arranged in the long-term storage area (M2) of the second storage hierarchy.
  • data written to the target virtual page VP is stored in the temporary storage area (M3) of the second storage hierarchy, and the access frequency (Iz) in the latest Z time is the first low.
  • the side access frequency threshold Iam or more it is estimated that the access frequency for the corresponding virtual page VP may increase in the future from the short-term and medium-term viewpoints.
  • the controller 22 determines that the data written in the virtual page VP should be arranged in the long-term storage area (H2) of the first storage hierarchy.
  • data written to the target virtual page VP at that time is stored in the temporary storage area (M2) of the second storage hierarchy, and the access frequency (Iz) in the latest Z time is the first low.
  • the access frequency is less than the second access frequency threshold Iam and greater than or equal to the second high access frequency threshold Ibm
  • the access frequency for the corresponding virtual page VP is estimated to maintain a state that is neither high nor low in the future from a medium-term viewpoint. Is done.
  • the controller 22 determines that the data written in the virtual page VP should be arranged in the long-term storage area (M2) of the second storage hierarchy.
  • the data written in the target virtual page VP is stored in the temporary storage area (M3) of the second storage hierarchy, and the access frequency (Iz) in the latest Z time is the second high level.
  • the access frequency for the corresponding virtual page VP is estimated to be lower in the future from a medium-term viewpoint.
  • the controller 22 determines that the data written in the virtual page VP should be arranged in the long-term storage area (L2) of the third storage hierarchy.
  • the data written in the target virtual page VP is stored in the temporary storage area (L3) of the third storage hierarchy, and the access frequency (Iz) in the latest Z time is the second low level.
  • the access frequency for the corresponding virtual page VP is estimated to increase from the medium-term viewpoint.
  • the controller 22 determines that the data written in the virtual page VP should be arranged in the long-term storage area (M2) of the second storage hierarchy.
  • data written to the target virtual page VP is stored in the temporary storage area (L3) of the third storage hierarchy, and the access frequency (Iz) in the latest Z time is the second low level.
  • the access frequency for the corresponding virtual page VP is estimated to be lower in the future from a medium-term viewpoint.
  • the controller 22 determines that the data written in the virtual page VP should be arranged in the long-term storage area (L2) of the third storage hierarchy.
  • the controller 22 performs the long-term storage area (H2, M2, L2) and the temporary storage area (H3) of each storage hierarchy among all the virtual pages VP into which the data in each virtual volume VVOL is thus written.
  • M3, L3 when the appropriate placement destination of the data written to the virtual page VP is determined for each virtual page VP, the data written to each virtual page VP is determined according to the determination result.
  • the logical pages LP belonging to the corresponding area (long-term storage area or temporary storage area) in the corresponding storage hierarchy are rearranged as necessary (relocation processing). .
  • the user can specify that the data is fixedly arranged in a desired storage hierarchy in units of data, and for the data specified in this way, the specified storage hierarchy is fixed. It is stored in the storage area (H1, M1, L1). Then, the virtual page VP in which such data is written is not subjected to the proper hierarchy determination process and the rearrangement process. Accordingly, such data is not rearranged, and the state where it is always arranged in the designated storage hierarchy is maintained.
  • the memory 32 (FIG. 1) of the storage apparatus 4 includes the page management table 40 shown in FIG. 9 and the hierarchical management table shown in FIG. 41 are stored.
  • the page management table 40 is a table used for managing the logical page LP in each pool PL created in the storage apparatus 4, and as shown in FIG. 9, the pool number column 40A, the capacity column 40B, page number column 40C, virtual volume number column 40D, allocation column 40E, storage tier / area attribute column 40F, first access frequency column 40G, second access frequency column 40H, third access frequency column 40I, tier It consists of a fixed column 40J and a corresponding physical page column 40K.
  • the identifier assigned to each pool PL created in the storage device 4 is stored in the pool number column 40A, and the capacity of the corresponding pool PL is stored in the capacity column 40B.
  • the page number column 40C stores an identifier (page number) assigned to each logical page LP in the corresponding pool PL. Note that the page number assigned to each logical page LP in each pool PL is unique to that logical page LP in the storage apparatus 4, and does not overlap with the page number of any logical page LP in any pool PL. Is granted as follows.
  • the assignment column 40E information indicating whether or not any virtual page VP in any virtual volume VVOL has already been assigned to the corresponding logical page LP (in the case of assignment, “done”, If the logical page VP is assigned to any virtual page VP, the virtual volume number column 40D stores the virtual page VP having the virtual page VP. The volume number (LUN: Logical : Unit Number) of the volume VVOL is stored. When the corresponding logical page LP is not assigned to any virtual page VP, information representing this (“not yet”) is stored in the virtual volume number column 40D. Further, the storage hierarchy / area attribute column 40F stores the storage hierarchy to which the corresponding logical page LP belongs and the identifiers (H1 to H3, M1 to M3, L1 to L3) representing the storage hierarchy.
  • the first access frequency column 40G stores the access frequency (Ix) within the latest X hours for the virtual page VP to which the corresponding logical page LP is allocated
  • the second access frequency column 40H stores the relevant access frequency (Ix).
  • the third access frequency column 40I stores the access frequency (Iz) within the latest Z time for the virtual page VP.
  • the access frequencies (Ix to Iz) stored in the first to third access frequency columns 40G to 40I are based on the IOPS for each virtual page VP measured by the measurement function of the storage device 4. Updated at intervals.
  • the corresponding physical page column 40K stores the page number of the physical page PP associated with the corresponding logical page LP.
  • the tier management table 41 is a table used for managing the configurations of the first to third storage tiers in one pool, and is created for each pool PL.
  • the hierarchy management table 41 includes a storage hierarchy / area attribute column 41A, a RAID group column 41B, a RAID level column 41C, a storage device type column 41D, and an emulation type column 41E.
  • an identifier fixed storage area, long-term storage area, or temporary storage area
  • the RAID group column 41B contains identifiers of all RAID groups RG (FIG. 2) that provide areas of the corresponding area attributes in the corresponding storage hierarchy. Is stored.
  • the RAID level column 41C includes a level column 41CA and a configuration column 41CB.
  • the level column 41CA stores the RAID level of the corresponding RAID group RG
  • the configuration column 41CB stores the RAID configuration of the corresponding RAID group RG.
  • RAID levels include “RAID1” to “RAID6” and “RAID1 + 0”.
  • the numerical value on the left side of “D” represents the number of storage devices 30 that store data
  • the numerical value on the left side of “P” represents the number of storage devices 30 that store parity. Accordingly, for example, in “3D + 1P”, the corresponding RAID group RG is composed of four storage devices 30, of which three storage devices 30 are used for storing data, and one storage device 30 stores parity. It is used to do.
  • the storage device type column 41D includes a type column 41DA and a capacity column 41DB.
  • the type column 41DA stores the type (“SSD”, “SAS”, or “SATA”) of the storage device 30 that configures the corresponding RAID group RG
  • the capacity column 41DB stores each type of the storage device 30.
  • the storage capacity is stored.
  • the emulation type column 41E stores the emulation type of the corresponding RAID group RG.
  • the fixed storage area (“H1”) of the first storage hierarchy of the corresponding pool PL has two “1-1” or “1-2” identifiers, respectively.
  • the RAID group RG is configured by a storage area (logical volume VOL) provided by the RAID group RG.
  • the RAID group RG “1-1” has a RAID level “RAID5” composed of “200 GB” “SSD”, It is indicated that the RAID group RG has a RAID configuration “3D + 1” and the emulation type is “openV”.
  • FIG. 11 is executed by the CPU 31 of the storage apparatus 4 when a pool creation instruction (hereinafter referred to as pool creation instruction) is input via the management apparatus 36 (FIG. 1). The processing procedure of the pool creation process is shown.
  • pool creation instruction hereinafter referred to as pool creation instruction
  • the CPU 31 obtains a negative result in this determination, the CPU 31 cancels the creation of the designated pool PL and displays a warning that the designated pool PL cannot be created on the display device of the management device 36 (SP7). Thereafter, the pool creation process is terminated.
  • step SP2 determines whether the corresponding logical volume VOL is not provided to the business server 3 as it is. If the CPU 31 obtains a negative result in this determination, it proceeds to step SP7, processes this step SP7 in the same manner as described above, and ends this pool creation process.
  • the CPU 31 obtains a positive result in the determination at step SP2, the total capacity of each logical volume VOL in the pool PL to be created at that time (that is, the capacity of the pool PL) is a predetermined limit value. It is determined whether it is less than (SP3). If the CPU 31 obtains a negative result in this determination, it proceeds to step SP7, processes this step SP7 in the same manner as described above, and ends this pool creation process.
  • the CPU 31 If the CPU 31 obtains a positive result in the determination at step SP3, the CPU 31 confirms the type of the storage device 30 that provides each logical volume VOL designated as the logical volume VOL constituting the pool PL to be created at this time. (SP4).
  • the CPU 31 determines in advance the number of types of storage devices 30 that provide each logical volume VOL designated as the logical volume VOL constituting the pool PL to be created based on the confirmation result of step SP4. It is determined whether or not it is less than the specified limit value (SP5).
  • each pool PL it is not always necessary to configure each pool PL with the first to third storage hierarchies, and the storage hierarchy may be composed of only the first and second storage hierarchies. . Therefore, if the number of types of storage devices 30 that provide each logical volume VOL designated as the logical volume VOL constituting the pool PL to be newly created is three, a negative result is obtained in this step SP5. Will be obtained. Thus, if the CPU 31 obtains a negative result in this determination, it proceeds to step SP7, and processes this step SP7 in the same manner as described above, and then ends this pool creation process.
  • the CPU 31 obtains a positive result in the determination at step SP5, it creates the designated pool PL. Specifically, the CPU 31 holds a table (not shown) (hereinafter referred to as a pool management table) for managing the logical volume VOL constituting each pool PL in the storage apparatus 4 in the memory 32 (FIG. 1). In this pool management table, a pool PL to be newly created and a logical volume VOL constituting the pool PL are registered (SP6).
  • a pool management table for managing the logical volume VOL constituting each pool PL in the storage apparatus 4 in the memory 32
  • FIG. 12 shows storage when a virtual volume VVOL creation instruction (hereinafter referred to as a virtual volume creation instruction) is input via the management device 36 (FIG. 1). The processing procedure of the virtual volume creation process executed by the CPU 31 of the device 4 is shown.
  • a virtual volume creation instruction hereinafter referred to as a virtual volume creation instruction
  • the CPU 31 is operated by the management device 36 to determine the number of virtual volumes VVOL to be created, the capacity of each virtual volume VVOL, the volume number of each virtual volume VVOL, the identification number of the pool PL to which the created virtual volume VVOL is to be associated, etc.
  • creation virtual volume information information (hereinafter collectively referred to as creation virtual volume information) is input and a creation instruction for the virtual volume VVOL (virtual volume creation instruction) is input, this virtual volume creation processing is started. Based on the created virtual volume information input at this time, it is determined whether or not the capacity of each virtual volume VVOL to be created is less than a predetermined limit value (SP10).
  • SP10 predetermined limit value
  • the CP 31U obtains a negative result in this determination, it cancels the creation of the virtual volume VVOL and displays the reason for the stop on the display device of the management device 36 (SP14), and then ends this virtual volume creation processing. .
  • the CPU 31 obtains a positive result in the determination at step SP10, the total value of the number of virtual volumes VVOL to be created at this time and the number of virtual volumes VVOL currently existing in the storage apparatus 4 is calculated in advance. It is determined whether or not the value is less than a predetermined limit value (SP11).
  • step SP14 If the CPU 31 obtains a negative result in this determination, it proceeds to step SP14, and after processing this step SP14 in the same manner as described above, this virtual volume creation process ends.
  • step SP14 If the CPU 31 obtains a negative result in this determination, it proceeds to step SP14, and after processing this step SP14 in the same manner as described above, this virtual volume creation process ends.
  • the CPU 31 when it obtains a positive result in the determination at step SP12, it creates all designated virtual volumes VVOL based on the created virtual volume information (SP13). Specifically, the CPU 31 holds a management table (not shown) for managing the virtual volume VVOL (hereinafter referred to as a virtual volume management table) in the memory 32 (FIG. 1), and this virtual volume management table. The virtual volume VVOL is created by registering the information necessary for. The CPU 31 thereafter ends this virtual volume creation process.
  • FIG. 13 shows specific processing contents of the appropriate tier determination processing executed by the CPU 31 in the Y time cycle in relation to the tiered storage control function according to the present embodiment described above.
  • the CPU 31 determines an appropriate storage hierarchy as an arrangement destination of data written to each virtual page VP of the virtual volume VVOL.
  • the CPU 31 first refers to the page management table 40 (FIG. 9), selects one virtual page VP that has not been processed in step SP31 and subsequent steps (SP30), and selects it. Based on the page management table 40, it is determined whether or not the storage tier of the placement destination is specified for the data written to the virtual page (hereinafter referred to as the selected virtual page) VP (SP31).
  • the CPU 31 If the CPU 31 obtains an affirmative result in this determination, it writes the data written in the selected virtual page VP into the fixed storage area (H1, M1, or L1 in the designated first, second, or third storage hierarchy). If necessary, the corresponding storage device 30 is controlled so as to be rearranged (S32), and then the process proceeds to step SP47.
  • the storage hierarchy and area attribute to which the logical page LP currently assigned to the selected virtual page VP belongs is referred to by referring to the page management table 40. It is determined whether it is any of “H2”, “M2” and “L2” (SP33).
  • a management table (not shown) in which which logical page LP is allocated to each virtual page VP of each virtual volume VVOL is registered (hereinafter this is a logical page allocation destination management table).
  • the page management table 40 it is determined whether or not the access frequency (Ix) within the latest X time for the selected virtual page VP is equal to or greater than the first access frequency threshold Ia (SP34). ). If the CPU 31 obtains an affirmative result in this determination, the access frequency (Iy) within the latest Y time for the selected virtual page VP is the first with reference to the logical page assignment destination management table and the page management table 40 described above. It is determined whether or not the low-side access frequency threshold Iam is greater than or equal to (SP35).
  • step SP36 determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “H2” (SP36), and then proceeds to step SP60. move on. If the CPU 31 obtains a negative result in the determination at step SP35, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “M3” (SP37), and then step SP60. Proceed to
  • the CPU 31 obtains a negative result in the determination at step SP34, it refers to the logical page assignment destination management table and the page management table 40 described above, and accesses frequency (Ix) within the latest X time for the selected virtual page VP. Is greater than or equal to the second access frequency threshold Ib (SP38).
  • the access frequency (Iy) within the latest Y time for the selected virtual page VP is the first with reference to the logical page assignment destination management table and the page management table 40 described above. It is determined whether or not the access frequency threshold is higher than Iah (SP39). If the CPU 31 obtains a positive result in this determination, it determines that the appropriate storage hierarchy is “H3” as the placement destination of the data written to the selected virtual page VP (SP40), and then proceeds to step SP60.
  • the access frequency (Iy) within the latest Y time for the selected virtual page VP is referred to with reference to the logical page assignment destination management table and the page management table 40 described above. It is determined whether or not it is equal to or higher than the second low-side access frequency threshold Ibl (SP41). If the CPU 31 obtains a positive result in this determination, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “M2” (SP42), and then proceeds to step SP60. . If the CPU 31 obtains a negative result in the determination at step SP41, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “L3” (SP43), and thereafter Proceed to SP60.
  • Ibl second low-side access frequency threshold
  • the CPU 31 obtains a negative result in the determination at step SP38, it refers to the logical page assignment destination management table and the page management table 40 described above, and accesses frequency (Iy) within the latest Y time for the selected virtual page VP. Is greater than or equal to the second high-side access frequency threshold Ibm (SP44). If the CPU 31 obtains an affirmative result in this determination, it determines that the storage hierarchy and area attribute appropriate for the location of the data stored in the selected virtual page VP is “M3” (SP45), and then proceeds to step SP60. . If the CPU 31 obtains a negative result in the determination at step SP44, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “L2” (SP46), and thereafter Proceed to SP60.
  • Iy frequency within the latest Y time for the selected virtual page VP. Is greater than or equal to the second high-side access frequency threshold Ibm
  • the CPU 31 obtains a negative result in the determination at step SP33, it refers to the logical page assignment destination management table and the page management table 40 described above, and the logical page LP currently assigned to the selected virtual page VP. It is determined whether or not the storage hierarchy and area attribute to which “H” belongs is “H3” (SP47).
  • the access frequency (Iz) within the latest Z time with respect to the selected virtual page VP is the first with reference to the logical page assignment destination management table and the page management table 40 described above. It is determined whether or not it is equal to or higher than the higher access frequency threshold value Iah (SP48). If the CPU 31 obtains a positive result in this determination, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “H2” (SP49), and then proceeds to step SP60. . If the CPU 31 obtains a negative result in the determination at step SP48, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “M2” (SP50), and thereafter Proceed to SP60.
  • the logical page LP currently assigned to the selected virtual page VP belongs with reference to the logical page assignment destination management table and the page management table 40 described above. It is determined whether or not the storage hierarchy and area attribute is “M3” (SP51).
  • the access frequency (Iz) within the latest Z time with respect to the selected virtual page VP is the first with reference to the logical page assignment destination management table and the page management table 40 described above. It is determined whether or not the low-side access frequency threshold Iam is equal to or greater than (SP52). If the CPU 31 obtains an affirmative result in this determination, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “H2” (SP53), and then proceeds to step SP60. .
  • the CPU 31 obtains a negative result in the determination at step SP52, it refers to the logical page assignment destination management table and the page management table 40 described above and accesses the selected virtual page VP within the latest Z time ( It is determined whether or not (Iz) is greater than or equal to the second high-side access frequency threshold Ibm (SP54). If the CPU 31 obtains a positive result in this determination, it determines that the storage hierarchy and area attribute appropriate for the location of the data written in the selected virtual page VP is “M2” (SP55), and then proceeds to step SP60. . If the CPU 31 obtains a negative result in the determination at step SP54, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “L2” (SP56), and thereafter Proceed to SP60.
  • Iz second high-side access frequency threshold
  • the CPU 31 when the CPU 31 obtains a negative result in the determination at step SP51, the CPU 31 refers to the logical page assignment destination management table and the page management table 40 described above, and accesses the selected virtual page VP within the latest Z time (Iz). Is greater than or equal to the second low-side access frequency threshold Ibl (SP57). If the CPU 31 obtains a positive result in this determination, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “M2” (SP58), and then proceeds to step SP60. . If the CPU 31 obtains a negative result in the determination at step SP57, it determines that the storage hierarchy and area attribute appropriate for the location of the data written to the selected virtual page VP is “L2” (SP59), and thereafter Proceed to SP60.
  • Iz the latest Z time
  • Ibl the second low-side access frequency threshold
  • step SP60 the CPU 31 determines whether or not the processing after step SP31 has been completed for all virtual pages VP in which data in each virtual volume VVOL in the storage apparatus 4 has been written (SP60). .
  • step SP30 When the CPU 31 obtains a negative result in this determination, it returns to step SP30, and thereafter repeats the processing of step SP30 to step SP60 while sequentially switching the virtual page VP selected in step SP30 to another virtual page VP.
  • step SP60 When the CPU 31 eventually obtains an affirmative result in step SP60 by completing the processing after step SP31 for all virtual pages in which data in each virtual volume VVOL in the storage apparatus 4 has been written, this appropriate tier determination processing Exit.
  • FIG. 14 shows a processing procedure for rearrangement processing executed by the CPU 31 following the above-described appropriate hierarchy determination processing.
  • the CPU 31 is a virtual page in which the storage hierarchy and area attribute to which the currently assigned logical page LP belongs and the appropriate storage hierarchy and area attribute determined by the appropriate hierarchy determination process are different.
  • the data written in the virtual page VP is rearranged in the physical page PP associated with the logical page LP belonging to the proper storage hierarchy and area attribute.
  • the CPU 31 determines whether there is a virtual page VP that needs to be rearranged (SP70). This determination is made for the virtual page VP in which data in each virtual volume VVOL is written, the storage tier and area attribute to which the currently allocated logical page LP belongs, and the proper tier determined by the above-described proper tier determination process. It is a virtual page VP having a different storage hierarchy and area attribute, and steps SP71 and after are performed by determining whether or not an unprocessed virtual page VP exists.
  • the CPU 31 If the CPU 31 obtains an affirmative result in this determination, it selects one virtual page VP that needs to be rearranged, and the above-mentioned appropriateness for the selected virtual page VP (hereinafter referred to as the corresponding virtual page VP). It is determined whether or not there is a free capacity in the appropriate storage hierarchy determined in the hierarchy determination process (SP71). If the CPU 31 obtains a negative result in this determination, the CPU 31 stops the rearrangement process for the virtual page VP and warns that there is no free space in the storage area in which the data written to the virtual page VP is to be stored. Is displayed on the management device 36 (FIG. 1) (SP76). The CPU 31 thereafter returns to step SP70.
  • step SP71 when the CPU 31 obtains a positive result in the determination at step SP71, the unused logical page belonging to the appropriate area attribute in the appropriate storage hierarchy determined by the above-described appropriate hierarchy determination process for the virtual page VP. It is determined whether or not LP exists (SP72). If the CPU 31 obtains a negative result in this determination, it proceeds to step SP76, processes this step SP76 in the same manner as described above, and then returns to step SP70.
  • the CPU 31 obtains a positive result in the determination at step SP72, the CPU 31 newly allocates the unused logical page LP selected at step SP70 to the corresponding virtual page VP and associates the physical page with the logical page LP.
  • the corresponding storage device 30 is controlled to move the data written in the corresponding virtual page VP to the PP (SP73).
  • the CPU 31 updates the logical page assignment destination management table described above in accordance with the processing of step SP73, and relocation destination newly assigned to the virtual page VP in step SP73 in the page management table 40 (FIG. 9).
  • the contents of the entry (row) corresponding to the logical page LP are updated to the contents after the rearrangement (SP74).
  • the CPU 31 updates the contents of the entry (row) corresponding to the rearrangement source logical page LP in the page management table 40 (FIG. 9) to the contents after rearrangement (SP75), and then returns to step SP70. Then, the CPU 31 thereafter repeats the processing of step SP70 to step SP76 while sequentially switching the corresponding virtual page VP selected in step SP70 to another virtual page VP.
  • step SP70 the CPU 31 performs steps SP70 to SP70 for all virtual pages VP in which the storage hierarchy and area attributes to which the currently assigned logical page LP belongs and the appropriate storage hierarchy and area attributes determined by the appropriate hierarchy determination process are different. If a negative result is obtained in step SP70 by completing the execution of the process in step SP76, the rearrangement process is terminated.
  • the storage apparatus 4 uses each virtual volume VVOL based on the access frequencies (Ix, Iy, Iz) of a plurality of measurement periods. Since the appropriate storage tier is determined as the location of the data written to each page VP, the data written to the virtual page VP of the virtual volume VVOL is more appropriate from both long-term and short-term perspectives. Can be arranged in a logical page LP belonging to a different storage hierarchy.
  • the present invention is not limited to this, and the two-layer configuration or four or more layers is used.
  • the present invention can also be applied to this case.
  • the first and second access frequency threshold values Ia and Ib are used as threshold values used when determining an appropriate storage tier as an arrangement destination of data written to the virtual page of the virtual volume.
  • the first and second high-side access frequency thresholds Iah and Ibm and the first and second low-side access frequency thresholds Iam and Ibl are prepared and described.
  • the invention is not limited to this, and without using the first and second high-side access frequency thresholds Iah and Ibm and the first and second low-side access frequency thresholds Iam and Ibl to facilitate management, Only the first and second access frequency thresholds Ia and Ib are used to determine an appropriate storage tier as an arrangement destination of data written to the virtual page VP of the virtual volume VVOL. It may be.
  • an appropriate location of the data stored in the temporary storage area (H3, M3, L3) of the lower storage hierarchy is set to the long-term storage hierarchy of the upper storage hierarchy between two consecutive storage hierarchies.
  • the threshold for determining the storage area (H2, M2, L2) and the appropriate location of the data stored in the temporary storage area of the upper storage hierarchy are determined as the long-term storage area of the lower storage hierarchy.
  • the threshold value for the same becomes the same value (first and second access frequency threshold values Ia and Ib).
  • the first and second high access frequency thresholds Iah and Ibm By providing the two low-side access frequency thresholds Iam and Ibl, the appropriate arrangement destination of the data stored in the temporary storage area of the lower storage hierarchy between the two consecutive storage hierarchies is set.
  • the threshold value for determining the long-term storage area is different from the threshold value for determining the appropriate location of the data stored in the temporary storage area of the upper storage hierarchy as the long-term storage area of the lower storage hierarchy. It is possible to obtain an effect of reducing the load on the controller 22 of the storage apparatus 4.
  • the present invention is not limited to this, for example, in units of virtual volumes VVOL or virtual pages
  • the storage apparatus 4 may be constructed so that it can be set in units.
  • a determination process (the process described above with reference to FIG. 13B) for determining an appropriate storage hierarchy as an arrangement destination of each data arranged in the temporary storage area (H3, M3, L3) of each storage hierarchy. ) Is executed at the same timing as the determination process (the process described above with reference to FIG. 13A) for determining an appropriate storage hierarchy as the data placement destination of the data placed in the long-term storage area (H2, M2, L2) of each storage hierarchy.
  • the present invention is not limited to this.
  • the determination process described above with reference to FIG. 13A or the determination process described above with reference to FIG. 13A and the determination process described with reference to FIG. 13B), and the determination process with reference to FIG.
  • the determination process may be executed at a different timing.
  • the determination process described above with reference to FIG. 13A (or FIG. 13A and FIG. 13B) and the rearrangement process described above with reference to FIG. 14 are executed at the Y time period or other timing. You may make it perform the determination process mentioned above about FIG. 13B, and the rearrangement process mentioned above about FIG. 14 by another period (for example, Z time period) or timing.
  • an access frequency measurement unit that measures the access frequency for each of a plurality of measurement periods, and the virtual frequency based on the measurement result of the access frequency measurement unit.
  • a tier determination unit that determines an appropriate storage tier as an arrangement destination of data written to each virtual page VP of the volume VVOL, and data written to the virtual page VP among the virtual pages VP of the virtual volume VVOL
  • the data written in the virtual page VP is determined as a tier
  • a rearrangement unit that rearranges in a storage area belonging to a storage hierarchy determined to be appropriate by the unit
  • the present invention can be applied to a storage apparatus equipped with a hierarchical control function.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 システム運用作業の作業負荷及び性能検討作業の作業負荷を低減させ得るストレージ装置及び階層制御方法を提案する。 【解決手段】 階層制御機能が搭載されたストレージ装置について、仮想ボリューム内の単位領域ごとに、複数の測定周期ごとのアクセス頻度をそれぞれ測定し、測定結果に基づいて、仮想ボリュームの各単位領域にそれぞれ書き込まれたデータの配置先として適正な記憶階層を判定し、判定結果に基づいて、仮想ボリューム内の必要な単位領域に書き込まれたデータを適正と判定した記憶階層に属する記憶領域に再配置するようにした。

Description

ストレージ装置及び階層制御方法
 本発明は、ストレージ装置及階層制御方法に関し、例えば、階層制御機能が搭載されたストレージ装置に適用して好適なものである。
 従来、ストレージ装置の機能の1つとして、Thin Provisioning機能が提案され、実用化されている。Thin Provisioning機能は、ユーザデータを読み書きするための論理ボリュームとして仮想的なボリューム(以下、これを仮想ボリュームと呼ぶ)を上位装置(ホスト計算機)に提示し、仮想ボリュームの使用状況に応じて実際にユーザデータを格納するための物理的な記憶領域を当該仮想ボリュームに動的に割り当てる機能である。
 実際上、Thin Provisioning機能が搭載されたストレージ装置においては、かかる仮想ボリューム内を複数の所定サイズの単位領域(以下、これを仮想ページと呼ぶ)に区分して管理すると共に、ストレージ装置内に搭載された記憶デバイスが提供する記憶領域を1又は複数のプールと呼ばれる論理的な記憶領域の集合体として管理する。
 この際、プール内の記憶領域は、仮想ページと同じサイズの領域(以下、これを論理ページと呼ぶ)に区分して管理される。また記憶デバイスが提供する物理的な記憶領域も論理ページと同じサイズの領域(以下、これを物理ページと呼ぶ)に区分して管理される。そして各論理ページには、それぞれ異なる物理ページが1対多、多対多又は多対1で対応付けられる。
 そしてストレージ装置は、仮想ボリューム内の未だ記憶領域が割り当てられていない仮想ページを対象とする書込み要求が上位装置から与えられた場合、その仮想ページに対してプールから論理ページを割り当て、書込み対象のデータを当該論理ページと対応付けられた物理ページに格納する。
 このようなThin Provisioning機能によれば、ストレージ装置内の記憶領域以上の容量のボリュームをホスト装置に提示しながら、ストレージ装置内の記憶領域を効率良く使用できるという利点がある。
 また、近年では、Thin Provisioning機能に関連する技術として、性能が異なる複数種類の記憶デバイスがそれぞれ提供する記憶領域により1つのプールを構成すると共に、仮想ボリュームの仮想ページ単位でアクセス頻度を測定し、アクセス頻度が高い仮想ページに書き込まれたデータについては、より性能が高い記憶デバイスが提供する記憶領域に再配置し、アクセス頻度が低い仮想ページに書き込まれたデータについては、より性能が低い記憶デバイスが提供する記憶領域に再配置する機能(以下、これを階層制御機能と呼ぶ)も提案されている(特許文献1参照)。
 また下記特許文献2には、第1の周期及び第2の周期それぞれのI/O数の加重平均に基づきページを配置することが開示されている。
米国特許出願公開第2011/0167236号明細書 米国特許出願公開第2012/0246386号明細書
 ところが、かかる特許文献1では、仮想ボリューム内の各仮想ページのアクセス頻度をある1つの一定期間ごとに測定し、当該測定したアクセス頻度のみに基づいて再配置先を決定している。
 このためアクセス頻度を測定する周期(以下、これを測定周期と呼ぶ)内の一部期間のみアクセス頻度が高かったために、測定周期全体としてのアクセス頻度も高くなってしまった仮想ページについても、測定周期内のアクセス頻度が高くない期間も性能が高い記憶領域に配置される問題があった。
 このような場合、測定周期の一部期間のみアクセス頻度が高いデータによって、コスト的に高く、多くの容量を用意し難い高性能の記憶領域が占有されてしまうこととなる。そして、このような事象が発生した結果、本来的には高性能の記憶領域に配置すべきデータが高性能の記憶領域に配置されなくなることにより、ストレージ装置が要求される応答性能を発揮し得なくなるおそれがあった。
 また、上述のようにストレージ装置が要求される応答性能を発揮できなくなった場合、メンテナンスや性能の検討も必要となり、その分システム運用の負荷が増加する問題もある。
 また、かかる特許文献2では、過去のモニタ結果を基にI/O数を算出しており、直近の短いスパンでのI/O数の増加には対応できないという問題があった。
 従って、かかる階層制御機能が搭載されたストレージ装置において、一時的にアクセス頻度が高い仮想ページに書き込まれたデータについても、システム運用者が意識することなく、より適切な記憶階層へのデータ配置を行うことができれば、システムの性能低下を防止しながらシステム運用の作業負荷の増大を防止し得るものと考えられる。
 本発明は以上の点を考慮してなされたもので、システムの性能低下を防止しながらシステム運用の作業負荷の増大を防止し得るストレージ装置及び階層制御方法を提案しようとするものである。
 かかる課題を解決するため本発明においては、仮想ボリュームを上位装置に提供すると共に、当該仮想ボリューム内を所定サイズの単位領域に区分して管理し、前記上位装置からの前記仮想ボリュームに対する書込み要求に応じて前記仮想ボリューム内の対応する前記単位領域に記憶領域を割り当て、当該記憶領域に書込み対象のデータを格納するストレージ装置において、前記記憶領域は、それぞれ性能が異なる複数の記憶階層から構成され、前記仮想ボリューム内の前記単位領域ごとに、複数の測定周期ごとのアクセス頻度をそれぞれ測定するアクセス頻度測定部と、前記アクセス頻度測定部の測定結果に基づいて、前記仮想ボリュームの各前記単位領域にそれぞれ書き込まれたデータの配置先として適正な前記記憶階層を判定する階層判定部と、前記仮想ボリュームの各前記単位領域のうち、当該単位領域に書き込まれたデータが格納されている前記記憶領域が属する前記記憶階層と、前記階層判定部により判定された当該データの配置先として適正な前記記憶階層とが異なる前記単位領域について、当該単位領域に書き込まれたデータを、前記階層判定部により適正と判定された前記記憶階層に属する前記記憶領域に再配置する再配置部とを設けるようにした。
 また本発明においては、仮想ボリュームを上位装置に提供すると共に、当該仮想ボリューム内を所定サイズの単位領域に区分して管理し、前記上位装置からの前記仮想ボリュームに対する書込み要求に応じて前記仮想ボリューム内の対応する前記単位領域に記憶領域を割り当て、当該記憶領域に書込み対象のデータを格納するストレージ装置における階層制御方法であって、前記記憶領域は、それぞれ性能が異なる複数の記憶階層から構成され、前記仮想ボリューム内の前記単位領域ごとに、複数の測定周期ごとのアクセス頻度をそれぞれ測定する第1のステップと、測定結果に基づいて、前記仮想ボリュームの各前記単位領域にそれぞれ書き込まれたデータの配置先として適正な前記記憶階層を判定する第2のステップと、前記仮想ボリュームの各前記単位領域のうち、当該単位領域に書き込まれたデータが格納されている前記記憶領域が属する前記記憶階層と、前記階層判定部により判定された当該データの配置先として適正な前記記憶階層とが異なる前記単位領域について、当該単位領域に書き込まれたデータを、適正と判定した前記記憶階層に属する前記記憶領域に再配置する第3のステップとを設けるようにした。
 本発明のストレージ装置及び階層制御方法によれば、長期的観点、中期的観点、短期的観点といった複数期間の観点からデータの配置先の記憶階層を判定することができる。従って、システム運用者が意識することなく、より適切な記憶階層へのデータ配置を行うことができる。
 本発明によれば、システムの性能低下を防止しながらシステム運用の作業負荷の増大を防止し得るストレージ装置及び階層制御方法を実現できる。
本実施の形態による計算機システムの全体構成を示すブロック図である。 本計算機システムにおける記憶領域の論理構成の説明に供する概念図である。 仮想ページ、論理ページ及び物理ページの対応関係の説明に供する概念図である。 本実施の形態による第1~第3の記憶階層の固定保存用領域、長期保存用領域及び一時保存用領域の説明に供する概念図である。 第1~第3の時間周期の説明に供する概念図である。 各閾値の説明に供する概念図である。 直近の第1及び第2の時間周期におけるIOPSと、適正な記憶階層及び領域属性との関係の説明に供する図表である。 現在の記憶階層及び直近の第3の時間周期におけるIOPSと、適正な記憶階層及び領域属性との関係の説明に供する図表である。 ページ管理テーブルの構成を示す概念図である。 階層管理テーブルの構成を示す概念図である。 プール作成処理の処理手順を示すフローチャートである。 仮想ボリューム作成処理の処理手順を示すフローチャートである。 適正階層判定処理の処理手順を示すフローチャートである。 適正階層判定処理の処理手順を示すフローチャートである。 再配置処理の処理手順を示すフローチャートである。
 以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による計算機システムの構成
 図1において、1は全体として本実施の形態の計算機システムを示す。この計算機システム1は、ネットワーク2を介して接続された1又は複数の業務サーバ3と、ストレージ装置4とから構成される。
 ネットワーク2は、例えばSAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線又は専用回線などから構成される。ネットワーク2を介した業務サーバ3及びストレージ装置4間の通信は、例えばネットワーク2がSANである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク2がLANである場合にはTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
 業務サーバ3は、ストレージ装置4にデータを読み書きするサーバ装置であり、CPU10、メモリ11及びインタフェース12等の情報処理資源を備えて構成される。
 CPU10は、業務サーバ3全体の動作制御を司るプロセッサであり、メモリ11は、主としてアプリケーション13等の各種プログラムを格納するために利用される。CPU10がメモリ11に格納されたプログラムを実行することにより、ストレージ装置4に対するデータの読み書き等の各種処理が実行される。インタフェース12は、例えばNIC(Network Interface Card)などから構成され、ストレージ装置4との通信時におけるプロトコル変換などの処理を実行する。
 ストレージ装置4は、データを記憶する記憶部21と、記憶部21へのデータの入出力を制御するコントローラ22とを備える。
 記憶部21は、SSD(Solid State Drive)、SAS(Serial Attached SCSI)ディスク又はSATA(Serial AT Attachment)ディスク等の性能が異なる複数種別の記憶デバイス30を備えて構成される。これら複数種別の記憶デバイス30のうち、同一種別の複数の記憶デバイス30が提供する記憶領域上に1又は複数の論理ボリュームVOL(図2参照)が設定される。
 コントローラ22は、CPU(Central Processing Unit)31、メモリ32、キャッシュメモリ33、ホストインタフェース34、ディスクインタフェース35及び管理装置36を備え、これらが内部バス37を介して相互に接続されることにより構成されている。
 CPU31は、ストレージ装置4全体の動作制御を司るプロセッサである。またメモリ32は、主として各種プログラムや各種データを記憶するために利用される。メモリ32に格納されたプログラムをCPU31が実行することにより、ストレージ装置4全体として後述のような各種処理を実行する。キャッシュメモリ33は、記憶デバイス30に読み書きされるデータを一時的に記憶保持するために利用される。
 ホストインタフェース34は、ネットワーク2に対するインタフェースであり、例えばNICなどから構成される。CPU31は、このホストインタフェース34を介して業務サーバ3との間でリードデータ又はライトデータや、リードコマンド又はライトコマンドなどの各種コマンドを送受する。
 ディスクインタフェース35は、記憶デバイス30に対するインタフェースである。ディスクインタフェース35は、ホストインタフェース34を介して与えられる業務サーバ3からのリードコマンドやライトコマンドに応じて対応する記憶デバイス30を制御することにより、リードコマンドやライトコマンドにおいて指定されたアドレス位置にリードデータやライトデータを読み書きする。
 管理装置36は、例えば液晶パネル等からなる表示装置(図示せず)と、キーボード及びマウス等からなる入力装置(図示せず)とを有し、例えばノート型パーソナルコンピュータから構成される。管理装置36は、ストレージ装置4を保守・管理するために用いられる。
 図2は、ストレージ装置4における記憶領域の論理構成を示す。ストレージ装置4において、コントローラ22は、同一種別の1又は複数の記憶デバイス30を1つのRAID(Redundant Arrays of Independent Disks)グループRGとして管理する。そして1つのRAIDグループRGを構成する各記憶デバイス30が提供する物理的な記憶領域上に1又は複数の論理ボリュームVOLが作成される。
 またコントローラ22は、ストレージ装置4に装填された記憶デバイス30のうち、最も性能が高い記憶デバイス30(以下、SSDとする)から構成されるRAIDグループRGが提供する記憶領域(論理ボリュームVOL)を第1の記憶階層(「Tier1」)として管理する。同様に、コントローラ22は、ストレージ装置4に装填された記憶デバイス30のうち、次に性能が高い記憶デバイス30(以下、SASディスクとする)から構成されるRAIDグループRGが提供する記憶領域(論理ボリュームVOL)を第2の記憶階層(「Tier2」)として管理し、ストレージ装置4に装填された記憶デバイス30のうち、最も性能が低い記憶デバイス30(以下、SATAディスクとする)から構成されるRAIDグループRGが提供する記憶領域(論理ボリュームVOL)を第3の記憶階層(「Tier3」)として管理する。
 さらにコントローラ22は、第1~第3の記憶階層にそれぞれ属する複数種類の論理ボリュームVOLをプールPLとして管理する。つまり第1の記憶階層に属する1又は複数の論理ボリュームVOLと、第2の記憶階層に属する1又は複数の論理ボリュームVOLと、第3の記憶階層に属する1又は複数の論理ボリュームVOLとにより1つのプールPLが構成される。またプールPL上に1又は複数の仮想ボリュームVVOLが作成され、この仮想ボリュームVVOLが業務サーバ3に提供される。
 そしてコントローラ22は、図3に示すように、仮想ボリュームVVOL内の未だ論理ページLPが割り当てられていない仮想ページVPを対象とする書込み要求が業務サーバ3から与えられた場合、その仮想ボリュームVVOLと対応付けられたプールPL内のいずれかの記憶階層(第1~第3の記憶階層)に属する論理ボリュームVOLから仮想ボリュームVVOLに対して論理ページLPを割り当て、書込み対象のデータを当該論理ページLPと対応付けられた物理ページPPに格納する。
 なお本実施の形態の場合、コントローラ22は、仮想ボリュームVVOLに論理ページLPを割り当てる際、論理ページLPを割当て可能な記憶階層のうちの最も上位の記憶階層に属する論理ボリュームVOLから論理ページLPを割り当てる。この場合において、記憶階層の上下関係は、記憶階層を構成する記憶領域を提供する記憶デバイス30の性能により決定し、より性能が高い記憶デバイス30が提供する論理ボリュームVOLが属する記憶階層がより上位の記憶階層となる。従って、第3の記憶階層よりも第2の記憶階層が上位の記憶階層として管理され、第2の記憶階層よりも第1の記憶階層が上位の記憶階層として管理される。
 またコントローラ22は、ストレージ装置4内に作成されたすべての仮想ボリュームVVOL内のすべての仮想ページVPについて、その仮想ページVPに対する業務サーバ3からの1秒当たりのアクセス数(以下、これをIOPS(Input Output per second)と呼ぶ)を常時測定する。そしてコントローラ22は、業務サーバ3からのデータが書き込まれた各仮想ページVPについて、その仮想ページVPに対する業務サーバ3からのIOPSに基づいて、その仮想ページVPに書き込まれたデータの配置先として適正な記憶階層をそれぞれ判定する適正階層判定処理を実行する。
 そしてコントローラ22は、この後、仮想ボリュームVVOLの各仮想ページVPのうち、当該仮想ページVPに書き込まれたデータが格納されている論理ページLP(正確には物理ページPP)が属する記憶階層と、上述の適正階層判定処理により判定された当該データの配置先として適正な記憶階層とが異なる仮想ページVPについて、当該仮想ページVPに書き込まれたデータを、適正階層判定処理により適正と判定された記憶階層に属する論理ページLPと対応付けられた物理ページPPに再配置する再配置処理を実行する。
(2)本実施の形態による記憶階層制御機能
 次に、本実施の形態のストレージ装置4に搭載された本実施の形態による記憶階層制御機能について説明する。
 本実施の形態の場合、ストレージ装置4のコントローラ22は、図4に示すように、プール内の各記憶階層(第1~第3の記憶階層)の記憶領域をそれぞれ論理的又は物理的に3つの領域に区分し、そのうちの1つを固定保存用領域(図4のH1、M1及びL1)として管理し、残りの2つの領域のうちの一方を長期保存用領域(図4のH2、M2及びL2)、他方を一時保存用領域(図4のH3、M3及びL3)として管理している。なお図4において、「H」、「M」及び「L」のアルファベットは、それぞれ記憶階層(それぞれ第1、第2又は第3の記憶階層)を表し、これらアルファベットの右側の「1」、「2」及び「3」という数字は、それぞれ対応する記憶階層内の対応する領域の属性(それぞれ固定保存用領域、長期保存用領域又は一時保存用領域)を表す。以下においても同様である。
 また本実施の形態の場合、コントローラ22は、各仮想ボリュームVVOLの仮想ページVPごとに、複数の測定周期ごとのIOPSの平均値(以下、これをアクセス頻度と呼ぶ)をそれぞれ測定する。なお、以下においては、図5に示すように、かかる複数の測定周期をそれぞれX時間周期、Y時間周期及びZ時間周期とし、X時間、Y時間及びZ時間のうち、X時間が最も長く(例えば24時間)、次にZ時間が長く(例えば2時間)、Y時間が最も短い(例えば1時間)ものとする。
 さらにコントローラ22は、図6に示すように、予め設定された各仮想ページVPに書き込まれたデータを第1~第3の記憶階層のうちのどの記憶階層に属する論理ページLPに格納すべきかを判定する際の基準値となる第1の閾値(以下、これを第1のアクセス頻度閾値と呼ぶ)Ia及び第2の閾値(以下、これを第2のアクセス頻度閾値)Ibをメモリ32(図1)内に記憶保持している。
 この場合、第1のアクセス頻度閾値Iaは、仮想ページVPに書き込まれたデータを第1及び第2の記憶階層のいずれに属する論理ページLPに格納すべきかを判定する際の基準値であり、第2のアクセス頻度閾値Ibは、仮想ページVPに書き込まれたデータを第2及び第3の記憶階層のいずれに属する論理ページLPに格納すべきかを判定する際の基準値である。
 また第1のアクセス頻度閾値Iaの前後には、第1のアクセス頻度閾値Iaよりも所定量だけアクセス頻度が低い第1の低側アクセス頻度閾値Iamと、第1のアクセス頻度閾値Iaよりも所定量だけアクセス頻度が高い第1の高側アクセス頻度閾値Iahとが設定され、第2のアクセス頻度閾値Ibの前後には、第2のアクセス頻度閾値Ibよりも所定量だけアクセス頻度が低い第2の低側アクセス頻度閾値Iblと、第2のアクセス頻度閾値Ibよりも所定量だけアクセス頻度が高い第2の高側アクセス頻度閾値Ibmとが設定されている。
 そしてコントローラ22は、上述の適正階層判定処理として、例えばY時間周期で、仮想ボリュームVVOL内の各仮想ページVPに書き込まれたデータの配置先として適正な記憶階層を判定する。
 実際上、コントローラ22は、仮想ボリュームVVOL内のデータが書き込まれた各仮想ページVPのうち、第1~第3の記憶階層の長期保存用領域(H2,M2又はL2)に属する論理ページLPが割り当てられている仮想ページVPについては、直近のX時間のアクセス頻度(Ix)を第1及び第2のアクセス頻度閾値Ia,Ibと比較すると共に、直近のY時間のアクセス頻度(Iy)を第1の高側アクセス頻度閾値Iah、第1の低側アクセス頻度閾値Iam、第2の高側アクセス頻度閾値Ibm及び又は第2の低側アクセス頻度閾値Iblと比較する。
 この場合において、例えば図7に示すように、直近のX時間におけるアクセス頻度(Ix)が第1のアクセス頻度閾値Ia以上であり、かつ、直近のY時間におけるアクセス頻度(Iy)が第1の低側アクセス頻度閾値Iam以上である場合には、長期的及び短期的のいずれの観点から見ても、対応する仮想ページVPに対するアクセス頻度が高いと考えられる。かくして、このときコントローラ22は、かかる仮想ページVPに書き込まれたデータの適切な配置先を第1の記憶階層の長期保存用領域(H2)と判定する。
 また直近のX時間におけるアクセス頻度(Ix)が第1のアクセス頻度閾値Ia以上であり、かつ、直近のY時間におけるアクセス頻度(Iy)が第1の低側アクセス頻度閾値Iam未満である場合、対応する仮想ページVPに対する現在のアクセス頻度は、短期的な観点で見るとそれほど高くないが、長期的な観点から見ると高いため、今後、当該仮想ページVPに対するアクセス頻度が高くなる可能性があると推定される。かくして、このときコントローラ22は、かかる仮想ページVPに書き込まれたデータの適切な配置先を第2の記憶階層の一時保存用領域(H3)と判定する。
 一方、直近のX時間におけるアクセス頻度(Ix)が第1のアクセス頻度閾値Ia未満かつ第2のアクセス頻度閾値Ib以上であって、直近のY時間におけるアクセス頻度(Iy)が第1の高側アクセス頻度閾値Iah以上である場合、対応する仮想ページVPに対するアクセス頻度は、長期的な観点から見るとそれほど高くないが、短期的な観点から見ると高いため、直近のアクセス頻度が一時的に高くなっていると推定される。かくして、このときコントローラ22は、対応する仮想ページVPに書き込まれたデータの適切な配置先を第1の記憶階層の一時保存用領域(H3)と判定する。
 また直近のX時間におけるアクセス頻度(Ix)が第1のアクセス頻度閾値Ia未満かつ第2の第2のアクセス頻度閾値Ib以上であって、直近のY時間におけるアクセス頻度(Iy)が第1の高側アクセス頻度閾値Iah未満、かつ、第2の低側アクセス頻度閾値Ibl以上である場合には、長期的及び短期的のいずれの観点から見ても現在のアクセス頻度はそれほど高くないため、今後、アクセス頻度が急激に高くなることはないと推定される。かくして、このときコントローラ22は、対応する仮想ページVPに書き込まれたデータの適切な配置先を第2の記憶階層の長期保存用領域(M2)と判定する。
 さらに直近のX時間におけるアクセス頻度(Ix)が第1のアクセス頻度閾値Ia未満であり、かつ、第2の第2のアクセス頻度閾値Ib以上であって、直近のY時間におけるアクセス頻度(Iy)が第2の高側アクセス頻度閾値Iah未満である場合には、短期的な観点から見てもアクセス頻度が低いが、長期的な観点から見るとアクセス頻度がそれほど低くないため、今後、アクセス頻度が高くも低くもない程度にまで戻る可能性があると推定される。かくして、このときコントローラ22は、対応する仮想ページVPに書き込まれたデータの適切な配置先を第3の記憶階層の一時保存用領域(L3)と判定する。
 他方、直近のX時間におけるアクセス頻度(Ix)が第2のアクセス頻度閾値Ib未満であり、かつ、直近のY時間のアクセス頻度(Iy)が第2の高側アクセス頻度閾値Ibm以上の場合には、短期的な観点からはアクセス頻度が高くも低くもない状態にあるが、長期的な観点から見るとアクセス頻度が低いため、今後、アクセス頻度が低下する可能性があると推定される。かくして、このときコントローラ22は、対応する仮想ページVPに書き込まれたデータの適切な配置先を第2の記憶階層の一時保存用領域(M3)と判定する。
 また直近のX時間におけるアクセス頻度(Ix)が第2のアクセス頻度閾値Ib未満であり、かつ、直近のY時間のアクセス頻度(Iy)が第2の高側アクセス頻度閾値Ibm未満の場合には、長期的及び短期的のいずれの観点から見てもアクセス頻度が低いため、今後もアクセス頻度が低いレベルで推移すると推定される。かくして、このときコントローラ22は、対応する仮想ページVPに書き込まれたデータの適切な配置先を第3の記憶階層の長期保存用領域(L3)と判定する。
 これに対して、コントローラ22は、仮想ボリュームVVOL内のデータが書き込まれた各仮想ページVPのうち、第1~第3の記憶階層の一時保存用領域(H3,M3又はL3)に属する論理ページLPが割り当てられている仮想ページVPについては、当該データを同一記憶階層の長期保存用領域(H2,M2又はL2)又は他の記憶階層の長期保存用領域(H2,M2又はL2)に配置すべきであるか否かを判定する。
 具体的に、コントローラ22は、第1~第3の記憶階層の一時保存用領域(H3,M3又はL3)に属する論理ページLPが割り当てられている仮想ページVPについて、直近のZ時間のアクセス頻度(Iz)を第1の高側アクセス頻度閾値Iah、第1の低側アクセス頻度閾値Iam、第2の高側アクセス頻度閾値Ibm又は第2の低側アクセス頻度閾値Iblと比較する。
 この場合において、例えば図8に示すように、そのとき対象としている仮想ページVPに書き込まれたデータが第1の記憶階層の一時保存用領域(H3)に格納されており、直近のZ時間におけるアクセス頻度(Iz)が第1の高側アクセス頻度閾値Iah以上の場合、対応する仮想ページVPに対するアクセス頻度は、中期的な観点から見ても今後も高いと推定される。かくして、このときコントローラ22は、かかる仮想ページVPに書き込まれたデータを第1の記憶階層の長期保存用領域(H2)に配置すべきと判定する。
 また、そのとき対象としている仮想ページVPに書き込まれたデータが第1の記憶階層の一時保存用領域(H3)に格納されており、直近のZ時間におけるアクセス頻度(Iz)が第1の高側アクセス頻度閾値Iah未満の場合、対応する仮想ページVPに対するアクセス頻度は、短期的には一時的に高くなっているが、中期的な観点から見ると今後低くなる可能性があると推定される。かくして、このときコントローラ22は、かかる仮想ページVPに書き込まれたデータを第2の記憶階層の長期保存用領域(M2)に配置すべきと判定する。
 一方、そのとき対象としている仮想ページVPに書き込まれたデータが第2の記憶階層の一時保存用領域(M3)に格納されており、直近のZ時間におけるアクセス頻度(Iz)が第1の低側アクセス頻度閾値Iam以上の場合、対応する仮想ページVPに対するアクセス頻度は、短期的及び中期的な観点から見ると今後高くなる可能性があると推定される。かくして、このときコントローラ22は、かかる仮想ページVPに書き込まれたデータを第1の記憶階層の長期保存用領域(H2)に配置すべきと判定する。
 また、そのとき対象としている仮想ページVPに書き込まれたデータが第2の記憶階層の一時保存用領域(M2)に格納されており、直近のZ時間におけるアクセス頻度(Iz)が第1の低側アクセス頻度閾値Iam未満で第2の高側アクセス頻度閾値Ibm以上の場合、対応する仮想ページVPに対するアクセス頻度は、中期的な観点から見ても今後も高くも低くもない状態を維持すると推定される。かくして、このときコントローラ22は、もかかる仮想ページVPに書き込まれたデータを第2の記憶階層の長期保存用領域(M2)に配置すべきと判定する。
 さらに、そのとき対象としている仮想ページVPに書き込まれたデータが第2の記憶階層の一時保存用領域(M3)に格納されており、直近のZ時間におけるアクセス頻度(Iz)が第2の高側アクセス頻度閾値Ibm未満の場合、対応する仮想ページVPに対するアクセス頻度は、中期的な観点から見ると今後低くなると推定される。かくして、このときコントローラ22は、かかる仮想ページVPに書き込まれたデータを第3の記憶階層の長期保存用領域(L2)に配置すべきと判定する。
 他方、そのとき対象としている仮想ページVPに書き込まれたデータが第3の記憶階層の一時保存用領域(L3)に格納されており、直近のZ時間におけるアクセス頻度(Iz)が第2の低側アクセス頻度閾値Ibl以上の場合、対応する仮想ページVPに対するアクセス頻度は、中期的な観点からは今後高くなると推定される。かくして、このときコントローラ22は、かかる仮想ページVPに書き込まれたデータを第2の記憶階層の長期保存用領域(M2)に配置すべきと判定する。
 また、そのとき対象としている仮想ページVPに書き込まれたデータが第3の記憶階層の一時保存用領域(L3)に格納されており、直近のZ時間におけるアクセス頻度(Iz)が第2の低側アクセス頻度閾値Ibl未満の場合、対応する仮想ページVPに対するアクセス頻度は、中期的な観点から見ると今後低くなると推定される。かくして、このときコントローラ22は、かかる仮想ページVPに書き込まれたデータを第3の記憶階層の長期保存用領域(L2)に配置すべきと判定する。
 そしてコントローラ22は、このようにして各仮想ボリュームVVOL内のデータが書き込まれたすべての仮想ページVPのうち、各記憶階層の長期保存用領域(H2,M2,L2)及び一時保存用領域(H3,M3,L3)にデータが格納された仮想ページVPについて、それぞれその仮想ページVPに書き込まれたデータの適正な配置先を判定すると、当該判定結果に従って、各仮想ページVPに書き込まれたデータを、それぞれ対応する記憶階層(第1~第3の記憶階層)内の対応する領域(長期保存用領域又は一時保存用領域)に属する論理ページLPに必要に応じて再配置する(再配置処理)。
 なお本実施の形態の場合、ユーザはデータ単位でそのデータを所望の記憶階層に固定して配置するよう指定することができ、このように指定されたデータについては、指定された記憶階層の固定保存用領域(H1、M1,L1)に格納される。そして、このようなデータが書き込まれた仮想ページVPについては、適正階層判定処理及び再配置処理の対象とならない。従って、かかるデータについては、再配置が行われず、常に指定された記憶階層に配置された状態が維持されることになる。
 以上のような本実施の形態による階層制御機能を実現するための手段として、ストレージ装置4のメモリ32(図1)には、図9に示すページ管理テーブル40と、図10に示す階層管理テーブル41とが格納されている。
 このうちページ管理テーブル40は、ストレージ装置4内に作成された各プールPL内の論理ページLPを管理するために利用されるテーブルであり、図9に示すように、プール番号欄40A、容量欄40B、ページ番号欄40C、仮想ボリューム番号欄40D、割当て欄40E、記憶階層・領域属性欄40F、第1のアクセス頻度欄40G、第2のアクセス頻度欄40H、第3のアクセス頻度欄40I、階層固定欄40J、及び、対応物理ページ欄40Kから構成される。
 そしてプール番号欄40Aには、ストレージ装置4内に作成された各プールPLにそれぞれ付与された識別子が格納され、容量欄40Bには、対応するプールPLの容量が格納される。またページ番号欄40Cには、対応するプールPL内の各論理ページLPにそれぞれ付与された識別子(ページ番号)が格納される。なお各プールPL内の各論理ページLPにそれぞれ付与されるページ番号は、ストレージ装置4内でその論理ページLPに固有であり、いずれのプールPL内のいずれの論理ページLPのページ番号とも重複しないように付与される。
 さらに割当て欄40Eには、対応する論理ページLPがいずれかの仮想ボリュームVVOL内のいずれかの仮想ページVPが割り当て済みであるか否かを表す情報(割り当てられている場合には「済」、割り当てられていない場合には「未」)が格納され、仮想ボリューム番号欄40Dには、対応する論理ページVPがいずれかの仮想ページVPに割り当てられている場合に、その仮想ページVPを有する仮想ボリュームVVOLのボリューム番号(LUN:Logical Unit Number)が格納される。なお対応する論理ページLPがいずれの仮想ページVPにも割り当てられていない場合、仮想ボリューム番号欄40Dには、これを表す情報(「未」)が格納される。さらに記憶階層・領域属性欄40Fには、対応する論理ページLPが属する記憶階層及び当該記憶階層を表す識別子(H1~H3,M1~M3,L1~L3)が格納される。
 さらに第1のアクセス頻度欄40Gには、対応する論理ページLPが割り当てられた仮想ページVPに対する直近のX時間内のアクセス頻度(Ix)が格納され、第2のアクセス頻度欄40Hには、当該仮想ページVPに対する直近のY時間内のアクセス頻度(Iy)が格納される。同様に、第3のアクセス頻度欄40Iには、その仮想ページVPに対する直近のZ時間内のアクセス頻度(Iz)が格納される。なお、これら第1~第3のアクセス頻度欄40G~40Iに格納されたアクセス頻度(Ix~Iz)は、ストレージ装置4の測定機能により測定された個々の仮想ページVPに対するIOPSに基づいてY時間周期で更新される。
 また階層固定欄40Jには、対応する論理ページLPが割り当てられた仮想ページVPに書き込まれたデータに対して、当該データの配置先の記憶階層が指定されている場合にはその記憶階層内の固定保存用領域を表す識別子(H1、M1又はL1)が格納され、当該指定が設定されていない場合にはこれを表す情報(「なし」)が格納される。さらに対応物理ページ欄40Kには、対応する論理ページLPと対応付けられた物理ページPPのページ番号が格納される。
 一方、階層管理テーブル41は、1つのプール内の第1~第3の記憶階層の構成を管理するために利用されるテーブルであり、プールPLごとに作成される。この階層管理テーブル41は、図10に示すように、記憶階層・領域属性欄41A、RAIDグループ欄41B、RAIDレベル欄41C、記憶デバイス種別欄41D及びエミュレーションタイプ欄41Eから構成される。
 そして記憶階層・領域属性欄41Aには、対応するプールPL内の第1~第3の記憶階層内の各記憶領域(固定保存用領域、長期保存用領域又は一時保存用領域)を表す識別子(H1~H3、M1~M3及びL1~L3)がそれぞれ格納され、RAIDグループ欄41Bには、対応する記憶階層内の対応する領域属性の領域を提供するすべてのRAIDグループRG(図2)の識別子が格納される。
 またRAIDレベル欄41Cは、レベル欄41CA及び構成欄41CBから構成される。そしてレベル欄41CAには、対応するRAIDグループRGのRAIDレベルが格納され、構成欄41CBには、対応するRAIDグループRGのRAID構成が格納される。なお、RAIDレベルとしては、「RAID1」~「RAID6」及び「RAID1+0」などがある。また構成欄41CBにおいて「D」の左側の数値はデータを格納する記憶デバイス30の数を表し、「P」の左側の数値はパリティを格納する記憶デバイス30の数を表す。従って、例えば「3D+1P」は、対応するRAIDグループRGは4つの記憶デバイス30から構成されており、そのうち3つの記憶デバイス30がデータを記憶するために利用され、1つの記憶デバイス30がパリティを記憶するために利用されることを表す。
 記憶デバイス種別欄41Dは、種別欄41DA及び容量欄41DBから構成される。そして種別欄41DAには、対応するRAIDグループRGを構成する記憶デバイス30の種別(「SSD」、「SAS」又は「SATA」)が格納され、容量欄41DBには、その記憶デバイス30の個々の記憶容量が格納される。さらにエミュレーションタイプ欄41Eには、対応するRAIDグループRGのエミュレーションタイプが格納される。
 従って、図10の例では、対応するプールPLの第1の記憶階層の固定保存用領域(「H1」)は、それぞれ「1-1」又は「1-2」という識別子が付与された2つのRAIDグループRGが提供する記憶領域(論理ボリュームVOL)により構成されており、このうち「1-1」というRAIDグループRGは、「200GB」の「SSD」から構成されるRAIDレベルが「RAID5」、RAID構成が「3D+1」のRAIDグループRGであって、エミュレーションタイプが「openV」であることが示されている。
(3)階層記憶制御機能に関するCPUの処理
 次に、かかる本実施の形態の階層記憶制御機能に関連するストレージ装置4のコントローラ22内のCPU31(図2)の具体的な処理内容について説明する。
(3-1)プール作成処理
 図11は、管理装置36(図1)を介してプールの作成指示(以下、これをプール作成指示と呼ぶ)が入力されたときにストレージ装置4のCPU31により実行されるプール作成処理の処理手順を示す。
 CPU31は、管理装置36が操作されて、複数種類の複数の論理ボリュームVOLが指定され、これらの論理ボリュームVOLから構成されるプールPLを作成すべきプール作成指示が与えられると、この図11に示すプール作成処理を開始し、まず、このとき指定されたプールPLを作成した場合においても、ストレージ装置4内に存在するプールPLの総数が予め定められた制限値未満となるか否かを判断する(SP1)。
 そしてCPU31は、この判断で否定結果を得ると、指定されたプールPLの作成を中止すると共に、当該指定されたプールPLを作成できない旨の警告を管理装置36の表示装置に表示させ(SP7)、この後、このプール作成処理を終了する。
 一方、CPU31は、ステップSP1の判断で肯定結果を得ると、新たに作成しようとするプールPLを構成する論理ボリュームVOLとして指定された論理ボリュームVOLがプールPLを構成する論理ボリュームVOLとして利用できるか否か(例えば、対応する論理ボリュームVOLがそのまま業務サーバ3に提供されていないか否か)を判断する(SP2)。そしてCPU31は、この判断で否定結果を得ると、ステップSP7に進み、このステップSP7を上述と同様に処理した後に、このプール作成処理を終了する。
 これに対してCPU31は、ステップSP2の判断で肯定結果を得ると、そのとき作成しようとするプールPL内の各論理ボリュームVOLの総容量(つまりそのプールPLの容量)が予め定められた制限値未満であるか否かを判断する(SP3)。そしてCPU31は、この判断で否定結果を得ると、ステップSP7に進み、このステップSP7を上述と同様に処理した後に、このプール作成処理を終了する。
 またCPU31は、ステップSP3の判断で肯定結果を得ると、このとき作成しようとするプールPLを構成する論理ボリュームVOLとして指定された各論理ボリュームVOLをそれぞれ提供する記憶デバイス30の種別をそれぞれ確認する(SP4)。
 この後、CPU31は、ステップSP4の確認結果に基づいて、このとき作成しようとするプールPLを構成する論理ボリュームVOLとして指定された各論理ボリュームVOLをそれぞれ提供する記憶デバイス30の種別数が予め定められた制限値未満であるか否かを判断する(SP5)。
 例えば、本実施の形態によるストレージ装置4では、各プールPLを必ず第1~第3の記憶階層により構成する必要はなく、第1及び第2の記憶階層のみから記憶階層を構成しても良い。このため、新たに作成しようとするプールPL構成する論理ボリュームVOLとして指定された各論理ボリュームVOLをそれぞれ提供する記憶デバイス30の種別数が3つである場合には、このステップSP5において否定結果が得られることになる。かくしてCPU31は、この判断で否定結果を得ると、ステップSP7に進み、このステップSP7を上述と同様に処理した後に、このプール作成処理を終了する。
 他方、CPU31は、ステップSP5の判断で肯定結果を得ると、指定されたプールPLを作成する。具体的に、CPU31は、ストレージ装置4内の各プールPLを構成する論理ボリュームVOLを管理するための図示しないテーブル(以下、これをプール管理テーブルと呼ぶ)をメモリ32(図1)内に保持しており、このプール管理テーブルに、新たに作成しようとするプールPLと、そのプールPLを構成する論理ボリュームVOLとを登録する(SP6)。
 そしてCPU31は、上述のようにしてプールPLを作成すると、このプール作成処理を終了する。
(3-2)仮想ボリューム作成処理
 一方、図12は、管理装置36(図1)を介して仮想ボリュームVVOLの作成指示(以下、これを仮想ボリューム作成指示と呼ぶ)が入力されたときにストレージ装置4のCPU31により実行される仮想ボリューム作成処理の処理手順を示す。
 CPU31は、管理装置36が操作されて、作成すべき仮想ボリュームVVOLの個数、各仮想ボリュームVVOLの容量、各仮想ボリュームVVOLのボリューム番号及び作成した仮想ボリュームVVOLを対応付けるべきプールPLの識別番号等の情報(以下、これらをまとめて作成仮想ボリューム情報と呼ぶ)がそれぞれ入力され、その仮想ボリュームVVOLの作成指示(仮想ボリューム作成指示)が入力されると、この仮想ボリューム作成処理を開始し、まず、このとき入力された作成仮想ボリューム情報に基づいて、作成すべき各仮想ボリュームVVOLの容量がいずれも予め定められた制限値未満であるか否かを判断する(SP10)。
 そしてCP31Uは、この判断で否定結果を得ると、仮想ボリュームVVOLの作成を中止すると共に、中止理由を管理装置36の表示装置に表示させ(SP14)、この後、この仮想ボリューム作成処理を終了する。
 これに対してCPU31は、ステップSP10の判断で肯定結果を得ると、このとき作成すべき仮想ボリュームVVOLの数と、現在、ストレージ装置4内に存在する仮想ボリュームVVOLの数との合計値が予め定められた制限値未満となるか否かを判断する(SP11)。
 そしてCPU31は、この判断で否定結果を得るとステップSP14に進み、このステップSP14を上述と同様に処理した後に、この仮想ボリューム作成処理を終了する。
 これに対してCPU31は、ステップSP11の判断で肯定結果を得ると、作成仮想ボリューム情報に基づいて、そのとき入力された作成すべき仮想ボリュームVVOLに付与すべきボリューム番号が未使用であるか否かを判断する(SP12)。
 そしてCPU31は、この判断で否定結果を得るとステップSP14に進み、このステップSP14を上述と同様に処理した後に、この仮想ボリューム作成処理を終了する。
 これに対してCPU31は、ステップSP12の判断で肯定結果を得ると、作成仮想ボリューム情報に基づいて、指定されたすべての仮想ボリュームVVOLを作成する(SP13)。具体的に、CPU31は、仮想ボリュームVVOLを管理するための図示しない管理テーブル(以下、これを仮想ボリューム管理テーブルと呼ぶ)をメモリ32(図1)内に保持しており、この仮想ボリューム管理テーブルに必要な情報を登録することにより仮想ボリュームVVOLを作成する。そしてCPU31は、この後、この仮想ボリューム作成処理を終了する。
(3-3)適正階層判定処理
 図13は、上述した本実施の形態による階層記憶制御機能に関連してCPU31によりY時間周期で実行される適正階層判定処理の具体的な処理内容を示す。CPU31は、この図13に示す処理手順に従って、仮想ボリュームVVOLの各仮想ページVPに書き込まれたデータの配置先として適正な記憶階層をそれぞれ判定する。
 すなわちCPU31は、この適正階層判定処理を開始すると、まず、ページ管理テーブル40(図9)を参照して、ステップSP31以降の処理が未処理の仮想ページVPを1つ選択し(SP30)、選択した仮想ページ(以下、これを選択仮想ページと呼ぶ)VPに書き込まれたデータについて、配置先の記憶階層が指定されているか否かをページ管理テーブル40に基づいて判断する(SP31)。
 そしてCPU31は、この判断で肯定結果を得ると、選択仮想ページVPに書き込まれたデータを、指定された第1、第2又は第3の記憶階層内の固定保存用領域(H1、M1又はL1)に再配置するよう対応する記憶デバイス30を必要に応じて制御し(S32)、この後ステップSP47に進む。
 これに対してCPU31は、ステップSP31の判断で否定結果を得ると、ページ管理テーブル40を参照して、現在、選択仮想ページVPに割り当てられている論理ページLPが属する記憶階層及び領域属性が「H2」、「M2」及び「L2」のいずれかであるか否かを判断する(SP33)。
 CPU31は、この判断で否定結果を得ると、各仮想ボリュームVVOLの各仮想ページVPにどの論理ページLPが割り当てられているかが登録された図示しない管理テーブル(以下、これを論理ページ割当て先管理テーブルと呼ぶ)と、ページ管理テーブル40とを参照して、選択仮想ページVPに対する直近のX時間内のアクセス頻度(Ix)が第1のアクセス頻度閾値Ia以上であるか否かを判断する(SP34)。またCPU31は、この判断で肯定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、選択仮想ページVPに対する直近のY時間内のアクセス頻度(Iy)が第1の低側アクセス頻度閾値Iam以上であるか否かを判断する(SP35)。
 そしてCPU31は、この判断で肯定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「H2」と判定し(SP36)、この後、ステップSP60に進む。またCPU31は、ステップSP35の判断で否定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「M3」と判定し(SP37)、この後ステップSP60に進む。
 一方、CPU31は、ステップSP34の判断で否定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、選択仮想ページVPに対する直近のX時間内のアクセス頻度(Ix)が第2のアクセス頻度閾値Ib以上であるか否かを判断する(SP38)。
 CPU31は、この判断で肯定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、選択仮想ページVPに対する直近のY時間内のアクセス頻度(Iy)が第1の高側アクセス頻度閾値Iah以上であるか否かを判断する(SP39)。そしてCPU31は、この判断で肯定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層を「H3」と判定し(SP40)、この後、ステップSP60に進む。
 またCPU31は、ステップSP41の判断で否定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、選択仮想ページVPに対する直近のY時間内のアクセス頻度(Iy)が第2の低側アクセス頻度閾値Ibl以上であるか否かを判断する(SP41)。そしてCPU31は、この判断で肯定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「M2」と判定し(SP42)、この後ステップSP60に進む。またCPU31は、ステップSP41の判断で否定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「L3」と判定し(SP43)、この後、ステップSP60に進む。
 他方、CPU31は、ステップSP38の判断で否定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、選択仮想ページVPに対する直近のY時間内のアクセス頻度(Iy)が第2の高側アクセス頻度閾値Ibm以上であるか否かを判断する(SP44)。そしてCPU31は、この判断で肯定結果を得ると、選択仮想ページVPに格納されたデータの配置先として適正な記憶階層及び領域属性を「M3」と判定し(SP45)、この後ステップSP60に進む。またCPU31は、ステップSP44の判断で否定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「L2」と判定し(SP46)、この後、ステップSP60に進む。
 これに対してCPU31は、ステップSP33の判断で否定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、現在、選択仮想ページVPに割り当てられている論理ページLPが属する記憶階層及び領域属性が「H3」であるか否かを判断する(SP47)。
 そしてCPU31は、この判断で肯定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、選択仮想ページVPに対する直近のZ時間内のアクセス頻度(Iz)が第1の高側アクセス頻度閾値Iah以上であるか否かを判断する(SP48)。そしてCPU31は、この判断で肯定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「H2」と判定し(SP49)、この後ステップSP60に進む。またCPU31は、ステップSP48の判断で否定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「M2」と判定し(SP50)、この後、ステップSP60に進む。
 一方、CPU31は、ステップSP47の判断で否定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、現在、選択仮想ページVPに割り当てられている論理ページLPが属する記憶階層及び領域属性が「M3」であるか否かを判断する(SP51)。
 そしてCPU31は、この判断で肯定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、選択仮想ページVPに対する直近のZ時間内のアクセス頻度(Iz)が第1の低側アクセス頻度閾値Iam以上であるか否かを判断する(SP52)。そしてCPU31は、この判断で肯定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「H2」と判定し(SP53)、この後ステップSP60に進む。
 これに対してCPU31は、ステップSP52の判断で否定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、選択仮想ページVPに対する直近のZ時間内のアクセス頻度(Iz)が第2の高側アクセス頻度閾値Ibm以上であるか否かを判断する(SP54)。そしてCPU31は、この判断で肯定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「M2」と判定し(SP55)、この後ステップSP60に進む。またCPU31は、ステップSP54の判断で否定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「L2」と判定し(SP56)、この後、ステップSP60に進む。
 他方、CPU31は、ステップSP51の判断で否定結果を得ると、上述の論理ページ割当て先管理テーブル及びページ管理テーブル40を参照して、選択仮想ページVPに対する直近のZ時間内のアクセス頻度(Iz)が第2の低側アクセス頻度閾値Ibl以上であるか否かを判断する(SP57)。そしてCPU31は、この判断で肯定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「M2」と判定し(SP58)、この後ステップSP60に進む。またCPU31は、ステップSP57の判断で否定結果を得ると、選択仮想ページVPに書き込まれたデータの配置先として適正な記憶階層及び領域属性を「L2」と判定し(SP59)、この後、ステップSP60に進む。
 そしてCPU31は、ステップSP60に進むと、ストレージ装置4内の各仮想ボリュームVVOLにおけるデータが書き込まれたすべての仮想ページVPについて、ステップSP31以降の処理を完了し終えたか否かを判断する(SP60)。
 そしてCPU31は、この判断で否定結果を得るとステップSP30に戻り、この後、ステップSP30において選択する仮想ページVPを順次他の仮想ページVPに切り替えながら、ステップSP30~ステップSP60の処理を繰り返す。
 そしてCPU31は、やがてストレージ装置4内の各仮想ボリュームVVOLにおけるデータが書き込まれたすべての仮想ページについてステップSP31以降の処理を実行し終えることによりステップSP60において肯定結果を得ると、この適正階層判定処理を終了する。
(3-4)再配置処理
 図14は、上述の適正階層判定処理に続いてCPU31により実行される再配置処理の処理手順を示す。CPU31は、この図14に示す処理手順に従って、現在、割り当てられている論理ページLPが属する記憶階層及び領域属性と、適正階層判定処理により判定された適正な記憶階層及び領域属性とが異なる仮想ページVPについて、当該仮想ページVPに書き込まれたデータを適正な記憶階層及び領域属性に属する論理ページLPと対応付けられた物理ページPPに再配置する。
 実際上、CPU31は、図13A及び図13Bについて上述した適正階層判定処理を終了すると、データの再配置が必要な仮想ページVPがあるか否かを判断する(SP70)。この判定は、各仮想ボリュームVVOL内のデータが書き込まれた仮想ページVPについて、現在、割り当てられている論理ページLPが属する記憶階層及び領域属性と、上述の適正階層判定処理により判定された適正な記憶階層及び領域属性とが異なる仮想ページVPであって、ステップSP71以降が未処理の仮想ページVPが存在するか否かを判定することにより行われる。
 そしてCPU31は、この判断で肯定結果を得ると、データの再配置が必要な仮想ページVPを1つ選択し、選択した仮想ページVP(以下、これを該当仮想ページVPと呼ぶ)について上述の適正階層判定処理において判定された適正な記憶階層に空き容量が存在するか否かを判断する(SP71)。そしてCPU31は、この判断で否定結果を得ると、該当仮想ページVPについての再配置処理を中止すると共に、該当仮想ページVPに書き込まれたデータを格納すべき記憶領域に空き容量がない旨の警告を管理装置36(図1)に表示させる(SP76)。そしてCPU31は、この後ステップSP70に戻る。
 これに対してCPU31は、ステップSP71の判断で肯定結果を得ると、該当仮想ページVPについて上述の適正階層判定処理により判定された適正な記憶階層内の適正な領域属性に属する未使用の論理ページLPが存在するか否かを判断する(SP72)。そしてCPU31は、この判断で否定結果を得るとステップSP76に進み、このステップSP76を上述と同様に処理した後にステップSP70に戻る。
 これに対してCPU31は、ステップSP72の判断で肯定結果を得ると、ステップSP70において選択した未使用の論理ページLPを該当仮想ページVPに新たに割り当て、当該論理ページLPと対応付けられた物理ページPPに該当仮想ページVPに書き込まれたデータを移動させるよう対応する記憶デバイス30を制御する(SP73)。
 この後CPU31は、ステップSP73の処理に応じて、上述した論理ページ割当て先管理テーブルを更新すると共に、ページ管理テーブル40(図9)におけるステップSP73において新たに該当仮想ページVPに割り当てた再配置先の論理ページLPに対応するエントリ(行)の内容を再配置後の内容に更新する(SP74)。
 さらにCPU31は、ページ管理テーブル40(図9)における再配置元の論理ページLPに対応するエントリ(行)の内容を再配置後の内容に更新し(SP75)、この後ステップSP70に戻る。そしてCPU31は、この後、ステップSP70において選択する該当仮想ページVPを順次他の仮想ページVPに切り替えながら、ステップSP70~ステップSP76の処理を繰り返す。
 そしてCPU31は、やがて現在、割り当てられている論理ページLPが属する記憶階層及び領域属性と、適正階層判定処理により判定された適正な記憶階層及び領域属性とが異なるすべての仮想ページVPについてステップSP70~ステップSP76の処理を実行し終えることによりステップSP70において否定結果を得ると、この再配置処理を終了する。
(4)本実施の形態の効果
 以上のように本実施の形態による計算機システム1では、ストレージ装置4が複数の測定周期のアクセス頻度(Ix,Iy,Iz)に基づいて仮想ボリュームVVOLの各仮想ページVPにそれぞれ書き込まれたデータの配置先として適正な記憶階層を判定しているため、仮想ボリュームVVOLの仮想ページVPに書き込まれたデータを長期的及び短期的の双方の観点から見てより適正な記憶階層に属する論理ページLPに配置することができる。
 かくするにつき、一時的にアクセス頻度が高かったデータによって高性能の記憶領域が占有され、これに起因してストレージ装置4の応答性能が劣化するといった不具合が生じることを未然かつ有効に防止することができ、かくしてシステムの性能低下を防止しながらシステム運用の作業負荷の増大を防止し得るストレージ装置を実現することができる。
(5)他の実施の形態
 なお上述の実施の形態においては、本発明を図1のように構成されたストレージ装置4に適用するようにした場合について述べたが、本発明はこれに限らず、階層制御機能が搭載されたこの他種々の構成を有するストレージ装置に広く適用することができる。
 また上述の実施の形態においては、記憶階層を第1~第3の記憶階層の3階層構成とするようにした場合について述べたが、本発明はこれに限らず、2階層構成又は4階層以上の場合についても本発明を適用することができる。
 さらに上述の実施の形態においては、仮想ボリュームの仮想ページに書き込まれたデータの配置先として適正な記憶階層を判定する際に利用する閾値として、第1及び第2のアクセス頻度閾値Ia,Ibと、第1及び第2の高側アクセス頻度閾値Iah,Ibmと、第1及び第2の低側アクセス頻度閾値Iam,Iblとを用意し、これらを利用するようにした場合について述べたが、本発明はこれに限らず、管理を容易化するために第1及び第2の高側アクセス頻度閾値Iah,Ibmと、第1及び第2の低側アクセス頻度閾値Iam,Iblとを用いることなく、第1及び第2のアクセス頻度閾値Ia,Ibのみを用いて仮想ボリュームVVOLの仮想ページVPに書き込まれたデータの配置先として適正な記憶階層を判定を行うようにしても良い。
 ただし、このようにした場合、連続する2つの記憶階層間で、下位の記憶階層の一時保存用領域(H3,M3,L3)に格納されたデータの適正な配置先を上位の記憶階層の長期保存用領域(H2,M2,L2)と判定するための閾値と、上位の記憶階層の一時保存用領域に格納されたデータの適正な配置先を下位の記憶階層の長期保存用領域と判定するための閾値とが同じ値(第1及び第2のアクセス頻度閾値Ia,Ib)となり、この結果としてデータの再配置が頻繁に発生してストレージ装置4のコントローラ22(図1)の負荷が大きくなる問題がある。
 よって、この観点からは、本実施の形態のように第1及び第2のアクセス頻度閾値Ia,Ibに加えて、第1及び第2の高側アクセス頻度閾値Iah,Ibmと、第1及び第2の低側アクセス頻度閾値Iam,Iblとを設けることにより、連続する2つの記憶階層間で、下位の記憶階層の一時保存用領域に格納されたデータの適正な配置先を上位の記憶階層の長期保存用領域と判定するための閾値と、上位の記憶階層の一時保存用領域に格納されたデータの適正な配置先を下位の記憶階層の長期保存用領域と判定するための閾値とを異なる値とすることができ、ストレージ装置4のコントローラ22の負荷を低減させるという効果を得ることができる。
 さらに上述の実施の形態においては、データを特定の記憶階層に固定する設定をデータ単位で行い得るようにした場合について述べたが、本発明はこれに限らず、例えば仮想ボリュームVVOL単位又は仮想ページ単位で設定できるようにストレージ装置4を構築するようにしても良い。
 さらに上述の実施の形態においては、各記憶階層の一時保存用領域(H3,M3,L3)に配置された各データの配置先として適正な記憶階層を判定する判定処理(図13Bについて上述した処理)を、各記憶階層の長期保存用領域(H2,M2,L2)に配置されたデータの配置先として適正な記憶階層を判定する判定処理(図13Aについて上述した処理)と同じタイミングで実行するようにした場合について述べたが、本発明はこれに限らず、例えば、図13Aについて上述した判定処理(又は図13Aについて上述した判定処理及び図13Bについて上述した判定処理)と、図13Bについて上述した判定処理とを別のタイミングで実行するようにしても良い。例えば、図13A(又は図13A及び図13B)について上述した判定処理と、これに続けて実行される図14について上述した再配置処理とをY時間周期又は他のタイミングで実行し、これとは別の周期(例えばZ時間周期)又はタイミングで図13Bについて上述した判定処理及び図14について上述した再配置処理を実行するようにしても良い。
 さらに上述の実施の形態においては、仮想ボリュームVVOL内の仮想ページVPごとに、複数の測定周期ごとのアクセス頻度をそれぞれ測定するアクセス頻度測定部と、アクセス頻度測定部の測定結果に基づいて、仮想ボリュームVVOLの各仮想ページVPにそれぞれ書き込まれたデータの配置先として適正な記憶階層を判定する階層判定部と、仮想ボリュームVVOLの各仮想ページVPのうち、当該仮想ページVPに書き込まれたデータが格納されている記憶領域が属する記憶階層と、階層判定部により判定された当該データの配置先として適正な記憶階層とが異なる仮想ページVPについて、当該仮想ページVPに書き込まれたデータを、階層判定部により適正と判定された記憶階層に属する記憶領域に再配置する再配置部とを、ストレージ装置4全体の動作制御を司るCPU31(図1)により構成するようにした場合について述べたが、本発明はこれに限らず、これらアクセス頻度測定部、階層判定部及び再配置部をかかるCPU31以外の専用のCPU等により構成するようにしても良い。
 本発明は、階層制御機能が搭載されたストレージ装置に適用することができる。
 1……計算機システム、3……業務サーバ、4……ストレージ装置、22……コントローラ、30……記憶デバイス、31……CPU、32……メモリ、36……管理装置、VOL……論理ボリューム、VVOL……仮想ボリューム、PL……論理ページ、PP……物理ページ、VP……仮想ページ、PL……プール、H1,M1,L1……固定保存用領域、H2,M2,L2……長期保存用領域、H3,M3,L3……一時保存用領域、X,Y,Z……時間、Ia……第1のアクセス頻度閾値、Iah……第1の高側アクセス頻度閾値、Iam……第1の低側アクセス頻度閾値、Ib……第2のアクセス頻度閾値、Ibh……第2の高側アクセス頻度閾値、Ibm……第2の低側アクセス頻度閾値、40……ページ管理テーブル、41……階層管理テーブル。

Claims (12)

  1.  仮想ボリュームを上位装置に提供すると共に、当該仮想ボリューム内を所定サイズの単位領域に区分して管理し、前記上位装置からの前記仮想ボリュームに対する書込み要求に応じて前記仮想ボリューム内の対応する前記単位領域に記憶領域を割り当て、当該記憶領域に書込み対象のデータを格納するストレージ装置において、
     前記記憶領域は、それぞれ性能が異なる複数の記憶階層から構成され、
     前記仮想ボリューム内の前記単位領域ごとに、複数の測定周期ごとのアクセス頻度をそれぞれ測定するアクセス頻度測定部と、
     前記アクセス頻度測定部の測定結果に基づいて、前記仮想ボリュームの各前記単位領域にそれぞれ書き込まれたデータの配置先として適正な前記記憶階層を判定する階層判定部と、
     前記仮想ボリュームの各前記単位領域のうち、当該単位領域に書き込まれたデータが格納されている前記記憶領域が属する前記記憶階層と、前記階層判定部により判定された当該データの配置先として適正な前記記憶階層とが異なる前記単位領域について、当該単位領域に書き込まれたデータを、前記階層判定部により適正と判定された前記記憶階層に属する前記記憶領域に再配置する再配置部と
     を備えることを特徴とするストレージ装置。
  2.  前記測定周期ごとにそれぞれ1又は複数の閾値が設定され、
     前記階層判定部は、
     前記仮想ボリューム内のデータが書き込まれた各前記単位領域について、前記測定周期ごとの前記アクセス頻度をそれぞれ対応する前記閾値と比較し、前記測定周期ごとの比較結果に基づいて、当該単位領域に書き込まれたデータの配置先として適正な前記記憶階層を判定する
     ことを特徴とする請求項1に記載のストレージ装置。
  3.  各前記記憶階層にそれぞれ属する前記記憶領域が、少なくともデータを長期保存するための前記記憶領域からなる長期保存用領域と、データを一時的に保存するための前記記憶領域からなる一時保存用領域とに区分され、
     前記階層判定部は、
     前記測定周期ごとの比較結果に基づいて、前記単位領域に書き込まれたデータの配置先として適正な前記記憶階層に加えて、当該記憶階層内の前記長期保存用領域及び前記一時保存用領域のうちの当該データの配置先として適正な領域を判定する
     ことを特徴とする請求項2に記載のストレージ装置。
  4.  前記階層判定部は、
     いずれかの前記記憶階層内の前記一時保存用領域にデータが格納された各前記単位領域について、特定の前記測定周期の前記アクセス頻度と、当該測定周期について設定された前記閾値との比較結果に基づいて、当該単位領域に書き込まれたデータの適正な配置先がいずれの前記記憶階層の前記長期保存用領域であるかを判定する
     ことを特徴とする請求項3に記載のストレージ装置。
  5.  より性能が高い前記記憶階層がより上位の前記記憶階層として管理され、
     連続する2つの前記記憶階層間で、下位の前記記憶階層の前記一時保存用領域に格納されたデータの適正な配置先を上位の前記記憶階層の前記長期保存用領域と判定するための前記閾値と、上位の前記記憶階層の前記一時保存用領域に格納されたデータの適正な配置先を下位の前記記憶階層の前記長期保存用領域と判定するための前記閾値とが異なる値に設定された
     ことを特徴とする請求項4に記載のストレージ装置。
  6.  前記階層判定部は、
     格納すべき前記記憶階層が予め指定されたデータについては、配置先として適正な前記記憶階層の判定を行わない
     ことを特徴とする請求項1に記載のストレージ装置。
  7.  仮想ボリュームを上位装置に提供すると共に、当該仮想ボリューム内を所定サイズの単位領域に区分して管理し、前記上位装置からの前記仮想ボリュームに対する書込み要求に応じて前記仮想ボリューム内の対応する前記単位領域に記憶領域を割り当て、当該記憶領域に書込み対象のデータを格納するストレージ装置における階層制御方法であって、
     前記記憶領域は、それぞれ性能が異なる複数の記憶階層から構成され、
     前記仮想ボリューム内の前記単位領域ごとに、複数の測定周期ごとのアクセス頻度をそれぞれ測定する第1のステップと、
     測定結果に基づいて、前記仮想ボリュームの各前記単位領域にそれぞれ書き込まれたデータの配置先として適正な前記記憶階層を判定する第2のステップと、
     前記仮想ボリュームの各前記単位領域のうち、当該単位領域に書き込まれたデータが格納されている前記記憶領域が属する前記記憶階層と、前記階層判定部により判定された当該データの配置先として適正な前記記憶階層とが異なる前記単位領域について、当該単位領域に書き込まれたデータを、適正と判定した前記記憶階層に属する前記記憶領域に再配置する第3のステップと
     を備えることを特徴とする階層制御方法。
  8.  前記測定周期ごとにそれぞれ1又は複数の閾値が設定され、
     前記第2のステップでは、
     前記仮想ボリューム内のデータが書き込まれた各前記単位領域について、前記測定周期ごとの前記アクセス頻度をそれぞれ対応する前記閾値と比較し、前記測定周期ごとの比較結果に基づいて、当該単位領域に書き込まれたデータの配置先として適正な前記記憶階層を判定する
     ことを特徴とする請求項7に記載の階層制御方法。
  9.  各前記記憶階層にそれぞれ属する前記記憶領域が、少なくともデータを長期保存するための前記記憶領域からなる長期保存用領域と、データを一時的に保存するための前記記憶領域からなる一時保存用領域とに区分され、
     前記第2のステップでは、
     前記測定周期ごとの比較結果に基づいて、前記単位領域に書き込まれたデータの配置先として適正な前記記憶階層に加えて、当該記憶階層内の前記長期保存用領域及び前記一時保存用領域のうちの当該データの配置先として適正な領域を判定する
     ことを特徴とする請求項8に記載の階層制御方法。
  10.  前記第2のステップでは、
     いずれかの前記記憶階層内の前記一時保存用領域にデータが格納された各前記単位領域について、特定の前記測定周期の前記アクセス頻度と、当該測定周期について設定された前記閾値との比較結果に基づいて、当該単位領域に書き込まれたデータの適正な配置先がいずれの前記記憶階層の前記長期保存用領域であるかを判定する
     ことを特徴とする請求項9に記載の階層制御方法。
  11.  より性能が高い前記記憶階層がより上位の前記記憶階層として管理され、
     連続する2つの前記記憶階層間で、下位の前記記憶階層の前記一時保存用領域に格納されたデータの適正な配置先を上位の前記記憶階層の前記長期保存用領域と判定するための前記閾値と、上位の前記記憶階層の前記一時保存用領域に格納されたデータの適正な配置先を下位の前記記憶階層の前記長期保存用領域と判定するための前記閾値とが異なる値に設定された
     ことを特徴とする請求項10に記載の階層制御方法。
  12.  前記第2のステップでは、
     格納すべき前記記憶階層が予め指定されたデータについては、配置先として適正な前記記憶階層の判定を行わない
     ことを特徴とする請求項7に記載の階層制御方法。
PCT/JP2012/080651 2012-11-27 2012-11-27 ストレージ装置及び階層制御方法 WO2014083620A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2012/080651 WO2014083620A1 (ja) 2012-11-27 2012-11-27 ストレージ装置及び階層制御方法
US13/978,819 US9448740B2 (en) 2012-11-27 2012-11-27 Storage apparatus and hierarchy control method
JP2014549672A JP5941996B2 (ja) 2012-11-27 2012-11-27 ストレージ装置及び階層制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/080651 WO2014083620A1 (ja) 2012-11-27 2012-11-27 ストレージ装置及び階層制御方法

Publications (1)

Publication Number Publication Date
WO2014083620A1 true WO2014083620A1 (ja) 2014-06-05

Family

ID=50827296

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/080651 WO2014083620A1 (ja) 2012-11-27 2012-11-27 ストレージ装置及び階層制御方法

Country Status (3)

Country Link
US (1) US9448740B2 (ja)
JP (1) JP5941996B2 (ja)
WO (1) WO2014083620A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524300B2 (en) 2013-03-14 2016-12-20 Microsoft Technology Licensing, Llc Heterogenic volume generation and use system
US9141626B2 (en) * 2013-03-14 2015-09-22 Microsoft Technology Licensing, Llc Volume having tiers of different storage traits
US9262313B2 (en) 2013-03-14 2016-02-16 Microsoft Technology Licensing, Llc Provisioning in heterogenic volume of multiple tiers
US9116904B2 (en) 2013-03-14 2015-08-25 Microsoft Technology Licensing, Llc File system operation on multi-tiered volume
KR101593012B1 (ko) * 2013-12-24 2016-02-18 주식회사 케이티 계층형 스토리지 제어 장치 및 방법
JP6260384B2 (ja) * 2014-03-19 2018-01-17 富士通株式会社 ストレージ制御装置,制御プログラム,及び制御方法
WO2016016989A1 (ja) * 2014-07-31 2016-02-04 株式会社 東芝 階層化ストレージシステム、ストレージコントローラ及びプログラム
US9785377B2 (en) * 2014-11-05 2017-10-10 Seagate Technology Llc Tracking hot areas of disk drive
US10416887B1 (en) 2016-05-18 2019-09-17 Marvell International Ltd. Hybrid storage device and system
US10056147B1 (en) 2016-06-02 2018-08-21 Marvell International Ltd. Two-level storage device with faster front end
CN110858124B (zh) * 2018-08-24 2021-06-01 华为技术有限公司 数据迁移方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006085300A (ja) * 2004-09-14 2006-03-30 Kansai Tlo Kk データ処理方法、データ処理装置及びコンピュータプログラム
WO2012020471A1 (ja) * 2010-08-10 2012-02-16 株式会社日立製作所 計算機システムの管理方法、及び管理システム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623693A (en) * 1994-02-17 1997-04-22 International Business Machines Corporation System for performing action by sorting actions into immediate and deferred queues, processing immediate queue while still sorting, and appending deferred queue to immediate after sorting
US6662242B2 (en) * 2001-04-17 2003-12-09 International Business Machines Corporation Method for PCI IO using PCI device memory mapping in a logically partitioned system
JP3966459B2 (ja) * 2002-05-23 2007-08-29 株式会社日立製作所 ストレージ機器管理方法、システム、およびプログラム
US7441096B2 (en) * 2004-07-07 2008-10-21 Hitachi, Ltd. Hierarchical storage management system
US7600082B2 (en) * 2004-11-30 2009-10-06 Hewlett-Packard Development Company, L.P. Virtualization logic
US7620741B2 (en) * 2005-04-22 2009-11-17 Sun Microsystems, Inc. Proxy-based device sharing
US7831793B2 (en) * 2006-03-01 2010-11-09 Quantum Corporation Data storage system including unique block pool manager and applications in tiered storage
US7830882B2 (en) * 2006-11-17 2010-11-09 Intel Corporation Switch scaling for virtualized network interface controllers
US7567188B1 (en) * 2008-04-10 2009-07-28 International Business Machines Corporation Policy based tiered data deduplication strategy
JP5782214B2 (ja) * 2008-05-30 2015-09-24 富士通株式会社 情報検索プログラム、情報検索装置および情報検索方法
US8402214B2 (en) * 2009-09-16 2013-03-19 Hitachi, Ltd. Dynamic page reallocation storage system management
US8452941B2 (en) * 2009-09-23 2013-05-28 Dell Products L.P. System and method for distributing random and sequential data in a tiered storage system
WO2011045831A1 (en) * 2009-10-13 2011-04-21 Hitachi,Ltd. Storage apparatus and its control method
CN102483684B (zh) 2009-12-24 2015-05-20 株式会社日立制作所 提供虚拟卷的存储系统
US8452932B2 (en) * 2010-01-06 2013-05-28 Storsimple, Inc. System and method for efficiently creating off-site data volume back-ups
US8566540B2 (en) * 2010-02-02 2013-10-22 International Business Machines Corporation Data migration methodology for use with arrays of powered-down storage devices
WO2012081089A1 (ja) * 2010-12-15 2012-06-21 株式会社日立製作所 計算機システムの管理装置及び管理方法
JP5543668B2 (ja) 2011-03-25 2014-07-09 株式会社日立製作所 ストレージシステム及び記憶領域の割当方法
US8977799B2 (en) * 2011-09-26 2015-03-10 Lsi Corporation Storage caching/tiering acceleration through staggered asymmetric caching
CN110333825A (zh) * 2013-04-26 2019-10-15 株式会社日立制作所 存储系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006085300A (ja) * 2004-09-14 2006-03-30 Kansai Tlo Kk データ処理方法、データ処理装置及びコンピュータプログラム
WO2012020471A1 (ja) * 2010-08-10 2012-02-16 株式会社日立製作所 計算機システムの管理方法、及び管理システム
US20120042124A1 (en) * 2010-08-10 2012-02-16 Hitachi, Ltd. Management method and management system for computer system

Also Published As

Publication number Publication date
US9448740B2 (en) 2016-09-20
US20140297909A1 (en) 2014-10-02
JP5941996B2 (ja) 2016-06-29
JPWO2014083620A1 (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
JP5941996B2 (ja) ストレージ装置及び階層制御方法
US8984248B2 (en) Data migration system and data migration method
US6839827B1 (en) Method, system, program, and data structures for mapping logical blocks to physical blocks
US8407417B2 (en) Storage system providing virtual volumes
US9037829B2 (en) Storage system providing virtual volumes
JP5608016B2 (ja) オブジェクト単位階層の管理方法及び装置
CN104636080B (zh) 存储系统及用于其的方法
JP5079841B2 (ja) ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
US9703717B2 (en) Computer system and control method
JP5323989B2 (ja) ストレージ装置及びデータ管理方法
US9274723B2 (en) Storage apparatus and its control method
US20060085594A1 (en) Metadata for a grid based data storage system
WO2020037986A1 (zh) 数据迁移方法及装置
US20060085626A1 (en) Updating system configuration information
JP2012505439A (ja) ストレージ装置及びその制御方法
JP2006120120A (ja) 複数のデータ・フォーマットを割り振るための一般記憶コンテナ
WO2011101909A1 (ja) 仮想ボリュームの制御方法及びストレージ装置
US20120260035A1 (en) Zero rebuild extensions for raid
US8954658B1 (en) Method of LUN management in a solid state disk array
US20160041764A1 (en) System and method for transforming an in-use raid array including migrating data using reserved extents
US8572347B2 (en) Storage apparatus and method of controlling storage apparatus
JP2009181265A (ja) ストレージ装置及びライトデータ書込み方法
JP5597266B2 (ja) ストレージシステム
US9983816B1 (en) Managing disk drive power savings in data storage systems
JP5355764B2 (ja) ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 13978819

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12889066

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014549672

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12889066

Country of ref document: EP

Kind code of ref document: A1