WO2012108040A1 - ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム - Google Patents

ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム Download PDF

Info

Publication number
WO2012108040A1
WO2012108040A1 PCT/JP2011/052899 JP2011052899W WO2012108040A1 WO 2012108040 A1 WO2012108040 A1 WO 2012108040A1 JP 2011052899 W JP2011052899 W JP 2011052899W WO 2012108040 A1 WO2012108040 A1 WO 2012108040A1
Authority
WO
WIPO (PCT)
Prior art keywords
disk
data
storage
response
read request
Prior art date
Application number
PCT/JP2011/052899
Other languages
English (en)
French (fr)
Inventor
一範 小橋
村山 浩
前田 実
俊英 柳川
恵一 中井
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2011/052899 priority Critical patent/WO2012108040A1/ja
Priority to EP11858158.6A priority patent/EP2674851B1/en
Priority to JP2012556716A priority patent/JP5761209B2/ja
Publication of WO2012108040A1 publication Critical patent/WO2012108040A1/ja
Priority to US13/963,404 priority patent/US9418014B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0625Power saving in 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a storage control device, a storage device, a storage system, a storage control method, and a program thereof.
  • This technology stops the rotation of a disk without I / O (Input / Output) request for a certain period of time, and when an I / O request is generated for a disk that has stopped rotating, the rotation of the disk is resumed and I / O is stopped. It makes it possible to do it.
  • I / O Input / Output
  • a disk with a high I / O frequency such as a disk used in an online business system
  • a disk with a low I / O frequency that performs batch operations such as backup without stopping the disk rotation.
  • the disk rotation has been stopped.
  • rotation of the backup destination disk that does not generate I / O except during backup is stopped to reduce power consumption, and I / O to the disk whose rotation has stopped can be performed by performing batch operations. The effect of waiting time was concealed.
  • a disk used in normal operation is called an “active disk”, and a disk that stops rotating is called a “standby disk”.
  • a non-volatile medium that temporarily stores write data while the standby disk is stopped is called a “cache”.
  • the standby disk When a failure occurs in one of the redundant active disks, the standby disk is rotated and the data written in the cache is reflected in the standby disk in order to read data from the redundant standby disk. And read the data. However, since it takes time until the rotation of the standby disk is stabilized, it takes time to resume reading data.
  • an object of the present invention is to reduce response delay due to standby disk activation after an active disk failure.
  • the storage device including the first disk being started and the second disk being stopped is controlled.
  • the storage control device transmits a read request or a write request to the storage device and receives a response to the read request or the write request from the storage device, and the read to the first disk being activated
  • the communication unit is controlled to transmit a rotation start command instructing the start of rotation of the second disk to the storage device.
  • the storage control device described below controls a storage device including a plurality of disks.
  • the storage control device receives an IO request from an external system having a high I / O request frequency such as an online business system, and starts to rotate the standby disk when the response of the active disk of the storage device to the IO request is delayed. To do.
  • FIG. 1 is a diagram for explaining the hardware configuration of a storage system.
  • a storage system 300 illustrated in FIG. 1 includes a storage device 100 and a storage control device 200.
  • the storage apparatus included in the storage system 300 is not limited to the storage apparatus 100, and can include a plurality of storage apparatuses having the same functions as the storage apparatus 100 indicated by 100A to 100C.
  • the storage control device 200 is connected to the external system 10 via a network cable 5 such as an Ethernet (registered trademark) cable, and the storage device 100 via a network cable 15 such as FC-AL (Fibre Channel Arbitrated Loop).
  • 100A to C are connected. Since the storage apparatuses 100A to 100C have the same functions as the storage apparatus 100, the following description of the storage apparatus 100 is the same for the storage apparatuses 100A to 100C.
  • the external system 10 is a system with a high frequency of I / O requests to the storage apparatus 100, such as an online business system.
  • the external system 10 transmits the data to be accessed to the storage controller 200 as a message according to the iSCSI protocol or the like as a message according to the iSCSI protocol or the like as a “read request” or “write request” specifying a LUN (Logical Unit Number) and a logical address.
  • “read request” and “write request” are referred to as “access request”
  • “read” and “write” are referred to as “access”.
  • the storage control device 200 includes an auxiliary storage unit 210, a drive unit 230, a communication unit 240, a storage unit 250, and a control unit 260. Each unit included in the storage control device 200 is bus-connected.
  • the storage unit 250 stores data and programs.
  • the storage unit 250 is, for example, a DRAM (Dynamic Random Access Memory).
  • FIG. 2 is a diagram illustrating an example of a memory map of the storage unit of the storage control device.
  • the storage unit 250 stores a mapping table 255, disk control information 310, disk control information 310, cache reflection information 320, disk state management information 330, standby cache state management information 340, and a program 990.
  • mapping table 255 The description of the mapping table 255 will be described later with reference to FIG.
  • the control unit 260 has an input / output control function, a cache management function, and a cache reflection function that are provided by executing the program 990. Further, these functions will be described later with reference to FIG.
  • the disk control information 310, the cache reflection information 320, the disk state management information 330, and the standby cache state management information 340 will be described later with reference to FIGS. 8, 14, 9, and 12, respectively.
  • the control unit 260 controls each unit by executing a program stored in the storage unit 250.
  • the control unit 260 is, for example, a CPU (Central Processing Unit).
  • the drive unit 230 is a device that reads and writes a recording medium 590 such as a floppy (registered trademark) disk, a CD-ROM (Compact Disc Read Only Memory), and a DVD (Digital Versatile Disc).
  • the drive unit 230 includes a motor that rotates the recording medium 590, a head that reads and writes data on the recording medium 590, and the like. Note that the recording medium 590 can store the program 990.
  • the drive unit 230 reads the program 990 from the recording medium 590 set in the drive unit 230.
  • the control unit 260 stores the program 990 read by the drive unit 230 in the storage unit 250 or the auxiliary storage unit 210.
  • the communication unit 240 is a circuit that communicates using a specific physical layer and data link layer standard in the Internet protocol or a fiber channel standard.
  • a MAC address MediaMACAccessMACControl address
  • a WWN World Wide Name
  • the storage control device 200 is a device that performs virtualization of the storage device.
  • Storage virtualization refers to a virtual volume different from an actual volume to the external system 10 as if there were a plurality of storage devices 100 and 100A-C as a single storage device.
  • the external system 10 can recognize the storage control device 200 as one storage device and perform access by LUN and logical address for both a read request to the storage device 100A and a read request to the storage device 100B.
  • Storage device virtualization enables expansion when the capacity of an existing storage device is insufficient, or use of a combination of different types of storage devices.
  • the storage control apparatus 200 stores in the storage unit 250 a mapping table 255 for associating the data position between the virtual volume shown to the external system 10 and the actual volume on the storage apparatus 100. .
  • the storage control device 200 refers to the mapping table 255 and performs LUN conversion processing between the physical LUN of the storage device 100 and the virtual LUN shown to the external system 10.
  • FIG. 3 is a diagram showing an example of the mapping table.
  • the mapping table 255 is a table that defines the correspondence between the virtual disk LUN information specified by the LUN and the physical disk LUN information specified by the LUN and WWN. Since the WWN identifies the storage device, by referring to the mapping table 255, the LUN of the virtual disk LUN information can be associated with the LUN of the physical disk LUN information and the storage device. Therefore, the storage control apparatus 200 can associate the data position between the virtual volume and the actual volume on the storage apparatus 100 by referring to the mapping table 255.
  • the virtual disk LUN information LUN “1” corresponds to the LUN “1” of the storage apparatus 100A that is the physical disk LUN information “XXX00001”.
  • the virtual disk LUN information LUN “2” corresponds to the LUN “1” of the storage apparatus 100B having the physical disk LUN information “XXX00002”.
  • the storage control device 200 transfers an access request for which the external system 10 targets LUN “1” to the storage device 100A as an access request for LUN “1” of the storage device 100A. Further, the access request for the LUN “2” by the external system 10 is transferred to the storage device 100B as the access request for the LUN “1” of the storage device 100B.
  • the storage apparatus 100 includes a disk array unit 105, a drive unit 120, a standby cache 130, a communication unit 140, a storage unit 150, and a control unit 160. Each unit included in the storage apparatus 100 is connected by a bus, and the control unit 160 controls each unit by executing a program stored in the storage unit 150.
  • the storage unit 150 stores data and programs.
  • the storage unit 250 is, for example, a DRAM.
  • the storage unit 150 stores the program 990 read from the recording medium 590.
  • the program 990 read from the recording medium 590 is a program for the storage control device 200 or the storage device 100 to realize the input / output control function, the cache management function, and the cache reflection function of the storage control device 200.
  • the storage apparatus 100 executes the program 990 when the storage system 300 does not exist in the storage system 300 and the external system 10 and the storage apparatus 100 are directly connected.
  • the storage device 100 realizes the above function.
  • the hardware configuration of the storage system in this case will be described later with reference to FIG.
  • the control unit 160 controls each unit by executing a program stored in the storage unit 150.
  • the control unit 160 is, for example, a CPU.
  • the control unit 160 causes the communication unit to transmit an abnormal signal to the storage control device 200 when an abnormality occurs in the disk of the disk array unit 105 or the disk of the standby cache 130 and the abnormality is notified. 140 is controlled.
  • the drive unit 230 is a device that reads and writes a recording medium 590 such as a CD-ROM or a DVD.
  • the drive unit 230 includes a motor that rotates the recording medium 590, a head that reads and writes data on the recording medium 590, and the like.
  • the drive unit 120 reads a program from the recording medium 590 set in the drive unit 120.
  • the control unit 160 stores the program read by the drive unit 120 in the storage unit 150.
  • the position of each disk included in the disk array unit 105 is identified by a RAID number and a disk number.
  • the disk number is a serial number assigned to a disk constituting the RAID.
  • Data in the disc is identified by a logical address.
  • the disk array unit 105 includes a RAID controller, and the RAID controller performs parity calculation and disk data management that distributes data to each disk according to the RAID configuration. In addition, when an abnormality occurs in the disk, the RAID controller notifies the controller 160 of the abnormality.
  • Each disk included in the disk array unit 105 constitutes a RAID.
  • a plurality of disks constituting a RAID are indicated by RAID-1 to RAID-5.
  • the LUN can be assigned to a plurality of RAIDs or assigned to a part of a plurality of disks constituting a RAID without being allocated to each of the plurality of disks constituting the RAID. In the following description, for the sake of explanation, it is assumed that LUNs are assigned to identify each of RAID-1 to RAID-5.
  • One of the plurality of disks constituting the RAID is a standby disk, and the other disk is an active disk.
  • the number of active disks varies depending on the RAID system. The ratio between the number of active disks and the number of standby disks can be selected by the user of the storage system 300. However, the number of active disks in the RAID differs depending on the RAID level. Table 1 shown below defines a correspondence relationship between the RAID level and the number of active disks for one standby disk.
  • the number of active disks is one for one standby disk.
  • the number of configured disks ⁇ 1” of the disks constituting the RAID is the number of active disks.
  • the RAID level is 6, the “number of components—2” of the disks constituting the RAID is the number of active disks.
  • the number of active disks for one standby disk changes according to the RAID level. As the number of standby disks is larger, the power saving effect is higher. Therefore, when the RAID level is 1, the power saving effect is the highest.
  • the standby cache 130 includes a data disk 132 and a meta disk 134.
  • the data disk 132 holds data to be reflected on the standby disk.
  • the data disk 132 does not store all the data on the standby disk, but regularly reflects the data on the standby disk, so that the storage capacity of the data disk 132 can be reduced rather than the same capacity as the standby disk.
  • the data stored in the data disk is variable length. This means that if data is held at a fixed length, if there is a write request less than the management unit (fixed length), it is necessary to change all of the data stored in the active disk and then write all the data to the cache. Because there is. Assuming that the data in the cache has a variable length, when a part of the data in the active disk is changed, only the changed part needs to be stored in the data disk. Therefore, compared to the case where the stored data has a fixed length, the number of data reflections from the data disk to the standby disk can be reduced, the amount of reflected data can be reduced, and the storage capacity of the data disk can be reduced.
  • the data stored in the standby cache 130 is one generation.
  • the data stored in the data cache is reflected on the standby disk so as not to have multiple generations.
  • the data disk 132 holds data to be written to the standby disk in a circular buffer method.
  • the meta disk 134 stores data map management information that defines the correspondence between the logical address in the data disk 132 and the logical address of the standby disk.
  • the storage control device 200 can determine where the data to be reflected on the standby disk is stored in the standby cache 130 by referring to the data map management information 261.
  • FIG. 4 is a sequence diagram showing an example of a sequence of data communication between the storage control device and the storage device.
  • the storage control apparatus 200 receives an access request including the LUN and logical address from the external system 10 (S111).
  • the storage control device 200 converts the LUN included in the access request into the LUN of the storage device 100 (S112).
  • the storage control device 200 transmits an access request including the LUN of the storage device 100 to the storage device 100 (S113).
  • the storage control device 200 stores the start instruction command for instructing the start of the standby disk rotation.
  • the data is transmitted to the device 100 (S115).
  • the storage control device 200 transmits a cache data acquisition request to the storage device 100 (S121) without waiting for the standby storage that has started rotating to become available. Data can be acquired.
  • the storage apparatus 100 transmits a response to the cache data acquisition request to the storage control apparatus 200 (S122).
  • the storage control device 200 transmits a cache write request to the storage device 100 (S131), without waiting for the standby storage that has started rotation to become available. Data can be written.
  • the storage apparatus 100 transmits a response to the cache data acquisition request to the storage control apparatus 200 (S132).
  • Standby cache abnormality When an abnormality occurs in a disk or the like of the standby cache 130, the storage apparatus 100 transmits an abnormality signal to the storage control apparatus 200 (S141). The storage control device 200 transmits a write request to the storage device 100, and writes data to the standby cache activated by starting rotation (S142). In this manner, data can be written even if the standby cache 130 is abnormal.
  • the storage control device 200 that has received the response (S122, S132, or S143) transfers the response to the external system 10 (S151).
  • a response from the standby disk is started.
  • a delay time T2 occurs with respect to the response to the external system 10 in order to start the rotation of the standby disk after detecting the error of the active disk.
  • the chart 402 shown in FIG. 5 shows a case where, when the response of the active disk is delayed, the standby disk is rotated and the target data is read from the standby cache 130 without waiting for the response abnormality determination time to elapse.
  • the time T3 is an active disk response delay time that is a threshold value for determining whether or not the response of the active disk is delayed.
  • the active disk response delay time is also registered in disk control information 310 described later. Therefore, the storage control device 200 can determine the response delay by referring to the active disk response delay time in the disk control information 310. If the response of the active disk is not received from the storage apparatus 100 within the time T3, the storage control apparatus 200 instructs the storage apparatus 100 to rotate the standby disk without waiting for the response abnormality determination time to elapse after the time T3. .
  • C4 is the processing time from the start of the standby disk rotation until the rotation is stable and can be read.
  • the storage control device 200 determines whether or not the target data exists in the standby cache 130 after starting the rotation of the standby disk.
  • C3 is a determination processing time for determining whether or not there is data in the standby cache 130.
  • a chart 402 shows a case where there is requested data in the standby cache 130, and the storage control device 200 reads data from the standby cache 130 when an abnormality of the active disk is found.
  • the chart 403 shown in FIG. 5 reads data from the standby disk because there is no request target data in the standby cache 130.
  • the storage control device 200 rotates the standby disk without waiting for the response abnormality determination time to elapse, and from the standby disk if the abnormality of the active disk is found.
  • the case of reading the target data is shown.
  • C4 is a processing time from the start of rotation of the standby disk until the rotation is stabilized and reading is possible.
  • FIG. 6 is a time chart showing an example of disk rotation control of the standby disk in response to a write request.
  • a chart 411 shows a case where the standby disk starts rotating after the error detection of the active disk.
  • C1 indicates the response time of the active disk to the access request from the external system 10.
  • the time T1 is a time serving as a threshold for determining a response abnormality.
  • C2 indicates the time from the start of rotation of the standby disk to the steady rotation. After C2 has elapsed, a response from the standby disk is started.
  • a delay time T2 occurs with respect to the response to the external system 10 in order to start the standby disk rotation after detecting the error of the active disk.
  • Chart 412 shows a case where, when the response of the active disk is delayed, the standby disk is rotated and the target data is written to the standby cache 130 without waiting for the response abnormality determination time to elapse.
  • Time T3 is a threshold time for determining whether or not the response of the active disk is delayed.
  • C6 is a time for writing data in the standby cache 130.
  • Storage controller 200 determines whether or not the target data exists in standby cache 130 after starting rotation of the standby disk.
  • C5 is the processing time from the start of rotation of the standby disk until the rotation becomes stable and writing becomes possible.
  • the storage control device 200 writes data to the standby disk if an abnormality of the active disk is found.
  • the standby disk starts rotating to reduce the response delay due to the activation of the standby disk after the active disk failure. it can.
  • FIG. 7 is a diagram illustrating an example of a functional configuration of the storage control apparatus.
  • FIG. 7 shows an input / output control function 201, a cache management function 202, and a cache reflection function 203.
  • the input / output control function 201, the cache management function 202, and the cache reflection function 203 correspond to calculation by the control unit 260 and control of the communication unit 240 or the storage unit 250 by the control unit 260 in hardware. Therefore, since each function corresponds to the hardware of the storage control device 200, communication between each function shown in FIG. 7 and the external system 10 and the storage device 100 is performed between the storage control device 200 and the external system 10. And data communication with the storage apparatus 100.
  • the input / output control function 201, the cache management function 202, and the cache reflection function 203 correspond to processes or threads generated by the control unit 260 by executing the program 990 in terms of software. Therefore, the exchange of data between functions corresponds to the transmission / reception of messages between processes or threads. Each function will be described below.
  • the monitoring function monitors the response time from transmission of read request or write request by active disk to reception of response.
  • the rotation control function refers to the disk control information 310.
  • FIG. 8 is a diagram showing an example of the disk control information.
  • the disk control information 310 includes an active disk abnormal time and an active disk response delay time. If the response time is longer than the active disk response delay time with reference to the rotation instruction function and disk control information 310, the start of standby disk rotation is instructed.
  • the active disk response delay time is “5 seconds”. Therefore, the rotation control function of the storage control device 200 causes the response from the active disk to be delayed by “5 seconds” or more, and when FIG. As described above, the rotation of the standby disk is started.
  • the active disk abnormal time is “30 seconds”. Therefore, when the response from the active disk is delayed by “30 seconds” or more, the rotation control function of the storage control device 200 is “abnormal”. Judge that there is. Then, the storage control device 200 sets the status of the active disk in the disk control information 310 described later to “abnormal” and stops access to the active disk.
  • the data read function When the data read function receives a read request including a LUN and a logical address from the external system 10, the data read function refers to the mapping table 255 and identifies the storage device and LUN of the read request destination. The data read function transmits a read request to the identified storage device. When the data read function receives read data from the storage apparatus 100, the data read function transmits the read data to the external system 10 as a response.
  • the data write function When the data write function receives the write data and the write request including the LUN and logical address from the external system 10, the data write function refers to the mapping table 255 and identifies the write request destination storage apparatus and LUN. The data write function transmits a write request including write data, LUN, and logical address to the identified storage apparatus.
  • the input / output control function 201 further outputs a write request, a read request, and an invalidation request to the cache management function.
  • the invalidation request is a request for invalidating an entry of data written to the data disk 132 after performing a process of writing data to the standby disk and the data disk 132 because the active disk has failed.
  • the input / output control function 201 refers to the disk state management information 330 stored in the storage unit 250, avoids access to the failed disk, and starts rotating the standby disk that is stopped.
  • FIG. 9 is a diagram showing an example of the disk status management information.
  • the disk status management information 330 shown in FIG. 9 defines whether the statuses of the active disk and the standby disk constituting the RAID identified by the RAID number are “normal” or “abnormal”.
  • the disk status management information 330 defines RAID number 331, active disk 332, standby disk A status information 333 column, and standby disk B status information 334 for each entry (row). For example, the active disk and the standby disk A configuring the RAID with the RAID number “1” are “normal”.
  • the active disk constituting the RAID with the RAID number “2” is “abnormal”, and the standby disks A and B are “normal”.
  • the active disk and the standby disk A constituting the RAID whose RAID number is “1” are “normal”.
  • the input / output control function 201 referring to the disk status management information 330 starts rotating the standby disk B. Then, the standby disk B is activated.
  • the cache management function 202 manages data held in the standby cache 130 with the data map management information 261 in association with the standby disk.
  • the cache management function 202 refers to the data map management information 261 to determine whether or not the data targeted for the read request and the write request is in the data disk 132.
  • FIG. 10 is a diagram showing an example of data map management information.
  • the data map management information 261 defines the correspondence between the logical address in the data disk and the logical address in the standby disk. As shown in FIG. 10, the data map management information 261 has a data entry for each storage number 262. Each entry includes data disk start address 263, RAID group number 264, standby disk number 265, standby disk start address 266, and data length 267.
  • Storage number 262 indicates the order in which data is stored.
  • the data disk start address 263 is a logical address in the data disk when data is stored in the data disk 132.
  • the RAID group number 136 is a RAID group number to which the standby disk belongs.
  • the standby disk number 265 is a serial number added to the standby disk in the RAID group.
  • the start address 266 of the standby disk is the start address of data that should have been stored in the standby disk.
  • the data length 267 is the data length of data that should have been stored in the standby disk.
  • the cache management function 202 refers to the data map management information 261 and determines whether or not the data at the logical address specified by the write request is not stored in the data disk 132. When the data at the logical address specified by the write request is not stored in the data disk 132, the cache management function 202 adds the data to the data disk 132 and adds the data map management information 261 in the meta disk 134. Update with data meta information.
  • the cache management function 202 refers to the data map management information 261 and determines whether or not the data at the logical address specified by the write request has been stored in the data disk 132. If newly written data is in the area where the designated address is stored, the cache management function 202 overwrites the same area with the written data, and the data map management information 261 is not changed.
  • the meta information indicating the data of the existing data is invalidated and the data map management information 261 is updated with new data.
  • the cache management function 202 acquires the logical address and data length of the data disk 132 from the meta disk 134, and stores the corresponding data as data. Read from the disk 132.
  • the cache management function 202 can search the logical address in the data disk 132 from the logical address of the standby disk.
  • the data map management information 261 may be a data structure that can be searched at high speed in order to reduce the search time of the logical address of the standby disk from the logical address of the data disk or the search time of the logical address of the data disk from the logical address of the standby disk. Good.
  • FIG. 11 is a diagram showing an example of data map management information having a tree data structure.
  • the data map management information 261 shown in FIG. 11 includes a plurality of nodes connected by branches.
  • Reference numeral 211 denotes a node having a RAID number “1” and a disk number “1”.
  • Node 212 indicates the start address of the standby disk, and node 213 indicates the logical address of storage number 1.
  • the data map management information 261 since it is not necessary to perform a coincidence search for all of the data map management information 261, the data map management information 261 has a B-tree data structure, thereby reducing the amount of search and eliminating the access delay to the standby disk. Can do.
  • the cache management function 202 When the cache management function 202 receives an invalidation request to a logical address on the specified RAID, the cache management function 202 invalidates the entry that is the target of the invalidation request from the data map management information 261. This process is used to invalidate the entry of the corresponding data when the data directly written to the standby disk remains in the data disk when the active disk fails.
  • a read request is received from the cache reflection function, all the information stored in the meta disk is extracted, and the data is returned in order.
  • the cache management function 202 further refers to the standby cache state management information 340 and operates so as not to store data in a data disk having an abnormality.
  • FIG. 12 is a diagram showing an example of standby cache state management information.
  • the standby cache state management information 340 shown in FIG. 12 defines whether the state of the data disk identified by the data disk number is “normal” or “abnormal”.
  • the cache management function 202 operates so as not to access a data disk whose state is “abnormal”.
  • FIG. 13 is a flowchart showing an example of processing for adding or updating data to the data disk in accordance with the write request.
  • the storage control device 200 receives write data together with a write request from the external system 10
  • the storage control device 200 acquires an entry corresponding to the logical address of the write request from the data map management information 261 (S1001). If there is an entry corresponding to the logical address of the write request in the data map management information 261 (S1002 Yes), the storage control device 200 determines whether there is a storage area for storing the write data on the data disk 132 (S1003). ). When there is a storage area (S1003 Yes), the storage control device 200 stores the write data in the data disk 132 and updates the data map management information 261 with the write data (S1004).
  • the storage controller 200 adds the data map management information 261 in response to the write request (S1007), and ends the process of writing data to the standby cache 130.
  • the cache reflecting function 203 is a function that reflects part or all of the contents of the standby cache 130 obtained from the cache management function to the standby disk when a certain condition is met.
  • the cache reflection function 203 reflects the data in the standby cache 130 on the standby disk according to the cache reflection information 320.
  • FIG. 14 is a diagram showing an example of the cache reflection information.
  • the cache reflection information 320 the RAID group number 321 of the standby disk, the standby disk number 322, the upper limit capacity 323 of the standby disk, the IO time 324, and the communication time zone 325 are input for each entry.
  • the upper limit capacity 323, the IO time 324, and the communication time zone 325 indicate conditions for performing cache reflection, respectively.
  • the upper limit capacity 323 is an upper limit threshold of a storage amount at which data reflection from the standby cache 130 to the standby disk is started.
  • the IO time 324 indicates a time zone when there is no I / O of the standby cache 130.
  • the IO time 324 is a time determined in advance that the standby cache 130 is stopped.
  • the communication time zone 325 is a time zone in which the load on the communication path between the external system 10 and the storage control device 200 is light.
  • the cache reflection function 203 satisfies the conditions such that the storage capacity of the data disk exceeds the value “50%” of the upper limit capacity 323, the time zone indicated by the IO time 324, and the time zone indicated by the communication time zone 325. Judge.
  • the cache reflection function 203 reflects the data held in the standby cache 130 to the standby disk with respect to the disk of the corresponding RAID group when all conditions or any one of the conditions is satisfied.
  • FIG. 15 is a flowchart showing an example of the cache reflection process.
  • the cache reflection process is executed when the active disk is operating normally and the standby disk is stopped, or when the active disk becomes abnormal and the standby disk is operating. .
  • data of the same logical address that is held in the standby cache 130 and not in the standby disk is reflected in the standby disk.
  • the storage control device 200 determines whether or not the standby cache 130 satisfies the condition included in the cache reflection information 320 (S1021). When the condition of the cache reflection information 320 is satisfied (S1021 Yes), the storage control device 200 determines whether or not the standby disk is activated (S1022). If the standby disk is not activated (No in S1022), rotation of the standby disk is started to reflect the data (S1023). When the standby disk is being activated (S1022 Yes), the storage control device 200 controls the storage device 100 so that all data written to the standby cache 130 is reflected on the standby disk (S1024).
  • the storage controller 200 determines whether the active disk or the standby cache 130 is abnormal (S1025). If the active disk and the standby cache 130 are not abnormal (No in S1025), the standby disk is stopped (S1026), and the cache reflection process is terminated. If the active disk or the standby cache 130 is abnormal (S1025 Yes), the cache reflection process is terminated without stopping the standby disk.
  • FIG. 16 is a diagram showing an example of setting a data disk.
  • FIG. 16 shows a disk array unit 105 and a data disk 132.
  • the number of data disks 132 is set to the maximum number of standby disks out of the number of standby disks constituting each RAID.
  • the number of data disks 132 is also “2”. In this way, when reflecting data to the standby disk that needs to be booted, each standby disk can reflect data from the corresponding data disk, thus reducing the data reflection time of the standby disk. Can do.
  • the capacity of the data disk is set according to the amount of data to be accumulated and the write amount during the reflection processing.
  • FIG. 17 is a flowchart showing an example of operation processing when a failure occurs in an active disk during a read request operation.
  • the storage control device 200 transmits a read request received from the external system 10 to the storage device 100 (S1101).
  • the storage controller 200 determines whether or not the response from the active disk is delayed (S1102).
  • the storage control device 200 instructs the storage device 100 to start rotation of the standby disk (S1103).
  • the storage controller 200 determines whether an error has occurred in the active disk (S1104).
  • the storage control device 200 If an error has occurred in the active disk (S1104 Yes), it is determined whether or not the standby cache 130 is normal (S1105). If an error has occurred in the standby cache 130 (No in S1105), the storage control device 200 notifies the external system 10 of an IO error (S1121) and ends the process. When the standby cache 130 is normal (S1105 Yes), the storage controller 200 sets the active disk status of the disk status management information 330 to “abnormal” and sets the standby disk status to “normal” (S1106).
  • the storage controller 200 determines whether or not there is data to be read requested in the standby cache 130 (S1107). When there is data in the standby cache 130 (S1107, Yes), the storage controller 200 reads data from the standby cache 130 (S1108). The storage control device 200 transmits the read data to the external system 10 (S1109), and ends the process.
  • the storage controller 200 waits for the standby disk to start (S1111), and reads data from the standby disk (S1112).
  • the storage control device 200 transmits the read data to the external system 10 (S1109), and ends the process.
  • the storage control device 200 When no error has occurred in the active disk (No in S1104), the storage control device 200 reads data from the active disk (S1131), and stops the standby disk in order to prevent power consumption (S1132). Next, the storage control device 200 transmits the read data to the external system 10 (S1109), and ends the process.
  • FIG. 18 is a flowchart showing an example of operation processing when a failure occurs in the active disk during the write request operation.
  • the storage control device 200 transmits the write request received from the external system 10 to the active disk of the storage device 100 (S1201).
  • the storage controller 200 determines whether the response from the active disk is delayed (S1202). When the response is delayed (S1202 Yes), the storage control device 200 instructs the storage device 100 to start rotation of the standby disk (S1203). If the response is not delayed (No in S1202), or after starting standby disk rotation (S1203), the storage control device 200 determines whether an error has occurred in the active disk (S1204).
  • the storage controller 200 sets the active disk status in the disk status management information 330 to “abnormal” and The state is set to “normal” (S1206). Then, the storage control device 200 writes data to the standby disk (S1207) and ends the process.
  • the storage controller 200 determines whether or not the standby cache 130 is normal (S1211). When an error has occurred in the standby cache 130 (S1211 No), the storage control device 200 reflects the data of the standby cache 130 on the standby disk in the background (S1212). The storage control device 200 writes data to the active disk (S1213) and ends the process.
  • the storage controller 200 stops the standby disk to reduce power consumption (S1241) and writes data to the active disk. (S1213), the process is terminated.

Abstract

 起動中の第1ディスクと停止中の第2ディスクとを含むストレージ装置を制御するストレージ制御装置であって、前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、前記起動中の第1ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第2ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部と、を備える。

Description

ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム
 本発明は、ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラムに関する。
 使用していないハードディスク装置のディスクの回転を停止し、ストレージ装置の消費電力を削減する技術がある。この技術は、一定時間I/O(Input/Output)要求の無いディスクの回転を停止し、回転停止中のディスクに対してI/O要求が発生すると、ディスクの回転を再開しI/Oを行える状態にするものである。
 ただし、回転停止中のディスクに対してI/Oを行うと、ディスクの回転再開からディスクの回転が安定するまで、最大数分I/Oの応答が返却されない。そのため、従来は、オンライン業務システムに使用するディスクのようなI/O頻度の高いディスクに対しては、ディスク回転の停止を行なわず、バックアップ等のバッチ業務を行なうI/O頻度の低いディスクに対しては、ディスク回転の停止を行なってきた。これにより、バックアップ中以外はI/Oの発生しないバックアップ先ディスクの回転を止めて電力消費を削減し、回転を停止したディスクへのI/Oは、バッチ業務を行うことで、I/Oの待ち時間の影響を隠蔽していた。
 一方、オンライン業務システムに使用するディスクのようなI/O頻度の高いディスクに対して電力削減を行う技術がある。そのような技術は、RAID(Redundant Arrays of Inexpensive Disks)などにより冗長化したディスクの一部の回転を停止し、他のディスクを使用するというものである。
特開2009-187450号公報 特開2009-238159号公報 特開2009-048360号公報
 以後、説明のために、通常運用で使用するディスクを「アクティブディスク」と呼び、回転を停止するディスクを「スタンバイディスク」と呼ぶ。また、スタンバイディスク停止中に一時的に書き込みデータを溜め込む不揮発媒体を「キャッシュ」と呼ぶ。
 冗長化構成された一方のアクティブディスクに故障が生じた場合、冗長化構成されたスタンバイディスクからデータを読み込むにためには、スタンバイディスクを回転し、キャッシュに書き込まれたデータを、スタンバイディスクに反映し、データを読み出す。しかしながら、スタンバイディスクの回転が安定するまでに時間がかかるため、データの読み出し再開まで時間がかかる。
 1つの側面では、本発明は、アクティブディスク故障後のスタンバイディスク起動による応答遅延の低減を図ることを目的とする。
 1つの案では、起動中の第1ディスクと停止中の第2ディスクとを含むストレージ装置を制御する。ストレージ制御装置は、前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、前記起動中の第1ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第2ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部と、を備える。
 アクティブディスク故障後のスタンバイディスク起動による応答遅延を減らすことができる。
ストレージシステムのハードウェア構成を説明する図である。 ストレージ制御装置の記憶部のメモリマップの一例を示す図である。 マッピングテーブルの一例を示す図である。 ストレージ制御装置とストレージ装置との間のデータ通信のシーケンスの一例を示すシーケンス図である。 読み出し要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。 書き込み要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。 ストレージ制御装置が有する機能構成の一例を示す図である。 ディスク制御情報の一例を示す図である。 ディスク状態管理情報の一例を示す図である。 データマップ管理情報の一例を示す図である。 B木のデータ構造を有するデータマップ管理情報の一例を示す図である。 スタンバイキャッシュ状態管理情報の一例を示す図である。 書き込み要求に従ってデータディスクにデータを追加又は更新する処理の一例を示すフローチャートである。 キャッシュ反映情報の一例を示す図である。 キャッシュ反映処理の一例を示すフローチャートである。 データディスクの設定例を示す図である。 読み出し要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。 書き込み要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。 ストレージ装置の変形例を示す図である。
 以下に説明するストレージ制御装置は、複数のディスクを含むストレージ装置を制御する。ストレージ制御装置は、オンライン業務システムのようなI/O要求頻度の高い外部システムからIO要求を受け取り、IO要求に対するストレージ装置のアクティブディスクの応答が遅延すると、スタンバイディスクの回転を開始するように動作する。
 以下に、〔1〕ストレージシステムのハードウェア構成、〔2〕ストレージ制御装置とストレージ装置との間のデータ通信のシーケンス、〔3〕ストレージ制御装置のスタンバイディスク制御、〔4〕ストレージ制御装置の機能、〔5〕ストレージ制御装置の処理フロー、及び〔6〕ストレージ装置の変形例の順に説明する。
 〔1〕ストレージシステムのハードウェア構成
 図1は、ストレージシステムのハードウェア構成を説明する図である。図1に示すストレージシステム300は、ストレージ装置100、及びストレージ制御装置200を含む。なお、ストレージシステム300に含まれるストレージ装置は、ストレージ装置100に限定されず、100A~Cで示されるストレージ装置100と同じ機能を有する複数のストレージ装置を含むことができる。ストレージ制御装置200は、イーサネット(登録商標)ケーブル等のネットワークケーブル5を介して外部システム10と接続するとともに、FC-AL(Fibre Channel Arbitrated Loop)等のネットワークケーブル15を介してストレージ装置100、及び、100A~Cと接続する。ストレージ装置100A~Cに関しては、ストレージ装置100と同じ機能を有するため、以下におけるストレージ装置100の説明は、ストレージ装置100A~Cについても同じである。
 ストレージ装置100と、ストレージ制御装置200とは、iSCSI(Internet Small Computer System Interface)プロトコル等に従って互いにデータ通信する。ストレージ制御装置200と外部システム10も、iSCSIプロトコル等に従って互いにデータ通信する。
 〔1.1〕外部システム
 外部システム10は、オンライン業務システムのように、ストレージ装置100に対するI/O要求頻度の高いシステムである。外部システム10は、アクセス対象となるデータを、LUN(Logical Unit Number)及び論理アドレスをそれぞれ特定した「読み出し要求」又は「書き込み要求」を、iSCSIプロトコル等に従うメッセージとして、ストレージ制御装置200に送信する。なお、以下において「読み出し要求」及び「書き込み要求」は、「アクセス要求」と呼び、「読み出し」及び「書き込み」を、「アクセス」と呼ぶ。
 〔1.2〕ストレージ制御装置
 ストレージ制御装置200は、補助記憶部210、ドライブ部230、通信部240、記憶部250、及び制御部260を有する。ストレージ制御装置200に含まれる各ユニットは、バス接続されている。
 記憶部250は、データやプログラムを記憶する。記憶部250は、例えば、DRAM(Dynamic Random Access Memory)である。図2は、ストレージ制御装置の記憶部のメモリマップの一例を示す図である。記憶部250は、マッピングテーブル255、ディスク制御情報310、ディスク制御情報310、キャッシュ反映情報320、ディスク状態管理情報330、及びスタンバイキャッシュ状態管理情報340、及びプログラム990を格納する。
 マッピングテーブル255の説明は、図3を用いて後述する。また、制御部260がプログラム990を実行することで有する入出力制御機能、キャッシュ管理機能、及び、キャッシュ反映機能を有する。また、これらの機能については、図7を用いて後述する。ディスク制御情報310、キャッシュ反映情報320、ディスク状態管理情報330、及びスタンバイキャッシュ状態管理情報340については、図8、図14、図9、及び図12を用いてそれぞれ後述する。
 制御部260は、記憶部250内に格納されるプログラムを実行することで、各ユニットを制御する。制御部260は、例えば、CPU(Central Processing Unit)である。
 補助記憶部210は、電源供給が無くても情報を保持可能であり、記憶部250に格納されるプログラム及びデータを記憶する非揮発性の装置である。補助記憶部210は、磁気ディスクを用いたディスクアレイ、又は、フラッシュメモリを用いたSSD(Solid State Drive)等である。
 ドライブ部230は、例えば、フロッピー(登録商標)ディスクやCD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)などの記録媒体590を読み書きする装置である。ドライブ部230は、記録媒体590を回転させるモータや記録媒体590上でデータを読み書きするヘッド等を含む。なお、記録媒体590は、プログラム990を格納することができる。ドライブ部230は、ドライブ部230にセットされた記録媒体590からプログラム990を読み出す。制御部260は、ドライブ部230により読み出されたプログラム990を、記憶部250又は補助記憶部210に格納する。
 通信部240は、インターネットプロトコルにおける特定の物理層およびデータリンク層の規格、又は、ファイバーチャネル規格を用いて通信する回路である。通信部240がインターネットプロトコルを使用する場合は、通信部240には、MACアドレス(Media Access Control address)が割り当てられる。また、通信部240がファイバーチャネルを用いて通信を行う場合には、通信部240には、WWN(World Wide Name)が割り当てられる。
 ストレージ制御装置200は、ストレージ装置の仮想化を行う装置である。ストレージの仮想化とは、複数のストレージ装置100及び100A~Cをあたかも単一のストレージ装置があるように、実際のボリュームとは異なる仮想的なボリュームを外部システム10に対して見せる。例えば、ストレージ装置100Aに対する読み出し要求も、ストレージ装置100Bに対する読み出し要求も、外部システム10は、ストレージ制御装置200を一つのストレージ装置と認識して、LUNと論理アドレスによるアクセスを行なうことができる。ストレージ装置の仮想化によって、既存のストレージ装置の容量が不足した際の拡張や、異機種のストレージ装置を組み合わせた利用が可能になる。
 ストレージ制御装置200は、外部システム10にみせる仮想的なボリュームと、ストレージ装置100上の実際のボリュームとの間でデータの位置についての関連付けを行うためのマッピングテーブル255を、記憶部250に格納する。ストレージ制御装置200は、マッピングテーブル255を参照して、ストレージ装置100の物理的なLUNと、外部システム10に見せる仮想的なLUNとの間のLUN変換処理を行う。
 図3は、マッピングテーブルの一例を示す図である。マッピングテーブル255は、LUNにより特定される仮想ディスクLUN情報と、LUN及びWWNより特定される物理ディスクLUN情報との対応関係を規定するテーブルである。WWNは、ストレージ装置を識別するので、マッピングテーブル255を参照することで、仮想ディスクLUN情報のLUNと、物理ディスクLUN情報のLUN及びストレージ装置とを対応させることができる。そのため、ストレージ制御装置200は、マッピングテーブル255を参照することで、仮想的なボリュームと、ストレージ装置100上の実際のボリュームとの間のデータ位置についての関連付けを行うことができる。
 例えば、仮想ディスクLUN情報LUN「1」は、物理ディスクLUN情報「XXX00001」であるストレージ装置100AのLUN「1」に対応する。仮想ディスクLUN情報LUN「2」は、物理ディスクLUN情報「XXX00002」であるストレージ装置100BのLUN「1」に対応する。ストレージ制御装置200は、外部システム10がLUN「1」を対象とするアクセス要求は、ストレージ装置100AのLUN「1」を対象とするアクセス要求として、ストレージ装置100Aに転送する。また、外部システム10がLUN「2」を対象とするアクセス要求は、ストレージ装置100BのLUN「1」を対象とするアクセス要求として、ストレージ装置100Bに転送する。
 〔1.3 ストレージ装置〕
 ストレージ装置100は、ディスクアレイ部105、ドライブ部120、スタンバイキャッシュ130、通信部140、記憶部150、及び制御部160を有する。ストレージ装置100に含まれる各ユニットは、バス接続されており、制御部160は、記憶部150内に格納されるプログラムを実行することで、各ユニットを制御する。
 記憶部150は、データやプログラムを記憶する。記憶部250は、例えば、DRAMである。記憶部150は、記録媒体590から読み出されたプログラム990を格納する。記録媒体590から読み出されたプログラム990は、ストレージ制御装置200の入出力制御機能、キャッシュ管理機能、及び、キャッシュ反映機能を、ストレージ制御装置200又はストレージ装置100が実現するためのプログラムである。
 ストレージ装置100がプログラム990を実行する場合は、ストレージシステム300において、ストレージ制御装置200が存在せず、外部システム10とストレージ装置100が直接接続する場合である。その場合、ストレージシステム300がストレージ制御装置200を含まない例においては、ストレージ装置100が上記機能を実現する。当該ケースのストレージシステムのハードウェア構成は、図19を用いて後述する。
 制御部160は、記憶部150内に格納されるプログラムを実行することで、各ユニットを制御する。制御部160は、例えば、CPUである。制御部160は、後述するように、ディスクアレイ部105のディスク、又は、スタンバイキャッシュ130のディスクに異常が生じ、異常が通知されると、異常信号をストレージ制御装置200に送信するように通信部140を制御する。
 ドライブ部230は、例えば、CD-ROM、DVDなどの記録媒体590を読み書きする装置である。ドライブ部230は、記録媒体590を回転させるモータや記録媒体590上でデータを読み書きするヘッド等を含む。ドライブ部120は、ドライブ部120にセットされた記録媒体590からプログラムを読み出す。制御部160は、ドライブ部120により読み出されたプログラムを、記憶部150に格納する。
 ディスクアレイ部105に含まれる各ディスクの位置は、RAID番号及びディスク番号により識別される。ディスク番号は、RAIDを構成するディスクに割り当てられる通番である。ディスク内のデータは、論理アドレスにより識別される。なお、ディスクアレイ部105は、RAIDコントローラを含み、RAIDコントローラが、パリティ演算や、RAID構成に応じて各ディスクにデータを振り分けるディスクデータ管理を行なう。また、RAIDコントローラは、ディスクに異常が生じると、異常を制御部160に通知する。
 ディスクアレイ部105に含まれる各ディスクは、RAIDを構成する。図1においては、RAIDを構成する複数のディスクを、RAID-1~RAID-5で示している。LUNは、RAIDを構成する複数のディスク毎に割り振られることなく、複数のRAIDに対して割り当て、又は、RAIDを構成する複数のディスクの一部に対して割り当てることも可能である。以下では、説明のために、LUNは、RAID-1~RAID-5の各々を識別するように、割り当てられているものとする。
 RAIDを構成する複数のディスクのうちの1つはスタンバイディスクであり、他のディスクはアクティブディスクである。アクティブディスクの数は、RAIDの方式により変わる。アクティブディスク数とスタンバイディスク数の比率は、ストレージシステム300の利用者によって選択できる。ただし、RAID内のアクティブディスク数は、RAIDレベルにより異なる。下記に示す表1は、RAIDレベルと、1つのスタンバイディスクに対するアクティブディスク数との対応関係を定義した表である。
Figure JPOXMLDOC01-appb-T000001
 表1に示すように、RAIDレベルが1、つまり、ディスクがミラーリングされている場合、1つのスタンバイディスクに対して、アクディブディスクの数は1つとなる。RAIDレベルが5の場合、RAIDを構成するディスクの「構成台数-1」がアクディブディスク数になる。RAIDレベルが6の場合、RAIDを構成するディスクの「構成台数-2」がアクディブディスク数になる。このように、RAIDのレベルに従って、1つのスタンバイディスクに対するアクティブディスクの数は変わる。スタンバイディスクの数が多いほど、省電力の効果は高いので、RAIDレベル1のとき、最も省電力の効果が高い。
 スタンバイキャッシュ130は、スタンバイディスクに書き込むべきデータをキャッシュするディスクである。スタンバイキャッシュ130は、ディスクに異常が生じると、異常を制御部160に通知する。スタンバイディスクが停止中に、アクディブディスクにデータの書き込みが行なわれると、スタンバイディスクとアクティブディスクの格納データが互いに相違する。スタンバイディスク停止中にアクティブディスクに書き込まれたデータは、スタンバイキャッシュ130に保持され、スタンバイディスクの記憶量が制限に達する等の一定条件が成立した場合、スタンバイキャッシュ130で保持されたデータはスタンバイディスクに反映される。なお、ストレージ制御装置200は、スタンバイキャッシュ130に格納されたデータを、スタンバイディスクに反映する条件を規定したキャッシュ反映情報320を参照して、ストレージ装置100に、キャッシュ反映指示を送信する。キャッシュ反映情報320の詳細は、図14を用いて後述する。
 スタンバイキャッシュ130は、データディスク132と、メタディスク134とを含む。データディスク132は、スタンバイディスクに反映すべきデータを保持する。データディスク132は、スタンバイディスクのデータを全て格納せずに、定期的にスタンバイディスクにデータを反映することで、スタンバイディスクと同じ容量ではなく、データディスク132の記憶容量を少なくすることができる。
 なおデータディスクへの格納データは可変長である。これは、固定長でデータを保持した場合、管理単位(固定長)未満の書き込み要求があった場合、アクティブディスクに格納されるデータの一部を変更した後、キャッシュへ全データを書き込む必要があるためである。キャッシュ内のデータを可変長とすると、アクティブディスク内のデータの一部を変更した場合、変更部分だけをデータディスクに記憶すればよい。そのため、格納データを固定長として場合と比して、データディスクからスタンバイディスクへのデータ反映の回数の減少、反映データ量の削減、データディスクの記憶容量の削減が可能になる。
 また、スタンバイキャッシュ130内に格納されるデータは、1世代とする。複数世代とならないように、データキャッシュに格納されるデータは、スタンバイディスクに反映される。
 データディスク132は、スタンバイディスクに書き込むべきデータを、循環バッファ方式で保持する。メタディスク134は、データディスク132内の論理アドレスと、スタンバイディスクとの論理アドレスの対応関係を規定するデータマップ管理情報を格納する。
 ストレージ制御装置200は、データマップ管理情報261を参照することで、スタンバイディスクに反映すべきデータが、スタンバイキャッシュ130のどこに格納されているかを判別することができる。
 〔2〕ストレージ制御装置とストレージ装置との間のデータ通信のシーケンス
 図4は、ストレージ制御装置とストレージ装置との間のデータ通信のシーケンスの一例を示すシーケンス図である。
 ストレージ制御装置200は、外部システム10から、LUN及び論理アドレスを含むアクセス要求を受信する(S111)。ストレージ制御装置200は、アクセス要求に含まれるLUNを、ストレージ装置100のLUNに変換する(S112)。ストレージ制御装置200は、ストレージ装置100のLUNを含むアクセス要求を、ストレージ装置100に送信する(S113)。ストレージ制御装置200は、アクセス要求の転送から応答の受信までの応答時間の遅延を示す応答遅延時間より、アクティブディスクによる応答時間が長い場合、スタンバイディスクの回転の開始を指示する開始指示命令をストレージ装置100に送信する(S115)。
 A.読み出し要求
 アクセス要求が、読み出し要求である場合、ストレージ制御装置200は、キャッシュデータ取得要求をストレージ装置100に送信して(S121)、回転を開始したスタンバイストレージが利用可能になるのを待つこと無く、データの取得が可能になる。ストレージ装置100は、キャッシュデータ取得要求の応答をストレージ制御装置200に送信する(S122)。
 B.書き込み要求
 アクセス要求が、書き込み要求である場合、ストレージ制御装置200は、キャッシュ書き込み要求をストレージ装置100に送信して(S131)、回転を開始したスタンバイストレージが利用可能になるのを待つこと無く、データの書き込みが可能になる。ストレージ装置100は、キャッシュデータ取得要求の応答をストレージ制御装置200に送信する(S132)。
 C.スタンバイキャッシュ異常
 スタンバイキャッシュ130のディスク等に異常が生じる場合、ストレージ装置100は、異常信号をストレージ制御装置200に送信する(S141)。ストレージ制御装置200は、書き込み要求をストレージ装置100に送信して、回転を開始して起動したスタンバイキャッシュに対してデータの書き込みを行なう(S142)。このように、スタンバイキャッシュ130の異常が生じても、データの書き込みは可能である。
 応答(S122又はS132又はS143)を受信したストレージ制御装置200は、応答を外部システム10に転送する(S151)。
 〔3〕ストレージ制御装置のスタンバイディスク制御
 図5は、読み出し要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。チャート401は、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるケースを示す。C1は、外部システム10からのアクセス要求に対するアクティブディスクの応答時間を示す。時間T1は、応答異常を判別するための閾値を示すアクティブディスク異常時間である。アクティブディスク異常時間は、後述のディスク制御情報310に登録されている。したがって、ストレージ制御装置200は、ディスク制御情報310のアクティブディスク異常時間を参照することで、応答異常を判別することができる。C2は、スタンバイディスクの回転を開始し、定常回転に至る時間を示す。C2経過後、スタンバイディスクからの応答が開始される。チャート401では、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるために、外部システム10への応答に対して遅延時間T2が生じる。
 図5に示すチャート402は、アクティブディスクの応答が遅延した場合、応答異常の判断時間の経過を待たずに、スタンバイディスクを回転するとともに、スタンバイキャッシュ130から対象データを読み出すケースを示す。時間T3は、アクティブディスクの応答が遅延しているか否かを判別するための閾値となるアクティブディスク応答遅延時間である。アクティブディスク応答遅延時間も、後述のディスク制御情報310に登録されている。したがって、ストレージ制御装置200は、ディスク制御情報310のアクティブディスク応答遅延時間を参照することで、応答遅延を判別することができる。ストレージ制御装置200は、時間T3以内にアクティブディスクの応答がストレージ装置100から無い場合、時間T3経過後、応答異常の判断時間の経過を待たずに、スタンバイディスクの回転をストレージ装置100に指示する。
 C4は、スタンバイディスクの回転を開始して、回転が安定し、読み出し可能になるまでの処理時間である。ストレージ制御装置200は、スタンバイディスクの回転を開始した後に、スタンバイキャッシュ130内に対象データが存在するか否か判断する。C3は、スタンバイキャッシュ130内にデータがあるか否か判断する判断処理の時間である。チャート402では、スタンバイキャッシュ130内に要求データがあるケースを示し、ストレージ制御装置200は、アクティブディスクの異常が判明すれば、スタンバイキャッシュ130からデータを読み出す。
 図5に示すチャート403は、スタンバイキャッシュ130に要求対象データが無いため、スタンバイディスクからデータを読み出す。チャート403では、アクティブディスクの応答が遅延した場合、ストレージ制御装置200は、応答異常の判断時間の経過を待たずに、スタンバイディスクを回転するとともに、アクティブディスクの異常が判明すれば、スタンバイディスクから対象データを読み出すケースを示す。C4は、スタンバイディスクの回転を開始して、回転が安定し、読み出し可能になるまでの処理時間である。
 このように、チャート402及び403では、外部システム10からのアクセス要求に対するアクティブディスクからの応答が遅延すると、スタンバイディスクの回転を開始することで、アクティブディスク故障後のスタンバイディスク起動による応答遅延を減らすことができる。
 図6は、書き込み要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。
 チャート411は、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるケースを示す。C1は、外部システム10からのアクセス要求に対するアクティブディスクの応答時間を示す。時間T1は、応答異常を判別するための閾値となる時間である。C2は、スタンバイディスクの回転を開始し、定常回転に至る時間を示す。C2経過後、スタンバイディスクからの応答が開始される。チャート411では、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるために、外部システム10への応答に対して遅延時間T2が生じる。
 チャート412は、アクティブディスクの応答が遅延した場合、応答異常の判断時間の経過を待たずに、スタンバイディスクを回転するとともに、スタンバイキャッシュ130に対象データを書き込むケースを示す。時間T3は、アクティブディスクの応答が遅延しているか否かを判別するための閾値となる時間である。C6は、スタンバイキャッシュ130内にデータを書き込む時間である。ストレージ制御装置200は、時間T3以内にアクティブディスクの応答がストレージ装置100から無い場合、時間T3経過後、応答異常の判断時間の経過を待たずに、スタンバイディスクの回転をストレージ装置に指示する。
 ストレージ制御装置200は、スタンバイディスクの回転を開始した後に、スタンバイキャッシュ130内に対象データが存在するか否か判断する。C5は、スタンバイディスクの回転を開始して、回転が安定し、書き込み可能になるまでの処理時間である。チャート412では、ストレージ制御装置200は、アクティブディスクの異常が判明すれば、スタンバイディスクにデータを書き込む。
 このように、チャート412では、外部システム10からのアクセス要求に対するアクティブディスクからの応答が遅延すると、スタンバイディスクの回転を開始することで、アクティブディスク故障後のスタンバイディスク起動による応答遅延を減らすことができる。
 〔4〕ストレージ制御装置の機能
 図5及び図6を用いて説明したストレージ制御装置の動作を実現するストレージ制御装置の機能について説明する。図7は、ストレージ制御装置が有する機能構成の一例を示す図である。図7には、入出力制御機能201、キャッシュ管理機能202、及びキャッシュ反映機能203が示される。入出力制御機能201、キャッシュ管理機能202、及びキャッシュ反映機能203は、ハードウェア的には、制御部260による演算や、制御部260による通信部240又は記憶部250に対する制御に相当する。したがって、各機能は、ストレージ制御装置200のハードウェアに相当するため、図7に示される各機能と、外部システム10及びストレージ装置100との間の通信は、ストレージ制御装置200と、外部システム10及びストレージ装置100との間のデータ通信に相当する。
 また、入出力制御機能201、キャッシュ管理機能202、及びキャッシュ反映機能203は、ソフトウェア的には、制御部260がプログラム990を実行することで生成するプロセス又はスレッドに相当する。したがって、各機能間のデータのやり取りは、プロセス又はスレッド間のメッセージの送受信に相当する。以下、各機能について説明する。
 A.入出力制御機能
 入出力制御機能は、上記したストレージの仮想化機能に加えて、マッピングテーブル255を参照して、外部システム10から送信されたディスクへの読み出し要求又は書き込み要求を処理する機能である。入出力制御機能は、ディスクの応答時間を監視する監視機能、図5及び図6を用いて説明したスタンバイディスクの回転の開始を指示する回転制御機能、データ読み込み機能、及びデータ書き込み機能とを含む。
 監視機能は、アクディブディスクによる読み出し要求又は書き込み要求の送信から応答の受信までの応答時間を監視する。回転制御機能は、ディスク制御情報310を参照する。
 図8は、ディスク制御情報の一例を示す図である。ディスク制御情報310は、アクディブディスク異常時間と、アクディブディスク応答遅延時間とを含む。回転指示機能、ディスク制御情報310を参照して、応答時間が、アクティブディスク応答遅延時間より長い場合、スタンバイディスクの回転の開始を指示する。
 図8に示す例ではアクディブディスク応答遅延時間が「5秒」であるので、ストレージ制御装置200の回転制御機能は、アクティブディスクからの応答が「5秒」以上遅延すると、図5及び図6を用いて説明したように、スタンバイディスクの回転を開始する。図8に示す例ではアクディブディスク異常時間が「30秒」であるので、ストレージ制御装置200の回転制御機能は、アクティブディスクからの応答が「30秒」以上遅延すると、アクティブディスクは「異常」であると判断する。そして、ストレージ制御装置200は、後述するディスク制御情報310のアクディブディスクの状態を「異常」にして、アクディブディスクへのアクセスを停止する。
 データ読み込み機能は、外部システム10から、LUN及び論理アドレスを含む読み出し要求を受け取ると、マッピングテーブル255を参照して、読み出し要求先のストレージ装置及びLUNを識別する。データ読み込み機能は、識別したストレージ装置に読み出し要求を送信する。データ読み込み機能は、ストレージ装置100から読み出しデータを受け取ると、読み出しデータを、応答として外部システム10に送信する。
 データ書き込み機能は、外部システム10から書き込みデータと、LUN及び論理アドレスを含む書き込み要求とを受け取ると、マッピングテーブル255を参照し、書き込み要求先のストレージ装置及びLUNを識別する。データ書き込み機能は、識別したストレージ装置に書き込みデータと、LUN及び論理アドレスを含む書き込み要求を送信する。
 入出力制御機能201はさらに、書き込み要求、読み出し要求、及び、無効化要求をキャッシュ管理機能に出力する。なお、無効化要求とは、アクティブディスクが故障したために、スタンバイディスク及びデータディスク132にデータを書き込む処理を行った後に、データディスク132に書き込んだデータのエントリを無効化する要求である。
 また、入出力制御機能201は、記憶部250に格納されたディスク状態管理情報330を参照して、故障が生じたディスクへのアクセスを回避するとともに、停止中のスタンバイディスクの回転を開始する。
 図9は、ディスク状態管理情報の一例を示す図である。図9に示されるディスク状態管理情報330は、RAID番号で識別されるRAIDを構成するアクディブディスク及びスタンバイディスクの状態が、「正常」又は「異常」であるかを規定する。ディスク状態管理情報330は、RAID番号331、アクティブディスク332、スタンバイディスクAの状態情報333列及びスタンバイディスクBの状態情報334を、エントリ(行)毎に定義する。例えば、RAID番号が「1」であるRAIDを構成するアクディブディスクと、スタンバイディスクAは、「正常」である。RAID番号が「2」であるRAIDを構成するアクディブディスクは「異常」であり、スタンバイディスクA及びBは、「正常」である。RAID番号が「1」であるRAIDを構成するアクディブディスクと、スタンバイディスクAは、「正常」である。
 図9に示す例では、RAID番号「2」のエントリのアクディブディスクの状態が「異常」であるので、ディスク状態管理情報330を参照した入出力制御機能201は、スタンバイディスクBの回転を開始して、スタンバイディスクBを起動する。
 B.キャッシュ管理機能
 キャッシュ管理機能202は、スタンバイキャッシュ130内に保持されるデータを、スタンバイディスクと対応付けて、データマップ管理情報261で管理する。キャッシュ管理機能202は、データマップ管理情報261を参照することで、読み出し要求及び書き込み要求の対象となるデータが、データディスク132内にあるかどうかを判別する。
 図10は、データマップ管理情報の一例を示す図である。データマップ管理情報261は、データディスク内の論理アドレスと、スタンバイディスク内の論理アドレスとの対応関係を規定する。図10に示されるように、データマップ管理情報261には、格納番号262毎に、データのエントリを有する。各エントリには、データディスクの開始アドレス263、RAIDグループ番号264と、スタンバイディスク番号265、スタンバイディスクの開始アドレス266、及びデータ長267の各データが入力される。
 格納番号262とは、データを格納した順番を示す。データディスクの開始アドレス263とは、データディスク132にデータを格納した際のデータディスク内論理アドレスである。RAIDグループ番号136は、スタンバイディスクが属するRAIDグループ番号である。スタンバイディスク番号265は、RAIDグループ内のスタンバイディスクに付加した通番である。スタンバイディスクの開始アドレス266は、スタンバイディスクへ格納すべきであったデータの開始アドレスである。データ長267は、スタンバイディスクへ格納すべきであったデータのデータ長である。
 キャッシュ管理機能202は、データマップ管理情報261を参照して、書き込み要求で指定された論理アドレスのデータがデータディスク132に未格納であるか否か判別する。書き込み要求で指定された論理アドレスのデータがデータディスク132に未格納である場合、キャッシュ管理機能202は、データディスク132にデータを追加して、メタディスク134内のデータマップ管理情報261を追加したデータのメタ情報で更新する。
 キャッシュ管理機能202は、データマップ管理情報261を参照して、書き込み要求で指定された論理アドレスのデータがデータディスク132に格納済みであるか否か判別する。新たに書き込むデータが、指定されたアドレスが格納されている領域内であれば、キャッシュ管理機能202は、同じ領域に書き込みデータを上書きし、データマップ管理情報261は変更しない。
 データディスク132の領域を超える場合は、既存データのデータを指すメタ情報を無効化し、新たなデータでデータマップ管理情報261を更新する。
 読み出し要求で指定された論理アドレスのデータがデータディスク132内に格納済みである場合、キャッシュ管理機能202は、メタディスク134から、データディスク132の論理アドレス、データ長を取得し、該当データをデータディスク132から読み込む。
 キャッシュ管理機能202は、スタンバイディスクの論理アドレスからデータディスク132内の論理アドレスを検索することができる。
 データマップ管理情報261は、データディスクの論理アドレスからスタンバイディスクの論理アドレスの検索時間、又は、スタンバイディスクの論理アドレスからデータディスクの論理アドレスの検索時間を減らすために高速検索可能なデータ構造としてもよい。
 図11は、木のデータ構造を有するデータマップ管理情報の一例を示す図である。図11に示すデータマップ管理情報261は、枝でつながる複数のノードで構成される。211は、RAID番号「1」及びディスク番号「1」のノードを示す。ノード212は、スタンバイディスクの開始アドレスを示し、ノード213は格納番号1の論理アドレスを示す。このように、データマップ管理情報261の全てについて一致検索する必要が無いので、データマップ管理情報261をB木のデータ構造とすることで、検索量を減らし、スタンバイディスクへのアクセス遅延をなくすことができる。
 キャッシュ管理機能202は、指定されたRAID上の論理アドレスへの無効化要求を受け付けた際には、データマップ管理情報261から、無効化要求の対象となるエントリを無効化する。この処理はアクティブディスクが故障した場合に直接スタンバイディスクに書き込んだデータがデータディスクに残っていた場合に、該当データのエントリを無効化するのに使用する。キャッシュ反映機能から読み出し要求を受けた場合、メタディスクに保持している情報をすべて取り出し、順番にデータを返却する。
 キャッシュ管理機能202はさらに、スタンバイキャッシュ状態管理情報340を参照して、異常のあるデータディスクにはデータを格納しないように動作する。
 図12は、スタンバイキャッシュ状態管理情報の一例を示す図である。図12に示されるスタンバイキャッシュ状態管理情報340は、データディスク番号で識別されるデータディスクの状態が、「正常」又は「異常」であるかを規定する。キャッシュ管理機能202は、状態が「異常」であるデータディスクにはアクセスしないように動作する。
 図13は、書き込み要求に従ってデータディスクにデータを追加又は更新する処理の一例を示すフローチャートである。ストレージ制御装置200は、外部システム10から書き込み要求とともに書き込みデータを受け取ると、書き込み要求の論理アドレスに対応するエントリを、データマップ管理情報261から取得する(S1001)。ストレージ制御装置200は、データマップ管理情報261において、書き込み要求の論理アドレスに対応するエントリがある場合(S1002 Yes)、データディスク132に書き込みデータを格納する記憶領域があるか否か判断する(S1003)。記憶領域がある場合(S1003 Yes)、ストレージ制御装置200は、データディスク132に書き込みデータを記憶するとともに、当該書き込みデータでデータマップ管理情報261を更新する(S1004)。
 記憶領域が無い場合(S1003 No)、データディスク132内において書き込み要求の論理アドレスに対応するデータを削除し、データマップ管理情報261から対応するエントリを削除する(S1005)。書き込み要求の論理アドレスに対応するエントリが無い場合(S1002 No)、又は、S1005の後、データディスク132に書き込みデータを追加する(S1006)。ストレージ制御装置200は、書き込み要求でデータマップ管理情報261を追加して(S1007)、スタンバイキャッシュ130へのデータの書き込み処理を終了する。
 C.キャッシュ反映機能
 キャッシュ反映機能203は、一定の条件に合致した場合、キャッシュ管理機能から得たスタンバイキャッシュ130の内容の一部または全部をスタンバイディスクに反映する機能である。キャッシュ反映機能203は、キャッシュ反映情報320にしたがって、スタンバイキャッシュ130内のデータを、スタンバイディスクに反映する。
 図14は、キャッシュ反映情報の一例を示す図である。キャッシュ反映情報320は、スタンバイディスクのRAIDグループ番号321と、スタンバイディスク番号322、スタンバイディスクの上限容量323、IO時間324、及び、通信時間帯325の各データが、エントリ毎に入力される。上限容量323、IO時間324、及び、通信時間帯325は、キャッシュ反映を行なう条件をそれぞれ示す。
 上限容量323は、スタンバイキャッシュ130からスタンバイディスクへのデータ反映を開始する記憶量の上限閾値である。IO時間324は、スタンバイキャッシュ130のI/Oがない時間帯を示す。IO時間324は、スタンバイキャッシュ130が停止中と予め決められている時間である。通信時間帯325は、外部システム10とストレージ制御装置200との間の通信経路の負荷が軽い時間帯である。
 キャッシュ反映機能203は、データディスクの記憶容量が上限容量323の値「50%」を超え、IO時間324に示される時間帯であり、通信時間帯325に示す時間帯である等の条件を満たすか判断する。キャッシュ反映機能203は、全条件、又は、何れかの条件が満たされる場合、該当するRAIDグループのディスクに対して、スタンバイキャッシュ130の保持データを、スタンバイディスクに反映する。
 図15は、キャッシュ反映処理の一例を示すフローチャートである。キャッシュ反映処理は、アクティブディスクが正常に動作しており、且つスタンバイディスクが停止している場合と、アクティブディスクに異常になり、且つスタンバイディスクが動作している場合に、実行される処理である。キャッシュ反映処理が行われることで、スタンバイキャッシュ130内に保持され、スタンバイディスクに無い同一論理アドレスのデータが、スタンバイディスクに反映されることになる。
 ストレージ制御装置200は、スタンバイキャッシュ130がキャッシュ反映情報320に含まれる条件を満たすか否かを判断する(S1021)。キャッシュ反映情報320の条件を満たす場合(S1021 Yes)、ストレージ制御装置200は、スタンバイディスクが起動しているか否かを判断する(S1022)。スタンバイディスクが起動していない場合(S1022 No)、データを反映するために、スタンバイディスクの回転を開始する(S1023)。スタンバイディスクが起動中であると(S1022 Yes)、ストレージ制御装置200は、スタンバイキャッシュ130へ書き込み済み全データをスタンバイディスクに反映するように、ストレージ装置100を制御する(S1024)。スタンバイディスクへのスタンバイキャッシュ130の格納データの反映が終わると、ストレージ制御装置200は、アクティブディスク又はスタンバイキャッシュ130は異常であるかどうか判断する(S1025)。アクディブディスク及びスタンバイキャッシュ130が異常ではない場合(S1025 No)、スタンバイディスクを停止して(S1026)、キャッシュ反映処理を終了する。アクディブディスク又はスタンバイキャッシュ130が異常ではある場合(S1025 Yes)、スタンバイディスクを停止せずに、キャッシュ反映処理を終了する。
 図16は、データディスクの設定例を示す図である。図16には、ディスクアレイ部105と、データディスク132とが示される。ディスクアレイ部の可用性を維持するため、データディスク132のディスク数は、各RAIDを構成するスタンバイディスク数のうち最大のスタンバイディスク数にする。図16に示す例では、RAIDレベル6のRAIDグループ3のスタンバイディスク数が「2」であるので、データディスク132の数も「2」となる。このようにすることで、起動が必要なスタンバイディスクにデータを反映する際に、各スタンバイディスクが対応するデータディスクからデータの反映を行うことができるので、スタンバイディスクのデータ反映時間を短縮することができる。また、データディスクの容量は、蓄積させるデータ量と、反映処理が動作中のライト量により設定される。
 〔5〕ストレージ制御装置の処理フロー
 図17は、読み出し要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。まず、ストレージ制御装置200は、外部システム10から受け取った読み出し要求を、ストレージ装置100に送信する(S1101)。ストレージ制御装置200は、アクティブディスクからの応答が遅延しているか否かを判断する(S1102)。応答が遅延している場合(S1102 Yes)、ストレージ制御装置200は、スタンバイディスクの回転の開始を、ストレージ装置100に指示する(S1103)。応答が遅延していない場合(S1102 No)、又は、スタンバイディスク回転開始(S1103)後、ストレージ制御装置200は、アクティブディスクにエラーが生じているか否か判断する(S1104)。アクティブディスクにエラーが生じている場合(S1104 Yes)、スタンバイキャッシュ130が正常か否かを判断する(S1105)。スタンバイキャッシュ130にエラーが生じている場合(S1105 No)、ストレージ制御装置200は、IOエラーを外部システム10に通知して(S1121)、処理を終了する。スタンバイキャッシュ130が正常である場合(S1105 Yes)、ストレージ制御装置200は、ディスク状態管理情報330のアクティブディスクの状態を「異常」とし、スタンバイディスクの状態を「正常」とする(S1106)。
 ストレージ制御装置200は、スタンバイキャッシュ130に読み出し要求の対象となるデータがあるか否か判断する(S1107)。スタンバイキャッシュ130にデータがある場合(S1107 Yes)、ストレージ制御装置200は、スタンバイキャッシュ130からデータを読み込む(S1108)。ストレージ制御装置200は、読み込んだデータを外部システム10に送信して(S1109)、処理を終了する。
 スタンバイディスクからではなく、スタンバイキャッシュ130からデータを読み出すことで、スタンバイディスクの回転が安定する前に、外部システム10に応答することができる。
 スタンバイキャッシュ130にデータが無い場合(S1107 No)、ストレージ制御装置200は、スタンバイディスクの起動を待って(S1111)、スタンバイディスクからデータを読み込む(S1112)。ストレージ制御装置200は、読み込んだデータを外部システム10に送信して(S1109)、処理を終了する。
 アクティブディスクにエラーが生じなかった場合(S1104 No)、ストレージ制御装置200は、アクディブディスクからデータを読み込み(S1131)、電力の消費を防ぐために、スタンバイディスクを停止する(S1132)。次に、ストレージ制御装置200は、読み込んだデータを外部システム10に送信して(S1109)、処理を終了する。
 図18は、書き込み要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。まず、ストレージ制御装置200は、外部システム10から受け取った書き込み要求を、ストレージ装置100のアクティブディスクに送信する(S1201)。ストレージ制御装置200は、アクティブディスクからの応答が遅延しているか否かを判断する(S1202)。応答が遅延している場合(S1202 Yes)、ストレージ制御装置200は、スタンバイディスクの回転の開始を、ストレージ装置100に指示する(S1203)。応答が遅延していない場合(S1202 No)、又は、スタンバイディスク回転開始(S1203)後、ストレージ制御装置200は、アクティブディスクにエラーが生じているか否か判断する(S1204)。
 アクティブディスクにエラーが生じている場合(S1204 Yes)、スタンバイキャッシュ130が正常か否かを判断する(S1205)。スタンバイキャッシュ130にエラーが生じている場合(S1205 No)、ストレージ制御装置200は、IOエラーを外部システム10に通知する(S1221)。そして、ストレージ制御装置200は、スタンバイディスクにデータを書き込んで(S1207)、処理を終了する。
 アクディブディスクにエラーが生じており(S1204 Yes)且つスタンバイディスクが正常である場合(S1205 Yes)、ストレージ制御装置200は、ディスク状態管理情報330のアクティブディスクの状態を「異常」とし、スタンバイディスクの状態を「正常」とする(S1206)。そして、ストレージ制御装置200は、スタンバイディスクにデータを書き込んで(S1207)、処理を終了する。
 アクティブディスクが正常である場合(S1204 No)、ストレージ制御装置200は、スタンバイキャッシュ130が正常か否かを判断する(S1211)。スタンバイキャッシュ130にエラーが生じている場合(S1211 No)、ストレージ制御装置200は、バックグラウンドでスタンバイディスクにスタンバイキャッシュ130のデータを反映する(S1212)。ストレージ制御装置200は、アクティブディスクにデータを書き込んで(S1213)、処理を終了する。
 アクディブディスクが正常で(S1204 No)且つスタンバイディスクが正常である場合(S1211 Yes)、ストレージ制御装置200は、消費電力削減のためにスタンバイディスクを停止して(S1241)、アクティブディスクにデータを書き込んで(S1213)、処理を終了する。
 〔6〕ストレージ装置の変形例
 図19は、ストレージ装置の変形例を示す図である。図19に示す変形例のストレージ装置100Dは、ストレージ制御装置200を介さずに、外部システム10から書き込み要求と読み出し要求を直接受け取る。ストレージ装置100Dは、記録媒体590Aに格納されるプログラム990Aをドライブ部120から読み込み、記憶部150に格納する。記憶部150に格納されたプログラム990Aを制御部160が実行することで、ストレージ装置100Dは、図7で説明したストレージ仮想化機能を除く入出力制御機能、キャッシュ管理機能、キャッシュ反映機能を実現し、図6及び図7で説明したような、スタンバイディスクのディスク回転制御を実行する。
 10  外部システム
 100  ストレージ装置
 105  ディスクアレイ部
 130  スタンバイキャッシュ
 132  データディスク
 134  メタディスク
 150  記憶部
 160  制御部
 200  ストレージ制御装置
 201  入出力制御機能
 202  キャッシュ管理機能
 203  キャッシュ反映機能
 250  記憶部
 255  マッピングテーブル
 260  制御部
 261  データマップ管理情報
 300  ストレージシステム
 310  ディスク制御情報
 320  キャッシュ反映情報
 330  ディスク状態管理情報
 340  スタンバイキャッシュ状態管理情報
 590  記録媒体
 990  プログラム

Claims (13)

  1.  起動中の第1ディスクと停止中の第2ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
     前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、
     前記起動中の第1ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第2ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部と、
     を備えることを特徴とするストレージ制御装置。
  2.  前記ストレージ装置は、前記起動中の第1ディスクに記憶され、且つ、前記停止中の第2ディスクに記憶されていないデータを保持するキャッシュ部を有し、
     前記起動中の第1ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記制御部はさらに、前記読み出し要求に対するデータの読み出しを指示するキャッシュデータ読み出し命令を、前記ストレージ装置に送信するように前記通信部を制御して、前記キャッシュ部からデータを読み出すことを特徴とする請求項1に記載のストレージ制御装置。
  3.  前記読み出し要求に対応したデータが前記キャッシュ部に保持されておらず、且つ、前記起動中の第1ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記制御部は、前記回転の開始により起動中の前記第2ディスクからデータを読み出すように前記通信部を制御して、前記第2ディスクからデータを読み出すことを特徴とする請求項2に記載のストレージ制御装置。
  4.  起動中の第1ディスクと停止中の第2ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
     前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、前記第1ディスク又は前記第2ディスクから前記読み出し要求又は書き込み要求に対する応答を受信する通信手段と、
     前記起動中の第1ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第2ディスクの回転の開始を指示する回転指示手段と、
     を備えることを特徴とするストレージ制御装置。
  5.  前記起動中の第1ディスクに記憶され、且つ、前記停止中の第2ディスクに記憶されていないデータを保持するキャッシュ手段と、
     前記起動中の第1ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記読み出し要求に対応したデータをキャッシュ手段から読み出すキャッシュ管理手段と、をさらに備えることを特徴とする請求項4に記載のストレージ制御装置。
  6.  前記読み出し要求に対応したデータが前記キャッシュ手段に保持されておらず、且つ、前記起動中の第1ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記回転の開始により起動中の前記第2ディスクからデータを読み出すデータ読み出し手段をさらに備えることを特徴とする請求項5に記載のストレージ制御装置。
  7.  起動中の第1ディスクと停止中の第2ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
     前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、前記第1ディスク又は前記第2ディスクから前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、
     前記起動中の第1ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第2ディスクの回転の開始を指示する制御部と、
     を備えることを特徴とするストレージ制御装置。
  8.  起動中の第1ディスクと停止中の第2ディスクとを含むストレージ装置と、
      前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部、及び、
      前記起動中の第1ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第2ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部を、を有するストレージ制御装置と、
     を備えることを特徴とするストレージシステム。
  9.  起動中の第1ディスクと停止中の第2ディスクとを含むストレージ装置を制御するストレージ制御装置の制御方法であって、
     前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、
     前記起動中の第1ディスクへの前記読み出し要求又は書き込み要求に対する応答を受信するまでの時間が、所定の閾値より長い場合、前記第2ディスクの回転の開始を指示する、
     ことを特徴とする制御方法。
  10.  起動中の第1ディスクと停止中の第2ディスクとを含むストレージ装置を制御するためのプログラムであって、コンピュータに、
     前記ストレージ装置に対して読み出し要求又は書き込み要求を送信する処理と、
     前記起動中の第1ディスクへの前記読み出し要求又は書き込み要求に対する応答を受信するまでの時間が、所定の閾値より長い場合、前記第2ディスクの回転の開始を指示する処理と、
     を実行させることを特徴とするプログラム。
  11.  前記ストレージ装置は、前記起動中の第1ディスクに記憶され、且つ、前記停止中の第2ディスクに記憶されていないデータを保持するキャッシュ部を有し、
     前記起動中の第1ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記読み出し要求に対するデータの読み出しを指示するキャッシュデータ読み出し命令を、前記ストレージ装置に送信するように通信部を制御して、前記キャッシュ部からデータを読み出す処理を、制御部に実行させることを特徴とする請求項10に記載のプログラム。
  12.  前記読み出し要求に対応したデータが前記キャッシュ部に保持されておらず、且つ、前記起動中の第1ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記回転の開始により起動中の前記第2ディスクからデータを読み出すように通信部を制御して、前記第2ディスクからデータを読み出す処理を、制御部に実行させることを特徴とする請求項11に記載のプログラム。
  13.  起動中の第1ディスクと停止中の第2ディスクと制御部とを含むストレージを制御するためのプログラムであって、前記制御部に、
     前記ストレージ装置に対して読み出し要求又は書き込み要求を送信する処理と、
     前記起動中の第1ディスクへの前記読み出し要求又は書き込み要求に対する応答を、前記第1ディスクから受信するまでの時間が、所定の閾値より長い場合、前記第2ディスクの回転の開始を指示する処理と、
     を実行させることを特徴とするプログラム。
PCT/JP2011/052899 2011-02-10 2011-02-10 ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム WO2012108040A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2011/052899 WO2012108040A1 (ja) 2011-02-10 2011-02-10 ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム
EP11858158.6A EP2674851B1 (en) 2011-02-10 2011-02-10 Storage control device, storage device, storage system, storage control method, and program for same
JP2012556716A JP5761209B2 (ja) 2011-02-10 2011-02-10 ストレージ制御装置、及び、そのプログラム
US13/963,404 US9418014B2 (en) 2011-02-10 2013-08-09 Storage control device, storage device, storage system, storage control method, and program for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/052899 WO2012108040A1 (ja) 2011-02-10 2011-02-10 ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/963,404 Continuation US9418014B2 (en) 2011-02-10 2013-08-09 Storage control device, storage device, storage system, storage control method, and program for the same

Publications (1)

Publication Number Publication Date
WO2012108040A1 true WO2012108040A1 (ja) 2012-08-16

Family

ID=46638279

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/052899 WO2012108040A1 (ja) 2011-02-10 2011-02-10 ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム

Country Status (4)

Country Link
US (1) US9418014B2 (ja)
EP (1) EP2674851B1 (ja)
JP (1) JP5761209B2 (ja)
WO (1) WO2012108040A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725930B2 (en) * 2018-08-27 2020-07-28 Micron Technology, Inc. Logical to physical memory address mapping tree

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293314A (ja) * 1999-04-05 2000-10-20 Hitachi Ltd ディスクアレイ装置
JP2008003719A (ja) * 2006-06-20 2008-01-10 Hitachi Ltd 省電力とパフォーマンスを両立したストレージシステム及び記憶制御方法
JP2009048360A (ja) 2007-08-17 2009-03-05 Fujitsu Ltd ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP2009187450A (ja) 2008-02-08 2009-08-20 Nec Corp ディスクアレイシステム,ディスクアレイ制御方法及びディスクアレイ制御用プログラム
JP2009238159A (ja) 2008-03-28 2009-10-15 Hitachi Ltd ストレージシステム

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341493A (en) * 1990-09-21 1994-08-23 Emc Corporation Disk storage system with write preservation during power failure
US5481733A (en) * 1994-06-15 1996-01-02 Panasonic Technologies, Inc. Method for managing the power distributed to a disk drive in a laptop computer
US6052797A (en) * 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US6799283B1 (en) * 1998-12-04 2004-09-28 Matsushita Electric Industrial Co., Ltd. Disk array device
US6862668B2 (en) * 2002-02-25 2005-03-01 International Business Machines Corporation Method and apparatus for using cache coherency locking to facilitate on-line volume expansion in a multi-controller storage system
EP1550053A4 (en) * 2002-09-18 2009-03-25 Netezza Corp ARCHITECTURE OF THE MIRROR DISK FOR DATABASE DEVICES
JP2005122453A (ja) * 2003-10-16 2005-05-12 Hitachi Ltd ストレージ装置のディスクコントローラ制御方式およびストレージ装置
JP4426262B2 (ja) * 2003-11-26 2010-03-03 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の障害回避方法
JP4518541B2 (ja) * 2004-01-16 2010-08-04 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の制御方法
US7313721B2 (en) * 2004-06-21 2007-12-25 Dot Hill Systems Corporation Apparatus and method for performing a preemptive reconstruct of a fault-tolerant RAID array
US20060002246A1 (en) * 2004-06-30 2006-01-05 International Business Machines Corporation Sector-based worm implementation on random access memory
WO2006057038A1 (ja) * 2004-11-25 2006-06-01 Fujitsu Limited Raid管理プログラムおよびraid管理方法
US8180855B2 (en) * 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
US7380088B2 (en) * 2005-02-04 2008-05-27 Dot Hill Systems Corp. Storage device method and apparatus
US7389396B1 (en) * 2005-04-25 2008-06-17 Network Appliance, Inc. Bounding I/O service time
US20070061509A1 (en) * 2005-09-09 2007-03-15 Vikas Ahluwalia Power management in a distributed file system
JP4984689B2 (ja) * 2006-07-04 2012-07-25 日本電気株式会社 ディスクアレイ制御装置、方法、およびプログラム
JP2008027312A (ja) * 2006-07-24 2008-02-07 Hitachi Ltd ストレージ装置及び変換ボード
US7411757B2 (en) * 2006-07-27 2008-08-12 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory having multiple modes of operation
JP4897387B2 (ja) * 2006-08-10 2012-03-14 株式会社日立製作所 ストレージ装置およびこれを用いたデータの管理方法
US8015433B2 (en) * 2006-09-13 2011-09-06 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory for storage of failure-related data
JP5008955B2 (ja) * 2006-11-28 2012-08-22 株式会社日立製作所 節電機能を備えたストレージシステム
US7643281B2 (en) * 2006-12-13 2010-01-05 Hitachi, Ltd. Storage controller
US7793042B2 (en) * 2007-01-05 2010-09-07 Dell Products, Lp System, method, and module for reducing power states for storage devices and associated logical volumes
US20080168226A1 (en) * 2007-01-05 2008-07-10 Accusys. Inc. Correction method for reading data of disk array system
US20090125754A1 (en) * 2007-11-08 2009-05-14 Rashmi Chandra Apparatus, system, and method for improving system reliability by managing switched drive networks
JP2009163562A (ja) * 2008-01-08 2009-07-23 Fujitsu Ltd ストレージシステム、ストレージシステムの制御部、ストレージシステムの制御方法
US8799535B2 (en) * 2008-01-11 2014-08-05 Akamai Technologies, Inc. Storage of data utilizing scheduling queue locations associated with different data rates
JP5146032B2 (ja) * 2008-03-17 2013-02-20 富士通株式会社 入出力制御方法、制御装置及びプログラム
JP4838832B2 (ja) * 2008-08-29 2011-12-14 富士通株式会社 ストレージシステムの制御方法、ストレージシステム、及びストレージ装置
US8180736B2 (en) * 2008-08-29 2012-05-15 Red Hat, Inc. Methods for improving file system performance
JP2010146630A (ja) * 2008-12-18 2010-07-01 Hitachi Global Storage Technologies Netherlands Bv ディスク・ドライブ及びディスク・アレイ・システム
JP2010211888A (ja) * 2009-03-12 2010-09-24 Toshiba Storage Device Corp ディスク記憶装置
US8510496B1 (en) * 2009-04-27 2013-08-13 Netapp, Inc. Scheduling access requests for a multi-bank low-latency random read memory device
WO2010137180A1 (en) * 2009-05-25 2010-12-02 Hitachi,Ltd. Storage system and its power control method
US9619163B2 (en) * 2009-06-26 2017-04-11 International Business Machines Corporation Maintaining access times in storage systems employing power saving techniques
US20110289331A1 (en) * 2009-06-30 2011-11-24 Hitachi, Ltd Storage system and its information processing method
JP5808018B2 (ja) * 2010-02-19 2015-11-10 国立大学法人東京工業大学 ストレージ装置、その制御方法およびシステム管理プログラム
US8954669B2 (en) * 2010-07-07 2015-02-10 Nexenta System, Inc Method and system for heterogeneous data volume
US8429455B2 (en) * 2010-07-16 2013-04-23 Hitachi, Ltd. Computer system management method and management system
US8589655B2 (en) * 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US8639971B1 (en) * 2011-02-17 2014-01-28 Scale Computing Condition detection and reporting in complex systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293314A (ja) * 1999-04-05 2000-10-20 Hitachi Ltd ディスクアレイ装置
JP2008003719A (ja) * 2006-06-20 2008-01-10 Hitachi Ltd 省電力とパフォーマンスを両立したストレージシステム及び記憶制御方法
JP2009048360A (ja) 2007-08-17 2009-03-05 Fujitsu Ltd ストレージ管理プログラム、ストレージ管理装置およびストレージ管理方法
JP2009187450A (ja) 2008-02-08 2009-08-20 Nec Corp ディスクアレイシステム,ディスクアレイ制御方法及びディスクアレイ制御用プログラム
JP2009238159A (ja) 2008-03-28 2009-10-15 Hitachi Ltd ストレージシステム

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
JPWO2012108040A1 (ja) 2014-07-03
US9418014B2 (en) 2016-08-16
EP2674851B1 (en) 2018-01-17
EP2674851A4 (en) 2016-11-02
US20140052910A1 (en) 2014-02-20
JP5761209B2 (ja) 2015-08-12
EP2674851A1 (en) 2013-12-18

Similar Documents

Publication Publication Date Title
US9304901B2 (en) System and method for handling I/O write requests
US8738975B2 (en) Runtime dynamic performance skew elimination
US8370571B2 (en) Transfer control of a storage volume between storage controllers in a cluster
US8839030B2 (en) Methods and structure for resuming background tasks in a clustered storage environment
US8234467B2 (en) Storage management device, storage system control device, storage medium storing storage management program, and storage system
US9075729B2 (en) Storage system and method of controlling data transfer in storage system
US8689044B2 (en) SAS host controller cache tracking
US8140811B2 (en) Nonvolatile storage thresholding
JP2007156597A (ja) ストレージ装置
JP2009043030A (ja) ストレージシステム
US8086881B2 (en) Power control of secondary copy storage based on journal storage usage and accumulation speed rate
JP2010049502A (ja) ストレージサブシステム、及びこれを有するストレージシステム
JP2021128802A (ja) 情報処理システム、ストレージシステム及びデータ転送方法
US20170315725A1 (en) Changing Storage Volume Ownership Using Cache Memory
JP2017091456A (ja) 制御装置、制御プログラムおよび制御方法
US9298397B2 (en) Nonvolatile storage thresholding for ultra-SSD, SSD, and HDD drive intermix
US20130054883A1 (en) Method and system for shared high speed cache in sas switches
JP5712535B2 (ja) ストレージ装置、制御部およびストレージ装置制御方法
US11385815B2 (en) Storage system
JP5761209B2 (ja) ストレージ制御装置、及び、そのプログラム
JP2020038475A (ja) ストレージ制御装置およびストレージ制御プログラム
JP5333932B2 (ja) ディスクアレイ装置及びその制御方法
JP2014238771A (ja) ストレージ制御装置、アクセス制御方法、及び制御プログラム
JP2010170268A (ja) ストレージシステムの制御方法、ストレージ制御装置及びプログラム
JP2015043226A (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: 11858158

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012556716

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011858158

Country of ref document: EP