WO2017081748A1 - ストレージシステム、及び、ストレージ管理方法 - Google Patents

ストレージシステム、及び、ストレージ管理方法 Download PDF

Info

Publication number
WO2017081748A1
WO2017081748A1 PCT/JP2015/081607 JP2015081607W WO2017081748A1 WO 2017081748 A1 WO2017081748 A1 WO 2017081748A1 JP 2015081607 W JP2015081607 W JP 2015081607W WO 2017081748 A1 WO2017081748 A1 WO 2017081748A1
Authority
WO
WIPO (PCT)
Prior art keywords
drive
storage controller
error
storage
raid group
Prior art date
Application number
PCT/JP2015/081607
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/JP2015/081607 priority Critical patent/WO2017081748A1/ja
Priority to US15/743,321 priority patent/US10509700B2/en
Publication of WO2017081748A1 publication Critical patent/WO2017081748A1/ja

Links

Images

Classifications

    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2005Error 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 interconnections or communication control functionality are redundant using redundant communication controllers
    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2007Error 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 interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error 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 interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • 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/0614Improving the reliability of 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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 generally relates to storage system technology.
  • the storage system may have multiple drives (for example, Hard Disk Drive (HDD)) in a Redundant Arrays of Inexpensive Disks (RAID) configuration, or multiple paths between storage controllers and drives.
  • HDD Hard Disk Drive
  • RAID Redundant Arrays of Inexpensive Disks
  • Patent Document 1 discloses a storage subsystem that reconstructs a connection path so as to bypass or avoid the faulty part when a faulty part is detected in the connection path to the drive unit.
  • the drive where the failure is detected is blocked and replaced.
  • the cause of the failure is not necessarily the drive, but may be another element (for example, another device or network). In such a case, the drive replacement cost is wasted.
  • the cause of the failure is pursued every time a failure is detected, the performance and operation rate of the storage system will be reduced.
  • a storage system includes a plurality of RAID groups configured from a plurality of storage devices, and a storage controller that controls the RAID groups.
  • the storage controller has policy management information in which any one of a plurality of different failure recovery processes is associated with each RAID group.
  • the storage controller detects an error with respect to the command issued to the RAID group, the storage controller identifies the failure recovery processing associated with the RAID group to which the command is issued based on the policy management information, and the identified failure recovery Execute the process.
  • the operation cost and performance can be adjusted according to the purpose in the storage system. Further, in the storage system, it becomes possible to recover from a failure and to isolate the cause of the failure.
  • FIG. 2 shows a configuration example of a storage system according to an embodiment. It is an example of the function and data which a storage controller has.
  • the structural example of a recovery means management table is shown.
  • the structural example of a customer policy management table is shown.
  • the structural example of a drive failure management table is shown.
  • information may be described in terms of “xxx table”, “xxx queue”, or “xxx list”, but the information may be expressed in any data structure. That is, in order to show that the information does not depend on the data structure, the “xxx table”, “xxx queue”, or “xxx list” can be called “xxx information”.
  • the process may be described using “program” as a subject.
  • the program is executed by a processor (for example, a CPU (Central Processing Unit)), so that a predetermined process is appropriately performed. Since the processing is performed using at least one of a storage resource (for example, a memory) and a communication interface device, the subject of the processing may be a processor and an apparatus having the processor. Part or all of the processing performed by the processor may be performed by a hardware circuit.
  • the computer program may be installed from a program source.
  • the program source may be a program distribution server or a storage medium (for example, a portable storage medium).
  • a set of one or more computers that manage at least one device included in the computer system may be referred to as a “management system”.
  • the management computer may be a management system.
  • the management system may be a combination of the management computer and the display computer.
  • multiple computers may perform processing equivalent to that of the management computer. In this case, these multiple computers (for display when the display computer performs display) A computer may also be included).
  • the management computer is a management system.
  • the management computer displaying information may mean displaying information on a display device of the management computer, or displaying information on a display computer (eg client) connected to the management computer (eg server). Information may be transmitted. In the latter case, information represented by the display information is displayed by the display computer on a display device included in the display computer.
  • drive 20a when different types of elements are described separately, reference numerals are used such as “drive 20a” and “drive 20b”, and the same types of elements are not distinguished. In some cases, only a common number among the reference symbols is used, such as “drive 20”.
  • FIG. 1 shows a configuration example of a storage system according to an embodiment.
  • the storage system 1 includes a plurality of storage controllers 4, a plurality of Serial Attached SCSI (SAS) expanders (referred to as “EXP”) 600, and a plurality of drives 20.
  • the drive 20 is an example of a nonvolatile storage device. Examples of the drive 20 are Solid State Drive (SSD) 20a, SAS-HDD 20b, and NearLine (NL) -SAS-HDD 20d.
  • SSD Solid State Drive
  • SAS-HDD 20b SAS-HDD 20b
  • NL NearLine
  • Each drive 20 is connected to at least two EXPs 600 so that bidirectional communication is possible. Thereby, the communication path between the storage controller 4 and the drive 20 is made redundant.
  • the SATA drive 20c can be connected to the EXP 600 via a predetermined conversion switch 610.
  • Each EXP 600 is connected to another EXP 600 or the storage controller 4. That is, the plurality of EXPs 600 are connected in multiple stages. This also makes the communication path between the storage controller 4 and the drive 20 redundant.
  • the storage controller 4 constructs a RAID group by combining a plurality of drives 20 connected to the EXP 600.
  • the storage controller 4 can access each of the drives 20 belonging to the RAID group via any one of the redundant communication paths and the EXP 600.
  • the storage controller 4 may include a CPU 400, a memory 430, a shared memory 450, a cache memory 300, a channel control unit 100, a disk control unit 200, and a management I / F 120. These elements may be connected to an internal bus capable of bidirectional communication.
  • the management I / F 120 is capable of bidirectional communication with the management computer 12 via the communication path 21 and controls data transmission / reception between the storage controller 4 and the management computer 12.
  • the management computer 12 may be included in the storage system 1.
  • the channel control unit 100 is capable of bidirectional communication with the host computer 10 via the communication path 11 and controls data transmission / reception between the storage controller 4 and the host computer 10.
  • the drive control unit 200 is capable of bidirectional communication with the drive 20 via the communication path 12 and controls data transmission / reception between the storage controller 4 and the drive 20.
  • An example of a control protocol related to the drive 20 is SCSI or the like.
  • Examples of the communication protocol related to the communication path 12 are Internet Protocol (IP), Fiber Channel, and the like.
  • the shared memory 450 may store data shared by each element connected to the internal bus.
  • the memory 430 stores programs and data for realizing various functions of the storage controller 4.
  • the cache memory 300, the shared memory 450, and the memory 430 may be one. Examples of these memories are Dynamic Random Access Memory (DRAM), Ferroelectric Random Access Memory (FeRAM), and Magnetostatic Random Access Memory (MRAM).
  • DRAM Dynamic Random Access Memory
  • FeRAM Ferroelectric Random Access Memory
  • MRAM Magnetostatic Random Access Memory
  • the CPU 400 implements various functions of the storage controller 4 to be described later by executing a program stored in the memory 430.
  • FIG. 2 shows an example of functions and data of the storage controller 4.
  • the memory 430 of the storage controller 4 may store a failure recovery control program 900, a recovery means management table 1000, a customer policy management table 1100, and a drive failure management table 1200.
  • the failure recovery control program 900 when executed by the CPU 400, realizes a function for recovering a failure that has occurred in the storage system 1.
  • the process having the storage controller 4 as a subject may be a process executed by the failure recovery control program 900 or the CPU 400.
  • the recovery means management table 1000 stores information on a plurality of different failure recovery processing means (referred to as “recovery means”) for recovering a failure.
  • the customer policy management table 1100 stores information related to customer operation policies for each RAID group.
  • the drive failure management table 1200 stores information regarding errors that have occurred in the respective drives 20 belonging to the RAID group.
  • FIG. 3 shows a configuration example of the recovery means management table 1000.
  • Failure recovery means includes a retry process 1002 for resending a failed command, a logical reset process 1003 for executing a logical reset, and a physical reset process 1004 for executing a physical reset.
  • the logic reset process 1003 may be, for example, an initialization process for a failed device (for example, the drive 20).
  • the physical reset process 1004 may be, for example, a restart process of a failed device (for example, the drive 20) (that is, a process for turning the power off and on).
  • the recovery means management table 1000 defines a recovery means level 1001 that is a combination of these recovery means.
  • the recovery means level 1001 may be set as an item value of a customer policy management table 1100 described later.
  • the recovery means level 1001 may be defined such that the higher the level is, the higher the possibility that the failure will be recovered, but the recovery processing time increases accordingly (see 1005 in FIG. 3).
  • the recovery means level 1001 may be defined as follows, for example.
  • the recovery means level 1001 “L0” does not perform any of the retry process 1002, the logical reset process 1003, and the physical reset process 1004. That is, even if a failure occurs, the recovery process and the blocking process are not performed. This level may be applied to errors that have been recovered in the drive 20 and need not be recovered from the storage controller 4.
  • the recovery means level 1001 “L1” performs only the retry process 1002. If this does not recover, perform blocking processing and switch to using a redundant system. The processing time required for this is relatively short. This recoverability is relatively low.
  • Recovery means level 1001 “L2” is performed only for logic reset processing 1003. If it recovers, it resends the failed command. If this does not recover, perform blocking processing and switch to using a redundant system. The processing time required for this is longer than “L1”. This recovery possibility is higher than “L1”.
  • Recovery means level 1001 “L3” is performed only for physical reset processing 1004. If it recovers, it resends the failed command. If this does not recover, perform blocking processing and switch to using a redundant system. The processing time required for this is longer than “L2”. This recovery possibility is higher than “L2”.
  • the recovery means level 1001 “L4” performs the retry process 1002, and performs the logic reset process 1003 if the recovery means level 1001 “L4” does not recover.
  • the recovery means level 1001 “L5” performs a retry process 1002 and, if not recovered, performs a physical reset process 1004.
  • the recovery means level 1001 “L6” performs the logic reset process 1003, and when the recovery means level 1001 “L6” does not recover, performs the physical reset process 1004.
  • the recovery means level 1001 “L7” performs a retry process 1002 and performs a logic reset process 1003 if it does not recover, and performs a physical reset process 1004 if it does not recover.
  • Recovery means level 1001 “L8” does not perform recovery processing, immediately performs blockage processing, and switches to use of a redundant system.
  • FIG. 4 shows a configuration example of the customer policy management table 1100.
  • the customer policy management table 1100 manages customer policies for each RAID group.
  • the customer policy management table 1100 includes, as item values (column values), RAID group ID 1101, RAID level 1102, drive type 1103, operation performance policy 1104, operation cost policy 1105, status 1106, system error 1107, data error 1108, An I / F system error 1109 and a timeout system error 1110 may be included.
  • the RAID group ID 1101 is a RAID group identifier.
  • RAID level 1102 is a value indicating the RAID level of the RAID group with ID 1101.
  • the RAID level may include a value indicating the drive configuration of the RAID group with ID 1101.
  • the drive type 1103 is a value indicating the type of the drive 20 constituting the RAID group with ID 1101. Examples of the drive type 1103 are SSD, SAS-HDD, and NL-SAS-HDD.
  • the operation performance policy 1104 is a value indicating the performance policy requested by the customer for the RAID group with ID 1101.
  • the operational performance policy 1104 may be a value that becomes smaller as the priority of performance is higher, or vice versa.
  • the operation performance policy 1104 may be a value related to I / O per Second (IOPS).
  • IOPS I / O per Second
  • names such as “high performance”, “enterprise”, “balance”, “capacity main”, and “archive” may be defined in descending order of performance priority.
  • the operation cost policy 1105 is a value indicating a cost policy requested by the customer for the RAID group with ID 1101.
  • the operation cost policy may be a value that increases as the cost priority is higher, or vice versa.
  • the operation cost policy 1105 may be a value related to the amount.
  • the operation cost policy 1105 may be a value corresponding to a maintenance contract model with a customer.
  • the operation cost policy 1105 may be a value calculated based on the failure rate and price of each device (for example, drive) in the storage system 1. For this calculation, the operating time of the storage system 1 and the drive 20 may be taken into consideration.
  • the operation cost policy 1105 defines names such as “cost unlimited”, “performance priority”, “cost optimal”, “cost priority”, “cost minimum” in order of increasing cost priority. Also good.
  • the customer may be able to determine or select the operation performance policy 1104 and the operation cost policy 1105 for the RAID group to be used.
  • the storage controller 4 may determine the operation performance policy 1104 and the operation cost policy 1105 that are assumed to be requested by the customer for the RAID group ID 1101 from the RAID level 1102 and / or the drive type 1103. For example, if the RAID level 1102 is “1” and the drive type 1103 is “SSD” with a relatively high IOPS, the storage controller 4 sets the operation performance policy 1104 to “high performance (highest priority for performance)” and the operation cost.
  • the policy 1105 may be determined as “unlimited cost”. For example, if the RAID level 1102 is “6” and the drive type 1103 is “NL-HDD”, the storage controller 4 sets the operation performance policy 1104 to “capacity main” and the operation cost policy 1105 to “cost priority”. You may decide to.
  • Status 1106 is a value indicating the status of the RAID group with ID 1101. Examples of the status 1106 include “normal” indicating that the RAID group is operating normally, “degenerate” indicating that the RAID group is operating in a degenerate manner, and the like.
  • the system error 1107 (which may be called a hardware error) is a value indicating the recovery means level 1001 executed when a system error occurs in the RAID group with ID 1101.
  • the system system error may be an error that occurs in a storage area (that is, a system area) in which a program and data for controlling the drive 20 are stored, or in a hardware mechanism of the drive 20.
  • the data system error 1108 is a value indicating the recovery means level 1001 that is executed when a data system error occurs in the RAID group with ID 1101.
  • the data system error may be an error that occurs in a storage area (that is, a user area) in which user data of the drive 20 is stored.
  • the I / F system error 1109 is a value indicating a recovery means level 1001 that is executed when an I / F system error occurs in the RAID group with ID 1101.
  • the I / F system error may be an error that occurs in the network I / F of the drive 20.
  • the timeout system error 1110 is a value indicating the recovery means level 1001 executed when a timeout system error occurs in the RAID group with ID 1101.
  • the system system error 1107, the data system error 1108, and the I / F system error 1109 may be referred to when an error that cannot be recovered in the drive 20 (an unrecoverable error) occurs. Further, when a recovered error occurs in the drive 20, the system error 1107, the data error 1108, and the I / F error 1109 may all be at the recovery means level 1001 “L0”. This is because the error has already been recovered and it is not necessary for the storage controller 4 to perform recovery processing again.
  • the recovery means level 1001 set for each error 1107, 1108, 1109 of the RAID group may be automatically determined by the storage controller 4 based on the operation performance policy 1104 and / or the operation cost policy 1105 of the RAID group. .
  • the storage controller 4 determines the recovery means level 1001 of each error as “L1” or “L2” for completing the recovery process in a relatively short time. It's okay.
  • the storage controller 4 sets the recovery means level 1001 for each error to “L3”, “L5”, “L6” or “ L7 "may be determined.
  • the storage controller 4 may determine the recovery means level 1001 of each error as “L7” with the highest possibility of recovery.
  • the storage controller 4 may determine the recovery means level 1001 for each error as “L1” or “L8” with the shortest recovery processing time. .
  • the storage controller 4 can select an appropriate recovery means level 1001 by referring to the customer policy management table 1100 according to the configuration of the RAID group in which the error has occurred and the type of the error. Thereby, the storage controller 4 can recover the error in a shorter time and with a higher possibility.
  • the recovery processing execution timing may be “synchronous” that executes recovery processing immediately when an error occurs, or “asynchronous” that schedules the execution time of recovery processing when an error occurs.
  • the storage controller 4 may select “synchronous” when executing recovery processing that is completed in a relatively short time, such as retry processing.
  • the storage controller 4 may select “asynchronous type” when executing a recovery process that requires a relatively long time, such as a physical reset process.
  • FIG. 5 shows a configuration example of the drive failure management table 1200.
  • the drive failure management table 1200 manages errors that have occurred in the respective drives 20 constituting the RAID group.
  • the drive failure management table 1200 includes, as item values (column values), a RAID group ID 1201, a drive number 1202, a status 1203, a system system error number 1204, a data system error number 1205, an I / F system error number 1206, and a timeout system.
  • An error number 1207 may be included.
  • the RAID group ID 1201 is the same as the RAID group ID 1101 of the customer policy management table 1100.
  • the drive number 1202 is a value for identifying each drive 20 in the RAID group with ID 1201.
  • Status 1203 is a value indicating the status of drive 20 with drive number 1202. Examples of statuses are “active” indicating that the drive 20 is operating normally, “blocking” indicating that the drive 20 is blocked, and “diagnosis” indicating that the drive 20 is asynchronous and performing recovery processing. Is. This “diagnosis” may be a link diagnosis process described later.
  • the number of system errors 1204 (which may be called the number of hardware errors) is a value indicating the number of system errors that have occurred in the drive 20 with drive number 1202 in the RAID group with ID 1202.
  • the data system error number 1205 is a value indicating the number of data system errors that have occurred in the drive 20 with the drive number 1202 in the RAID group with ID 1202.
  • the number of I / F system errors 1206 is a value indicating the number of I / F system errors that have occurred in the drive 20 with the drive number 1202 in the RAID group with ID 1202.
  • the timeout error number 1207 is a value indicating the number of timeout errors that have occurred in the drive 20 with the drive number 1202 in the RAID group with ID 1202.
  • the number of errors 1204, 105, 1206 may be the number of errors that occurred within a predetermined period (for example, 24 hours). In this case, the number of errors that occurred before the predetermined period may be deleted after the predetermined period has elapsed.
  • the storage controller 4 performs a recovery process based on the recovery means level 1001 set in the customer policy management table 1100 for the RAID group to which the drive 20 belongs for the drive 20 in which the number of errors exceeds a predetermined threshold. Good. This threshold may be different for each RAID group and error type. Further, the threshold value of the RAID group in which performance is prioritized over cost in the operation policy may be smaller than the threshold value of RAID group in which cost is prioritized over performance in the operation policy.
  • the drive failure management table 1200 may be able to manage the error occurrence time in addition to the number of errors.
  • the storage controller 4 may have a table for managing failures of the EXP 600 and other devices.
  • FIG. 6 is a flowchart showing an example of the customer policy setting process.
  • the host computer 10 transmits a customer policy setting request to the storage controller 4 based on an instruction from the customer or based on a predetermined condition.
  • the customer policy setting request may include an operation performance policy 1104 and / or an operation cost policy 1105 for the RAID group.
  • the storage controller 4 Upon receiving the customer policy setting request, the storage controller 4 reads the configuration information of the storage system 1. This configuration information includes information on the drives 20 constituting the RAID group. Then, the process proceeds to S103.
  • the storage controller 4 identifies the RAID group designated by the customer policy setting request based on the read configuration information. Then, the storage controller 4 registers the specified RAID group information and information included in the customer policy setting request in association with each other in the customer policy management table 1100. Then, the process proceeds to S104.
  • the storage controller 4 sends a customer policy setting request completion response to the host computer 10.
  • each RAID group is associated with the customer's operation policy and the error recovery means level 1001 corresponding to the operation policy.
  • FIG. 7 is a flowchart showing an example of I / O processing in the storage controller 4.
  • the storage controller 4 specifies the drive 20 (RAID group) to be accessed from the information included in the received I / O request.
  • the specified drive 20 is referred to as “target drive”. Then, the process proceeds to S203.
  • the storage controller 4 executes a recovery determination process when an I / O request such as “error” or timeout has failed. Details of this processing will be described later (see FIG. 8). Then, the process proceeds to S212.
  • the storage controller 4 proceeds to S220 if “synchronous” is selected as the execution timing of the drive recovery process, and proceeds to S216 if “asynchronous” is selected.
  • the storage controller 4 can execute drive recovery processing as necessary for the target drive 20 in which the failure has occurred.
  • FIG. 8 is a flowchart showing an example of the recovery determination process. This process corresponds to S211 in FIG.
  • the storage controller 4 identifies the RAID group to which the errored drive 20 belongs. Then, the storage controller 4 identifies an entry corresponding to the identified RAID group ID from the customer policy management table 1100. Then, the process proceeds to S302.
  • the storage controller 4 determines whether or not the error received from the drive 20 has been recovered in the drive 20, and if the determination result is affirmative (YES), the processing proceeds to S211 and subsequent steps in FIG. If the result is negative (NO), the process proceeds to S303.
  • the storage controller 4 in the drive failure management table 1200 has an item value (that is, item value) corresponding to the error type caused by the failure of the entry specified by the failed RAID group ID 1201 and drive number 1202. The number of errors in any of 1204 to 1207) is counted up. At this time, the error occurrence time may be registered in the item values 1204 to 1207. Then, the process proceeds to S312.
  • the storage controller 4 searches the customer policy management table 1100 for the item value (that is, any of the item values 1107 to 1110) corresponding to the error type caused by the failure of the entry specified by the failed RAID group ID 1101. The recovery means level 1001) is acquired. Then, the process proceeds to S320.
  • the storage controller 4 acquires the number of errors counted up in S311 of the drive failure management table 1200, and determines whether or not the acquired number of errors is less than a threshold value. If the determination result is affirmative (YES), the storage controller 4 proceeds to S321, and if negative (NO), the storage controller 4 proceeds to S322.
  • the storage controller 4 determines “execute drive recovery processing” as a result of the recovery determination processing, and returns to the processing after S211 in FIG.
  • the storage controller 4 can determine whether or not to execute drive recovery processing.
  • FIG. 9 is a flowchart showing an example of the fault site estimation process. This process corresponds to S303 in FIG.
  • the storage controller 4 acquires the failure information of the entire storage system 1, and identifies the device in which the error occurred and the type of the error from the acquired failure information. Then, the process proceeds to S502.
  • the storage controller 4 determines whether or not the error type is a timeout error. If the determination result is affirmative (YES), the process proceeds to S504. If the determination result is negative (NO), the process proceeds to S510. .
  • the storage controller 4 acquires the status information of the drive 20 from the drive 20 in which the error has occurred. Then, the process proceeds to S505.
  • This status information may include information regarding internal processing (including internal errors) of the drive 20.
  • the storage controller 4 estimates whether or not the failed part is the drive 20 from the acquired status information of the drive 20, and if the failed part is estimated to be the drive 20 (YES), the process proceeds to S530. If it is estimated that the failure site is other than the drive 20 (NO), the process proceeds to S532.
  • the storage controller 4 determines whether or not the error is detected by the drive 20 from the content of the error response. If the determination result is affirmative (YES), the storage controller 4 proceeds to S511, and if negative If (NO), the process proceeds to S520.
  • the storage controller 4 estimates whether or not the error is an I / F system failure from the content of the error response. If the storage controller 4 estimates that the error is an I / F system failure (YES), the storage controller 4 proceeds to S521. When it is estimated that the failure is other than the F system (NO), the process proceeds to S512.
  • the storage controller 4 acquires the extended error information of the drive 20 from the drive 20 in which the error has occurred. Extended error information may include more detailed information about the error. Then, the process proceeds to S530.
  • the storage controller 4 estimates whether or not the error is a link system failure from the content of the error response. If the storage controller 4 estimates a link system failure (YES), the storage controller 4 proceeds to S521, When it estimates (NO), it progresses to S532.
  • the storage controller 4 acquires PHY status information 1300, which is an example of a failure log, from the drive 20 in which an error has occurred. Details of the PHY status information 1300 will be described later (see FIG. 14). Then, the process proceeds to S522.
  • FIG. 10 is a flowchart showing an example of drive recovery processing. This process corresponds to S220 in FIG.
  • the storage controller 4 executes a retry process as a recovery process. For example, the storage controller 4 retransmits an I / O request that has resulted in an error response to the drive 20 that is estimated to be the failed part. Then, the process proceeds to S405.
  • the storage controller 4 executes a logic reset process as a recovery process. For example, the storage controller 4 instructs the drive 20 estimated to be a failure part to execute a logic reset process. Then, after the logical reset process for the drive 20 is completed, the storage controller 4 proceeds to S408.
  • the storage controller 4 executes a physical reset process as a recovery process. For example, the storage controller 4 instructs the drive 20 estimated to be a faulty part to execute a physical reset process. Then, the storage controller 4 proceeds to S411 after the physical reset processing of the drive 20 is completed.
  • the storage controller 4 retransmits the I / O request that resulted in the error response to the drive 20 estimated to be the failed part, and if the retransmission succeeds (YES), it is assumed that the failure has been recovered and that in FIG. If the process returns to S220 and subsequent steps and the retransmission fails (NO), the drive 20 estimated to be a faulty part is blocked, and the process returns to S220 and subsequent processes in FIG.
  • the failure recovery processing based on the recovery means level 1001 set in the customer policy management table 1100 is executed. That is, a failure recovery process suitable for the operation policy set by the customer is selected and executed.
  • FIG. 11 is a flowchart showing an example of asynchronous drive recovery processing. This process corresponds to the drive recovery process executed at the time registered in the scheduler in S216 of FIG.
  • the storage controller 4 sets the recovery target drive 20 (referred to as “target drive” in the description of FIG. 11) to the diagnosis mode. That is, the storage controller 4 changes the status 1203 of the target drive 20 to “diagnosis” in the drive failure management table 1200. At this time, the storage controller 4 may temporarily block the target drive 20 and store the I / O data received during the temporary blocking period in the spare drive 20. When the spare drive 20 does not exist, the storage controller 4 may perform the degenerate operation of the RAID group to which the target drive 20 belongs. In this case, the storage controller 4 changes the status 1106 of the RAID group to which the target drive 20 belongs in the customer policy management table 1100 to “degenerate”. Then, the process proceeds to S602.
  • target drive referred to as “target drive” in the description of FIG. 11
  • S602 The storage controller 4 executes drive recovery processing. This process may be the same as the drive recovery process shown in FIG. Then, the process proceeds to S603.
  • the storage controller 4 determines whether or not the failure has been recovered by the drive recovery processing of S602. If the failure has been recovered (YES), the process proceeds to S604, and if the failure has not been recovered (NO) , The process proceeds to S610.
  • the storage controller 4 performs predetermined data processing. For example, the storage controller 4 reflects the I / O data stored in the spare drive 20 in the target drive 20 during the temporary blockage period of the target drive 20 and then releases the block of the target drive 20. Then, the process proceeds to S605.
  • the storage controller 4 changes the status 1203 of the target drive 20 to “active” in the drive failure management table 1200. Further, when the RAID controller is in a degenerate operation, the storage controller 4 changes the status 1106 of the RAID group to which the target drive 20 belongs to “normal” in the customer policy management table 1100. Then, this process ends.
  • the storage controller 4 changes the status 1203 of the target drive 20 to “blocked” in the drive failure management table 1200. This is because the target drive 20 does not recover from the failure and is blocked in S430 in FIG. Then, this process ends.
  • the recovery processing can be executed at an appropriate timing after that, instead of immediately performing the recovery processing at the timing when the failure occurs.
  • the appropriate timing is not limited to the time registered in the scheduler as described above, and may be a timing at which the I / O processing load of the storage controller 4 is low (less than a predetermined threshold), for example.
  • FIG. 12 is a flowchart showing an example of a failure path (link) recovery process.
  • This process may be an example of the processes of S521 and S522 of FIG.
  • this processing is executed only when the recovery means level 1001 associated with the RAID group to which the errored drive 20 belongs in the customer policy management table 1100 includes physical reset processing. It may be a process.
  • the storage controller 4 identifies the drive 20 connected to the path where the failure has occurred (referred to as "abnormal system path"). This identified drive is referred to as “target drive” in the description of FIGS. 12 and 13. Then, the process proceeds to S702.
  • the storage controller 4 sends a failure log collection request to the target drive 20 via a path where no failure has occurred (referred to as "normal path").
  • the target drive 20 Upon receiving the failure log collection request, the target drive 20 collects a failure log (for example, PHY status information 1300). Details of the PHY status information 1300 and its collection method will be described later. Then, the target drive 20 transmits the collected failure log to the storage controller 4 via the normal system path.
  • a failure log for example, PHY status information 1300. Details of the PHY status information 1300 and its collection method will be described later. Then, the target drive 20 transmits the collected failure log to the storage controller 4 via the normal system path.
  • the storage controller 4 determines whether further isolation processing of the faulty part is necessary. If the storage controller 4 cannot determine which of the drive 20 and the EXP 600 is the failed part even in S704, the storage controller 4 may determine that further isolation processing is necessary. If the determination result is affirmative (YES), the storage controller 4 proceeds to S710 in FIG. If the determination result is negative (NO), the storage controller 4 returns to S521 and subsequent steps in FIG. This is because it is possible to estimate which of the drive 20 and EXP 600 is the fault site. Note that the storage controller 4 may proceed to S710 in FIG. 13 when the EXP 600 is estimated as a faulty part in S704.
  • FIG. 13 is a flowchart showing a continuation of the failure path recovery process of FIG.
  • the storage controller 4 determines whether the port connected to the abnormal path of the target drive 20 (referred to as “target port” in the description of FIG. 13) is normal from the failure log, and the determination result Is affirmative (YES), the process proceeds to S711, and if negative (NO), this process ends.
  • the storage controller 4 transmits a link initialization request for the target port to the target drive 20 via the normal path.
  • the EXP 600 connected to the target port also executes link initialization processing and renegotiation processing with the target port by this link initialization processing.
  • the link that is, the abnormal path
  • the target drive 20 transmits the result of the link initialization processing of the target port to the storage controller 4.
  • the result may include information indicating success or failure of link initialization and information indicating success or failure of transmission / reception of test data.
  • the storage controller 4 determines from the result whether or not the failure path has been recovered. If the determination result is affirmative (YES), the storage controller 4 ends this process. This is because the failure path has been recovered. If the determination result is negative (NO), the storage controller 4 proceeds to S716. This is to perform more powerful failure path recovery processing.
  • the storage controller 4 transmits a link diagnosis start request for the target port to the target drive 20 via the normal path.
  • the target drive 20 executes link diagnosis processing with the EXP 600 connected to the target port. Details of the link diagnosis processing will be described later (see FIG. 16).
  • the target drive 20 transmits the result of the link diagnosis process to the storage controller 4 via the normal path.
  • the target drive 20 Upon receiving the link diagnosis process end request, the target drive 20 instructs the EXP 600 connected to the target port to end the link diagnosis process.
  • the storage controller 4 determines from the result of the link diagnosis process received from the target drive 20 whether or not the failure path has been recovered. If the determination result is affirmative (YES), the storage controller 4 ends this process. This is because the failure path has been recovered. If the determination result is negative (NO), the storage controller 4 closes the target port (or target drive 20) at the fault site and ends this process. This is because the failure could not be recovered by the recovery process.
  • the failure path may be recovered. This is because the link initialization process and the link diagnosis process are processes similar to the physical reset process of the communication I / F device.
  • FIG. 14 shows a configuration example of PHY status information.
  • the PHY status information 1300 includes information on how many types of link errors have occurred in each port of the drive 20.
  • the link error type may conform to the SAS standard. For example, Invalid Dword Count, Running Disparity Error Count, Loss Of Word Sychronization, PHY Reset Problem, etc.
  • the storage controller 4 may be able to determine which of the drive 20 and the EXP 600 is a faulty part by acquiring the PHY status information 1300 from the drive 20 in S702 of FIG. 12 and analyzing it. Next, an example of a method for isolating the faulty part will be described.
  • FIG. 15 is a diagram for explaining a method of isolating the faulty part.
  • port P1 of EXP-A and port P1 of drive 20 are connected, and port P2 of EXP-B and port P2 of drive 20 are connected.
  • the storage controller 4 may estimate EXP-A as a faulty part when it is determined that it corresponds to the pattern “1” in FIG. 15 as a result of the analysis of the PHY status information 1300. In other words, the number of errors in any port P1, P3 of EXP-A has increased, the number of errors in port P1 of the drive 20 connected to EXP-A has increased, and has been connected to EXP-A. When the number of errors in the port P2 of the drive 20 that is not present has not increased, the storage controller 4 may estimate EXP-A as the failure site.
  • the storage controller 4 may estimate the drive 20 as a faulty part when it is determined as a result of the analysis of the PHY status information 1300 that the pattern corresponds to the pattern “2” in FIG. That is, the number of errors in any port P1, P2 of the drive 20 has increased, and the number of errors in the port P1 of EXP-A and the port P2 of EXP-B connected to the drive 20 has both increased. If the number of errors in both the EXP-A port P3 not connected to the drive 20 and the EXP-B port P4 has not increased, the storage controller 4 may estimate the drive 20 as a failure site.
  • the storage controller 4 may determine in S705 in FIG.
  • the storage controller 4 determines that the pattern corresponds to the pattern “3” in FIG. 15 as a result of the analysis of the PHY status information 1300, it cannot identify which of the drive 20 and the EXP 600 is a faulty part. That is, the number of errors in the port P1 of the EXP-A connected to the drive 20 has increased, but the number of errors in the port P1 of the drive 20 connected to the EXP-A has not increased, or When the number of errors in the port P1 of the drive 20 connected to EXP-A has increased, but the number of errors in the port P1 of EXP-A connected to the drive 20 has not increased, the storage controller 4 cannot determine which of the drive 20 and the EXP 600 is a failure part. In this case, the storage controller 4 may determine that further isolation of the faulty part is necessary in S705 of FIG. 12, and may execute the process of FIG.
  • FIG. 16 is a diagram for explaining the link diagnosis processing. This process corresponds to the process of S718 in FIG.
  • the data signal transmitted from the port unit 21 of the drive 20 is transmitted from the transmission unit 22 included in the port unit 21 and received by the reception unit 602 included in the port unit 601 of the EXP 600 in the physical layer and the data link layer.
  • the A data signal transmitted from the port unit 601 of the EXP 600 is transmitted from the transmission unit 603 included in the port unit 601 of the EXP 600 and received by the reception unit 23 included in the port unit 21 of the drive 20.
  • the port unit 21 of the drive 20 may include a switch 25 that can be switched on / off between the receiving unit 23 and the transmitting unit 22.
  • the port unit 601 of the EXP 600 may include a switch 605 that can be switched on / off between the reception unit 602 and the transmission unit 603.
  • the drive 20 When the drive 20 performs the link diagnosis process of the port unit 21, the drive 20 turns on the switch 605 of the port unit 601 of the EXP 600. Accordingly, the drive 20 can receive the data signal transmitted from the transmission unit 22 by the reception unit 23 via the ON switch 605 of the EXP 600.
  • Such link diagnosis processing may be referred to as loopback diagnosis processing.
  • the drive 20 may store the result of the link diagnosis process in the PHY status information 1300. Then, the drive 20 may transmit the PHY status information 1300 to the storage controller 4 as a diagnosis result in S719 of FIG.
  • the failure path may be recovered. This is because the link diagnosis process is similar to the physical reset process of the communication I / F device.
  • the storage controller 4 may estimate the error type and the failure part based on the entire storage device log, the failure log of the drive 20 in which an error has occurred, and the log related to the drive 20. For example, in the case of a time-out error, the storage controller 4 estimates that a part other than the drive 20 (for example, link system) is a faulty part if the process of the drive 20 is completed in the fault log of the drive 20 in which the error occurred. If the processing of the drive 20 is in the middle, the drive 20 may be estimated as a failure part. Here, when the drive 20 is estimated as a failure part, the failure may be recovered by the physical reset process of the drive 20.
  • a part other than the drive 20 for example, link system
  • the storage controller 4 may select the recovery means level 1001 based on the redundancy at that time of the RAID group to which the errored drive 20 belongs. For example, if the RAID level of the RAID group is “6” and there is no blocked drive 20 in the RAID group at that time, the storage controller 4 may select the recovery means level 1001 “L1”. For example, if the RAID level of the RAID group is “6”, and there is one blocked drive 20 in the RAID group at that time, the storage controller 4 may select the recovery means level 1001 “L2”. .
  • the storage controller 4 has the recovery means level 1001 “L5” (that is, not blocked). May be selected. This is because if the storage is further blocked, the redundancy is greatly lost.
  • the storage controller 4 may adjust the recovery means level 1001 of the customer policy management table 1100 based on the type of error that has occurred in the past and the probability that the failure has been recovered by the recovery process executed for that error. For example, when the probability that the failure has been recovered by the retry process is relatively high (above a predetermined threshold), the storage controller 4 has a recovery means level 1001 “L1, L4, L5 including the retry process in the customer policy management table 1100. , L7 ”may be increased. For example, when the probability that the failure has been recovered by the retry process is relatively low (less than a predetermined threshold), the storage controller 4 has a recovery means level 1001 “L2, L3, which does not include the retry process in the customer policy management table 1100. L6 "may be increased.
  • Storage system 4 Storage controller 10: Host computer 12: Management computer 20: Drive 600: SAS expander

Abstract

ストレージシステムは、ストレージコントローラとRAIDグループとを有する。ストレージコントローラは、各RAIDグループに対し複数の異なる障害回復処理の内の何れかの障害回復処理が対応付けられているポリシー管理情報を有し、RAIDグループへ発行したコマンドに対するエラーを検知した場合、ポリシー管理情報に基づいて、そのコマンドの発行先のRAIDグループに対応付けられている障害回復処理を特定し、その特定した障害回復処理を実行する。

Description

ストレージシステム、及び、ストレージ管理方法
 本発明は、概して、ストレージシステムの技術に関する。
 ストレージシステムは、耐障害性を高めるために、複数のドライブ(例えばHard Disk Drive(HDD))をRedundant Arrays of Inexpensive Disks(RAID)構成にしたり、ストレージコントローラとドライブとの間のパスを多重化したりする。特許文献1には、ドライブユニットに対するコネクションパス中に障害部位を検出した場合に、当該障害部位を迂回又は回避するように当該コネクションパスを再構築するストレージサブシステムが開示されている。
特開2009―187483号公報
 ストレージシステムの運用において、障害の検知されたドライブは閉塞され交換される。しかし、障害の原因は、必ずしもそのドライブとは限らず、別の要素(例えば別のデバイスやネットワークなど)の場合もある。このような場合、ドライブの交換コストは無駄になってしまう。一方、障害を検知する度にその障害の原因を追及していると、ストレージシステムのパフォーマンスや稼働率が低下してしまう。
 本発明の目的は、顧客の目的に応じて運用コストとパフォーマンスとを調整可能なストレージシステム及びストレージ管理方法を提供することにある。本発明の別の目的は、障害の回復や障害の原因を切り分け可能なストレージシステム及びストレージ管理方法を提供することにある。
 一実施形態に係るストレージシステムは、複数の記憶デバイスから構成される複数のRAIDグループと、RAIDグループを制御するストレージコントローラとを含む。ストレージコントローラは、各RAIDグループに対して複数の異なる障害回復処理の内の何れかの障害回復処理が対応付けられているポリシー管理情報を有する。ストレージコントローラは、RAIDグループへ発行したコマンドに対するエラーを検知した場合、ポリシー管理情報に基づいて、そのコマンドの発行先のRAIDグループに対応付けられている障害回復処理を特定し、その特定した障害回復処理を実行する。
 本発明によれば、ストレージシステムにおいて、目的に応じて運用コストとパフォーマンスとを調整することができる。また、ストレージシステムにおいて、障害の回復や障害の原因の切り分けが可能となる。
一実施形態に係るストレージシステムの構成例を示す。 ストレージコントローラの有する機能及びデータの例である。 回復手段管理テーブルの構成例を示す。 顧客ポリシー管理テーブルの構成例を示す。 ドライブ障害管理テーブルの構成例を示す。 顧客ポリシー設定処理の一例を示すフローチャートである。 I/O処理の一例を示すフローチャートである。 回復判定処理の一例を示すフローチャートである。 障害部位推定処理の一例を示すフローチャートである。 ドライブ回復処理の一例を示すフローチャートである。 非同期型のドライブ回復処理の一例を示すフローチャートである。 障害パス(リンク)回復処理の一例を示すフローチャートである。 図12の障害パス(リンク)回復処理の続きを示すフローチャートである。 PHYステータス情報の構成例を示す。 障害部位の切り分け方法を説明するための図である。 リンク診断処理を説明するための図である。
 以下、実施形態を説明する。以下の説明では、「xxxテーブル」、「xxxキュー」又は「xxxリスト」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」、「xxxキュー」又は「xxxリスト」を「xxx情報」と呼ぶことができる。
 また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び通信インターフェイスデバイスのうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
 また、以下の説明では、計算機システムに含まれる少なくとも1つの装置を管理する1以上の計算機の集合を「管理システム」と呼ぶことがある。管理計算機が表示用情報を表示する場合は管理計算機が管理システムでよい。また、管理計算機と表示用計算機の組み合わせも管理システムでよい。また、管理処理の高速化や高信頼化のために複数の計算機で管理計算機と同等の処理を実現してもよく、この場合はそれら複数の計算機(表示を表示用計算機が行う場合は表示用計算機も含んでよい)が管理システムでよい。本実施例では、管理計算機が管理システムである。また、管理計算機が情報を表示するとは、管理計算機が有する表示デバイスに情報を表示することであってもよいし、管理計算機(例えばサーバ)に接続された表示用計算機(例えばクライアント)に表示用情報を送信することであってもよい。後者の場合、表示用計算機が有する表示デバイスに表示用情報が表す情報が表示用計算機によって表示される。
 また、以下の説明では、同種の要素を区別して説明する場合には、「ドライブ20a」、「ドライブ20b」のように、参照符号を使用し、同種の要素を区別しないで説明する場合には、「ドライブ20」のように参照符号のうちの共通番号のみを使用することがある。
 図1は、一実施形態に係るストレージシステムの構成例を示す。
 ストレージシステム1は、複数のストレージコントローラ4と、複数のSerial Attached SCSI(SAS)エクスパンダ(「EXP」という)600と、複数のドライブ20とを有する。ドライブ20は、不揮発性の記憶デバイスの例である。ドライブ20の例は、Solid State Drive(SSD)20a、SAS―HDD20b、及び、NearLine(NL)―SAS―HDD20dである。
 各ドライブ20は、少なくとも2つのEXP600に双方向通信可能に接続する。これにより、ストレージコントローラ4とドライブ20との間の通信路が冗長化される。なお、所定の変換スイッチ610を介することより、SATAドライブ20cをEXP600に接続することもできる。
 各EXP600は、他のEXP600又はストレージコントローラ4に接続する。つまり、複数のEXP600は、多段接続される。これによってもストレージコントローラ4とドライブ20との間の通信路が冗長化される。
 ストレージコントローラ4は、EXP600に接続されている複数のドライブ20を組み合わせてRAIDグループを構築する。そして、ストレージコントローラ4は、冗長化された複数の通信路の何れか及びEXP600を介して、RAIDグループに属する各ドライブ20にアクセスすることができる。
 ストレージコントローラ4は、CPU400、メモリ430、共用メモリ450、キャッシュメモリ300、チャネル制御部100、ディスク制御部200、及び、管理I/F120を有してよい。これらの要素は、双方向通信可能な内部バスに接続されてよい。
 管理I/F120は、通信路21を介して管理計算機12と双方向通信可能であり、ストレージコントローラ4と管理計算機12との間のデータ送受信を制御する。管理計算機12は、ストレージシステム1に含まれてもよい。
 チャネル制御部100は、通信路11を介してホスト計算機10と双方向通信可能であり、ストレージコントローラ4とホスト計算機10との間のデータ送受信を制御する。ドライブ制御部200は、通信路12を介してドライブ20と双方向通信可能であり、ストレージコントローラ4とドライブ20との間のデータ送受信を制御する。ドライブ20に係る制御プロトコルの例は、SCSIなどである。通信路12に係る通信プロトコルの例は、Internet Protocol(IP)、及び、Fibre Channelなどである。
 キャッシュメモリ300には、ドライブ20及びホスト計算機10とやり取りされるI/Oデータがキャッシュされてよい。これにより、ホスト計算機10に対するストレージシステム1のI/O応答性能を向上させることができる。共用メモリ450には、内部バスに接続されている各要素から共用されるデータが格納されてよい。
 メモリ430には、ストレージコントローラ4の有する各種機能を実現するためのプログラム及びデータが格納される。キャッシュメモリ300、共用メモリ450及びメモリ430は、1つであってもよい。これらのメモリの例は、Dynamic Random Access Memory(DRAM)、Ferroelectric Random Access Memory(FeRAM)、及び、Magnetoresistive Random Access Memory(MRAM)である。
 CPU400は、メモリ430に格納されているプログラムを実行することにより、後述するストレージコントローラ4の有する各種機能を実現する。
 図2は、ストレージコントローラ4の有する機能及びデータの例である。
 ストレージコントローラ4のメモリ430には、障害回復制御プログラム900、回復手段管理テーブル1000、顧客ポリシー管理テーブル1100、及び、ドライブ障害管理テーブル1200が格納されてよい。
 障害回復制御プログラム900は、CPU400に実行されると、ストレージシステム1に発生した障害を回復させる機能を実現する。実施形態の説明において、ストレージコントローラ4を主語とする処理は、障害回復制御プログラム900又はCPU400が実行する処理であってよい。
 回復手段管理テーブル1000には、障害を回復させるための複数の異なる障害回復処理の手段(「回復手段」という)に関する情報が格納される。顧客ポリシー管理テーブル1100には、RAIDグループ毎の顧客の運用ポリシーに関する情報が格納される。ドライブ障害管理テーブル1200には、RAIDグループに属する各ドライブ20に発生したエラーに関する情報が格納される。
 図3は、回復手段管理テーブル1000の構成例を示す。
 障害の回復手段には、失敗したコマンドを再送するリトライ処理1002、論理的なリセットを実行する論理リセット処理1003、及び、物理的なリセットを実行する物理リセット処理1004などがある。論理リセット処理1003は、例えば、障害の発生したデバイス(例えばドライブ20)の初期化処理であってもよい。物理リセット処理1004は、例えば、障害の発生したデバイス(例えばドライブ20)の再起動処理(つまり電源のオフとオンを行う処理)であってもよい。
 回復手段管理テーブル1000には、これらの回復手段の組み合わせによる回復手段レベル1001が定義されている。回復手段レベル1001は、後述する顧客ポリシー管理テーブル1100の項目値として設定されてよい。
 回復手段レベル1001は、レベルが大きくなるほど障害が回復する可能性が高くなるが、それにつれて回復処理時間が長くなるように定義されてよい(図3の1005参照)。回復手段レベル1001は、例えば、次のように定義されてよい。
 回復手段レベル1001「L0」は、リトライ処理1002、論理リセット処理1003、物理リセット処理1004の何れも行わない。つまり、障害が発生しても、回復処理及び閉塞処理を実施しない。このレベルは、ドライブ20内でリカバー済みのエラーであり、ストレージコントローラ4から回復する必要のないものに対して適用されてよい。
 回復手段レベル1001「L1」は、リトライ処理1002のみ行う。これで回復しない場合、閉塞処理を行い、冗長系の使用に切り替える。これに要する処理時間は比較的短い。この回復可能性は比較的低い。
 回復手段レベル1001「L2」は、論理リセット処理1003のみ行う。これで回復した場合、失敗したコマンドを再送する。これで回復しない場合、閉塞処理を行い、冗長系の使用に切り替える。これに要する処理時間は「L1」よりも長い。この回復可能性は「L1」よりも高い。
 回復手段レベル1001「L3」は、物理リセット処理1004のみ行う。これで回復した場合、失敗したコマンドを再送する。これで回復しない場合、閉塞処理を行い、冗長系の使用に切り替える。これに要する処理時間は「L2」よりも長い。この回復可能性は「L2」よりも高い。
 回復手段レベル1001「L4」は、リトライ処理1002を行い、これで回復しない場合、論理リセット処理1003を行う。
 回復手段レベル1001「L5」は、リトライ処理1002を行い、これで回復しない場合、物理リセット処理1004を行う。
 回復手段レベル1001「L6」は、論理リセット処理1003を行い、これで回復しない場合、物理リセット処理1004を行う。
 回復手段レベル1001「L7」は、リトライ処理1002を行い、これで回復しない場合、論理リセット処理1003を行い、これで回復しない場合、物理リセット処理1004を行う。
 回復手段レベル1001「L8」は、回復処理を行わず、直ちに閉塞処理を行い、冗長系の使用に切り替える。
 図4は、顧客ポリシー管理テーブル1100の構成例を示す。
 顧客ポリシー管理テーブル1100は、各RAIDグループの顧客ポリシーを管理する。顧客ポリシー管理テーブル1100は、項目値(カラム値)として、RAIDグループID1101、RAIDレベル1102、ドライブタイプ1103、運用性能ポリシー1104、運用コストポリシー1105、ステータス1106、システム系エラー1107、データ系エラー1108、I/F系エラー1109、及び、タイムアウト系エラー1110を有してよい。
 RAIDグループID1101は、RAIDグループの識別子である。
 RAIDレベル1102は、ID1101のRAIDグループのRAIDレベルを示す値である。RAIDレベルは、ID1101のRAIDグループのドライブ構成を示す値を含んでもよい。
 ドライブタイプ1103は、ID1101のRAIDグループを構成するドライブ20のタイプを示す値である。ドライブタイプ1103の例は、SSD、SAS-HDD、NL―SAS―HDDである。
 運用性能ポリシー1104は、ID1101のRAIDグループに対して顧客が求める性能ポリシーを示す値である。運用性能ポリシー1104は、性能の優先度が高いほど小さくなる値であってもよいし、その逆であってもよい。又は、運用性能ポリシー1104は、I/O per Second(IOPS)に関する値であってもよい。又は、運用性能ポリシー1104は、性能の優先度が高い順に、例えば、「ハイパフォーマンス」、「エンタープライズ」、「バランス」、「容量メイン」、「アーカイブ」などの名称が定義されてもよい。
 運用コストポリシー1105は、ID1101のRAIDグループに対して顧客が求めるコストポリシーを示す値である。運用コストポリシーは、コストの優先度が高いほど大きくなる値であってもよいし、その逆であってもよい。又は、運用コストポリシー1105は、金額に係る値であってもよい。又は、運用コストポリシー1105は、顧客との保守契約モデルに対応する値であってもよい。又は、運用コストポリシー1105は、ストレージシステム1における各デバイス(例えばドライブ)の故障率と価格とに基づいて算出された値であってもよい。この算出には、ストレージシステム1及びドライブ20の稼働時間が考慮されてもよい。又は、運用コストコストポリシー1105は、コストの優先度が低い順に、例えば、「コスト無制限」、「性能優先」、「コスト最適」、「コスト優先」、「コスト最小」などの名称が定義されてもよい。
 顧客は、使用するRAIDグループに対する運用性能ポリシー1104及び運用コストポリシー1105を決定又は選択できてよい。又は、ストレージコントローラ4が、RAIDレベル1102及び/又はドライブタイプ1103から、そのRAIDグループID1101に対して顧客が求めていると想定される運用性能ポリシー1104及び運用コストポリシー1105を決定してもよい。例えば、ストレージコントローラ4は、RAIDレベル1102が「1」であり、ドライブタイプ1103がIOPSの比較的高い「SSD」であるならば、運用性能ポリシー1104を「ハイパフォーマンス(性能最優先)」、運用コストポリシー1105を「コスト無制限」に決定してもよい。例えば、ストレージコントローラ4は、RAIDレベル1102が「6」であり、ドライブタイプ1103が「NL-HDD」であるならば、運用性能ポリシー1104を「容量メイン」、運用コストポリシー1105を「コスト優先」に決定してもよい。
 ステータス1106は、ID1101のRAIDグループのステータスを示す値である。ステータス1106の例は、RAIDグループが正常運転されていることを示す「正常」、RAIDグループが縮退運転されていることを示す「縮退」などである。
 システム系エラー1107(ハードウェア系エラーと呼んでもよい)は、ID1101のRAIDグループにおいてシステム系のエラーが発生した場合に実行される回復手段レベル1001を示す値である。システム系エラーとは、ドライブ20を制御するためのプログラムやデータが格納されている記憶領域(すなわちシステム領域)、又は、ドライブ20のハードウェア機構において発生するエラーであってよい。
 データ系エラー1108は、ID1101のRAIDグループにおいてデータ系のエラーが発生した場合に実行される回復手段レベル1001を示す値である。データ系エラーとは、ドライブ20のユーザデータが格納されている記憶領域(すなわちユーザ領域)において発生するエラーであってよい。
 I/F系エラー1109は、ID1101のRAIDグループにおいてI/F系のエラーが発生した場合に実行される回復手段レベル1001を示す値である。I/F系エラーとは、ドライブ20のネットワークI/Fにおいて発生するエラーであってよい。
 タイムアウト系エラー1110は、ID1101のRAIDグループにおいてタイムアウト系のエラーが発生した場合に実行される回復手段レベル1001を示す値である。
 上記のシステム系エラー1107、データ系エラー1108、I/F系エラー1109は、ドライブ20内でリカバーできなかったエラー(リカバー不能エラー)が発生した場合に参照されるとしてよい。また、ドライブ20内でリカバー済みのエラーが発生した場合のシステム系エラー1107、データ系エラー1108、I/F系エラー1109は何れも回復手段レベル1001「L0」であってよい。既にエラーが回復されているので、ストレージコントローラ4が改めて回復処理を行う必要は無いからである。
 RAIDグループの各エラー1107、1108、1109に設定される回復手段レベル1001は、ストレージコントローラ4が、そのRAIDグループの運用性能ポリシー1104及び/又は運用コストポリシー1105に基づいて自動的に決定してよい。
 例えば、運用ポリシーにおいてコストよりも性能が優先されている場合、ストレージコントローラ4は、各エラーの回復手段レベル1001を、比較的短時間で回復処理が完了する「L1」又は「L2」に決定してよい。
 例えば、運用ポリシーにおいて性能よりもコストが優先されている場合、ストレージコントローラ4は、各エラーの回復手段レベル1001を、比較的回復可能性の高い「L3」、「L5」、「L6」又は「L7」に決定してよい。
 例えば、運用コストポリシー1105において「コスト最小」が設定されている場合、ストレージコントローラ4は、各エラーの回復手段レベル1001を、最も回復可能性の高い「L7」に決定してよい。
 例えば、運用コストポリシー1105において「コスト無制限」が設定されている場合、ストレージコントローラ4は、各エラーの回復手段レベル1001を、最も回復処理時間の短い「L1」又は「L8」に決定してよい。
 ストレージコントローラ4は、顧客ポリシー管理テーブル1100を参照することにより、エラーの発生したRAIDグループの構成とそのエラーの種別とに応じて、適切な回復手段レベル1001を選択することができる。これにより、ストレージコントローラ4は、より短時間且つより高い可能性で、エラーを回復させることができる。
 回復処理の実行タイミングには、エラーが発生したら直ちに回復処理を実行する「同期型」と、エラーが発生したら回復処理の実行時刻をスケジューリングする「非同期型」とがあってよい。ストレージコントローラ4は、リトライ処理のように比較的短時間で完了する回復処理を実行する場合、「同期型」を選択してもよい。ストレージコントローラ4は、物理リセット処理のように比較的長時間を要する回復処理を実行する場合、「非同期型」を選択してもよい。
 図4に示す顧客ポリシー管理テーブル1100のRAIDグループID1101「F-2」において、エラー1107、1109、1110を「L5」としているのは、ドライブタイプ1103に示す「SSD」は、物理リセット処理及びその後の再起動に要する時間が比較的短く、運用性能にそれほど悪影響を及ぼさないからである。
 図5は、ドライブ障害管理テーブル1200の構成例を示す。
 ドライブ障害管理テーブル1200は、RAIDグループを構成する各ドライブ20に発生したエラーを管理する。ドライブ障害管理テーブル1200は、項目値(カラム値)として、RAIDグループID1201、ドライブ番号1202、ステータス1203、システム系エラー数1204、データ系エラー数1205、I/F系エラー数1206、及び、タイムアウト系エラー数1207を有して良い。
 RAIDグループID1201は、顧客ポリシー管理テーブル1100のRAIDグループID1101と同じである。ドライブ番号1202は、ID1201のRAIDグループ内の各ドライブ20を識別するための値である。
 ステータス1203は、ドライブ番号1202のドライブ20のステータスを示す値である。ステータスの例は、ドライブ20が正常稼働していることを示す「アクティブ」、ドライブ20が閉塞されていることを示す「閉塞」、ドライブ20が非同期型で回復処理中であることを示す「診断」である。この「診断」は、後述するリンク診断処理であってよい。
 システム系エラー数1204(ハードウェア系エラー数と呼んでもよい)は、ID1202のRAIDグループ内のドライブ番号1202のドライブ20において発生したシステム系エラーの数を示す値である。
 データ系エラー数1205は、ID1202のRAIDグループ内のドライブ番号1202のドライブ20において発生したデータ系エラーの数を示す値である。
 I/F系エラー数1206は、ID1202のRAIDグループ内のドライブ番号1202のドライブ20において発生したI/F系エラーの数を示す値である。
 タイムアウト系エラー数1207は、ID1202のRAIDグループ内のドライブ番号1202のドライブ20において発生したタイムアウト系エラーの数を示す値である。
 上記のエラー数1204、105、1206は、所定期間(例えば24時間)内に発生したエラーの数であってよい。この場合、所定期間より以前に発生したエラー数は、その所定期間経過後に削除されてもよい。
 ストレージコントローラ4は、エラー数が所定の閾値以上となったドライブ20に対して、そのドライブ20の属するRAIDグループについて顧客ポリシー管理テーブル1100で設定されている回復手段レベル1001に基づく回復処理を行ってよい。この閾値は、RAIDグループ及びエラー種別毎に異なってよい。また、運用ポリシーにおいてコストよりも性能が優先されているRAIDグループの閾値は、運用ポリシーにおいて性能よりもコストが優先されているRAIDグループの閾値よりも小さくてよい。
 なお、ドライブ障害管理テーブル1200は、エラー数に加えて、エラーの発生時刻も管理できてよい。また、ストレージコントローラ4は、このドライブ障害管理テーブル1200と同様に、EXP600やその他のデバイスの障害を管理するためのテーブルを有してもよい。
 図6は、顧客ポリシー設定処理の一例を示すフローチャートである。
 (S101)ホスト計算機10は、顧客からの指示により又は所定の条件に基づいて、ストレージコントローラ4へ顧客ポリシー設定要求を送信する。顧客ポリシー設定要求には、RAIDグループに対する運用性能ポリシー1104及び/又は運用コストポリシー1105が含まれてよい。
 (S102)ストレージコントローラ4は、顧客ポリシー設定要求を受領すると、ストレージシステム1の構成情報を読み出す。この構成情報は、RAIDグループを構成するドライブ20の情報などを含む。そして、S103へ進む。
 (S103)ストレージコントローラ4は、読み出した構成情報に基づいて、顧客ポリシー設定要求が指定するRAIDグループを特定する。そして、ストレージコントローラ4は、顧客ポリシー管理テーブル1100に、その特定したRAIDグループの情報と、顧客ポリシー設定要求に含まれる情報とを対応付けて登録する。そして、S104へ進む。
 (S104)ストレージコントローラ4は、ホスト計算機10に対して、顧客ポリシー設定要求の完了応答を送信する。
 以上の処理により、各RAIDグループに、顧客の運用ポリシーと、その運用ポリシーに応じたエラーの回復手段レベル1001とが対応付けられる。
 図7は、ストレージコントローラ4におけるI/O処理の一例を示すフローチャートである。
 (S201)ストレージコントローラ4は、ホスト計算機10からI/O要求を受領すると、S202へ進む。
 (S202)ストレージコントローラ4は、受領したI/O要求に含まれる情報から、アクセス対象のドライブ20(RAIDグループ)を特定する。図7の説明において、この特定したドライブ20を「対象ドライブ」という。そして、S203へ進む。
 (S203)ストレージコントローラ4は、ホスト計算機10から受領したI/O要求を対象ドライブ20へ発行する。そして、S204へ進む。
 (S204)ストレージコントローラ4は、ドライブ20からI/O応答を受領した場合(YES)、S210へ進み、I/O応答を未受領の場合(NO)、S205へ進む。
 (S205)ストレージコントローラ4は、I/O応答がタイムアウトとなった場合(YES)、S211へ進み、まだタイムアウトではない場合(NO)、S204へ戻る。
 (S210)ストレージコントローラ4は、I/O応答が「成功」であった場合(YES)、S221へ進み、「エラー」であった場合(NO)、S211へ進む。
 (S211)ストレージコントローラ4は、「エラー」又はタイムアウトなどI/O要求に失敗した場合、回復判定処理を実行する。この処理の詳細については後述する(図8参照)。そして、S212へ進む。
 (S212)ストレージコントローラ4は、回復判定処理によって「ドライブ回復処理を実行する」と判定したならば、S213へ進み、「ドライブ回復処理を実行しない」と判定したならば、S221へ進む。
 (S213)ストレージコントローラ4は、ドライブ回復処理の実行タイミングとして「同期型」を選択した場合、S220へ進み、「非同期型」を選択した場合、S216へ進む。
 (S216)ストレージコントローラ4は、ドライブ回復処理の実行タイミングをスケジューリングする。そして、S221へ進む。
 (S220)ストレージコントローラ4は、ドライブ回復処理を実行し、S221へ進む。
 (S221)ストレージコントローラ4は、各種テーブルの更新などのデータ処理を実行する。そして、S222へ進む。
 (S222)ストレージコントローラ4は、ホスト計算機へI/O応答を返す。
 以上の処理により、ストレージコントローラ4は、障害の発生した対象ドライブ20に対して、必要に応じてドライブ回復処理を実行することができる。
 図8は、回復判定処理の一例を示すフローチャートである。本処理は、図7のS211に相当する。
 (S301)ストレージコントローラ4は、エラーの発生したドライブ20が属するRAIDグループを特定する。そして、ストレージコントローラ4は、顧客ポリシー管理テーブル1100から、その特定したRAIDグループのIDに対応するエントリを特定する。そして、S302へ進む。
 (S302)ストレージコントローラ4は、ドライブ20から受領したエラーがドライブ20内でリカバー済みであるか否かを判定し、その判定結果が肯定的ならば(YES)、図7のS211以降の処理へ戻り、否定的ならば(NO)、S303へ進む。
 (S303)ストレージコントローラ4は、障害部位推定処理を実行する。この処理の詳細については後述する(図9参照)。そして、ストレージコントローラ4は、S304へ進む。
 (S304)ストレージコントローラ4は、障害部位推定処理によってドライブ20を障害部位と推定したならば(YES)、S311へ進み、ドライブ20以外を障害部位と推定したならば(NO)、ドライブ回復処理を終了する、この場合、他の障害部位の回復処理を実行してもよい。
 (S311)ストレージコントローラ4は、ドライブ障害管理テーブル1200において、障害の発生したRAIDグループID1201及びドライブ番号1202によって特定されるエントリの、その障害によって発生したエラー種別に対応する項目値(つまり、項目値1204~1207の何れかのエラー数)をカウントアップする。このとき、この項目値1204~1207に、エラー発生時刻を登録してもよい。そして、S312へ進む。
 (S312)ストレージコントローラ4は、顧客ポリシー管理テーブル1100から、障害の発生したRAIDグループID1101によって特定されるエントリの、その障害によって発生したエラー種別に対応する項目値(つまり項目値1107~1110の何れかの回復手段レベル1001)を取得する。そして、S320へ進む。
 (S320)ストレージコントローラ4は、ドライブ障害管理テーブル1200のS311でカウントアップしたエラー数を取得し、その取得したエラー数が閾値未満であるか否かを判定する。ストレージコントローラ4は、この判定結果が肯定的ならば(YES)、S321へ進み、否定的ならば(NO)、S322へ進む。
 (S321)ストレージコントローラ4は、回復判定処理の結果として、「ドライブ回復処理を実行する」と判定し、図7のS211以降の処理へ戻る。
 (S322)ストレージコントローラ4は、障害の発生したドライブ20を閉塞する。そして、ストレージコントローラ4は、回復判定処理の結果として、「ドライブ回復処理を実行しない」と判定し、図7のS211以降の処理へ戻る。
 以上の処理により、ストレージコントローラ4は、ドライブ回復処理を実行するか否かを判定することができる。
 図9は、障害部位推定処理の一例を示すフローチャートである。本処理は、図8のS303に相当する。
 (S501)ストレージコントローラ4は、ストレージシステム1の全体の障害情報を取得し、その取得した障害情報からエラーの発生したデバイスとそのエラーの種別とを特定する。そして、S502へ進む。
 (S502)ストレージコントローラ4は、エラーの発生したデバイスをドライブ20と特定した場合(YES)、S503へ進み、エラーの発生したデバイスをドライブ20以外と特定した場合(NO)、障害部位をドライブ20以外と推定し(S532)、図8のS303以降へ戻る。
 (S503)ストレージコントローラ4は、エラー種別がタイムアウト系エラーであるか否かを判定し、その判定結果が肯定的ならば(YES)、S504へ進み、否定的ならば(NO)、S510へ進む。
 (S504)ストレージコントローラ4は、エラーの発生したドライブ20から、そのドライブ20のステータス情報を取得する。そして、S505へ進む。このステータス情報は、ドライブ20の内部処理(内部エラーも含む)に関する情報を含んでよい。
 (S505)ストレージコントローラ4は、その取得したドライブ20のステータス情報などから、障害部位がドライブ20であるか否かを推定し、障害部位をドライブ20と推定した場合(YES)、S530へ進み、障害部位をドライブ20以外と推定した場合(NO)、S532へ進む。
 (S510)ストレージコントローラ4は、エラー応答の内容から、そのエラーがドライブ20で検出されたものか否かを判定し、その判定結果が肯定的ならば(YES)、S511へ進み、否定的ならば(NO)、S520へ進む。
 (S511)ストレージコントローラ4は、エラー応答の内容から、そのエラーがI/F系の障害か否かを推定し、I/F系の障害と推定した場合(YES)、S521へ進み、I/F系以外の障害と推定した場合(NO)、S512へ進む。
 (S512)ストレージコントローラ4は、エラーの発生したドライブ20から、そのドライブ20の拡張エラー情報を取得する。拡張エラー情報は、エラーの更なる詳細な情報を含んでよい。そして、S530へ進む。
 (S520)ストレージコントローラ4は、エラー応答の内容から、そのエラーがリンク系の障害か否かを推定し、リンク系の障害と推定した場合(YES)、S521へ進み、リンク系以外の障害と推定した場合(NO)、S532へ進む。
 (S521)ストレージコントローラ4は、エラーの発生したドライブ20から、障害ログの例であるPHYステータス情報1300を取得する。PHYステータス情報1300の詳細については後述する(図14参照)。そして、S522へ進む。
 (S522)ストレージコントローラ4は、その取得したPHYステータス情報1300などから障害部位がドライブ20であるか否かを推定し、障害部位をドライブ20と推定した場合(YES)、S530へ進み、障害部位をドライブ20以外と推定した場合(NO)、S532へ進む。
 (S530)ストレージコントローラ4は、障害部位をドライブ20と推定し、図8のS303以降へ戻る。
 (S532)ストレージコントローラ4は、障害部位をドライブ20以外と推定し、図8のS303以降へ戻る。
 以上の処理によれば、障害部位がドライブ20であるか否かを切り分けることができる。これにより、障害の発生していないドライブ20が誤って交換される可能性が減るので、顧客の運用コストを下げることができる。
 図10は、ドライブ回復処理の一例を示すフローチャートである。本処理は、図7のS220に相当する。
 (S401)ストレージコントローラ4は、図8のS312で特定した回復手段レベル(図10の説明において「特定回復手段レベル」という)が「L8」ならば(YES)、障害部位と推定したドライブ20を閉塞し(S430)、図7のS220以降へ戻り、特定回復手段レベルがそれ以外ならば(NO)、S402へ進む。
 (S402)ストレージコントローラ4は、特定回復手段レベルが「L0」ならば(YES)、何もせずに図7のS220へ戻り、特定回復手段レベルがそれ以外ならば(NO)、S403へ進む。
 (S403)ストレージコントローラ4は、特定回復手段レベルが「L1、L4、L5、L7」の何れかならば(YES)、S404へ進み、特定回復手段レベルがそれ以外ならば(NO)、S406へ進む。
 (S404)ストレージコントローラ4は、回復処理としてリトライ処理を実行する。例えば、ストレージコントローラ4は、エラー応答となったI/O要求を、障害部位と推定したドライブ20へ再送信する。そして、S405へ進む。
 (S405)ストレージコントローラ4は、その再送信が成功したならば(YES)、障害が回復したとして図7のS220以降へ戻り、その再送信も失敗したならば(NO)、S406へ進む。
 (S406)ストレージコントローラ4は、特定回復処理レベルが「L2、L4、L6、L7」の何れかならば(YES)、S407へ進み、特定回復手段レベルがそれ以外ならば(NO)、S409へ進む。
 (S407)ストレージコントローラ4は、回復処理として、論理リセット処理を実行する。例えば、ストレージコントローラ4は、障害部位と推定したドライブ20に対して、論理リセット処理を実行するよう指示する。そして、ストレージコントローラ4は、そのドライブ20の論理リセット処理が完了した後、S408へ進む。
 (S408)ストレージコントローラ4は、エラー応答となったI/O要求を、障害部位と推定したドライブ20へ再送信し、その再送信が成功したならば(YES)、障害が回復したとして図7のS220以降へ戻り、その再送信も失敗したならば(NO)、S409へ進む。
 (S409)ストレージコントローラ4は、特定回復手段レベルが「L3、L5、L6、L7」の何れかならば(YES)、S410へ進み、特定回復手段レベルがそれ以外ならば(NO)、障害部位と推定したドライブ20を閉塞し(S430)、図7のS220以降へ戻る。
 (S410)ストレージコントローラ4は、回復処理として物理リセット処理を実行する。例えば、ストレージコントローラ4は、障害部位と推定したドライブ20に対して、物理リセット処理を実行するよう指示する。そして、ストレージコントローラ4は、そのドライブ20の物理リセット処理が完了した後、S411へ進む。
 (S411)ストレージコントローラ4は、エラー応答となったI/O要求を障害部位と推定したドライブ20へ再送信し、その再送信が成功したならば(YES)、障害が回復したとして図7のS220以降へ戻り、その再送信も失敗したならば(NO)、障害部位と推定したドライブ20を閉塞し、図7のS220以降へ戻る。
 以上の処理によれば、エラーが発生した際、顧客ポリシー管理テーブル1100に設定された回復手段レベル1001に基づく障害回復処理が実行される。すなわち、顧客の設定した運用ポリシーに適した障害回復処理が選択されて実行される。
 図11は、非同期型のドライブ回復処理の一例を示すフローチャートである。本処理は、図7のS216でスケジューラに登録された時刻に実行されるドライブ回復処理に相当する。
 (S601)ストレージコントローラ4は、回復処理対象のドライブ20(図11の説明において「対象ドライブ」という)を診断モードに設定する。すなわち、ストレージコントローラ4は、ドライブ障害管理テーブル1200において、対象ドライブ20のステータス1203を「診断」に変更する。このとき、ストレージコントローラ4は、対象ドライブ20を一時的に閉塞し、その一時的な閉塞期間に受領したI/Oデータを予備のドライブ20に格納するようにしてよい。予備のドライブ20が存在しない場合、ストレージコントローラ4は、対象ドライブ20の属するRAIDグループを縮退運転させてもよい。この場合、ストレージコントローラ4は、顧客ポリシー管理テーブル1100において、対象ドライブ20の属するRAIDグループのステータス1106を「縮退」に変更する。そして、S602へ進む。
 (S602)ストレージコントローラ4は、ドライブ回復処理を実行する。この処理は、図10に示すドライブ回復処理と同様であってよい。そして、S603へ進む。
 (S603)ストレージコントローラ4は、S602のドライブ回復処理によって障害が回復したか否かを判定し、障害が回復したならば(YES)、S604へ進み、障害が回復しなかったならば(NO)、S610へ進む。
 (S604)ストレージコントローラ4は、所定のデータ処理を行う。例えば、ストレージコントローラ4は、対象ドライブ20の一時的な閉塞期間に予備のドライブ20に格納されたI/Oデータを対象ドライブ20へ反映した後、その対象ドライブ20の閉塞を解除する。そして、S605へ進む。
 (S605)ストレージコントローラ4は、ドライブ障害管理テーブル1200において、対象ドライブ20のステータス1203を「アクティブ」に変更する。また、ストレージコントローラ4は、RAIDグループを縮退運転していた場合、顧客ポリシー管理テーブル1100において、対象ドライブ20の属するRAIDグループのステータス1106を「正常」に変更する。そして、本処理を終了する。
 (S610)ストレージコントローラ4は、ドライブ障害管理テーブル1200において、対象ドライブ20のステータス1203を「閉塞」に変更する。対象ドライブ20は障害回復せず、図10にS430において閉塞されているからである。そして、本処理を終了する。
 以上の処理によれば、障害が発生したタイミングで直ちに回復処理を行うのではなく、その後の適切なタイミングで回復処理を実行することができる。適切なタイミングは、上述のようなスケジューラに登録された時刻に限らず、例えば、ストレージコントローラ4のI/O処理負荷の低い(所定の閾値未満の)タイミングなどであってもよい。
 図12は、障害パス(リンク)回復処理の一例を示すフローチャートである。
 本処理は、図9のS521及びS522の処理の一例であってもよい。又は、本処理は、顧客ポリシー管理テーブル1100において、エラーの発生したドライブ20の属するRAIDグループに対応付けられている回復手段レベル1001が、物理リセット処理を含むものであった場合にのみ実行される処理であってもよい。
 (S701)ストレージコントローラ4は、障害の発生したパス(「異常系パス」という)に接続されているドライブ20を特定する。この特定されたドライブを図12及び図13の説明において「対象ドライブ」という。そして、S702へ進む。
 (S702)ストレージコントローラ4は、障害の発生していないパス(「正常系パス」という)を介して、対象ドライブ20に障害ログ採取要求を送信する。
 (S703)対象ドライブ20は、障害ログ採取要求を受領すると、障害ログ(例えばPHYステータス情報1300)を採取する。PHYステータス情報1300及びその採取方法の詳細については後述する。そして、対象ドライブ20は、その採取した障害ログを、正常系パスを介して、ストレージコントローラ4へ送信する。
 (S704)ストレージコントローラ4は、障害ログを受領すると、その受領した障害ログに基づき、ドライブ20とEXP600のどちらが障害部位であるかを切り分ける。この切り分け方法の詳細については後述する(図15参照)。そして、S705へ進む。
 (S705)ストレージコントローラ4は、障害部位の更なる切り分け処理が必要か否かを判定する。ストレージコントローラ4は、S704によってもドライブ20とEXP600のどちらが障害部位であるかを切り分けることができなかった場合、更なる切り分け処理が必要と判定してよい。ストレージコントローラ4は、当該判定結果が肯定的ならば(YES)、図13のS710へ進む。ストレージコントローラ4は、当該判定結果が否定的ならば(NO)、図9のS521以降に戻る。ドライブ20とEXP600のどちらが障害部位であるかを推定できたからである。なお、ストレージコントローラ4は、S704においてEXP600を障害部位と推定した場合に、図13のS710へ進んでもよい。
 図13は、図12の障害パス回復処理の続きを示すフローチャートである。
 (S710)ストレージコントローラ4は、障害ログから、対象ドライブ20の異常系パスに繋がっているポート(図13の説明において「対象ポート」という)が正常であるか否かを判定し、その判定結果が肯定的ならば(YES)、S711へ進み、否定的ならば(NO)、本処理を終了する。
 (S711)ストレージコントローラ4は、正常系パスを介して、対象ドライブ20に対象ポートのリンク初期化要求を送信する。
 (S712)対象ドライブ20は、そのリンク初期化要求を受領すると、対象ポートのリンク初期化処理を開始する。
 (S713)対象ポートと繋がっているEXP600も、このリンク初期化処理によって、その対象ポートとの間で、リンク初期化処理及び再ネゴシエーション処理を実行する。これにより、対象ドライブ20とEXP600との間のリンク(つまり異常系パス)が初期化される。
 (S714)対象ドライブ20は、対象ポートのリンク初期化処理の結果を、ストレージコントローラ4へ送信する。この結果には、リンク初期化の成功又は失敗を示す情報、及び、テストデータの送受信の成功又は失敗を示す情報が含まれてよい。
 (S715)ストレージコントローラ4は、対象ドライブ20からリンク初期化の結果を受領すると、その結果から、障害パスが回復したか否かを判定する。その判定結果が肯定的ならば(YES)、ストレージコントローラ4は、本処理を終了する。障害パスが回復したからである。その判定結果が否定的ならば(NO)、ストレージコントローラ4は、S716へ進む。より強力な障害パス回復処理を行うためである。
 (S716)ストレージコントローラ4は、正常系パスを介して、対象ドライブ20に対象ポートのリンク診断開始要求を送信する。
 (S717)対象ドライブ20は、ストレージコントローラ4からリンク診断処理の開始要求を受領すると、対象ポートに接続されているEXP600に対してリンク診断処理を開始するよう指示する。
 (S718)対象ドライブ20は、対象ポートに接続されているEXP600との間でリンク診断処理を実行する。当該リンク診断処理の詳細については後述する(図16参照)。
 (S719)対象ドライブ20は、そのリンク診断処理の結果を、正常系パスを介して、ストレージコントローラ4へ送信する。
 (S720)ストレージコントローラ4は、対象ドライブ20からリンク診断処理の結果を受領すると、対象デバイスに対してリンク診断処理の終了要求を送信する。
 (S721)対象ドライブ20は、そのリンク診断処理の終了要求を受領すると、対象ポートに接続されているEXP600に対して、リンク診断処理を終了するよう指示する。
 (S722)ストレージコントローラ4は、対象ドライブ20から受領したリンク診断処理の結果から、障害パスが回復したか否かを判定する。その判定結果が肯定的ならば(YES)、ストレージコントローラ4は、本処理を終了する。障害パスが回復したからである。その判定結果が否定的ならば(NO)、ストレージコントローラ4は、障害部位の対象ポート(又は対象ドライブ20)を閉塞し、本処理を終了する。回復処理によっては障害を回復できなかったからである。
 以上の処理によれば、障害パスが回復する可能性がある。なぜなら、リンク初期化処理及びリンク診断処理は、通信I/Fデバイスの物理リセット処理に類似する処理であるためである。
 図14は、PHYステータス情報の構成例を示す。
 PHYステータス情報1300は、ドライブ20の有する各ポートにおいて、どのようなタイプのリンクエラーが何回発生したかの情報を含む。
 リンクエラーのタイプは、SAS規格に準拠するものであってよい。例えば、Invalid Dword Count、Running Disparity Error Count、Loss Of Dword Sychroinization、PHY Reset Problemなどである。
 ストレージコントローラ4は、図12のS702においてドライブ20からこのPHYステータス情報1300を取得し、それを分析することにより、ドライブ20とEXP600の何れが障害部位であるかを切り分けることができる場合がある。次に、障害部位の切り分け方法の一例を述べる。
 図15は、障害部位の切り分け方法を説明するための図である。
 EXP-AのポートP1とドライブ20のポートP1とが接続されており、EXP-BのポートP2とドライブ20のポートP2とが接続されているとする。
 ストレージコントローラ4は、PHYステータス情報1300の分析の結果、図15のパターン「1」に相当すると判定した場合、EXP―Aを障害部位と推定してよい。すなわち、EXP―Aの何れのポートP1、P3のエラー数も増加しており、EXP―Aと接続されているドライブ20のポートP1のエラー数は増加しており、EXP-Aと接続されていないドライブ20のポートP2のエラー数は増加していない場合、ストレージコントローラ4は、EXP-Aを障害部位と推定してよい。
 ストレージコントローラ4は、PHYステータス情報1300の分析の結果、図15のパターン「2」に相当すると判定した場合、ドライブ20を障害部位と推定して良い。すなわち、ドライブ20の何れのポートP1、P2のエラー数も増加しており、ドライブ20と接続されているEXP-AのポートP1とEXP-BのポートP2のエラー数は共に増加しており、ドライブ20と接続されていないEXP―AのポートP3とEXP-BのポートP4のエラー数は共に増加していない場合、ストレージコントローラ4は、ドライブ20を障害部位と推定してよい。
 図14のパターン「1」又は「2」に相当とすると判定した場合、ストレージコントローラ4は、図12のS705において、障害部位の更なる切り分けを不要と判定してよい。
 ストレージコントローラ4は、PHYステータス情報1300の分析の結果、図15のパターン「3」に相当すると判定した場合、ドライブ20とEXP600の何れが障害部位であるかを切り分けることができない。すなわち、ドライブ20と接続されているEXP-AのポートP1のエラー数は増加しているが、そのEXP-Aと接続されているドライブ20のポートP1のエラー数は増加していない場合、又は、EXP-Aと接続されているドライブ20のポートP1のエラー数は増加しているが、そのドライブ20と接続されているEXP-AのポートP1のエラー数は増加していない場合、ストレージコントローラ4は、ドライブ20とEXP600の何れが障害部位であるかを切り分けることができない。この場合、ストレージコントローラ4は、図12のS705において、障害部位の更なる切り分けが必要と判定し、図13の処理を実行してよい。
 以上の処理によれば、障害部位がドライブ20であるか否かを切り分けることができる。これにより、障害の発生していないドライブ20が誤って交換されるという可能性が減るので、顧客の運用コストを下げることができる。
 図16は、リンク診断処理を説明するための図である。本処理は、図13のS718の処理に相当する。
 図16において、ドライブ20のポート部21と、EXP600のポート部601とが接続されている。
 ドライブ20のポート部21から送信されるデータ信号は、物理層及びデータリンク層において、そのポート部21に含まれる送信部22から送信され、EXP600のポート部601に含まれる受信部602で受信される。EXP600のポート部601から送信されるデータ信号は、EXP600のポート部601に含まれる送信部603から送信され、ドライブ20のポート部21に含まれる受信部23で受信される。
 ドライブ20のポート部21は、受信部23と送信部22との間のオン/オフを切り替え可能なスイッチ25を有してよい。EXP600のポート部601は、受信部602と送信部603との間のオン/オフを切り替え可能なスイッチ605を有してよい。
 ドライブ20がポート部21のリンク診断処理を行う場合、ドライブ20は、EXP600のポート部601のスイッチ605をオンにする。これにより、ドライブ20は、送信部22から送信したデータ信号を、EXP600のオンのスイッチ605を介して、受信部23で受信することができる。このようなリンク診断処理を、ループバック診断処理と呼んでもよい。
 ドライブ20は、このリンク診断処理の結果をPHYステータス情報1300に格納してもよい。そして、ドライブ20は、図13のS719において、このPHYステータス情報1300を診断結果としてストレージコントローラ4へ送信してもよい。
 以上の処理によれば、障害パスが回復する可能性がある。なぜなら、リンク診断処理は、通信I/Fデバイスの物理リセット処理に類似する処理であるためである。
 なお、次のような実施例も考えられる。
 <障害部位の推定の例>
 ストレージコントローラ4は、ストレージ装置全体のログと、エラーの発生したドライブ20の障害ログと、当該ドライブ20と関連するログとに基づいて、エラー種別及び障害部位を推定してよい。例えば、タイムアウト系エラーの場合、ストレージコントローラ4は、エラーの発生したドライブ20の障害ログにおいて、ドライブ20の処理が完了しているならば、ドライブ20以外(例えばリンク系)を障害部位と推定し、ドライブ20の処理が途中ならば、ドライブ20を障害部位と推定してもよい。ここでドライブ20を障害部位と推定した場合、そのドライブ20の物理リセット処理により、障害が回復する可能性がある。
 <回復処理の選択の例>
 ストレージコントローラ4は、エラーの発生したドライブ20が属するRAIDグループのその時点における冗長度に基づいて、回復手段レベル1001を選択してもよい。例えば、RAIDグループのRAIDレベルが「6」であり、その時点においてRAIDグループ内に閉塞中のドライブ20が存在しない場合、ストレージコントローラ4は、回復手段レベル1001「L1」を選択してよい。例えば、RAIDグループのRAIDレベルが「6」であり、その時点においてRAIDグループ内に閉塞中のドライブ20が1台存在する場合、ストレージコントローラ4は、回復手段レベル1001「L2」を選択してよい。例えば、RAIDグループのRAIDレベルが「6」であり、その時点においてRAIDグループ内に閉塞中のドライブ20が2台存在する場合、ストレージコントローラ4は、回復手段レベル1001「L5」(つまり閉塞しない)を選択してよい。なぜなら、これ以上ストレージを閉塞させると冗長性が大きく失われるからである。
 ストレージコントローラ4は、過去に発生したエラー種別と、そのエラーに対して実行した回復処理によって障害が回復した確率とに基づいて、顧客ポリシー管理テーブル1100の回復手段レベル1001を調整してもよい。例えば、ストレージコントローラ4は、リトライ処理によって障害が回復した確率が比較的高い(所定の閾値以上である)場合、顧客ポリシー管理テーブル1100において、リトライ処理を含む回復手段レベル1001「L1、L4、L5、L7」を増やしてよい。例えば、ストレージコントローラ4は、リトライ処理によって障害が回復した確率が比較的低い(所定の閾値未満である)場合、顧客ポリシー管理テーブル1100において、リトライ処理を含まない回復手段レベル1001「L2、L3、L6」を増やしてよい。
 上述した実施形態は、本発明の説明のための例示であり、本発明の範囲を実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
 1:ストレージシステム 4:ストレージコントローラ 10:ホスト計算機 12:管理計算機 20:ドライブ 600:SASエクスパンダ

Claims (11)

  1.  複数の記憶デバイスから構成される複数のRAIDグループと、RAIDグループを制御するストレージコントローラとを含むストレージシステムであって、
     前記ストレージコントローラは、各RAIDグループに対し、複数の異なる障害回復処理の内の何れかの障害回復処理が対応付けられているポリシー管理情報、を有し、
     前記ストレージコントローラは、RAIDグループへ発行したコマンドに対するエラーを検知した場合、前記ポリシー管理情報に基づいて、そのコマンドの発行先のRAIDグループに対応付けられている障害回復処理を特定し、その特定した障害回復処理を実行する
    ストレージシステム。
  2.  各RAIDグループには、そのRAIDグループの運用ポリシーが設定されており、
     前記ポリシー管理情報では、各RAIDグループに対し、前記複数の異なる障害回復処理の内のそのRAIDグループに設定されている運用ポリシーに適合する障害回復処理が対応付けられている
    請求項1に記載のストレージシステム。
  3.  前記複数の異なる障害回復処理は、少なくとも、記憶デバイスの論理的なリセット処理を行う障害回復処理と、記憶デバイスの物理的なリセット処理を行う障害回復処理とを含む
    請求項2に記載のストレージシステム。
  4.  前記複数の異なる障害回復処理は、少なくとも、記憶デバイスの論理的なリセット処理によって障害が回復しない場合に記憶デバイスの物理的なリセット処理を行う障害回復処理を含む
    請求項3に記載のストレージシステム。
  5.  前記ポリシー管理情報では、
      コスト優先の運用ポリシーが設定されているRAIDグループに対し、前記物理的なリセット処理を含む障害回復処理が対応付けられており、
      性能優先の運用ポリシーが設定されているRAIDグループに対し、前記論理的なリセット処理を含む障害回復処理が対応付けられている
    請求項3に記載のストレージシステム。
  6.  前記ポリシー管理情報では、検出されたエラーの種別毎に障害回復処理が対応付けられており、
     前記ストレージコントローラは、前記ポリシー管理情報において、前記コマンドの発行先のRAIDグループと前記検出されたエラーの種別とによって特定される障害回復処理を実行する
    請求項3に記載のストレージシステム。
  7.  前記エラーの種別は、少なくとも、記憶デバイスのハードウェアに関するエラーと、記憶デバイスのデータに関するエラーとを含み
     前記ポリシー管理情報の少なくとも一部では、
      前記記憶デバイスのハードウェアに関するエラーと、前記物理的なリセット処理を含む障害回復処理とが対応付けられており、
      前記記憶デバイスのデータに関するエラーと、前記論理的なリセット処理を含む障害回復処理とが対応付けられている
    請求項6に記載のストレージシステム。
  8.  前記エラーの種別は、さらに、記憶デバイスのネットワークインタフェースに関するエラーを含み、
     前記ポリシー管理情報の少なくとも一部において、前記記憶デバイスのネットワークインタフェースに関するエラーと、前記物理的なリセット処理を含む障害回復処理とが対応付けられている場合、前記ストレージコントローラは、前記記憶デバイスと前記ネットワークインタフェースの接続先のデバイスとの間で、リンク診断処理を実行させる
    請求項7に記載のストレージシステム。
  9.  前記ストレージコントローラは、
      前記検知したエラーがタイムアウトエラーであった場合、前記コマンドの発行先の記憶デバイスのステータス情報を取得し、
      その取得したステータス情報に基づいて、そのエラーの原因がその記憶デバイスであるか否かを推定し、
      その記憶デバイスをエラーの原因と推定した場合、前記ポリシー管理情報においてその記憶デバイスの属するRAIDグループに対応付けられている障害回復処理を実行する
    請求項1に記載のストレージシステム。
  10.  前記ストレージコントローラは、所定の計算機から、RAIDグループに対する運用ポリシーの設定要求を受領すると、そのRAIDグループに対して、その要求された運用ポリシーを設定する
    請求項2に記載のストレージシステム。
  11.  複数の記憶デバイスから構成される複数のRAIDグループと、RAIDグループを制御するストレージコントローラとを含むストレージの管理方法であって、
     前記ストレージコントローラは、
      RAIDグループへ発行したコマンドに対するエラーを検知すると、
      各RAIDグループに対し複数の異なる障害回復処理の内の何れかの障害回復処理が対応付けられている前記ポリシー管理情報に基づいて、そのコマンドの発行先のRAIDグループに対応付けられている障害回復処理を特定し、
     その特定した障害回復処理を実行する
    ストレージ管理方法。
PCT/JP2015/081607 2015-11-10 2015-11-10 ストレージシステム、及び、ストレージ管理方法 WO2017081748A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2015/081607 WO2017081748A1 (ja) 2015-11-10 2015-11-10 ストレージシステム、及び、ストレージ管理方法
US15/743,321 US10509700B2 (en) 2015-11-10 2015-11-10 Storage system and storage management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/081607 WO2017081748A1 (ja) 2015-11-10 2015-11-10 ストレージシステム、及び、ストレージ管理方法

Publications (1)

Publication Number Publication Date
WO2017081748A1 true WO2017081748A1 (ja) 2017-05-18

Family

ID=58694834

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/081607 WO2017081748A1 (ja) 2015-11-10 2015-11-10 ストレージシステム、及び、ストレージ管理方法

Country Status (2)

Country Link
US (1) US10509700B2 (ja)
WO (1) WO2017081748A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021006950A (ja) * 2019-06-28 2021-01-21 富士通株式会社 ストレージ装置およびデータ伝送路管理プログラム
JP2021174459A (ja) * 2020-04-30 2021-11-01 Necプラットフォームズ株式会社 障害処理装置、障害処理方法及びコンピュータプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413492B (zh) * 2018-04-28 2023-07-04 伊姆西Ip控股有限责任公司 存储盘的健康评估方法、电子设备和计算机程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217234A (ja) * 2007-03-01 2008-09-18 Nec Corp リンク診断装置および方法
JP2009205316A (ja) * 2008-02-27 2009-09-10 Fujitsu Ltd ディスクアレイ装置、ディスクアレイ制御方法及びディスクアレイ制御装置
JP2010026812A (ja) * 2008-07-18 2010-02-04 Hitachi Computer Peripherals Co Ltd 磁気ディスク装置
JP2013041443A (ja) * 2011-08-17 2013-02-28 Fujitsu Ltd ストレージシステム、ストレージ制御装置およびストレージ制御方法
WO2014132373A1 (ja) * 2013-02-28 2014-09-04 株式会社 日立製作所 ストレージシステム及び記憶デバイス障害回復方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US378858A (en) * 1888-02-28 Haeet zeffeett
US20070028041A1 (en) * 2005-07-26 2007-02-01 Lsi Logic Corporation Extended failure analysis in RAID environments
US7827434B2 (en) * 2007-09-18 2010-11-02 International Business Machines Corporation Method for managing a data storage system
JP5127491B2 (ja) 2008-02-08 2013-01-23 株式会社日立製作所 ストレージサブシステム及びこれの制御方法
US10380022B2 (en) * 2011-07-28 2019-08-13 Netlist, Inc. Hybrid memory module and system and method of operating the same
JP5751088B2 (ja) 2011-08-17 2015-07-22 富士通株式会社 光半導体装置とその製造方法
US9329931B2 (en) * 2013-07-24 2016-05-03 Seagate Technology Llc Solid state drive emergency pre-boot application providing expanded data recovery function
KR102413755B1 (ko) * 2015-11-20 2022-06-28 삼성전자주식회사 리텐션 특성에 의한 성능 저하를 복구하는 저장 장치의 동작 방법 및 이를 포함하는 데이터 처리 시스템의 동작 방법
KR102572357B1 (ko) * 2016-02-03 2023-08-29 삼성전자주식회사 Raid-6 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10445200B2 (en) * 2016-05-02 2019-10-15 Samsung Electronics Co., Ltd. Storage device having various recovery methods and recovery modes
US9679650B1 (en) * 2016-05-06 2017-06-13 Micron Technology, Inc. 3D NAND memory Z-decoder
US10452468B2 (en) * 2016-12-30 2019-10-22 Western Digital Technologies, Inc. Method and system for managing non-volatile memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217234A (ja) * 2007-03-01 2008-09-18 Nec Corp リンク診断装置および方法
JP2009205316A (ja) * 2008-02-27 2009-09-10 Fujitsu Ltd ディスクアレイ装置、ディスクアレイ制御方法及びディスクアレイ制御装置
JP2010026812A (ja) * 2008-07-18 2010-02-04 Hitachi Computer Peripherals Co Ltd 磁気ディスク装置
JP2013041443A (ja) * 2011-08-17 2013-02-28 Fujitsu Ltd ストレージシステム、ストレージ制御装置およびストレージ制御方法
WO2014132373A1 (ja) * 2013-02-28 2014-09-04 株式会社 日立製作所 ストレージシステム及び記憶デバイス障害回復方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021006950A (ja) * 2019-06-28 2021-01-21 富士通株式会社 ストレージ装置およびデータ伝送路管理プログラム
JP7255393B2 (ja) 2019-06-28 2023-04-11 富士通株式会社 ストレージ装置およびデータ伝送路管理プログラム
JP2021174459A (ja) * 2020-04-30 2021-11-01 Necプラットフォームズ株式会社 障害処理装置、障害処理方法及びコンピュータプログラム
JP7007025B2 (ja) 2020-04-30 2022-01-24 Necプラットフォームズ株式会社 障害処理装置、障害処理方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US20180196718A1 (en) 2018-07-12
US10509700B2 (en) 2019-12-17

Similar Documents

Publication Publication Date Title
JP5127491B2 (ja) ストレージサブシステム及びこれの制御方法
US7536592B2 (en) Storage system and snapshot data preparation method in storage system
JP3732869B2 (ja) 外部記憶装置
CN104704569B (zh) Nvram路径选择
DK3179359T3 (en) PROCEDURE FOR SENDING DATA, PROCEDURE FOR RECEIVING DATA AND STORAGE UNIT
US7574623B1 (en) Method and system for rapidly recovering data from a “sick” disk in a RAID disk group
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
US8775867B2 (en) Method and system for using a standby server to improve redundancy in a dual-node data storage system
US7984260B2 (en) Storage system provided with a plurality of controller modules
US20170139605A1 (en) Control device and control method
JP2003208268A (ja) 分散ストレージシステム、ストレージ装置、およびデータのコピー方法
US10324780B2 (en) Efficient data system error recovery
US20120266027A1 (en) Storage apparatus and method of controlling the same
US8095820B2 (en) Storage system and control methods for the same
US8015437B2 (en) Restoring data to a distributed storage node
WO2017081748A1 (ja) ストレージシステム、及び、ストレージ管理方法
US9891992B2 (en) Information processing apparatus, information processing method, storage system and non-transitory computer readable storage media
US10915405B2 (en) Methods for handling storage element failures to reduce storage device failure rates and devices thereof
JP6810341B2 (ja) 管理装置、情報処理システムおよび管理プログラム
JP3776438B2 (ja) 記憶装置
EP3167372B1 (en) Methods for facilitating high availability storage services and corresponding devices
US11385815B2 (en) Storage system
CN116027991B (zh) Raid阵列管理方法、装置、raid卡及存储介质
JP2010033379A (ja) 仮想化システム及び仮想化の復旧方法
US8634156B2 (en) Storage system, storage control apparatus, and storage control 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: 15908272

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15908272

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP