WO2011145138A1 - ストレージ装置及びデータ管理方法 - Google Patents

ストレージ装置及びデータ管理方法 Download PDF

Info

Publication number
WO2011145138A1
WO2011145138A1 PCT/JP2010/003335 JP2010003335W WO2011145138A1 WO 2011145138 A1 WO2011145138 A1 WO 2011145138A1 JP 2010003335 W JP2010003335 W JP 2010003335W WO 2011145138 A1 WO2011145138 A1 WO 2011145138A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual volume
storage
data
page
application
Prior art date
Application number
PCT/JP2010/003335
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 CN201080063246.3A priority Critical patent/CN102754084B/zh
Priority to PCT/JP2010/003335 priority patent/WO2011145138A1/ja
Priority to EP10851703.8A priority patent/EP2535819A4/en
Priority to JP2012515639A priority patent/JP5323989B2/ja
Priority to US12/988,653 priority patent/US9052823B2/en
Publication of WO2011145138A1 publication Critical patent/WO2011145138A1/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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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
    • G06F3/0649Lifecycle management
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Definitions

  • the present invention relates to a storage apparatus and a data management method, and is suitable for application to, for example, a storage apparatus equipped with a hierarchical data management function.
  • each storage area provided by a plurality of types of storage devices having different performances is managed as a different type of storage hierarchy, and a pool is configured with different types of storage hierarchies.
  • a storage area is dynamically allocated to the virtual volume from the pool, and data to be written is stored in the allocated storage area.
  • the access frequency from the host computer to each data written in the virtual volume is managed thereafter, and the high-speed and high-performance storage hierarchy (high-speed and The storage area provided by the storage area of the high-performance storage device) is transferred to the storage area, and for data with a low access frequency, the storage hierarchy of the low-speed and low-performance storage device (the storage area of the low-speed and low-performance storage device) The storage area provided by the storage hierarchy).
  • a storage area is allocated from a high-speed and high-performance storage hierarchy (hereinafter referred to as a high-performance storage hierarchy) for data of a less important application.
  • a high-performance storage hierarchy a high-speed and high-performance storage hierarchy
  • the storage area of the high-performance storage hierarchy may be depleted, and the storage area may not be allocated from the high-performance storage hierarchy for data of a highly important application.
  • the storage area is allocated from the storage hierarchy to the virtual volume in a predetermined size unit (hereinafter referred to as a page). Pages may be allocated from different storage hierarchies. In such a case, the access performance to individual data parts in the same file varies, and there is a problem that stable access to such data cannot be performed.
  • the present invention has been made in consideration of the above points, and intends to propose a storage apparatus and a data management method capable of realizing stable performance of a virtual volume.
  • a plurality of types of storage devices having different performances and storage areas provided by the plurality of types of storage devices are managed as different types of storage hierarchies.
  • a pool with different types of storage tiers providing a virtual volume to the host computer, and in response to a write request from an application installed in the host computer for the virtual volume,
  • a storage area is allocated from the pool in units of pages of a predetermined size, and a controller that stores data to be written in the allocated page is provided, and the controller includes the application and the virtual volume from which the application reads and writes data
  • the page is allocated to the virtual volume from the storage tier with the higher priority among the storage tiers associated with the.
  • a plurality of types of storage devices having different performances and storage areas provided by the plurality of types of storage devices are managed as different types of storage hierarchies, and a pool is created by a plurality of different types of storage hierarchies.
  • a virtual volume is provided to the host computer, and in response to a write request from an application installed in the host computer for the virtual volume, a storage area from the pool for the virtual volume has a predetermined size.
  • Virtual In response to a write request from the corresponding application for the virtual volume, the first step of managing a policy that associates the storage tier that allocates the page to a volume and the priority of the storage tier, According to the corresponding policy, a second step of allocating the page to the virtual volume from a storage tier having a higher priority among the storage tiers associated with the virtual volume is provided.
  • the storage hierarchy to which pages are allocated when the application writes data to the virtual volume can be limited in advance for each application.
  • pages can always be allocated from a storage tier with high performance. In this way, stable performance of the virtual volume can be realized.
  • reference numeral 1 denotes a computer system according to this embodiment as a whole.
  • This computer system 1 includes a plurality of host computers 3, a management computer 4, and a storage device 5 connected to each other via a management network 2.
  • Each host computer 3 and storage device 5 is a SAN (Storage Area). Network) or the like, and is connected through a data network 6.
  • SAN Storage Area
  • the host computer 3 is a computer device provided with information processing resources such as a processor 10 and a memory 11, and is composed of, for example, a personal computer, a workstation, or a main frame.
  • the host computer 3 includes an input unit 12 such as a keyboard, a switch, a pointing device and / or a microphone, and an output unit 13 such as a monitor display and / or a speaker, and a data network via the I / O port 14. 6 and connected to the management network 2 via the management port 15.
  • Various applications 16 are stored in the memory 11 of the host computer 3.
  • the management computer 4 is a computer device provided with information processing resources such as a processor 20 and a memory 21, and includes, for example, a personal computer, a workstation, or a main frame. As with the host computer 3, the management computer 4 includes an input unit 22 such as a keyboard, switch, pointing device and / or microphone, and an output unit 23 such as a monitor display and / or a speaker. Via the management network 2.
  • a virtual volume page allocation policy setting program 25 and a data / page mapping setting program 26, which will be described later, an apparatus table 27, a virtual volume page allocation policy management table 28, and a data / page mapping management table 29 are stored. Is stored.
  • the storage device 5 includes one or more storage devices 30 and information processing resources such as a controller 31 and a memory 32, and is connected to the management network 2 via the management port 33. At the same time, it is connected to the data network 6 via the I / O port 34.
  • the storage device 30 is, for example, a semiconductor memory such as an SSD (Solid State Drive), an expensive and high performance disk device such as an FC (Fibre Chanel) disk or a SAS (Serial Attached SCSI) disk, and a SATA (Serial AT AT Attachment) disk. And low-cost and low-performance disk units.
  • SSD Solid State Drive
  • FC Fibre Chanel
  • SAS Serial Attached SCSI
  • SATA Serial AT AT Attachment
  • the controller 31 is a processor that controls the operation of the entire storage apparatus 5.
  • the controller 31 executes the microprogram 35 stored in the memory 32, various processes are performed as the entire storage apparatus 5.
  • the memory 32 is used to hold the microprogram 35 and control information read from the storage device 30 when the storage device 5 is started up, and temporarily stores the work memory of the controller 31 and data read from and written to the storage device 30. It is also used as a memory for storing information.
  • a virtual volume management table 36, a virtual volume page allocation management table 37, a virtual volume pool management table 38, a storage tier management table 39, a virtual volume page allocation policy management table 40, and a data / page mapping management table 41, which will be described later, are also stored in this memory 32. Stored and retained.
  • FIG. 5 shows a logical configuration of the storage apparatus 5.
  • a parity group PG is defined by one or a plurality of storage devices 30 of the same type (SSD, FC, SATA, etc.), and provided by one or a plurality of storage devices 30 constituting one parity group PG.
  • One or more pool volumes PVOL are defined on the storage area.
  • one storage tier ST is defined by one or a plurality of pool volumes PVOL defined on the same type of parity group PG, and a plurality of storage tiers ST of different types (the types of storage devices 30 that provide storage areas are different).
  • One virtual volume pool VVP is defined by a plurality of storage hierarchies ST).
  • the SSD has the highest reliability and response performance
  • the SATA hard disk device has the lowest reliability and response performance. Therefore, in the case of the example in FIG. 5, the reliability and response performance of the storage tier ST composed of the storage areas provided by the SSD among the storage tiers ST constituting the virtual volume pool VVP is the highest, and the FC hard disk device
  • the storage hierarchy ST configured from the storage area provided by the storage area ST has the next highest reliability and response performance
  • the storage hierarchy ST configured from the storage area provided by the SATA hard disk device has the lowest reliability and response performance. I understand.
  • a virtual volume VVOL which is one or a plurality of virtual logical volumes, is defined in the storage apparatus 5, and this virtual volume VVOL is provided to the host computer 3.
  • Each virtual volume VVOL is given a unique identifier (hereinafter referred to as LUN (Logical Unit Unit number)).
  • LUN Logical Unit Unit number
  • An area in the virtual volume VVOL is divided into blocks of a predetermined size (hereinafter referred to as logical blocks), and a unique number (LBA: Logical BlockBAAddress) is assigned to each logical block.
  • Data read / write from / to the virtual volume VVOL from the host computer 3 is performed in units of logical blocks in which the addresses are designated, using a combination of LUN and LBA as an address.
  • Each virtual volume VVOL is associated with any one virtual volume pool VVP defined in the storage apparatus 5.
  • a storage area is allocated to the logical block specified in the write request in the virtual volume VVOL specified in the write request. If not, a required amount of storage area is allocated to the logical block in units of a predetermined size called a page from the virtual volume pool VVP associated with the virtual volume VVOL.
  • a page is a basic unit of a storage area allocated to a corresponding virtual volume VVOL from a storage hierarchy ST that constitutes a virtual volume pool VVP.
  • a page and one logical block of the virtual volume VVOL have the same size. Therefore, in this embodiment, one page is allocated from the virtual volume pool VVP to one logical block of the virtual volume VVOL.
  • the data from the host computer 3 is written to the page assigned to the logical block specified in the write request in the virtual volume VVOL specified in the write request. As a result, it is performed on the page.
  • the storage apparatus 5 monitors the access frequency from the host computer 3 per unit time for each logical block of the virtual volume VVOL in parallel with the process of assigning pages to the virtual volume VVOL as described above. Then, the storage apparatus 5 changes the storage tier ST that allocates a page to the logical block of the virtual volume VVOL to another storage tier ST as necessary (periodically or irregularly according to the access frequency per unit time ( Data relocation processing to be reallocated) is executed.
  • the storage apparatus 5 has more response performance and reliability than the storage tier ST constituting the corresponding virtual volume pool VVP for a logical block having a high access frequency.
  • a page is allocated from a high storage hierarchy ST, and a page is allocated to a logical block with a low access frequency from a storage hierarchy ST having a lower response performance and reliability among the storage hierarchies ST constituting the virtual volume pool VVP.
  • the corresponding storage device 30 is controlled so that data is transferred (moved) between the storage hierarchies ST as necessary.
  • a virtual volume VVOL in which the application 16 reads and writes data one or a plurality of storage hierarchies ST that allocates pages to the virtual volume VVOL, and these storage virtuals
  • the priority (priority order) of each storage tier ST in the ST can be set as a policy relating to the application 16 (hereinafter referred to as a virtual volume page allocation policy).
  • the storage device 5 When the storage device 5 receives a data write request for the virtual volume VVOL from the application 16 installed in the host computer 3 or executes the data relocation processing, the storage device 5 performs virtual processing according to the virtual volume page allocation policy. Pages can be allocated to one or a plurality of storage hierarchies ST associated with the virtual volume VVOL (specifically, the corresponding application 16) with respect to the logical block in which data in the volume VVOL is written or written. And a page is allocated or reassigned from the storage hierarchy ST having a higher priority (higher priority).
  • the storage apparatus 5 is associated with the virtual volume VVOL.
  • a necessary number of pages can be allocated, and pages are allocated or reallocated from the higher storage hierarchy ST.
  • the memory 21 of the management computer 4 has a virtual volume page allocation policy setting program 25, data / page mapping setting, as shown in FIG. A program 26, a device table 27, a virtual volume allocation policy management table 28, and a data / page mapping management table 29 are stored.
  • the virtual volume page allocation policy setting program 25 is a GUI (Graphical User Interface) screen (hereinafter referred to as virtual volume page allocation policy setting) for creating a virtual volume page allocation policy for each virtual volume VVOL installed in the host computer 3. Is called a screen) to the system administrator, and a virtual volume page allocation policy created by the system administrator or the like using this virtual volume page allocation policy setting screen is set in the storage apparatus 5.
  • GUI Graphic User Interface
  • the data / page mapping setting program 26 is used by the system administrator to specify the correspondence between the data written in the virtual volume VVOL by the application 16 and the page assigned to the area in the virtual volume VVOL where the data is to be written.
  • a GUI screen (hereinafter referred to as a data / page mapping setting screen) is presented to the system administrator, and this data / page mapping setting screen is used to store the correspondence between such data and pages specified by the system administrator or the like. This is a program for setting in the device 5.
  • the device table 27 is a table for the management computer 4 to manage the host computer 3 and the storage device 5 existing in the computer system 1, and as shown in FIG. 6, the device ID column 27A, the device type column 27B, and the device It consists of an information column 27C and an IP address column 27D.
  • identifiers respectively assigned to the host computer 3 and the storage device 5 existing in the computer system 1 are stored, and in the device type column 27B, the device type ( Storage device or host computer).
  • the device information column 27C stores information such as the vendor name, model, and serial number of the corresponding device
  • the IP address column 27D stores the IP address of the device when accessing the corresponding device.
  • the “storage device” “ST1” is a model “vendor A1” of the vendor “vendor A”, the serial number is “10”, and the IP address is “10.10. 10.10 "is shown.
  • the virtual volume page allocation policy management table 28 is a table for managing the virtual volume page allocation policy created by the system administrator using the virtual volume page allocation policy setting screen 50 (FIG. 13) described later on the management computer 4 side. Yes, as shown in FIG. 7, it is composed of a policy ID column 28A, a server ID column 28B, an application ID column 28C, a virtual volume list column 28D, and a storage tier arrangement order column 28E.
  • the application column 28C stores the identifier of the corresponding application 16
  • the server ID column 28B stores the identifier of the host computer 3 on which the application 16 is mounted.
  • the identifiers of all the virtual volumes VVOL with which the corresponding application 16 reads / writes data are stored in the virtual volume list column 28D, and the data is written in these virtual volumes VVOL in the storage hierarchy arrangement order column 28E
  • One or a plurality of storage hierarchies ST to which pages are to be allocated are arranged and stored in descending order of priority.
  • the virtual volume page allocation policy “Policy1” is a rule for the application 16 “AP1” implemented in the host computer 3 “H1”.
  • the virtual volumes VVOL “v101” and “v102” 16 read and write data, three storage tiers ST “Tier0”, “Tier1” and “Tier2” are associated with the priority in this order. It has been shown that
  • the data / page mapping management table 29 is a table for managing the correspondence relationship between data and pages specified by the system administrator using the data / page mapping setting screen 60 (FIG. 14) described later on the management computer 4 side. As shown in FIG. 8, it comprises a mapping ID column 29A, an application ID column 29B, a data ID column 29C, a virtual volume ID column 29D, and a corresponding page column 29E.
  • mapping ID column 29A identifiers assigned to corresponding data and page correspondences are stored.
  • the application ID column 29B stores the identifier of the corresponding application 16
  • the data ID column 29C stores the identifier of the data assigned to the data of the corresponding application 16.
  • the virtual volume ID column 29D stores the identifier of the virtual volume VVOL in which the data is to be stored
  • the corresponding page column 29E is assigned to all logical blocks in which the data is stored in the virtual volume VVOL. Each page identifier is stored.
  • the data “data 1a” used by the application 16 “AP1” is two logical blocks to which pages “p01” and “p02” in the virtual volume VVOL “VOL1” are respectively assigned. It is shown that the identifier “Map01” is assigned to the correspondence between the data “data 1a” and the pages “p01” and “p02” at this time.
  • a virtual volume control program 35A is included in the microprogram 35 stored in the memory 32 of the storage apparatus 5.
  • the memory 32 is provided with a virtual volume management table 36, a virtual volume page allocation management table 37, a virtual volume pool management table 38, a storage tier management table 39, a virtual volume page allocation policy management table 40, and data / page mapping.
  • a management table 41 is stored.
  • the virtual volume control program 35A of the storage apparatus 5 responds to the data write to the virtual volume VVOL from each application 16 according to the above-described virtual volume page allocation policy, and the virtual volume pool VVP (see FIG. 5) is a program that executes processing such as allocating pages.
  • the virtual volume management table 36 is a table used by the virtual volume control program 35A to manage the virtual volume VVOL defined in the own storage apparatus 5, and as shown in FIG. 9, the virtual volume ID column 36A, The host allocation status column 36B, the virtual capacity column 36C, the threshold value column 36D, and the allocated capacity column 36E.
  • the identifier of each virtual volume VVOL defined in the storage apparatus 5 having the virtual volume management table 36 is stored.
  • the host allocation status column 36B information on whether or not any host computer 3 is allocated as a data write destination to the corresponding virtual volume VVOL (“Allocated” if allocated) If not, “Unallocated”) is stored.
  • the host allocation status column 36B includes the port ID (“PID”) of the port of the host computer 3 connected to the virtual volume VVOL and the host computer. 3 stores the identification number (“LUN”) of the virtual volume VVOL.
  • the capacity of the corresponding virtual volume VVOL is stored in the virtual capacity column 36C, and the threshold of the used capacity set in advance for the virtual volume VVOL is stored in the threshold value column 36D.
  • the used capacity of the corresponding virtual volume VVOL exceeds this threshold, a warning to that effect is sent to the system administrator.
  • the allocated capacity column 36E stores the current used capacity of the corresponding virtual volume VVOL.
  • the virtual volume VVOL “v101” has the capacity set to “10 GB” and the threshold value “6 GB”, and any of the host computers 3 has already been allocated (“Allocated”).
  • the host computer 3 indicates that a capacity of “6 GB” is being used.
  • the virtual volume page allocation management table 37 is a table used by the virtual volume control program 35A to manage the allocation status of pages to the virtual volume VVOL defined in the own storage apparatus 5, and as shown in FIG.
  • the virtual volume ID column 37A stores the identifier of each virtual volume VVOL defined in the storage apparatus 5 having the virtual volume page allocation management table 37, and the pool ID column 37B stores the corresponding virtual volume VVOL.
  • the identifier of the virtual volume pool VVP associated with the allocation source to which the page should be allocated is stored.
  • the assigned LBA column 37C stores the LBA of the logical block to which a page has already been allocated among the logical blocks in the corresponding virtual volume VVOL
  • the assigned page column 37D stores the logical block for the logical block.
  • the I / O frequency column 37E stores the I / O frequency per unit time from the host computer 3 for the data stored in the corresponding page.
  • the virtual volume VVOL “v101” is associated with the virtual volume pool VVP with the pool ID “Pool1”, and the LBA of the virtual volume VVOL is “[0GB] ⁇ [2GB]”. ”,“ [2GB]-[4GB] ”and“ [4GB]-[6GB] ”logical blocks with identifiers“ p01 ”,“ p02 ”and“ p03 ”, respectively. It is indicated that the access frequency per unit time from the host computer 3 to the data stored in the pages “p01”, “p02” and “p03” is “100”, “200” and “80”, respectively. ing.
  • the virtual volume pool management table 38 is a table used by the virtual volume control program 35A to manage the virtual volume pool VVP defined in the own storage apparatus 5, and as shown in FIG. 11, the pool ID column 38A, It consists of a page ID column 38B, a corresponding virtual volume pool column 38C, an LBA column 38D, and a virtual volume allocation status column 38E.
  • the pool ID column 38A stores the identifiers of the virtual volume pools VVP defined in the storage apparatus 5 including the virtual volume pool management table 38, and the page ID column 38B stores the corresponding virtual volume pool VVP.
  • the identifier assigned to each page is stored.
  • the corresponding virtual volume pool column 38C stores the identifier and capacity of the pool volume PVOL (FIG. 5) that provides the corresponding page in the corresponding virtual volume pool VVP.
  • the LBA column 38D stores the LBA of the corresponding page in the corresponding pool volume PVOL
  • the virtual volume allocation status column 38E indicates whether the corresponding page is allocated to any virtual volume VVOL.
  • Information (“Allocated” if assigned, “Unallocated” if not assigned) and the identifier of the allocation-destination virtual volume VVOL if assigned are stored.
  • the pages “p01” to “p05” of the virtual volume pool VVP “pool1” are provided by the pool volume PVOL having the capacity “10 GB” “v201”. It is indicated that the storage area of the page whose LBA is “[0GB]-[2GB]” is already allocated to the virtual volume VVOL “v101” (“Allocated”).
  • the storage tier management table 39 is a table used by the virtual volume control program 35A to manage the storage tier ST defined in the own storage apparatus 5. As shown in FIG. 12, the storage tier ID column 39A, parity It consists of a group ID column 39B, a corresponding storage device column 39C, a media type column 39D, and a pool volume ID column 39E.
  • the storage tier ID column 39A stores the identifiers of the respective storage tiers ST defined in the storage apparatus 5 including the storage tier management table 39, and the parity group ID column 39B configures the corresponding storage tier ST.
  • the identifier of the parity group PG to be stored is stored.
  • the corresponding storage device column 39C stores all the identifiers of the storage devices 30 constituting the corresponding parity group PG, and the media type column 39D stores the types of these storage devices 30 (such as SSD, FC, or SATA). Is stored.
  • the pool volume ID column 39E stores the identifier of the pool volume PVOL that constitutes the corresponding storage tier ST.
  • the storage tier ST of “Tier0” is composed of a pool volume PVOL of “v201”, and this pool volume PVOL has the type “SSD” “a0”, “a1”, “a2”. And it is shown that it is defined on a storage area provided by a parity group PG called “PG01” composed of four storage devices 30 called “a3”.
  • the virtual volume allocation policy management table 40 is a table for managing the above-described virtual volume allocation policy created by the system administrator on the storage apparatus 5 side, and is the same as the virtual volume allocation policy management table 28 of the management computer 4. Since it has a structure, description here is omitted.
  • the data / page mapping management table 41 is also a table for managing the correspondence between the data designated by the system administrator and the page on the management computer 4 side as described above, and the data / page mapping management of the management computer 4. Since it has the same configuration as the table 29, the description thereof is omitted here.
  • FIG. 13 is displayed on the management computer 4 when the virtual volume page allocation policy setting program 25 (FIG. 3) of the management computer 4 is started.
  • the screen structure of the virtual volume page allocation policy setting screen 50 is shown.
  • the system administrator sets what priority should be allocated from which storage hierarchy ST to the virtual volume VVOL with which the application 16 reads and writes data.
  • a policy ID field 51 As shown in FIG. 13, a policy ID field 51, a server ID field 52, an application ID field 53, a virtual volume list field 54, a storage tier arrangement ranking part 55, and a policy setting button 56 Composed.
  • the policy ID field 51 is a field for the system administrator or the like to specify (input) the identifier of the virtual volume page allocation policy to be set at that time.
  • the application ID field 53 and the server ID field 52 are respectively This is a field for designating the identifier of the target application 16 and the identifier of the host computer 3 on which the application 16 is mounted.
  • the virtual volume list field 54 is a field for designating the identifier of the virtual volume VVOL with which the application 16 reads and writes data.
  • the system administrator or the like uses the first priority field 55A, the second priority field 55B, and the storage hierarchy ST desired as the storage hierarchy ST to which pages are allocated when the application 16 writes data to the virtual volume VVOL in descending order of priority. This can be specified by inputting the identifier in the third priority field 55C.
  • the identifier of the storage hierarchy ST may be input to only a part of the field 55C. In this way, it is possible to further limit the storage hierarchy ST to which pages are allocated when the corresponding application 16 writes data to the virtual volume VVOL. For example, “Tier0” is input to the first priority field 55A, “Tier1” is input to the second priority field 55B, and the third priority field 55C is left blank, so that the corresponding application 16 has written data to the virtual volume VVOL. Sometimes the storage hierarchy ST to which pages are allocated can be limited to only two storage hierarchies ST of “Tier0” and “Tier1”.
  • the policy setting button 56 displays the virtual volume page allocation policy of the contents respectively input to the policy ID field 51, the server ID field 52, the application ID field 53, the virtual volume list field 54, and the storage tier arrangement ranking unit 55 in the storage device 5. It is a button for setting.
  • the virtual volume page allocation policy setting program 25 sets the policy after the necessary items are input to the policy ID field 51, the server ID field 52, the application ID field 53, the virtual volume list field 54, and the storage tier arrangement ranking unit 55.
  • the button 56 is clicked, the contents input by the system administrator on the virtual volume page allocation policy setting screen 50 are transferred to the storage apparatus 5 together with the setting command.
  • the storage apparatus 5 receives this setting command, the storage apparatus 5 internally sets the setting contents on the virtual volume page allocation policy setting screen 50 given together with the setting command.
  • the identifier of the virtual volume page allocation policy is not specified by the system administrator on the virtual volume page allocation policy setting screen 50, but, for example, the virtual volume page allocation policy setting program 25 is numbered according to a predetermined rule.
  • the storage apparatus 5 cannot identify the application 16 that has written data to the virtual volume VVOL. The reason is that, when data is written in which logical block of which virtual volume VVOL, only the process of allocating the page with which priority from which storage hierarchy ST can be performed.
  • the priority order of the storage hierarchy ST may be specified by the disk type or the identifier of the parity group PG.
  • FIG. 14 shows a data / page mapping setting screen displayed on the management computer 4 when the data / page mapping setting program 26 (FIG. 3) of the management computer 4 is started. 60 screen configurations are shown.
  • the data / page mapping setting screen 60 displays data to be written to the virtual volume VVOL by the application 16 installed in the host computer 3 as described above, and an area (page of the virtual volume VVOL) in which the data is to be written. ), And a mapping ID field 61, server ID field 62, application ID field 63, virtual volume ID field 64, data ID field 65, data name, as shown in FIG. A field 66 and a data address field 67, a data address confirmation button 68, and a mapping setting button 69 are configured.
  • mapping ID field 61 is a field for the system administrator to specify (input) the associated data and the identifier to be assigned to the page.
  • the application ID field 63 and the server ID field 62 are respectively the corresponding application 16. And an identifier of the host computer 3 in which the application 16 is mounted.
  • the virtual volume ID field 64 is a field for designating the identifier of the virtual volume VVOL with which the application 16 reads and writes data
  • the data ID field 65 is the identifier of data that the application 16 writes to the virtual volume VVOL. This is a field to specify.
  • the data name field 66 is a field for designating the data name (for example, file name) of the data.
  • the data address field 67 is a field for designating a range of an area in which such data is written in the virtual volume VVOL, which has been examined in advance by the system administrator.
  • this range can be displayed in the data address field 67 by clicking the data address confirmation button 68 after inputting the data name in the data name field 66, as will be described later.
  • the data address confirmation button 68 is a button for causing the data / page mapping setting program 26 to investigate the range of the area in which such data is written in the virtual volume VVOL.
  • the identifier of the host computer 3 corresponding to the server ID field 62 is input and the data name is input to the data name field 66 and the data address confirmation button 68 is clicked, the data / page mapping setting program 26 is clicked.
  • a command for examining the address of data is issued to the host computer 3 whose identifier is stored in the server ID field 52, and the address thus obtained is displayed in the data address field 67.
  • the mapping setting button 69 is a button for setting the correspondence between data and pages set on the data / page mapping setting screen 60.
  • the data / page mapping setting program 26 displays a mapping setting button after necessary items are input to the server ID field 62, application ID field 63, virtual volume ID field 64, data ID field 65, data name field 66, and data address field 67.
  • the contents entered by the system administrator on this data / page mapping setting screen 60 are transferred to the storage apparatus 5 together with the setting command.
  • the storage device 5 internally sets the setting contents on the data / page mapping setting screen 60 given together with the setting command.
  • mapping ID may not be specified on the data / page mapping setting screen 60 by the system administrator, but the data / page mapping setting program 26 may be assigned a number according to a predetermined rule.
  • the input to the server ID field 62 and the application ID field 63 may be omitted.
  • FIG. 15 shows the virtual volume page allocation policy setting of the management computer 4 when the policy setting button 56 on the virtual volume page allocation policy setting screen 50 (FIG. 13) is clicked.
  • the processing procedure of the virtual volume page allocation policy setting process executed by the program 25 (FIG. 3) is shown.
  • the virtual volume page allocation policy setting program 25 displays the virtual volume page allocation policy shown in FIG. Start the setting process.
  • the virtual volume page allocation policy setting program 25 starts with the identifier of the target application 16 and the identifier of the corresponding virtual volume VVOL input by the system administrator on the virtual volume page allocation policy setting screen 50, Each piece of information such as the identifier of the storage hierarchy ST designated for the application 16 is fetched (SP1).
  • the virtual volume page allocation policy setting program 25 creates a new entry in the virtual volume page allocation policy management table 28 (FIG. 7) in the management computer 4, and each column (policy ID column 28A, In the server ID column 28B, the application ID column 28C, the virtual volume list column 28D, and the storage tier arrangement order column 28F), the corresponding information captured in step SP1 is stored (SP2).
  • the virtual volume page allocation policy setting program 25 transfers an update instruction for the virtual volume page allocation policy management table 28 to the storage apparatus 5 together with information on the new virtual volume page allocation policy acquired in step SP1 (SP3).
  • the virtual volume control program 35A (FIG. 4) of the storage apparatus 5 creates and creates a new entry in the virtual volume page allocation policy management table 40 (FIG. 4) in the storage apparatus 5 in response to the update instruction.
  • the corresponding information transmitted from the management computer 4 at this time is stored in each column of the entry.
  • the virtual volume page allocation policy setting program 25 thereafter ends this virtual volume page allocation policy setting process.
  • FIG. 16 shows the data / page mapping setting program of the management computer 4 when the mapping setting button 69 on the data / page mapping setting screen 60 (FIG. 14) is clicked.
  • 26 shows the processing procedure of the data / page mapping setting process executed by H.26 (FIG. 3).
  • the data / page mapping setting program 26 displays the virtual volume page allocation policy setting process shown in FIG. To start.
  • the data / page mapping setting program 26 first determines the identifier of the application 16 input by the system administrator on the data / page mapping setting screen 60, the identifier and data name of the target data, and the corresponding virtual volume VVOL. Each piece of information such as the storage position (data address) of the data is fetched (SP10).
  • the data / page mapping setting program 26 stores the data in the virtual volume VVOL based on the predetermined size of each page and the storage position of the target data at that time in the virtual volume VVOL. All pages (hereinafter referred to as “related pages”) assigned to a certain area are specified (SP11).
  • the data / page mapping setting program 26 creates a new entry in the data / page mapping management table 29 (FIG. 8) in the management computer 4, and creates each entry field (mapping ID field 29 ⁇ / b> A, application ID field).
  • 29B, the data ID column 29C, the virtual volume column 29D, and the corresponding page column 29E) store the corresponding information captured in step SP10 (SP12).
  • the data / page mapping setting program 26 stores an update instruction for the data / page mapping management table 29 together with the new data acquired in step SP10 and information about the correspondence between pages (hereinafter referred to as mapping information).
  • the data is transferred to the device 5 (SP13).
  • the virtual volume control program 35A of the storage apparatus 5 creates a new entry in the data / page mapping management table 41 in the storage apparatus 5 in response to the update instruction, and puts the new entry in each column of the created entry at this time.
  • the corresponding information transmitted from the management computer 4 is stored.
  • the data / page mapping setting program 26 thereafter ends this data / page mapping setting process.
  • FIG. 17 shows the procedure of page arrangement processing executed by the virtual volume control program 35A (FIG. 4) of the storage apparatus 5.
  • the virtual volume control program 35A arranges or rearranges pages in the virtual volume VVOL according to the processing procedure shown in FIG.
  • the virtual volume control program 35A starts this page arrangement process when the storage apparatus 5 is activated, and first, the management computer 4 determines whether or not it is time to execute page rearrangement in a predetermined schedule. It is sequentially determined whether or not an execution request for forced relocation has been given, and whether or not an access request (write request or read request) has been given from any of the host computers 3 (SP20 to SP23).
  • step SP20 When the virtual volume control program 35A obtains a negative result in any of these determinations, it repeats the loop of step SP20 to step SP23 to step SP20.
  • step SP20 When the virtual volume control program 35A eventually obtains an affirmative result in step SP20 when it is time to execute page rearrangement, the storage hierarchy in which pages are allocated to logical blocks storing data in the virtual volume VVOL. A page rearrangement process is performed to change ST to another storage hierarchy ST as necessary (SP24), and then the process returns to step SP20.
  • step SP21 When the virtual volume control program 35A eventually receives a forced relocation request from any of the host computers 3 and obtains a positive result in step SP21, the data specified in the forced relocation request is stored. Forcible relocation processing for assigning pages to the logical block of the virtual volume VVOL from another storage hierarchy ST different from the current storage hierarchy ST is executed (SP25), and thereafter, the process returns to step SP20.
  • step SP23 when the virtual volume control program 35A eventually obtains an affirmative result in step SP23 by receiving an access request from any of the host computers 3, it determines whether or not the access request is a read request (SP26). ).
  • the virtual volume control program 35A obtains the data specified in the read request from the corresponding logical block of the corresponding virtual volume VVOL (more precisely, the storage constituting the corresponding storage hierarchy ST). After reading (from the device 30) and transferring it to the host computer 3 that sent the read request (SP27), the process returns to step SP20.
  • the virtual volume control program 35A when the virtual volume control program 35A obtains a negative result in the determination at step SP24, the virtual volume control program 35A applies a virtual volume to the logical block of the virtual volume VVOL designated as the write destination of the write target data in the write request.
  • the page allocation policy a necessary amount of pages are allocated from any storage hierarchy ST, and data to be written is written to the pages (SP28). The virtual volume control program 35A then returns to step SP20.
  • FIG. 18 shows a specific processing procedure of the page rearrangement process executed by the virtual volume control program 35A in step SP24 of the page layout process described above with reference to FIG.
  • page relocation processing for changing the page allocation source from the current storage hierarchy ST to another storage hierarchy ST is periodically performed according to a schedule. Or it can be performed irregularly.
  • a user or a system administrator can create such a schedule by operating the host computer 3 or the management computer 4 and set it in the storage device 5. Then, the virtual volume control program 35A of the storage apparatus 5 constantly monitors such a schedule, and when the process proceeds to step SP26 of the page allocation process (FIG. 17) at a timing when the page rearrangement process is to be executed, The page rearrangement process shown in FIG. 18 is started.
  • the virtual volume control program 35A When the virtual volume control program 35A starts this page rearrangement process, first, with reference to the virtual volume page allocation management table 37 (FIG. 10), the virtual volume control program 35A is assigned to any virtual volume VVOL defined in the storage apparatus 5. All assigned pages are sorted in descending order of I / O frequency from the host computer 3 for the data stored in the pages (SP30).
  • the virtual volume control program 35A selects one page having the highest I / O frequency from the host computer 3 for the data stored in the page among the allocated pages sorted in step SP30 ( SP31).
  • the virtual volume control program 35A refers to the data / page mapping management table 41 (FIG. 4), and all pages in which data of the same file as the data stored in the page selected in step SP31 is stored. (All related pages of the page selected in step SP31) are specified (SP32).
  • the virtual volume control program 35A refers to the virtual volume page allocation policy management table 40 and the virtual volume pool management table 38, and stores the data stored in the page selected in step SP31 and each related page identified in step SP32. And the data stored in the page selected in step SP31 and having the highest priority among the storage hierarchies ST to which page allocation is permitted.
  • a storage hierarchy ST that can store all of the data stored in each related page specified in SP32 is specified (SP33).
  • step SP34 determines whether or not the processing of step SP31 to step SP33 has been executed for all the pages sorted in step SP30 (SP34).
  • step SP31 When the virtual volume control program 35A obtains a negative result in this determination, it returns to step SP31, and thereafter repeats the processing from step SP31 to step SP34 until it obtains a positive result at step SP34.
  • step SP34 If the virtual volume control program 35A eventually obtains a positive result in step SP34 by completing the processing of step SP31 to step SP33 for all the pages sorted in step SP30, the storage hierarchy ST identified in step SP33 is currently For data different from the storage hierarchy ST, the data is migrated (moved) from the current storage hierarchy ST to the storage hierarchy ST identified in step SP33, and the data / page mapping management table 41 is updated accordingly (SP35). . As a result, the rearrangement of pages for switching the storage tier ST to which pages are assigned to the logical block of the virtual volume VVOL to another storage tier ST is performed.
  • the virtual volume control program 35A ends the page rearrangement process and returns to the page arrangement process (FIG. 17).
  • FIG. 19 shows a specific processing procedure of forced relocation processing executed by the virtual volume control program 35A in step SP25 of the page placement processing described above with reference to FIG.
  • the allocation source of the page assigned to the logical block in which the data is written in the virtual volume VVOL is determined by the user operation. It is possible to change from ST to another storage hierarchy ST.
  • each of the logical blocks in the virtual volume VVOL in which the data designated in the forced relocation request is written is assigned to each logical block.
  • the specified page is specified (SP40).
  • the virtual volume control program 35A refers to the virtual volume pool management table 38 (FIG. 11) and is designated in the forced relocation request to the storage tier ST designated as the relocation destination in the forced relocation request. It is then determined whether there are unused pages (hereinafter referred to as unused pages) that can store all the data to be rearranged (SP41).
  • the virtual volume control program 35A If the virtual volume control program 35A obtains an affirmative result in this determination, the virtual volume control program 35A shifts the data to be relocated specified in the forced relocation request to the storage tier ST specified as the destination location in the forced relocation request. The corresponding storage device 30 is controlled, and the data / page mapping management table 41 is updated accordingly (SP42). Then, the virtual volume control program 35A ends this forced rearrangement process and returns to the data arrangement process (FIG. 17).
  • the virtual volume control program 35A executes a relocation process similar to the data relocation process described above with reference to FIG. Unused pages that can store all the data to be rearranged are prepared in the storage hierarchy ST designated as the placement destination. Further, the virtual volume control program 35A controls the corresponding storage device 30 so as to transfer the data to be rearranged to the prepared unused page, and updates the data / page mapping management table 41 accordingly (SP43). . The virtual volume control program 35A thereafter ends this forced relocation process and returns to the data allocation process.
  • FIG. 20 shows a specific processing procedure of the write process executed by the virtual volume control program 35A in step SP28 of the page arrangement process described above with reference to FIG.
  • step SP28 of the page arrangement process it starts this write process.
  • the logical volume of the write destination of the data specified in the write request in the virtual volume VVOL specified in the write request is started. It is determined whether a page has already been allocated to the block (SP50).
  • the write target data given from the host computer 3 together with the write request is designated in the write request in the virtual volume VVOL designated in the write request.
  • the written logical block is written (SP51), and then the process proceeds to step SP56.
  • the virtual volume control program 35A obtains a negative result in the determination at step SP50, it refers to the virtual volume page allocation policy management table 40 (FIG. 4) and the virtual volume pool management table 38 (FIG. 11). For each storage tier ST for which the priority is set for the data, the unused pages are searched in order from the storage tier ST set with a higher priority (SP52).
  • the virtual volume control program 35A has unused pages for storing all the data in the storage hierarchy ST for which priority is set for the data. It is determined whether or not the storage hierarchy ST exists (SP53).
  • the virtual volume control program 35A If the virtual volume control program 35A obtains a negative result in this determination, it sends a warning that the data cannot be written to the virtual volume VVOL according to the virtual volume page allocation policy to the host computer 3 that sent the write request. (SP54), the write process is terminated and the process returns to the page layout process.
  • the virtual volume control program 35A when the virtual volume control program 35A obtains a positive result in the determination at step SP53, the virtual volume control program 35A applies to the write destination area of the data specified in the write request in the virtual volume VVOL specified in the write request.
  • the storage tiers ST having unused pages that can store all data to be written an unused page of the storage tier ST set with the highest priority is assigned to the data, and the unused pages are applied.
  • Data to be written is written (SP55).
  • the virtual volume control program 35A sends a write completion notification to the effect that the write processing of the write target data has been completed to the host computer 3 that is the source of the write request (SP56). End and return to page layout processing.
  • each application 16 installed in the host computer 3 a virtual volume VVOL in which the application 16 reads and writes data
  • a policy that associates the storage tier ST to which the page is allocated to the virtual volume VVOL and the priority of the storage tier ST is managed in the virtual volume page allocation policy management table 28, and in response to a write request from the application 16 to the virtual volume VVOL.
  • the storage hierarchy ST to which pages are assigned when the application 16 writes data to the virtual volume VVOL can be limited in advance.
  • the storage apparatus 5 assigns pages from the storage tier ST of the same type to each logical block of the virtual volume VVOL storing the data of the same file, It is possible to prevent a variation in the access performance for each logical block. Thus, stable access performance for the virtual volume VVOL can be realized.
  • the storage device 30 mounted on the storage device 5 has been described.
  • the present invention is not limited to this, and for example, the storage device 30 Alternatively, an optical disk device loaded with an optical disk or a magnetic tape device loaded with a magnetic tape may be applied.
  • the present invention can be widely applied to storage devices having various configurations equipped with a hierarchical data management function.

Abstract

 ストレージ装置における仮想ボリュームの性能安定稼働と、仮想ボリュームに対する安定したアクセス性能との実現を提案する。 性能が異なる複数種別の記憶階層によりプールを構成すると共に、ホスト計算機に対して仮想ボリュームを提供し、仮想ボリュームに対するアプリケーションからのライト要求に応じて、当該仮想ボリュームに対してプールからページを割り当てるストレージ装置において、アプリケーションと、当該アプリケーションがデータを読み書きする仮想ボリュームと、当該仮想ボリュームにページを割り当てる記憶階層及び当該記憶階層の優先度とを関連付けたポリシを管理し、アプリケーションからのライト要求に応じて、対応するポリシに従って、対応する仮想ボリュームに関連付けられた記憶階層のうち、より優先度が高い記憶階層から当該仮想ボリュームにページを割り当てるようにした。

Description

ストレージ装置及びデータ管理方法
 本発明は、ストレージ装置及びデータ管理方法に関し、例えば階層型データ管理機能が搭載されたストレージ装置に適用して好適なものである。
 従来、ストレージ装置におけるデータ管理方法として、階層型データ管理方法が提案されている(例えば特許文献1)。
 かかる階層型データ管理方法では、性能が異なる複数種類の記憶装置がそれぞれ提供する各記憶領域をそれぞれ異なる種別の記憶階層として管理し、異なる種別の記憶階層によりプールを構成すると共に、ホスト計算機に対して仮想ボリュームを提供し、仮想ボリュームに対するホスト計算機からのライト要求に応じて、当該仮想ボリュームに対してプールから記憶領域を動的に割り当て、割り当てた記憶領域に書込み対象のデータを格納する。
 また、かかる階層型データ管理方法では、この後、仮想ボリュームに書き込まれた各データに対するホスト計算機からのアクセス頻度を管理し、アクセス頻度が大きいデータについては、高速及び高性能の記憶階層(高速及び高性能の記憶装置の記憶領域からなる記憶階層)が提供する記憶領域に移行させ、アクセス頻度が小さいデータについては、低速及び低性能の記憶階層(低速及び低性能の記憶装置の記憶領域からなる記憶階層)が提供する記憶領域に移行させる。
米国特許出願公開第2005/055603号明細書
 ところが、特許文献1に開示された従来の階層型データ管理方法では、ホスト計算機に実装され、実際に仮想ボリュームにデータを読み書きするアプリケーションの重要度については何らの考慮もされておらず、データに対するホスト計算機(アプリケーション)からのアクセス頻度にのみ基づいて、仮想ボリュームにおけるそのデータが書き込まれた領域に記憶領域を割り当てるべき記憶階層を決定していた。
 このため、かかる従来の階層型データ管理方法によると、重要度が低いアプリケーションのデータに対して高速及び高性能な記憶階層(以下、これを高性能記憶階層と呼ぶ)から記憶領域が割り当てられるため、その結果として高性能記憶階層の記憶領域が枯渇し、重要度の高いアプリケーションのデータに対して高性能記憶階層から記憶領域を割り当てられなくなることがあった。
 また、かかる従来の階層型データ管理方法によると、記憶階層から仮想ボリュームへの記憶領域の割り当ては所定大きさ単位(以下、これをページと呼ぶ)で行われるが、同一ファイルのデータが複数ページに渡って格納される場合に、異なる記憶階層からページが割り当てられる可能性がある。このような場合、同じファイル内の個々のデータ部位に対するアクセス性能がばらつくことになり、かかるデータに対する安定したアクセスを行い得ない問題があった。
 本発明は以上の点を考慮してなされたもので、仮想ボリュームの性能安定稼働を実現し得るストレージ装置及びデータ管理方法を提案しようとするものである。
 かかる課題を解決するため本発明においては、ストレージ装置において、性能が異なる複数種類の記憶装置と、前記複数種類の記憶装置がそれぞれ提供する各記憶領域をそれぞれ異なる種別の記憶階層として管理し、複数の異なる種別の記憶階層によりプールを構成すると共に、ホスト計算機に対して仮想ボリュームを提供し、前記仮想ボリュームに対する前記ホスト計算機に実装されたアプリケーションからのライト要求に応じて、当該仮想ボリュームに対して前記プールから記憶領域を所定大きさのページ単位で割り当て、割り当てた前記ページに書込み対象のデータを格納するコントローラとを設け、前記コントローラは、前記アプリケーションと、当該アプリケーションがデータを読み書きする前記仮想ボリュームと、当該仮想ボリュームに前記ページを割り当てる前記記憶階層及び当該記憶階層の優先度とを関連付けたポリシを管理し、前記仮想ボリュームに対する対応する前記アプリケーションからのライト要求に応じて、対応する前記ポリシに従って、当該仮想ボリュームに関連付けられた前記記憶階層のうち、より前記優先度が高い記憶階層から当該仮想ボリュームに前記ページを割り当てるようにした。
 また本発明においては、性能が異なる複数種類の記憶装置と、前記複数種類の記憶装置がそれぞれ提供する各記憶領域をそれぞれ異なる種別の記憶階層として管理し、複数の異なる種別の記憶階層によりプールを構成すると共に、ホスト計算機に対して仮想ボリュームを提供し、前記仮想ボリュームに対する前記ホスト計算機に実装されたアプリケーションからのライト要求に応じて、当該仮想ボリュームに対して前記プールから記憶領域を所定大きさのページ単位で割り当て、割り当てた前記ページに書込み対象のデータを格納するコントローラとを有するストレージ装置におけるデータ管理方法において、前記コントローラが、前記アプリケーションと、当該アプリケーションがデータを読み書きする前記仮想ボリュームと、当該仮想ボリュームに前記ページを割り当てる前記記憶階層及び当該記憶階層の優先度とを関連付けたポリシを管理する第1のステップと、前記コントローラが、前記仮想ボリュームに対する対応する前記アプリケーションからのライト要求に応じて、対応する前記ポリシに従って、当該仮想ボリュームに関連付けられた前記記憶階層のうち、より前記優先度が高い記憶階層から当該仮想ボリュームに前記ページを割り当てる第2のステップとを設けるようにした。
 本発明によれば、アプリケーションごとに、そのアプリケーションが仮想ボリュームにデータを書き込んだときにページを割り当てる記憶階層を予め限定することができるため、例えば重要度が高いアプリケーションに対しては性能が高い記憶階層を関連付けておくことによって、かかるアプリケーションが仮想ボリュームにデータを書き込む際に、常に性能が高い記憶階層からページが割り当てられるようにすることができる。かくするにつき、仮想ボリュームの性能安定稼働を実現することができる。
本実施の形態による計算機システムの全体構成を示すブロック図である。 ホスト計算機の概略構成を示すブロック図である。 管理計算機の概略構成を示すブロック図である。 ストレージ装置の概略構成を示すブロック図である。 ストレージ装置の論理構成を示す概念図である。 装置テーブルの説明に供する概念図である。 仮想ボリュームページ割当てポリシ管理テーブルの説明に供する概念図である。 データ/ページマッピング管理テーブルの説明に供する概念図である。 仮想ボリューム管理テーブルの説明に供する概念図である。 仮想ボリュームページ割当て管理テーブルの説明に供する概念図である。 仮想ボリュームプール管理テーブルの説明に供する概念図である。 記憶階層管理テーブルの説明に供する概念図である。 仮想ボリュームページ割当てポリシ設定画面の概略構成を示す略線図である。 データ/ページマッピング設定画面の概略構成を示す略線図である。 仮想ボリュームページ割当てポリシ設定処理の処理手順を示すフローチャートである。 データ/ページマッピング設定処理の処理手順を示すフローチャートである。 ページ配置処理の処理手順を示すフローチャートである。 ページ再配置処理の処理手順を示すフローチャートである。 強制再配置処理の処理手順を示すフローチャートである。 ライト処理の処理手順を示すフローチャートである。
 以下図面について、本発明の一実施の形態を詳述する。
(1)本実施の形態による計算機システムの構成
 図1において、1は全体として本実施の形態による計算機システムを示す。この計算機システム1は、管理用ネットワーク2を介して相互に接続された複数のホスト計算機3と、管理計算機4と、ストレージ装置5とを備え、各ホスト計算機3及びストレージ装置5がSAN(Storage Area Network)等のデータ用ネットワーク6を介して接続されることにより構成されている。
 ホスト計算機3は、図2に示すように、プロセッサ10やメモリ11等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。ホスト計算機3は、例えばキーボード、スイッチ、ポインティングデバイス及び又はマイクロフォン等の入力部12と、例えばモニタディスプレイ及び又はスピーカ等の出力部13とを備えており、I/Oポート14を介してデータ用ネットワーク6に接続され、管理ポート15を介して管理用ネットワーク2に接続されている。ホスト計算機3のメモリ11には、各種のアプリケーション16が格納される。
 管理計算機4は、図3に示すように、プロセッサ20やメモリ21等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション又はメインフレームなどから構成される。管理計算機4は、ホスト計算機3と同様に、例えばキーボード、スイッチ、ポインティングデバイス及び又はマイクロフォン等の入力部22と、例えばモニタディスプレイ及び又はスピーカ等の出力部23とを備えており、管理ポート24を介して管理用ネットワーク2に接続されている。管理計算機4のメモリ21には、後述する仮想ボリュームページ割当てポリシ設定プログラム25及びデータ/ページマッピング設定プログラム26と、装置テーブル27、仮想ボリュームページ割当てポリシ管理テーブル28及びデータ/ページマッピング管理テーブル29とが格納される。
 ストレージ装置5は、図4に示すように、1又は複数の記憶装置30と、コントローラ31及びメモリ32等の情報処理資源とを備えて構成され、管理ポート33を介して管理用ネットワーク2に接続されると共に、I/Oポート34を介してデータ用ネットワーク6に接続されている。
 記憶装置30は、例えばSSD(Solid State Drive)などの半導体メモリと、FC(Fibre Chanel)ディスクやSAS(Serial Attached SCSI)ディスクなどの高価・高性能なディスク装置及びSATA(Serial AT Attachment)ディスクなどの安価・低性能なディスク装置となどから構成される。
 コントローラ31は、ストレージ装置5全体の動作制御を司るプロセッサである。メモリ32に格納されたマイクロプログラム35をコントローラ31が実行することにより、ストレージ装置5全体として各種処理が行われる。
 メモリ32は、ストレージ装置5の起動時に記憶装置30から読み出されたマイクロプログラム35や制御情報を保持するために用いられるほか、コントローラ31のワークメモリや、記憶装置30に読み書きされるデータを一時的に記憶するメモリとしても用いられる。後述する仮想ボリューム管理テーブル36、仮想ボリュームページ割当て管理テーブル37、仮想ボリュームプール管理テーブル38、記憶階層管理テーブル39、仮想ボリュームページ割当てポリシ管理テーブル40及びデータ/ページマッピング管理テーブル41もこのメモリ32に格納されて保持される。
 図5は、ストレージ装置5の論理構成を示す。本ストレージ装置5では、同一種別(SSD、FC又はSATAなど)の1又は複数の記憶装置30によりパリティグループPGが定義され、1つのパリティグループPGを構成する1又は複数の記憶装置30が提供する記憶領域上に1又は複数のプールボリュームPVOLが定義される。また同一種別のパリティグループPG上に定義された1又は複数のプールボリュームPVOLにより1つの記憶階層STが定義され、異なる種別の複数の記憶階層ST(記憶領域を提供する記憶装置30の種別が異なる複数の記憶階層ST)により1つの仮想ボリュームプールVVPが定義される。
 この場合、SSD、FCハードディスク装置及びSATAハードディスク装置の中では、SSDが最も信頼性及び応答性能が高く、SATAハードディスク装置が最も信頼性及び応答性能が低い。従って、図5の例の場合では、仮想ボリュームプールVVPを構成する各記憶階層STのうち、SSDが提供する記憶領域から構成される記憶階層STの信頼性及び応答性能が最も高く、FCハードディスク装置が提供する記憶領域から構成される記憶階層STの信頼性及び応答性能がその次に高く、SATAハードディスク装置が提供する記憶領域から構成される記憶階層STの信頼性及び応答性能が最も低ことが分かる。
 一方、ストレージ装置5内には、1又は複数の仮想的な論理ボリュームである仮想ボリュームVVOLが定義され、この仮想ボリュームVVOLがホスト計算機3に提供される。各仮想ボリュームVVOLには、それぞれ固有の識別子(以下、これをLUN(Logical Unit number)と呼ぶ)が付与される。また仮想ボリュームVVOL内の領域は、所定大きさのブロック(以下、これを論理ブロックと呼ぶ)に分割され、これら論理ブロックにそれぞれ固有の番号(LBA:Logical Block Address)が付与される。そしてホスト計算機3から仮想ボリュームVVOLに対するデータの読み書きは、LUNと、LBAとを組み合わせたものをアドレスとして、当該アドレスを指定した論理ブロック単位で行われる。
 各仮想ボリュームVVOLは、それぞれストレージ装置5内に定義されたいずれか1つの仮想ボリュームプールVVPと対応付けられる。そして仮想ボリュームVVOLに対するデータのライト要求がホスト計算機3からストレージ装置5に与えられた場合、そのライト要求において指定された仮想ボリュームVVOL内のそのライト要求において指定された論理ブロックに記憶領域が割り当てられていない場合には、その仮想ボリュームVVOLと対応付けられた仮想ボリュームプールVVPから必要量の記憶領域がページと呼ばれる所定大きさ単位でその論理ブロックに割り当てられる。
 ここで、ページは、仮想ボリュームプールVVPを構成する記憶階層STから対応する仮想ボリュームVVOLに割り当てられる記憶領域の基本単位である。以下においては、1つのページと、仮想ボリュームVVOLの1つの論理ブロックとは、同じ大きさであるものとする。従って、本実施の形態の場合、仮想ボリュームVVOLの1つの論理ブロックに対して1つのページが仮想ボリュームプールVVPから割り当てられることになる。そしてホスト計算機3からのデータは、ライト要求において指定された仮想ボリュームVVOL内のそのライト要求において指定された論理ブロックに割り当てられたページに書き込まれ、これ以降、その論理ブロックに対するデータの読み書きは、結果的にそのページに対して行われることになる。
 他方、ストレージ装置5は、上述のような仮想ボリュームVVOLに対するページの割当て処理と並行して、仮想ボリュームVVOLの各論理ブロックに対する単位時間当たりのホスト計算機3からのアクセス頻度を監視する。そしてストレージ装置5は、単位時間当たりのアクセス頻度に応じて、定期的に又は不定期に、仮想ボリュームVVOLの論理ブロックにページを割り当てる記憶階層STを必要に応じて他の記憶階層STに変更(再割当て)するデータ再配置処理を実行する。
 具体的に、ストレージ装置5は、単位時間当たりのアクセス頻度に従って、アクセス頻度が高い論理ブロックに対しては、対応する仮想ボリュームプールVVPを構成する記憶階層STのうちのより応答性能及び信頼性が高い記憶階層STからページを割り当て、アクセス頻度が低い論理ブロックに対しては、かかる仮想ボリュームプールVVPを構成する記憶階層STのうちのより応答性能及び信頼性が低い記憶階層STからページを割り当てるように、必要に応じて記憶階層ST間でデータを移行(移動)させるよう対応する記憶装置30を制御する。
(2)本実施の形態による階層型データ管理方式
 次に、計算機システム1に採用された本実施の形態による階層型データ管理方式について説明する。
 本実施の形態によるストレージ装置5においては、アプリケーション16ごとに、そのアプリケーション16がデータを読み書きする仮想ボリュームVVOLと、その仮想ボリュームVVOLにページを割り当てる1又は複数の記憶階層STと、これらの記憶仮想ST内における各記憶階層STの優先度(優先順位)とをそのアプリケーション16に関するポリシ(以下、これを仮想ボリュームページ割当てポリシと呼ぶ)として設定できる点を特徴の1つとしている。
 そして、ストレージ装置5は、ホスト計算機3に実装されたアプリケーション16から仮想ボリュームVVOLに対するデータのライト要求が与えられたときや、データ再配置処理を実行するときには、かかる仮想ボリュームページ割当てポリシに従って、仮想ボリュームVVOLにおけるデータが書き込まれる又は書き込まれた論理ブロックに対して、その仮想ボリュームVVOL(正確には対応するアプリケーション16)に対応付けられた1又は複数の記憶階層STのうち、ページの割り当てが可能で、かつ優先度がより高い(優先順位が高い)記憶階層STからページを割り当て又は再割当てする。
 また計算機システム1においては、この際、同じファイルのデータについては、仮想ボリュームVVOLにおけるそのデータが書き込まれる又は書き込まれた論理ブロックに対して、同じ種別の記憶階層STからページを割り当てる点をもう1つの特徴としている。
 このためストレージ装置5は、例えばあるアプリケーション16が同一ファイルのデータを仮想ボリュームVVOL内の複数の論理ブロックに書き込む場合や、データ再配置処理を実行する場合には、その仮想ボリュームVVOLに対応付けられた記憶階層STのうち、必要数のページの割り当てが可能で、かつ優先度がより高い記憶階層STからページを割り当て又は再割当てする。
 以上のような本実施の形態によるデータ管理方式を実現するための手段として、管理計算機4のメモリ21には、図3に示すように、仮想ボリュームページ割当てポリシ設定プログラム25、データ/ページマッピング設定プログラム26、装置テーブル27、仮想ボリューム割当てポリシ管理テーブル28、データ/ページマッピング管理テーブル29が格納されている。
 仮想ボリュームページ割当てポリシ設定プログラム25は、ホスト計算機3に実装された仮想ボリュームVVOLごとの仮想ボリュームページ割当てポリシを作成するためのGUI(Graphical User Interface)画面(以下、これを仮想ボリュームページ割当てポリシ設定画面と呼ぶ)をシステム管理者に提示し、この仮想ボリュームページ割当てポリシ設定画面を用いてシステム管理者等が作成した仮想ボリュームページ割当てポリシをストレージ装置5に設定するプログラムである。
 またデータ/ページマッピング設定プログラム26は、アプリケーション16により仮想ボリュームVVOLに書き込まれるデータと、当該仮想ボリュームVVOLにおけるそのデータを書き込むべき領域に割り当てられるページとの対応関係をシステム管理者が指定するためのGUI画面(以下、これをデータ/ページマッピング設定画面と呼ぶ)をシステム管理者に提示し、このデータ/ページマッピング設定画面を用いてシステム管理者等が指定したかかるデータ及びページの対応関係をストレージ装置5に設定するためのプログラムである。
 装置テーブル27は、管理計算機4が計算機システム1内に存在するホスト計算機3及びストレージ装置5を管理するためのテーブルであり、図6に示すように、装置ID欄27A、装置種別欄27B、装置情報欄27C及びIPアドレス欄27Dから構成される。
 そして装置ID欄27Aには、計算機システム1内に存在するホスト計算機3及びストレージ装置5にそれぞれ付与された識別子(装置ID)が格納され、装置種別欄27Bには、対応する装置の装置種別(ストレージ装置又はホスト計算機)が格納される。
 また装置情報欄27Cには、対応する装置のベンダ名、モデル、シリアル番号等の情報が格納され、IPアドレス欄27Dには、対応する装置にアクセスするときのその装置のIPアドレスが格納される。
 従って、図6では、例えば「ST1」という「ストレージ装置」は、「ベンダA」というベンダの「ベンダA1」というモデルであり、そのシリアル番号は「10」であって、IPアドレスが「10.10.10.10」であることが示されている。
 仮想ボリュームページ割当てポリシ管理テーブル28は、後述の仮想ボリュームページ割当てポリシ設定画面50(図13)を用いてシステム管理者が作成した仮想ボリュームページ割当てポリシを管理計算機4側において管理するためのテーブルであり、図7に示すように、ポリシID欄28A、サーバID欄28B、アプリケーションID欄28C、仮想ボリュームリスト欄28D及び記憶階層配置順位欄28Eから構成される。
 そしてポリシID欄28Aには、対応する仮想ボリュームページ割当てポリシに対して付与された識別子が格納される。またアプリケーション欄28Cには、対応するアプリケーション16の識別子が格納され、サーバID欄28Bには、そのアプリケーション16が実装されたホスト計算機3の識別子が格納される。
 さらに仮想ボリュームリスト欄28Dには、対応するアプリケーション16がデータを読み書きするすべての仮想ボリュームVVOLの識別子が格納され、記憶階層配置順位欄28Eには、これらの仮想ボリュームVVOLにデータが書き込まれた場合にページを割り当てるべき1又は複数の記憶階層STが優先度の高い順に並べて格納される。
 従って、図7では、「Policy1」という仮想ボリュームページ割当てポリシは、「H1」というホスト計算機3に実装された「AP1」というアプリケーション16についての規定であり、この仮想ボリュームページ割当てポリシでは、そのアプリケーション16がデータを読み書きする「v101」や「v102」という仮想ボリュームVVOLに対しては、「Tier0」、「Tier1」及び「Tier2」という3つの記憶階層STがこの順番の優先度で対応付けられていることが示されている。
 データ/ページマッピング管理テーブル29は、後述のデータ/ページマッピング設定画面60(図14)を用いてシステム管理者が指定したデータ及びページの対応関係を管理計算機4側において管理するためのテーブルであり、図8に示すように、マッピングID欄29A、アプリケーションID欄29B、データID欄29C、仮想ボリュームID欄29D及び対応ページ欄29Eから構成される。
 そしてマッピングID欄29Aには、対応するデータ及びページの対応関係に対して付与された識別子が格納される。またアプリケーションID欄29Bには、対応するアプリケーション16の識別子が格納され、データID欄29Cには、対応するアプリケーション16のデータに付与されたそのデータの識別子が格納される。さらに仮想ボリュームID欄29Dには、そのデータが格納されるべき仮想ボリュームVVOLの識別子が格納され、対応ページ欄29Eには、その仮想ボリュームVVOLにおけるそのデータが格納される全論理ブロックにそれぞれ割り当てられた各ページの識別子がそれぞれ格納される。
 従って、図8では、「AP1」というアプリケーション16が使用する「データ1a」というデータは、「VOL1」という仮想ボリュームVVOL内の「p01」及び「p02」というページがそれぞれ割り当てられた2つの論理ブロックに格納され、このときの「データ1a」というデータと「p01」及び「p02」というページとの対応関係に「Map01」という識別子が付与されていることが示されている。
 他方、上述のような本実施の形態によるデータ管理方式を採用するための手段として、図4に示すように、ストレージ装置5のメモリ32に格納されたマイクロプログラム35には仮想ボリューム制御プログラム35Aが設けられると共に、このメモリ32には、仮想ボリューム管理テーブル36、仮想ボリュームページ割当て管理テーブル37、仮想ボリュームプール管理テーブル38、記憶階層管理テーブル39、仮想ボリュームページ割当てポリシ管理テーブル40及びデータ/ページマッピング管理テーブル41が格納されている。
 このうちストレージ装置5の仮想ボリューム制御プログラム35Aは、各アプリケーション16からの仮想ボリュームVVOLに対するデータ書込みに応じて、予め定められた上述の仮想ボリュームページ割当てポリシに従って仮想ボリュームVVOLに仮想ボリュームプールVVP(図5)からページを割り当てるなどの処理を実行するプログラムである。
 また仮想ボリューム管理テーブル36は、仮想ボリューム制御プログラム35Aが自ストレージ装置5内に定義された仮想ボリュームVVOLを管理するために使用するテーブルであり、図9に示すように、仮想ボリュームID欄36A、ホスト割当て状態欄36B、仮想容量欄36C、閾値欄36D及び割当て済容量欄36Eから構成される。
 そして仮想ボリュームID欄36Aには、当該仮想ボリューム管理テーブル36を備えるストレージ装置5内に定義された各仮想ボリュームVVOLの識別子が格納される。またホスト割当て状態欄36Bには、対応する仮想ボリュームVVOLに対してデータの書込み先としていずれかのホスト計算機3が割り当てられているか否かの情報(割り当てられている場合には「Allocated」、割り当てられていない場合には「Unallocated」)が格納される。なおその仮想ボリュームVVOLにホスト計算機3が割り当てられている場合、ホスト割当て状態欄36Bには、その仮想ボリュームVVOLと接続されたそのホスト計算機3のポートのポートID(「PID」)及びそのホスト計算機3におけるその仮想ボリュームVVOLの識別番号(「LUN」)が格納される。
 また仮想容量欄36Cには、対応する仮想ボリュームVVOLの容量が格納され、閾値欄36Dには、その仮想ボリュームVVOLについて予め設定された使用容量の閾値が格納される。対応する仮想ボリュームVVOLの使用容量がこの閾値を超えた場合には、その旨の警告がシステム管理者に通知されることになる。さらに割当て済容量欄36Eには、対応する仮想ボリュームVVOLの現在の使用容量が格納される。
 従って、図9では、例えば「v101」という仮想ボリュームVVOLは、容量が「10GB」、閾値が「6GB」に設定されており、既にいずれかのホスト計算機3が割り当てられ(「Allocated」)、そのホスト計算機3により「6GB」の容量が使用されていることが示されている。
 仮想ボリュームページ割当て管理テーブル37は、仮想ボリューム制御プログラム35Aが自ストレージ装置5内に定義された仮想ボリュームVVOLに対するページの割当て状況等を管理するために使用するテーブルであり、図10に示すように、仮想ボリュームID欄37A、プールID欄37B、割当て済LBA欄37C、割当て済ページ欄37D及びI/O頻度欄37Eから構成される。
 そして仮想ボリュームID欄37Aには、当該仮想ボリュームページ割当て管理テーブル37を備えるストレージ装置5内に定義された各仮想ボリュームVVOLの識別子が格納され、プールID欄37Bには、対応する仮想ボリュームVVOLに対してページを割り当てるべき割当て元として対応付けられた仮想ボリュームプールVVPの識別子が格納される。
 また割当て済LBA欄37Cには、対応する仮想ボリュームVVOL内の論理ブロックのうちの既にページが割り当てられている論理ブロックのLBAが格納され、割当て済ページ欄37Dには、当該論理ブロックに対して割り当てられたページの識別子が格納される。さらにI/O頻度欄37Eには、対応するページに格納されたデータに対するホスト計算機3からの単位時間当たりのI/O頻度が格納される。
 従って、図10では、「v101」という仮想ボリュームVVOLには「Pool1」というプールIDの仮想ボリュームプールVVPが対応付けられており、その仮想ボリュームVVOLのうちのLBAが「[0GB]-[2GB]」、「[2GB]-[4GB]」及び「[4GB]-[6GB]」の論理ブロックにそれぞれ識別子が「p01」、「p02」及び「p03」のページが割り当てられており、これら識別子が「p01」、「p02」及び「p03」のページにそれぞれ格納されているデータに対するホスト計算機3からの単位時間当たりのアクセス頻度が「100」、「200」及び「80」であることが示されている。
 仮想ボリュームプール管理テーブル38は、仮想ボリューム制御プログラム35Aが自ストレージ装置5内に定義された仮想ボリュームプールVVPを管理するために使用するテーブルであり、図11に示すように、プールID欄38A、ページID欄38B、対応仮想ボリュームプール欄38C、LBA欄38D及び仮想ボリューム割当て状態欄38Eから構成される。
 そしてプールID欄38Aには、当該仮想ボリュームプール管理テーブル38を備えるストレージ装置5内に定義された各仮想ボリュームプールVVPの識別子が格納され、ページID欄38Bには、対応する仮想ボリュームプールVVP内の各ページにそれぞれ付与された識別子が格納される。また対応仮想ボリュームプール欄38Cには、対応する仮想ボリュームプールVVP内の対応するページを提供するプールボリュームPVOL(図5)の識別子及び容量が格納される。
 さらにLBA欄38Dには、対応するプールボリュームPVOLにおける対応するページのLBAが格納され、仮想ボリューム割当て状態欄38Eには、対応するページがいずれかの仮想ボリュームVVOLに割り当てられているか否かを表す情報(割り当てられている場合には「Allocated」、割り当てられていない場合には「Unallocated」)と、割り当てられている場合には割当て先の仮想ボリュームVVOLの識別子とが格納される。
 従って、図11の例では、「pool1」という仮想ボリュームプールVVPの「p01」~「p05」というページは、「v201」という「10GB」の容量を有するプールボリュームPVOLが提供しており、これらのページのうちのLBAが「[0GB]-[2GB]」の記憶領域は、既に「v101」という仮想ボリュームVVOLに割り当てられている(「Allocated」)ことが示されている。
 記憶階層管理テーブル39は、仮想ボリューム制御プログラム35Aが自ストレージ装置5内に定義された記憶階層STを管理するために使用するテーブルであり、図12に示すように、記憶階層ID欄39A、パリティグループID欄39B、対応記憶装置欄39C、メディア種別欄39D及びプールボリュームID欄39Eから構成される。
 そして記憶階層ID欄39Aには、当該記憶階層管理テーブル39を備えるストレージ装置5内に定義された各記憶階層STの識別子が格納され、パリティグループID欄39Bには、対応する記憶階層STを構成するパリティグループPGの識別子が格納される。また対応記憶装置欄39Cには、対応するパリティグループPGを構成する各記憶装置30の識別子がすべて格納され、メディア種別欄39Dには、これらの記憶装置30の種別(SSD、FC又はSATAなど)が格納される。さらにプールボリュームID欄39Eには、対応する記憶階層STを構成するプールボリュームPVOLの識別子が格納される。
 従って、図12では、「Tier0」という記憶階層STは、「v201」というプールボリュームPVOLから構成され、このプールボリュームPVOLは、種別が「SSD」である「a0」、「a1」、「a2」及び「a3」という4つの記憶装置30から構成される「PG01」というパリティグループPGが提供する記憶領域上に定義されていることが示されている。
 仮想ボリューム割当てポリシ管理テーブル40は、システム管理者により作成された上述の仮想ボリューム割当てポリシをストレージ装置5側において管理するためのテーブルであり、管理計算機4の仮想ボリューム割当てポリシ管理テーブル28と同様の構成を有するものであるため、ここでの説明は省略する。
 またデータ/ページマッピング管理テーブル41も、上述のようにシステム管理者が指定したデータとページとの対応関係を管理計算機4側において管理するためのテーブルであり、管理計算機4のデータ/ページマッピング管理テーブル29と同様の構成を有するものであるため、ここでの説明は省略する。
(3)各種画面構成
(3-1)仮想ボリュームページ割当てポリシ設定画面
 図13は、管理計算機4の仮想ボリュームページ割当てポリシ設定プログラム25(図3)を起動することにより管理計算機4に表示される仮想ボリュームページ割当てポリシ設定画面50の画面構成を示す。
 仮想ボリュームページ割当てポリシ設定画面50は、上述のようにアプリケーション16がデータを読み書きする仮想ボリュームVVOLに対してどの記憶階層STからどのような優先度でページを割り当てるべきかをシステム管理者が設定するためのGUI画面であり、図13に示すように、ポリシIDフィールド51、サーバIDフィールド52、アプリケーションIDフィールド53及び仮想ボリュームリストフィールド54と、記憶階層配置順位部55と、ポリシ設定ボタン56とから構成される。
 このうちポリシIDフィールド51は、そのとき設定しようとする仮想ボリュームページ割当てポリシの識別子をシステム管理者等が指定(入力)するためのフィールドであり、アプリケーションIDフィールド53及びサーバIDフィールド52は、それぞれそのとき対象としているアプリケーション16の識別子及びそのアプリケーション16が実装されたホスト計算機3の識別子を指定するためのフィールドである。また仮想ボリュームリストフィールド54は、そのアプリケーション16がデータを読み書きする仮想ボリュームVVOLの識別子を指定するためのフィールドである。
 記憶階層配置順位部55、アプリケーションIDフィールド53に入力されたアプリケーション16が仮想ボリュームVVOLにデータを書き込む際にページを割り当てる記憶階層ST及びこれらの優先度を規定するためのフィールドであり、第一優先フィールド55A、第二優先フィールド55B及び第三優先フィールド55Cから構成される。システム管理者等は、かかるアプリケーション16が仮想ボリュームVVOLにデータを書き込む際にページを割り当てる記憶階層STとして希望する記憶階層STを、優先度が高い順に第一優先フィールド55A、第二優先フィールド55B及び第三優先フィールド55Cにその識別子を入力することにより指定することができる。
 ただし、これら第一優先フィールド55A、第二優先フィールド55B及び第三優先フィールド55Cのすべてに記憶階層STの識別子を入力する必要はなく、第一優先フィールド55A、第二優先フィールド55B及び第三優先フィールド55Cのうちの一部にのみ記憶階層STの識別子を入力するようにしても良い。このようにすることにより、対応するアプリケーション16が仮想ボリュームVVOLにデータを書き込む際にページを割り当てる記憶階層STをより限定することができる。例えば第一優先フィールド55Aに「Tier0」、第二優先フィールド55Bに「Tier1」をそれぞれ入力し、第三優先フィールド55Cを空欄とすることにより、対応するアプリケーション16が仮想ボリュームVVOLにデータを書き込んだときにページを割り当てる記憶階層STを「Tier0」及び「Tier1」の2つの記憶階層STのみに限定することができる。
 ポリシ設定ボタン56は、ポリシIDフィールド51、サーバIDフィールド52、アプリケーションIDフィールド53及び仮想ボリュームリストフィールド54と、記憶階層配置順位部55とにそれぞれ入力した内容の仮想ボリュームページ割当てポリシをストレージ装置5に設定するためのボタンである。仮想ボリュームページ割当てポリシ設定プログラム25は、ポリシIDフィールド51、サーバIDフィールド52、アプリケーションIDフィールド53及び仮想ボリュームリストフィールド54と、記憶階層配置順位部55とにそれぞれ必要事項が入力された後にポリシ設定ボタン56がクリックされると、この仮想ボリュームページ割当てポリシ設定画面50においてシステム管理者が入力した内容を、設定コマンドと共にストレージ装置5に転送する。そしてストレージ装置5は、かかる設定コマンドを入力すると、この設定コマンドと共に与えられた仮想ボリュームページ割当てポリシ設定画面50における設定内容を内部的に設定する。
 なお、仮想ボリュームページ割当てポリシの識別子については、システム管理者が仮想ボリュームページ割当てポリシ設定画面50において指定するのではなく、例えば、仮想ボリュームページ割当てポリシ設定プログラム25が所定のルールに従って採番するようにしても良い。
 また仮想ボリュームページ割当てポリシ設定画面50において、仮想ボリュームリストフィールド54に対応する仮想ボリュームVVOLの識別子を入力した場合には、サーバIDフィールド52やアプリケーションIDフィールド53への入力を省略できるようにしても良い。これは、アプリケーション16に対して記憶階層ST及びこれらの優先度を設定しても、ストレージ装置5側では、仮想ボリュームVVOLにデータを書き込んだアプリケーション16を特定することができず、結局、ストレージ装置5は、どの仮想ボリュームVVOLのどの論理ブロックにデータが書き込まれた場合には、どの記憶階層STからどの優先度でページを割り当てるかという処理しかできないからである。
 また記憶階層配置順位部55において、記憶階層STの優先順位をディスク種別やパリティグループPGの識別子によって指定するようにしても良い。
(3-2)データ/ページマッピング設定画面
 一方、図14は、管理計算機4のデータ/ページマッピング設定プログラム26(図3)を起動することにより管理計算機4に表示されるデータ/ページマッピング設定画面60の画面構成を示す。
 データ/ページマッピング設定画面60は、上述のようにホスト計算機3に実装されたアプリケーション16により仮想ボリュームVVOLに書き込まれるデータと、当該仮想ボリュームVVOLにおけるそのデータが書き込まれるべき領域(仮想ボリュームVVOLのページ)との対応関係を設定するためのGUI画面であり、図14に示すように、マッピングIDフィールド61、サーバIDフィールド62、アプリケーションIDフィールド63、仮想ボリュームIDフィールド64、データIDフィールド65、データ名フィールド66及びデータアドレスフィールド67と、データアドレス確認ボタン68及びマッピング設定ボタン69から構成される。
 このうちマッピングIDフィールド61は、対応付けたデータ及びページに付与する識別子をシステム管理者が指定(入力)するためのフィールドであり、アプリケーションIDフィールド63及びサーバIDフィールド62は、それぞれ対応するアプリケーション16の識別子及びそのアプリケーション16が実装されたホスト計算機3の識別子を指定するためのフィールドである。
 また仮想ボリュームIDフィールド64は、そのアプリケーション16がデータを読み書きする仮想ボリュームVVOLの識別子を指定するためのフィールドであり、データIDフィールド65は、かかるアプリケーション16がかかる仮想ボリュームVVOLに書き込むデータの識別子を指定するためのフィールドである。またデータ名フィールド66は、そのデータのデータ名(例えばファイル名)を指定するためのフィールドである。
 さらにデータアドレスフィールド67は、システム管理者が予め調べた、かかる仮想ボリュームVVOLにおけるかかるデータが書き込まれた領域の範囲を指定するためのフィールドである。ただし、この範囲は、後述のように、データ名をデータ名フィールド66に入力後、データアドレス確認ボタン68をクリックすることによってデータアドレスフィールド67に表示させることができる。
 データアドレス確認ボタン68は、かかる仮想ボリュームVVOLにおけるかかるデータが書き込まれた領域の範囲をデータ/ページマッピング設定プログラム26に調査させるためのボタンである。データ/ページマッピング設定プログラム26は、サーバIDフィールド62に対応するホスト計算機3の識別子が入力されると共にデータ名フィールド66にデータ名が入力された後にデータアドレス確認ボタン68がクリックされると、そのデータのアドレスを調査するためのコマンドを、サーバIDフィールド52に識別子が格納されたホスト計算機3に発行し、かくして得られたアドレスをデータアドレスフィールド67に表示する。
 またマッピング設定ボタン69は、このデータ/ページマッピング設定画面60において設定されたデータ及びページの対応関係を設定するためのボタンである。データ/ページマッピング設定プログラム26は、サーバIDフィールド62、アプリケーションIDフィールド63、仮想ボリュームIDフィールド64、データIDフィールド65、データ名フィールド66及びデータアドレスフィールド67に必要事項が入力された後にマッピング設定ボタン69がクリックされると、このデータ/ページマッピング設定画面60においてシステム管理者が入力した内容を設定コマンドと共にストレージ装置5に転送する。そしてストレージ装置5は、かかる設定コマンドを入力すると、この設定コマンドと共に与えられたデータ/ページマッピング設定画面60における設定内容を内部的に設定する。
 なお、マッピングIDについては、システム管理者がデータ/ページマッピング設定画面60において指定するのではなく、例えば、データ/ページマッピング設定プログラム26が所定のルールに従って採番するようにしても良い。
 またデータ/ページマッピング設定画面60において、仮想ボリュームIDフィールド64に対応する仮想ボリュームVVOLの識別子を入力した場合には、サーバIDフィールド62やアプリケーションIDフィールド63への入力を省略できるようにしても良い。 
(4)本実施の形態によるデータ管理方式に関する各種処理
 次に、上述のような本実施の形態によるデータ管理方式に関連する各種処理の処理手順について説明する。なお、以下においては、各種処理の処理主体を「プログラム」として説明するが、実際上は、その「プログラム」に基づいて対応する処理を管理計算機4のプロセッサ20又はストレージ装置5のコントローラ31が実行することは言うまでもない。
(4-1)仮想ボリュームページ割当てポリシ設定処理
 図15は、仮想ボリュームページ割当てポリシ設定画面50(図13)のポリシ設定ボタン56がクリックされたときに管理計計算機4の仮想ボリュームページ割当てポリシ設定プログラム25(図3)により実行される仮想ボリュームページ割当てポリシ設定処理の処理手順を示す。
 仮想ボリュームページ割当てポリシ設定プログラム25は、仮想ボリュームページ割当てポリシ設定画面50上で必要な情報が入力された後に、かかるポリシ設定ボタン56がクリックされると、この図15に示す仮想ボリュームページ割当てポリシ設定処理を開始する。
 そして仮想ボリュームページ割当てポリシ設定プログラム25は、まず、かかる仮想ボリュームページ割当てポリシ設定画面50においてシステム管理者により入力された、対象とするアプリケーション16の識別子や、対応する仮想ボリュームVVOLの識別子、及びそのアプリケーション16に対して指定された記憶階層STの識別子等の各情報を取り込む(SP1)。
 続いて、仮想ボリュームページ割当てポリシ設定プログラム25は、管理計算機4内の仮想ボリュームページ割当てポリシ管理テーブル28(図7)に新たなエントリを作成し、作成したエントリの各欄(ポリシID欄28A、サーバID欄28B、アプリケーションID欄28C、仮想ボリュームリスト欄28D及び記憶階層配置順位欄28F)に、ステップSP1において取り込んだ対応する情報をそれぞれ格納する(SP2)。
 次いで、仮想ボリュームページ割当てポリシ設定プログラム25は、仮想ボリュームページ割当てポリシ管理テーブル28の更新指示を、ステップSP1において取得した新たな仮想ボリュームページ割当てポリシに関する情報と共にストレージ装置5に転送する(SP3)。かくしてストレージ装置5の仮想ボリューム制御プログラム35A(図4)は、かかる更新指示に応じて、当該ストレージ装置5内の仮想ボリュームページ割当てポリシ管理テーブル40(図4)に新たなエントリを作成し、作成したエントリの各欄に、このとき管理計算機4から送信されてきた対応する情報をそれぞれ格納する。
 そして仮想ボリュームページ割当てポリシ設定プログラム25は、この後、この仮想ボリュームページ割当てポリシ設定処理を終了する。
(4-2)データ/ページマッピング設定処理
 一方、図16は、データ/ページマッピング設定画面60(図14)のマッピング設定ボタン69がクリックされたときに管理計計算機4のデータ/ページマッピング設定プログラム26(図3)により実行されるデータ/ページマッピング設定処理の処理手順を示す。
 データ/ページマッピング設定プログラム26は、データ/ページマッピング設定画面60上で必要な情報が入力された後に、かかるポリシ設定ボタン56がクリックされると、この図16に示す仮想ボリュームページ割当てポリシ設定処理を開始する。
 そしてデータ/ページマッピング設定プログラム26は、まず、かかるデータ/ページマッピング設定画面60においてシステム管理者により入力されたアプリケーション16の識別子や、対象とするデータの識別子及びデータ名、並びに対応する仮想ボリュームVVOLにおけるそのデータの格納位置(データドレス)等の各情報を取り込む(SP10)。
 続いて、データ/ページマッピング設定プログラム26は、予め定められた各ページのサイズと、そのとき対象としているデータの仮想ボリュームVVOLにおける格納位置とに基づいて、仮想ボリュームVVOLにおけるそのデータが格納されている領域に割り当てられているすべてのページ(以下、これを関連ページと呼ぶ)を特定する(SP11)。
 次いで、データ/ページマッピング設定プログラム26は、管理計算機4内のデータ/ページマッピング管理テーブル29(図8)に新たなエントリを作成し、作成したエントリの各欄(マッピングID欄29A、アプリケーションID欄29B、データID欄29C、仮想ボリューム欄29D及び対応ページ欄29E)に、ステップSP10において取り込んだ対応する情報をそれぞれ格納する(SP12)。
 さらにデータ/ページマッピング設定プログラム26は、データ/ページマッピング管理テーブル29の更新指示を、ステップSP10において取得した新たなデータ及びページ間の対応関係に関する情報(以下、これをマッピング情報と呼ぶ)と共にストレージ装置5に転送する(SP13)。かくしてストレージ装置5の仮想ボリューム制御プログラム35Aは、かかる更新指示に応じて、当該ストレージ装置5内のデータ/ページマッピング管理テーブル41に新たなエントリを作成し、作成したエントリの各欄に、このとき管理計算機4から送信されてきた対応する情報をそれぞれ格納する。
 そしてデータ/ページマッピング設定プログラム26は、この後、このデータ/ページマッピング設定処理を終了する。
(4-3)ページ配置処理
 図17は、ストレージ装置5の仮想ボリューム制御プログラム35A(図4)により実行されるページ配置処理の処理手順を示す。仮想ボリューム制御プログラム35Aは、この図17に示す処理手順に従って、仮想ボリュームVVOLに対してページを配置又は再配置する。
 すなわち仮想ボリューム制御プログラム35Aは、ストレージ装置5が起動されるとこのページ配置処理を開始し、まず、予め定められたスケジュールにおけるページの再配置を実行すべきタイミングとなったか否か、管理計算機4から強制再配置の実行要求が与えられたか否か、及び、いずれかのホスト計算機3からアクセス要求(ライト要求又はリード要求)が与えられたか否かを順次判断する(SP20~SP23)。
 仮想ボリューム制御プログラム35Aは、これらのいずれの判断においても否定結果を得た場合には、ステップSP20~ステップSP23-ステップSP20のループを繰り返す。
 そして仮想ボリューム制御プログラム35Aは、やがてページの再配置を実行すべきタイミングとなることによりステップSP20において肯定結果を得ると、仮想ボリュームVVOLにおけるデータが格納された論理ブロックにページを割り当てている記憶階層STを、必要に応じて他の記憶階層STに変更するページ再配置処理を実行し(SP24)、この後ステップSP20に戻る。
 また仮想ボリューム制御プログラム35Aは、やがていずれかのホスト計算機3からの強制再配置要求を受信することによりステップSP21において肯定結果を得ると、かかる強制再配置要求において指定されたデータが格納されている仮想ボリュームVVOLの論理ブロックに対して現在の記憶階層STと異なる他の記憶階層STからページを割り当てる強制再配置処理を実行し(SP25)、この後ステップSP20に戻る。
 一方、仮想ボリューム制御プログラム35Aは、やがていずれかのホスト計算機3からのアクセス要求を受信することによりステップSP23において肯定結果を得ると、そのアクセス要求がリード要求であるか否かを判断する(SP26)。
 そして仮想ボリューム制御プログラム35Aは、この判断において肯定結果を得ると、そのリード要求において指定されたデータを対応する仮想ボリュームVVOLの対応する論理ブロックから(正確には対応する記憶階層STを構成する記憶装置30から)読み出し、これをかかるリード要求の送信元のホスト計算機3に転送した後(SP27)、ステップSP20に戻る。
 これに対して仮想ボリューム制御プログラム35Aは、ステップSP24の判断において否定結果を得ると、そのライト要求においてその書込み対象のデータの書込み先として指定された仮想ボリュームVVOLの論理ブロックに対して、仮想ボリュームページ割当てポリシに従っていずれかの記憶階層STから必要量のページを割り当て、そのページに書込み対象のデータを書き込む(SP28)。そして仮想ボリューム制御プログラム35Aは、この後ステップSP20に戻る。
(4-4)ページ再配置処理
 図18は、図17について上述したページ配置処理のステップSP24において仮想ボリューム制御プログラム35Aにより実行されるページ再配置処理の具体的な処理手順を示す。
 本計算機システム1では、仮想ボリュームVVOL内のデータの書き込みが行われた論理ブロックに対するページの割当て元を現在の記憶階層STから他の記憶階層STに変更するページ再配置処理を、スケジュールにより定期的又は不定期に実行させることができる。
 実際上、ユーザやシステム管理者は、ホスト計算機3又は管理計算機4を操作することにより、かかるスケジュールを作成し、これをストレージ装置5に設定することができる。そしてストレージ装置5の仮想ボリューム制御プログラム35Aは、かかるスケジュールを常時監視しており、やがてページ再配置処理を実行すべきタイミングとなることによりページ配置処理(図17)のステップSP26に進むと、この図18に示すページ再配置処理を開始する。
 そして仮想ボリューム制御プログラム35Aは、このページ再配置処理を開始すると、まず、仮想ボリュームページ割当て管理テーブル37(図10)を参照して、ストレージ装置5内に定義されたいずれかの仮想ボリュームVVOLに割り当てられている全ページを、そのページに格納されたデータに対するホスト計算機3からのI/O頻度の降順でソートする(SP30)。
 続いて、仮想ボリューム制御プログラム35Aは、ステップSP30においてソートした割当て済のページの中から、そのページに格納されたデータに対するホスト計算機3からのI/O頻度が最も高いページを1つ選択する(SP31)。
 次いで、仮想ボリューム制御プログラム35Aは、データ/ページマッピング管理テーブル41(図4)を参照して、ステップSP31において選択したページに格納されているデータと同じファイルのデータが格納されているすべてのページ(ステップSP31において選択したページの全関連ページ)を特定する(SP32)。
 さらに仮想ボリューム制御プログラム35Aは、仮想ボリュームページ割当てポリシ管理テーブル40及び仮想ボリュームプール管理テーブル38を参照して、ステップSP31において選択したページに格納されているデータと、ステップSP32において特定した各関連ページにそれぞれ格納されているデータとについて、そのデータに対してページの割り当てが許可された記憶階層STのうち、最も優先順位が高く、かつステップSP31において選択したページに格納されているデータと、ステップSP32において特定した各関連ページにそれぞれ格納されているデータとのすべてを格納できる記憶階層STを特定する(SP33)。
 この後、仮想ボリューム制御プログラム35Aは、ステップSP31~ステップSP33の処理を、ステップSP30においてソートしたすべてのページについて実行し終えたか否かを判断する(SP34)。
 仮想ボリューム制御プログラム35Aは、この判断において否定結果を得るとステップSP31に戻り、この後、ステップSP34において肯定結果を得るまでステップSP31~ステップSP34の処理を繰り返す。
 そして仮想ボリューム制御プログラム35Aは、やがてステップSP30においてソートしたすべてのページに対するステップSP31~ステップSP33の処理を実行し終えることによりステップSP34において肯定結果を得ると、ステップSP33において特定した記憶階層STが現在の記憶階層STと異なるデータについて、現在の記憶階層STからステップSP33において特定した記憶階層STにデータを移行(移動)させると共に、これに応じてデータ/ページマッピング管理テーブル41を更新する(SP35)。これにより、仮想ボリュームVVOLの論理ブロックに対してページを割り当てる記憶階層STを他の記憶階層STに切り替えるページの再配置が行われる。
 そして仮想ボリューム制御プログラム35Aは、仮想ボリュームVVOLにおける必要な論理ブロックに対する以上のようなページが完了すると、このページ再配置処理を終了してページ配置処理(図17)に戻る。
(4-5)強制再配置処理
 図19は、図17について上述したページ配置処理のステップSP25において仮想ボリューム制御プログラム35Aにより実行される強制再配置処理の具体的な処理手順を示す。
 本計算機システム1では、アプリケーション16が仮想ボリュームVVOLにデータを書き込んだ場合、その仮想ボリュームVVOLにおけるそのデータが書き込まれた論理ブロックに割り当てられているページの割当て元を、ユーザ操作により現在の記憶階層STから他の記憶階層STに変更させることができる。
 実際上、ユーザがホスト計算機3を操作して仮想ボリュームVVOLにおける所望するデータが書き込まれた領域に割り当てられているページの割当て元を、他の記憶階層STに変更すべき旨の命令を入力すると、これに応じた強制再配置要求がそのホスト計算機3からストレージ装置5に与えられる。
 そしてストレージ装置5の仮想ボリューム制御プログラム35Aは、かかる強制再配置要求を受信することにより、図17について上述したページ配置処理のステップSP25に進むと、この図19に示す強制再配置処理を開始し、まず、データ/ページマッピング管理テーブル41(図4)を参照して、強制再配置要求において指定されたデータが書き込まれた仮想ボリュームVVOL内の当該データが書き込まれたすべての論理ブロックにそれぞれ割り当てられているページを特定する(SP40)。
 続いて、仮想ボリューム制御プログラム35Aは、仮想ボリュームプール管理テーブル38(図11)を参照して、強制再配置要求において再配置先として指定された記憶階層STに、当該強制再配置要求において指定された再配置対象のデータをすべて格納し得る分の未使用のページ(以下、これを未使用ページと呼ぶ)があるか否かを判断する(SP41)。
 仮想ボリューム制御プログラム35Aは、この判断において肯定結果を得ると、強制再配置要求において指定された再配置対象のデータを、強制再配置要求において先配置先として指定された記憶階層STに移行するよう対応する記憶装置30を制御すると共に、これに応じてデータ/ページマッピング管理テーブル41を更新する(SP42)。そして仮想ボリューム制御プログラム35Aは、この後、この強制再配置処理を終了してデータ配置処理(図17)に戻る。
 これに対して、仮想ボリューム制御プログラム35Aは、ステップSP41の判断において否定結果を得ると、図18について上述したデータ再配置処理と同様の再配置処理を実行することにより、強制再配置要求において先配置先として指定された記憶階層STに再配置対象のデータをすべて格納し得る分の未使用ページを用意する。また仮想ボリューム制御プログラム35Aは、用意した未使用ページに再配置対象のデータを移行させるよう対応する記憶装置30を制御すると共に、これに応じてデータ/ページマッピング管理テーブル41を更新する(SP43)。そして仮想ボリューム制御プログラム35Aは、この後、この強制再配置処理を終了してデータ配置処理に戻る。
(4-6)ライト処理
 図20は、図17について上述したページ配置処理のステップSP28において仮想ボリューム制御プログラム35Aにより実行されるライト処理の具体的な処理手順を示す。
 仮想ボリューム制御プログラム35Aは、ページ配置処理のステップSP28に進むと、このライト処理を開始し、まず、ライト要求において指定された仮想ボリュームVVOL内の当該ライト要求において指定されたデータの書込み先の論理ブロックに既にページが割り当てられているか否かを判断する(SP50)。
 そして仮想ボリューム制御プログラム35Aは、この判断において肯定結果を得ると、かかるライト要求と共にホスト計算機3から与えられた書込み対象のデータを、ライト要求において指定された仮想ボリュームVVOL内の当該ライト要求において指定された論理ブロックに書き込み(SP51)、この後ステップSP56に進む。
 これに対して、仮想ボリューム制御プログラム35Aは、ステップSP50の判断において否定結果を得ると、仮想ボリュームページ割当てポリシ管理テーブル40(図4)及び仮想ボリュームプール管理テーブル38(図11)を参照して、そのデータに対して優先度が設定された各記憶階層STについて、優先順位が高く設定された記憶階層STから順番に、未使用ページをそれぞれ探索する(SP52)。
 続いて、仮想ボリューム制御プログラム35Aは、ステップSP52の探索結果に基づいて、そのデータに対して優先度が設定された記憶階層STのうち、当該データをすべて格納し得る分の未使用ページを有する記憶階層STが存在するか否かを判断する(SP53)。
 そして仮想ボリューム制御プログラム35Aは、この判断において否定結果を得ると、そのデータを仮想ボリュームページ割当てポリシに従って仮想ボリュームVVOLに書き込むことができない旨の警告を、ライト要求の送信元のホスト計算機3に送信し(SP54)、この後、このライト処理を終了してページ配置処理に戻る。
 これに対して、仮想ボリューム制御プログラム35Aは、ステップSP53の判断において肯定結果を得ると、ライト要求において指定された仮想ボリュームVVOL内の当該ライト要求において指定されたデータの書込み先の領域に対して、書込み対象のデータをすべて格納し得る分の未使用ページを有する記憶階層STのうちの当該データについて最も優先度が高く設定された記憶階層STの未使用ページを割り当て、その未使用ページにかかる書込み対象のデータを書き込む(SP55)。
 次いで、仮想ボリューム制御プログラム35Aは、かかる書込み対象のデータの書込み処理が完了した旨のライト完了通知を、ライト要求の送信元のホスト計算機3に送信し(SP56)、この後、このライト処理を終了してページ配置処理に戻る。
(5)本実施の形態の効果
 以上のように本実施の形態においては、ストレージ装置5において、ホスト計算機3に実装された各アプリケーション16と、当該アプリケーション16がデータを読み書きする仮想ボリュームVVOLと、当該仮想ボリュームVVOLにページを割り当てる記憶階層ST及び当該記憶階層STの優先度とを関連付けたポリシを仮想ボリュームページ割当てポリシ管理テーブル28において管理し、仮想ボリュームVVOLに対するアプリケーション16からのライト要求に応じて、対応する仮想ボリュームページ割当てポリシに従って、当該仮想ボリュームVVOLに関連付けられた記憶階層STのうち、より優先度が高い記憶階層STから当該仮想ボリュームVVOLにページを割り当てるため、アプリケーション16ごとに、そのアプリケーション16が仮想ボリュームVVOLにデータを書き込んだときにページを割り当てる記憶階層STを予め限定することができる。
 従って、例えば重要度が高いアプリケーション16に対しては性能が高い記憶階層STを関連付けておくことによって、かかるアプリケーション16が仮想ボリュームVVOLにデータを書き込む際に、常に性能が高い記憶階層STからページが割り当てられるようにすることができる。かくするにつき、仮想ボリュームVVOLの性能安定稼働を実現することができる。
 また本実施の形態の場合、ストレージ装置5では、同一ファイルのデータが格納される仮想ボリュームVVOLの各論理ブロックに対しては、同一種別の記憶階層STからページをそれぞれ割り当てるようにしているため、これらの論理ブロックごとのアクセス性能にばらつきが生じることを未然に防止することができる。かくするにつき、仮想ボリュームVVOLに対する安定したアクセス性能を実現することができる。
(6)他の実施の形態
 なお上述の実施の形態においては、本発明を図4のように構成されたストレージ装置5に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成のストレージ装置に広く適用することができる。
 また上述の実施の形態においては、ストレージ装置5に搭載する記憶装置30としてSSD、FCディスク及びSATAディスクを適用するようにした場合について述べたが、本発明はこれに限らず、例えば記憶装置30として光ディスクが装填された光ディスク装置や、磁気テープが装填された磁気テープ装置を適用するようにしても良い。
 さらに上述の実施の形態においては、ストレージ装置5内に定義された記憶階層STの種別が3つである場合について述べたが、本発明はこれに限らず、3つ以上の種別の記憶階層STをストレージ装置5内に定義するようにしても良い。
 本発明は、階層型データ管理機能が搭載された種々の構成のストレージ装置に広く適用することができる。
 1……計算機システム、3……ホスト計算機、4……管理計算機、5……ストレージ装置、16……アプリケーション、20……プロセッサ、25……仮想ボリュームページ割当てポリシ設定プログラム、26……データ/ページマッピング設定プログラム、27……装置テーブル、28,40……仮想ボリュームページ割当てポリシ管理テーブル、29,41……データ/ページマッピング管理テーブル、30……記憶装置、31……コントローラ、35A……仮想ボリューム制御プログラム、36……仮想ボリューム管理テーブル、37……仮想ボリューム割当て管理テーブル、38……仮想ボリューム管理テーブル、39……記憶階層管理テーブル、50……仮想ボリュームページ割当てポリシ設定画面、60……データ/ページマッピング設定画面、PVOL……プールボリューム、ST……記憶階層。

Claims (8)

  1.  ストレージ装置において、
     性能が異なる複数種類の記憶装置と、
     前記複数種類の記憶装置がそれぞれ提供する各記憶領域をそれぞれ異なる種別の記憶階層として管理し、複数の異なる種別の記憶階層によりプールを構成すると共に、ホスト計算機に対して仮想ボリュームを提供し、前記仮想ボリュームに対する前記ホスト計算機に実装されたアプリケーションからのライト要求に応じて、当該仮想ボリュームに対して前記プールから記憶領域を所定大きさのページ単位で割り当て、割り当てた前記ページに書込み対象のデータを格納するコントローラと
     を備え、
     前記コントローラは、
     前記アプリケーションと、当該アプリケーションがデータを読み書きする前記仮想ボリュームと、当該仮想ボリュームに前記ページを割り当てる前記記憶階層及び当該記憶階層の優先度とを関連付けたポリシを管理し、
     前記仮想ボリュームに対する対応する前記アプリケーションからのライト要求に応じて、対応する前記ポリシに従って、当該仮想ボリュームに関連付けられた前記記憶階層のうち、より前記優先度が高い記憶階層から当該仮想ボリュームに前記ページを割り当てる
     ことを特徴とするストレージ装置。
  2.  前記コントローラは、
     前記アプリケーションからのライト要求に応じて、必要数のページを同一種別の前記記憶階層から割り当てる
     ことを特徴とする請求項1に記載のストレージ装置。
  3.  前記コントローラは、
     定期的又は不定期に、前記ポリシに従って、前記仮想ボリュームに書き込まれたデータを必要に応じて前記記憶階層間で移動させる
     ことを特徴とする請求項1に記載のストレージ装置。
  4.  前記コントローラは、
     外部からの要求に応じて、前記仮想ボリュームに書き込まれたデータを当該要求に応じて指定された前記記憶階層から割り当てたページに格納するように、対応する前記記憶階層間でデータを移動させる
     ことを特徴とする請求項1に記載のストレージ装置。
  5.  性能が異なる複数種類の記憶装置と、前記複数種類の記憶装置がそれぞれ提供する各記憶領域をそれぞれ異なる種別の記憶階層として管理し、複数の異なる種別の記憶階層によりプールを構成すると共に、ホスト計算機に対して仮想ボリュームを提供し、前記仮想ボリュームに対する前記ホスト計算機に実装されたアプリケーションからのライト要求に応じて、当該仮想ボリュームに対して前記プールから記憶領域を所定大きさのページ単位で割り当て、割り当てた前記ページに書込み対象のデータを格納するコントローラとを有するストレージ装置におけるデータ管理方法において、
     前記コントローラが、前記アプリケーションと、当該アプリケーションがデータを読み書きする前記仮想ボリュームと、当該仮想ボリュームに前記ページを割り当てる前記記憶階層及び当該記憶階層の優先度とを関連付けたポリシを管理する第1のステップと、
     前記コントローラが、前記仮想ボリュームに対する対応する前記アプリケーションからのライト要求に応じて、対応する前記ポリシに従って、当該仮想ボリュームに関連付けられた前記記憶階層のうち、より前記優先度が高い記憶階層から当該仮想ボリュームに前記ページを割り当てる第2のステップと
     を備えることを特徴とするデータ管理方法。
  6.  前記第2のステップでは、
     前記コントローラは、前記アプリケーションからのライト要求に応じて、必要数のページを同一種別の前記記憶階層から割り当てる
     ことを特徴とする請求項5に記載のデータ管理方法。
  7.  前記コントローラが、定期的又は不定期に、前記ポリシに従って、前記仮想ボリュームに書き込まれたデータを必要に応じて前記記憶階層間で移動させる第3のステップを備える
     ことを特徴とする請求項5に記載のデータ管理方法。
  8.  前記コントローラが、外部からの要求に応じて、前記仮想ボリュームに書き込まれたデータを当該要求に応じて指定された前記記憶階層から割り当てたページに格納するように、対応する前記記憶階層間でデータを移動させる第3のステップを備える
     ことを特徴とする請求項5に記載のデータ管理方法。
PCT/JP2010/003335 2010-05-18 2010-05-18 ストレージ装置及びデータ管理方法 WO2011145138A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201080063246.3A CN102754084B (zh) 2010-05-18 2010-05-18 存储装置和数据管理方法
PCT/JP2010/003335 WO2011145138A1 (ja) 2010-05-18 2010-05-18 ストレージ装置及びデータ管理方法
EP10851703.8A EP2535819A4 (en) 2010-05-18 2010-05-18 STORAGE DEVICE AND METHOD FOR MANAGING DATA
JP2012515639A JP5323989B2 (ja) 2010-05-18 2010-05-18 ストレージ装置及びデータ管理方法
US12/988,653 US9052823B2 (en) 2010-05-18 2010-05-18 Storage system and data management method with application specific storage tiers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/003335 WO2011145138A1 (ja) 2010-05-18 2010-05-18 ストレージ装置及びデータ管理方法

Publications (1)

Publication Number Publication Date
WO2011145138A1 true WO2011145138A1 (ja) 2011-11-24

Family

ID=44973438

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/003335 WO2011145138A1 (ja) 2010-05-18 2010-05-18 ストレージ装置及びデータ管理方法

Country Status (5)

Country Link
US (1) US9052823B2 (ja)
EP (1) EP2535819A4 (ja)
JP (1) JP5323989B2 (ja)
CN (1) CN102754084B (ja)
WO (1) WO2011145138A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013161073A1 (ja) * 2012-04-27 2013-10-31 株式会社日立製作所 データ管理システム及び方法
WO2014109007A1 (ja) * 2013-01-09 2014-07-17 株式会社 日立製作所 ストレージ階層管理システム
JP2015014963A (ja) * 2013-07-05 2015-01-22 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10157002B2 (en) * 2010-08-26 2018-12-18 International Business Machines Corporation Migrating an encoded data slice based on an end-of-life memory level of a memory device
US9116914B1 (en) 2011-04-18 2015-08-25 American Megatrends, Inc. Data migration between multiple tiers in a storage system using policy based ILM for QOS
JP5793196B2 (ja) * 2011-09-13 2015-10-14 株式会社日立製作所 仮想ボリュームに割り当てられた要求性能に基づく制御を行うストレージシステムの管理システム及び管理方法
US9218131B2 (en) * 2011-10-19 2015-12-22 Hitachi, Ltd. Method and apparatus to change tiers
US8880804B2 (en) * 2012-03-21 2014-11-04 Hitachi, Ltd. Storage apparatus and data management method
US8700853B2 (en) 2012-04-13 2014-04-15 Hitachi, Ltd. Storage apparatus and data management method
US10341435B2 (en) * 2012-06-12 2019-07-02 Centurylink Intellectual Property Llc High performance cloud storage
US8943270B2 (en) * 2012-07-24 2015-01-27 Hitachi, Ltd. Storage system, storage control method and storage control program
US10289685B2 (en) * 2012-09-07 2019-05-14 International Business Machines Corporation Information lifecycle governance
US9355036B2 (en) * 2012-09-18 2016-05-31 Netapp, Inc. System and method for operating a system to cache a networked file system utilizing tiered storage and customizable eviction policies based on priority and tiers
US9015413B2 (en) 2012-10-02 2015-04-21 International Business Machines Corporation Management of data using inheritable attributes
GB2524433B (en) * 2013-01-25 2020-11-25 Hitachi Ltd Storage system and data management method
CN103106050A (zh) * 2013-02-22 2013-05-15 浪潮电子信息产业股份有限公司 一种实现存储系统数据分层存储复制的方法
WO2014147816A1 (ja) * 2013-03-22 2014-09-25 株式会社 日立製作所 ストレージ装置及び記憶領域検証方法
US9092159B1 (en) * 2013-04-30 2015-07-28 Emc Corporation Object classification and identification from raw data
US9311331B2 (en) 2013-08-27 2016-04-12 Netapp, Inc. Detecting out-of-band (OOB) changes when replicating a source file system using an in-line system
US20160041996A1 (en) 2014-08-11 2016-02-11 Netapp, Inc. System and method for developing and implementing a migration plan for migrating a file system
US10860529B2 (en) 2014-08-11 2020-12-08 Netapp Inc. System and method for planning and configuring a file system migration
US20150127770A1 (en) * 2013-11-06 2015-05-07 Pax8, Inc. Distributed Cloud Disk Service Provisioning and Management
US20150244804A1 (en) 2014-02-21 2015-08-27 Coho Data, Inc. Methods, systems and devices for parallel network interface data structures with differential data storage service capabilities
US9477427B2 (en) 2014-09-19 2016-10-25 Vmware, Inc. Storage tiering based on virtual machine operations and virtual volume type
CN105700819B (zh) * 2014-11-28 2019-04-12 国际商业机器公司 用于网络数据存储的方法和系统
US10078465B1 (en) 2015-05-20 2018-09-18 VCE IP Holding Company LLC Systems and methods for policy driven storage in a hyper-convergence data center
US10684777B2 (en) * 2015-06-23 2020-06-16 International Business Machines Corporation Optimizing performance of tiered storage
CN107037975B (zh) * 2015-07-15 2019-12-03 中兴通讯股份有限公司 卷的空间分配方法和装置
US10203874B1 (en) * 2015-09-30 2019-02-12 EMC IP Holding Company LLC Managing time scheduled data placement in data storage systems
US10558388B2 (en) * 2016-03-03 2020-02-11 Samsung Electronics Co., Ltd. Memory system and method of controlling the same
US10437486B2 (en) * 2016-05-24 2019-10-08 Samsung Electronics Co., Ltd. Method and apparatus for tenant-aware storage sharing platform
US10558611B2 (en) 2016-08-31 2020-02-11 International Business Machines Corporation Format aware file system with file-to-object decomposition
US10474397B2 (en) * 2017-06-13 2019-11-12 Western Digital Technologies, Inc Unified indirection in a multi-device hybrid storage unit
CN107301096B (zh) * 2017-06-16 2020-10-16 苏州浪潮智能科技有限公司 一种存储资源配置的方法及系统
US20200183948A1 (en) * 2018-12-07 2020-06-11 Capital One Services, Llc Provisioning compute and data resources within an elastic data warehouse system
US11748145B2 (en) 2021-01-15 2023-09-05 EMC IP Holding Company LLC Data processing system using skeleton virtual volumes for improved system startup
US20230274010A1 (en) * 2022-02-25 2023-08-31 Dell Products L.P. Quick management action system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055603A1 (en) 2003-08-14 2005-03-10 Soran Philip E. Virtual disk drive system and method
JP2008112276A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd 再配置システムおよび再配置方法
JP2009116436A (ja) * 2007-11-02 2009-05-28 Hitachi Ltd 記憶領域の構成最適化方法、計算機システム及び管理計算機
JP2010033261A (ja) * 2008-07-28 2010-02-12 Hitachi Ltd ストレージ装置及びその制御方法
JP2010102464A (ja) * 2008-10-23 2010-05-06 Hitachi Ltd 計算機システムおよび計算機システムにおける複製作成方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6081200A (en) * 1999-07-09 2001-01-30 Eric D. Schneider Optimized disk storage defragmentation with swapping capabilities
US7353361B2 (en) * 2005-06-06 2008-04-01 International Business Machines Corporation Page replacement policy for systems having multiple page sizes
JP4993913B2 (ja) * 2006-01-13 2012-08-08 株式会社日立製作所 記憶制御装置及びそのデータ管理方法
US8914340B2 (en) * 2008-02-06 2014-12-16 International Business Machines Corporation Apparatus, system, and method for relocating storage pool hot spots
JP5072692B2 (ja) * 2008-04-07 2012-11-14 株式会社日立製作所 複数のストレージシステムモジュールを備えたストレージシステム
US8359444B2 (en) * 2008-09-24 2013-01-22 Hitachi, Ltd. System and method for controlling automated page-based tier management in storage systems
US8566550B2 (en) 2009-09-22 2013-10-22 Hitachi, Ltd. Application and tier configuration management in dynamic page reallocation storage system
US8375180B2 (en) * 2010-02-05 2013-02-12 International Business Machines Corporation Storage application performance matching

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055603A1 (en) 2003-08-14 2005-03-10 Soran Philip E. Virtual disk drive system and method
JP2008112276A (ja) * 2006-10-30 2008-05-15 Hitachi Ltd 再配置システムおよび再配置方法
JP2009116436A (ja) * 2007-11-02 2009-05-28 Hitachi Ltd 記憶領域の構成最適化方法、計算機システム及び管理計算機
JP2010033261A (ja) * 2008-07-28 2010-02-12 Hitachi Ltd ストレージ装置及びその制御方法
JP2010102464A (ja) * 2008-10-23 2010-05-06 Hitachi Ltd 計算機システムおよび計算機システムにおける複製作成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2535819A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013161073A1 (ja) * 2012-04-27 2013-10-31 株式会社日立製作所 データ管理システム及び方法
JPWO2013161073A1 (ja) * 2012-04-27 2015-12-21 株式会社日立製作所 データ管理システム及び方法
WO2014109007A1 (ja) * 2013-01-09 2014-07-17 株式会社 日立製作所 ストレージ階層管理システム
JP2015014963A (ja) * 2013-07-05 2015-01-22 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法

Also Published As

Publication number Publication date
CN102754084A (zh) 2012-10-24
CN102754084B (zh) 2015-10-07
US9052823B2 (en) 2015-06-09
EP2535819A1 (en) 2012-12-19
EP2535819A4 (en) 2014-02-05
US20110289287A1 (en) 2011-11-24
JP5323989B2 (ja) 2013-10-23
JPWO2011145138A1 (ja) 2013-07-22

Similar Documents

Publication Publication Date Title
JP5323989B2 (ja) ストレージ装置及びデータ管理方法
US9785381B2 (en) Computer system and control method for the same
JP5608016B2 (ja) オブジェクト単位階層の管理方法及び装置
JP4940738B2 (ja) 記憶領域動的割当方法
JP4889985B2 (ja) ストレージ階層を考慮したボリュームグループを管理する方法
JP4235220B2 (ja) 計算機システムおよびデータ移行方法
US8918613B2 (en) Storage apparatus and data management method for storage area allocation based on access frequency
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
US8880810B2 (en) Storage system comprising multiple storage apparatuses with both storage virtualization function and capacity virtualization function
JP5685676B2 (ja) 計算機システム及びデータ管理方法
US9201779B2 (en) Management system and management method
JP5111204B2 (ja) ストレージシステム及びストレージシステムの管理方法
US9921781B2 (en) Storage system including multiple storage apparatuses and pool virtualization method
WO2011117925A1 (ja) ストレージ装置及びその制御方法
US9003087B2 (en) Compound storage system and storage control method
JP2011150660A (ja) 計算機システム及びストレージ統合管理方法
JP4837495B2 (ja) 記憶システム及びデータ管理移行方法
JP2013122691A (ja) 割り当て装置およびストレージ装置
JP5355764B2 (ja) ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置

Legal Events

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

Ref document number: 201080063246.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 12988653

Country of ref document: US

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

Ref document number: 10851703

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012515639

Country of ref document: JP

REEP Request for entry into the european phase

Ref document number: 2010851703

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2010851703

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE