WO2016157421A1 - ストレージ装置及びその制御方法 - Google Patents

ストレージ装置及びその制御方法 Download PDF

Info

Publication number
WO2016157421A1
WO2016157421A1 PCT/JP2015/060167 JP2015060167W WO2016157421A1 WO 2016157421 A1 WO2016157421 A1 WO 2016157421A1 JP 2015060167 W JP2015060167 W JP 2015060167W WO 2016157421 A1 WO2016157421 A1 WO 2016157421A1
Authority
WO
WIPO (PCT)
Prior art keywords
command
logical
logical unit
unit
group
Prior art date
Application number
PCT/JP2015/060167
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 JP2017508934A priority Critical patent/JP6247792B2/ja
Priority to PCT/JP2015/060167 priority patent/WO2016157421A1/ja
Priority to US15/553,180 priority patent/US20180121091A1/en
Publication of WO2016157421A1 publication Critical patent/WO2016157421A1/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Definitions

  • the present invention relates to a storage apparatus and a control method thereof, and in particular, a processing method to which an LDEV (Logical Device) ownership is applied as a processing method of an I / O (Input / Output) command is adopted, and a logical unit (LU) is used.
  • LDEV Logical Device
  • I / O Input / Output
  • LU logical unit
  • a logical unit called a command device is provided in the storage apparatus separately from the logical unit in which the upper apparatus reads / writes data, and the upper apparatus uses commands for the storage apparatus as data. Write to the command device.
  • the command written in the command device is read from the command device and executed by the processor that can execute the command among the plurality of processors.
  • the present invention has been made in view of the above points, and an object of the present invention is to propose a storage apparatus and its control method that can effectively prevent a decrease in response performance to an I / O command.
  • a logical unit having a plurality of storage devices managing storage areas provided by the storage devices as one pool, and cutting out a part of the pool
  • a storage device that associates a device with a logical unit and provides the logical unit as a storage area to a host device, a channel control unit that sends and receives commands and data to and from the host device, and a command from each host device
  • a plurality of command processing units for processing the logical unit, and for each logical device, the command processing unit having ownership of the logical device is preset, and the logical unit associated with the logical device is targeted.
  • the command from the host device has the ownership of the logical unit.
  • the command processing unit executes and a plurality of the logical units are managed as one group, and one logical unit in the group is defined as a logical unit representing the group, and the group representing the group
  • the format of the command targeting the logical unit is different from the format of the command targeting the logical unit in the group other than the logical unit, and the channel control unit is provided by the host device. If the format of the command is analyzed, and the logical unit targeted by the command is the logical unit other than the logical unit representing the logical unit in the group based on the analysis result, the command Associated with the logical unit subject to And to forward the command to the command processing unit having the ownership of the serial logic device.
  • a plurality of storage devices are provided, the storage areas provided by the storage devices are managed as one pool, and a logical device obtained by cutting out a part of the pool is defined as a logical unit.
  • a storage device control method for providing the logical unit as a storage area to a host device, wherein the storage device sends and receives commands and data to and from the host device, and A plurality of command processing units for processing commands from a host device, and each command processing unit having ownership of the logical device is set in advance for each logical device and associated with the logical device. The command from the higher-level device targeted for the logical unit is transferred to the logical unit.
  • the command processing unit having a right is executed, a plurality of the logical units are managed as one group, and one logical unit in the group is defined as a logical unit representing the group, and the group And the command format for the logical unit in the group other than the logical unit is different from the format of the command for the logical unit representing the channel unit.
  • a first step of analyzing a format of the given command; and the channel control unit, based on the analysis result, the logical unit targeted by the command is representative of the logical unit in the group If it is a logical unit other than a logical unit, And as a second step of transferring the command to the command processing unit having the ownership of the logical device associated with the logical unit to be command of the subject.
  • FIG. 10 is a conceptual diagram for explaining I / O processing when I / O commands for an SLU conflict.
  • reference numeral 1 denotes an information processing system according to this embodiment as a whole.
  • the information processing system 1 includes a host computer 2 and first and second storage apparatuses 3A and 3B.
  • the host computer 2 is a computer device provided with information processing resources such as a CPU (Central Processing Unit) and a memory, and includes, for example, a personal computer, a workstation, a main frame, and the like.
  • the host computer 2 is connected to the first storage device 3A via the network 4 and transmits an I / O command such as a read command or a write command to the first storage device 3A. Data to be read / written to / from the first storage device 3A.
  • I / O command such as a read command or a write command
  • the first and second storage devices 3A and 3B each include one or more channel control units 10, one or more disk control units 11, a connection unit 12, a cache memory 13, and a plurality of microprocessor packages 14, One or a plurality of storage devices 15 respectively connected to the disk control unit 11 are configured.
  • the channel control unit 10 is hardware that functions as an interface at the time of communication with the host computer 2 and other storage devices (second or first storage device 3B, 3A) other than the own storage device.
  • the port 10A includes a microprocessor 20, a port control unit 21, a local router 22, and a buffer memory 23.
  • Each port 10A is assigned a unique address such as an IP (Internet Protocol) address or a WWN (World Wide Name). Access to the first and second storage apparatuses 3A and 3B is performed by designating the address of a specific port 10A permitted by the access source.
  • IP Internet Protocol
  • WWN World Wide Name
  • the microprocessor 20 is hardware having a function for controlling the operation of the entire channel control unit 10, and various processes as the entire channel control unit 10 are performed by executing the control program 24.
  • the port control unit 21 is an interface that performs protocol control during communication with the host computer 2.
  • the local router 22 is a virtual router that is implemented by the microprocessor 20 executing the control program 24, and has an I / O command transfer function for transferring the received I / O command to an appropriate microprocessor package 14. Have Details of the “appropriate microprocessor package” will be described later.
  • the buffer memory 23 is used as a data buffer at the time of data transfer between the channel control unit 10 and the host computer 2. The buffer memory 23 also stores various control information 25 described later.
  • the disk control unit 11 is hardware that functions as an interface to the storage device 15.
  • the disk control unit 11 accesses the corresponding storage device 15 based on the I / O command from the host computer 2 given through the channel control unit 10, and is specified in the I / O command in the storage device 15. Read / write data in the storage area.
  • the connection unit 12 includes, for example, an ultra high-speed cross bus switch, and all the channel control unit 10, the disk control unit 11, the cache memory 13, and the microprocessor package 14 are connected thereto. Data and various commands are exchanged between the channel control unit 10, the disk control unit 11, the cache memory 13 and the microprocessor package 14 through the connection unit 12.
  • Each cache memory 13 is composed of one or more semiconductor memory elements (for example, DRAM (Dynamic Random Access Memory)).
  • DRAM Dynamic Random Access Memory
  • the microprocessor package 14 includes a memory controller hub 30, a local memory 31, and a plurality of microprocessors 32.
  • the memory controller hub 30 is a hub that connects a plurality of microprocessors 32 to the local memory 31.
  • the local memory 31 is used to hold a control program (microprogram) 33, for example.
  • the microprocessor 32 is hardware having a function for controlling the operation of the entire first or second storage device 3A, 3B.
  • the microprocessor 32 reads a control program (microprogram) 33 from the local memory 31 via the memory controller hub 30, and in accordance with the control program 33, a higher-level device (first device) provided via the channel control unit 10 and the connection unit 12.
  • a control program microprogram
  • first device a higher-level device
  • the I / O command from the host computer 2 is processed
  • the I / O command from the first storage device 3A is processed.
  • the processing of the I / O command is executed by the microprocessor 32 having a margin capable of processing the I / O command among the plurality of microprocessors 32 at that time.
  • the storage device 15 includes, for example, an expensive disk such as a SCSI (Small Computer System Interface) disk or an inexpensive disk such as a SATA (Serial AT Attachment) disk or an optical disk.
  • an expensive disk such as a SCSI (Small Computer System Interface) disk or an inexpensive disk such as a SATA (Serial AT Attachment) disk or an optical disk.
  • the storage areas provided by each of the one or more storage devices 15 are managed as one storage area called a pool 40, and a partial area on the pool 40 is cut out and logical devices (hereinafter referred to as LDEVs). (Referred to as Logical Device) 41.
  • LDEVs logical devices
  • Logical Device 41 logical devices 41.
  • Each of these LDEVs 41 is associated with a logical unit 42 having the same capacity as that LDEV 41, and these logical units 42 are provided to the host computer 2 as a storage area.
  • a plurality of logical units 42 assigned to the same host computer 2 are managed as a host group 43.
  • Each logical unit 42 is assigned a unique identifier (LUN).
  • LUN unique identifier
  • Data read / write with respect to each logical unit 42 is a number unique to the logical block assigned to this LUN and a block of a predetermined size in the logical unit 42 (hereinafter referred to as a logical block).
  • a combination of LBA: Logical Block Address) is used as an address, and the address is designated by an I / O command. Note that data read / write to the logical unit 42 is actually performed on the storage area associated with the address specified in the I / O command in the LDEV 41 associated with the logical unit 42. .
  • the first and second storage apparatuses 3A and 3B of the present embodiment store the data written by the host computer 2 to a certain logical unit 42 in the first storage apparatus 3A.
  • a replication function for replicating (duplicating) the logical unit 42 in the second storage apparatus 3B paired with the unit 42 is installed.
  • the specific channel control unit 10 of the first storage device 3A and the specific channel control unit 10 of the second storage device 3B are connected via a communication path 5 such as a cable or a network. Connected.
  • the first storage device 3A is a case where data is written to the logical unit 42 by the host computer 2, and the logical unit 42 is paired with any logical unit 42 in the second storage device 3B.
  • the data is transferred to the second storage device 3B via the communication path 5 together with the I / O command in synchronism with or asynchronously with the write.
  • the second storage device 3B that has received the data and the I / O command is paired with the logical unit 42 in the first storage device 3A to which the data has been written based on the I / O command.
  • the data is written to the logical unit 42 in the storage apparatus that has been selected.
  • LDEV ownership rights (2-1) Overview of LDEV Ownership Rights
  • a microprocessor package 14 having the authority to process an I / O command for the LDEV 41 is set in advance.
  • this authority is referred to as an LDEV owner right for the LDEV.
  • This LDEV ownership is automatically set to one of the microprocessor packages 14 when there is no instruction from the outside in accordance with an instruction from the outside when the LDEV 41 is created.
  • the LDEV ownership can be transferred to another microprocessor package 14 without stopping the first or second storage device 3A, 3B. Therefore, the load between the microprocessor packages 14 can be changed by appropriately transferring the LDEV owner right while monitoring the monitoring information such as the status of I / O access to the LDEV 41 and the operating rate of each processor 32 in the microprocessor package 14. Dispersion can be performed.
  • the local router 22 (FIG. 1) installed in the channel control unit of the first and second storage apparatuses 3A and 3B sends the received I / O command to the above-mentioned I / O command. As described above, an I / O command transfer function for transferring to an appropriate microprocessor package 14 is provided.
  • This I / O command transfer function is a first I / O command transfer function for transferring an I / O command from the host computer 2 to an appropriate microprocessor package 14 (hereinafter referred to as a host I / O command transfer function).
  • a host I / O command transfer function When the data replication is performed between the first and second storage apparatuses 3A and 3B, the I / O command from the first storage apparatus 3A that is the replication source is sent to the second replication apparatus that is the replication destination.
  • the storage device 3B can be divided into a second I / O command transfer function (hereinafter referred to as an inter-storage device I / O command transfer function) for transferring to an appropriate microprocessor package 14.
  • the local router 22 corresponds to each port 10A (FIG. 1) of the channel control unit 10 (FIG. 1) as means for realizing the host I / O command transfer function described above.
  • a host target microprocessor package search table (hereinafter referred to as a host target MPPK search table) 50 is created and managed.
  • This host target MPPK search table 50 constitutes a part of the above-described control information 25 (FIG. 1) stored in the buffer memory 23 (FIG. 1) of the channel control unit 10.
  • the host target MPPK search table 50 includes an SID column 50A, a LUN column 50B, and a head processor number column 50C as shown in FIG.
  • the source ID is stored in the SID column 50A
  • the LUN of each logical unit 42 constituting the corresponding group is stored in the LUN column 50B.
  • the identification number hereinafter referred to as the identification number
  • the microprocessor 32 FIG. 1
  • the local router 22 When receiving the I / O command from the host computer 2, the local router 22 acquires the source ID and the LUN of the logical unit 42 from the I / O command, and acquires the acquired source ID and LUN.
  • the processor number of the first microprocessor 32 of the microprocessor package 14 having the LDEV ownership of the logical unit 42 is searched on the host target MPPK search table 50 using the combination of
  • the local router 22 further searches for the microprocessor package 14 corresponding to the head processor number detected by the search, and transfers the I / O command to the microprocessor package 14.
  • the local router 22 is a means for realizing the above-mentioned inter-storage device I / O command transfer function, as shown in FIG.
  • the inter-storage device I / O command MPPK search table) 51 is created and managed.
  • This inter-storage device I / O command MPPK search table 51 constitutes a part of the above-described control information 25 (FIG. 1) stored in the buffer memory 23 (FIG. 1) of the channel controller 10 (FIG. 1). Therefore, it is used to manage the LDEV ownership of each LDEV 41 (FIG. 2) in the own storage device.
  • the inter-storage device I / O command MPPK search table 51 includes an LDEV number column 51A and a first processor number column 51B as shown in FIG.
  • the LDEV number column 51A stores the LDEV number of each LDEV 41 defined in the own storage device
  • the head processor number column 51B stores the head of the microprocessor package 14 having the LDEV ownership of the corresponding LDEV 41.
  • the processor number of the microprocessor 32 is stored.
  • an I / O command transferred between the primary storage apparatus and the secondary storage apparatus may be exchanged in a vendor-unique format.
  • the logical unit 42 that is the I / O target is specified by the LUN, and the LUN that is received by this I / O command is converted to an LDEV number.
  • the LDEV of the access destination is specified, but in the exchange of I / O commands between the storage devices, the LDEV number of the LDEV associated with the logical unit to be I / O is used as it is from the primary storage device to the secondary side. To the storage device.
  • Bit 0 is replaced with the vendor unique LUN format in which the LDEV number of the LDEV 41 associated with the logical unit is stored instead of the LUN of the logical unit to be I / O-targeted.
  • the second storage device 3B that has received the I / O command from the first storage device 3A acquires the LDEV number of the target LDEV 41 from the received I / O command, and uses the acquired LDEV number as a key.
  • the processor number of the first microprocessor 32 of the microprocessor package 14 having the LDEV ownership of the LDEV 41 is searched on the inter-storage device I / O command MPPK search table 51.
  • the second storage device 3B searches for the microprocessor package 14 associated with the first processor number detected by this search, and transfers the I / O command to the microprocessor package 14.
  • FIG. 5 shows a series of I executed in the first or second storage device 3A, 3B that has received an I / O command in relation to the LDEV ownership. The flow of / O processing is shown.
  • the channel control unit 10 of the first or second storage device 3A, 3B is a host device (the host computer 2 in the case of the first storage device 3A, the first storage device in the case of the second storage device 3B).
  • SP1 an I / O command is given from 3A (SP1)
  • the received I / O command is analyzed by the local router 22 to identify the logical unit 42 to be I / O target.
  • the local router 22 transmits the microprocessor package 14 having the LDEV ownership of the LDEV 41 (FIG. 2) associated with the specified logical unit 42 to the host target MPPK search table 50 or the I / O between storage devices as described above.
  • the O command MPPK search table 51 is used to specify the I / O command to the specified microprocessor package 14 (SP2).
  • the I / O command is processed by the microprocessor package 14 that has received the transfer of the I / O command (SP3).
  • FIG. 6 shows that immediately after the I / O command is transferred to the microprocessor package 14, the LDEV ownership of the LDEV 41 associated with the logical unit 42 that is the I / O target in the I / O command The flow of processing when moved to the microprocessor package 14 is shown.
  • the microprocessor package 14 that has received the transfer of the I / O command does not already have the LDEV ownership of the I / O target LDEV 41, the I / O command is transferred to the LDEV. Transfer to the microprocessor package 14 to which the ownership is transferred (SP12).
  • the I / O command is processed by the microprocessor package 14 that has received the transfer of the I / O command (SP13).
  • FIG. 7 shows the flow of processing when data replication is executed between the first and second storage apparatuses 3A and 3B.
  • processing until the channel control unit 10 of the first storage device 3A that has received the I / O command from the host computer 2 transfers the I / O command to the microprocessor package 14 to be I / O ( The flow of SP20, SP21) is the same as in the case of FIG.
  • the microprocessor package 14 to which the I / O command from the host computer 2 has been transferred writes data to the logical unit 42 according to the I / O command (SP22), and then the I / O command and The data is transferred to the second storage device 3B via the channel controller 10 and the communication path 5 (FIG. 1) (SP23, SP24).
  • the logical unit 42 designated as the I / O target in the I / O command is the same as in the case described above with reference to FIG.
  • the I / O command is transferred to the microprocessor package 14 having the LDEV ownership of the associated LDEV 41 and processed (SP25, SP26).
  • the conglomerate LUN system is a management system for the logical unit 42 proposed in 4r36h of SPC (SCSI Primary Commands).
  • a plurality of logical units 42 are grouped into groups called logical unit conglomerates, and one logical unit 42 in the logical unit conglomerate 60 is logically grouped.
  • a logical unit 42 representative of the unit conglomerate 60 (hereinafter referred to as an ALU (Administrative Logical Unit) 42A) is defined, and other logical units 42 in the group are logical units 42 under the ALU 42A. (Hereinafter, this is referred to as SLU (Subsidiary Logical Unit) 42S) and is associated with the ALU 42A in the logical unit conglomerate 60.
  • the upper device recognizes the ALU 42A as a SCSI device and the same logical unit as the SLU 42S under it. This is performed by an I / O command in the LUN format described later with reference to FIG. 12 for the ALU 42A belonging to the conglomerate 60.
  • LDEV ownership can be set independently for each logical unit 42 (ALU 42A and SLU 42S) constituting the logical unit conglomerate 60. Therefore, for example, as shown in FIG. 9, the LDEV ownership of a certain microprocessor package 14 is set for a part of the logical units 42 constituting the same logical unit conglomerate 60, and the remaining logical units are set. 42, the LDEV ownership of another microprocessor package 14 can be set.
  • the correspondence relationship between the ALU 42A and the SLU 42S is managed using the ALU-SLU relation table 62 shown in FIG.
  • the ALU-SLU association table 62 includes the same number of ALU index columns 62A as the number of SLUs that can be set in the system.
  • Each ALU index column 62A is associated with the LDEV number of the LDEV 41 associated with any SLU 42S.
  • Each ALU index column 62A stores a bitmap having the same number of bits as the number of ALUs 42A that can be set in the system.
  • the bit corresponding to the ALU 42A of the logical unit conglomerate 60 to which the SLU 42S corresponding to the ALU index column 62A belongs is set to “1”, and the other bits are set to “0”.
  • the number of the leftmost bit of the bitmap is “0”, and the number of bits from the bit to the bit set to “1” of the bitmap is the index of the ALU 42A corresponding to the bitmap. It shall be called a number.
  • the index number of the ALU 42A is assigned to the ALU 42A for convenience, and is different from the LDEV number of the LDEV 41 with which the ALU 42A is associated. Therefore, the correspondence between the index number of the ALU 42A and the LDEV number of the LDEV 41 with which the ALU 42A is associated is managed using the ALU-LDEV relation table 63 shown in FIG.
  • the ALU-LDEV related table 63 includes the same number of LDEV number columns 63A as the number of ALUs that can be set in the system. Each LDEV number column 63A is associated with an index number of any ALU 42A. Each LDEV number column 63A stores the LDEV number of the LDEV 41 associated with the ALU 42A having the corresponding index number.
  • the index number of the ALU 42A of the logical unit conglomerate 60 to which the SLU 42S associated with the LDEV 41 having the LDEV number “2” belongs is “1”.
  • the LDEV number of the LDEV 41 associated with the ALU 42A is “0000”.
  • the ALU-SLU related table 62 and the ALU-LDEV related table 63 are stored and held in the local memory 31 (FIG. 1) of the microprocessor package 14, and the microprocessor 32 is connected to the I / O. Used when processing commands.
  • the host computer 2 can recognize only the ALU 42A among the logical units 42 constituting the logical unit conglomerate 60 as a SCSI device as described above, the host computer 2 can recognize the logical unit conglomerate 60.
  • the ALU 42A is always designated as an I / O target by the I / O command when accessing any of the ALU 42A and the SLU 42S constituting the.
  • the I / O target specified in the I / O command is the ALU 42A of the logical unit conglomerate 60 or the logical unit conglomerate 60.
  • the I / O command is transferred to the ALU 42A or the microprocessor package 14 having the LDEV ownership of the normal logical unit 42.
  • the microprocessor package 14 Upon receiving this I / O command, the microprocessor package 14 analyzes the received I / O command and sets the ALU 42A or the normal logical unit 42 associated with the LDEV 41 having the LDEV ownership to the I / O command. If it is the target, the I / O command is processed, and if the other microprocessor package 14 is the logical unit 42 associated with the LDEV 41 having the LDEV ownership, the I / O command is processed. The / O command is transferred to the other microprocessor package 14, and the I / O command is processed in the other microprocessor package 14.
  • the microprocessor package 14 having the LDEV ownership of the LDEV 41 associated with the ALU 42A of the logical unit conglomerate 60, and the logical unit conglomerate 60 thereof When the microprocessor package 14 having the LDEV ownership of the LDEV 41 associated with the SLU 42S belonging to the SLU 42S is different (see FIG. 9), the I / O command for the SLU 42S always has the LDEV ownership of the ALU 42A. Since the microprocessor package 14 is transferred to the microprocessor package 14 having the LDEV ownership of the SLU 42S, there is a problem that the response performance to the I / O command is lowered.
  • the local router 22 (FIG. 1) performs the I / O command.
  • the O command is analyzed and the logical unit 42 to be I / O is the SLU 42S of the logical unit conglomerate 60, the I / O command has the LDEV ownership of the LDEV 41 associated with the SLU 42S.
  • an I / O command transfer function for transferring directly to the microprocessor package 14 is implemented in the first and second storage apparatuses 3A and 3B.
  • the ALU 42A is the I / O target
  • the SLU 42S is The format of the field for designating the I / O target logical unit 42 (hereinafter referred to as “LUN format”) differs between the case of the I / O target and the first storage device 3A and the second storage device 3A.
  • the local router 22 (FIG. 1) of the storage apparatus 3B can easily determine whether the I / O target of the I / O command is the ALU 42A or the SLU 42S based on the LUN format of the I / O command. Has been made.
  • the LUN format in the I / O command that designates the ALU 42A (and the normal logical unit 42 that does not constitute the logical unit conglomerate 60) as an I / O target is shown in FIG.
  • This LUN format is a format defined as a specification in the SCSI standard. In byte 0 and bits 7-6, “00b” which is a fixed value is stored as “ADDRAMETHOD”. Byte 0, bit 5 to byte 1 and bit 0 store the LUN of the logical unit that is the I / O target, and byte 2 to byte 7 store “0” as “Reserved”. .
  • the LUN format shown in FIG. 12 is used as the LUN format in the I / O command that designates the SLU 42S as the I / O target.
  • This LUN format is also a format defined by the SCSI standard.
  • byte 0-1 the LUN of ALU 42A belonging to the same logical unit conglomerate 60 is specified in the same format as byte 0-1 in FIG.
  • bit 2 to byte 7, and bit 0 are areas for designating SLU 42S, and “11b”, which is a fixed value as “ADDR METHOD”, is assigned to byte 2 and bits 7-6.
  • 2 and bits 5-4 store “10b” as a fixed value as “LENGTH”, and bytes 2 and bits 3-0 store “2h” as a fixed value as “EXTENDEDENDADDRESS METHOD”, respectively.
  • the LDEV number of the LDEV 41 associated with the SLU 42S is stored as identification information for specifying the SLU 42S targeted for I / O.
  • the inter-storage device I / O command MPPK search table 51 since then can be used.
  • the microprocessor package 14 to which the I / O command is transferred can be easily specified. In byte 7, “0” is stored as “Reserved”.
  • FIG. 13 shows local routers 22 (first and second storage apparatuses 3A, 3B related to the I / O command transfer function according to this embodiment described above ( The specific processing content of FIG. 1) is shown.
  • the local router 22 transfers the received I / O command to the appropriate microprocessor package 14 according to the processing procedure shown in FIG.
  • the local router 22 when the local router 22 receives the I / O command, the local router 22 starts the I / O command transfer process shown in FIG. 13. First, a command descriptor block (CDB: Command Descriptor Block) of the received I / O command is obtained. Analysis is performed (SP30), and based on the analysis result, it is determined whether or not the I / O command is a SCSI command (SP31).
  • CDB Command Descriptor Block
  • the format of the I / O command between the first and second storage apparatuses 3A and 3B is a vendor-unique format.
  • the I / O command is an I / O command transmitted from the first storage device 3A to the second storage device 3B, and the second I / O command is received. It means that the storage device 3B.
  • the local router 22 uses the LDEV number obtained by the analysis in step SP30 as a key, and the processor number of the first microprocessor 32 (FIG. 1) of the microprocessor package 14 having the LDEV ownership of the LDEV 41 of the LDEV number. Are searched on the inter-storage device I / O command MPPK search table 51 (FIG. 4) (SP34).
  • the local router 22 transfers the I / O command to the microprocessor package 14 detected by this search (SP36), and thereafter ends this I / O command transfer processing.
  • obtaining a positive result in the determination at step SP31 means that the I / O command belongs to (A) the ALU 42A in the first storage device 3A and (B) the same logical unit conglomerate 60 as the ALU 42A. This means that this is an I / OL command that targets either the SLU 42S existing in one storage apparatus 3A and the normal logical unit 42 that does not constitute the logical unit conglomerate 60.
  • the local router 22 refers to the bytes 2-7 of the LUN format of the I / O command and determines whether or not the I / O command is an I / O command that targets the SLU 42S as an I / O target. It is determined whether or not the LUN format is not the LUN format of FIG. 11 but the LUN format of FIG. 12 (SP32).
  • the local router 22 When the local router 22 obtains a negative result in this determination, it acquires the LDEV number of the LDEV 41 associated with the I / O target SLU from the bytes 3-6 of the LUN format of the I / O command (SP33).
  • the local router 22 uses the acquired LDEV number as a key and sets the processor number of the first microprocessor 32 of the microprocessor package 14 having the LDEV ownership of the logical unit 42 associated with the LDEV 41 of the LDEV number as the inter-storage device I
  • the / O command MPPK search table 51 is searched (SP34).
  • the local router 22 transfers the I / O command to the microprocessor package 14 detected by this search (SP36), and thereafter ends this I / O command transfer processing.
  • the local router 22 acquires the LUN from bytes 0-1 of the LUN format of the I / O command and corresponds to the ALU 42A to which the acquired LUN is assigned.
  • the processor number of the first microprocessor 32 of the microprocessor package 14 having the ownership of the attached LDEV 41 is searched on the host target MPPK search table 50 (FIG. 3) (SP35).
  • the local router 22 transfers the I / O command to the microprocessor package 14 detected by this search (SP36), and thereafter ends this I / O command transfer processing.
  • a plurality of ALUs 42A are associated with one SLU 42S (that is, the SLU 42S includes a plurality of logical units,
  • the SLU 42S includes a plurality of logical units
  • the host computers 2 share the SLU 42S, and the I / O system is connected to the SLU 42S through a plurality of paths.
  • a / O command will be issued. Under such circumstances, there may occur a situation in which I / O commands from a plurality of host computers 2 for the SLU 42S compete.
  • a priority management table 70 as shown in FIG. 15 is stored in the local memory 31 (FIG. 1) of each microprocessor package 14.
  • the priority management table 70 is a table used for managing the priority of the ALU 42A set in advance for the corresponding SLU 42S, and is prepared for each SLU 42S.
  • This priority management table 70 includes a LUN column 70A and a priority column 70B.
  • the LUN column 70A is assigned to each ALU 42A existing in the first or second storage apparatus 3A, 3B.
  • Each of the LUNs stored is stored, and in the priority column 70B, a value representing the priority of the ALU 42A set for each ALU 42A associated with the SLU 42S is stored in the corresponding SLU 42S.
  • the priority column 70B a value representing the priority of the ALU 42A set for each ALU 42A associated with the SLU 42S is stored in the corresponding SLU 42S.
  • FIG. 15 it is assumed that the smaller the priority value, the higher the priority.
  • the microprocessor 32 of the microprocessor package 14 refers to the priority management table 70 corresponding to the SLU 42S and refers to the I / O command.
  • An I / O command having a higher priority of the ALU 42A in which the LUN is stored in bytes 0-2 of the LUN format (FIG. 12) of the command is processed with higher priority.
  • This function is equivalent to setting priorities for a plurality of host computers 2 sharing the same SLU 42S. Therefore, by installing such a function in the first storage device 3A, it becomes more important. It is possible to preferentially process an I / O command from the host computer 2 that performs an appropriate process.
  • a queue 71 for each ALU 42A associated with the SLU 42S as shown in FIG. 16 is prepared on the local memory 31 (FIG. 1) of each microprocessor package 14.
  • the I / O command transferred from the channel controller 10 is stored in the queue 71 of the ALU 42A corresponding to the LUN stored in bytes 0-2 of the LUN format (FIG. 12).
  • the I / O commands stored in the queue 71 may be repeatedly processed in order according to the priority of the corresponding ALU 42A. Note that “number according to priority” means that more I / O commands stored in the queue 71 corresponding to the ALU 42A having higher priority are processed.
  • FIG. 15 there are four ALUs 42A with LUNs “0” to “3”, and higher priorities are set in this order for the ALUs 42A with LUNs “2”, “3”, and “1”. If, for example, three I / O commands stored in the queue 71 corresponding to the ALU 42A having the highest priority “ALU2” are processed, for example, then the ALU 42A having the next highest priority “ALU3” is processed. Two I / O commands stored in the corresponding queue 71 are processed, and one I / O command stored in the queue 71 corresponding to the ALU 42A having the lowest priority “ALU1” is processed. The above processing may be repeated.
  • the I / O command from the host computer 2 that performs more important processing can be processed more preferentially.
  • the above method can be applied even in an environment where a single ALU 42A is defined as a path to a plurality of ports 10A as shown in FIG.
  • the priority management table 70 and the queue 71 are prepared not in units of SLUs 42S but in units of ALUs 42A, and priorities between the ports 10A for each port 10A are set.
  • the microprocessor package 14 as a command processing unit for processing an I / O command from a host device is configured as shown in FIG. 1 is described.
  • various other configurations can be widely applied.
  • the number of the microprocessors 32 (FIG. 1) included in the command processing unit may be one.
  • the present invention employs a processing method to which LDEV ownership is applied as an I / O command processing method, and a storage device adopting a conglomerate LUN method as a logical unit management method, as well as similar I / O command processing.
  • the present invention can be widely applied to storage apparatuses that employ both the method and the logical unit management method.
  • SYMBOLS 1 Information processing system, 2 ... Host computer, 3A, 3B ... Storage apparatus, 10 ... Channel control part, 10A ... Port, 14 ... Microprocessor package, 15 ... Storage device, 20, 32 ... ... Microprocessor, 22 ... Local router, 25 ... Control information, 41 ... LDEV, 42 ... Logical unit, 42A ... ALU, 42B ... SLU, 50 ... Host target MPPK search table, 51 ... Inter-storage device I / O command MPPK search table, 60 ... Logical unit conglomerate, 62 ... ALU-SLU related table, 63 ... ALU-LDEV related table, 70 ... Priority table, 71 ... Queue .

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)
  • Storage Device Security (AREA)

Abstract

【課題】 I/Oコマンドに対する応答性能の低下を有効に防止し得るストレージ装置及びその制御方法を提案する。 【解決手段】 ストレージ装置及びその制御方法において、論理デバイスごとに、当該論理デバイスのオーナ権を有するコマンド処理部が予めそれぞれ設定され、複数の論理ユニットを1つのグループとして管理すると共に、当該グループ内の1つの論理ユニットが当該グループを代表する論理ユニットとして定義され、上位装置から与えられたコマンドのフォーマットに基づいて、当該コマンドが対象とする論理ユニットが、グループ内の当該論理ユニットを代表する論理ユニット以外の論理ユニットである場合には、当該コマンドの対象となる論理ユニットと対応付けられた論理デバイスのオーナ権を有するコマンド処理部に当該コマンドを転送するようにした。

Description

ストレージ装置及びその制御方法
 本発明は、ストレージ装置及びその制御方法に関し、特に、I/O(Input/Output)コマンドの処理方式としてLDEV(Logical Device)オーナ権を適用した処理方式が採用され、論理ユニット(LU:Logical Unit)の管理方式としてコングロメリットLUN(Conglomerate LUN)方式が採用されたストレージ装置に適用して好適なものである。
 近年、IT(Information Technology)技術の進歩に伴い、ストレージ装置に要求される応答性能も日々高くなってきている。このような要求に答えるため、近年では、上位装置からのI/Oコマンドを処理するプロセッサを複数搭載したストレージ装置が数多く登場している。
 従来、このようなストレージ装置におけるI/Oコマンドの処理方式として、コマンドデバイスを用いた処理方式がある(例えば、特許文献1参照)。
 この処理方式が適用された情報処理システムでは、上位装置がデータをリード/ライトする論理ユニットとは別にコマンドデバイスと呼ばれる論理ユニットがストレージ装置内に設けられ、上位装置はストレージ装置に対するコマンドをデータとしてそのコマンドデバイスに書き込む。
 そしてストレージ装置側では、コマンドデバイスに書き込まれたコマンドを、複数のプロセッサのうち、そのときそのコマンドを実行可能なプロセッサがコマンドデバイスから読み出して実行する。
特開2002-209149号公報
 ところで、近年、I/Oコマンドの処理方式として、後述するLDEV(Logical Device)オーナ権を適用した処理方式が提案されており、また論理ユニットの管理方式として、後述するコングロメリットLUN方式などが提案されている。
 このようなLDEVオーナ権を適用したI/Oコマンドの処理方式及びコングロメリットLUN方式を共に採用したストレージ装置では、後述のようにストレージ装置内でI/Oコマンドの不要な転送が発生し、I/Oコマンドに対する応答性能が低下するという課題がある。
 本発明は以上の点を考慮してなされたもので、I/Oコマンドに対する応答性能の低下を有効に防止し得るストレージ装置及びその制御方法を提案しようとするものである。
 かかる課題を解決するため本発明の一実施形態においては、複数の記憶デバイスを有し、各前記記憶デバイスがそれぞれ提供する記憶領域を1つのプールとして管理し、前記プールの一部を切り出した論理デバイスを論理ユニットと対応付けて、当該論理ユニットを上位装置に記憶領域として提供するストレージ装置において、前記上位装置との間でコマンド及びデータを送受するチャネル制御部と、それぞれ前記上位装置からのコマンドを処理する複数のコマンド処理部とを設け、前記論理デバイスごとに、当該論理デバイスのオーナ権を有する前記コマンド処理部が予めそれぞれ設定され、前記論理デバイスと対応付けられた前記論理ユニットを対象とする前記上位装置からの前記コマンドを、当該論理ユニットの前記オーナ権を有する前記コマンド処理部が実行し、複数の前記論理ユニットが1つのグループとして管理されると共に、当該グループ内の1つの前記論理ユニットが当該グループを代表する論理ユニットとして定義され、前記グループを代表する前記論理ユニットを対象とする前記コマンドのフォーマットと、当該論理ユニット以外の当該グループ内の前記論理ユニットを対象とする前記コマンドのフォーマットとが異なり、前記チャネル制御部は、前記上位装置から与えられた前記コマンドのフォーマットを解析し、解析結果に基づいて、当該コマンドが対象とする前記論理ユニットが、前記グループ内の当該論理ユニットを代表する前記論理ユニット以外の前記論理ユニットである場合には、当該コマンドの対象となる前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部に当該コマンドを転送するようにした。
 また本発明の一実施形態においては、複数の記憶デバイスを有し、各前記記憶デバイスがそれぞれ提供する記憶領域を1つのプールとして管理し、前記プールの一部を切り出した論理デバイスを論理ユニットと対応付けて、当該論理ユニットを上位装置に記憶領域として提供するストレージ装置の制御方法であって、前記ストレージ装置は、前記上位装置との間でコマンド及びデータを送受するチャネル制御部と、それぞれ前記上位装置からのコマンドを処理する複数のコマンド処理部とを有し、前記論理デバイスごとに、当該論理デバイスのオーナ権を有する前記コマンド処理部が予めそれぞれ設定され、前記論理デバイスと対応付けられた前記論理ユニットを対象とする前記上位装置からの前記コマンドを、当該論理ユニットの前記オーナ権を有する前記コマンド処理部が実行し、複数の前記論理ユニットが1つのグループとして管理されると共に、当該グループ内の1つの前記論理ユニットが当該グループを代表する論理ユニットとして定義され、前記グループを代表する前記論理ユニットを対象とする前記コマンドのフォーマットと、当該論理ユニット以外の当該グループ内の前記論理ユニットを対象とする前記コマンドのフォーマットとが異なり、前記チャネル制御部が、前記上位装置から与えられた前記コマンドのフォーマットを解析する第1のステップと、前記チャネル制御部が、解析結果に基づいて、当該コマンドが対象とする前記論理ユニットが、前記グループ内の当該論理ユニットを代表する前記論理ユニット以外の前記論理ユニットである場合には、当該コマンドの対象となる前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部に当該コマンドを転送する第2のステップとを設けるようにした。
 本発明の一実施形態によれば、I/Oコマンドに対する応答性能の低下を有効に防止し得るストレージ装置及びその制御方法を実現できる。
本実施の形態による情報処理システムの全体構成を示すブロック図である。 第1及び第2のストレージ装置の論理構成及びLDEVオーナ権の説明に供する概念図である。 ホストターゲット用MPPK検索テーブルの構成を示す概念図である。 ストレージ装置間I/OコマンドMPPK検索テーブルの構成を示す概念図である。 LDEVオーナ権に関する処理の流れの説明に供する概念図である。 LDEVオーナ権に関する処理の流れの説明に供する概念図である。 LDEVオーナ権に関する処理の流れの説明に供する概念図である。 ロジカル・ユニット・コングロメリットの説明に供する概念図である。 ロジカル・ユニット・コングロメリットの説明に供する概念図である。 (A)はALU-SLU関連テーブルの構成を示す概念図であり、(B)はALU-LDEV関連テーブルの構成を示す概念図である。 I/O対象としてALU等を指定したI/OコマンドのLUNフォーマットを示す概念図である。 I/O対象としてSLUを指定したI/OコマンドのLUNフォーマットを示す概念図である。 ローカルルータにより実行されるI/Oコマンド転送処理の処理手順を示すフローチャートである。 SLUに対するI/Oコマンドが競合する場合のI/O処理の説明に供する概念図である。 優先度管理テーブルの構成を示す概念図である。 ALUごとのキューの説明に供する概念図である。 SLUに対するI/Oコマンドが競合する場合の処理方法の説明に供する概念図である。
 以下図面について、本実施の形態を詳述する。
(1)本実施の形態による情報処理システムの構成
 図1において、1は全体として本実施の形態による情報処理システムを示す。この情報処理システム1は、ホスト計算機2と、第1及び第2のストレージ装置3A,3Bとを備えて構成されている。
 ホスト計算機2は、CPU(Central Processing Unit)やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。ホスト計算機2は、ネットワーク4を介して第1のストレージ装置3Aと接続されており、当該第1のストレージ装置3Aに対してリードコマンドやライトコマンドなどのI/Oコマンドを送信することにより、所望するデータを第1のストレージ装置3Aにリード/ライトする。
 第1及び第2のストレージ装置3A,3Bは、1又は複数のチャネル制御部10、1又は複数のディスク制御部11、接続部12、キャッシュメモリ13、及び、複数のマイクロプロセッサパッケージ14と、各ディスク制御部11にそれぞれ接続された1又は複数の記憶デバイス15とを備えて構成される。
 チャネル制御部10は、ホスト計算機2や自ストレージ装置以外の他のストレージ装置(第2又は第1のストレージ装置3B,3A)との通信時におけるインタフェースとして機能するハードウェアであり、1又は複数のポート10Aと、マイクロプロセッサ20、ポート制御部21、ローカルルータ22及びバッファメモリ23とを備える。
 各ポート10Aには、それぞれIP(Internet Protocol)アドレスやWWN(World Wide Name)などの固有のアドレスが割り当てられる。第1及び第2のストレージ装置3A,3Bに対するアクセスは、アクセス元に許可された特定のポート10Aのアドレスを指定して行われる。
 マイクロプロセッサ20は、チャネル制御部10全体としての動作制御を司る機能を有するハードウェアであり、制御プログラム24を実行することによりチャネル制御部10全体としての各種処理が行われる。またポート制御部21は、ホスト計算機2との通信時におけるプロトコル制御を行うインタフェースである。
 ローカルルータ22は、マイクロプロセッサ20が制御プログラム24を実行することにより具現化される仮想的なルータであり、受信したI/Oコマンドを適切なマイクロプロセッサパッケージ14に転送するI/Oコマンド転送機能を有する。なお「適切なマイクロプロセッサパッケージ」の詳細については、後述する。さらにバッファメモリ23は、チャネル制御部10及びホスト計算機2間におけるデータ転送時のデータバッファとして利用される。このバッファメモリ23には、後述する各種の制御情報25も格納される。
 ディスク制御部11は、記憶デバイス15に対するインタフェースとして機能するハードウェアである。ディスク制御部11は、チャネル制御部10を介して与えられるホスト計算機2からのI/Oコマンドに基づいて対応する記憶デバイス15にアクセスし、当該記憶デバイス15内のそのI/Oコマンドにおいて指定された記憶領域にデータをリード/ライトする。
 接続部12は、例えば超高速クロスバススイッチなどから構成され、すべてのチャネル制御部10、ディスク制御部11、キャッシュメモリ13及びマイクロプロセッサパッケージ14が接続される。これらチャネル制御部10、ディスク制御部11、キャッシュメモリ13及びマイクロプロセッサパッケージ14間におけるデータや各種コマンドの授受は、この接続部12を介して行われる。
 キャッシュメモリ13は、それぞれ1又は複数の半導体記憶素子(例えばDRAM(Dynamic Random Access Memory))から構成される。キャッシュメモリ13には、ホスト計算機2からのI/Oコマンドに基づいてチャネル制御部10及びディスク制御部11間でやり取りされるデータ(つまり記憶デバイス15にリード/ライトされるデータ)が一時的に格納される。
 マイクロプロセッサパッケージ14は、メモリコントローラハブ30及びローカルメモリ31と、複数のマイクロプロセッサ32とを備えて構成される。メモリコントローラハブ30は、複数のマイクロプロセッサ32をローカルメモリ31に接続するハブである。またローカルメモリ31は、例えば、制御プログラム(マイクロプログラム)33を保持するために利用される。
 マイクロプロセッサ32は、その第1又は第2のストレージ装置3A,3B全体の動作制御を司る機能を有するハードウェアである。マイクロプロセッサ32は、メモリコントローラハブ30を介してローカルメモリ31から制御プログラム(マイクロプログラム)33を読み出し、当該制御プログラム33に従って、チャネル制御部10及び接続部12を介して与えられる上位装置(第1のストレージ装置3Aの場合にはホスト計算機2、第2のストレージ装置3Bの場合には第1のストレージ装置3A)からのI/Oコマンドを処理する。なおI/Oコマンドの処理は、複数のマイクロプロセッサ32のうち、そのときそのI/Oコマンドを処理可能な余裕のあるマイクロプロセッサ32が実行する。
 記憶デバイス15は、例えばSCSI(Small Computer System Interface)ディスク等の高価なディスクや、SATA(Serial AT Attachment)ディスク又は光ディスク等の安価なディスクなどから構成される。
 図2に示すように、1又は複数の記憶デバイス15がそれぞれ提供する記憶領域がプール40と呼ばれる1つの記憶領域として管理され、プール40上の一部領域が切り出されて論理デバイス(以下、LDEV(Logical Device)と呼ぶ)41として管理される。そして、これらのLDEV41がそれぞれそのLDEV41と同じ容量を有する論理ユニット42と対応付けられ、これらの論理ユニット42がホスト計算機2に記憶領域として提供される。なお、同一のホスト計算機2に割り当てられた複数の論理ユニット42がホストグループ43として管理される。
 各論理ユニット42には、それぞれ固有の識別子(LUN)が付与される。そして各論理ユニット42に対するデータのリード/ライトは、このLUNと、論理ユニット42内の所定大きさのブロック(以下、これを論理ブロックと呼ぶ)にそれぞれ付与されたその論理ブロックに固有の番号(LBA:Logical Block Address)とを組み合わせたものをアドレスとして、当該アドレスをI/Oコマンドで指定することにより行われる。なお論理ユニット42へのデータのリード/ライトは、実際には、その論理ユニット42と対応付けられたLDEV41内のI/Oコマンドにおいて指定されたアドレスと対応付けられた記憶領域に対して行われる。
 かかる構成に加えて、本実施の形態の第1及び第2のストレージ装置3A,3Bには、ホスト計算機2により第1のストレージ装置3A内のある論理ユニット42にライトされたデータを、当該論理ユニット42とペア設定された第2のストレージ装置3B内の論理ユニット42にレプリケート(複製)するレプリケーション機能が搭載されている。
 このため本情報処理システム1の場合、第1のストレージ装置3Aの特定のチャネル制御部10と、第2のストレージ装置3Bの特定のチャネル制御部10とがケーブル又はネットワーク等の通信路5を介して接続されている。
 そして第1のストレージ装置3Aは、ホスト計算機2により論理ユニット42にデータがライトされた場合であって、その論理ユニット42が第2のストレージ装置3B内のいずれかの論理ユニット42とペア設定されているときには、かかるライトと同期して又は非同期に、そのデータをI/Oコマンドと共に通信路5を介して第2のストレージ装置3Bに転送する。
 また、このデータ及びI/Oコマンドを受信した第2のストレージ装置3Bは、このI/Oコマンドに基づいて、そのときデータがライトされた第1のストレージ装置3A内の論理ユニット42とペア設定された自ストレージ装置内の論理ユニット42にこのデータをライトする。
(2)LDEVオーナ権
(2-1)LDEVオーナ権の概要
 次に、LDEVオーナ権について説明する。本実施の形態の場合、第1及び第2のストレージ装置3A,3Bでは、LDEV41ごとに、そのLDEV41に対するI/Oコマンドを処理する権限を有するマイクロプロセッサパッケージ14が予め設定される。本明細書においては、この権限をそのLDEVに対するLDEVオーナ権と呼ぶものとする。このLDEVオーナ権は、LDEV41の作成時に、外部からの指示に従って、外部からの指示がない場合には自動的にいずれかのマイクロプロセッサパッケージ14に設定される。
 LDEVオーナ権は、第1又は第2のストレージ装置3A,3Bを停止することなく他のマイクロプロセッサパッケージ14に移動することができる。従って、LDEV41へのI/Oアクセスの状況や、マイクロプロセッサパッケージ14内の各プロセッサ32の稼働率等のモニタリング情報を見ながら適宜LDEVオーナ権を移動させることにより、マイクロプロセッサパッケージ14間での負荷分散を行うことができる。
 またマイクロプロセッサパッケージ14が障害等で閉塞した場合、そのマイクロプロセッサパッケージ14が有していたすべてのLDEVオーナ権が他のマイクロプロセッサパッケージ14に移動されて、対応するLDEV41に対するI/O処理がLDEVオーナ権の移動先のマイクロプロセッサパッケージ14により継続して処理される。
(2-2)LDEVオーナ権に関するローカルルータの機能
 第1及び第2のストレージ装置3A,3Bのチャネル制御部に搭載されたローカルルータ22(図1)は、受信したI/Oコマンドを上述のように適切なマイクロプロセッサパッケージ14に転送するI/Oコマンド転送機能を有する。
 このI/Oコマンド転送機能は、ホスト計算機2からのI/Oコマンドを適切なマイクロプロセッサパッケージ14に転送する第1のI/Oコマンド転送機能(以下、これをホストI/Oコマンド転送機能と呼ぶ)と、第1及び第2のストレージ装置3A,3B間でデータのレプリケーションが行われている場合に、レプリケーション元の第1のストレージ装置3AからのI/Oコマンドをレプリケーション先の第2のストレージ装置3Bにおいて適切なマイクロプロセッサパッケージ14に転送する第2のI/Oコマンド転送機能(以下、これをストレージ装置間I/Oコマンド転送機能と呼ぶ)とに分けることができる。
 そしてローカルルータ22は、上述のホストI/Oコマンド転送機能を実現するための手段として、チャネル制御部10(図1)の各ポート10A(図1)にそれぞれ対応させて、図3に示すようなホストターゲット用マイクロプロセッサパッケージ検索テーブル(以下、これをホストターゲット用MPPK検索テーブルと呼ぶ)50を作成して管理している。
 このホストターゲット用MPPK検索テーブル50は、チャネル制御部10のバッファメモリ23(図1)に格納された上述の制御情報25(図1)の一部を構成するもので、SCSI規格に従って上位装置が指定するソースID(SID)と、そのソースIDで管理されるグループを構成する各論理ユニット42と、これらの論理ユニット42とそれぞれ対応付けられた各LDEV41のLDEVオーナ権を有するマイクロプロセッサパッケージ14との対応関係を管理するために用いられる。
 実際上、ホストターゲット用MPPK検索テーブル50は、図3に示すように、SID欄50A、LUN欄50B及び先頭プロセッサ番号欄50Cを備えて構成される。そしてSID欄50Aには、ソースIDが格納され、LUN欄50Bには、対応するグループを構成する各論理ユニット42のLUNがそれぞれ格納される。また先頭プロセッサ番号欄50Cには、対応する論理ユニット42と対応付けられたLDEV41のLDVEオーナ権を有するマイクロプロセッサパッケージ14内のマイクロプロセッサ32(図1)のうち、その識別番号(以下、これをプロセッサ番号と呼ぶ)が最も小さいマイクロプロセッサ(以下、これを先頭マイクロプロセッサと呼ぶ)32のプロセッサ番号が格納される。
 そしてローカルルータ22は、ホスト計算機2からのI/Oコマンドを受信した場合には、そのI/OコマンドからソースIDと、当該論理ユニット42のLUNとを取得し、取得したこれらソースID及びLUNの組合せをキーとしてホストターゲット用MPPK検索テーブル50上でその論理ユニット42のLDEVオーナ権を有するマイクロプロセッサパッケージ14の先頭マイクロプロセッサ32のプロセッサ番号を検索する。またローカルルータ22は、かかる検索により検出した先頭プロセッサ番号に対応するマイクロプロセッサパッケージ14をさらに検索して、そのマイクロプロセッサパッケージ14にそのI/Oコマンドを転送する。
 一方、ローカルルータ22は、上述のストレージ装置間I/Oコマンド転送機能を実現するための手段として、図4に示すようなストレージ装置間I/Oコマンド用マイクロプロセッサパッケージ検索テーブル(以下、これをストレージ装置間I/OコマンドMPPK検索テーブルと呼ぶ)51を作成して管理している。
 このストレージ装置間I/OコマンドMPPK検索テーブル51は、チャネル制御部10(図1)のバッファメモリ23(図1)に格納された上述の制御情報25(図1)の一部を構成するもので、自ストレージ装置内の各LDEV41(図2)のLDEVオーナ権を管理するために用いられる。
 実際上、ストレージ装置間I/OコマンドMPPK検索テーブル51は、図4に示すように、LDEV番号欄51A及び先頭プロセッサ番号欄51Bを備えて構成される。そしてLDEV番号欄51Aには、自ストレージ装置内に定義された各LDEV41のLDEV番号がそれぞれ格納され、また先頭プロセッサ番号欄51Bには、対応するLDEV41のLDEVオーナ権を有するマイクロプロセッサパッケージ14の先頭マイクロプロセッサ32のプロセッサ番号が格納される。
 ここで、ストレージ装置間のレプリケーションにおいて正側のストレージ装置及び副側のストレージ装置間で転送されるI/Oコマンドは、ベンダユニークなフォーマットでやり取りされることがある。この場合、ホスト計算機2からのI/Oコマンドでは、I/O対象とする論理ユニット42がLUNで指定されており、このI/Oコマンドを受信したストレージ装置において、LUNをLDEV番号に変換することでアクセス先のLDEVを特定するが、ストレージ装置間でのI/Oコマンドのやり取りではI/O対象とする論理ユニットと対応付けられたLDEVのLDEV番号をそのまま正側のストレージ装置から副側のストレージ装置に送信する。
 本実施の形態においても、第1及び第2のストレージ装置3A,3B間で転送されるI/Oコマンドでは、図11について後述するSCSIコマンドのLUNフォーマットのうちのバイト0,ビット5~バイト1,ビット0に、I/O対象とする論理ユニットのLUNに代えて、当該論理ユニットが対応付けられたLDEV41のLDEV番号を格納したベンダユニークなLUNフォーマットが適用される。
 そして、第1のストレージ装置3AからのI/Oコマンドを受信した第2のストレージ装置3Bは、受信したI/Oコマンドから対象とするLDEV41のLDEV番号を取得し、取得したLDEV番号をキーとして、そのLDEV41のLDEVオーナ権を有するマイクロプロセッサパッケージ14の先頭マイクロプロセッサ32のプロセッサ番号をストレージ装置間I/OコマンドMPPK検索テーブル51上で検索する。また第2のストレージ装置3Bは、この検索により検出した先頭プロセッサ番号と対応付けられているマイクロプロセッサパッケージ14を検索し、そのマイクロプロセッサパッケージ14にそのI/Oコマンドを転送する。
(2-3)LDEVオーナ権に関する処理の流れ
 図5は、かかるLDEVオーナ権に関連して、I/Oコマンドを受信した第1又は第2のストレージ装置3A,3Bにおいて実行される一連のI/O処理の流れを示す。
 第1又は第2のストレージ装置3A,3Bのチャネル制御部10は、上位装置(第1のストレージ装置3Aの場合にはホスト計算機2、第2のストレージ装置3Bの場合には第1のストレージ装置3A)からI/Oコマンドが与えられると(SP1)、まず、受信したI/Oコマンドをローカルルータ22により解析し、I/O対象の論理ユニット42を特定する。
 そしてローカルルータ22は、特定した論理ユニット42と対応付けられたLDEV41(図2)のLDEVオーナ権を有するマイクロプロセッサパッケージ14を、上述のようにホストターゲット用MPPK検索テーブル50又はストレージ装置間I/OコマンドMPPK検索テーブル51を用いて特定し、特定したマイクロプロセッサパッケージ14にそのI/Oコマンドを転送する(SP2)。
 かくして、このI/Oコマンドの転送を受けたマイクロプロセッサパッケージ14によりそのI/Oコマンドが処理される(SP3)。
 一方、図6は、マイクロプロセッサパッケージ14にI/Oコマンドが転送された直後に、当該I/OコマンドにおいてI/O対象とする論理ユニット42と対応付けられたLDEV41のLDEVオーナ権が他のマイクロプロセッサパッケージ14に移動された場合における処理の流れを示す。
 このケースでは、上位装置からのI/Oコマンドを受信したチャネル制御部10がそのI/OコマンドをI/O対象のマイクロプロセッサパッケージ14に転送するまでの処理(SP10,SP11)の流れは図5の場合と同様である。
 ただし、このケースの場合には、そのI/Oコマンドの転送を受けたマイクロプロセッサパッケージ14がI/O対象のLDEV41のLDEVオーナ権を既に有していないため、そのI/Oコマンドを当該LDEVオーナ権の移動先のマイクロプロセッサパッケージ14に転送する(SP12)。
 かくして、このI/Oコマンドの転送を受けたマイクロプロセッサパッケージ14によりそのI/Oコマンドが処理される(SP13)。
 他方、図7は、第1及び第2のストレージ装置3A,3B間でデータのレプリケーションを実行している場合における処理の流れを示す。
 このケースでは、ホスト計算機2からのI/Oコマンドを受信した第1のストレージ装置3Aのチャネル制御部10がそのI/OコマンドをI/O対象のマイクロプロセッサパッケージ14に転送するまでの処理(SP20,SP21)の流れは図5の場合と同様である。
 ただし、このケースの場合、ホスト計算機2からのI/Oコマンドが転送されたマイクロプロセッサパッケージ14は、I/Oコマンドに従って論理ユニット42にデータをライトした後に(SP22)、そのI/Oコマンド及びそのデータをチャネル制御部10及び通信路5(図1)を介して第2のストレージ装置3Bに転送する(SP23,SP24)。
 そして、このI/Oコマンド及びデータを受信した第2のストレージ装置3B側では、図5について上述した場合と同様にして、そのI/OコマンドにおいてI/O対象として指定された論理ユニット42と対応付けられたLDEV41のLDEVオーナ権を有するマイクロプロセッサパッケージ14に当該I/Oコマンドが転送されて処理される(SP25,SP26)。
(3)ロジカル・ユニット・コングロメリット(Logical Unit Conglomerate)
(3-1)コングロメリットLUN(Conglomerate LUN)方式の概要
 次に、コングロメリットLUN方式について説明する。コングロメリットLUN方式は、SPC(SCSI Primary Commands)の4r36hにおいて提案されている論理ユニット42の管理方式である。
 コングロメリットLUN方式では、図8に示すように、複数の論理ユニット42をロジカル・ユニット・コングロメリットと呼ばれるグループにグループ化し、そのロジカル・ユニット・コングロメリット60内において1つの論理ユニット42をそのロジカル・ユニット・コングロメリット60の代表の論理ユニット42(以下、これをALU(Administrative Logical Unit)42Aと呼ぶ)として定義すると共に、当該グループ内の他の論理ユニット42をそのALU42Aの配下の論理ユニット42(以下、これをSLU(Subsidiary Logical Unit)42Sと呼ぶ)として、そのロジカル・ユニット・コングロメリット60内のALU42Aに関連付ける。
 この場合、ALU42Aには通常の論理ユニット42と同様にパス定義を行うことで、コングロメリットLUN方式において、上位装置は、ALU42AをSCSIデバイスとして認識し、その配下にあるSLU42Sと同一のロジカル・ユニット・コングロメリット60に属するALU42Aを対象とした図12について後述するLUNフォーマットのI/Oコマンドにより行う。
 またロジカル・ユニット・コングロメリット60を構成する各論理ユニット42(ALU42A及びSLU42S)に対しては、それぞれ独立にLDEVオーナ権を設定することができる。従って、例えば図9に示すように、同一のロジカル・ユニット・コングロメリット60を構成する論理ユニット42のうちの一部に対してあるマイクロプロセッサパッケージ14のLDEVオーナ権を設定し、残りの論理ユニット42に対して他のマイクロプロセッサパッケージ14のLDEVオーナ権を設定することができる。
 ALU42A及びSLU42Sの対応関係は、図10(A)に示すALU-SLU関連テーブル62を用いて管理する。このALU-SLU関連テーブル62は、システム内に設定可能なSLU数と同数のALUインデックス欄62Aを備える。そして各ALUインデックス欄62Aは、それぞれいずれかのSLU42Sが対応付けられたLDEV41のLDEV番号と関連付けられる。
 また各ALUインデックス欄62Aには、それぞれシステム内に設定可能なALU42Aの数と同じビット数を有するビットマップが格納される。そして、これらのビットマップでは、そのALUインデックス欄62Aに対応するSLU42Sが属するロジカル・ユニット・コングロメリット60のALU42Aに対応するビットが「1」に設定され、他のビットが「0」に設定される。なお、以下においては、ビットマップの左端のビットの番号を「0」として、当該ビットからそのビットマップの「1」に設定されたビットまでのビットの数をそのビットマップに対応するALU42Aのインデックス番号と呼ぶものとする。
 ALU42Aのインデックス番号は、便宜的にALU42Aに付与されるものであり、そのALU42Aが対応付けられるLDEV41のLDEV番号とは異なる。このためALU42Aのインデックス番号と、そのALU42Aが対応付けられたLDEV41のLDEV番号との対応関係は、図10(B)に示すALU-LDEV関連テーブル63を用いて管理する。
 このALU-LDEV関連テーブル63は、システム内に設定可能なALU数と同数のLDEV番号欄63Aを備える。そして各LDEV番号欄63Aは、それぞれいずれかのALU42Aのインデックス番号と関連付けられる。また各LDEV番号欄63Aには、それぞれ対応するインデックス番号のALU42Aと対応付けられたLDEV41のLDEV番号が格納される。
 従って、例えば図10(A)及び(B)の例の場合、例えば、「2」というLDEV番号のLDEV41と対応付けられたSLU42Sが属するロジカル・ユニット・コングロメリット60のALU42Aのインデックス番号は「1」であり、そのALU42Aと対応付けられたLDEV41のLDEV番号が「0000」であることが示されている。
 なお本実施の形態の場合、これらALU-SLU関連テーブル62及びALU-LDEV関連テーブル63は、マイクロプロセッサパッケージ14のローカルメモリ31(図1)に格納されて保持され、マイクロプロセッサ32がI/Oコマンドを処理する際に利用される。
(3-2)本情報処理システムの特徴
 ここで、上述のように各LDEV41にLDEVオーナ権が設定された第1及び第2のストレージ装置3A,3Bにおける論理ユニット42の管理方式としてこのようなコングロメリットLUN方式を適用する場合について考える。
 この場合、上述のようにホスト計算機2は、ロジカル・ユニット・コングロメリット60を構成する論理ユニット42のうちのALU42AのみをSCSIデバイスとして認識できるため、ホスト計算機2は、ロジカル・ユニット・コングロメリット60を構成するALU42A及びSLU42Sのいずれにアクセスする場合においても、常にALU42AをI/O対象としてI/Oコマンドで指定することになる。
 一方、このI/Oコマンドを受信した第1のストレージ装置3A側では、そのI/Oコマンドにおいて指定されたI/O対象がロジカル・ユニット・コングロメリット60のALU42Aやロジカル・ユニット・コングロメリット60を構成しない通常の論理ユニット42であるときには、そのI/OコマンドがそのALU42Aや、その通常の論理ユニット42のLDEVオーナ権を有するマイクロプロセッサパッケージ14に転送される。
 そして、このI/Oコマンドを受信したマイクロプロセッサパッケージ14は、受信したI/Oコマンドを解析し、自己がLDEVオーナ権を有するLDEV41と対応付けられたALU42Aや通常の論理ユニット42をI/O対象としている場合には、そのI/Oコマンドを処理し、他のマイクロプロセッサパッケージ14がLDEVオーナ権を有するLDEV41と対応付けられた論理ユニット42をI/O対象としている場合には、そのI/Oコマンドを当該他のマイクロプロセッサパッケージ14に転送し、当該他のマイクロプロセッサパッケージ14においてそのI/Oコマンドを処理することになる。
 ところが、このようなI/Oコマンドの処理方法によると、ロジカル・ユニット・コングロメリット60のALU42Aと対応付けられたLDEV41のLDEVオーナ権を有するマイクロプロセッサパッケージ14と、そのロジカル・ユニット・コングロメリット60に属するSLU42Sと対応付けられたLDEV41のLDEVオーナ権を有するマイクロプロセッサパッケージ14とが異なる場合(図9参照)に、そのSLU42Sを対象とするI/Oコマンドが、常にそのALU42AのLDEVオーナ権を有するマイクロプロセッサパッケージ14からそのSLU42SのLDEVオーナ権を有するマイクロプロセッサパッケージ14に転送されることになるため、I/Oコマンドに対する応答性能が低下する問題がある。
 また、かかる状況のもとでは、第1のストレージ装置3A内部におけるデータの転送量を増大させるため、そのI/Oコマンドについての処理だけでなく、他のI/Oコマンドについての処理や、別のオペレーションにも悪影響を与え得る問題がある。
 そこで本情報処理システム1では、第1及び第2のストレージ装置3A,3Bのチャネル制御部10が上位装置からのI/Oコマンドを受信した場合に、ローカルルータ22(図1)においてそのI/Oコマンドを解析し、I/O対象の論理ユニット42がロジカル・ユニット・コングロメリット60のSLU42Sである場合には、そのI/OコマンドをそのSLU42Sと対応付けられたLDEV41のLDEVオーナ権を有するマイクロプロセッサパッケージ14に直接転送するI/Oコマンド転送機能が第1及び第2のストレージ装置3A,3Bに実装されていることを特徴の1つとしている。
 そのための手段として、本情報処理システム1の場合、上位装置から第1又は第2のストレージ装置3A,3Bに送信されるI/Oコマンドにおいて、ALU42AをI/O対象とする場合と、SLU42SをI/O対象とする場合とでI/O対象の論理ユニット42を指定するフィールドのフォーマット(以下、これをLUNフォーマットと呼ぶ)が異なっており、これにより第1のストレージ装置3Aや第2のストレージ装置3Bのローカルルータ22(図1)がI/OコマンドのLUNフォーマットに基づいて、そのI/OコマンドのI/O対象がALU42A及びSLU42Sのいずれであるかを容易に判別し得るようになされている。
 実際上、本情報処理システム1の場合、I/O対象としてALU42A(及びロジカル・ユニット・コングロメリット60を構成しない通常の論理ユニット42)を指定するI/OコマンドにおけるLUNフォーマットとしては、図11に示すようなLUNフォーマットが用いられる。
 このLUNフォーマットは、SCSI規格において仕様として定義されたフォーマットであり、バイト0,ビット7-6には、「ADDR METHOD」として固定値である「00b」が格納される。またバイト0,ビット5~バイト1,ビット0には、I/O対象とする論理ユニットのLUNが格納され、バイト2-バイト7には「リザーブ(Reserved)」として「0」が格納される。
 一方、本情報処理システム1の場合、I/O対象としてSLU42Sを指定するI/OコマンドにおけるLUNフォーマットとしては、図12に示すようなLUNフォーマットが用いられる。
 このLUNフォーマットもSCSI規格で定義されたフォーマットであり、バイト0-1において、同一ロジカル・ユニット・コングロメリット60に属するALU42AのLUNが図12のバイト0-1と同様のフォーマットで指定される。
 またこのLUNフォーマットにおいてバイト2,ビット7~バイト7,ビット0はSLU42Sを指定するための領域であり、バイト2,ビット7-6に「ADDR METHOD」として固定値である「11b」が、バイト2,ビット5-4に「LENGTH」として固定値である「10b」が、バイト2,ビット3-0に「EXTENDED ADDRESS METHOD」として固定値である「2h」がそれぞれ格納される。
 さらにバイト3-6は、I/O対象のSLU42Sを特定するための識別情報として、そのSLU42Sと対応付けられたLDEV41のLDEV番号が格納される。このフィールドのSLU42SのLDEV番号を指定することにより、ローカルルータ22(図1)においてLUNフォーマットを解析したときに、従以来のストレージ装置間I/OコマンドMPPK検索テーブル51を使用することができ、I/Oコマンドの転送先のマイクロプロセッサパッケージ14を容易に特定することができる。またバイト7には「リザーブ(Reserved)」として「0」が格納される。
(3-3)I/Oコマンド転送機能に関するローカルルータの処理
 図13は、上述した本実施の形態によるI/Oコマンド転送機能に関する第1及び第2のストレージ装置3A,3Bのローカルルータ22(図1)の具体的な処理内容を示す。ローカルルータ22は、上位装置からのI/Oコマンドを受信すると、この図13に示す処理手順従って、受信したI/Oコマンドを適切なマイクロプロセッサパッケージ14に転送する。
 実際上、ローカルルータ22は、I/Oコマンドを受信するとこの図13に示すI/Oコマンド転送処理を開始し、まず、受信したI/Oコマンドのコマンドディスクリプタブロック(CDB:Command Descriptor Block)を解析し(SP30)、解析結果に基づいて、そのI/OコマンドがSCSIコマンドであるか否かを判断する(SP31)。
 ここで、上述のように本実施の形態による情報処理システム1においては、第1及び第2のストレージ装置3A,3B間におけるI/Oコマンドのフォーマットはベンダユニークなフォーマットであり、従って、この判断で否定結果を得ることは、そのI/Oコマンドが第1のストレージ装置3Aから第2のストレージ装置3Bに送信されたI/Oコマンドであり、当該I/Oコマンドを受信したのが第2のストレージ装置3Bであることを意味する。
 かくして、このときローカルルータ22は、ステップSP30の解析により得られたLDEV番号をキーとして、当該LDEV番号のLDEV41のLDEVオーナ権を有するマイクロプロセッサパッケージ14の先頭マイクロプロセッサ32(図1)のプロセッサ番号をストレージ装置間I/OコマンドMPPK検索テーブル51(図4)上で検索する(SP34)。
 そしてローカルルータ22は、この検索により検出したマイクロプロセッサパッケージ14にそのI/Oコマンドを転送し(SP36)、この後、このI/Oコマンド転送処理を終了する。
 一方、ステップSP31の判断で肯定結果を得ることは、そのI/Oコマンドが(A)第1のストレージ装置3A内のALU42A、(B)当該ALU42Aと同じロジカル・ユニット・コングロメリット60に属し第1のストレージ装置3A内に存在するSLU42S、及び、(C)ロジカル・ユニット・コングロメリット60を構成しない通常の論理ユニット42のいずれかを対象とするI/OLコマンドであることを意味する。
 かくして、このときローカルルータ22は、そのI/OコマンドのLUNフォーマットのバイト2-7を参照して、そのI/OコマンドがSLU42SをI/O対象とするI/Oコマンドであるか否か(LUNフォーマットが図11のLUNフォーマットではなく、図12のLUNフォーマットであるか否か)を判断する(SP32)。
 そしてローカルルータ22は、この判断で否定結果を得るとそのI/OコマンドのLUNフォーマットのバイト3-6からI/O対象のSLUが対応付けられたLDEV41のLDEV番号を取得する(SP33)。
 またローカルルータ22は、取得したLDEV番号をキーとして、当該LDEV番号のLDEV41と対応付けられた論理ユニット42のLDEVオーナ権を有するマイクロプロセッサパッケージ14の先頭マイクロプロセッサ32のプロセッサ番号をストレージ装置間I/OコマンドMPPK検索テーブル51上で検索する(SP34)。
 そしてローカルルータ22は、この検索により検出したマイクロプロセッサパッケージ14にそのI/Oコマンドを転送し(SP36)、この後、このI/Oコマンド転送処理を終了する。
 これに対して、ローカルルータ22は、ステップSP32の判断で否定結果を得ると、そのI/OコマンドのLUNフォーマットのバイト0-1からLUNを取得し、取得したLUNが付与されたALU42Aと対応付けられたLDEV41のオーナ権を有するマイクロプロセッサパッケージ14の先頭マイクロプロセッサ32のプロセッサ番号をホストターゲット用MPPK検索テーブル50(図3)上で検索する(SP35)。
 そしてローカルルータ22は、この検索により検出したマイクロプロセッサパッケージ14にそのI/Oコマンドを転送し(SP36)、この後、このI/Oコマンド転送処理を終了する。
(4)複数のホスト計算機が1つのSLUを共有する場合の排他処理
 図14に示すように、1つのSLU42Sに対して複数のALU42Aが関連付けられており(つまりそのSLU42Sが複数のロジカル・ユニット・コングロメリット60に属しており)、各ALU42Aがそれぞれ異なるホスト計算機2に割り当てられている場合、これらのホスト計算機2がそのSLU42Sを共有している状況となり、そのSLU42Sに対して複数の経路でI/Oコマンドが発行されることになる。このような状況のもとでは、そのSLU42Sに対する複数のホスト計算機2からのI/Oコマンドが競合する事態が発生し得る。
 そこで本実施の形態においては、1つのSLU42Sに複数のALU42Aが関連付けられた場合に、これらのALU42Aに当該ALU42A間での優先度を設定でき、当該SLU42SをI/O対象とするI/Oコマンドが複数のホスト計算機2から同時に与えられた場合(I/O処理が競合した場合)に、マイクロプロセッサパッケージ14のマイクロプロセッサ32(図1)が、そのI/Oコマンドが経由したALU42Aに設定された優先度に応じた順番でこれらのI/Oコマンドを処理するようになされている。
 このような処理を実現するための手段として、各マイクロプロセッサパッケージ14のローカルメモリ31(図1)には、図15に示すような優先度管理テーブル70が格納されている。優先度管理テーブル70は、対応するSLU42Sについて予め設定されたALU42Aの優先度を管理するために利用されるテーブルであり、SLU42Sごとに用意される。
 この優先度管理テーブル70は、LUN欄70A及び優先度欄70Bを備えており、LUN欄70Aには、その第1又は第2のストレージ装置3A,3B内に存在する各ALU42Aに対してそれぞれ付与されたLUNがそれぞれ格納され、優先度欄70Bには、対応するSLU42Sについて、当該SLU42Sが関連付けられた各ALU42Aに対してそれぞれ設定されたそのALU42Aの優先度を表す値が格納される。なお図15の例では、優先度の値が小さいものほど優先度が高いものとする。
 かくしてマイクロプロセッサパッケージ14のマイクロプロセッサ32は、チャネル制御部10から転送されるSLU42Sに対するI/Oコマンドが競合した場合には、そのSLU42Sに対応する優先度管理テーブル70を参照して、I/OコマンドのLUNフォーマット(図12)のバイト0-2にLUNが格納されたALU42Aの優先度がより高いI/Oコマンドをより優先的に処理する。
 この機能は、同一のSLU42Sを共有する複数のホスト計算機2に対して優先度を設定することと同等であり、従って、このような機能を第1のストレージ装置3Aに搭載することによって、より重要な処理を行うホスト計算機2からのI/Oコマンドをより優先的に処理させることができる。
 なお、上記構成に加えて、例えばSLU42Sごとに、図16に示すようなそのSLU42Sに対応付けられたALU42Aごとのキュー71を各マイクロプロセッサパッケージ14のローカルメモリ31(図1)上に用意し、マイクロプロセッサパッケージ14において、チャネル制御部10から転送されてきたI/OコマンドをそのLUNフォーマット(図12)のバイト0-2に格納されたLUNに対応するALU42Aのキュー71に格納し、これらのキュー71に格納されたI/Oコマンドを、対応するALU42Aの優先度に応じた個数ずつ順番にかつ繰り返し処理するようにしても良い。なお、「優先度に応じた個数」とは、より優先度が高いALU42Aに対応するキュー71に格納されたI/Oコマンドほどより多く処理することを意味する。
 例えば、図15のようにLUNが「0」~「3」であるALU42Aが4つ存在し、LUNが「2」、「3」及び「1」のALU42Aにこの順番でより高い優先度が設定されている場合、まず、優先度が最も高い「ALU2」というALU42Aに対応するキュー71に格納されたI/Oコマンドを例えば3個処理した後、次に優先度が高い「ALU3」というALU42Aに対応するキュー71に格納されたI/Oコマンドを2個処理し、さらに最も優先度が低い「ALU1」というALU42Aに対応するキュー71に格納されたI/Oコマンドを1個処理し、この後、上述の処理を繰り返すようにすれば良い。
 このようにしても、上述と同様に、より重要な処理を行うホスト計算機2からのI/Oコマンドをより優先的に処理させることができる。
 さらに以上の方式は、例えば図17に示すように、単一のALU42Aが複数のポート10Aにパス定義されている環境においても適用することができる。この場合、優先度管理テーブル70や、キュー71は、SLU42S単位ではなく、ALU42A単位で用意され、ポート10Aごとの当該ポート10A間での優先度を設定することになる。
(5)本実施の形態の効果
 以上のように本実施の形態による情報処理システム1では、上位装置からのI/Oコマンドが対象とする論理ユニット42がSLU42Sである場合には、その論理ユニット42と対応付けられたLDEV41のオーナ権を有するマイクロプロセッサパッケージ14にそのコマンドを直接転送するため、第1及び第2のストレージ装置3A,3B内においてマイクロプロセッサパッケージ14間でのI/Oコマンドの転送が発生するのを防止することができる。かくするにつき、かかる第1及び第2のストレージ装置3A,3B内におけるマイクロプロセッサパッケージ14間でのI/Oコマンドの転送に起因してI/Oコマンドに対する応答性能が低下するのを有効に防止することができる。
(6)他の実施の形態
 なお上述の実施の形態においては、本発明を図1のように構成された情報処理システム1に適用するようにした場合について述べたが、本発明はこれに限らず、この他種々の形態の情報処理システムに広く適用することができる。
 また上述の実施の形態においては、上位装置からのI/Oコマンドを処理するコマンド処理部としてのマイクロプロセッサパッケージ14を図1のように構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を広く適用することができる。この場合、かかるコマンド処理部が有するマイクロプロセッサ32(図1)の数は1つであっても良い。
 本発明は、I/Oコマンドの処理方式としてLDEVオーナ権を適用した処理方式が採用され、論理ユニットの管理方式としてコングロメリットLUN方式が採用されたストレージ装置のほか、同様のI/Oコマンド処理方式及び論理ユニット管理方式が共に採用されたストレージ装置に広く適用することができる。
 1……情報処理システム、2……ホスト計算機、3A,3B……ストレージ装置、10……チャネル制御部、10A……ポート、14……マイクロプロセッサパッケージ、15……記憶デバイス、20,32……マイクロプロセッサ、22……ローカルルータ、25……制御情報、41……LDEV、42……論理ユニット、42A……ALU、42B……SLU、50……ホストターゲット用MPPK検索テーブル、51……ストレージ装置間I/OコマンドMPPK検索テーブル、60……ロジカル・ユニット・コングロメリット、62……ALU-SLU関連テーブル、63……ALU-LDEV関連テーブル、70……優先度テーブル、71……キュー。

Claims (10)

  1.  複数の記憶デバイスを有し、各前記記憶デバイスがそれぞれ提供する記憶領域を1つのプールとして管理し、前記プールの一部を切り出した論理デバイスを論理ユニットと対応付けて、当該論理ユニットを上位装置に記憶領域として提供するストレージ装置において、
     前記上位装置との間でコマンド及びデータを送受するチャネル制御部と、
     それぞれ前記上位装置からのコマンドを処理する複数のコマンド処理部と
     を備え、
     前記論理デバイスごとに、当該論理デバイスのオーナ権を有する前記コマンド処理部が予めそれぞれ設定され、前記論理デバイスと対応付けられた前記論理ユニットを対象とする前記上位装置からの前記コマンドを、当該論理ユニットの前記オーナ権を有する前記コマンド処理部が実行し、
     複数の前記論理ユニットが1つのグループとして管理されると共に、当該グループ内の1つの前記論理ユニットが当該グループを代表する論理ユニットとして定義され、
     前記グループを代表する前記論理ユニットを対象とする前記コマンドのフォーマットと、当該論理ユニット以外の当該グループ内の前記論理ユニットを対象とする前記コマンドのフォーマットとが異なり、
     前記チャネル制御部は、
     前記上位装置から与えられた前記コマンドのフォーマットを解析し、
     解析結果に基づいて、当該コマンドが対象とする前記論理ユニットが、前記グループ内の当該論理ユニットを代表する前記論理ユニット以外の前記論理ユニットである場合には、当該コマンドの対象となる前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部に当該コマンドを転送する
     ことを特徴とするストレージ装置。
  2.  前記グループを代表する前記論理ユニットを対象とする前記コマンドでは、対象とする前記論理ユニットが当該論理ユニットの識別子により指定され、
     前記グループ内の当該グループを代表する前記論理ユニット以外の前記論理ユニットを対象とする前記コマンドでは、対象とする前記論理ユニットが属する前記グループを代表する前記論理ユニットの識別子と、対象とする前記論理ユニットと対応付けられた前記論理デバイスの識別子とが指定され、
     前記チャネル制御部は、
     前記論理ユニットと、当該論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部との対応関係が格納された第1のテーブルと、
     前記論理デバイスと、当該論理デバイスの前記オーナ権を有する前記コマンド処理部との対応関係が格納された第2のテーブルとを管理し、
     前記上位装置から与えられた前記コマンドのフォーマットが前記グループを代表する前記論理ユニットを対象とするフォーマットである場合には、当該コマンドで指定された前記識別子を有する前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部を前記第1のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送し、
     当該コマンドのフォーマットが前記グループを代表する前記論理ユニット以外の前記論理ユニットを対象とするフォーマットである場合には、当該コマンドで指定された前記識別子を有する前記論理デバイスの前記オーナ権を有する前記コマンド処理を前記第2のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する
     ことを特徴とする請求項1に記載のストレージ装置。
  3.  前記上位装置を構成する他のストレージ装置から、対象とする前記論理ユニットと対応付けられた前記論理デバイスの識別子が指定された前記コマンドが与えられ、
     前記チャネル制御部は、
     前記上位装置から与えられた前記コマンドのフォーマットが前記他のストレージ装置からの前記コマンドのフォーマットである場合には、当該コマンドで指定された前記論理デバイスの前記オーナ権を有する前記コマンド処理部を前記第2のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する
     ことを特徴とする請求項2に記載のストレージ装置。
  4.  前記グループを代表する前記論理ユニットに当該論理ユニット間での優先度が予めそれぞれ設定され、
     前記コマンド処理部は、
     複数の前記グループに属し、いずれの前記グループをも代表しない同一の前記論理ユニットを対象とする複数の前記コマンドが前記チャネル制御部から転送され、当該複数のコマンドが競合するときには、当該論理ユニットが属する各前記グループをそれぞれ代表する前記論理ユニットに設定された前記優先度に従った順番で前記コマンドを処理する
     ことを特徴とする請求項2に記載のストレージ装置。
  5.  前記コマンド処理部は、
     前記グループを代表する前記論理ユニット以外の前記論理ユニットごとに、当該論理ユニットが属する各前記グループをそれぞれ代表する前記論理ユニットにそれぞれ対応させたキューを有し、前記チャネル制御部から転送される前記コマンドを当該コマンドで指定された前記論理ユニットの識別子に応じた前記キューに格納し、
     各前記キューに格納された前記コマンドを、各前記キューにそれぞれ対応付けられた前記グループを代表する前記論理ユニットに設定された前記優先度に応じた個数ずつ順番にかつ繰り返し処理する
     ことを特徴とする請求項4に記載のストレージ装置。
  6.  複数の記憶デバイスを有し、各前記記憶デバイスがそれぞれ提供する記憶領域を1つのプールとして管理し、前記プールの一部を切り出した論理デバイスを論理ユニットと対応付けて、当該論理ユニットを上位装置に記憶領域として提供するストレージ装置の制御方法であって、
     前記ストレージ装置は、
     前記上位装置との間でコマンド及びデータを送受するチャネル制御部と、
     それぞれ前記上位装置からのコマンドを処理する複数のコマンド処理部と
     を有し、
     前記論理デバイスごとに、当該論理デバイスのオーナ権を有する前記コマンド処理部が予めそれぞれ設定され、前記論理デバイスと対応付けられた前記論理ユニットを対象とする前記上位装置からの前記コマンドを、当該論理ユニットの前記オーナ権を有する前記コマンド処理部が実行し、
     複数の前記論理ユニットが1つのグループとして管理されると共に、当該グループ内の1つの前記論理ユニットが当該グループを代表する論理ユニットとして定義され、
     前記グループを代表する前記論理ユニットを対象とする前記コマンドのフォーマットと、当該論理ユニット以外の当該グループ内の前記論理ユニットを対象とする前記コマンドのフォーマットとが異なり、
     前記チャネル制御部が、前記上位装置から与えられた前記コマンドのフォーマットを解析する第1のステップと、
     前記チャネル制御部が、解析結果に基づいて、当該コマンドが対象とする前記論理ユニットが、前記グループ内の当該論理ユニットを代表する前記論理ユニット以外の前記論理ユニットである場合には、当該コマンドの対象となる前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部に当該コマンドを転送する第2のステップと
     を備えることを特徴とするストレージ装置の制御方法。
  7.  前記グループを代表する前記論理ユニットを対象とする前記コマンドでは、対象とする前記論理ユニットが当該論理ユニットの識別子により指定され、
     前記グループ内の当該グループを代表する前記論理ユニット以外の前記論理ユニットを対象とする前記コマンドでは、対象とする前記論理ユニットが属する前記グループを代表する前記論理ユニットの識別子と、対象とする前記論理ユニットと対応付けられた前記論理デバイスの識別子とが指定され、
     前記チャネル制御部は、
     前記論理ユニットと、当該論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部との対応関係が格納された第1のテーブルと、
     前記論理デバイスと、当該論理デバイスの前記オーナ権を有する前記コマンド処理部との対応関係が格納された第2のテーブルとを管理し、
     前記第2のステップにおいて、前記チャネル制御部は、
     前記上位装置から与えられた前記コマンドのフォーマットが前記グループを代表する前記論理ユニットを対象とするフォーマットである場合には、当該コマンドで指定された前記識別子を有する前記論理ユニットと対応付けられた前記論理デバイスの前記オーナ権を有する前記コマンド処理部を前記第1のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する一方、
     当該コマンドのフォーマットが前記グループを代表する前記論理ユニット以外の前記論理ユニットを対象とするフォーマットである場合には、当該コマンドで指定された前記識別子を有する前記論理デバイスの前記オーナ権を有する前記コマンド処理を前記第2のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する
     ことを特徴とする請求項6に記載のストレージ装置の制御方法。
  8.  前記上位装置を構成する他のストレージ装置から、対象とする前記論理ユニットと対応付けられた前記論理デバイスの識別子が指定された前記コマンドが与えられ、
     前記第2のステップにおいて、前記チャネル制御部は、
     前記上位装置から与えられた前記コマンドのフォーマットが前記他のストレージ装置からの前記コマンドのフォーマットである場合には、当該コマンドで指定された前記論理デバイスの前記オーナ権を有する前記コマンド処理部を前記第2のテーブル上で検索し、当該検索により検出した前記コマンド処理部に当該コマンドを転送する
     ことを特徴とする請求項7に記載のストレージ装置の制御方法。
  9.  前記グループを代表する前記論理ユニットに当該論理ユニット間での優先度が予めそれぞれ設定され、
     前記コマンド処理部が、複数の前記グループに属し、いずれの前記グループをも代表しない同一の前記論理ユニットを対象とする複数の前記コマンドが前記チャネル制御部から転送され、当該複数のコマンドが競合するときには、当該論理ユニットが属する各前記グループをそれぞれ代表する前記論理ユニットに設定された前記優先度に従った順番で前記コマンドを処理する第3のステップを備える
     ことを特徴とする請求項7に記載のストレージ装置の制御方法。
  10.  前記コマンド処理部は、
     前記グループを代表する前記論理ユニット以外の前記論理ユニットごとに、当該論理ユニットが属する各前記グループをそれぞれ代表する前記論理ユニットにそれぞれ対応させたキューを有し、前記チャネル制御部から転送される前記コマンドを当該コマンドで指定された前記論理ユニットの識別子に応じた前記キューに格納し、
     前記第3のステップにおいて、前記コマンド処理部は、
     各前記キューに格納された前記コマンドを、各前記キューにそれぞれ対応付けられた前記グループを代表する前記論理ユニットに設定された前記優先度に応じた個数ずつ順番にかつ繰り返し処理する
     ことを特徴とする請求項9に記載のストレージ装置の制御方法。
PCT/JP2015/060167 2015-03-31 2015-03-31 ストレージ装置及びその制御方法 WO2016157421A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017508934A JP6247792B2 (ja) 2015-03-31 2015-03-31 ストレージ装置及びその制御方法
PCT/JP2015/060167 WO2016157421A1 (ja) 2015-03-31 2015-03-31 ストレージ装置及びその制御方法
US15/553,180 US20180121091A1 (en) 2015-03-31 2015-03-31 Storage apparatus and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/060167 WO2016157421A1 (ja) 2015-03-31 2015-03-31 ストレージ装置及びその制御方法

Publications (1)

Publication Number Publication Date
WO2016157421A1 true WO2016157421A1 (ja) 2016-10-06

Family

ID=57004846

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/060167 WO2016157421A1 (ja) 2015-03-31 2015-03-31 ストレージ装置及びその制御方法

Country Status (3)

Country Link
US (1) US20180121091A1 (ja)
JP (1) JP6247792B2 (ja)
WO (1) WO2016157421A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092053A (ja) * 1998-09-10 2000-03-31 Fujitsu Ltd ネットワークの被監視装置及び監視装置
WO2005006175A1 (ja) * 2003-07-10 2005-01-20 Fujitsu Limited 複数の論理ユニットをグループ化する方法、受信した要求の処理方法、複数の論理ユニットをグループ化する装置及び、受信した要求の処理装置
JP2005209149A (ja) * 2003-12-26 2005-08-04 Hitachi Ltd ボリュームの動的割り付け機能を有する記憶装置システム
JP2006119970A (ja) * 2004-10-22 2006-05-11 Hitachi Ltd ネットワークシステムにおけるエラーリカバリレベルの最適化
JP2006134342A (ja) * 2005-11-17 2006-05-25 Hitachi Ltd 外部記憶装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000092053A (ja) * 1998-09-10 2000-03-31 Fujitsu Ltd ネットワークの被監視装置及び監視装置
WO2005006175A1 (ja) * 2003-07-10 2005-01-20 Fujitsu Limited 複数の論理ユニットをグループ化する方法、受信した要求の処理方法、複数の論理ユニットをグループ化する装置及び、受信した要求の処理装置
JP2005209149A (ja) * 2003-12-26 2005-08-04 Hitachi Ltd ボリュームの動的割り付け機能を有する記憶装置システム
JP2006119970A (ja) * 2004-10-22 2006-05-11 Hitachi Ltd ネットワークシステムにおけるエラーリカバリレベルの最適化
JP2006134342A (ja) * 2005-11-17 2006-05-25 Hitachi Ltd 外部記憶装置

Also Published As

Publication number Publication date
JPWO2016157421A1 (ja) 2017-09-14
US20180121091A1 (en) 2018-05-03
JP6247792B2 (ja) 2017-12-13

Similar Documents

Publication Publication Date Title
US8296480B2 (en) Context execution in a media controller architecture
JP5181141B2 (ja) 入出力処理システムにおいて間接データ・アドレッシングを提供するための装置、並びにその方法およびコンピュータ・プログラム
JP3997061B2 (ja) 記憶サブシステムおよび記憶サブシステムの制御方法
JP4775846B2 (ja) 物理リンクの割当てを制御するコンピュータシステム及び方法
US7603485B2 (en) Storage subsystem and remote copy system using said subsystem
KR20200017363A (ko) 호스트 스토리지 서비스들을 제공하기 위한 NVMe 프로토콜에 근거하는 하나 이상의 호스트들과 솔리드 스테이트 드라이브(SSD)들 간의 관리되는 스위칭
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
US20070201434A1 (en) Storage system having a channel control function using a plurality of processors
JP6068676B2 (ja) 計算機システム及び計算機システムの制御方法
JP2008299434A (ja) 記憶制御装置及びその制御方法
US20130111221A1 (en) Storage system and its management method
JP2011512591A5 (ja)
JP2007164476A (ja) ストレージ装置及びその制御方法並びにプログラム
TW201714076A (zh) 具有介面控制機構之電子系統及其操作方法
JP2008065445A (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
US20040123026A1 (en) Control method for storage device controller system, and storage device controller system
JP2005276158A (ja) ストレージシステム、計算機システムまたは記憶領域の属性設定方法
JP6703600B2 (ja) 計算機システム及びサーバ
US8527732B2 (en) Storage system and method of controlling storage system
WO2017072868A1 (ja) ストレージ装置
JP6247792B2 (ja) ストレージ装置及びその制御方法
US11016698B2 (en) Storage system that copies write data to another storage system
US20160283134A1 (en) Data replication across host systems via storage controller
WO2015068208A1 (ja) システムおよびその制御方法
US20060277326A1 (en) Data transfer system and method

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: 15887574

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017508934

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15553180

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: 15887574

Country of ref document: EP

Kind code of ref document: A1