WO2012081156A1 - アレイ管理装置、アレイ管理方法及び集積回路 - Google Patents

アレイ管理装置、アレイ管理方法及び集積回路 Download PDF

Info

Publication number
WO2012081156A1
WO2012081156A1 PCT/JP2011/005805 JP2011005805W WO2012081156A1 WO 2012081156 A1 WO2012081156 A1 WO 2012081156A1 JP 2011005805 W JP2011005805 W JP 2011005805W WO 2012081156 A1 WO2012081156 A1 WO 2012081156A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
unit
access
redundancy
storages
Prior art date
Application number
PCT/JP2011/005805
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 US13/881,501 priority Critical patent/US20130219212A1/en
Priority to CN2011800549206A priority patent/CN103250127A/zh
Priority to JP2012548617A priority patent/JPWO2012081156A1/ja
Publication of WO2012081156A1 publication Critical patent/WO2012081156A1/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/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/2089Redundant storage control functionality
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Definitions

  • the present invention relates to an array management apparatus for managing an array configured by making a plurality of storages redundant.
  • RAID Redundant Arrays of Inexpensive Disks
  • RAID configurations for example, in each form from level 1 to level 6, it is well known that reliability can be improved by a redundant configuration.
  • RAID 5 For example, in a form called RAID 5, up to one storage failure is allowed among the storages managed by the array management apparatus. At this time, the storage array system temporarily shifts to a degenerate state called “degrade”. When an array falls into a state in which two or more storage devices have failed at the same time, the array is logically damaged, making it impossible to retrieve some or all of the stored data. The allowable number of storage failures depends on the RAID configuration.
  • the array In the degraded state, after the failed storage is replaced with normal storage, the array automatically sends another recovery command to the storage array system. Then, the storage array system can be restored from the degraded state to the normal state by copying the restored data to the normal storage that has been restored and replaced.
  • spare storage is in a standby state until the storage array system transitions to a degraded state, and when the storage array system transitions to a degraded state, the failed storage and spare storage are logically replaced.
  • the storage array system is in accordance with various storage architectures such as a NAS (Network Attached Storage) environment, a SAN (Storage Area Network) environment, or an environment directly attached to a client or host computer by a storage interface. To be implemented.
  • NAS Network Attached Storage
  • SAN Storage Area Network
  • Each storage is connected to a network for data transfer or management in the storage array system.
  • the term “network” here includes, of course, an IP (Internet Protocol) network, but is not limited thereto.
  • the present invention has an object to provide an array management device, an array management method, and an integrated circuit that can change the judgment criterion for performing the redundancy again according to the configuration type of the communication path.
  • the present invention provides an array management apparatus that makes a plurality of storages redundant and controls access to each storage, and whether the access to each of the plurality of storages has succeeded or failed.
  • the storage unit that stores the configuration type of the communication path to each of the plurality of storages, and the storage unit
  • the storage unit When a derivation unit for deriving a waiting time from when the failure occurs until redundancy is performed, and when the determination unit confirms that access to any one of the plurality of storages has failed, the storage unit Until the waiting time derived by the deriving unit elapses according to the configuration type of the communication path of When successful access to the storage is not confirmed, characterized in that it comprises a redundancy processing unit that performs redundant using the remaining storage excluding the storage by.
  • the array management device derives the standby time until redundancy based on the type of storage communication path that failed to be accessed. Therefore, the array management apparatus can change the waiting time until it is determined that re-redundancy is performed, that is, the determination criterion for determining that re-redundancy is performed based on the type of communication path. As a result, if the access is successful within the standby time, it is not necessary to perform the redundancy again, so that the life of the storage apparatus becomes longer compared to the case where the redundancy is performed immediately after the failure occurs.
  • FIG. 2 is a block diagram showing a configuration of an array management device 100.
  • FIG. It is a figure which shows an example of the data structure of network state management table T100. It is a figure which shows an example of the data structure of storage state management table T200. It is a figure which shows an example of the data structure of network failure management table T300. It is a figure which shows an example of the data structure of the empty area information table T400. It is a figure which shows an example of the data structure of data temporary storage area
  • 2 is a block diagram showing a configuration of a storage device 11.
  • FIG. It is a flowchart which shows a network status monitoring process.
  • FIG. 20A is a diagram illustrating a specific example of data writing in the normal state
  • FIG. 20B is a diagram illustrating a specific example of data writing in the temporary storage state. It is a figure which shows the specific example of re-redundancy. It is a figure which shows an example of the data structure of policy determination table T600. It is a block diagram which shows an example of the array management apparatus 100A which consists of a structure by which operation
  • FIG. 1 is a diagram showing a configuration of an array management system 1 including an array management apparatus according to the present invention.
  • the storage device 12 is a spare storage device.
  • the digital recorder 10 manages and stores digital data such as image data captured by a digital camera.
  • digital data is stored in the storage devices 11 to 15. Redundant storage is possible.
  • the storage devices 11 and 12 are locally connected to the digital recorder 10 via USB (Universal Serial Bus) or SCSI (Small Computer System Interface).
  • the storage device 13 is connected to the digital recorder 10 via the Internet 2, and the storage device 14 is connected to each other via a local area network (LAN). Further, the storage device 15 is connected to the digital recorder 10 through a wireless local network.
  • Ethernet registered trademark
  • fiber channel for connection to each storage device, Ethernet (registered trademark), fiber channel, USB, IEEE 1394 (Institut of Electrical and Electronic Engineers 1394), IDE (Integrated Drive Electronics), Serial ATA Shield (AdTA ntAntAntAntAntAntAntAntAntAntAntAntAntAntAntAntAntAntAtAntAtAn
  • the array management apparatus 100 monitors whether or not a failure such as a breakage has occurred in each storage device, and performs reconfiguration for redundancy when a failure is detected, as in the past.
  • the reconfiguration of redundancy is called re-redundancy.
  • the array management apparatus 100 also monitors whether or not a failure has occurred in the network connected to each storage apparatus.
  • the network failure in the present embodiment means that a non-response time continues for a predetermined time or more when a response request for confirming the existence is transmitted.
  • the array management device 100 detects a network failure, it waits for a recovery from the network failure for a time determined according to the network connection form. Do.
  • the free capacity is a capacity in which data is not yet written in an area not used for the array configuration.
  • the array management device 100 is a device that manages the storage devices 11 to 15. As shown in FIG. 2, the network status monitoring unit 101, the storage status monitoring unit 102, and the management information storage unit 103 array state monitoring unit 104, redundancy policy determining unit 105, processing unit 106, request receiving unit 107, and communication unit 108.
  • Network status monitoring unit 101 The network state monitoring unit 101 monitors whether or not a network failure has occurred for each of the storage apparatuses 11 to 15.
  • the network state monitoring unit 101 when the network state monitoring unit 101 receives a request instruction indicating an instruction to issue a response request to each of the storage devices 11 to 15 from the array state monitoring unit 104, the network state monitoring unit 101 sends a response request to the target storage device. And the existence of the storage device on the network is confirmed based on whether or not a response to the response request is received within a predetermined time T0 (for example, 1 second).
  • T0 for example, 1 second
  • the network status monitoring unit 101 If the network status monitoring unit 101 receives a response from the storage device to be issued within a predetermined time T0 after transmitting the response request, the network status monitoring unit 101 notifies the array status monitoring unit 104 of response confirmation information indicating that the response has been received. To do.
  • the network status monitoring unit 101 If the network status monitoring unit 101 does not receive a response from the storage device to be issued within a predetermined time T0 after sending the response request, the network status monitoring unit 101 displays no response information indicating that no response has been received. To notify.
  • Storage status monitoring unit 102 monitors the presence or absence of a storage failure for each of the storage devices 11 to 15 as in the conventional case.
  • the storage state monitoring unit 102 periodically checks the storage devices 11 to 15 for storage failures (for example, disk damage state).
  • the storage state monitoring unit 102 When determining that a storage failure has occurred, the storage state monitoring unit 102 notifies the array state monitoring unit 104 of storage failure information indicating that a storage failure has occurred.
  • Management information storage unit 103 is a storage area for storing a plurality of tables managed by the array management apparatus 100.
  • the management information storage unit 103 stores a network state management table T100, a storage state management table T200, a network failure management table T300, a free space information table T400, and a data temporary storage region information table T500 shown in FIGS. .
  • the management information storage unit 103 also stores information indicating the configuration of the array, for example, an array configuration information table (not shown), as in the conventional case. Since the information indicating the configuration of the array is known, a detailed description thereof is omitted here.
  • the array configuration information table has an area for storing a plurality of sets each including an array number, a redundancy method, the number of storages, a storage number, and an array capacity.
  • the array number is a number for identifying a configured array, and the redundancy method indicates a method for redundancy such as RAID 1 and RAID 5, for example.
  • the number of storages is the number constituting the array, and the storage number is a number indicating these storage devices.
  • the array capacity indicates the total capacity of the configured array. Here, spare storage devices are also managed.
  • the network state management table T100 is a table for managing the state of the network (for example, whether or not there is a response to the response request). As shown in FIG. 3, the storage number, network type, network information, final response confirmation time, and no response It has an area for storing a plurality of sets of flags.
  • the storage number is for uniquely identifying the storage apparatus connected to the array management apparatus 100.
  • the network type indicates the connection form with the storage device identified by the storage number. For example, as a network type, a type indicating whether the connection is wired or wireless, a type indicating whether the connection is within a LAN, or a connection via the Internet, and an IP address are assigned. The contents of whether the network is a predetermined network are described in advance by the system operator.
  • the network information is information necessary for transmitting a response request, and indicates information for identifying a storage on the network. This network information is different for each network type. For example, if the network type is an IP network, an IP address or a MAC address corresponds to the network information, and if the network type is a USB network, a vendor ID, a product ID, a serial number, or the like corresponds to the network information.
  • the final response confirmation time indicates the time when the array status monitoring unit 104 last received the response confirmation information for the corresponding storage device, and this time is updated each time the array status monitoring unit 104 receives the response confirmation information.
  • the no-response flag indicates whether the array state monitoring unit 104 has received no-response information, and the value “0” indicates that no-response information has been received, that is, response confirmation information has been received. A value “1” indicates that no-response information has been received.
  • the storage state management table T200 is a table for managing the state of the storage device (whether there is damage or the like), and for storing a plurality of sets of storage numbers, storage types, storage information, and damage flags as shown in FIG. It has the area of.
  • the storage type is information indicating a type constituting the storage, for example, a logical drive, a physical drive, or an online storage.
  • online storage is a kind of highly reliable storage.
  • High-reliability storage refers to data that is protected by itself, such as online storage or a virtualized redundant array, and the probability of storage failure is very low.
  • the storage type is online storage, it is highly reliable storage.
  • the redundant array is virtualized as a single storage, that effect is described in the storage type.
  • the array management device 100 determines that the storage device is a highly reliable storage when the storage type describes that the online storage or the redundant array is virtualized as a single storage. be able to.
  • Storage information includes, for example, information indicating the total capacity and used capacity of the corresponding storage device.
  • the corruption flag indicates whether the array state monitoring unit 104 has received storage failure information. A value “0” indicates that storage failure information has not been received, and a value “1” has received storage failure information. Indicates that
  • the network failure management table T300 is a table for managing the failure occurrence time and the recovery time for a storage device in which a network failure has occurred. As shown in FIG. 5, the storage number, network failure occurrence time, and confirmation time (Tb), an area for storing a plurality of sets of recovery confirmation time and confirmation time (Td). A set including a storage number, network failure occurrence time, confirmation time (Tb), recovery confirmation time, and confirmation time (Td) is referred to as failure information.
  • the network failure occurrence time indicates the time when the array state monitoring unit 104 determines that a network failure has occurred.
  • Tb Confirmation time indicates the waiting time (the time that recovery can be expected) from the occurrence of a network failure to re-redundancy.
  • the restoration confirmation time indicates a time when there is a response to the response request of the network state monitoring unit 101 within the confirmation time (Tb).
  • Td Confirmation time
  • the free area information table T400 is a table for managing the free capacity of each of the storage apparatuses 11 to 15, and as shown in FIG. 6, is an area for storing a plurality of combinations of storage number, offset, size, and temporary use have. As described above, the free capacity is a capacity in which data is not yet written in an area not used for the array configuration.
  • the offset is a value indicating the start position of the free area.
  • the size is a value indicating the capacity of the free area.
  • Temporary use indicates whether another storage device temporarily holds data to be written to the other storage device during a network failure. When the value in use is “0”, it indicates that it is temporarily not used, and when the value is “1”, it indicates that it is temporarily used.
  • the data temporary storage area information table T500 is a table for temporarily managing the storage destination of data to be written to the storage apparatus in which a network failure has occurred. As shown in FIG. 7, the data temporary storage area information table T500 has an area for storing a plurality of sets of non-response storage numbers, write offsets, write sizes, temporary storage numbers, and temporary storage offsets. .
  • a set consisting of a non-response storage number, a write offset, a write size, a temporary storage number, and a temporary storage offset is referred to as temporary storage area information.
  • the no-response storage number is the storage number of the storage device that is determined to be a network failure.
  • the write offset indicates the position where data is originally written for the storage device indicated by the non-response storage number.
  • the write size indicates the size of data written to the storage device indicated by the non-response storage number.
  • the temporary storage number indicates the storage number of the storage device that temporarily stores the data indicated by the corresponding write offset and write size.
  • Temporal save offset indicates a write position where data indicated by the corresponding write offset and write size is temporarily saved.
  • the redundancy policy determination unit 105 sets a reference time (Ta) for determining that there is a network failure for the storage device that has not responded.
  • the time Ta is also a waiting time until the start of temporary storage for preventing cache overflow.
  • the redundancy policy determining unit 105 performs re-redundancy according to the network connection mode (network type) of the one storage device. The time (Tb) until judgment is derived.
  • the redundancy policy determining unit 105 derives a time longer than the time Tb set as the initial value as a new Tb.
  • the redundancy policy determination unit 105 derives a new time Tb that is shorter than the time Tb set as the initial value.
  • the redundancy policy determination unit 105 determines a new time Tb that is longer than the initial value Tb as a time until re-redundancy is determined. Set.
  • the redundancy policy determination unit 105 determines that a new time Tb shorter than the initial value Tb is to be re-redundant. Set as the time until.
  • the redundancy policy determining unit 105 derives a time (Td) for the network state to be stabilized from the recovery according to the network connection form.
  • the array state monitoring unit 104 monitors the array state, that is, the state of each of the storage devices 11 to 15 based on the monitoring results of the network state monitoring unit 101 and the storage state monitoring unit 102, and the failure state of the array configuration.
  • the array state monitoring unit 104 For each storage device whose network status is to be monitored, the array state monitoring unit 104 sends information necessary for issuing a response request to the storage device (network information shown in FIG. 3) and a request instruction. Notify the state monitoring unit 101. Thereafter, the array state monitoring unit 104 updates the network state management table T100 according to the monitoring result of the non-response information from the network state monitoring unit 101.
  • the array state monitoring unit 104 measures the time from when no response is detected for a storage device that has become non-responsive (hereinafter referred to as “target device”) until response confirmation information about the target device is received.
  • target device a storage device that has become non-responsive
  • the array state monitoring unit 104 notifies the processing unit 106 of network failure occurrence information indicating that a network failure has occurred, assuming that a network failure has occurred.
  • the time from the time of determination until the response confirmation information about the target device is received is counted. Further, the array state monitoring unit 104 updates the network failure management table T300 for the storage device in which the network failure has occurred.
  • the processing unit 106 performs redundancy again.
  • the array state monitoring unit 104 When the array state monitoring unit 104 receives the response confirmation information about the target device within the time Tb, the array state monitoring unit 104 next measures time until the time Td. In addition, the array state monitoring unit 104 updates the network failure management table T300 using the time and time Td at which the response confirmation information is received. When the array state monitoring unit 104 receives no-response information about the target device within the time Td, the array state monitoring unit 104 again performs time counting up to the time Tb. If no response information about the target device is not received within the time Td, the array state monitoring unit 104 notifies the processing unit 106 of recovery information indicating that the failure has been recovered, and the network failure management table T300 and The network state management table T100 is updated.
  • the array state monitoring unit 104 notifies the storage state monitoring unit 102 of information necessary for accessing each storage device whose storage state is to be monitored.
  • the array state monitoring unit 104 causes the storage state monitoring unit 102 to check the storage state when the processing unit 106 fails to read / write data, and when a storage corruption has occurred, the array state monitoring unit 104 Update the damage flag.
  • the array state monitoring unit 104 updates the final response confirmation time in the network state management table T100 for each storage device that has been read and written.
  • Processing unit 106 reads / writes data from / to each storage device, executes re-redundancy, and performs recovery processing in the case of recovery from a network failure. As shown in FIG. An execution unit 111 and a recovery process execution unit 112 are included.
  • (6-1) Redundancy execution unit 110 When the redundancy execution unit 110 receives a re-redundancy instruction from the array state monitoring unit 104, the redundancy execution unit 110 performs re-redundancy.
  • the redundancy execution unit 110 performs the remaining storage devices except the storage device in which the failure is identified from the network state management table T100 and the storage state management table T200 and the spare storage device (here, Redundancy is performed using the storage device 12). Redundancy is stored in the remaining storage devices of the storage devices that make up the array, excluding the storage that has been determined to be faulty, and all data except temporarily saved data is used to determine that there is a fault. The data to be stored in the storage is recovered, and all the recovered data is written to the spare storage device.
  • (6-2) Data processing execution unit 111 The data processing execution unit 111 reads / writes data from / to each storage device.
  • the data processing execution unit 111 has different functional operations depending on whether a network failure has occurred or not, a description will be given below for each case. Note that whether or not a network failure has occurred can be identified by determining whether or not failure information exists in the network failure management table T300.
  • the data processing execution unit 111 transmits a read command or a write command to each storage device when reading / writing from / to each storage device based on an external instruction received from the request reception unit 107.
  • the data processing execution unit 111 performs array status monitoring on the response confirmation and the storage number of the target storage device in the same manner as the network status monitoring unit 101. In addition to notifying the unit 104, data reading or data writing is executed. If reading or writing fails, the array status monitoring unit 104 is notified of the storage number of the failed storage device and failure information indicating failure. Furthermore, failure information is also notified to the outside via the request receiving unit 107. When reading or writing is successful, the data processing execution unit 111 notifies the outside via the request receiving unit 107.
  • the data processing execution unit 111 If the response is not received from the target storage device within the predetermined time T0, the data processing execution unit 111 notifies the array state monitoring unit 104 of the storage number of the storage device that is not responding and the non-response information.
  • the data processing execution unit 111 writes the data to be written to the storage device in which the network failure has occurred to a storage device having a capacity that can be temporarily saved among the remaining storage devices other than the storage device.
  • the data processing execution unit 111 updates the free space information table T400 and the temporary data storage region information table T500 with respect to the free space of the storage device that temporarily stores the data.
  • the data processing execution unit 111 When the data to be read from the storage device in which the network failure has occurred is temporarily stored in another storage device, the data processing execution unit 111 reads the data from the other storage device. If the data to be read can be recovered using redundant data even if the data is not temporarily stored, the data to be read from the storage device in which the network failure has occurred is recovered using the redundant data. . If recovery is not possible, the data processing execution unit 111 notifies the request reception unit 107 of a read error.
  • the recovery processing execution unit 112 writes back the temporarily written data to the storage device that should be originally written (the restored storage device) using the temporary storage area information corresponding to the restored storage device. .
  • the restoration processing execution unit 112 deletes the temporary storage area information related to the written back data from the data temporary storage area information table T500.
  • the recovery process execution unit 112 updates the free capacity in the free area information table T400. Specifically, the free capacity of the storage device that was the temporary storage destination and the free capacity of the storage device from which data has been restored are updated.
  • Request receiving unit 107 receives a data read / write request from the outside, and outputs the received request to the processing unit 106. At this time, when accepting a read request, the request accepting unit 107 further accepts a read position and outputs the accepted read position to the processing unit 106. When accepting a write request, the request accepting unit 107 accepts data to be further written and outputs the accepted data to the processing unit 106.
  • the request reception unit 107 receives an error notification from the processing unit 106, the request reception unit 107 outputs the received error notification to the outside.
  • Communication unit 108 The communication unit 108 performs data input / output with the storage devices 11 to 15 to be managed.
  • the storage device 11 includes a storage unit 201, a processing unit 202, a storage state acquisition unit 203, and a communication unit 204, as shown in FIG.
  • the storage unit 201 is a large-capacity recording device that stores data written by the array management apparatus 100, and is, for example, a hard disk drive (HDD) or a solid state drive (SSD).
  • HDD hard disk drive
  • SSD solid state drive
  • Processing unit 202 writes the data received from the array management device 100 to the storage unit 201 or reads the data from the storage unit 201 and transmits it to the array management device 100 via the communication unit 204 according to an instruction from the array management device 100.
  • the processing unit 202 When the processing unit 202 receives a response request from the array management apparatus 100 via the communication unit 204, the processing unit 202 transmits a response to the command to the array management apparatus 100 via the communication unit 204.
  • the processing unit 202 transmits the information to the array management apparatus 100 via the communication unit 204.
  • Storage status acquisition unit 203 The storage status acquisition unit 203 checks whether the storage unit 201 is damaged. If it is damaged, the storage status acquisition unit 203 notifies the processing unit 202 of the damage information when the array management apparatus 100 checks the storage status.
  • the array state monitoring unit 104 selects one storage device to be monitored (step S5).
  • the array state monitoring unit 104 uses the network state management table T100 to determine whether or not the selected storage device is in a non-response state based on whether or not the value of the corresponding non-response flag is 1. (Step S10).
  • step S10 If it is determined that it is 1, that is, it is determined that there is no response (“Yes” in step S10), a storage device return confirmation process is performed (step S30).
  • the array state monitoring unit 104 uses the network state management table T100 to select the selected storage device Is acquired (step S15), and it is determined whether or not a predetermined time (T1, for example, 2 seconds) has elapsed from the acquired final response confirmation time (step S20).
  • a predetermined time T1, for example, 2 seconds
  • step S20 If it is determined that the time has passed (“Yes” in step S20), the storage device survival confirmation process is performed (step S25).
  • the array state monitoring unit 104 When it is determined that the predetermined time T1 has not elapsed from the acquired final response confirmation time (“No” in step S20), the array state monitoring unit 104 performs management after executing step S20 and step S30. It is determined whether or not processing has been performed for all the target storage apparatuses, that is, there is an unselected storage apparatus (step S35).
  • step S35 When determining that all the storage apparatuses have not been processed (“No” in step S35), the array state monitoring unit 104 selects the next storage apparatus (step S40), and the process returns to step S10. .
  • step S35 If it is determined that processing has been performed on all storage devices (“Yes” in step S35), the processing ends.
  • step S25 shown in FIG. 9 will be described with reference to the flowchart shown in FIG.
  • the network state monitoring unit 101 transmits a response request to the storage device that is the object of the survival confirmation (step S100).
  • the network state monitoring unit 101 determines whether a response has been received from the target storage device within the predetermined time T0 (step S105).
  • the network state monitoring unit 101 When determining that the response has been received (“Yes” in step S105), the network state monitoring unit 101 notifies the response confirmation information to the array state monitoring unit 104, and the array state monitoring unit 104 in the network state management table T100.
  • the final response confirmation time corresponding to the target storage device is updated to the current time (step S110).
  • the network state monitoring unit 101 If it is determined that a response has not been received (“No” in step S105), the network state monitoring unit 101 notifies the non-response information to the array state monitoring unit 104, and the array state monitoring unit 104 When no response information is received from 101, the value of the no response flag corresponding to the target storage apparatus in the network status management table T100 is set to 1 (step S115).
  • step S30 shown in FIG. 9 will be described with reference to the flowchart shown in FIG.
  • the network state monitoring unit 101 transmits a response request to the storage device to be confirmed (step S150).
  • the network state monitoring unit 101 determines whether a response has been received from the target storage device within the predetermined time T0 (step S155).
  • the network state monitoring unit 101 When determining that the response has been received (“Yes” in step S155), the network state monitoring unit 101 notifies the response confirmation information to the array state monitoring unit 104, and the array state monitoring unit 104 is in the network state management table T100.
  • the final response confirmation time corresponding to the target storage device is updated to the current time (step S160).
  • the array state monitoring unit 104 sets the value of the no response flag corresponding to the target storage device in the network state management table T100 to 0 (step S165).
  • the redundancy policy determination unit 105 determines whether or not the network type of the storage device that is not responding can be temporarily disconnected using the network type of the network state management table T100 (step S200). ). For example, what cannot be temporarily disconnected is SCSI connection or USB connection.
  • the redundancy policy determination unit 105 determines a time Ta until the start of temporary storage for preventing cache overflow ( Step S205).
  • the time Ta is, for example, 5 seconds.
  • the redundancy policy determination unit 105 determines a time Tb (initial value) until it is determined that re-redundancy is performed (step S210).
  • the time Tb is, for example, 10 seconds.
  • Whether or not the network to which the target storage device is connected is wired is determined using the network type of the network state management table T100 (step S215).
  • the redundancy policy determination unit 105 resets 5 ⁇ Tb as Tb (step S220).
  • the redundancy policy determining unit 105 After executing step S220 and when determining that the network to which the target storage device is connected is wired (“Yes” in step S215), the redundancy policy determining unit 105 uses the corresponding network type, It is determined whether or not the network to which the target storage device is connected is via the Internet (step S225).
  • the redundancy policy determination unit 105 resets 2 ⁇ Tb as Tb (step S230).
  • the redundancy policy determination unit 105 After execution of step S230 and when it is determined that the network to which the target storage device is connected is via the Internet (“Yes” in step S225), the redundancy policy determination unit 105 is a highly reliable storage. It is determined using the network type in the network status management table T100 (step S225).
  • the redundancy policy determining unit 105 resets 10 ⁇ Tb as Tb (step S240).
  • the array state monitoring unit 104 issues an instruction to immediately perform redundancy again. (Step S245).
  • Redundancy Policy Determination Processing at Recovery the redundancy policy determination processing at recovery performed by the redundancy policy determination unit 105 will be described with reference to the flowchart shown in FIG.
  • the redundancy policy determination unit 105 determines a time Td (initial value) for the network state to be stabilized after recovery (step S300).
  • Whether or not the network to which the target storage device is connected is wired is determined using the network type of the network state management table T100 (step S305).
  • the redundancy policy determination unit 105 resets 2 ⁇ Td as Td (step S310).
  • the redundancy policy determining unit 105 After executing step S310 and when determining that the network to which the target storage device is connected is wired (“Yes” in step S305), the redundancy policy determining unit 105 uses the corresponding network type, It is determined using the network type of the network state management table T100 whether or not the network to which the target storage device is connected is via the Internet (step S315).
  • the redundancy policy determination unit 105 resets 2 ⁇ Td as Td (step S320).
  • the data processing execution unit 111 transmits a read command or a write command to each storage device when reading / writing from / to each storage device based on an external instruction received from the request reception unit 107 (step S400). ).
  • step S405 It is determined whether or not a response has been received from the target storage device within the predetermined time T0 (step S405).
  • the array state monitoring unit 104 updates the final response confirmation time corresponding to the target storage device to the current time in the network state management table T100. (Step S410).
  • the data processing execution unit 111 executes reading or writing, and determines whether or not it has succeeded (step S415). If it is determined that the access has succeeded (“Yes” in step S415), the data processing execution unit 111 notifies the outside of the successful access (step S435).
  • the storage state monitoring unit 102 determines whether the target storage device performed by the storage state monitoring unit 102 has been damaged by checking the storage state. It is determined whether or not (step S420). When determining that the disk is damaged (“Yes” in step S420), the array state monitoring unit 104 sets the damage flag corresponding to the target storage apparatus to 1 in the storage state management table T200 (step S425). .
  • the array status monitoring unit 104 sets the target storage for the network status management table T100.
  • the value of the no response flag corresponding to the device is set to 1 (step S430).
  • Step S425 and Step S430 After executing Step S425 and Step S430, and when determining that the storage is not damaged for the target storage device (“No” in Step S420), the data processing execution unit 111 notifies the access failure to the outside (Step S425). S440).
  • the data processing execution unit 111 determines the data to be written and the write position for each storage device (step S500). For example, the write position for each storage device is determined by an algorithm according to the RAID system.
  • the data processing execution unit 111 writes the determined data to the determined write position for the storage apparatus in which no network failure has occurred, that is, the storage apparatus that has a response (step S505).
  • the data processing execution unit 111 acquires the free capacity of all storage devices that are not in the network failure among the storage devices managed in the free space information table T400 (step S510).
  • the data processing execution unit 111 determines whether or not there is a free area in which data to be written to the storage device in which a network failure has occurred can be temporarily stored, that is, whether or not there is a storage device that can be temporarily stored. Judgment is made (step S515).
  • step S5 the data processing execution unit 111 selects one storage device that can be temporarily stored, and temporarily stores it from the free capacity of the selected storage device. An area is determined (step S520), and data to be written to the storage apparatus in which the network failure has occurred is written in the determined area (step S525).
  • the data processing execution unit 111 updates the free area information table T400 with respect to the free capacity of the storage device that temporarily stores the data (step S530).
  • the data processing execution unit 111 stores the storage number of the storage device in which the network failure has occurred, the data writing position determined at the time of data reception, the size of the data to be written, the storage number of the temporary storage destination storage device, and the temporary storage destination
  • the data temporary storage area information table T500 is updated using each of the writing positions in (Step S535). Specifically, the data processing execution unit 111 stores the storage number of the storage device in which the network failure has occurred, the data writing position determined at the time of data reception, the size of the data to be written, and the storage number of the temporary storage destination storage device And the write position at the temporary storage destination are written to the non-response storage number, write offset, write size, temporary storage number and temporary storage offset of the data temporary storage area information table T500.
  • the data processing execution unit 111 determines the read position for each storage device (step S600). For example, the reading position for each storage device is determined by an algorithm according to the RAID system.
  • the data processing execution unit 111 determines whether or not a network failure has occurred using the network failure management table T300 (step S605).
  • step S605 If it is determined that a network failure has occurred (“Yes” in step S605), the data processing execution unit 111 reads the temporary storage area information table T500 from the storage device in which the network failure has occurred. It is determined whether there is temporary storage area information corresponding to (step S610).
  • the data processing execution unit 111 determines whether or not the data to be read can be recovered using redundant data (step S615). For example, it is determined by determining whether or not there is a normal number of storage devices necessary for data recovery in accordance with an algorithm according to the RAID system.
  • step S615 If it is determined that recovery is not possible (“No” in step S615), the data processing execution unit 111 notifies the request reception unit 107 of a read error (step S620).
  • step S605 If it is determined that no network failure has occurred (“No” in step S605), the data processing execution unit 111 reads data from the determined reading position for each storage device (step S625).
  • step S610 If it is determined that there is temporary storage area information corresponding to the read position to the storage device in which the network failure has occurred (“Yes” in step S610), the data processing execution unit 111 stores the storage in which the network failure has occurred. Data to be read from the apparatus is read from the temporary storage destination indicated by the temporary storage area information (step S630). For storage devices in which no network failure has occurred, data is read from the determined reading position.
  • the data processing execution unit 111 acquires the redundant data from another storage device (step S635). Using the acquired redundant data, data to be read from the storage apparatus in which the network failure has occurred is recovered (step S640). For storage devices in which no network failure has occurred, data is read from the determined reading position.
  • step S645 the data processing execution unit 111 determines whether reading of all data has been completed. For example, the determination is made based on whether data remains in the cache.
  • step S645 If it is determined that it has not been completed (“No” in step S645), the process returns to step S605.
  • the recovery processing execution unit 112 determines whether or not the temporary storage area information exists in the data temporary storage area information table T500 (step S700).
  • the recovery process execution unit 112 selects one temporary storage area information (step S705).
  • the recovery process execution unit 112 writes the data temporarily written using the selected temporary storage area information back to the storage apparatus that should be originally written (step S710). Specifically, the recovery processing execution unit 112 starts the temporary storage destination storage device and the temporary storage destination from the temporary storage number, the temporary storage offset, and the write size included in the selected temporary storage area information. A position and an end position are specified.
  • the recovery processing execution unit 112 ends from the temporary storage destination start position in the storage device of the temporary storage destination specified earlier for the storage device indicated by the non-response storage number included in the selected temporary storage area information
  • the data indicated up to the position is written from the position indicated by the write offset.
  • the restoration processing execution unit 112 deletes the selected temporary storage area information from the data temporary storage area information table T500 (step S715). In addition, the recovery process execution unit 112 updates the free capacity in the free area information table T400 (step S720), and the process returns to step S700.
  • the array state monitoring unit 104 sets the value of the no response flag corresponding to the storage device that is not responding in the network status management table T100 to 1 (step S800).
  • the redundancy policy determination unit 105 determines the time Ta and Tb according to the network type corresponding to the storage device that is not responding by the redundancy policy determination process at the time of no response shown in FIG. 12 (step S805).
  • the array state monitoring unit 104 determines whether or not it should be immediately re-redundant based on the result of the redundancy policy determination process at the time of no response (step S810).
  • the array state monitoring unit 104 determines whether the time Ta determined by the redundancy policy determination unit 105 has elapsed (step S815). .
  • the array state monitoring unit 104 determines whether or not the unresponsive storage device has returned, that is, from the network state monitoring unit 101 to the target storage device. It is determined whether or not response confirmation information has been received (step S820).
  • step S820 If it is determined that it has not returned (“No” in step S820), the process returns to step S815 and continues to count the time Ta.
  • the array state monitoring unit 104 When it is determined that the time Ta has elapsed (“Yes” in step S815), the array state monitoring unit 104 temporarily stores data writing (step S825). In addition, the array state monitoring unit 104 uses the storage number of the storage device determined to be a network failure, the time determined to be a network failure, and the time Tb calculated by the redundancy policy determination unit 105 as the storage in the network failure management table T300. Write to the number, network failure occurrence time and confirmation time (Tb).
  • the array state monitoring unit 104 determines whether or not the time Tb determined by the redundancy policy determining unit 105 has elapsed (step S830).
  • the array state monitoring unit 104 When determining that it has not elapsed (“No” in step S830), the array state monitoring unit 104 has received a response from the non-responding storage apparatus, that is, the target storage from the network state monitoring unit 101. It is determined whether or not response confirmation information for the device has been received (step S835).
  • step S835 If it is determined that it has not been received (“No” in step S835), the process returns to step S830 and continues to measure time Tb.
  • the redundancy policy determination unit 105 determines the time Td according to the network type corresponding to the restored storage device, and the array state monitoring unit 104 determines the redundancy. It is determined whether or not the time Td determined by the policy determination unit 105 has elapsed (step S840).
  • step S840 If it is determined that it has not elapsed (“No” in step S840), the array state monitoring unit 104 determines whether or not there is no response again (step S845).
  • step S845 If it is determined that there is no response again (“Yes” in step S845), the process returns to step S830, and the array state monitoring unit 104 restarts the time Td measurement again, and whether the time Tb has elapsed. Judge whether or not.
  • step S845 If it is determined that there is no response (“No” in step S845), the process returns to step S840 and continues to measure time Td.
  • the array state monitoring unit 104 When it is determined that the time Tb has elapsed (“Yes” in step S830), the array state monitoring unit 104 returns from the temporary storage state to the normal state (step S850). Specifically, the array state monitoring unit 104 notifies the processing unit 106 of recovery information indicating that the failure has been recovered, deletes the corresponding failure information in the network failure management table T300, and further detects the network state. Update of the management table T100, that is, the value of the corresponding no-response flag in the network state management table T100 is set to 0. In addition, the recovery process execution unit 112 performs the recovery process shown in FIG. 17, and writes back data, deletes temporary storage area data, and updates the free area information table T400.
  • step S850 After execution of step S850 and when it is determined that the non-responsive storage apparatus has been restored (“Yes” in step S820), the array state monitoring unit 104 sets the value of the corresponding non-response flag to 0 ( Step S855).
  • the redundancy execution unit 110 executes re-redundancy. (Step S860).
  • FIG. 19 is a diagram showing state transitions until redundancy is executed.
  • the array management system 1 is operating in a normal state (ST1).
  • the array management apparatus 100 In the normal state, when the array management apparatus 100 detects one storage apparatus that is not responding (here, the storage apparatus 11), it waits for the time Ta to elapse as a recovery time. If there is a response from the storage apparatus 11 before the time Ta elapses, the normal state is maintained. If there is no response from the storage apparatus 11 until the time Ta elapses, that is, if the migration condition A is satisfied, it is considered that a network failure has occurred in the storage apparatus 11, and the transition process to the temporary storage state is performed to prevent cache overflow. Perform (ST2).
  • the transition to the temporary storage state means calculating the time Tb and writing the storage number, the network failure occurrence time, and the confirmation time (Tb) for the storage apparatus in which the network failure has occurred in the network failure management table T300. is there.
  • the temporary storage state is set (ST3). In this state, if there is a data write command, the array management apparatus 100 has a free area to write the target data instead of writing the target data to the storage apparatus 11 in which the network failure has occurred. To other storage devices.
  • the storage apparatus 11 is regarded as having recovered from a network failure, and a transition process to a normal state is performed (ST4).
  • the transition process to the normal state is a process of writing back the temporarily stored data to the storage apparatus to which the original data should be written (the storage apparatus 11 in which the network failure has occurred), the free space information table T400, and the data temporary This is an update process of the storage area information table T500.
  • the degraded state which is a state in which redundancy is reduced
  • the data loss state in which the array is damaged and data loss occurs
  • FIG. 20A shows an image diagram of data writing in a normal state.
  • the array management apparatus 100 accepts a write request in the normal state, data to be written to each storage apparatus (in this case, the storage apparatuses 11, 14, and 15) constituting redundancy is determined according to an algorithm such as RAID5. Then, data is written to each storage device. For example, when there is a write request for certain data X1, the array management apparatus 100 generates data A1, B1, and C1 as data to be written. When there is a write request for certain data X2, the array management apparatus 100 generates data A2, B2, and C2 as data to be written.
  • data B1 can be recovered from data A1 and C1, and data A1 can be recovered from data B1 and C1.
  • data A2, B2, and C2 generated from data X2 it is assumed that data B2 can be recovered from data A2 and C2, and data A2 can be recovered from data B2 and C2.
  • FIG. 20B shows an image diagram of data writing at the time of network failure, that is, in the temporary storage state.
  • the array management apparatus 100 determines the data to be written to each of the storage apparatuses 11, 14, and 15 as in the normal state, but the data (data A1) to be written to the storage apparatus 15 that is not responding. , A2) are temporarily held in a free area of another storage apparatus (here, the storage apparatus 11) that constitutes redundancy, or in a free area of the spare storage (here, the storage apparatus 12).
  • the storage device 15 recovers from the network failure, the temporarily saved data is reflected in the storage to be originally written, and the temporarily saved data is deleted.
  • FIG. 21 shows an image diagram of re-redundancy.
  • the array management apparatus 100 separates the storage apparatus 15 from the redundant configuration, and reconfigures the redundant configuration using another storage (here, the storage apparatus 12 that is a spare storage apparatus). Then, the data held in the storage device 15 is restored from the storage devices 11 and 14, and the restored data is written to the storage device 12, thereby restoring the array configuration.
  • the values used when setting times longer than the initial values as the times Tb and Td are examples, and a multiple that increases the time Td may be a value larger than 1.
  • the wireless communication in the above embodiment means that a wireless section exists in a part of the shortest path on the network between the array management apparatus and the storage apparatus, or that all the shortest paths are wireless sections. Say. Also, wired means that there is no wireless section on the shortest path.
  • the determination of the redundancy policy is performed when the storage apparatus becomes unresponsive and when a failure such as storage damage occurs, but is not limited thereto.
  • the array management device may store a redundancy policy according to the network type or storage type in advance.
  • the array management apparatus stores a policy determination table T600 as shown in FIG. 22 in the management information storage unit.
  • the policy determination table T600 has an area for storing a plurality of sets including triggers, network types, storage types, and redundancy policies.
  • Trigger indicates the status detected by the network status monitoring unit and storage status monitoring unit.
  • the network type indicates the connection form with the storage device.
  • the storage type is information indicating the type constituting the storage.
  • the redundancy policy indicates a condition for determining a redundancy policy (in this case, determination of times Ta, Tb, and Td and determination of immediate redundancy).
  • Redundancy policy is determined by the combination of trigger, network type and storage type.
  • the transition condition A for example, time Ta
  • the transition condition from the temporary storage state to the re-redundancy state B for example, time Tb
  • the transition condition C from the normal state to the re-redundant state
  • a storage device when a storage device is connected via a local area IP network, a physical drive that is connected wirelessly or by wire is not responding without returning a storage corruption response think of.
  • Possible causes of such a state include network troubles and damage to the entire storage including the transfer control unit, but there is no way for the array management device to reliably determine the cause. Therefore, first, it is estimated that a network problem has occurred, and temporary storage is executed. If the storage device does not recover even after a certain period of time has elapsed from the temporary storage state, it is determined that storage damage has occurred and re-redundancy is performed.
  • the stability of the network differs between wired and wireless. Generally, the wireless network is more unstable and takes longer to recover, so the time set for wireless connection is set for wired connection. It will be longer than the required time.
  • the redundancy policy determination table can be created and held in advance according to the network state and storage state.
  • the network state and storage state for example, the power state, user operation history information, and the like may be used for determining the times Ta, Tb, and Td.
  • the power supply state is used, so that disconnection of the network due to battery exhaustion can be considered.
  • the user operation history information it is possible to consider network disconnection due to an intentional power-off operation by the user. Accordingly, it is possible to more appropriately determine the standby time until re-redundancy, and there is an effect that unnecessary re-redundancy can be prevented.
  • the redundancy policy determination unit in this case specifies the network type of the storage device that is the target of the redundancy policy determination from the network state management table T100, and specifies the storage type from the storage state management table T200. Then, the redundancy policy is determined from the detected state, the identified network type and storage type, and the policy determination table T600.
  • the storage apparatus may periodically send a response regardless of whether a response request is received.
  • the storage apparatus may transmit a response when it automatically detects network reconnection or the like.
  • the storage state acquisition unit 203 acquires the presence or absence of storage damage, but is not limited to this.
  • Storage information indicates information that can be acquired from the storage status acquisition unit in each storage device, and the information may be different for each storage device. For example, in a storage device with a built-in battery, the current power state and remaining battery capacity may be stored as storage information. If the storage device accepts user operations, user operation information and user operation time may be stored as storage information. It may be stored. Information about whether the storage device is a mobile device may be stored. Further, the storage apparatus may not have storage information.
  • the storage apparatus notifies the presence or absence of a storage failure through a periodic check by the storage state monitoring unit, but is not limited thereto.
  • the storage device may send a notification that a failure has occurred when storage information changes, such as a storage failure.
  • some or all of the storage devices 11 to 15 may be stored inside the housing of the digital recorder 10.
  • a CPU Central Processing Unit
  • a program describing the procedure of the method may be stored in a recording medium and distributed.
  • FIG. 23 is a configuration diagram showing an example of the array management apparatus 100A having a configuration in which the above-described method is realized by executing a program.
  • the array management apparatus 100A includes a ROM 1000 that records various processing programs, a CPU 1010 that performs overall processing, a RAM 1020 that temporarily records data, and a lower-level transfer control unit 1030 that controls data transfer and management with the storage.
  • a higher-order transfer control unit 1040 that controls data transfer and management with other devices such as a digital camera, and a management information storage unit 103 that is a recording device.
  • a program in the ROM 1000 for example, a network status monitoring unit 101A, a storage status monitoring unit 102A, an array status monitoring unit 104A, a redundancy policy determination unit 105A, a redundancy execution unit 110A, a data processing execution unit 111A, and a recovery processing execution unit 112A is stored, and each program is executed by the CPU 1010, whereby each component is processed.
  • the lower transfer control unit 1030 and the upper transfer control unit 1040 correspond to the communication unit 108 in the above embodiment.
  • the ROM 1000 may be another recording device such as a hard disk drive (HDD). Further, the lower transfer control unit 1030 and the upper transfer control unit 1040 may share the same interface.
  • HDD hard disk drive
  • FIG. 24 is a configuration diagram illustrating an example of the storage apparatus 11A having a configuration in which the above-described method is realized by executing a program.
  • the storage device 11A includes a ROM 2000, a CPU 2010, a RAM 2020, a transfer control unit 2030 for controlling data transfer and management with the array management unit, and one or more large-capacity recording devices 2040 to 2050.
  • the large capacity recording devices 2040 to 2050 may be, for example, hard disk drives, solid state drives, or the like.
  • the storage status acquisition unit 203 shown in the above embodiment is stored as a program, for example, the storage status acquisition unit 203A in the ROM 2000, and the CPU 2010 executes the program so that the processing of the component is performed. Done.
  • the transfer control unit 2030 corresponds to the communication unit 204 in the above embodiment, and the large capacity recording devices 2040 to 2050 correspond to the storage unit 201 in the above embodiment.
  • the ROM 2000 may be another recording device such as a hard disk drive.
  • the storage device may have another system configuration.
  • the storage device may be a large-capacity recording device, connected directly to the array management unit via a storage interface such as SCSI, and controlled by the CPU of the array management device.
  • the array management apparatus shown in the above embodiment is typically realized as an LSI which is a semiconductor integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
  • the name used here is LSI, but it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • a drawing device corresponding to various uses can be configured.
  • the present invention can be used in cellular phones, televisions, digital video recorders, digital video cameras, car navigation systems, and the like.
  • a display a cathode ray tube (CRT), a liquid crystal, a PDP (plasma display panel), a flat display such as an organic EL, a projection display typified by a projector, or the like can be combined.
  • An array management apparatus 3000 that makes a plurality of storages 3100, 3101,..., 3102 redundant and controls access to each storage 3100, 3101,.
  • a storage unit 3001 that stores a configuration type of a communication path to each of the plurality of storages
  • a determination unit 3002 that confirms whether access to each of the plurality of storages has succeeded or failed
  • the storage unit Based on the configuration type of the communication path stored in 3001, the deriving unit 3003 for deriving a waiting time from when the access to the storage fails until redundancy is performed, and the determination unit 3002 If a failure to access any of the storages is confirmed, the communication If the success of access to the storage is not confirmed by the determination unit 3002 until the time derived by the deriving unit 3003 elapses according to the configuration type, the plurality of the storage units excluded from the storage
  • a redundancy processing unit 3004 that makes the storage redundant may be configured.
  • the storage unit 3001 is the management information storage unit 103 shown in the above embodiment
  • the determination unit 3002 is a combination of the network state monitoring unit 101 and the storage state monitoring unit 102 shown in the above embodiment
  • the derivation unit 3003 is the above.
  • the redundancy processing unit 3004 can be realized by a combination of the array state monitoring unit 104 and the redundancy execution unit 110 shown in the above embodiment.
  • the storages 3100, 3101,..., 3102 correspond to any of the storage devices 11 to 15 shown in the above embodiment.
  • an array management apparatus 3000A that makes a plurality of storages 3100, 3101,..., 3102 redundant and controls access to the storages 3100, 3101,.
  • the temporary writing unit 3006 may be configured to write data to be written to the storage that has failed to be accessed.
  • the request receiving unit 3005 can be realized by the request receiving unit 107 shown in the above embodiment
  • the temporary writing unit 3006 can be realized by the data processing execution unit 111 shown in the above embodiment, particularly by a functional operation at the time of network failure.
  • leading-out part 3003, and the redundancy process part 3004 are demonstrated above, description here is abbreviate
  • the management integrated circuit in the management device that includes a storage unit that stores the configuration type of the communication path to each of the plurality of storages, makes the plurality of storages redundant, and controls access to each storage is shown by a broken line in FIG. It is good also as being comprised by each component (The determination part 3002, the derivation
  • the array management method in the array management apparatus that controls access to each storage is such that the determination unit repeatedly confirms whether access to each of the plurality of storages has succeeded or failed.
  • the derivation unit fails to access any one of the plurality of storages in the first determination step.
  • a waiting time until the redundancy is executed after the access to the storage is failed is derived based on the configuration type of the communication path corresponding to the storage stored in the storage unit.
  • step S1020 Confirmation of failure and whether or not the access to the storage for which access failure has been confirmed by the confirmation step in the first determination step has been confirmed (step S1025).
  • a redundancy execution step step S1030 for performing redundancy using the remaining storage excluding the storage may be included.
  • the confirmation step and the first determination step are the processing operations shown in FIG. 9, 101 and step S835 in FIG. 18 in the above embodiment, and the derivation step is the processing operation shown in FIG. 12 in the above embodiments.
  • the determination step 2 can be realized in step S830 shown in FIG. 18, and the redundancy execution step can be realized in step S860 shown in FIG.
  • An array management apparatus for controlling access to each storage by making a plurality of storages redundant has succeeded or failed in accessing each of the plurality of storages.
  • a determination unit that repeatedly confirms the storage a storage unit that stores a configuration type of a communication path to each of the plurality of storages, and an access to the storage based on the configuration type of the communication path stored in the storage unit
  • the deriving unit that derives the waiting time until the redundancy is performed after the failure
  • the determination unit Confirmation operation by the determination unit again until the waiting time derived by the deriving unit elapses according to the configuration type of the communication path of the storage
  • it comprises a redundancy processing unit that performs redundant using the remaining storage excluding the storage.
  • the array management apparatus derives a standby time until redundancy is made based on the type of storage communication path that has failed to be accessed. Therefore, the array management apparatus can change the waiting time until it is determined that re-redundancy is performed, that is, the determination criterion for determining that re-redundancy is performed based on the type of communication path. As a result, if the access is successful within the standby time, it is not necessary to perform the redundancy again, so that the life of the storage apparatus becomes longer compared to the case where the redundancy is performed immediately after the failure occurs.
  • the derivation unit is configured so that the waiting time is longer when the configuration type of the communication path indicates wireless than when the configuration type of the communication path indicates wired. Derivation may be performed.
  • the array management apparatus when the array management apparatus is communicating wirelessly with the storage that has failed to access, the array management apparatus sets the standby time to be longer than that when performing wired communication.
  • the failure of access is likely to be a temporary failure (for example, when communication is blocked due to an obstacle and communication cannot be established), so by making the standby time longer than in the case of wired, Since automatic recovery from a temporary failure can be expected, there is no need for immediate re-redundancy.
  • the derivation unit compares the standby time when the communication path configuration type indicates the Internet as compared to when the communication path configuration type indicates the LAN (Local Area Network).
  • the derivation may be performed so as to be longer.
  • the array management apparatus when the array management apparatus is communicating with the storage that has failed to access via the Internet, the array management apparatus sets the standby time to be longer than that when communicating with the LAN.
  • the amount of data traffic is larger than that of communication via a LAN, and access may take time. For this reason, an access failure is considered to be a temporary failure (for example, it takes a long time to access due to a large amount of traffic). You can expect automatic recovery from.
  • the redundancy processing unit further immediately indicates that the configuration type of the communication path of the storage whose access failure has been confirmed by the determination unit indicates a connection form that cannot be temporarily disconnected. Redundancy may be performed using the remaining storage excluding the storage.
  • the array management apparatus immediately performs re-redundancy when the connection method cannot be temporarily disconnected from the storage to which access has failed. If access fails with a connection method that cannot be temporarily disconnected, there is a high possibility that a physical failure, such as storage corruption, has occurred rather than a temporary failure. By doing so, you can take quick action.
  • the storage unit further stores information on whether or not each of the plurality of storages is protected by data
  • the deriving unit further stores the information for which the access failure has been confirmed.
  • the waiting time is shorter than the case where the information indicating the data protection is received.
  • the derivation may be performed so that the waiting time is longer than when the information indicates that the storage is not protected. .
  • the array management apparatus sets the waiting time longer when the storage that has failed to be accessed is subjected to data protection than when the storage is not subjected to data protection.
  • storage that is protected by data is less likely to be damaged than storage that is not protected by data. For this reason, it is highly possible that an access failure is a temporary failure. Therefore, it is possible to expect automatic recovery from the temporary failure by making the standby time longer than in the case of a LAN.
  • the array management apparatus further includes a request receiving unit that receives an access request from the outside, and other storages other than the storage that has failed to access the data to be written to the storage that has failed to access.
  • a temporary writing unit that performs writing the request receiving unit receives a write request for data from the outside, selects several storages that perform writing from the plurality of storages, and the redundancy processing unit includes: Further, when the determination unit confirms that the access to any one of the several storages is unsuccessful, the temporary unit waits until the waiting time derived by the deriving unit elapses. Data is written by the writing unit, and after the waiting time has elapsed, the storage that failed to access is excluded. May be redundant with the remaining storage was.
  • the array management device writes the data to be written to the storage that failed to access to the other storages except the storage that failed to access until the standby time elapses. Does not increase the amount. For example, when data to be written is held in a buffer, buffer overflow can be prevented.
  • the determination unit monitors a communication path state monitoring unit that monitors whether or not a failure has occurred on a communication path, and a storage state that monitors whether or not a failure of the storage has occurred for each of the plurality of storages
  • the communication path state monitoring unit transmits a response request to each of the plurality of storages, determines that access has failed when no response to the transmitted response request is received, and the storage
  • the state monitoring unit may determine that the access has failed when it is determined that storage damage has occurred for each of the plurality of storages.
  • the array management apparatus can monitor the presence / absence of a failure on the communication path and the occurrence of a storage failure by the communication path state monitoring unit and the storage state monitoring unit.
  • the storage unit stores, in association with the configuration type for each of the plurality of storages, a non-response flag indicating whether or not the response from the corresponding storage has been received, and further, For each of the plurality of storages, a damage flag indicating whether or not a storage failure has occurred is stored, and when the communication path state monitoring unit does not receive a response, the response is not received in the corresponding storage no-response flag.
  • the storage status monitoring unit sets a value indicating that a corruption has occurred in the corresponding storage corruption flag when the storage corruption occurs, and the redundancy
  • the processing unit includes an array state monitoring unit that monitors the state of the array configuration of the plurality of storages, and a redundancy execution unit that performs redundancy.
  • the array state monitoring unit when the value of the no-response flag indicates that no response has been received, the storage until the standby time derived by the deriving unit for the corresponding storage elapses. If a response is not received from, the redundancy may be performed, and if the value of the damage flag indicates that the damage has occurred, it may be determined that the redundancy is performed immediately.
  • the array management apparatus can easily determine whether or not a failure has occurred by using the non-response flag and the damage flag.
  • the array management device when the storage that has failed to be accessed is restored, the array management device further restores the data written to the other storage by the temporary writing unit to the restored storage.
  • a recovery processing execution unit that performs processing, and when the value of the no-response flag indicates that a response has not been received, the array state monitoring unit passes the waiting time derived by the deriving unit for the corresponding storage If a response is received from the storage until the time until, the recovery processing execution unit may be controlled to perform the recovery processing.
  • the array management apparatus can write to the storage to be originally written after the failure recovery by the recovery processing execution unit, and can easily manage the data without re-redundancy.
  • the array management device can be used as a device for managing a large amount of data.
  • a menu display, a web browser, an editor a battery-powered portable display terminal such as a mobile phone, a portable music player, a digital camera, or a digital video camera, or a high-resolution information display device such as a TV, a digital video recorder, or a car navigation system, It has high utility value as a device that performs display using EPG, map display, or the like.

Abstract

 通信経路の構成種別に応じて再冗長化の実行の判断基準を変更することのできるアレイ管理装置を提供することを目的とする。 複数のストレージを冗長化して、各ストレージへのアクセスを制御するアレイ管理装置は、前記複数のストレージ各々への通信経路の構成種別を記憶し、前記複数のストレージ各々へのアクセスが成功したか失敗したかを繰り返し確認しており、当該確認により一のストレージへのアクセスの失敗が確認された場合に、当該一のストレージの通信経路の構成種別に基づいて当該一のストレージへのアクセスが失敗してから冗長化を実行するまでの待機時間を導出し、導出された前記待機時間が経過するまでの間に、再度の確認動作によって当該一のストレージへのアクセスの成功が確認されないときは、当該一のストレージを除外した残りのストレージを用いて冗長化を行う。

Description

アレイ管理装置、アレイ管理方法及び集積回路
 本発明は、複数のストレージを冗長化して構成されたアレイを管理するアレイ管理装置に関するものである。
 ストレージアレイシステムでは、大容量化、高性能化、あるいは信頼性の向上を図ることを目的に、RAID(Redundant Arrays of Inexpensive Disks)技術が一般的に用いられている。
 RAID構成のうち、例えば、レベル1からレベル6までの各形態では、冗長化構成による、信頼性の向上を図ることが可能であることは良く知られている。レベル1からレベル6以外の特殊な形態や、複数の形態を組み合わせて使用する構成も存在する。
 例えば、RAID5と呼ばれる形態では、アレイ管理装置が管理するストレージのうち、1台までのストレージ障害を許容する。このとき、ストレージアレイシステムは一時的にデグレード(degrade)と呼ばれる縮退状態に移行する。同時に2台以上のストレージに障害が発生している状態にアレイが陥ったとき、アレイは論理的に破損し、格納されたデータの一部または全てを取り出すことが不可能となる。許容可能なストレージ破損台数は、RAID構成により異なる。
 デグレード状態において、障害が発生したストレージを、正常なストレージと交換後、自動的に、または管理者がストレージアレイシステムに対して復帰用コマンドを送信することで、アレイは自身が管理する他のストレージから、データを復旧し、交換を行った正常なストレージへ、復旧データをコピーすることで、ストレージアレイシステムはデグレード状態から通常状態に復帰することが可能となる。
 また、スペアストレージを用いることで、更なる信頼性の向上を図るストレージアレイシステムも存在する。一般的に、スペアストレージは、ストレージアレイシステムがデグレード状態に移行するまでは、待機状態であり、ストレージアレイシステムがデグレード状態に移行した際には、故障したストレージとスペアストレージは論理的に交換される。
 さらに、ストレージ障害を検出した際に、管理する他のストレージにおける冗長化構成を自動的に変更することで、故障ストレージの交換を行うことなく冗長性の回復を試みるストレージアレイシステムも存在する(特許文献1参照)。
 また、ストレージアレイシステムは、例えば、NAS(Network Attached Storage)環境、SAN(Storage Area Network)環境、あるいは、ストレージインターフェイスによりクライアント、もしくはホストコンピュータに直接取り付けられた環境のような、種々のストレージアーキテクチャに従って実施される。
 各ストレージは、ストレージアレイシステムにてデータ転送あるいは管理を行うためのネットワークに接続されている。ここで言う「ネットワーク」と言う用語は、もちろんIP(Internet Protocol)ネットワークを含むが、それに限定するものではない。
 一般的に、接続ケーブルの断線、ネットワークの切断等により、ストレージとの通信が不可能となった場合、ストレージ破損と同様に、ストレージアレイシステムはデグレード状態に移行する(特許文献2参照)。
特表2008-519359号公報 特許第4520802号公報
 特許文献2で開示されている技術のストレージアレイシステムにおいて、ネットワークの切断が発生する度に、ストレージ破損時と同様に通常状態へ戻るため処理が行われる。具体的には、スペアストレージとの交換や、ストレージアレイシステムが管理する他のストレージを利用した再冗長化といった処理である。
 しかしながら、ネットワークの種別(通信経路の構成種別)、例えば、有線であるか、無線であるか、インターネットを介するか、ローカルなエリア内であるか等によってネットワーク通信の切断が異なる原因で発生し得る。例えば、無線によりネットワーク接続されている場合には、無線通信を行う装置と装置との間に障害物があると、通信できなくなり一時的に(障害物が排除されるまで)ネットワーク通信が切断される。さらに、インターネットを介した接続である場合において、ネットワークのトラフィック量が多いときにはデータの送受信に遅延が生じ、ネットワークが切断していると判断される可能性がある。これらの場合、ストレージ自体は破損しているわけではなく、さらには時間が経過すれば自動的にネットワーク通信は回復する場合がある。
 そのため、自動的に回復が見込まれる場合があるにも関わらず、ネットワーク切断が発生したからといって直ちに再冗長化を行うことは、得策とはいえない。なぜなら、再冗長化の処理を行うことは、多量のデータの読み書きを必要とするのでストレージ装置の寿命の短縮に繋がるからである。
 そこで、本発明は、上記問題に鑑みて、通信経路の構成種別に応じて再冗長化の実行の判断基準を変更することのできるアレイ管理装置、アレイ管理方法及び集積回路を提供することを目的とする。
 上記目的を達成するために、本発明は、複数のストレージを冗長化して、各ストレージへのアクセスを制御するアレイ管理装置であって、前記複数のストレージ各々へのアクセスが成功したか失敗したかを繰り返し確認する判定部と、前記複数のストレージ各々への通信経路の構成種別を記憶する記憶部と、前記記憶部に記憶された前記通信経路の構成種別に基づいて、前記ストレージへのアクセスが失敗してから冗長化を実行するまでの待機時間を導出する導出部と、前記判定部によって、前記複数のストレージのうち、いずれかのストレージへのアクセスの失敗が確認された場合に、当該ストレージの前記通信経路の構成種別に応じて前記導出部によって導出された前記待機時間が経過するまでの間に、前記判定部による再度の確認動作によって当該ストレージへのアクセスの成功が確認されないときは、当該ストレージを除外した残りのストレージを用いて冗長化を行う冗長化処理部とを備えることを特徴とする。
 上記に示す構成によると、アレイ管理装置は、アクセスに失敗したストレージの通信経路の種別に基づいて冗長化するまでの待機時間を導出している。そのため、アレイ管理装置は、再冗長化を行うと判断するまでの待機時間、つまり再冗長化を行うと判断する判断基準を、通信経路の種別に基づいて変更することができる。これにより、待機時間内にアクセスが成功すると再冗長化を行う必要がなくなるので、障害発生後直ちに再冗長化する場合と比べて、ストレージ装置の寿命が長くなる。
実施の形態におけるアレイ管理システム1の構成を示す図である。 アレイ管理装置100の構成を示すブロック図である。 ネットワーク状態管理テーブルT100のデータ構造の一例を示す図である。 ストレージ状態管理テーブルT200のデータ構造の一例を示す図である。 ネットワーク障害管理テーブルT300のデータ構造の一例を示す図である。 空き領域情報テーブルT400のデータ構造の一例を示す図である。 データ一時保存領域情報テーブルT500のデータ構造の一例を示す図である。 ストレージ装置11の構成を示すブロック図である。 ネットワーク状態監視処理を示す流れ図である。 ストレージ装置の生存確認処理を示す流れ図である。 ストレージ装置の復帰確認処理を示す流れ図である。 無応答時の冗長化方針決定処理を示す流れ図である。 復帰時の冗長化方針決定処理を示す流れ図である。 通常時のアクセス処理を示す流れ図である。 ネットワーク障害時の書込処理を示す流れ図である。 ネットワーク障害時の読込処理を示す流れ図である。 ネットワーク障害からの復帰処理を示す流れ図である。 無応答時のアレイ管理装置100の動作を示す流れ図である。 通常状態から再冗長化に至るまでの遷移図である。 図20(a)は、通常時におけるデータの書込みの具体例を示す図であり、(b)は、一時保存状態時におけるデータの書込みの具体例を示す図である。 再冗長化の具体例を示す図である。 方針決定テーブルT600のデータ構造の一例を示す図である。 プログラムを実行することによって、動作が実現される構成からなるアレイ管理装置100Aの一例を示す構成図である。 プログラムを実行することによって、動作が実現される構成からなるストレージ装置11Aの一例を示す構成図である。 本発明におけるアレイ管理装置3000の構成を示す図である。 本発明におけるアレイ管理装置3000Aの構成を示す図である。 本発明におけるアレイ管理方法を示す図である。
 以下本発明の実施の形態について、図面を参照しながら説明する。
 1.実施の形態
 ここでは、図面を参照して本発明に係る実施の形態について説明する。
 1.1 概要
 図1は、本発明に係るアレイ管理装置を含むアレイ管理システム1の構成を示す図である。
 図1では、後述するアレイ管理装置100を含むデジタルレコーダー10と、ストレージ装置11~15とから構成されている。ここで、ストレージ装置12は、予備(スペア)のストレージ装置であるとする。
 デジタルレコーダー10は、デジタルカメラで撮影された、画像データ等の、デジタルデータの管理・保存をするものであり、アレイ管理装置100を内部に組み込むことにより、デジタルデータを、ストレージ装置11~15に冗長化保存することを可能とする。
 ストレージ装置11、12は、USB(Universal Serial Bus)やSCSI(Small Computer System Interface)などでデジタルレコーダー10とローカルに接続されている。また、ストレージ装置13はデジタルレコーダー10とインターネット2を介して、ストレージ装置14はローカルエリアネットワーク(LAN:Local Area Network)により、それぞれ接続されている。さらに、ストレージ装置15は、無線によるローカルネットワークによりデジタルレコーダー10と接続されている。なお、各ストレージ装置との接続には、イーサネット(登録商標)、ファイバーチャネル、USB、IEEE1394(Institute of Electrical and Electronic Engineers 1394)、IDE(Integrated Drive Electronics)、シリアルATA(Advanced Technology Attachment)、eSATA(external Serial ATA)、SCSI、SAS(Serial Attached SCSI)等をネットワークおよびそのインターフェイスとして用いてもよい。
 アレイ管理装置100は、従来と同様に、各ストレージ装置についての破損等の障害が発生しているかどうかを監視し、障害を検知した場合に冗長化の再構成を行う。ここで、冗長化の再構成を行うことを再冗長化という。
 また、アレイ管理装置100は、各ストレージ装置と接続されているネットワークの障害が発生しているか否かをも監視する。ここで、本実施の形態におけるネットワーク障害とは、生存確認する旨の応答要求を送信した際に、無応答となる時間が所定の時間以上続くことをいう。アレイ管理装置100は、ネットワーク障害を検知すると、ネットワークの接続形態に応じて定められた時間だけネットワーク障害からの復帰を待ち、当該時間を経過しても復帰しない場合には冗長化の再構成を行う。
 ネットワーク障害からの復帰を待つ間において、データをストレージ装置に書き込む際には、ネットワーク障害が発生しているストレージ装置への書込みはできない。そこで、他のストレージ装置、例えばスペアとして用意しているストレージ装置(本実施の形態ではストレージ装置12)や、空き容量の多いストレージ装置に対して、ネットワーク障害が発生しているストレージ装置に書き込むべきデータが書き込まれる。これにより、データを一時的に保持するキャッシュのオーバーフローを防止することができる。ここで、空き容量とは、アレイ構成に利用されていない領域のうち、未だデータの書込みが行われていない容量である。
 1.2 アレイ管理装置100の構成
 アレイ管理装置100は、ストレージ装置11~15を管理する装置であり、図2に示すように、ネットワーク状態監視部101、ストレージ状態監視部102、管理情報記憶部103アレイ状態監視部104、冗長化方針決定部105、処理部106、要求受付部107及び通信部108から構成されている。
 (1)ネットワーク状態監視部101
 ネットワーク状態監視部101は、各ストレージ装置11~15についてネットワーク障害の発生の有無を監視するものである。
 具体的には、ネットワーク状態監視部101は、アレイ状態監視部104から各ストレージ装置11~15に対して応答要求を発行する指示を示す要求指示を受け取ると、対象のストレージ装置に対して応答要求を送信し、所定時間T0(例えば、1秒)内に応答要求についての応答を受信するか否かによりストレージ装置のネットワーク上での生存を確認する。
 ネットワーク状態監視部101は、応答要求の送信後、発行対象のストレージ装置から所定時間T0内に応答を受信した場合には、応答を受信した旨を示す応答確認情報をアレイ状態監視部104へ通知する。
 ネットワーク状態監視部101は、応答要求の送信後、発行対象のストレージ装置から所定時間T0内に応答を受信しない場合には、応答を受信していない旨を示す無応答情報をアレイ状態監視部104へ通知する。
 (2)ストレージ状態監視部102
 ストレージ状態監視部102は、各ストレージ装置11~15について、従来と同様にストレージ障害の発生の有無を監視するものである。
 ストレージ状態監視部102は、各ストレージ装置11~15に対してストレージ障害(例えばディスクの破損状態)を定期的にチェックする。
 ストレージ状態監視部102は、ストレージ障害が発生していると判断する場合には、ストレージ障害が発生している旨を示すストレージ障害情報をアレイ状態監視部104へ通知する。
 (3)管理情報記憶部103
 管理情報記憶部103は、アレイ管理装置100が管理する複数のテーブルを記憶するための記憶領域である。
 管理情報記憶部103は、図3から図7に示すネットワーク状態管理テーブルT100、ストレージ状態管理テーブルT200、ネットワーク障害管理テーブルT300、空き領域情報テーブルT400及びデータ一時保存領域情報テーブルT500を記憶している。なお、管理情報記憶部103は、従来と同様にアレイの構成を示す情報、例えばアレイ構成情報テーブル(図示せず)をも記憶している。アレイの構成を示す情報については、既知であるため、ここでの詳細な説明は省略する。アレイ構成情報テーブルは、アレイ番号、冗長化手法、ストレージ台数、ストレージ番号、アレイ容量からなる組を複数記憶する領域を有している。アレイ番号は構成されているアレイを識別するための番号であり、冗長化手法は、例えばRAID1、RAID5のような冗長化するための手法を示す。ストレージ台数はアレイを構成する台数であり、ストレージ番号は、それらストレージ装置を示す番号である。アレイ容量は、構成されたアレイの全容量を示す。なお、ここでは、スペアのストレージ装置についても管理されている。
 (3-1)ネットワーク状態管理テーブルT100
 ネットワーク状態管理テーブルT100は、ネットワークの状態(例えば、応答要求に対する応答の有無)を管理するテーブルであり、図3に示すように、ストレージ番号、ネットワーク種別、ネットワーク情報、最終応答確認時間及び無応答フラグからなる組を複数記憶するための領域を有している。
 ストレージ番号は、アレイ管理装置100と接続されたストレージ装置を一意に識別するためのものである。
 ネットワーク種別は、ストレージ番号で識別されるストレージ装置との接続形態を示すものである。例えば、ネットワーク種別として、有線で接続されているのか、無線で接続されているのかの種別や、LAN内での接続であるか、インターネットを介した接続であるのかの種別や、IPアドレスが割り当てられたネットワークであるかの内容が、予めシステムの運用者によって記述される。
 ネットワーク情報は、応答要求を送信する際に必要とする情報であり、ネットワーク上においてストレージを同定するための情報を示すものである。このネットワーク情報は、ネットワーク種別ごとに異なる。例えば、ネットワーク種別がIPネットワークであればネットワーク情報としてIPアドレスやMACアドレスが相当し、USBネットワークであればネットワーク情報としてベンダIDやプロダクトID、シリアル番号等が相当する。
 最終応答確認時刻は、対応するストレージ装置についてアレイ状態監視部104が最後に応答確認情報を受け取った時刻を示すものであり、アレイ状態監視部104が応答確認情報を受け取る度にこの時刻は更新される。
 無応答フラグは、アレイ状態監視部104が無応答情報を受け取ったか否かを示すものであり、値「0」は無応答情報を受け取っていない旨、つまり応答確認情報を受け取った旨を示し、値「1」は無応答情報を受け取った旨を示す。
 (3-2)ストレージ状態管理テーブルT200
 ストレージ状態管理テーブルT200は、ストレージ装置の状態(破損の有無等)を管理するテーブルであり、図4に示すように、ストレージ番号、ストレージ種別、ストレージ情報及び破損フラグからなる組を複数記憶するための領域を有している。
 ストレージ番号については、既に説明しているので、ここでの説明を省略する。
 ストレージ種別は、ストレージを構成する種別、例えば論理ドライブ、物理ドライブ及びオンラインストレージであるかを示す情報である。ここで、オンラインストレージとは、高信頼ストレージの一種である。高信頼ストレージとは、オンラインストレージ、冗長化アレイを単体のストレージとして仮想化したものなど、それ自体でデータ保護が行われているものをいい、ストレージが故障する確率は非常に低いものである。例えば、ストレージ種別がオンラインストレージである場合には高信頼ストレージである。また、図4には図示していないが、冗長化アレイを単体のストレージとして仮想化されている場合には、その旨がストレージ種別に記載される。アレイ管理装置100は、ストレージ種別に、オンラインストレージや冗長化アレイを単体のストレージとして仮想化されている旨の内容が記載されている場合には、そのストレージ装置は高信頼ストレージであると判別することができる。
 ストレージ情報は、例えば対応するストレージ装置の全容量、使用容量を示す情報が含まれる。
 破損フラグは、アレイ状態監視部104がストレージ障害情報を受け取ったか否かを示すものであり、値「0」はストレージ障害情報を受け取っていない旨を示し、値「1」はストレージ障害情報を受け取った旨を示す。
 (3-3)ネットワーク障害管理テーブルT300
 ネットワーク障害管理テーブルT300は、ネットワーク障害が発生したストレージ装置について、当該障害の発生時刻及び復旧時の時刻を管理するテーブルであり、図5に示すように、ストレージ番号、ネットワーク障害発生時刻、確認時間(Tb)、復旧確認時刻、確認時間(Td)からなる組を複数記憶するための領域を有している。なお、ストレージ番号、ネットワーク障害発生時刻、確認時間(Tb)、復旧確認時刻、確認時間(Td)かならなる組を障害情報という。
 ストレージ番号については、既に説明しているので、ここでの説明を省略する。
 ネットワーク障害発生時刻は、アレイ状態監視部104がネットワーク障害が発生したと判断した時刻を示す。
 確認時間(Tb)は、ネットワーク障害発生から再冗長化するまでの待ち時間(復旧が期待できる時間)を示す。
 復旧確認時刻は、確認時間(Tb)内においてネットワーク状態監視部101の応答要求に対する応答があった時刻を示す。
 確認時間(Td)は、復旧確認時刻からネットワークの通信状態が安定すると推定されるまでの時間を示す。
 (3-4)空き領域情報テーブルT400
 空き領域情報テーブルT400は、各ストレージ装置11~15の空き容量を管理するテーブルであり、図6に示すように、ストレージ番号、オフセット、サイズ、一時使用中からなる組を複数記憶するための領域を有している。上述したように、空き容量とは、アレイ構成に利用されていない領域のうち、未だデータの書込みが行われていない容量である。
 ストレージ番号については、既に説明しているので、ここでの説明を省略する。
 オフセットは、空き領域の開始位置を示す値である。
 サイズは、空き領域の容量を示す値である。
 一時使用中は、他のストレージ装置がネットワーク障害中に、当該他のストレージ装置に書き込むべきデータを一時的に保持しているか否かを示すものである。使用中の値が「0」である場合には一時的に使用されていないことを示し、値が「1」である場合には一時的に使用されていることを示す。
 (3-5)データ一時保存領域情報テーブルT500
 データ一時保存領域情報テーブルT500は、ネットワーク障害が発生しているストレージ装置に書き込むべきデータを一時的に保存先を管理するテーブルである。データ一時保存領域情報テーブルT500は、図7に示すように、無応答ストレージ番号、書込みオフセット、書込みサイズ、一時保存ストレージ番号及び一時保存オフセットからなる組を複数記憶するための領域を有している。なお、無応答ストレージ番号、書込みオフセット、書込みサイズ、一時保存ストレージ番号及び一時保存オフセットからなる組を一時保存領域情報という。
 無応答ストレージ番号は、ネットワーク障害と判断されたストレージ装置のストレージ番号である。
 書込みオフセットは、無応答ストレージ番号で示されるストレージ装置について本来データが書き込まれる位置を示すものである。
 書込みサイズは、無応答ストレージ番号で示されるストレージ装置に書き込まれるデータのサイズを示すものである。
 一時保存ストレージ番号は、対応する書込みオフセット及び書込みサイズで示されるデータを一時的に保存しているストレージ装置のストレージ番号を示すものである。
 一時保存オフセットは、対応する書込みオフセット及び書込みサイズで示されるデータを一時的に保存している書込位置を示すものである。
 (4)冗長化方針決定部105
 冗長化方針決定部105、無応答となったストレージ装置に対して、ネットワーク障害であると判断するための基準時間(Ta)を設定する。なお、この時間Taは、キャッシュのオーバーフローを防止するための一時保存の開始までの待機時間でもある。
 また、冗長化方針決定部105は、一のストレージ装置に対してネットワーク障害が発生している場合において、当該一のストレージ装置のネットワーク接続形態(ネットワーク種別)に応じて、再冗長化を行うと判断するまでの時間(Tb)を導出する。
 例えば、無線通信によりネットワーク接続されたストレージ装置15は、無線通信を行う装置間に障害物が存在すると、当該障害物により無線信号が処断され、ストレージ装置15は正常にも関わらず、ネットワーク障害が発生し易い。そこで、障害物が無くなることで正常な無線通信の再開を期待できるので、冗長化方針決定部105は、初期値として設定された時間Tbよりも長い時間を新たなTbとして導出する。
 また、USB等のような専用ケーブルで接続されたストレージ装置11については、応答要求の応答が返ってこない場合には、ケーブルによる障害よりも装置そのものに障害が発生している可能性が高いので、冗長化方針決定部105は、初期値として設定された時間Tbよりも短い時間を新たなTbとして導出する。
 つまり、時間経過によってはネットワーク障害の復旧が見込めるストレージ装置に対しては、冗長化方針決定部105は、初期値Tbよりも長い新たな時間Tbを再冗長化を行うと判断するまでの時間として設定する。逆に、時間が経過してもネットワーク障害の復旧が見込めないストレージ装置に対しては、冗長化方針決定部105は、初期値Tbよりも短い新たな時間Tbを再冗長化を行うと判断するまでの時間として設定する。
 さらに、冗長化方針決定部105は、ネットワーク障害から復旧が確認されると、復旧からネットワーク状態が安定するための時間(Td)をネットワーク接続形態に応じて導出する。
 (5)アレイ状態監視部104
 アレイ状態監視部104は、アレイ状態、つまり各ストレージ装置11~15の状態をネットワーク状態監視部101及びストレージ状態監視部102の監視結果に基づいてネットワーク障害状況やアレイ構成の障害状況を監視する。
 アレイ状態監視部104は、ネットワーク状態を監視する対象のストレージ装置それぞれについて、当該ストレージ装置に対して応答要求を発行する際に必要な情報(図3に示すネットワーク情報)と、要求指示とをネットワーク状態監視部101へ通知する。その後、アレイ状態監視部104は、無応答情報をネットワーク状態監視部101から監視結果に応じて、ネットワーク状態管理テーブルT100の更新を行う。
 アレイ状態監視部104は、無応答となったストレージ装置(以下、「対象装置」という。)について無応答が検出されてから対象装置についての応答確認情報を受け取るまでの時間を計時する。アレイ状態監視部104は、対象装置についての応答確認情報を受け取ることなく時間Taが経過すると、ネットワーク障害が発生したとして、ネットワーク障害が発生した旨を示すネットワーク障害発生情報を処理部106へ通知するとともに、判断時点から対象装置についての応答確認情報を受け取るまでの時間を計時する。また、アレイ状態監視部104は、ネットワーク障害が発生したストレージ装置についてネットワーク障害管理テーブルT300の更新を行う。
 そして、アレイ状態監視部104が時間Tb内に対象装置についての応答確認情報を受け取らなかった場合には、処理部106により再冗長化が行われる。
 アレイ状態監視部104は、時間Tb内に対象装置についての応答確認情報を受け取ると、次に時間Tdまでの計時を行う。また、アレイ状態監視部104は、応答確認情報を受け取った時刻及び時間Tdそれぞれを用いて、ネットワーク障害管理テーブルT300の更新を行う。アレイ状態監視部104は、時間Td内に対象装置についての無応答情報を受け取ると、アレイ状態監視部104は、時間Tbまでの時間計時を再度実行する。時間Td内に対象装置についての無応答情報を受け取らなかった場合には、アレイ状態監視部104は、障害が復旧した旨を示す復旧情報を処理部106へ通知するとともに、ネットワーク障害管理テーブルT300及びネットワーク状態管理テーブルT100の更新を行う。
 アレイ状態監視部104は、ストレージ状態を監視する対象のストレージ装置それぞれについて、アクセスする際に必要な情報をストレージ状態監視部102へ通知する。
 さらにアレイ状態監視部104は、処理部106によるデータの読み書きに失敗した場合には、ストレージ状態監視部102にストレージの状態を確認させ、ストレージ破損が発生しているときには、ストレージ状態管理テーブルT200の破損フラグの更新を行う。
 また、アレイ状態監視部104は、処理部106によるデータの読み書きに成功した場合には、読み書きが行われた各ストレージ装置について、ネットワーク状態管理テーブルT100の最終応答確認時刻の更新を行う。
 (6)処理部106
 処理部106は、各ストレージ装置に対するデータの読み書き、再冗長化の実行、及びネットワーク障害から復旧した場合の復旧処理を行うものであり、図2に示すように、冗長化実行部110とデータ処理実行部111と復旧処理実行部112とを含んでいる。
 (6-1)冗長化実行部110
 冗長化実行部110は、再冗長化命令をアレイ状態監視部104から受け取ると、再冗長化を行う。
 具体的には、冗長化実行部110は、ネットワーク状態管理テーブルT100及びストレージ状態管理テーブルT200から特定される障害が発生しているストレージ装置を除く残りのストレージ装置及びスペアであるストレージ装置(ここでは、ストレージ装置12)を用いて冗長化を行う。冗長化は、アレイを構成するストレージ装置のうち、障害と判断されたストレージの除く残りのストレージ装置に記憶されており、一時的に保存されたデータを除く全てデータを用いて、障害と判断されたストレージに記憶すべきデータを回復し、回復したデータ全てをスペアのストレージ装置へ書き込む。
 なお、障害発生後に書き込まれたデータについては、データ一時保存領域情報テーブルT500を用いて、障害が発生したストレージ装置へ書き込むべきデータとして他のストレージ装置に一時的に保存したデータを、そのままスペアのストレージ装置に書き込んでもよい。
 (6-2)データ処理実行部111
 データ処理実行部111は、各ストレージ装置に対するデータの読み書きを行うものである。
 データ処理実行部111は、ネットワーク障害が発生している場合と、発生していない場合とで、機能動作が異なるので、以下、場合分けをして説明する。なお、ネットワーク障害管理テーブルT300に障害情報が存在するか否かを判断することで、ネットワーク障害が発生の有無を特定することができる。
 (ネットワーク障害が発生していない場合)
 ここでは、まず、ネットワーク障害が発生していない場合の機能動作について説明する。
 データ処理実行部111は、要求受付部107から受け取った外部からの指示に基づいて各ストレージ装置に対して読み書きを行う際には、読出命令又は書込命令を各ストレージ装置へ送信する。
 その後、所定時間T0内に対象のストレージ装置から応答を受信した場合には、データ処理実行部111は、ネットワーク状態監視部101と同様に応答確認と対象のストレージ装置のストレージ番号とをアレイ状態監視部104へ通知するとともに、データの読出し、若しくはデータの書込みを実行する。読出し、若しくは書込みに失敗した場合には、失敗したストレージ装置のストレージ番号と、失敗した旨を示す失敗情報とをアレイ状態監視部104へ通知する。さらに、要求受付部107を介して外部へも失敗情報を通知する。読出、又は書込成功した場合には、データ処理実行部111は、その旨を要求受付部107を介して外部へ通知する。
 所定時間T0内に対象のストレージ装置から応答を受信しない場合には、データ処理実行部111は、無応答であるストレージ装置のストレージ番号と、無応答情報とをアレイ状態監視部104へ通知する。
 (ネットワーク障害が発生している場合)
 ここでは、ネットワーク障害が発生している場合の機能動作について説明する。
 まず、データの書込時の機能動作について説明する。
 データ処理実行部111は、ネットワーク障害が発生しているストレージ装置に書き込むべきデータを、当該ストレージ装置を除く残りのストレージ装置のうち一時的に保存することのできる容量を有するストレージ装置へ書き込む。
 その際、データ処理実行部111は、一時的にデータを保存したストレージ装置の空き容量について空き領域情報テーブルT400及びデータ一時保存領域情報テーブルT500を更新する。
 次に、データの読込時の機能動作について説明する。
 データ処理実行部111は、ネットワーク障害が発生しているストレージ装置から読込むべきデータが他のストレージ装置に一時的に保存されている場合には、当該データを当該他のストレージ装置から読み込む。一時的に保存されていない場合であって、冗長データを用いて読み込むべきデータの回復が可能であるならば、冗長データを用いてネットワーク障害が発生しているストレージ装置から読み込むべきデータを回復する。回復可能でないならば、データ処理実行部111は、読込みエラーを要求受付部107へ通知する。
 以上の機能動作を、全ての読込みが完了するまで繰り返す。
 (6-3)復旧処理実行部112
 復旧処理実行部112は、アレイ状態監視部104から復旧情報を受け取ると、ネットワーク障害から復帰したストレージ装置へデータを書き戻すものである。
 具体的には、復旧処理実行部112は、復帰したストレージ装置に対応する一時保存領域情報を用いて、一時的に書き込まれたデータを、本来書き込むべきストレージ装置(復帰したストレージ装置)へ書き戻す。
 復旧処理実行部112は、書き戻されたデータに係る一時保存領域情報をデータ一時保存領域情報テーブルT500から削除する。
 また、復旧処理実行部112は、空き領域情報テーブルT400において空き容量を更新する。具体的には、一時保存先であったストレージ装置の空き容量及びデータが復旧されたストレージ装置の空き容量が更新される。
 以上の機能動作を復帰したストレージ装置に対応する一時保存領域情報が存在しなくなるまで繰り返す。
 (7)要求受付部107
 要求受付部107は、外部からデータの読み書きの要求を受け付け、受け付けた要求を処理部106へ出力する。このとき、読込み要求を受け付ける場合には、要求受付部107は、さらに読込位置を受け付け、受け付けた読込位置をも処理部106へ出力する。また、書込み要求を受け付ける場合には、要求受付部107は、さらに書き込むべきデータを受け付け、受け付けたデータをも処理部106へ出力する。
 また、要求受付部107は、処理部106からエラーの通知を受け取ると、受け取ったエラー通知を外部へ出力する。
 (8)通信部108
 通信部108は、管理対象である各ストレージ装置11~15とのデータの入出力を行うものである。
 1.3 ストレージ装置11~15
 ストレージ装置11~15は、同様の構成要素であるので、ここでは、ストレージ装置11の構成要素について、図8を参照して説明する。
 ストレージ装置11は、図8に示すように、記憶部201、処理部202、ストレージ状態取得部203及び通信部204から構成されている。
 (1)記憶部201
 記憶部201は、アレイ管理装置100により書き込まれたデータを記憶する大容量記録装置であり、例えばハードディスクドライブ(HDD)や、ソリッドステートドライブ(SSD)等である。
 (2)処理部202
 処理部202は、アレイ管理装置100の指示より、記憶部201へアレイ管理装置100から受け取ったデータを書き込んだり、記憶部201からデータを読み出してアレイ管理装置100へ通信部204を介して送信したりする。
 また、処理部202は、アレイ管理装置100から通信部204を介して応答要求を受け取ると、そのコマンドに対する応答を通信部204を介してアレイ管理装置100へ送信する。
 さらに、処理部202は、ストレージ状態取得部203から記憶部201が破損していることを示す破損情報を受け取ると、その旨を通信部204を介してアレイ管理装置100へ送信する。
 (3)ストレージ状態取得部203
 ストレージ状態取得部203は、記憶部201の破損の有無をチェックする。そして、破損している場合には、ストレージ状態取得部203は、アレイ管理装置100によるストレージ状態のチェック時において破損情報を処理部202へ通知する。
 (4)通信部204
 1.4 動作
 ここでは、アレイ管理装置100の動作について説明する。
 (1)ネットワーク状態監視処理
 まず、各ストレージ装置11~15の生存確認を、定期的(例えば、2秒毎に)行うネットワーク状態監視処理について、図9に示す流れ図を用いて説明する。
 アレイ状態監視部104は、監視対象のストレージ装置を1つ選択する(ステップS5)。
 アレイ状態監視部104は、ネットワーク状態管理テーブルT100を用いて、選択されたストレージ装置が無応答の状態であるか否かを、対応する無応答フラグの値が1であるか否かにより判断する(ステップS10)。
 1であると判断する、つまり無応答の状態であると判断する場合には(ステップS10における「Yes」)、ストレージ装置の復帰確認処理が行われる(ステップS30)。
 1でないと判断、つまり0であると判断(無応答でないと判断)する場合(ステップS10における「No」)、アレイ状態監視部104は、ネットワーク状態管理テーブルT100を用いて、選択されたストレージ装置に対応する最終応答確認時刻を取得し(ステップS15)、現時点での時刻が取得した最終応答確認時刻から所定時間(T1、例えば2秒)経過しているか否かを判断する(ステップS20)。
 経過していると判断する場合(ステップS20における「Yes」)、ストレージ装置の生存確認処理が行われる(ステップS25)。
 現時点での時刻が取得した最終応答確認時刻から所定時間T1を経過していないと判断する場合(ステップS20における「No」)、ステップS20及びステップS30の実行後、アレイ状態監視部104は、管理対象の全てのストレージ装置に対して処理がなされたか、つまり選択されていないストレージ装置が存在するか否かを判断する(ステップS35)。
 全てのストレージ装置に対して処理がなされていないと判断する場合(ステップS35における「No」)、アレイ状態監視部104は、次のストレージ装置を選択し(ステップS40)、処理はステップS10へ戻る。
 全てのストレージ装置に対して処理がなされたと判断する場合(ステップS35における「Yes」)、処理は終了する。
 (2)ストレージ装置の生存確認処理
 ここでは、図9に示すステップS25の処理について、図10に示す流れ図を用いて説明する。
 ネットワーク状態監視部101は、生存確認の対象となるストレージ装置に対して応答要求を送信する(ステップS100)。
 ネットワーク状態監視部101は所定時間T0内に対象のストレージ装置から応答を受信したか否かを判断する(ステップS105)。
 応答を受信したと判断する場合には(ステップS105における「Yes」)、ネットワーク状態監視部101は応答確認情報をアレイ状態監視部104へ通知し、アレイ状態監視部104はネットワーク状態管理テーブルT100における対象のストレージ装置に対応する最終応答確認時刻を現在の時刻に更新する(ステップS110)。
 応答を受信していないと判断する場合には(ステップS105における「No」)、ネットワーク状態監視部101は無応答情報をアレイ状態監視部104へ通知し、アレイ状態監視部104はネットワーク状態監視部101から無応答情報を受け取ると、ネットワーク状態管理テーブルT100における対象のストレージ装置に対応する無応答フラグの値を1に設定する(ステップS115)。
 (3)ストレージ装置の復帰確認処理
 ここでは、図9に示すステップS30の処理について、図11に示す流れ図を用いて説明する。
 ネットワーク状態監視部101は、確認の対象となるストレージ装置に対して応答要求を送信する(ステップS150)。
 ネットワーク状態監視部101は所定時間T0内に対象のストレージ装置から応答を受信したか否かを判断する(ステップS155)。
 応答を受信したと判断する場合には(ステップS155における「Yes」)、ネットワーク状態監視部101は応答確認情報をアレイ状態監視部104へ通知し、アレイ状態監視部104はネットワーク状態管理テーブルT100における対象のストレージ装置に対応する最終応答確認時刻を現在の時刻に更新する(ステップS160)。
 アレイ状態監視部104は、ネットワーク状態管理テーブルT100における対象のストレージ装置に対応する無応答フラグの値を0に設定する(ステップS165)。
 (4)無応答時の冗長化方針決定処理
 ここでは、冗長化方針決定部105で行われる無応答時の冗長化方針決定の処理について、図12に示す流れ図を用いて説明する。
 冗長化方針決定部105は、無応答となっているストレージ装置のネットワーク種別が一時的に切断し得るものであるか否かを、ネットワーク状態管理テーブルT100のネットワーク種別を用いて判断する(ステップS200)。例えば、一時的に切断し得ないものとは、SCSIでの接続やUSBでの接続である。
 一時的に切断し得るものであると判断する場合(ステップS200における「Yes」)、冗長化方針決定部105は、キャッシュのオーバーフローを防止するための一時保存の開始までの時間Taを決定する(ステップS205)。時間Taは、例えば5秒である。
 冗長化方針決定部105は、再冗長化を行うと判断するまでの時間Tb(初期値)を決定する(ステップS210)。時間Tbは、例えば10秒である。
 対象のストレージ装置が接続しているネットワークは有線であるか否かをネットワーク状態管理テーブルT100のネットワーク種別を用いて判断する(ステップS215)。
 有線でないと判断する場合、つまり無線であると判断する場合(ステップS215における「No」)、冗長化方針決定部105は、5×TbをTbとして再設定する(ステップS220)。
 ステップS220の実行後、及び対象のストレージ装置が接続しているネットワークは有線であると判断する場合(ステップS215における「Yes」)、冗長化方針決定部105は、対応するネットワーク種別を用いて、対象のストレージ装置が接続しているネットワークはインターネットを経由するものであるか否かを判断する(ステップS225)。
 インターネットを経由するものであると判断する場合(ステップS225における「Yes」)、冗長化方針決定部105は、2×TbをTbとして再設定する(ステップS230)。
 ステップS230の実行後、及び対象のストレージ装置が接続しているネットワークはインターネットを経由するものであると判断する場合(ステップS225における「Yes」)、冗長化方針決定部105は、高信頼ストレージであるか否かをネットワーク状態管理テーブルT100のネットワーク種別を用いて判断する(ステップS225)。
 高信頼ストレージであると判断する場合には(ステップS235における「Yes」)、冗長化方針決定部105は、10×TbをTbとして再設定する(ステップS240)。
 無応答となっているストレージ装置のネットワーク種別が一時的に切断し得ないものであると判断する場合(ステップS200における「No」)、直ちに再冗長化を行う旨の指示をアレイ状態監視部104へ通知する(ステップS245)。
 (5)復帰時の冗長化方針決定処理
 ここでは、冗長化方針決定部105で行われる復帰時の冗長化方針決定の処理について、図13に示す流れ図を用いて説明する。
 冗長化方針決定部105は、復旧からネットワーク状態が安定するための時間Td(初期値)を決定する(ステップS300)。
 対象のストレージ装置が接続しているネットワークは有線であるか否かをネットワーク状態管理テーブルT100のネットワーク種別を用いて判断する(ステップS305)。
 有線でないと判断する場合、つまり無線であると判断する場合(ステップS305における「No」)、冗長化方針決定部105は、2×TdをTdとして再設定する(ステップS310)。
 ステップS310の実行後、及び対象のストレージ装置が接続しているネットワークは有線であると判断する場合(ステップS305における「Yes」)、冗長化方針決定部105は、対応するネットワーク種別を用いて、対象のストレージ装置が接続しているネットワークはインターネットを経由するものであるか否かをネットワーク状態管理テーブルT100のネットワーク種別を用いて判断する(ステップS315)。
 インターネットを経由するものであると判断する場合(ステップS315における「Yes」)、冗長化方針決定部105は、2×TdをTdとして再設定する(ステップS320)。
 (6)通常時のアクセス処理
 ここでは、通常時のデータのアクセス(読み書き)処理について、図14に示す流れ図を用いて説明する。
 データ処理実行部111は、要求受付部107から受け取った外部からの指示に基づいて各ストレージ装置に対して読み書きを行う際には、読出命令又は書込命令を各ストレージ装置へ送信する(ステップS400)。
 所定時間T0内に対象のストレージ装置から応答を受信したか否かを判断する(ステップS405)。受信したと判断する場合には(ステップS405における「Yes」)、アレイ状態監視部104は、ネットワーク状態管理テーブルT100について、対象のストレージ装置に対応する最終応答確認時刻を現在の時刻へと更新する(ステップS410)。
 データ処理実行部111は、読出し、若しくは書込みを実行し、成功したか否かを判断する(ステップS415)。成功したと判断する場合には(ステップS415における「Yes」)データ処理実行部111は、アクセス成功を外部へ通知する(ステップS435)。
 失敗したと判断する場合には(ステップS415における「No」)、ストレージ状態監視部102は、ストレージ状態監視部102が行う対象のストレージ装置がストレージ状態の確認により、当該ストレージ装置が破損しているか否かを判断する(ステップS420)。破損していると判断する場合(ステップS420における「Yes」)、アレイ状態監視部104は、ストレージ状態管理テーブルT200について、対象であるストレージ装置に対応する破損フラグを1に設定する(ステップS425)。
 また、所定時間T0内に対象のストレージ装置から応答を受信していないと判断する場合には(ステップS405における「No」)、アレイ状態監視部104は、ネットワーク状態管理テーブルT100について、対象のストレージ装置に対応する無応答フラグの値を1に設定する(ステップS430)。
 ステップS425、ステップS430の実行後、及び対象のストレージ装置についてストレージが破損していないと判断する場合(ステップS420における「No」)、データ処理実行部111は、アクセス失敗を外部へ通知する(ステップS440)。
 (7)ネットワーク障害時の書込処理
 ここでは、ネットワーク障害時のデータの書込処理について、図15に示す流れ図を用いて説明する。
 データ処理実行部111は、要求受付部107からデータの書込み要求と、対象のデータとを受け取ると、各ストレージ装置に対して、書き込むデータと書込位置とを決定する(ステップS500)。例えば、各ストレージ装置に対する書込位置は、RAID方式に応じたアルゴリズムで決定される。
 データ処理実行部111は、ネットワーク障害が発生していないストレージ装置、つまり応答があるストレージ装置に対しては、決定したデータを決定した書込位置へ書き込む(ステップS505)。
 データ処理実行部111は、空き領域情報テーブルT400で管理されている各ストレージ装置のうちネットワーク障害が発生していない全てのストレージ装置の空き容量を取得する(ステップS510)。
 データ処理実行部111は、ネットワーク障害が発生しているストレージ装置へ書き込むべきデータを一時的に保存することのできる空き領域、つまり一時的に保存することのできるストレージ装置が存在するか否かを判断する(ステップS515)。
 存在すると判断する場合には(ステップS515における「Yes」)、データ処理実行部111は、一時的に保存可能なストレージ装置を1つ選択し、選択したストレージ装置の空き容量から一時的に保存する領域を決定し(ステップS520)、決定した領域にネットワーク障害が発生しているストレージ装置へ書き込むべきデータを書き込む(ステップS525)。
 データ処理実行部111は、一時的にデータを保存したストレージ装置の空き容量について空き領域情報テーブルT400を更新する(ステップS530)。
 データ処理実行部111は、ネットワーク障害が発生しているストレージ装置のストレージ番号、データ受取時に決定したデータの書込位置、書き込むデータのサイズ、一時保存先のストレージ装置のストレージ番号、及び一時保存先での書込位置それぞれを用いて、データ一時保存領域情報テーブルT500の更新を行う(ステップS535)。具体的には、データ処理実行部111は、ネットワーク障害が発生しているストレージ装置のストレージ番号、データ受取時に決定したデータの書込位置、書き込むデータのサイズ、一時保存先のストレージ装置のストレージ番号、及び一時保存先での書込位置それぞれを、データ一時保存領域情報テーブルT500の無応答ストレージ番号、書込みオフセット、書込みサイズ、一時保存ストレージ番号及び一時保存オフセットへ書き込む。
 (8)ネットワーク障害時の読込処理
 ここでは、ネットワーク障害時のデータの読込処理について、図16に示す流れ図を用いて説明する。
 データ処理実行部111は、要求受付部107からデータの読込み要求と、対象のデータの読込みを行う位置とを受け取ると、各ストレージ装置に対して、読込位置を決定する(ステップS600)。例えば、各ストレージ装置に対する読込位置は、RAID方式に応じたアルゴリズムで決定される。
 データ処理実行部111は、ネットワーク障害が発生しているか否かをネットワーク障害管理テーブルT300を用いて判断する(ステップS605)。
 ネットワーク障害が発生していると判断する場合には(ステップS605における「Yes」)、データ処理実行部111は、データ一時保存領域情報テーブルT500にネットワーク障害が発生しているストレージ装置への読込位置に対応する一時保存領域情報が存在するか否かを判断する(ステップS610)。
 存在しないと判断する場合(ステップS610における「No」)、データ処理実行部111は、冗長データを用いて読込むべきデータの回復が可能であるか否かを判断する(ステップS615)。例えば、RAID方式に応じたアルゴリズムに従って、具体的には、データ回復に必要な正常なストレージ装置の台数が存在するか否かを判断することにより決定される。
 回復可能でないと判断する場合(ステップS615おける「No」)、 データ処理実行部111は、読込エラーを要求受付部107へ通知する(ステップS620)。
 ネットワーク障害が発生していないと判断する場合には(ステップS605における「No」)、データ処理実行部111は、各ストレージ装置に対して、決定した読込位置からデータを読込む(ステップS625)。
 ネットワーク障害が発生しているストレージ装置への読込位置に対応する一時保存領域情報が存在すると判断する場合(ステップS610における「Yes」)、データ処理実行部111は、ネットワーク障害が発生しているストレージ装置から読込むべきデータを、一時保存領域情報で示される一時保存先から読込む(ステップS630)。なお、ネットワーク障害が発生していないストレージ装置については、決定した読込位置からデータを読込む。
 冗長データを用いて読込むべきデータの回復が可能であると判断する場合(ステップS615における「Yes」)、データ処理実行部111は、冗長データを他のストレージ装置から取得し(ステップS635)、取得した冗長データを用いてネットワーク障害が発生しているストレージ装置から読込むべきデータを回復する(ステップS640)。なお、ネットワーク障害が発生していないストレージ装置については、決定した読込位置からデータを読込む。
 ステップS625、ステップS630、ステップS640の実行後、データ処理実行部111は、全データの読込みが完了したか否かを判断する(ステップS645)。例えば、キャッシュにデータが残っているか否かにより判断する。
 完了していないと判断する場合には(ステップS645における「No」)、処理はステップS605へ戻る。
 (9)ネットワーク障害からの復旧処理
 ここでは、ネットワーク障害からの復旧処理について、図17に示す流れ図を用いて説明する。
 復旧処理実行部112は、アレイ状態監視部104から復旧情報を受け取ると、一時保存領域情報がデータ一時保存領域情報テーブルT500に存在するか否かを判断する(ステップS700)。
 存在すると判断する場合には(ステップS700における「Yes」)、復旧処理実行部112は、1つの一時保存領域情報を選択する(ステップS705)。復旧処理実行部112は、選択した一時保存領域情報を用いて一時的に書き込まれたデータを、本来書き込むべきストレージ装置へ書き戻す(ステップS710)。具体的には、復旧処理実行部112は、選択した一時保存領域情報に含まれる一時保存ストレージ番号と、一時保存オフセットと、書込みサイズとから、一時保存先のストレージ装置と、一時保存先の開始位置と、終了位置とを特定する。復旧処理実行部112は、選択した一時保存領域情報に含まれる無応答ストレージ番号で示されるストレージ装置に対して、先に特定された一時保存先のストレージ装置内の一時保存先の開始位置から終了位置までに示されるデータを書込みオフセットで示される位置から書き込む。
 復旧処理実行部112は、選択した一時保存領域情報をデータ一時保存領域情報テーブルT500から削除する(ステップS715)。また、復旧処理実行部112は、空き領域情報テーブルT400において空き容量を更新し(ステップS720)、処理はステップS700へ戻る。
 (10)無応答時の全体動作
 ここでは、ストレージ装置が無応答である場合におけるアレイ管理装置100の全体の動作概要について、図18に示す流れ図を用いて説明する。
 アレイ状態監視部104は、ネットワーク状態管理テーブルT100において無応答であるストレージ装置に対応する無応答フラグの値を1に設定する(ステップS800)。
 冗長化方針決定部105は、図12に示す無応答時の冗長化方針決定処理により無応答であるストレージ装置に対応するネットワーク種別に応じて時間Ta、Tbを決定する(ステップS805)。
 アレイ状態監視部104は、無応答時の冗長化方針決定処理の結果により直ちに再冗長化すべきか否かを判断する(ステップS810)。
 再冗長化すべきでないと判断する場合(ステップS810における「No」)、アレイ状態監視部104は、冗長化方針決定部105で決定された時間Taだけ経過したか否かを判断する(ステップS815)。
 経過していないと判断する場合には(ステップS815における「No」)、アレイ状態監視部104は、無応答のストレージ装置が復帰したか否か、つまりネットワーク状態監視部101から対象のストレージ装置に対する応答確認情報を受け取ったか否かを判断する(ステップS820)。
 復帰していないと判断する場合には(ステップS820における「No」)、処理はステップS815へ戻り、時間Taの計時を続行する。
 時間Taが経過したと判断する場合(ステップS815における「Yes」)、アレイ状態監視部104は、データの書込みついては一時的な保存を行う(ステップS825)。また、アレイ状態監視部104は、ネットワーク障害と判断されたストレージ装置のストレージ番号、ネットワーク障害と判断した時刻、冗長化方針決定部105で算出された時間Tbそれぞれを、ネットワーク障害管理テーブルT300のストレージ番号、ネットワーク障害発生時刻及び確認時間(Tb)へ書き込む。
 一時保存の行いつつ、アレイ状態監視部104は、冗長化方針決定部105で決定された時間Tbだけ経過したか否かを判断する(ステップS830)。
 経過していないと判断する場合には(ステップS830における「No」)、アレイ状態監視部104は、無応答のストレージ装置からの応答を受け取ったか否か、つまりネットワーク状態監視部101から対象のストレージ装置に対する応答確認情報を受け取ったか否かを判断する(ステップS835)。
 受け取っていないと判断する場合には(ステップS835における「No」)、処理はステップS830へ戻り、時間Tbの計時を続行する。
 受け取ったと判断する場合には(ステップS835における「Yes」)、冗長化方針決定部105は復帰したストレージ装置に対応するネットワーク種別に応じて時間Tdを決定し、アレイ状態監視部104は、冗長化方針決定部105で決定された時間Tdだけ経過したか否かを判断する(ステップS840)。
 経過していないと判断する場合には(ステップS840における「No」)、アレイ状態監視部104は、再度無応答となったか否かを判断する(ステップS845)。
 再度無応答となったと判断する場合には(ステップS845における「Yes」)、処理はステップS830へ戻り、アレイ状態監視部104は、再度時間Tdの計時をリスタートし、時間Tbだけ経過したか否かを判断する。
 無応答になっていないと判断する場合には(ステップS845における「No」)、処理はステップS840へ戻り、時間Tdの計時を続行する。
 時間Tbが経過したと判断する場合(ステップS830における「Yes」)、アレイ状態監視部104は、一時保存の状態から通常の状態へ復帰する(ステップS850)。具体的には、また、アレイ状態監視部104は、障害が復旧した旨を示す復旧情報を処理部106へ通知するとともに、ネットワーク障害管理テーブルT300において対応する障害情報を削除し、さらにはネットワーク状態管理テーブルT100の更新、つまりネットワーク状態管理テーブルT100において対応する無応答フラグの値を0に設定する。また、復旧処理実行部112は、図17に示す復旧処理を行い、データの書き戻し、一時保存領域データの削除及び空き領域情報テーブルT400の更新を行う。
 また、ステップS850の実行後、及び無応答のストレージ装置が復帰したと判断する場合(ステップS820における「Yes」)、アレイ状態監視部104は、対応する無応答フラグの値を0に設定する(ステップS855)。
 直ちに再冗長化すべきと判断する場合(ステップS810における「Yes」)、及び時間Tbが経過したと判断する場合(ステップS830における「Yes」)、冗長化実行部110は、再冗長化を実行する(ステップS860)。
 1.5 状態の遷移
 ここでは、冗長化状態の遷移について説明する。
 図19は、冗長化を実行するまでの状態の遷移を示す図である。
 なんら障害が発生していない場合には、アレイ管理システム1は通常状態で動作している(ST1)。
 通常状態時において、アレイ管理装置100が無応答である一のストレージ装置(ここでは、ストレージ装置11とする。)を検知すると、復帰時間として時間Taが経過するのを待つ。時間Taが経過するまでにストレージ装置11から応答があると、通常状態を維持する。時間Taが経過するまでにストレージ装置11から応答がないと、つまり移行条件Aが成立すると、ストレージ装置11についてネットワーク障害が発生したとみなし、キャッシュのオーバーフローを防ぐために一時保存状態への移行処理を行う(ST2)。ここで、一時保存状態に移行とは、時間Tbの算出や、ネットワーク障害管理テーブルT300に、ネットワーク障害が発生したストレージ装置についてのストレージ番号、ネットワーク障害発生時刻及び確認時間(Tb)を書き込むことである。
 移行処理が完了すると、一時保存状態となる(ST3)。この状態において、データの書込命令があると、アレイ管理装置100は、ネットワーク障害が発生しているストレージ装置11に対象のデータを書き込む代わりに、当該対象のデータを書き込む空き領域を有している他のストレージ装置へ書き込む。
 その後、ストレージ装置11の応答が確認され、応答確認から時間Tdが経過するまでに無応答とならない場合、つまり応答確認後から時間Tdまでの間生存が確認されたという条件Dが成立した場合、ストレージ装置11がネットワーク障害から復帰したとみなし通常状態への移行処理を行う(ST4)。ここで、通常状態への移行処理とは、一時保存しているデータを本来書き込むべきストレージ装置(ネットワーク障害が発生していたストレージ装置11)へ書き戻す処理や、空き領域情報テーブルT400及びデータ一時保存領域情報テーブルT500の更新処理である。
 通常状態への移行処理が完了すると、通常状態へ戻る(ST1)。
 また、通常状態時において、ストレージの破損やネットワークの物理的破損等、自動的な復帰が期待できない障害が発生した場合、つまり、条件Cが成立した場合には、直ちに再冗長化を実行する(ST5)。再冗長化の実行が完了すると、再冗長化された構成での通常状態へ戻る(ST1)。
 なお、一時保存や再冗長化を行うことが不可能であり、冗長性が低下した状態であるデグレード状態や、アレイが破損しデータ損失が発生した状態であるデータ損失状態も、もちろん遷移しうるが、この場合はST1の状態から直ちにST5の状態へと遷移する。
 1.6 具体例
 (1)一時保存について
 図20(a)は、通常時におけるデータの書込みのイメージ図を示す。通常状態において、アレイ管理装置100が書込み要求を受け付けると、RAID5等のアルゴリズムに従い、冗長化を構成する各ストレージ装置(ここでは、ストレージ装置11、14、15)に対して書込みを行うデータを決定し、それぞれのストレージ装置にデータを書き込む。例えば、あるデータX1の書込み要求があると、アレイ管理装置100は、書き込むべきデータとして、データA1、B1、C1を生成する。あるデータX2の書込み要求があると、アレイ管理装置100は、書き込むべきデータとして、データA2、B2、C2を生成する。ここでは、データA1とC1とからデータB1が、データB1とC1とからデータA1が、それぞれ回復可能であるとする。また、データX2から生成されたデータA2、B2、C2についても同様に、データA2とC2とからデータB2が、データB2とC2とからデータA2が、それぞれ回復可能であるとする。
 一方、図20(b)は、ネットワーク障害時、つまり一時保存状態時におけるデータの書込みのイメージ図を示す。一時保存状態時では、アレイ管理装置100は、通常状態と同様に、各ストレージ装置11、14、15に対して書き込むデータを決定するが、無応答であるストレージ装置15に書き込むべきデータ(データA1、A2)については、冗長化を構成する別のストレージ装置(ここでは、ストレージ装置11)の空き領域や、スペアストレージ(ここでは、ストレージ装置12)の空き領域に一時的に保持しておく。ストレージ装置15がネットワーク障害から復帰すると、一時的に保存したデータを、本来書き込むべきストレージに反映し、一時保存したデータを削除する。
 読込み時については、無応答であるストレージ装置15以外のストレージ装置11、12、14からデータを読み取り、復元させることが可能である。
 (2)再冗長化について
 図21は、再冗長化のイメージ図を示すものである。
 通常時においては、ストレージ装置11、14、15により冗長化がなされているものとし、ストレージ装置15においてストレージ破損が発生したものとする。
 この場合、アレイ管理装置100は、ストレージ装置15を冗長化の構成から切り離し、他のストレージ(ここでは、スペアストレージ装置であるストレージ装置12)を用いて冗長化の再構成を行う。そして、ストレージ装置11、14からストレージ装置15で保持されているデータを復元し、ストレージ装置12へ復元したデータを書き込むことで、アレイ構成を回復する。
 1.7 変形例
 以上、実施の形態に基づいて説明したが、本発明は上記の実施の形態に限られない。例えば、以下のような変形例が考えられる。
 (1)上記実施の形態において、時間Tb、Tdとして初期値よりも長い時間を設定する際に用いた値は、一例であり、時間Tdを長くする倍数は1より大きい値であればよい。
 (2)上記実施の形態における無線通信とは、アレイ管理装置とストレージ装置との間におけるネットワーク上の最短経路の一部に無線区間が存在する、又は最短経路の全部が無線区間であることをいう。また、有線とは、最短経路上に無線区間が存在しないことをいう。
 (3)上記実施の形態において、冗長化方針の決定は、ストレージ装置が無応答となったとき、及びストレージ破損等の障害が発生したときに行われるものとしたが、これに限定されない。
 アレイ管理装置は、ネットワーク種別やストレージ種別に応じた冗長化方針を予め記憶しておいてもよい。
 この場合、アレイ管理装置は、例えば、図22に示すような方針決定テーブルT600を管理情報記憶部に記憶しておく。
 方針決定テーブルT600は、トリガ、ネットワーク種別、ストレージ種別、冗長化方針からなる組を複数記憶するための領域を有している。
 トリガは、ネットワーク状態監視部及びストレージ状態監視部で検知された状態を示す。
 ネットワーク種別は、ストレージ装置との接続形態を示すものである。
 ストレージ種別は、ストレージを構成する種別を示す情報である。
 冗長化方針は、冗長の方針を決定する(ここでは、時間Ta、Tb、Tdの決定や、直ちに再冗長化することの決定)ための条件を示すものである。
 冗長化方針は、トリガ、ネットワーク種別及びストレージ種別の組み合わせにより決まる。
 例えば、ストレージ装置が無応答である場合には、ネットワーク種別及びストレージ種別から、通常状態から一時保存状態への移行条件A(例えば、時間Ta)、一時保存状態から再冗長化状態への移行条件B(例えば、時間Tb)、及び通常状態から再冗長化状態への移行条件Cが決定される。
 具体的には、あるストレージ装置がローカルエリアIPネットワークで接続されている場合において、無線接続、または有線接続されている物理ドライブが、ストレージ破損の応答を返さないまま、無応答状態となった場合を考える。このような状態に陥る要因としては、ネットワークのトラブルや、転送制御部を含めたストレージ全体の破損等が考えられるが、アレイ管理装置がその要因を確実に判別する手立てが無い。そこで、まずはネットワークのトラブルが発生したと推定し、一時保存を実行する。一時保存状態から一定時間が経過してもストレージ装置が復帰しない場合、ストレージの破損が発生したと判断し、再冗長化を行うとする。ここで、有線と無線ではネットワークの安定性が異なり、一般に無線ネットワークの方が不安定であり、かつ復帰に時間がかかるので、無線接続である場合に設定される時間は、有線接続時に設定される時間よりも長いものとなる。
 このように、ネットワーク状態、ストレージ状態に応じて、冗長化方針決定テーブルを予め作成し、保持することができる。なお、ネットワーク状態、ストレージ状態として、例えば電源状態、ユーザ操作履歴情報等を時間Ta、Tb、及びTdの決定に利用してもよい。冗長化方針決定において、電源状態を用いることで、バッテリ切れによるネットワークの切断を考慮することができる。また、ユーザ操作履歴情報を用いることで、ユーザによる意図的な電源OFF操作によるネットワーク切断を考慮することができる。これらにより、再冗長化までの待機時間をより適切に決定することが可能となり、不要な再冗長化を防止できる効果がある。
 また、この場合における冗長化方針決定部は、冗長化方針の決定対象とであるストレージ装置のネットワーク種別をネットワーク状態管理テーブルT100から特定し、またストレージ種別をストレージ状態管理テーブルT200から特定する。そして、検知された状態と、特定したネットワーク種別及びストレージ種別と、方針決定テーブルT600とから、冗長化方針を決定する。
 (4)上記実施の形態において、ストレージに対する応答要求の送信および受信手法として、例えばIPネットワークを用いている場合は、ping等を用いてもよい。
 また、応答要求受信の有無に関係なく、ストレージ装置は定期的に応答を送信してもよい。また、ストレージ装置は、ネットワークの再接続等を自動的に検知した時に、応答を送信してもよい。
 (5)上記実施の形態において、ストレージ状態取得部203は、ストレージの破損の有無を取得するとしたが、これに限定されない。
 ストレージ情報は、各ストレージ装置における、ストレージ状態取得部から取得可能な情報を示し、当該情報は、ストレージ装置ごとに異なってもよい。例えば、バッテリを内蔵するストレージ装置において、ストレージ情報として現在の電源状態やバッテリ残量が格納されてもよいし、ユーザ操作を受け付けるストレージ装置であれば、ストレージ情報としてユーザ操作情報やユーザ操作時刻が格納されてもよい。また、ストレージ装置がモバイル機器であるかどうかの情報が格納されてもよい。また、ストレージ装置がストレージ情報を持たなくてもよい。
 (6)上記実施の形態において、ストレージ装置は、ストレージ状態監視部による定期的なチェックにより、ストレージの障害の有無を通知したが、これに限定されない。
 ストレージ装置は、ストレージの故障発生など、ストレージ情報が変化した際に、障害が発生した旨を送信してもよい。
 (7)上記実施の形態において、ストレージ装置11~15の一部または全部は、デジタルレコーダー10の筐体内部に格納されてもよい。
 (8)上記の実施の形態で説明した手法の手順を記述したプログラムをメモリに記憶しておき、CPU(Central Processing Unit)などがメモリからプログラムを読み出して、読み出したプログラムを実行することによって、上記の手法が実現されるようにしてもよい。
 また、当該手法の手順を記述したプログラムを記録媒体に格納して、頒布するようにしてもよい。
 ここで、プログラムを実行することによって、上記の手法が実現される構成の一例を挙げる。
 図23は、プログラムを実行することによって、上記の手法が実現される構成からなるアレイ管理装置100Aの一例を示す構成図である。
 アレイ管理装置100Aは、各種処理プログラムを記録するROM1000と、全体の処理を司るCPU1010と、一時的にデータを記録するRAM1020と、ストレージとのデータ転送および管理を制御する下位側転送制御部1030と、デジタルカメラ等、他の装置とのデータ転送および管理を制御する上位側転送制御部1040と、記録装置である管理情報記憶部103とを備える。上記実施の形態で示すネットワーク状態監視部101、ストレージ状態監視部102、アレイ状態監視部104、冗長化方針決定部105、冗長化実行部110、データ処理実行部111及び復旧処理実行部112については、例えば、ROM1000内にプログラム、例えばネットワーク状態監視部101A、ストレージ状態監視部102A、アレイ状態監視部104A、冗長化方針決定部105A、冗長化実行部110A、データ処理実行部111A及び復旧処理実行部112Aとして保存され、CPU1010により、それぞれのプログラムが実行されることで、各構成要素の処理が行われる。また、下位側転送制御部1030及び上位側転送制御部1040は、上記実施の形態の通信部108に相当する。
 なお、ROM1000は、ハードディスクドライブ(HDD)等、他の記録装置でもよい。また、下位側転送制御部1030と、上位側転送制御部1040は同一のインターフェイスを共用しても良い。
 図24は、プログラムを実行することによって、上記の手法が実現される構成からなるストレージ装置11Aの一例を示す構成図である。
 ストレージ装置11Aは、ROM2000と、CPU2010と、RAM2020と、アレイ管理部とのデータ転送および管理を制御する転送制御部2030と、一台以上の大容量記録装置2040~2050を備える。大容量記録装置2040~2050は、例えばハードディスクドライブや、ソリッドステートドライブ等でもよい。
 また、上記実施の形態で示すストレージ状態取得部203については、例えば、ROM2000内にプログラム、例えばストレージ状態取得部203Aとして保存され、CPU2010により、プログラムが実行されることで、当該構成要素の処理が行われる。また、転送制御部2030は上記実施の形態における通信部204に、大容量記録装置2040~2050は上記実施の形態における記憶部201に相当する。
 なお、ROM2000は、ハードディスクドライブ等、他の記録装置でもよい。
 なお、ストレージ装置は、他のシステム構成であってもよい。具体的には、ストレージ装置は大容量記録装置であり、SCSI等のストレージインターフェイスによりアレイ管理部と直接接続されており、かつアレイ管理装置のCPUにより制御される構成でもよい。
 (9)上記実施の形態で示すアレイ管理装置は、典型的には半導体集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部またはすべてを含むように1チップ化されても良い。ここではLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現しても良い。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
 さらに加えて、上記実施の形態で示すアレイ管理装置を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。携帯電話やテレビ、デジタルビデオレコーダ、デジタルビデオカメラ、カーナビゲーション等において、本発明を利用することが可能である。ディスプレイとしては、ブラウン管(CRT)の他、液晶やPDP(プラズマディスプレイパネル)、有機ELなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
 (10)本発明に係る、複数のストレージ3100、3101、・・・、3102を冗長化し、各ストレージ3100、3101、・・・、3102へのアクセスを制御するアレイ管理装置3000は、図25に示すように、前記複数のストレージ各々への通信経路の構成種別を記憶する記憶部3001と、前記複数のストレージ各々へのアクセスが成功したか失敗したかを確認する判定部3002と、前記記憶部3001に記憶された前記通信経路の構成種別に基づいて、前記ストレージへのアクセスが失敗してから冗長化を実行するまでの待機時間を導出する導出部3003と、前記判定部3002によって、前記複数のストレージのうち、いずれかのストレージへのアクセスの失敗が確認された場合に、当該ストレージの前記通信経路の構成種別に応じて前記導出部3003によって導出された前記時間が経過するまでの間に、前記判定部3002によって当該ストレージへのアクセスの成功が確認されないときは、当該ストレージを除外した前記複数のストレージを冗長化する冗長化処理部3004とから構成されるとしてもよい。
 この場合、記憶部3001は上記実施の形態で示す管理情報記憶部103で、判定部3002は上記実施の形態で示すネットワーク状態監視部101及びストレージ状態監視部102の組み合わせで、導出部3003は上記実施の形態で示す冗長化方針決定部105で、冗長化処理部3004は上記実施の形態で示すアレイ状態監視部104及び冗長化実行部110の組み合わせで、それぞれ実現できる。
 また、ストレージ3100、3101、・・・、3102は、上記実施の形態で示すストレージ装置11~15の何れかに相当するものである。
 または、本発明に係る、複数のストレージ3100、3101、・・・、3102を冗長化し、各ストレージ3100、3101、・・・、3102へのアクセスを制御するアレイ管理装置3000Aは、図26に示すように、記憶部3001と、判定部3002と、導出部3003と、冗長化処理部3004と、外部からのアクセス要求を受け付ける要求受付部3005と、アクセスに失敗したストレージを除く他のストレージに対して、アクセスに失敗したストレージへ書き込むべきデータの書き込みを行う一時書込部3006とから構成されるとしてもよい。
 この場合、要求受付部3005は上記実施の形態で示す要求受付部107で、一時書込部3006は上記実施の形態で示すデータ処理実行部111、特にネットワーク障害時の機能動作で、それぞれ実現できる。なお、記憶部3001、判定部3002、導出部3003及び冗長化処理部3004は上記にて説明しているので、ここでの説明は省略する。
 または、前記複数のストレージ各々への通信経路の構成種別を記憶する記憶部を備え、複数のストレージを冗長化し、各ストレージへのアクセスを制御する管理装置における管理集積回路は、図25で示す破線で囲まれた各構成要素(判定部3002、導出部3003、冗長化処理部3004)で構成されるとしてもよい。
 (11)本発明に係る、複数のストレージ各々への通信経路の構成種別を記憶する記憶部と、判定部と、導出部と、冗長化処理部とを備え、前記複数のストレージを冗長化し、各ストレージへのアクセスを制御するアレイ管理装置におけるアレイ管理方法は、図27に示すように、前記判定部が前記複数のストレージ各々へのアクセスが成功したか失敗したかを繰り返し確認する第1の確認ステップ(ステップS1000)と、前記判定部が前記第1の確認ステップによって前記複数のストレージうちいずれかのストレージへのアクセスの失敗が確認されたか否かを判断する第1の判断ステップ(ステップS1005)と、前記導出部が前記第1の判断ステップによって前記複数のストレージうちいずれかのストレージへのアクセスの失敗が確認されたと判断する場合に前記記憶部に記憶された当該ストレージに対応する前記通信経路の構成種別に基づいて当該ストレージへのアクセスが失敗してから冗長化を実行するまでの待機時間を導出する導出ステップ(ステップS1010)と、前記冗長化処理部が前記第1の判断ステップによって、前記複数のストレージのうち、いずれかのストレージへのアクセスの失敗が確認されたと判断する場合に、当該ストレージの前記通信経路の構成種別に応じて前記導出ステップによって導出された前記待機時間が経過したか否かを判断する第2の判断ステップ(ステップS1015)と、前記冗長化処理部が、前記判定部が前記待機時間内において前記確認ステップによるアクセスの失敗が確認されたストレージへのアクセスが成功したか失敗したかの確認(ステップS1020)、及び前記第1の判断ステップによる前記確認ステップによってアクセスの失敗が確認されたストレージへのアクセスが成功が確認されたか否かを判断して(ステップS1025)、アクセスの失敗が確認されたストレージへのアクセスの成功が確認されないときは、当該ストレージを除外した残りのストレージを用いて冗長化を行う冗長化実行ステップ(ステップS1030)とを含むとしてもよい。
 この場合、確認ステップ及び第1の判断ステップは上記実施の形態における図9、101及び図18のステップS835で示す処理動作で、導出ステップは上記実施の形態における図12で示す処理動作で、第2の判断ステップは図18で示すステップS830で、冗長化実行ステップは図18で示すステップS860で、それぞれ実現できる。
 (12)上記実施の形態及び変形例を組み合わせるとしてもよい。
 1.8 補足
 (1)本発明の一実施態様である、複数のストレージを冗長化して各ストレージへのアクセスを制御するアレイ管理装置は、前記複数のストレージ各々へのアクセスが成功したか失敗したかを繰り返し確認する判定部と、前記複数のストレージ各々への通信経路の構成種別を記憶する記憶部と、前記記憶部に記憶された前記通信経路の構成種別に基づいて、前記ストレージへのアクセスが失敗してから冗長化を実行するまでの待機時間を導出する導出部と、前記判定部によって、前記複数のストレージのうち、いずれかのストレージへのアクセスの失敗が確認された場合に、当該ストレージの前記通信経路の構成種別に応じて前記導出部によって導出された前記待機時間が経過するまでの間に、前記判定部による再度の確認動作によって当該ストレージへのアクセスの成功が確認されないときは、当該ストレージを除外した残りのストレージを用いて冗長化を行う冗長化処理部とを備えることを特徴とする。
 この構成によると、アレイ管理装置は、アクセスに失敗したストレージの通信経路の種別に基づいて冗長化するまでの待機時間を導出している。そのため、アレイ管理装置は、再冗長化を行うと判断するまでの待機時間、つまり再冗長化を行うと判断する判断基準を、通信経路の種別に基づいて変更することができる。これにより、待機時間内にアクセスが成功すると再冗長化を行う必要がなくなるので、障害発生後直ちに再冗長化する場合と比べて、ストレージ装置の寿命が長くなる。
 (2)ここで、前記導出部は、前記通信経路の構成種別が有線を示す場合と比較して、前記通信経路の構成種別が無線を示す場合の方を前記待機時間が長くなるように前記導出を行うとしてもよい。
 この構成によると、アレイ管理装置は、アクセスが失敗したストレージと無線で通信行っている場合には、待機時間を有線で通信を行っている場合と比較して長い時間としている。通常、無線による通信の場合には、有線による通信よりも通信の確立が不安定である。そのため、アクセスの失敗は、一時的な障害(例えば、障害物により通信が遮断され、通信の確立ができない場合)である可能性が高いので、有線の場合よりも待機時間を長くすることで、一時的な障害からの自動的な回復を期待できるので、再冗長化を直ちに行う必要がない。
 (3)ここで、前記導出部は、前記通信経路の構成種別がLAN(Local Area Network)を示す場合と比較して、前記通信経路の構成種別がインターネットを示す場合の方を前記待機時間が長くなるように前記導出を行うとしてもよい。
 この構成によると、アレイ管理装置は、アクセスが失敗したストレージとインターネットを介して通信行っている場合には、待機時間をLANで通信を行っている場合と比較して長い時間としている。通常、インターネットを介した通信の場合には、LANによる通信よりもデータのトラフィック量が多いので、アクセスに時間がかかることがある。そのため、アクセスの失敗は、一時的な障害(例えばトラフィック量が多いためアクセスに時間がかかっている)であると考えられるので、LANの場合よりも待機時間を長くすることで、一時的な障害からの自動的な回復を期待できる。
 (4)ここで、前記冗長化処理部は、さらに、前記判定部によってアクセスの失敗が確認されたストレージの前記通信経路の構成種別が一時的に切断し得ない接続形態を示す場合は、直ちに当該ストレージを除外した残りのストレージを用いて冗長化するとしてもよい。
 この構成によると、アレイ管理装置は、アクセスが失敗したストレージと一時的に切断し得ない接続方法である場合には、直ちに再冗長化を行っている。一時的に切断し得ない接続方法においてアクセスが失敗した場合には、一時的な障害というよりも、物理的な障害、例えばストレージ破損が発生している可能性が高いので、直ちに再冗長化を行うことで、迅速な対応を取ることができる。
 (5)ここで、前記記憶部は、さらに、前記複数のストレージ各々がデータ保護を受けているか否かに関する情報を記憶し、前記導出部は、さらに、アクセスの失敗が確認されたストレージに対して、前記記憶部に記憶された、当該ストレージに対応する情報がデータ保護を受けていないことを示す場合には、データ保護を受けていることを示す場合よりも前記待機時間が短くなるよう前記導出を行い、当該ストレージに対応する情報がデータ保護を受けていることを示す場合には、データ保護を受けていないことを示す場合よりも前記待機時間が長くなるよう前記導出を行うとしてもよい。
 この構成によると、アレイ管理装置は、アクセスが失敗したストレージがデータ保護を受けている場合には、その待機時間をデータ保護を受けていない場合と比較して長い時間としている。通常、データ保護を受けているストレージは、データ保護を受けていないストレージよりも破損する可能性が低い。そのため、アクセスの失敗は、一時的な障害である可能性が高いので、LANの場合よりも待機時間を長くすることで、当該一時的な障害からの自動的な回復を期待できる。
 (6)ここで、前記アレイ管理装置は、さらに、外部からのアクセス要求を受け付ける要求受付部と、アクセスに失敗したストレージを除く他のストレージに対して、アクセスに失敗したストレージへ書き込むべきデータの書き込みを行う一時書込部とを備え、前記要求受付部は、外部からのデータの書き込み要求を受け付け、前記複数のストレージから書き込みを行う幾つかのストレージを選択し、前記冗長化処理部は、さらに、前記判定部によって、前記幾つかのストレージのうち、いずれかのストレージへのアクセスの失敗が確認された場合に、前記導出部によって導出した前記待機時間が経過するまでの間に、前記一時書込部によってデータの書き込みを行い、前記待機時間が経過した後は、アクセスに失敗したストレージを除外した残りのストレージを用いて冗長化するとしてもよい。
 この構成によると、アレイ管理装置は、待機時間が経過するまでの間、アクセスに失敗したストレージへ書き込むべきデータを、アクセスに失敗したストレージを除く他のストレージに対して書き込むので、処理されないデータの量を増加させることはない。例えば、書込み対象のデータをバッファに保持している場合には、バッファのオーバーフローを防ぐことができる。
 (7)ここで、前記判定部は、通信経路上での障害の発生の有無を監視する通信経路状態監視部と、前記複数のストレージ各々について当該ストレージの障害の発生の有無を監視するストレージ状態監視部とからなり、前記通信経路状態監視部は、前記複数のストレージ各々に対して応答要求を送信し、送信した前記応答要求に対する応答を受け取らない場合にアクセスに失敗したと判断し、前記ストレージ状態監視部は、前記複数のストレージ各々に対してストレージの破損が発生していると判断する場合にアクセスに失敗したと判断するとしてもよい。
 この構成によると、アレイ管理装置は、通信経路状態監視部とストレージ状態監視部とにより、通信経路上での障害及びストレージ障害それぞれの発生の有無を監視することができる。
 (8)ここで、前記記憶部は、前記複数のストレージそれぞれに対する前記構成種別に、対応するストレージからの前記応答を受け取ったか否かを示す無応答フラグを対応付けて記憶し、さらに、前記前記複数のストレージそれぞれについて、ストレージ障害の発生の有無を示す破損フラグを記憶しており、前記通信経路状態監視部は、応答を受け取らない場合には対応するストレージの無応答フラグに当該応答を受け取っていない旨を示す値を設定し、前記ストレージ状態監視部は、ストレージ破損が発生している場合には対応するストレージの破損フラグに破損が発生している旨を示す値を設定し、前記冗長化処理部は、前記複数のストレージによるアレイ構成の状態を監視するアレイ状態監視部と、冗長化を実行する冗長化実行部とから構成され、前記アレイ状態監視部は、無応答フラグの値が応答を受け取っていない旨を示す場合には対応するストレージについて前記導出部が導出した前記待機時間が経過するまでの間に当該ストレージから応答を受け取らないときには冗長化を行うと、破損フラグの値が破損が発生している旨を示す場合には直ちに冗長化を行うと、それぞれ判断するとしてもよい。
 この構成によると、アレイ管理装置は、無応答フラグ及び破損フラグを用いることで、障害の発生の有無を容易に判断することができる。
 (9)ここで、前記アレイ管理装置は、さらに、アクセスに失敗したストレージが復旧した場合に、前記一時書込部により他のストレージに対して書き込まれたデータを、復旧した前記ストレージへ書き込む復旧処理を行う復旧処理実行部を備え、前記アレイ状態監視部は、無応答フラグの値が応答を受け取っていない旨を示す場合に、対応するストレージについて前記導出部が導出した前記待機時間が経過するまでの間に当該ストレージから応答を受け取ると、前記復旧処理実行部が前記復旧処理を行うよう制御するとしてもよい。
 この構成によると、アレイ管理装置は、復旧処理実行部により、障害の復旧後、本来書き込むべきストレージへの書き込みが可能となり、再冗長化することなく容易にデータ管理ができる。
 本発明に係るアレイ管理装置は、大容量のデータを管理する装置に利用することが可能である。例えば、携帯電話や携帯音楽プレーヤー、デジタルカメラ、デジタルビデオカメラ等の電池駆動の携帯表示端末や、テレビ、デジタルビデオレコーダー、カーナビゲーション等の高解像度の情報表示機器におけるメニュー表示やWebブラウザ、エディタ、EPG、地図表示等で表示を行う装置として利用価値が高い。
    1  アレイ管理システム
    2  インターネット
   10  デジタルレコーダー
   11~15、11A ストレージ装置
  100、100A  アレイ管理装置
  101、101A  ネットワーク状態監視部
  102、102A  ストレージ状態監視部
  103  管理情報記憶部
  104、104A  アレイ状態監視部
  105、105A  冗長化方針決定部
  106  処理部
  107  要求受付部
  108  通信部
  110、110A  冗長化実行部
  111、111A  データ処理実行部
  112、112A  復旧処理実行部
  201  記憶部
  202  処理部
  203、203A  ストレージ状態取得部
  204  通信部
  1000、2000  ROM
  1010、2010  CPU
  1020、2020  RAM
  1030  下位側転送制御部
  1040  上位側転送制御部
  2030  転送制御部
  2040、2050 大容量記憶装置
  3000、3000A  アレイ管理装置
  3001  記憶部
  3002  判定部
  3003  導出部
  3004  冗長化処理部
  3005  要求受付部
  3006  一時書込部
  3100、3101、3102 ストレージ装置

Claims (11)

  1.  複数のストレージを冗長化して、各ストレージへのアクセスを制御するアレイ管理装置であって、
     前記複数のストレージ各々へのアクセスが成功したか失敗したかを繰り返し確認する判定部と、
     前記複数のストレージ各々への通信経路の構成種別を記憶する記憶部と、
     前記記憶部に記憶された前記通信経路の構成種別に基づいて、前記ストレージへのアクセスが失敗してから冗長化を実行するまでの待機時間を導出する導出部と、
     前記判定部によって、前記複数のストレージのうち、いずれかのストレージへのアクセスの失敗が確認された場合に、当該ストレージの前記通信経路の構成種別に応じて前記導出部によって導出された前記待機時間が経過するまでの間に、前記判定部による再度の確認動作によって当該ストレージへのアクセスの成功が確認されないときは、当該ストレージを除外した残りのストレージを用いて冗長化を行う冗長化処理部とを備える
     ことを特徴とするアレイ管理装置。
  2.  前記導出部は、前記通信経路の構成種別が有線を示す場合と比較して、前記通信経路の構成種別が無線を示す場合の方を前記待機時間が長くなるように前記導出を行う
     ことを特徴とする請求項1に記載のアレイ管理装置。
  3.  前記導出部は、前記通信経路の構成種別がLAN(Local Area Network)を示す場合と比較して、前記通信経路の構成種別がインターネットを示す場合の方を前記待機時間が長くなるように前記導出を行う
     ことを特徴とする請求項1に記載のアレイ管理装置。
  4.  前記冗長化処理部は、さらに、前記判定部によってアクセスの失敗が確認されたストレージの前記通信経路の構成種別が一時的に切断し得ない接続形態を示す場合は、直ちに当該ストレージを除外した残りのストレージを用いて冗長化する
     ことを特徴とする請求項1に記載のアレイ管理装置。
  5.  前記記憶部は、さらに、前記複数のストレージ各々がデータ保護を受けているか否かに関する情報を記憶し、
     前記導出部は、さらに、アクセスの失敗が確認されたストレージに対して、前記記憶部に記憶された、当該ストレージに対応する情報がデータ保護を受けていないことを示す場合には、データ保護を受けていることを示す場合よりも前記待機時間が短くなるよう前記導出を行い、当該ストレージに対応する情報がデータ保護を受けていることを示す場合には、データ保護を受けていないことを示す場合よりも前記待機時間が長くなるよう前記導出を行う
     ことを特徴とする請求項1に記載のアレイ管理装置。
  6.  前記アレイ管理装置は、さらに、
     外部からのアクセス要求を受け付ける要求受付部と、
     アクセスに失敗したストレージを除く他のストレージに対して、アクセスに失敗したストレージへ書き込むべきデータの書き込みを行う一時書込部とを備え、
     前記要求受付部は、外部からのデータの書き込み要求を受け付け、前記複数のストレージから書き込みを行う幾つかのストレージを選択し、
     前記冗長化処理部は、さらに、前記判定部によって、前記幾つかのストレージのうち、いずれかのストレージへのアクセスの失敗が確認された場合に、前記導出部によって導出した前記待機時間が経過するまでの間に、前記一時書込部によってデータの書き込みを行い、前記待機時間が経過した後は、アクセスに失敗したストレージを除外した残りのストレージを用いて冗長化する
     ことを特徴とする請求項2から5のいずれか1項に記載のアレイ管理装置。
  7.  前記判定部は、
     通信経路上での障害の発生の有無を監視する通信経路状態監視部と、前記複数のストレージ各々について当該ストレージの障害の発生の有無を監視するストレージ状態監視部とからなり、
     前記通信経路状態監視部は、前記複数のストレージ各々に対して応答要求を送信し、送信した前記応答要求に対する応答を受け取らない場合にアクセスに失敗したと判断し、
     前記ストレージ状態監視部は、前記複数のストレージ各々に対してストレージの破損が発生していると判断する場合にアクセスに失敗したと判断する
     ことを特徴とする請求項6に記載のアレイ管理装置。
  8.  前記記憶部は、
     前記複数のストレージそれぞれに対する前記構成種別に、対応するストレージからの前記応答を受け取ったか否かを示す無応答フラグを対応付けて記憶し、
     さらに、前記前記複数のストレージそれぞれについて、ストレージ障害の発生の有無を示す破損フラグを記憶しており、
     前記通信経路状態監視部は、応答を受け取らない場合には対応するストレージの無応答フラグに当該応答を受け取っていない旨を示す値を設定し、
     前記ストレージ状態監視部は、ストレージ破損が発生している場合には対応するストレージの破損フラグに破損が発生している旨を示す値を設定し、
     前記冗長化処理部は、前記複数のストレージによるアレイ構成の状態を監視するアレイ状態監視部と、冗長化を実行する冗長化実行部とから構成され、
     前記アレイ状態監視部は、無応答フラグの値が応答を受け取っていない旨を示す場合には対応するストレージについて前記導出部が導出した前記待機時間が経過するまでの間に当該ストレージから応答を受け取らないときには冗長化を行うと、破損フラグの値が破損が発生している旨を示す場合には直ちに冗長化を行うと、それぞれ判断する
     ことを特徴とする請求項7に記載のアレイ管理装置。
  9.  前記アレイ管理装置は、さらに、
     アクセスに失敗したストレージが復旧した場合に、前記一時書込部により他のストレージに対して書き込まれたデータを、復旧した前記ストレージへ書き込む復旧処理を行う復旧処理実行部を備え、
     前記アレイ状態監視部は、無応答フラグの値が応答を受け取っていない旨を示す場合に、対応するストレージについて前記導出部が導出した前記待機時間が経過するまでの間に当該ストレージから応答を受け取ると、前記復旧処理実行部が前記復旧処理を行うよう制御する
     ことを特徴とする請求項8に記載のアレイ管理装置。
  10.  複数のストレージ各々への通信経路の構成種別を記憶する記憶部と、判定部と、導出部と、冗長化処理部とを備え、前記複数のストレージを冗長化し、各ストレージへのアクセスを制御するアレイ管理装置におけるアレイ管理方法であって、
     前記判定部が、前記複数のストレージ各々へのアクセスが成功したか失敗したかを繰り返し確認する確認ステップと、
     前記判定部が、前記確認ステップによって前記複数のストレージうち、いずれかのストレージへのアクセスの失敗が確認されたか否かを判断する第1の判断ステップと、
     前記導出部が、前記第1の判断ステップによって前記複数のストレージうち、いずれかのストレージへのアクセスの失敗が確認されたと判断する場合に、前記記憶部に記憶された当該ストレージに対応する前記通信経路の構成種別に基づいて、当該ストレージへのアクセスが失敗してから冗長化を実行するまでの待機時間を導出する導出ステップと、
     前記冗長化処理部が、前記第1の判断ステップによって、前記複数のストレージのうち、いずれかのストレージへのアクセスの失敗が確認されたと判断する場合に、当該ストレージの前記通信経路の構成種別に応じて前記導出ステップによって導出された前記待機時間が経過したか否かを判断する第2の判断ステップと、
     前記冗長化処理部が、前記判定部が前記待機時間内において前記確認ステップによるアクセスの失敗が確認されたストレージへのアクセスが成功したか失敗したかの確認、及び前記第1の判断ステップによる前記確認ステップによってアクセスの失敗が確認されたストレージへのアクセスが成功が確認されたか否かを判断して、アクセスの失敗が確認されたストレージへのアクセスの成功が確認されないときは、当該ストレージを除外した残りのストレージを用いて冗長化を行う冗長化実行ステップとを含む
     ことを特徴とするアレイ管理方法。
  11.  複数のストレージ各々への通信経路の構成種別を記憶する記憶部を備え、前記複数のストレージを冗長化し、各ストレージへのアクセスを制御するアレイ管理装置における集積回路であって、
     前記複数のストレージ各々へのアクセスが成功したか失敗したかを繰り返し確認する判定部と、
     前記記憶部に記憶された前記通信経路の構成種別に基づいて、前記ストレージへのアクセスが失敗してから冗長化を実行するまでの待機時間を導出する導出部と、
     前記判定ステップによって、前記複数のストレージのうち、いずれかのストレージへのアクセスの失敗が確認された場合に、当該ストレージの前記通信経路の構成種別に応じて前記導出ステップによって導出された前記待機時間が経過するまでの間に、前記判定ステップによる再度の確認動作によって当該ストレージへのアクセスの成功が確認されないときは、当該ストレージを除外した残りのストレージを用いて冗長化を行う冗長化処理部とを備える
     ことを特徴とする集積回路。
PCT/JP2011/005805 2010-12-15 2011-10-18 アレイ管理装置、アレイ管理方法及び集積回路 WO2012081156A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/881,501 US20130219212A1 (en) 2010-12-15 2011-10-18 Array management device, array management method and integrated circuit
CN2011800549206A CN103250127A (zh) 2010-12-15 2011-10-18 阵列管理装置,阵列管理方法以及集成电路
JP2012548617A JPWO2012081156A1 (ja) 2010-12-15 2011-10-18 アレイ管理装置、アレイ管理方法及び集積回路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010279219 2010-12-15
JP2010-279219 2010-12-15

Publications (1)

Publication Number Publication Date
WO2012081156A1 true WO2012081156A1 (ja) 2012-06-21

Family

ID=46244276

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/005805 WO2012081156A1 (ja) 2010-12-15 2011-10-18 アレイ管理装置、アレイ管理方法及び集積回路

Country Status (4)

Country Link
US (1) US20130219212A1 (ja)
JP (1) JPWO2012081156A1 (ja)
CN (1) CN103250127A (ja)
WO (1) WO2012081156A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015118685A (ja) * 2013-11-12 2015-06-25 株式会社リコー 情報処理システム、情報処理方法、及びプログラム
US9690576B2 (en) * 2015-02-11 2017-06-27 Dell Software, Inc. Selective data collection using a management system
JP6705266B2 (ja) * 2016-04-07 2020-06-03 オムロン株式会社 制御装置、制御方法およびプログラム
KR102536518B1 (ko) * 2016-09-13 2023-05-24 한화비전 주식회사 저장장치 리빌드 중 녹화가 가능한 감시 카메라 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273220A (ja) * 2000-01-18 2001-10-05 Canon Inc 情報処理装置及び方法及び記憶媒体並びにコンピュータプログラム
JP2004248270A (ja) * 2003-01-24 2004-09-02 Matsushita Electric Ind Co Ltd 共有鍵交換方法及び通信機器
JP2005182657A (ja) * 2003-12-22 2005-07-07 Sony Corp データ記録再生装置及びデータ記録再生方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100407166C (zh) * 2004-07-29 2008-07-30 普安科技股份有限公司 改善数据读取效率的方法及其储存系统
US20080005257A1 (en) * 2006-06-29 2008-01-03 Kestrelink Corporation Dual processor based digital media player architecture with network support

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273220A (ja) * 2000-01-18 2001-10-05 Canon Inc 情報処理装置及び方法及び記憶媒体並びにコンピュータプログラム
JP2004248270A (ja) * 2003-01-24 2004-09-02 Matsushita Electric Ind Co Ltd 共有鍵交換方法及び通信機器
JP2005182657A (ja) * 2003-12-22 2005-07-07 Sony Corp データ記録再生装置及びデータ記録再生方法

Also Published As

Publication number Publication date
CN103250127A (zh) 2013-08-14
JPWO2012081156A1 (ja) 2014-05-22
US20130219212A1 (en) 2013-08-22

Similar Documents

Publication Publication Date Title
JP5127491B2 (ja) ストレージサブシステム及びこれの制御方法
JP5714571B2 (ja) キャッシュクラスタを構成可能モードで用いるキャッシュデータ処理
US7210061B2 (en) Data redundancy for writes using remote storage system cache memory
US8458398B2 (en) Computer-readable medium storing data management program, computer-readable medium storing storage diagnosis program, and multinode storage system
US7587627B2 (en) System and method for disaster recovery of data
US9946655B2 (en) Storage system and storage control method
US8443231B2 (en) Updating a list of quorum disks
JP6056453B2 (ja) プログラム、データ管理方法および情報処理装置
US8402189B2 (en) Information processing apparatus and data transfer method
US8707085B2 (en) High availability data storage systems and methods
US20110107358A1 (en) Managing remote procedure calls when a server is unavailable
JP2006338626A (ja) ディスクアレイ装置及びその制御方法
JP2007072571A (ja) 計算機システム及び管理計算機ならびにアクセスパス管理方法
US20140281688A1 (en) Method and system of data recovery in a raid controller
JP2007226400A (ja) 計算機管理方法、計算機管理プログラム、実行サーバの構成を管理する待機サーバ及び計算機システム
US20100275219A1 (en) Scsi persistent reserve management
WO2012081156A1 (ja) アレイ管理装置、アレイ管理方法及び集積回路
US20130198731A1 (en) Control apparatus, system, and method
US20110276822A1 (en) Node controller first failure error management for a distributed system
US9841923B2 (en) Storage apparatus and storage system
JP2010282324A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御方法
US8381027B1 (en) Determining alternate paths in faulted systems
CN108512753B (zh) 一种集群文件系统中消息传输的方法及装置
CN107888405B (zh) 管理设备和信息处理系统
CN112887367B (zh) 实现分布式集群高可用的方法、系统及计算机可读介质

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2012548617

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13881501

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11848615

Country of ref document: EP

Kind code of ref document: A1