WO2014112104A1 - 計算機システム、データ管理方法、及びホスト計算機 - Google Patents

計算機システム、データ管理方法、及びホスト計算機 Download PDF

Info

Publication number
WO2014112104A1
WO2014112104A1 PCT/JP2013/050960 JP2013050960W WO2014112104A1 WO 2014112104 A1 WO2014112104 A1 WO 2014112104A1 JP 2013050960 W JP2013050960 W JP 2013050960W WO 2014112104 A1 WO2014112104 A1 WO 2014112104A1
Authority
WO
WIPO (PCT)
Prior art keywords
page
storage
real
virtual
real page
Prior art date
Application number
PCT/JP2013/050960
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 US14/428,003 priority Critical patent/US9619154B2/en
Priority to PCT/JP2013/050960 priority patent/WO2014112104A1/ja
Publication of WO2014112104A1 publication Critical patent/WO2014112104A1/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/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/0673Single storage device

Definitions

  • the present invention relates to a technique for managing data stored in a virtual volume to which a real page of a hierarchical pool composed of a plurality of real page groups having different input / output performances is allocated.
  • a virtual page (virtual logical volume) configured with a plurality of virtual storage areas (hereinafter referred to as “virtual pages”) has a plurality of real storage areas (hereinafter referred to as “real pages”).
  • a technique for allocating a real page from a configured pool and writing data to be written to the allocated real page is known. This technology is typically a kind of thin provisioning.
  • a hierarchical pool is known as a kind of pool.
  • the hierarchical pool is a storage area composed of a plurality of real page groups having different input / output performance (IO performance). In general, one real page group is based on one or more storage devices having the same IO performance (or approximate IO performance).
  • each layer in the hierarchical pool is hereinafter referred to as a “storage tier”.
  • the storage tier corresponds to a real page group. That is, a plurality of real page groups having different IO performances correspond to a plurality of storage tiers, respectively.
  • the target virtual page has the source real page from the source real page assigned to the target virtual page.
  • Moving data to a destination real page in a storage tier different from the storage tier and assigning the destination real page to the target virtual page instead of the source real page is hereinafter referred to as “page move”.
  • page move data moves in units of pages.
  • page data data in page units moved by page movement may be referred to as “page data”. If it is not necessary to move the data of the movement source real page to the movement destination real page, the data may not be moved in the page movement.
  • Data objects are stored in such virtual volumes.
  • Data objects include, for example, a “data set” that is a data object managed by a mainframe host computer, and a “file” that is a data object managed by an open host computer.
  • the host computer deletes all data (unnecessary data) in the data set.
  • the real page storing the data in the data set remains allocated to the virtual volume. For this reason, when data to be written to a new data set is written to a virtual volume, a real page may already be allocated to a write destination virtual page of data to be written to the new data set. In this case, data is written to the allocated real page.
  • the allocated real page is not necessarily a real page in the storage tier that satisfies the performance required for the new data set. For this reason, the performance required for the new data set may not be satisfied.
  • a real page may already be allocated to a virtual page to which file data is written.
  • the real page on which the preparation process has been performed is released.
  • a predetermined preparation process such as formatting the real page (for example, filling the real page with a bit value “0”)
  • the real page on which the preparation process has been performed is released.
  • the preparation process is executed, until the preparation process is executed, the real page has already been allocated to the virtual volume. The problem that there is a possibility that the performance required for the system cannot be satisfied cannot be solved.
  • control information is included for each predetermined size unit (for example, record unit) in the data set.
  • This control information cannot be made zero.
  • preparation processing for example, filling the entire real page with the bit value “0”
  • the real page may not be released.
  • the computer system has a host computer and a storage device.
  • the host computer transmits a data object data write command specifying the address of a virtual volume that is a virtual logical volume composed of a plurality of virtual pages.
  • the storage device has a tiered pool including a plurality of storage tiers composed of a plurality of real page groups having different input / output performances, and any of the plurality of storage tiers is assigned to the virtual page to which the address specified by the write command belongs. Allocate real pages.
  • the host computer When a real page is allocated to a write destination virtual page to which new data is to be written before the new data to be written to the virtual volume for the data object is generated, the host computer A change command for changing a real page assigned to a page to a real page of a storage tier having a predetermined performance is transmitted to the storage apparatus.
  • the storage apparatus receives the change command, and changes the real page assigned to the write destination virtual page to a real page of the storage tier having a predetermined performance according to the change command.
  • FIG. 1 is a diagram illustrating an overview of a computer system according to an embodiment.
  • FIG. 2 is a diagram illustrating a configuration example of the host computer according to the embodiment.
  • FIG. 3 is a configuration diagram of an example of a data set management table according to the embodiment.
  • FIG. 4 is a configuration diagram of an example of the data set information management table according to the embodiment.
  • FIG. 5 is a diagram illustrating a configuration example of the storage apparatus according to the embodiment.
  • FIG. 6 is a diagram illustrating the logical configuration of the virtual volume and the pool according to the embodiment.
  • FIG. 7 is a configuration diagram of an example of a real page management table according to the embodiment.
  • FIG. 8 is a diagram illustrating an example of a hierarchical control information input screen according to the embodiment.
  • FIG. 1 is a diagram illustrating an overview of a computer system according to an embodiment.
  • FIG. 2 is a diagram illustrating a configuration example of the host computer according to the embodiment.
  • FIG. 3 is a
  • FIG. 9 is a diagram illustrating a configuration of CCW (Channel Command Word) according to the embodiment.
  • FIG. 10 is a flowchart of the storage tier setting request process according to the embodiment.
  • FIG. 11 is a flowchart of page assignment / movement processing according to the embodiment.
  • FIG. 12 is a flowchart of upper storage tier page reservation command processing according to the embodiment.
  • FIG. 13 is a flowchart of the dedicated page securing process according to the embodiment.
  • FIG. 14 is a flowchart of reference value / increment value calculation processing according to the embodiment.
  • aaa table various types of information may be described using the expression “aaa table”, but the various types of information may be expressed using a data structure other than a table.
  • the “aaa table” can be referred to as “aaa information” to indicate that the various types of information do not depend on the data structure.
  • the process may be described using “program” as the subject, but the program is executed by a processor (for example, a CPU (Central Processing Unit)) included in the controller, so that a predetermined process is performed. Is appropriately performed using a storage resource (for example, memory) and / or a communication interface device (for example, HBA, NIC, port), and the subject of the processing may be a processor.
  • the processing described with the program as the subject may be processing performed by the controller.
  • the controller may be the processor itself, or may include a hardware circuit that performs part or all of the processing performed by the processor instead of or in addition to the processor.
  • the computer program may be installed from the program source to the storage control device.
  • the program source may be, for example, a program distribution server or a storage medium that can be read by a computer.
  • FIG. 1 is a diagram illustrating an outline of a computer system according to an embodiment.
  • the computer system includes one or more terminals 10, one or more host computers 100, and one or more storage devices 200.
  • the terminal 10 and the host computer 100 are connected to be communicable.
  • the host computer 100 and the storage device 200 are connected via a communication network 50.
  • the host computer 100 is, for example, a mainframe, and uses a data set in an application that executes a job.
  • the storage apparatus 200 includes a plurality of physical storage devices (PDEV) ((SSD (Solid State Drive)) 221, PDEV (SAS (Serial Attached SCSI)) 222, PDEV (SATA (Serial Advanced Technology) with different input / output (IO) performance. Attachment)) 223).
  • PDEV physical storage devices
  • SAS Serial Attached SCSI
  • SATA Serial Advanced Technology
  • FC Fibre Channel
  • SAS Serial Advanced Technology
  • SATA Serial Advanced Technology
  • the PDEV is not limited to the PDEV in the storage apparatus 200, and may be a PDEV connected to the outside of the storage apparatus 200.
  • the PDEV in the storage apparatus 200 and the PDEV outside the storage apparatus 200 may have different IO characteristics for the host computer 100 even if they are PDEVs of the same product.
  • the storage device 200 manages the pool 260.
  • the pool 260 has a plurality of storage tiers (Tiers) configured by PDEV storage areas with different IO performance.
  • the pool 260 includes three Tiers 261 (Tier # 1), Tier262 (Tier # 2), and Tier263 (Tier # 3).
  • Tier # 1 is configured by a storage area of a PDEV (SSD) 221.
  • Tier # 2 is configured by the storage area of the PDEV (SAS) 222.
  • Tier # 3 is configured by a storage area of PDEV (SATA) 223.
  • the input / output characteristics are Tier # 1, Tier # 2, and Tier # 3 in order from the best characteristics. Note that the number of tiers is not limited to 3, and may be more than 3 or less than 3.
  • Each Tier is composed of a plurality of real pages.
  • the real page is a storage area based on PDEV which is the basis of Tier.
  • the storage apparatus 200 manages the VVOL 250 that can be accessed from the host computer 100.
  • the VVOL 250 is a virtual logical volume having a capacity recognized by the host computer 100 (typically, a virtual logical volume according to Thin Provisioning).
  • a real page from the pool 260 is allocated to a virtual storage area (hereinafter referred to as a virtual page) of the VVOL 250.
  • the storage device 200 when data is written using a free virtual page (virtual page to which no real page is allocated) of the VVOL 250 as a write destination (for example, an address belonging to a free virtual page is received from the host computer).
  • a free real page is allocated to the free virtual page.
  • Data to be written is written to the actual page.
  • the size of the real page and the virtual page may be the same or different. In addition, the size of the real page may be uniform or different (for example, it may be different for each Tier).
  • the data set of the host computer 100 is managed by the VVOL 250.
  • the size of the data set and the page size of the actual page of the VVOL 250 are different. For this reason, a plurality of virtual pages are required as data write destinations in the data set, and thus a plurality of real pages may be required.
  • the data set boundary and the page boundary do not always coincide with each other, and the state shown in FIG. That is, the CCHH (data set head CCHH) in the VOL 250 at the head of the data set does not match the head CCHH (page head CCHH) of the virtual page corresponding to the head of the real page.
  • CCHH is an address in the virtual storage area of the VVOL 250.
  • the difference between the page head CCHH and the data set head CCHH is referred to as an offset.
  • the real page of Tier # 1 of the pool 260 is allocated to the virtual page of Page # 1 in the virtual storage area allocated to the data set of VVOL 250.
  • the actual page of Tier # 1 of the pool 260 is allocated to the virtual page of Page # 2
  • the actual page of Tier # 3 of the pool 260 is allocated to the virtual page of Page # 3.
  • the virtual page of page # 3 is required from the currently assigned real page before the data to be written to the virtual page of page # 3 is generated.
  • the reference value is a possible value that can guarantee that a real page of a Tier that can realize the necessary performance is associated with the virtual page before the virtual page to be used next is written. There may be.
  • a real page may be changed for a plurality of virtual pages.
  • information for determining the number of virtual pages for example, a target storage amount (increment value) may be set. Note that the number of target virtual pages can be obtained by dividing the increment value by the page size.
  • FIG. 2 is a diagram illustrating a configuration example of the host computer according to the embodiment.
  • the host computer 100 includes an HBA (Host Bus Adapter) 101, a NIC (Network Interface Card) 102, a processor 103, and a memory 110.
  • HBA Hyper Bus Adapter
  • NIC Network Interface Card
  • the HBA 101 is a communication interface device for communicating with the storage device 200 via the communication network 50.
  • the NIC 102 is a communication interface device for communicating with the terminal 10.
  • the processor 103 executes a predetermined process based on a program stored in the memory 110 and various information.
  • the terminal 10 is, for example, a client, and the host computer 100 is, for example, a server.
  • the memory 110 stores programs and various information used by the processor 103.
  • the memory 110 stores storage management software 120 and an OS 130.
  • the storage management software 120 includes a tier setting request program 121, a page reservation command processing program 122, a reference value / increment value calculation program 123, and a data set management table 124.
  • the tier setting request program 121 is a program for executing storage tier setting request processing (see FIG. 10). Details of processing by the hierarchy setting request program 121 will be described later.
  • the page reservation command processing program 122 is a program for executing upper storage tier page reservation command processing (see FIG. 12). Details of the processing by the page reservation command processing program 122 will be described later.
  • the reference value / increment value calculation program 123 is a program for executing a reference value / increment value calculation process (see FIG. 14).
  • the data set management table 124 is a table for managing data sets.
  • the OS 130 is a program for controlling the entire processing of the host computer 100, and includes a data management program 131 and a data set information management table 132.
  • the data management program 131 is a program for managing the data set information management table 132 and exchanging data with the storage management software 120.
  • FIG. 3 is a configuration diagram of an example of a data set management table according to the embodiment.
  • the data set management table 124 is a table for managing a data set to be subjected to data management according to this embodiment, and includes a data set name 124a, a user-specified storage tier 124b, a usage amount 124c, an overall capacity 124d, An entry including fields of a write speed 124e, an on-VVOL address (CCHH) 124f, a page # 124g, a storage tier 124h, a reference value 124i, and an increment value 124j is stored.
  • CCHH on-VVOL address
  • the data set name 124a information (data set name) for identifying the data set is stored.
  • the user-specified storage tier 124b stores information for specifying the storage tier designated by the user as the storage tier (Tier) for storing data of the data set corresponding to the entry (for example, the type of PDEV that constitutes the Tier).
  • the used amount 124c stores a capacity (used amount) used for storing data in the data set corresponding to the entry.
  • the total capacity of the data set corresponding to the entry is stored in the total capacity 124d.
  • the writing speed 124e stores the writing speed of data in the data set.
  • the VVOL address (CCHH) 124f stores a range of addresses (CCHH) on the VVOL where the data set is arranged.
  • the page # 124g stores the page number (page #) assigned to the virtual page corresponding to the address of the VVOL upper address (CCHH) 124f corresponding to the entry. This page # is assigned when a real page is assigned to this virtual page.
  • information for specifying the storage tier of the real page assigned to the virtual page of the page # of the page # 124g (for example, the type of PDEV constituting the storage tier) is stored.
  • the values set in the VVOL upper address (CCHH) 124f, page # 124g, and storage tier 124h of each entry are acquired from the storage apparatus 200 using the CCW 401 shown in FIG.
  • the reference value 124i stores a reference value indicating a capacity serving as a reference when preparing a real page for a virtual page in which subsequent data of the data set is written (changing a real page or assigning a real page). The This means that if the free capacity (remaining capacity) of a real page in which data in the data set is being written falls below this reference value, it is necessary to prepare a real page of a virtual page into which subsequent data is written. .
  • the increment value 124j stores an increment value indicating the capacity of the real page prepared at a time for the data set. In this embodiment, since a storage area is allocated to the data set in units of pages, when allocating a new storage area, real pages having the number of pages that are equal to or larger than the capacity of the increment value are prepared. It becomes.
  • FIG. 4 is a configuration diagram of an example of the data set information management table according to the embodiment.
  • the data set information management table 132 is a table for managing information on all data sets managed by the OS 130. For each data set, a data set name 132a, a VVOL top address (CCHH) 132b, and a usage amount 132c. And an entry including a field for the total capacity 132d.
  • a data set name for identifying the data set is stored.
  • the VVOL top address (CCHH) 132b stores the top address on the VVOL of the data set corresponding to the entry.
  • the used amount 132c stores the capacity used in the data set corresponding to the entry.
  • the total capacity 132d stores the total capacity of the data set corresponding to the entry.
  • Information on the data set name 132 a, the VVOL top address (CCHH) 132 b, the usage amount 132 c, and the total capacity 132 d is set by the OS 130.
  • FIG. 5 is a diagram illustrating a configuration example of the storage apparatus according to the embodiment.
  • the storage apparatus 200 includes one or more ports 201, a processor 202, a memory 210, and a plurality of PDEVs (PDEV (SSD) 221, PDEV (SAS) 222, PDEV (SATA) 223).
  • PDEV PDEV
  • SAS PDEV
  • SATA PDEV
  • the port 201 is an example of a communication interface device, and is an interface for connecting to the communication network 50.
  • the processor 202 executes various processes using programs and data stored in the memory 210.
  • the memory 210 stores a page allocation / movement program 211, a dedicated page reservation program 212, and a real page management table 213.
  • the page allocation / movement program 211 is a program for executing page allocation / movement processing (see FIG. 11). Details of processing by the page allocation / movement program 211 will be described later.
  • the dedicated page securing program 212 is a program for executing a dedicated page securing process (see FIG. 13). Details of the processing by the dedicated page reservation program 212 will be described later.
  • FIG. 6 is a diagram illustrating the logical configuration of the virtual volume and the pool according to the embodiment.
  • the storage device 200 manages the pool 260.
  • the pool 260 includes pool VOLs (261 to 263) which are a plurality of logical volumes configured by storage areas of PDEVs (PDEV (SSD) 221, PDEV (SAS) 222, PDEV (SATA) 223) having different characteristics. .
  • a pool VOL (SSD) 261 configured by a storage area of the PDEV (SSD) 221, a pool VOL (SAS) 262 configured by a storage area of the PDEV (SAS) 222, and a PDEV (SATA) 223
  • each pool VOL corresponds to a storage tier.
  • the pool VOL (SSD) 261, the pool VOL (SAS) 262, and the pool VOL (SATA) 263 are arranged in order from the one with the better input / output characteristics.
  • one pool VOL is provided for each type of PDEV, but a plurality of pool VOLs may be provided for each type of PDEV.
  • the storage apparatus 200 manages the VVOL 250 that can be accessed from the host computer 100.
  • the VVOL 250 is a virtual logical volume (virtual volume) having a capacity recognized by the host computer 100.
  • a storage area is allocated to a virtual page in the virtual storage area of the VVOL 250 in units of real pages from any of the pool VOLs constituting the pool 260.
  • FIG. 7 is a configuration diagram of an example of a real page management table according to the embodiment.
  • the real page management table 213 includes a pool ID 213a, a VVOL device number 213b, a page # 213c, an on-VVOL address (CCHH) 213d, and a real address 213e for each real page (real page) managed in the pool 260. And an entry having fields of pool VOL storage tier 213f and exclusive / non-exclusive 213g.
  • the pool ID 213a stores information (pool ID) for identifying a pool 260 that stores a real page corresponding to the entry (referred to as a corresponding real page in the description of this table).
  • the VVOL device number 213b stores the device number of the VVOL to which the corresponding real page is assigned.
  • the page # 213c stores the page # of the virtual page to which the corresponding real page is assigned.
  • the VVOL address (CCHH) 213d stores the virtual page address range of the virtual volume to which the corresponding real page is allocated.
  • the real address 213e stores an address (real address) on the pool VOL of the corresponding real page.
  • the pool VOL storage tier 213f stores information for specifying the storage tier of the pool VOL in which the corresponding real page is stored.
  • the exclusive / non-exclusive 213g stores information (exclusive or non-exclusive) indicating whether or not the corresponding real page is a real page reserved for the storage management software 120 of the host computer 100.
  • information exclusive or non-exclusive
  • “exclusive” is stored and the real page reserved for the storage management software 120 If not, “non-proprietary” is stored.
  • the storage apparatus 200 allocates a corresponding real page in which “exclusive” is stored in the exclusive / non-exclusive 213g to a virtual page except when requested by the storage management software 120 of the host computer 100. There is no control.
  • FIG. 8 is a diagram illustrating an example of a hierarchical control information input screen according to the embodiment.
  • the tier control information input screen 301 is a screen that is displayed when the host computer 100 accepts various information settings from the user of the terminal 10, and includes a data set name input area 301a, a storage tier setting area 301b, and a reference value setting area. 301c, an increment value setting value area 301d, and a next data set setting button 301e.
  • the data set name input area 301a is an area for inputting a data set name of a target data set for inputting information (hereinafter referred to as a target data set in the description of FIG. 8).
  • the storage tier setting area 301b is an area for setting the storage tier of the real page that designates allocation for storing the data of the target data set. In this embodiment, the storage tier setting area 301b can select any storage tier from a plurality of storage tiers.
  • the reference value setting area 301c is an area for setting a reference value related to the free capacity of a real page for preparing a real page for the target data set.
  • the increment value setting value area 301d is an area for setting an increment value (change page specifying information) indicating the capacity to be prepared when an actual page is prepared for the target data set.
  • the next data set setting button 301e is a button for confirming the currently input information and pressing it when inputting information for the next data set. The user can input various types of information to the hierarchical control information input screen 301 using an input device (not shown) of the terminal 10.
  • FIG. 9 is a diagram showing a configuration of CCW (Channel Command Word) according to the embodiment.
  • CCW 401 includes a destination 401a, a command type 401b, and a parameter 401c.
  • the command type 401b stores the type of command indicated by the CCW 401.
  • the parameter 401c stores parameters necessary for command execution. The type and number of parameters stored in the parameter 401c vary depending on the type of command.
  • the command type 401b of the CCW 401 includes page movement.
  • the page 401 of the migration target virtual page, the number of migration target virtual pages, and the storage tier of the migration destination real page (that is, the newly allocated real page) are stored in the parameter 401c. And are stored.
  • the host computer 100 acquires from the storage apparatus 200 information to be set in the VVOL address (CCHH) 124f, page # 124g, and storage tier 124h of the data set management table 124 for a certain data set.
  • the command type 410b stores “information acquisition”
  • the parameter 401c stores the VVOL top address (CCHH) for the corresponding data set and the usage amount of the data set.
  • the VVOL top address (CCHH) stored in the parameter 401c and the data set usage amount can be acquired from the data set information management table 130 by specifying the data set name in the OS 130.
  • the processing for acquiring information to be set in the VVOL upper address (CCHH) 124f, page # 124g, and storage tier 124h of the data set management table 124 is appropriately executed by the storage management software 120.
  • FIG. 10 is a flowchart of the storage tier setting request process according to the embodiment.
  • the storage tier setting request process is a process realized by the tier setting request program 121 in the host computer 100.
  • the tier setting request program 121 acquires the DS name, storage tier, reference value, and increment value specified by the user (step S101). For example, the hierarchy setting request program 121 displays the hierarchy control information input screen 301 shown in FIG. 8 on the terminal 10 and acquires the information from the user.
  • job control information for example, information described in JCL (Job Control Language)
  • JCL Java Control Language
  • the tier setting request program 121 stores the acquired DS name, storage tier, reference value, and increment value in fields corresponding to those of the entries in the data set management table 124.
  • the hierarchy setting request program 121 acquires the usage amount of the DS with the DS name designated by the user (hereinafter referred to as the target DS in the description of this flowchart) from the OS 130 (step S102).
  • the OS 130 acquires the usage amount of the target DS by referring to the data set information management table 132 using the DS name of the target DS.
  • the hierarchy setting request program 121 sets the usage amount acquired from the OS 130 in the usage amount 124c of the data set management table 124.
  • the hierarchy setting request program 121 acquires the top address on the VVOL of the target DS (hereinafter referred to as the top CCHH) from the OS 130 (step S103).
  • the OS 130 acquires the first CCHH of the target DS by referring to the data set information management table 132 using the DS name of the target DS.
  • the hierarchy setting request program 121 calculates an offset in the real page first assigned to the target DS based on the first CCHH of the target DS (step S104). Specifically, the hierarchy setting request program 121 acquires the top VVOL address of the first page allocated to the target DS from the data set management table 124, and first acquires the first CCHH acquired from the OS 130. The offset is calculated by subtracting the top VVOL address of the allocated page.
  • the number of pages used in the data set is the smallest integer equal to or greater than the number obtained by (offset + usage) / page size.
  • the hierarchy setting request program 121 determines whether or not the remaining capacity of the currently used page of the target DS is less than the acquired reference value (step S106). This determination makes it possible to appropriately determine whether or not it is necessary to prepare a real page for the next virtual page. As a result, if the remaining capacity of the currently used page of the target DS does not fall below the acquired reference value (step S106: No), there is still room before data is written to the next page. Therefore, the hierarchy setting request program 121 waits for a predetermined time (step S107), and advances the process to step S102.
  • the hierarchy setting request program 121 calculates the number of pages to be prepared based on the page size and the increment value of the target DS (step S108). Specifically, the hierarchy setting request program 121 calculates the number of pages by dividing the increment value of the target DS by the page size. Note that the number of pages is the smallest integer equal to or greater than the value obtained by dividing the increment value of the target DS by the page size. A real page corresponding to the calculated number of pages is prepared, and a real page corresponding to the increment amount is appropriately prepared.
  • the hierarchy setting request program 121 acquires from the data set management table 124 the address of the end side (tail side) boundary of the page in use (step S109). Specifically, the hierarchy setting request program 121 refers to the boundary of the boundary by referring to the VVOL address (CCHH) 124f in the entry corresponding to the target data set and corresponding to the page in use in the data set management table 124. Get the address.
  • VVOL address CCHH
  • the hierarchy setting request program 121 determines whether or not a real page is allocated to a virtual page after the acquired boundary address (step S110).
  • the page # 124 g of the entry corresponding to the address next to the boundary address of the data set management table 124 is set to page # 124 g. It can be determined by whether or not is set.
  • step S110: Yes when a real page is assigned to a virtual page after the acquired boundary address (step S110: Yes), the hierarchy setting request program 121 refers to the data set management table 124 and acquires the acquired boundary.
  • the page # assigned to the virtual page after the address is acquired (step S111), and the process proceeds to step S112.
  • step S110: No when a real page is not allocated to the virtual page after the acquired boundary address (step S110: No), the hierarchy setting request program 121 advances the process to step S112.
  • step S112 when executing step S111, the tier setting request program 121 generates a CCW 401 (an example of a change command) for moving a page and transmits it to the storage apparatus 200, while executing step S111. If not, a CCW 401 (an example of a page allocation command) for allocating a new real page to the virtual page is generated and transmitted to the storage apparatus 200.
  • the hierarchy setting request program 121 sets “page movement” indicating page movement in the command type 401b of the CCW 401, and the page # to be moved is set in the parameter 401c. And the number of pages calculated in step S108 and the storage tier of the user-specified storage tier 124b of the entry corresponding to the target DS in the data set management table 1124 are set.
  • step S111 when step S111 is not executed, the hierarchy setting request program 121 sets “page allocation” indicating the allocation of a new real page to the command type 401b of the CCW 401, and allocates the real page to the parameter 401c.
  • the first CCHH of the VVOL virtual page, the number of pages calculated in step S108, and the storage tier of the user-specified storage tier 124b of the entry corresponding to the target DS in the data set management table 124 are set.
  • FIG. 11 is a flowchart of page allocation / movement processing according to the embodiment.
  • the page assignment / movement process is a process realized by the page assignment / movement program 211 in the storage apparatus 200. This page allocation / migration process is executed when the storage apparatus 200 receives a CCW 401 for moving a page or a CCW 401 for allocating a new real page from the host computer 100.
  • the page allocation / movement program 211 determines whether or not the received CCW 401 is a request for page movement (step S201). Whether or not the CCW 401 requests page movement can be determined by confirming whether the command type 401b of the CCW 401 is "page movement" or "page allocation".
  • the page allocation / movement program 211 acquires the page #, the number of pages, and the storage tier from the parameter 401c of the CCW 401 (step S201). S202), from the real pages corresponding to the obtained storage tier, the free real pages for the obtained number of pages are obtained as real pages to be moved (step S203).
  • the page allocation / migration program 211 refers to the real page management table 213, corresponds to the acquired storage tier, and the exclusive / non-exclusive 213g is exclusive and not allocated (page # 213).
  • the real page corresponding to the entry is prioritized, and the real page to which the virtual pages are moved as many as the acquired number of pages after the acquired page #, That is, a real page newly associated with the virtual page is determined.
  • the real page corresponding to the entry exclusively owned by the exclusive / non-exclusive 213g is managed so that it can be assigned only by this page assignment / movement process, so that the real page of an appropriate storage tier can be assigned. Can be secured appropriately.
  • the page allocation / movement program 211 moves virtual pages for the acquired number of pages after the acquired page # to the acquired actual page (step S204). Specifically, the page allocation / movement program 211 allocates the acquired actual page to the virtual pages for the acquired number of pages after the acquired page #.
  • the data of the data set is not written in the movement source real page, so the page data of the movement source real page does not have to be moved to the movement destination real page.
  • one or more real pages allocated to a virtual storage area that may be written later can be set as real pages in the desired storage tier. Therefore, when data is written to the virtual storage area, the performance required for the data set can be appropriately exhibited.
  • the page allocation / movement program 211 determines the CCHH from the parameter 401c of the CCW 401.
  • the number of pages and the storage tier are acquired (step S205), and from the actual pages corresponding to the acquired storage tier, free real pages for the acquired number of pages are acquired as real pages to be assigned (step S206).
  • the page allocation / movement program 211 refers to the real page management table 213, corresponds to the acquired storage tier, and is an exclusive page / non-proprietary 213g, and an entry of an unassigned real page.
  • the real page corresponding to the entry is given priority, and the real page to be newly assigned to the virtual pages for the acquired number of pages after the acquired CCHH is determined.
  • the real page corresponding to the entry exclusively owned by the exclusive / non-exclusive 213g is managed so that it can be assigned only by this page assignment / movement process, so that the real page of an appropriate storage tier can be assigned. Can be secured appropriately.
  • the page allocation / movement program 211 allocates the acquired real pages to the virtual pages for the acquired number of pages after the acquired CCHH (step S207).
  • a real page of a desired storage tier can be allocated to a virtual page that may be written later. Therefore, when data is written to the virtual page, the performance required for the data set can be appropriately exhibited.
  • FIG. 12 is a flowchart of the upper storage tier page reservation command process according to the embodiment.
  • the upper storage tier page reservation command process is a process realized by the page reservation command program 122 in the host computer 100. This upper storage tier page reservation command process may be executed, for example, at a time before the storage tier setting request process is executed, or may be executed simultaneously with the storage tier setting request process.
  • the page reservation command program 122 acquires the pool ID of the target to secure the dedicated real page, the storage tier of the real page to be reserved, and the capacity of the real page to be reserved (reserved dedicated capacity) specified by the user (step) S121). For example, the page reservation command program 122 displays an input screen on the terminal 10, receives designation of these information from the user via the input screen, and stores the information.
  • the page reservation command program 122 creates a CCW 401 for securing a dedicated real page, and transmits the CCW 401 to the storage apparatus 200 (step S122). Specifically, the page reservation command program 122 sets “dedicated page reservation” indicating reservation of a dedicated real page in the command type 401b of the CCW 401, and acquires the acquired pool ID, storage tier, and reservation in the parameter 401c. Set exclusive capacity.
  • FIG. 13 is a flowchart of the dedicated page securing process according to the embodiment.
  • the dedicated page securing process is a process realized by the dedicated page securing program 212 in the storage apparatus 200. This exclusive page securing process is executed when CCW 401 for securing a dedicated page is received from the host computer 100.
  • the dedicated page reservation program 212 When the dedicated page reservation program 212 receives the CCW 401 for securing the dedicated page, the dedicated page reservation program 212 acquires the pool ID, storage tier, and reserved dedicated capacity from the parameter 401c of the received CCW 401 (step S211), and the acquired pool From the actual pages corresponding to the acquired storage tier in the pool 260 corresponding to the ID, empty real pages corresponding to the number of pages corresponding to the reserved dedicated capacity are searched and acquired (step S212).
  • the dedicated page reservation program 212 refers to the real page management table 213, corresponds to the acquired pool ID and the acquired storage tier, and corresponds to the reserved dedicated capacity for the entry of the unassigned real page. Search and obtain the number of real pages.
  • the exclusive page reservation program 212 updates the exclusive / non-exclusive 213g of the reserved entry to “exclusive” (step S213), and ends the processing.
  • the real page corresponding to the entry for which exclusive / non-exclusive 213g is set is allocated to the virtual page only in the page allocation / movement process. For this reason, there is a high possibility that it is possible to secure a free real page in the appropriate storage tier, so that the real page in this storage tier can be appropriately allocated to the virtual page of the DS designated by the user.
  • FIG. 14 is a flowchart of reference value / increment value calculation processing according to the embodiment.
  • the reference value / increment value calculation process is a process realized by the reference value / increment value calculation program 123 in the host computer 100. This reference value / increment value calculation process is executed for each data set managed in the data set management table 124. In addition, the reference value / increment value calculation process is executed, for example, at regular intervals (for example, every wait time in step S107 of the storage tier setting request process). The reference value / increment value calculation process may not be executed when the reference value and the increment value are set by the user. Further, when the reference value / increment value calculation process is performed, the setting of the reference value and the increment value by the user may not be accepted.
  • the reference value / increment value calculation program 123 acquires the usage amount of the data set to be processed (hereinafter referred to as the target data set in the description of this flowchart) from the OS 130, and also uses the usage amount 124c of the data set management table 124. , That is, a usage amount at a predetermined past time (referred to as a previous usage amount) is obtained, and a differential usage amount that is a difference between these usage amounts is calculated (step S131).
  • the reference value / increment value calculation program 123 calculates the data writing speed in the target data set by dividing the difference usage by a certain fixed time (step S132).
  • the certain time may be the wait time in step S107 of the storage tier setting request process.
  • it is good also as a different value for every application based on the attribute of the application which uses an object data set.
  • the reference value / increment value calculation program 123 determines a reference value based on the writing speed, the page size, and the performance (page movement performance) related to page movement of the storage device 200 (step S133).
  • the page movement performance is, for example, a data movement speed when moving a page.
  • the reference value / increment value calculation program 132 calculates the reference value by the following equation (2).
  • Reference value page size / page movement performance ⁇ write speed (2)
  • the reference value does not exhaust the remaining capacity of the currently used virtual page until the page movement for the virtual page to which data is written next to the current virtual page to which data of the data set is written is completed. This is the value of the remaining capacity that is assumed to be guaranteed to some extent.
  • the formula for calculating the reference value is not limited to the above-described formula (2).
  • parameters related to the characteristics of the storage device 200 for example, page size and page movement performance
  • parameters related to the characteristics of the application for example, data in the application
  • It may be determined based on a parameter indicating whether writing is fast or the like.
  • the reference value / increment value calculation program 123 sets the calculated reference value as the reference value 124i of the data set management table 124, sets the page size as the increment value 124j (step S134), and calculates the reference value / increment value.
  • the reference value is determined according to the actual data writing speed and the page movement performance of the data set, so that the timing for performing the page movement can be appropriately determined according to the data writing in the actual data set. it can.
  • the host computer that is the mainframe is taken as an example, but an open system host computer may be used.
  • the data set may be read as a file.
  • real pages of a desired storage tier are reserved in advance for a predetermined capacity, and the reserved real pages are used so as to be allocated according to the situation.
  • a real page for a predetermined capacity may be secured in advance, and all the secured real pages may be allocated to the virtual volume.
  • Terminal 100 ... Host computer 200 ... Storage device.

Landscapes

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

Abstract

 入出力性能が異なる複数の実ページ群から構成される複数のストレージ階層を含む階層型プールを有し、実ページ単位で記憶領域が割り当てられる仮想ボリュームを提供するストレージ装置がある。ホスト計算機は、データオブジェクトについて仮想ボリュームに書込むべき新たなデータが発生する前の時点において、新たなデータの書込み先である書込み先仮想ページに実ページが割り当てられている場合に、書込み先仮想ページに割り当てられている実ページを所定の性能を有するストレージ階層の実ページに変更する変更コマンドをストレージ装置に送信する。ストレージ装置は、変更コマンドに従って、書込み先仮想ページに割り当てられている実ページを、所定の性能を有するストレージ階層の実ページに変更する。

Description

計算機システム、データ管理方法、及びホスト計算機
 本発明は、入出力性能の異なる複数の実ページ群で構成された階層型プールの実ページが割り当てられる仮想ボリュームに格納されるデータを管理する技術に関する。
 計算機システムにおいて、複数の仮想記憶領域(以下「仮想ページ」)で構成された仮想ボリューム(仮想的な論理ボリューム)における書込み先の仮想ページに、複数の実記憶領域(以下「実ページ」)で構成されたプールから実ページを割り当て、割り当てた実ページにライト対象のデータを書きこむ技術が知られている。この技術は、典型的には、Thin Provisioningの一種である。プールの一種として、階層型プールが知られている。階層型プールは、入出力性能(IO性能)の異なる複数の実ページ群で構成された記憶領域である。一般に、1つの実ページ群は、同じIO性能(又は近似したIO性能)の1以上の記憶デバイスに基づいている。
 このように、階層型プールにおける個々の層を、以降、「ストレージ階層」と呼ぶこととする。ストレージ階層は、実ページ群に相当する。すなわち、IO性能の異なる複数の実ページ群は、それぞれ、複数のストレージ階層に対応する。
 また、仮想ページに割り当てられている実ページを変更すること、より具体的には、対象の仮想ページを、対象の仮想ページに割り当てられている移動元実ページから、その移動元実ページを有するストレージ階層とは別のストレージ階層内の移動先実ページにデータを移動し、且つ、対象の仮想ページに移動元実ページに代えて移動先実ページを割り当てることを、以降、「ページ移動」と呼ぶことがある。ページ移動では、データが、ページ単位で移動する。以降、ページ移動で移動されるページ単位のデータを、「ページデータ」と呼ぶことがある。なお、移動元実ページのデータを移動先実ページに移動させる必要がない場合には、ページ移動において、データが移動されなくても良い。
 このような仮想ボリュームに、データオブジェクトが格納される。データオブジェクトとしては、例えば、メインフレーム系のホスト計算機が管理するデータオブジェクトである「データセット」や、オープン系のホスト計算機が管理するデータオブジェクトである「ファイル」がある。
 階層型プールにおけるデータの管理に関する技術としては、例えば、特許文献1乃至特許文献4に開示された技術がある。
特開2012-118945号公報 特開2009-43238号公報 特開2011-70628号公報 特許第4391982号明細書
 ホスト計算機によってデータセットに書き込まれるデータの量が増えると、仮想ボリュームに書き込まれるデータの量が増え、故に、仮想ボリュームにより多くの実ページが割り当てられることになる。また、データセットの使用が終わった場合には、ホスト計算機が、データセット内の全データ(不要なデータ)を削除する。ここで、データセット内のデータが削除されたとしても、データセット内のデータを記憶していた実ページは、仮想ボリュームに割当てられたままである。このため、新たなデータセットに書き込まれるデータが仮想ボリュームに書き込まれる場合、新たなデータセットに書き込まれるデータの書込み先仮想ページに、既に実ページが割当てられているということがあり得る。この場合、割当て済の実ページにデータが書き込まれる。
 しかし、その割当て済みの実ページが、新たなデータセットに要求されている性能を満たすストレージ階層内の実ページであるとは限らない。このため、新たなデータセットに要求される性能を満たすことができないことがある。
 また、同様に、オープン系の計算機システムでは、ファイルのデータの書込み先仮想ページに実ページが既に割当てられていることがあり得る。
 ここで、例えば、実ページをフォーマットする(例えば、実ページをビット値「0」で埋める)等のように実ページに所定の準備処理を施すことで、準備処理が施された実ページを解放することが可能である。しかしながら、準備処理を実行するようにしたとしても、準備処理が実行されるまでの間においては、仮想ボリュームに実ページがすでに割当てられている状態となっていることには変わりないので、データセットに要求される性能を満たすことができないおそれがあるという問題を解消することができない。
 また、データセットでは、データセット内の所定のサイズ単位(例えばレコード単位)毎に、制御用情報が含まれる。この制御用情報をゼロにすることはできない。そのため、必ずしも実ページの全域に準備処理(例えば、実ページ全域をビット値“0”で埋める)ことができず、実ページを解放できないことがある。
 また、データオブジェクトの種類に関わらず、データオブジェクトに要求される性能を有するストレージ階層に空き実ページがない場合もあり、この場合には、データオブジェクトに要求される性能を有していないストレージ階層の実ページにデータオブジェクトのデータが格納されることになる。
 計算機システムは、ホスト計算機と、ストレージ装置とを有する。ホスト計算機は、複数の仮想ページで構成された仮想的な論理ボリュームである仮想ボリュームのアドレスを指定した、データオブジェクトのデータのライトコマンド、を送信する。ストレージ装置は、入出力性能が異なる複数の実ページ群から構成される複数のストレージ階層を含む階層型プールを有し、ライトコマンドで指定されているアドレスが属する仮想ページに複数のストレージ階層のいずれかから実ページを割り当てる。
 ホスト計算機は、データオブジェクトについて仮想ボリュームに書込むべき新たなデータが発生する前の時点において、新たなデータの書込み先である書込み先仮想ページに実ページが割り当てられている場合に、書込み先仮想ページに割り当てられている実ページを所定の性能を有するストレージ階層の実ページに変更する変更コマンドを、ストレージ装置に送信する。ストレージ装置は、変更コマンドを受信し、変更コマンドに従って、書込み先仮想ページに割り当てられている実ページを、所定の性能を有するストレージ階層の実ページに変更する。
 データオブジェクトのデータが適切な性能を有するストレージ階層の実ページに格納される可能性が高まる。これにより、データオブジェクトのアクセスに対して要求される性能が実現されていることが期待できる。
図1は、実施例に係る計算機システムの概要を示す図である。 図2は、実施例に係るホスト計算機の構成例を示す図である。 図3は、実施例に係るデータセット管理テーブルの一例の構成図である。 図4は、実施例に係るデータセット情報管理テーブルの一例の構成図である。 図5は、実施例に係るストレージ装置の構成例を示す図である。 図6は、実施例に係る仮想ボリューム及びプールの論理的な構成を説明する図である。 図7は、実施例に係る実ページ管理テーブルの一例の構成図である。 図8は、実施例に係る階層制御情報入力画面の一例を示す図である。 図9は、実施例に係るCCW(Channel Command Word)の構成を示す図である。 図10は、実施例に係るストレージ階層設定要求処理のフローチャートである。 図11は、実施例に係るページ割当て・移動処理のフローチャートである。 図12は、実施例に係る上位ストレージ階層ページ確保コマンド処理のフローチャートである。 図13は、実施例に係る専有ページ確保処理のフローチャートである。 図14は、実施例に係る基準値・増分値算出処理のフローチャートである。
 以下、実施例を説明する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではなく、また実施例の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
 なお、以下の説明では「aaaテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。各種情報は、データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶことができる。
 また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、コントローラに含まれるプロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又は通信インターフェース装置(例えばHBA、NIC、ポート)を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、コントローラが行う処理としても良い。また、コントローラは、プロセッサそれ自体であっても良いし、プロセッサに代えて又は加えて、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。コンピュータプログラムは、プログラムソースから記憶制御装置にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ、又は、計算機が読み取り可能な記憶メディアであっても良い。
 図1は、実施例に係る計算機システムの概要を示す図である。
 計算機システムは、1以上の端末10と、1以上のホスト計算機100と、1以上のストレージ装置200とを有する。端末10とホスト計算機100とは、通信可能に接続されている。ホスト計算機100と、ストレージ装置200とは、通信ネットワーク50を介して接続されている。ホスト計算機100は、例えば、メインフレームであり、ジョブを実行するアプリケーションにおいてデータセットを使用する。
 ストレージ装置200は、入出力(IO)性能が異なる複数の物理記憶デバイス(PDEV)((SSD(Solid State Drive))221、PDEV(SAS(Serial Attached SCSI))222、PDEV(SATA(Serial Advanced Technology Attachment))223)を有する。IO性能が異なる原因は、例えば、半導体ドライブ(例えば、SSD)や磁性体ドライブ(例えば、HDD:Hard Disk Drive)などの記憶素子の違い、及び、FC(Fibre Channel)、SAS及びSATAなどのインターフェースの違い、の少なくとも1つがある。なお、PDEVは、上記以外の種類のPDEVであってもよい。また、PDEVは、ストレージ装置200内のPDEVに限られず、ストレージ装置200の外部に接続されたPDEVであっても良い。ストレージ装置200内のPDEVとストレージ装置200外のPDEVとでは、同じ製品のPDEVであってもホスト計算機100にとってのIO特性は異なり得る。
 ストレージ装置200は、プール260を管理する。プール260は、異なるIO性能のPDEVの記憶領域により構成されている複数のストレージ階層(Tier)を有する。図1に示す例では、プール260は、3つのTier261(Tier#1)、Tier262(Tier#2)、及びTier263(Tier#3)を有する。Tier#1は、PDEV(SSD)221の記憶領域により構成される。Tier#2は、PDEV(SAS)222の記憶領域により構成される。Tier#3は、PDEV(SATA)223の記憶領域により構成される。入出力特性は、特性が良い方から順番に、Tier#1、Tier#2、Tier#3となっている。なお、Tierの数は、3に限られず、3より多くても、3より小さくても良い。各Tierは、複数の実ページから構成されている。実ページは、Tierの基になっているPDEVに基づく記憶領域である。
 ストレージ装置200は、ホスト計算機100からアクセス可能なVVOL250を管理する。VVOL250は、ホスト計算機100が認識している容量を持つ仮想的な論理ボリューム(典型的には、Thin Provisioningに従う仮想的な論理ボリューム)である。VVOL250の仮想的な記憶領域(以下、仮想ページ)には、プール260から実ページが割り当てられる。ストレージ装置200は、例えば、VVOL250の空き仮想ページ(実ページが割当てられていない仮想ページ)を書込み先としたデータの書込みが発生した場合に(例えば、ホスト計算機から、空き仮想ページに属するアドレスを指定したライトコマンドを受信した場合)、その空き仮想ページに対して空きの実ページを割当てる。その実ページに、ライト対象のデータが書き込まれる。実ページと仮想ページのサイズは同じであっても異なっていても良い。また、実ページのサイズは、均一であっても良いし異なっていても良い(例えば、Tier毎に異なっていても良い)。
 図1に示す例では、ホスト計算機100のデータセットがVVOL250で管理される。データセットのサイズと、VVOL250の実ページのページサイズとは、異なっている。このため、データセット内のデータの書込み先として複数の仮想ページが必要となり、故に、複数の実ページが必要になることがある。また、VVOL250においては、データセットの境界と、ページの境界とが必ずしも一致しないので、図1に示すような状態となることがある。すなわち、データセットの先頭のVOL250におけるCCHH(データセット先頭CCHH)と、実ページの先頭に対応する仮想ページの先頭のCCHH(ページ先頭CCHH)とが一致しない。ここで、CCHHとは、VVOL250の仮想記憶領域におけるアドレスである。なお、以降、ページ先頭CCHHと、データセット先頭CCHHとの差分をオフセットと呼ぶ。
 例えば、データセットがVVOL250に作成された場合に、図1に示すように、VVOL250のデータセットに割当てられる仮想記憶領域中のPage#1の仮想ページにプール260のTier#1の実ページが割当てられ、Page#2の仮想ページにプール260のTier#1の実ページが割当てられ、Page#3の仮想ページにプール260のTier#3の実ページが割当てられていることがある。
 ここで、データセットに対しては、Tier#1の性能が要求されているとすると、Page#3の仮想ページには、Tier#3の実ページが割当てられてしまっているので、Page#3の仮想ページに対するデータアクセスが発生した場合には、必要な性能が得られないこととなる。
 これに対して、本実施例に係る計算機システムでは、Page#3の仮想ページに書込むデータが発生する前の時点において、Page#3の仮想ページを、現在割当てられている実ページから、必要な性能を実現することのできるTier(ここでは、Tier#1)の実ページに変更(移動)する。これにより、この仮想ページに書込むデータが発生した場合においては、必要な性能を得ることができる。
 Page#3の仮想ページに書込むデータが発生する前の時点としては、例えば、現在使用途中の実ページの残容量と、所定の基準値とを比較して、残容量が基準値より小さい場合としている。基準値としては、次に利用する仮想ページに対して書込みが行われる前において、この仮想ページに対して必要な性能を実現できるTierの実ページを対応付けておくことが保証できる考えられる値であっても良い。
 なお、図1の例では、1つの仮想ページを対象として、実ページを変更する例を示していたが、例えば、複数の仮想ページを対象として、実ページを変更するようにしても良い。例えば、対象とする仮想ページの数を決定するために、仮想ページの数を決定するための情報、例えば、対象とする記憶量(増分値)を設定しておくようにしても良い。なお、増分値をページサイズで除算することにより、対象とする仮想ページ数を得ることができる。
 図2は、実施例に係るホスト計算機の構成例を示す図である。
 ホスト計算機100は、HBA(Host Bus Adapter)101と、NIC(Network Interface Card)102と、プロセッサ103と、メモリ110とを有する。
 HBA101は、通信ネットワーク50を介してストレージ装置200と通信するための通信インターフェース装置である。NIC102は、端末10と通信するための通信インターフェース装置である。プロセッサ103は、メモリ110に格納されたプログラムや、各種情報に基づいて、所定の処理を実行する。端末10は、例えばクライアントであり、ホスト計算機100は、例えばサーバである。
 メモリ110は、プロセッサ103により使用されるプログラムや各種情報を記憶する。メモリ110は、例えば、ストレージ管理ソフトウェア120と、OS130とを格納する。ストレージ管理ソフトウェア120は、階層設定要求プログラム121と、ページ確保コマンド処理プログラム122と、基準値・増分値算出プログラム123と、データセット管理テーブル124とを有する。
 階層設定要求プログラム121は、ストレージ階層設定要求処理(図10参照)を実行するためのプログラムである。階層設定要求プログラム121による処理の詳細は、後述する。ページ確保コマンド処理プログラム122は、上位ストレージ階層ページ確保コマンド処理(図12参照)を実行するためのプログラムである。ページ確保コマンド処理プログラム122による処理の詳細は、後述する。基準値・増分値算出プログラム123は、基準値・増分値算出処理(図14参照)を実行するためのプログラムである。データセット管理テーブル124は、データセットを管理するためのテーブルである。
 OS130は、ホスト計算機100の処理の全体を制御するためのプログラムであり、データ管理プログラム131と、データセット情報管理テーブル132とを有する。データ管理プログラム131は、データセット情報管理テーブル132の管理処理や、ストレージ管理ソフトウェア120とのデータのやり取りを行うためのプログラムである。
 図3は、実施例に係るデータセット管理テーブルの一例の構成図である。
 データセット管理テーブル124は、本実施例に係るデータ管理を行う対象のデータセットを管理するテーブルであり、データセット名124aと、ユーザ指定ストレージ階層124bと、使用量124cと、全体容量124dと、書込み速度124eと、VVOL上アドレス(CCHH)124fと、ページ#124gと、ストレージ階層124hと、基準値124iと、増分値124jとのフィールドを含むエントリを格納する。
 データセット名124aには、データセットを識別する情報(データセット名)が格納される。ユーザ指定ストレージ階層124bには、エントリに対応するデータセットのデータを格納するストレージ階層(Tier)としてユーザによって指定されたストレージ階層を特定する情報(例えば、Tierを構成するPDEVの種類)が格納される。使用量124cには、エントリに対応するデータセットにおいてデータを格納するために使用されている容量(使用量)が格納される。
 全体容量124dには、エントリに対応するデータセットの全体の容量が格納される。書込み速度124eには、データセットにおけるデータの書込み速度が格納される。VVOL上アドレス(CCHH)124fには、データセットが配置されているVVOL上のアドレス(CCHH)の範囲が格納される。ページ#124gには、エントリに対応するVVOL上アドレス(CCHH)124fのアドレスに対応する仮想ページに割当てられているページ番号(ページ#)が格納される。このページ#は、この仮想ページに対して、実ページが割当てられている場合に割当てられる。ストレージ階層124hには、ページ#124gのページ#の仮想ページに割当てられている実ページのストレージ階層を特定する情報(例えば、ストレージ階層を構成するPDEVの種類)が格納される。ここで、各エントリのVVOL上アドレス(CCHH)124f、ページ#124g、及びストレージ階層124hに設定する値は、図9に示すCCW401を用いて、ストレージ装置200から取得する。
 基準値124iには、データセットについての後続するデータを書込む仮想ページに対する実ページを用意する(実ページを変更する、又は実ページを割当てる)際の基準となる容量を示す基準値が格納される。データセットのデータが書込み途中である実ページの空き容量(残容量)がこの基準値以下となった場合に、後続するデータを書込む仮想ページの実ページを用意する必要があることを意味する。増分値124jには、データセットに対して1度に用意する実ページの容量を示す増分値が格納される。本実施形態では、データセットに対しては、ページを単位として記憶領域が割当てられるので、新たな記憶領域を割当てる際には、増分値の容量以上となるページ数の実ページが用意されることとなる。
 図4は、実施例に係るデータセット情報管理テーブルの一例の構成図である。
 データセット情報管理テーブル132は、OS130が管理する全てのデータセットについての情報を管理するテーブルであり、データセット毎に、データセット名132aと、VVOL上先頭アドレス(CCHH)132bと、使用量132cと、全体容量132dとのフィールドを含むエントリを格納する。
 データセット名132aには、データセットを識別するデータセット名が格納される。VVOL上先頭アドレス(CCHH)132bには、エントリに対応するデータセットのVVOL上の先頭アドレスが格納される。使用量132cには、エントリに対応するデータセットにおける使用している容量が格納される。全体容量132dには、エントリに対応するデータセットの全体の容量が格納される。データセット名132a、VVOL上先頭アドレス(CCHH)132b、使用量132c、及び全体容量132dの情報は、OS130によって設定される。
 図5は、実施例に係るストレージ装置の構成例を示す図である。
 ストレージ装置200は、1以上のポート201と、プロセッサ202と、メモリ210と、複数のPDEV(PDEV(SSD)221、PDEV(SAS)222、PDEV(SATA)223)とを有する。
 ポート201は、通信インターフェース装置の一例であり、通信ネットワーク50に接続するためのインターフェースである。プロセッサ202は、メモリ210に格納されたプログラムやデータを用いて、各種処理を実行する。メモリ210は、ページ割当て・移動プログラム211と、専有ページ確保プログラム212と、実ページ管理テーブル213とを格納する。
 ページ割当て・移動プログラム211は、ページ割当て・移動処理(図11参照)を実行するためのプログラムである。ページ割当て・移動プログラム211による処理の詳細は、後述する。専有ページ確保プログラム212は、専有ページ確保処理(図13参照)を実行するためのプログラムである。専有ページ確保プログラム212による処理の詳細は、後述する。
 図6は、実施例に係る仮想ボリューム及びプールの論理的な構成を説明する図である。
 ストレージ装置200は、プール260を管理する。プール260は、異なる特性のPDEV(PDEV(SSD)221、PDEV(SAS)222、PDEV(SATA)223)の記憶領域により構成されている複数の論理ボリュームであるプールVOL(261~263)を有する。プールVOLとしては、PDEV(SSD)221の記憶領域により構成されるプールVOL(SSD)261と、PDEV(SAS)222の記憶領域により構成されるプールVOL(SAS)262と、PDEV(SATA)223の記憶領域により構成されるプールVOL(SATA)263とがある。本実施例では、各プールVOLが、それぞれストレージ階層に相当する。本実施例では、入出力特性が良い方から順番に、プールVOL(SSD)261、プールVOL(SAS)262、プールVOL(SATA)263となっている。なお、図6では、PDEVの種類毎に1つのプールVOLを備えるようにしているが、PDEVの種類毎に複数のプールVOLを備えるようにしても良い。
 ストレージ装置200は、ホスト計算機100からアクセス可能なVVOL250を管理する。VVOL250は、ホスト計算機100が認識している容量を持つ仮想的な論理ボリューム(仮想ボリューム)である。VVOL250の仮想記憶領域の仮想ページに対して、プール260を構成するいずれかのプールVOLから実ページを単位として、記憶領域が割り当てられる。
 図7は、実施例に係る実ページ管理テーブルの一例の構成図である。
 実ページ管理テーブル213は、プール260で管理されている実ページ(実ページ)毎に、プールID213aと、VVOL装置番号213bと、ページ#213cと、VVOL上アドレス(CCHH)213dと、実アドレス213eと、プールVOLストレージ階層213fと、専有/非専有213gとのフィールドを有するエントリを格納する。
 プールID213aには、エントリに対応する実ページ(このテーブルの説明において、対応実ページという)を格納するプール260を識別する情報(プールID)が格納される。VVOL装置番号213bには、対応実ページが割り当てられているVVOLの装置番号が格納される。ページ#213cには、対応実ページが割当てられている仮想ページのページ#が格納される。VVOL上アドレス(CCHH)213dには、対応実ページが割当てられている仮想ボリュームの仮想ページのアドレス範囲が格納される。実アドレス213eには、対応実ページのプールVOL上のアドレス(実アドレス)が格納される。プールVOLストレージ階層213fには、対応実ページが格納されているプールVOLのストレージ階層を特定する情報が格納される。専有/非専有213gには、対応実ページがホスト計算機100のストレージ管理ソフトウェア120用に確保されている実ページであるか否かを示す情報(専有又は非専有)が格納される。本実施例では、専有/非専有213gには、ストレージ管理ソフトウェア120用に確保されている実ページである場合には、「専有」が格納され、ストレージ管理ソフトウェア120用に確保されている実ページではない場合には「非専有」が格納される。ストレージ装置200は、専有/非専有213gに「専有」が格納されている対応実ページについては、ホスト計算機100のストレージ管理ソフトウェア120から要求された場合以外には、仮想ページに対して割当てられることがないように制御している。
 図8は、実施例に係る階層制御情報入力画面の一例を示す図である。
 階層制御情報入力画面301は、ホスト計算機100が端末10のユーザから各種情報の設定を受け付ける際に表示させる画面であり、データセット名入力領域301aと、ストレージ階層設定領域301bと、基準値設定領域301cと、増分値設定値領域301dと、次データセット設定ボタン301eとを有する。
 データセット名入力領域301aは、情報を入力する対象のデータセット(以下、図8の説明において、対象データセットという)のデータセット名を入力するための領域である。ストレージ階層設定領域301bは、対象データセットのデータを格納するために割当てることを指定する実ページのストレージ階層を設定するための領域である。本実施例では、ストレージ階層設定領域301bは、複数のストレージ階層からいずれかのストレージ階層を選択可能となっている。基準値設定領域301cは、対象データセットに対して実ページを用意するための実ページの空き容量に関する基準値を設定するための領域である。増分値設定値領域301dは、対象データセットに対して実ページを用意する際における、用意する容量を示す増分値(変更ページ特定情報)を設定するための領域である。次データセット設定ボタン301eは、現在入力した情報を確定させ、次のデータセットを対象として、情報を入力する際に押下するためのボタンである。ユーザは、端末10の図示しない入力装置を用いて階層制御情報入力画面301に各種情報を入力することができる。
 図9は、実施例に係るCCW(Channel Command Word)の構成を示す図である。
 CCW401は、宛先401aと、コマンド種別401bと、パラメータ401cとを含む。
 宛先401aには、CCW401を発行(送信)する対象のストレージ装置200を識別する情報が格納される。コマンド種別401bには、CCW401が示すコマンドの種別が格納される。パラメータ401cには、コマンドの実行に必要なパラメータが格納される。パラメータ401cに格納されるパラメータの種類や個数は、コマンドの種別によって異なる。
 例えば、ホスト計算機100がストレージ装置200に仮想ページに割当てられている実ページを変更する指示を行う場合、すなわち、ページ移動の指示を行う場合には、CCW401のコマンド種別401bには、ページ移動を示す「ページ移動」が格納され、パラメータ401cには、移動対象の仮想ページのページ#と、移動対象の仮想ページの数と、移動先の実ページ(すなわち、新たに割り当てる実ページ)のストレージ階層とが格納される。
 また、例えば、ホスト計算機100がストレージ装置200から、或るデータセットについてのデータセット管理テーブル124のVVOL上アドレス(CCHH)124f、ページ#124g、及びストレージ階層124hに設定する情報を取得する場合には、CCW401のコマンド種別410bには、「情報取得」が格納され、パラメータ401cには、対応するデータセットについてのVVOL上先頭アドレス(CCHH)と、データセットの使用量とが格納される。なお、パラメータ401cに格納するVVOL上先頭アドレス(CCHH)と、データセットの使用量とは、OS130にデータセット名を指定することにより、データセット情報管理テーブル130から取得することができる。なお、データセット管理テーブル124のVVOL上アドレス(CCHH)124f、ページ#124g、及びストレージ階層124hに設定する情報を取得する処理は、ストレージ管理ソフトウェア120により適宜実行される。
 なお、上記以外の場合におけるCCW401については、後述の処理の説明において、その説明と併せて行うこととする。
 次に、実施例に係る計算機システムにおける処理動作を説明する。
 図10は、実施例に係るストレージ階層設定要求処理のフローチャートである。
 ストレージ階層設定要求処理は、ホスト計算機100において、階層設定要求プログラム121により実現される処理である。
 階層設定要求プログラム121は、ユーザから指定されたDS名、ストレージ階層、基準値、及び増分値を取得する(ステップS101)。例えば、階層設定要求プログラム121は、端末10に、図8に示す階層制御情報入力画面301を表示させて、ユーザからこれら情報を取得する。なお、データセットを利用するアプリケーションの実行を含むジョブを実行する際にホスト計算機100が参照するジョブ制御情報(例えば、JCL(Job Control Language)で記述される情報)に、DS名、ストレージ階層、基準値、及び増分値をユーザに設定させるようにしておき、そのジョブ制御情報からホスト計算機100が各情報を取得するようにしても良い。階層設定要求プログラム121は、取得したDS名、ストレージ階層、基準値、及び増分値をデータセット管理テーブル124のエントリのそれらに対応するフィールドに格納する。
 次いで、階層設定要求プログラム121は、ユーザから指定されたDS名のDS(以下、このフローチャートの説明において対象DSという。)の使用量をOS130から取得する(ステップS102)。なお、OS130は、対象DSのDS名を用いて、データセット情報管理テーブル132を参照することにより、対象DSの使用量を取得する。また、階層設定要求プログラム121は、OS130から取得した使用量を、データセット管理テーブル124の使用量124cに設定する。
 次いで、階層設定要求プログラム121は、対象DSのVVOL上の先頭アドレス(以下、先頭CCHHという。)をOS130から取得する(ステップS103)。なお、OS130は、対象DSのDS名を用いて、データセット情報管理テーブル132を参照することにより、対象DSの先頭CCHHを取得する。
 次いで、階層設定要求プログラム121は、対象DSの先頭CCHHに基づいて、対象DSに最初に割当てられた実ページ内のオフセットを算出する(ステップS104)。具体的には、階層設定要求プログラム121は、データセット管理テーブル124から対象DSに最初に割り当てられたページの先頭のVVOL上アドレスを取得し、OS130から取得した先頭CCHHから、この取得した最初に割り当てられたページの先頭のVVOL上アドレスを減算することにより、オフセットを算出する。
 次いで、階層設定要求プログラム121は、取得した対象DSの使用量及び算出したオフセットに基づいて、対象DSの現在使用途中のページの残容量を算出する(ステップS105)。具体的には、階層設定要求プログラム121は、以下の式(1)により、ページの残容量を算出する。
ページの残容量=ページサイズ×(データセットの使用ページ数)-(オフセット+使用量)…式(1)
 ここで、データセットの使用ページ数は、(オフセット+使用量)/ページサイズにより得られた数以上の最小の整数である。
 次いで、階層設定要求プログラム121は、対象DSの現在使用途中のページの残容量が、取得した基準値を下回っているか否かを判定する(ステップS106)。この判定により、次の仮想ページに対する実ページを用意する必要があるか否かを適切に判定することができる。この結果、対象DSの現在使用途中のページの残容量が、取得した基準値を下回っていない場合(ステップS106:No)には、次のページにデータを書込むまでにはまだ余裕があることを意味しているので、階層設定要求プログラム121は、予め設定されている一定時間だけ待機し(ステップS107)、処理をステップS102に進める。
 一方、対象DSの現在使用途中のページの残容量が、取得した基準値を下回っている場合(ステップS106:Yes)には、次のページにデータを書込むことが近づいていることを意味しているので、階層設定要求プログラム121は、ページサイズ、対象DSの増分値に基づいて、用意するページ数を算出する(ステップS108)。具体的には、階層設定要求プログラム121は、対象DSの増分値をページサイズで除算してページ数を算出する。なお、ページ数は、対象DSの増分値をページサイズで除算して得られた値以上の最小の整数である。このように算出されたページ数に対応する実ページが用意されることとなり、増分量に相当する実ページが適切に用意されることとなる。
 次いで、階層設定要求プログラム121は、使用途中のページの末端側(後尾側)の境界のアドレスをデータセット管理テーブル124から取得する(ステップS109)。具体的には、階層設定要求プログラム121は、データセット管理テーブル124における、対象データセットに対応し、且つ使用途中のページに対応するエントリにおけるVVOL上アドレス(CCHH)124fを参照することにより境界のアドレスを取得する。
 次いで、階層設定要求プログラム121は、取得した境界のアドレス以降の仮想ページに実ページが割当てられているか否かを判定する(ステップS110)。ここで、取得した境界のアドレス以降の仮想記憶領域に実ページが割当てられているか否かについては、データセット管理テーブル124の境界のアドレスの次のアドレスに対応するエントリのページ#124gにページ#が設定されているか否かにより判定することができる。
 この結果、取得した境界のアドレス以降の仮想ページに実ページが割当てられている場合(ステップS110:Yes)には、階層設定要求プログラム121は、データセット管理テーブル124を参照して、取得した境界のアドレス以降の仮想ページに割り当てられているページ#を取得し(ステップS111)、処理をステップS112に進める。一方、取得した境界のアドレス以降の仮想ページに実ページが割当てられていない場合(ステップS110:No)には、階層設定要求プログラム121は、処理をステップS112に進める。
 ステップS112では、階層設定要求プログラム121は、ステップS111を実行した場合には、ページ移動させるためのCCW401(変更コマンドの一例)を生成して、ストレージ装置200に送信する一方、ステップS111を実行していない場合には、仮想ページに新たな実ページを割当てさせるためのCCW401(ページ割当てコマンドの一例)を生成して、ストレージ装置200に送信する。具体的には、階層設定要求プログラム121は、ステップS111を実行した場合には、CCW401のコマンド種別401bに、ページ移動を示す「ページ移動」を設定し、パラメータ401cに、移動させる対象のページ#と、ステップS108で算出したページ数と、データセット管理テーブル1124の対象DSに対応するエントリのユーザ指定ストレージ階層124bのストレージ階層とを設定する。
 一方、階層設定要求プログラム121は、ステップS111を実行していない場合には、CCW401のコマンド種別401bに、新しい実ページの割当てを示す「ページ割当て」を設定し、パラメータ401cに、実ページを割当てるVVOLの仮想ページの先頭のCCHHと、ステップS108で算出したページ数と、データセット管理テーブル124の対象DSに対応するエントリのユーザ指定ストレージ階層124bのストレージ階層とを設定する。
 図11は、実施例に係るページ割当て・移動処理のフローチャートである。
 ページ割当て・移動処理は、ストレージ装置200において、ページ割当て・移動プログラム211により実現される処理である。このページ割当て・移動処理は、ストレージ装置200が、ホスト計算機100から、ページ移動させるためのCCW401又は、新たな実ページを割当てさせるためのCCW401を受信した場合に実行される。
 ページ割当て・移動プログラム211は、受信したCCW401がページ移動を要求するものであるか否かを判定する(ステップS201)。CCW401がページ移動を要求するものであるか否かは、CCW401のコマンド種別401bが「ページ移動」であるか、「ページ割当て」であるかを確認することにより把握できる。
 この結果、CCW401がページ移動を要求するものである場合(ステップS201:Yes)には、ページ割当て・移動プログラム211は、CCW401のパラメータ401cからページ#、ページ数、及びストレージ階層を取得し(ステップS202)、取得したストレージ階層に対応する実ページから、取得したページ数分の空き実ページを移動先の実ページとして取得する(ステップS203)。本実施例では、ページ割当て・移動プログラム211は、実ページ管理テーブル213を参照し、取得したストレージ階層に対応し、且つ専有/非専有213gが専有であって、割り当てられていない(ページ#213にページ#が設定されていない)ページプールのエントリがあれば、当該エントリに対応する実ページを優先して、取得したページ#以降の取得したページ数分の仮想ページの移動先の実ページ、すなわち、仮想ページに対して新たに対応付ける実ページに決定する。ここで、専有/非専有213gが専有であるエントリに対応する実ページは、このページ割当て・移動処理でのみ割当てできるように管理されているので、適切なストレージ階層の実ページを割当て可能なように適切に確保しておくことができる。
 次いで、ページ割当て・移動プログラム211は、取得した実ページに対して、取得したページ#以降の取得したページ数分の仮想ページを移動する(ステップS204)。具体的には、ページ割当て・移動プログラム211は、取得したページ#以降の取得したページ数分の仮想ページに対して、取得した実ページを割当てる。なお、このページ移動の際には、移動元実ページにはデータセットのデータは書き込まれていないので、移動元実ページのページデータを移動先実ページに移動しなくても良い。これにより、以降に書込みが発生する可能性のある仮想記憶領域に対して割り当てられている1以上の実ページを所望するストレージ階層の実ページとすることができる。したがって、当該仮想記憶領域に対するデータの書込みが発生した場合には、データセットに要求される性能を適切に発揮することができる。
 一方、CCW401がページ移動を要求するものでない場合、すなわち、CCW401がページ割当てを要求するものである場合(ステップS201:No)には、ページ割当て・移動プログラム211は、CCW401のパラメータ401cから、CCHH、ページ数、及びストレージ階層を取得し(ステップS205)、取得したストレージ階層に対応する実ページから、取得したページ数分の空き実ページを割当て先の実ページとして取得する(ステップS206)。本実施例では、ページ割当て・移動プログラム211は、実ページ管理テーブル213を参照し、取得したストレージ階層に対応し、且つ専有/非専有213gが専有であって、割り当てられていない実ページのエントリがあれば、当該エントリに対応する実ページを優先して、取得したCCHH以降の取得したページ数分の仮想ページに対して新たに割り当てる実ページに決定する。ここで、専有/非専有213gが専有であるエントリに対応する実ページは、このページ割当て・移動処理でのみ割当てできるように管理されているので、適切なストレージ階層の実ページを割当て可能なように適切に確保しておくことができる。
 次いで、ページ割当て・移動プログラム211は、取得したCCHH以降の取得したページ数分の仮想ページに、取得した実ページを割当てる(ステップS207)。これにより、以降に書込みが発生する可能性のある仮想ページに対して、所望するストレージ階層の実ページを割当てることができる。したがって、当該仮想ページに対するデータの書込みが発生した場合には、データセットに要求される性能を適切に発揮することができる。
 図12は、実施例に係る上位ストレージ階層ページ確保コマンド処理のフローチャートである。
 上位ストレージ階層ページ確保コマンド処理は、ホスト計算機100において、ページ確保コマンドプログラム122により実現される処理である。この上位ストレージ階層ページ確保コマンド処理は、例えば、ストレージ階層設定要求処理が実行されるよりも前の時点に実行するようにしても良く、ストレージ階層設定要求処理と同時に実行するようにしても良い。
 ページ確保コマンドプログラム122は、ユーザに指定された、専有する実ページを確保する対象のプールID、確保する実ページのストレージ階層、及び確保する実ページの容量(確保専有容量)を取得する(ステップS121)。例えば、ページ確保コマンドプログラム122は、端末10に入力画面を表示させて、ユーザから入力画面によりこれら情報の指定を受け付けて、これら情報を記憶する。
 次いで、ページ確保コマンドプログラム122は、専有する実ページを確保するためのCCW401を作成し、CCW401をストレージ装置200に送信する(ステップS122)。具体的には、ページ確保コマンドプログラム122は、CCW401のコマンド種別401bに、専有する実ページの確保を示す「専有ページ確保」を設定し、パラメータ401cに、取得したプールID、ストレージ階層、及び確保専有容量を設定する。
 図13は、実施例に係る専有ページ確保処理のフローチャートである。
 専有ページ確保処理は、ストレージ装置200において、専有ページ確保プログラム212により実現される処理である。この専有ページ確保処理は、ホスト計算機100から、専有ページを確保するためのCCW401を受信した場合に実行される。
 専有ページ確保プログラム212は、専有ページを確保するためのCCW401を受信した場合には、受信したCCW401のパラメータ401cからプールID、ストレージ階層、及び確保専有容量を取得し(ステップS211)、取得したプールIDに対応するプール260の取得したストレージ階層に対応する実ページから、確保専有容量に対応するページ数分の空き実ページを探索して取得する(ステップS212)。本実施例では、専有ページ確保プログラム212は、実ページ管理テーブル213を参照し、取得したプールID、取得したストレージ階層に対応し、割り当てられていない実ページのエントリを、確保専有容量に相当する実ページの数だけ探索して取得する。
 次いで、専有ページ確保プログラム212は、確保したエントリの専有/非専有213gに「専有」に更新し(ステップS213)、処理を終了する。このように、専有/非専有213gに専有が設定されているエントリに対応する実ページは、ページ割当て・移動処理においてのみ仮想ページに割当てられることとなる。このため、適切なストレージ階層の実ページの空きを確保できる可能性が高くなるので、ユーザに指定されたDSの仮想ページに対して、このストレージ階層の実ページを適切に割り当てることができる。
 図14は、実施例に係る基準値・増分値算出処理のフローチャートである。
 基準値・増分値算出処理は、ホスト計算機100において、基準値・増分値算出プログラム123により実現される処理である。この基準値・増分値算出処理は、データセット管理テーブル124で管理されている各データセットを対象に実行される。また、基準値・増分値算出処理は、例えば、一定時間毎(例えば、ストレージ階層設定要求処理のステップS107でのウェイト時間毎)に実行される。なお、基準値・増分値算出処理は、ユーザにより基準値、増分値が設定される場合には、実行しないようにしても良い。また、基準値・増分値算出処理を行う場合には、ユーザによる基準値、増分値の設定を受け付けないようにしても良い。
 基準値・増分値算出プログラム123は、処理対象のデータセット(以下、このフローチャートの説明において、対象データセットという。)の使用量をOS130から取得し、また、データセット管理テーブル124の使用量124cに格納されている使用量、すなわち、所定の過去の時点での使用量(前使用量という。)を取得し、これらの使用量の差分である差分使用量を算出する(ステップS131)。
 次いで、基準値・増分値算出プログラム123は、差分使用量を、或る一定時間で除算することにより、対象データセットにおけるデータの書込み速度を算出する(ステップS132)。ここで、或る一定時間としては、ストレージ階層設定要求処理のステップS107でのウェイト時間としても良い。また、或る一定時間としては、対象データセットを使用するアプリケーションの属性に基づいたアプリケーション毎に異なる値としても良い。
 次いで、基準値・増分値算出プログラム123は、書込み速度と、ページサイズと、ストレージ装置200のページ移動に関わる性能(ページ移動性能)とに基づいて、基準値を決定する(ステップS133)。ここで、ページ移動性能は、例えば、ページを移動する際におけるデータ移動速度である。例えば、基準値・増分値算出プログラム132は、以下の式(2)により基準値を算出する。
基準値=ページサイズ/ページ移動性能×書込み速度・・・式(2)
 なお、基準値は、データセットのデータを書込んでいる現在の仮想ページの次にデータを書込む仮想ページについてのページ移動が完了するまでに、現在使用途中の仮想ページの残容量が枯渇しないことが或る程度保証されると想定される残容量の値である。基準値を算出する式は、上記した式(2)に限らず、例えば、ストレージ装置200の特性に関するパラメータ(例えば、ページサイズ、ページ移動性能)、アプリケーションの特性に関するパラメータ(例えば、アプリケーションでのデータ書込みが速いか否かを示すパラメータ等)等に基づいて決定するようにしても良い。
 次いで、基準値・増分値算出プログラム123は、データセット管理テーブル124の基準値124iに算出した基準値を設定し、増分値124jにページサイズを設定し(ステップS134)、基準値・増分値算出処理を終了する。このように、データセットの実際のデータの書込み速度、ページ移動性能に応じて基準値を決定するので、ページ移動を行うタイミングを実際のデータセットにおけるデータの書込みに応じて適切に決定することができる。
 以上、本発明の幾つかの実施例を説明したが、本発明は、これらの実施例に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
 例えば、上記実施例では、メインフレームであるホスト計算機を例にしていたが、オープン系のホスト計算機であっても良い。この場合には、データセットをファイルと読み替えれば良い。
 また、上記実施例では、データセットに割り当てるために所望のストレージ階層の実ページを所定の容量分だけ予め確保しておき、その確保している実ページを状況に応じて割当てるように利用していたが、例えば、予め所定の容量分の実ページを確保し、その確保したすべての実ページを仮想ボリュームに割り当てるようにしても良い。
 10…端末 100…ホスト計算機 200…ストレージ装置。

Claims (15)

  1.  複数の仮想ページで構成された仮想的な論理ボリュームである仮想ボリュームのアドレスを指定した、データオブジェクトのデータのライトコマンド、を送信するホスト計算機と、
     入出力性能が異なる複数の実ページ群から構成される複数のストレージ階層を含む階層型記憶領域を有し、前記ライトコマンドで指定されているアドレスが属する仮想ページに前記複数のストレージ階層の記憶領域のいずれかから実ページを割り当てるストレージ装置とを有し、
     前記ホスト計算機は、前記データオブジェクトについて前記仮想ボリュームに書込む前に、前記新たなデータの書込み先である書込み先仮想ページに実ページが割り当てられている場合に、前記書込み先仮想ページに割り当てられている実ページを所定の性能を有するストレージ階層の実ページに変更する変更コマンドを、前記ストレージ装置に送信し、
     前記ストレージ装置は、前記変更コマンドを受信し、前記変更コマンドに従って、前記書込み先仮想ページに割り当てられている前記実ページを、前記所定の性能を有する前記ストレージ階層の実ページに変更する、
    計算機システム。
  2.  前記ホスト計算機は、前記データオブジェクトについて前記仮想ボリュームに書込む前に、前記書込み先仮想ページに実ページが割当てられていない場合に、前記所定の性能を有するストレージ階層の実ページを前記書込み先仮想ページに割当てるページ割当てコマンドを前記ストレージ装置に送信し、
     前記ストレージ装置は、前記ページ割当てコマンドを受信し、前記ページ割当てコマンドに従って、前記書込み先仮想ページに、前記所定の性能を有する前記ストレージ階層の実ページを割当てる
    請求項1に記載の計算機システム。
  3.  前記データオブジェクトについて前記仮想ボリュームに書込む前とは、前記ホスト計算機が、前記データオブジェクトの現在の書き込み先の仮想ページに割り当てられている実ページの残容量が、所定の基準値以下であることを検出した場合である
    請求項1に記載の計算機システム。
  4.  前記所定の性能を有するストレージ階層とは、ユーザによって指定されたストレージ階層である
    請求項1に記載の計算機システム。
  5.  前記所定の基準値は、ユーザによって指定された基準値である
    請求項1に記載の計算機システム。
  6.  前記ホスト計算機は、前記データオブジェクトの使用量の増加速度に基づいて、前記所定の基準値を決定する
    請求項5に記載の計算機システム。
  7.  前記ホスト計算機は、前記ストレージ装置における実ページの移動に関する移動性能に基づいて、前記所定の基準値を決定する
    請求項5に記載の計算機システム。
  8.  前記ホスト計算機は、所定数の実ページを変更対象とする変更コマンドを前記ストレージ装置に送信する
    請求項2に記載の計算機システム。
  9.  前記ホスト計算機は、前記変更対象とする実ページの数を特定する対象ページ特定情報を受け付け、前記変更ページ特定情報に基づいて、前記所定数を決定する
    請求項8に記載の計算機システム。
  10.  前記ホスト計算機は、前記所定の性能を有するストレージ階層の1以上の実ページを確保する確保コマンドを前記ストレージ装置に送信し、
     前記ストレージ装置は、前記確保コマンドを受信し、前記確保コマンドに従って、前記所定の性能を有するストレージ階層の実ページを確保し、
     前記ストレージ装置は、前記変更コマンドを受信した場合に、前記書込み先仮想ページに、確保している前記実ページを優先して割り当てる
    請求項1に記載の計算機システム。
  11.  前記ホスト計算機は、前記所定の性能を有するストレージ階層の1以上の実ページを確保する確保コマンドを前記ストレージ装置に送信し、
     前記ストレージ装置は、前記確保コマンドを受信し、前記確保コマンドに従って、前記所定の性能を有するストレージ階層の実ページを確保し、
     前記ストレージ装置は、前記ホスト計算機から前記ページ割当て要求を受信した場合に、前記書込み先仮想ページに、確保している前記実ページを優先して割り当てる
    請求項2に記載の計算機システム。
  12.  前記ホスト計算機は、メインフレームであり、
     前記データオブジェクトは、データセットである
    請求項1に記載の計算機システム。
  13.  複数の仮想ページで構成された仮想的な論理ボリュームである仮想ボリュームのアドレスを指定した、データオブジェクトのデータのライトコマンド、を送信するホスト計算機と、入出力性能が異なる複数の実ページ群から構成される複数のストレージ階層を含む階層型記憶領域を有し、前記ライトコマンドで指定されているアドレスが属する仮想ページに前記複数のストレージ階層のいずれかから実ページを割り当てるストレージ装置とを有する計算機システム、において実現されるデータ管理方法であって、
     前記ホスト計算機は、前記データオブジェクトについて前記仮想ボリュームに書込む前に、前記新たなデータの書込み先である書込み先仮想ページに実ページが割り当てられている場合に、前記書込み先仮想ページに割り当てられている実ページを所定の性能を有するストレージ階層の実ページに変更する変更コマンドを、前記ストレージ装置に送信し、
     前記ストレージ装置は、前記変更コマンドを受信し、前記変更コマンドに従って、前記書込み先仮想ページに割り当てられている前記実ページを、前記所定の性能を有する前記ストレージ階層の実ページに変更する、
    データ管理方法。
  14.  前記ホスト計算機は、前記データオブジェクトについて前記仮想ボリュームに書込むべき新たなデータが発生する前の時点において、前記書込み先仮想ページに実ページが割当てられていない場合に、前記所定の性能を有するストレージ階層の実ページを前記書込み先仮想ページに割当てるページ割当てコマンドを前記ストレージ装置に送信し、
     前記ストレージ装置は、前記ページ割当てコマンドを受信し、前記ページ割当てコマンドに従って、前記書込み先仮想ページに、前記所定の性能を有する前記ストレージ階層の実ページを割当てる
    請求項13に記載のデータ管理方法。
  15.  入出力性能が異なる複数の実ページ群から構成される複数のストレージ階層を含む階層型記憶領域を有するストレージ装置に通信可能に接続される通信インタフェースデバイスと、
     前記通信インタフェースデバイスに接続された制御デバイスと
    を有し、
     前記制御デバイスは、複数の仮想ページで構成された仮想的な論理ボリュームであり実ページ単位で記憶領域が割り当てられる仮想ボリュームに前記データオブジェクトについて書込む前に、前記新たなデータが発生した場合に書込み先となる書込み先仮想ページに実ページが割り当てられている場合に、前記書込み先仮想ページに割り当てられている実ページを、所定の性能を有するストレージ階層の実ページに変更する変更コマンドを前記ストレージ装置に送信する
    ホスト計算機。
PCT/JP2013/050960 2013-01-18 2013-01-18 計算機システム、データ管理方法、及びホスト計算機 WO2014112104A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/428,003 US9619154B2 (en) 2013-01-18 2013-01-18 Computer system, data management method, and host computer
PCT/JP2013/050960 WO2014112104A1 (ja) 2013-01-18 2013-01-18 計算機システム、データ管理方法、及びホスト計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/050960 WO2014112104A1 (ja) 2013-01-18 2013-01-18 計算機システム、データ管理方法、及びホスト計算機

Publications (1)

Publication Number Publication Date
WO2014112104A1 true WO2014112104A1 (ja) 2014-07-24

Family

ID=51209225

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/050960 WO2014112104A1 (ja) 2013-01-18 2013-01-18 計算機システム、データ管理方法、及びホスト計算機

Country Status (2)

Country Link
US (1) US9619154B2 (ja)
WO (1) WO2014112104A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436751B1 (en) * 2013-12-18 2016-09-06 Google Inc. System and method for live migration of guest
JP6674092B2 (ja) * 2016-02-10 2020-04-01 富士通株式会社 データ管理プログラム、データ管理装置、及びデータ管理方法
US11216203B2 (en) * 2017-09-27 2022-01-04 Telefonaktiebolaget Lm Ericsson (Publ) Method and reallocation component for managing reallocation of information from source to target memory sled
US11503124B1 (en) * 2021-05-21 2022-11-15 Red Hat, Inc. Managing resource utilization in edge-computing systems
JP7429214B2 (ja) * 2021-10-07 2024-02-07 株式会社日立製作所 ストレージシステム及びストレージシステムにおけるデータ複製方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297699A (ja) * 1996-04-30 1997-11-18 Hitachi Ltd 階層記憶装置および階層記憶ファイル管理方法
JP2005050007A (ja) * 2003-07-31 2005-02-24 Hitachi Ltd ストレージシステムおよびその利用方法
JP2009086838A (ja) * 2007-09-28 2009-04-23 Internatl Business Mach Corp <Ibm> 記憶装置を制御する装置及び方法
JP2011227563A (ja) * 2010-04-15 2011-11-10 Hitachi Ltd ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
WO2012164718A1 (ja) * 2011-06-02 2012-12-06 株式会社日立製作所 ストレージ管理システム、計算機システム、及びストレージ管理方法
JP2012243117A (ja) * 2011-05-20 2012-12-10 Nec Corp 記憶媒体制御装置、記憶装置、記憶媒体制御方法、プログラム
WO2012169027A1 (ja) * 2011-06-08 2012-12-13 株式会社日立製作所 計算機システム及びストレージシステム管理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7404039B2 (en) 2005-01-13 2008-07-22 International Business Machines Corporation Data migration with reduced contention and increased speed
JP2009043238A (ja) 2007-07-19 2009-02-26 Hitachi Ltd 記憶領域管理方法および情報処理装置
US20090024810A1 (en) 2007-07-19 2009-01-22 Hitachi, Ltd. Memory area management method
US8566550B2 (en) 2009-09-22 2013-10-22 Hitachi, Ltd. Application and tier configuration management in dynamic page reallocation storage system
JP5523292B2 (ja) 2010-12-03 2014-06-18 株式会社日立製作所 シンプロビジョニングが適用された記憶制御装置
US8972694B1 (en) * 2012-03-26 2015-03-03 Emc Corporation Dynamic storage allocation with virtually provisioned devices
WO2013018128A1 (en) * 2011-08-01 2013-02-07 Hitachi, Ltd. Storage apparatus and method for allocating an internal logical volume associated with an external logical volume to an internal tiered pool by assessing or inferring, the performance of said external logical volume
WO2013030864A1 (en) * 2011-08-26 2013-03-07 Hitachi, Ltd. Storage system and method for reallocating data
WO2013042174A1 (en) * 2011-09-22 2013-03-28 Hitachi, Ltd. Computer system and storage management method
WO2013183088A1 (en) * 2012-06-07 2013-12-12 Hitachi, Ltd. Storage subsystem and storage control method
JP6142685B2 (ja) * 2013-06-12 2017-06-07 富士通株式会社 ストレージシステム、運用管理方法及び運用管理プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297699A (ja) * 1996-04-30 1997-11-18 Hitachi Ltd 階層記憶装置および階層記憶ファイル管理方法
JP2005050007A (ja) * 2003-07-31 2005-02-24 Hitachi Ltd ストレージシステムおよびその利用方法
JP2009086838A (ja) * 2007-09-28 2009-04-23 Internatl Business Mach Corp <Ibm> 記憶装置を制御する装置及び方法
JP2011227563A (ja) * 2010-04-15 2011-11-10 Hitachi Ltd ThinProvisioningに従う仮想的な論理ボリュームに対するデータのライトを制御する方法及びストレージ装置
JP2012243117A (ja) * 2011-05-20 2012-12-10 Nec Corp 記憶媒体制御装置、記憶装置、記憶媒体制御方法、プログラム
WO2012164718A1 (ja) * 2011-06-02 2012-12-06 株式会社日立製作所 ストレージ管理システム、計算機システム、及びストレージ管理方法
WO2012169027A1 (ja) * 2011-06-08 2012-12-13 株式会社日立製作所 計算機システム及びストレージシステム管理方法

Also Published As

Publication number Publication date
US9619154B2 (en) 2017-04-11
US20150253991A1 (en) 2015-09-10

Similar Documents

Publication Publication Date Title
JP5323989B2 (ja) ストレージ装置及びデータ管理方法
JP5406363B2 (ja) プール領域の一部の領域を動的にデータ格納領域として割り当てる記憶制御装置及び記憶制御方法
US8549247B2 (en) Storage system, management method of the storage system, and program
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
JP4727705B2 (ja) 階層型ストレージシステム
US8621178B1 (en) Techniques for data storage array virtualization
US9680933B2 (en) Computer system
US9921781B2 (en) Storage system including multiple storage apparatuses and pool virtualization method
US9323463B2 (en) Storage system and cache control method
US20100100678A1 (en) Volume management system
US20120011329A1 (en) Storage apparatus and storage management method
US20130138908A1 (en) Storage system and pool capacity scale-down control method
JP2015520876A (ja) 情報記憶システム及び情報記憶システムの制御方法
WO2011101909A1 (ja) 仮想ボリュームの制御方法及びストレージ装置
WO2014112104A1 (ja) 計算機システム、データ管理方法、及びホスト計算機
US9003087B2 (en) Compound storage system and storage control method
WO2014155555A1 (ja) 管理システム及び管理プログラム
KR101579941B1 (ko) 가상머신 i/o 관리 방법 및 장치
US8527732B2 (en) Storage system and method of controlling storage system
WO2014141363A1 (ja) ストレージシステムおよびストレージシステムの制御方法
US9239681B2 (en) Storage subsystem and method for controlling the storage subsystem
US9128819B2 (en) Storage system and management method therefor
JP2017130130A (ja) ストレージ装置、仮想ボリューム制御システムおよび仮想ボリューム制御方法

Legal Events

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

Ref document number: 13871596

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14428003

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13871596

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP