1. Field of the Invention
The present invention relates to a storage controlling device (controller) of a disk array device and a redundancy restoring method executed by the controller.
2. Description of the Related Art
A disk array device for which a redundant configuration is adopted exists in order to be able to cope with disk faults. In such a disk array device, a way to restore redundancy when a disk fault occurs is often an issue.
For example, Patent Document 1 following discloses a technique for restoring redundancy when a disk fault occurs in a disk array device for which mirroring is adopted as a redundant configuration. According to the technique, when a disk fault occurs, a disk group is identified, on the basis of priority information that is held in a mirroring management table and set for each disk, that forms a mirroring pair to be dissolved. Then, a new mirroring pair is formed by pairing one disk included in the disk group that dissolved the pair with one disk that has been paired with a disk in which the fault has occurred.
Additionally, Patent Document 2 following discloses a technique for restoring redundancy by fetching a fault substitutive device from another group having high redundancy without performing a hot spare patrol.
Patent Document 1: Japanese Published Unexamined Patent Application No. H9-269871 “Data Re-redundancy Making System in Disk Array Device”
Patent Document 2: Japanese Published Unexamined Patent Application No. H10-260789 “Device Array System”
A disk array device that comprises a disk array for which a redundant configuration is adopted and that can access storage for backup exists in addition to the above described devices. In such a device, if disk degradation occurs in a disk within the disk array device when an empty hot spare does not exist, the non-redundant state of a disk/disks forming the disk array in conjunction with the disk in which the disk degradation occurs continues until the degraded disk is replaced, leading to an increased possibility that user data will be lost.
An object of the present invention is to provide a controller for a disk array device and to provide a redundancy restoring method that can make non-redundant data redundant at an early stage even if disk degradation occurs in a disk within the disk array device when an empty hot spare does not exist.
A storage controlling device according to a first aspect of the present invention is a storage controlling device controlling a storage device having a secondary storage unit for backup and having a primary storage unit that has a plurality of storing units for which a redundant configuration is adopted. This storage controlling device comprises a unit determining whether or not a storing unit in a state of not being in a redundant configuration exists within the primary storage unit, and a unit disassembling one of the storing units in a redundant configuration within the primary storage unit, the data of said one of the storing units being saved in the secondary storage unit for backup, and executing a rebuilding process for a storing unit for which a degradation process has been executed by using the disassembled storing unit if the storing unit that is within the primary storage unit and for which the degradation process has been executed holds the latest data and if the storing unit in the state of not being in a redundant configuration does not exist within the primary storage unit.
Here, a storing unit for which the data is saved in the secondary storage unit for backup and that is in a redundant configuration within the primary storage unit is disassembled (disk pair or RAID is disassembled) and allocated to a degraded disk as a new hot spare if a storing unit (empty hot spare) in a state of not being in a redundant configuration does not exist within the primary storage unit and if the storing unit (disk) that is within the primary storage unit and for which the degradation process has been executed holds the latest data. Accordingly, if a fault occurs in a disk that holds the latest data when an empty hot spare does not exist, non-redundant data can be made redundant at an early stage, whereby the possibility that data will be lost can be decreased.
A storage controlling device according to a second aspect of the present invention is a storage controlling device controlling a storage device that has a primary storage unit having a plurality of mirrored storing units, and that has a secondary storage unit and a spare storage unit. This storage controlling device comprises a first determining unit determining whether or not the spare storage unit exists, a second determining unit determining whether or not data stored in a storing unit that constitutes the primary storage unit is equivalent to data stored in the secondary storage unit, and a processing unit executing a rebuilding process for a degraded storing unit by using the spare storage unit if the first determining unit determines that the spare storage unit exists when the storing unit that constitutes the primary storage unit is degraded; and canceling mirroring of a storing unit, the entire stored data of which is determined by the second determining unit to be equivalent to the data stored in the secondary storage unit, and executing a rebuilding process for the degraded storing unit by using the storing unit for which the mirroring has been canceled if the first determining unit determines that the spare storage unit does not exist when the storing unit that constitutes the primary storage unit is degraded.
It is obvious that operations and effects similar to those resulting when using the storage controlling device can also be implemented with a redundancy restoring method executed by the storage controlling device according to each aspect of the present invention, or with a program for causing the storage controlling device according to each aspect to execute a redundancy restoring process.
According to the present invention, non-redundant data can be made redundant at an early stage if degradation occurs in a disk that holds the latest data when an empty hot spare does not exist, whereby the possibility that data will be lost can be reduced.
A preferred embodiment according to the present invention is described in detail below with reference to the drawings.
As shown in
In the configuration shown in
As the transmission/reception process proceeds between the host 11 and the storage device, some of the disk regions of the primary storage 13 will be allocated to the VLU by the primary storage unit 12, as shown in
In
A storage device is configured with a primary storage unit (disk array device) 40, a hierarchical control server 50, and a secondary storage unit 60.
The primary storage unit 40 is configured with primary storage (disk array) 48 in the form of an array and a controller for controlling and maintaining the primary storage 48.
The controller is configured with a system controlling unit 41 for performing a component degradation process, a system state transition control or other processes, an I/F unit 42 that is an interface with the host 30 and the hierarchical control server 50, a VDE (Virtual Disk Engine) unit 43 for managing mapping information of the disk space of the virtual disk (VLU) and the disk space of a real disk (OLU) and for issuing a “recall” request, “Sync” request, etc. to the MRC of the hierarchical control server, a CA (Channel Adapter) unit 44 for executing a process similar to the I/F unit 42 on the basis of a processing request that the VDE unit converts from a virtual disk to a real disk, a resource controlling unit 45 for managing the resources of the primary storage (e.g., managing shared control table, controlling the host accesses exclusively, etc.), a cache controlling unit 46 for managing the cache memory (whether or not specified data exists in the cache memory) of the primary storage, and a RAID/DA (Device Adapter) unit 47 for controlling an I/F between disks of the primary storage.
The hierarchical control server 50 is configured with a disk driver 51, a migration/recall controller (MRC) 52 for performing a migration/recall or other such process, and an I/F unit 53 that is an interface between a secondary storage setting mechanism 61 and the MRC 52.
The secondary storage unit 60 is configured with secondary storage 63 for backup, a driving device 62 for the secondary storage 63, and a secondary storage setting mechanism 61 for setting/removing the secondary storage 63 in/from the driving device 62.
The primary storage unit (disk array device) manages, by using a mapping management table, the state of data; for example, it manages whether or not data instructed from the host exists and in which portion of the primary storage the data exists if it exists. The mapping management table is configured with a plurality of blocks called migration recall blocks (MRBs). The migration indicates an operation for writing data of the primary storage to the secondary storage, whereas the recall indicates an operation for reading data of the secondary storage into the primary storage.
As described above, a storage controlling device according to a first aspect of the present invention is a storage controlling device controlling a storage device having a secondary storage unit for backup and having a primary storage unit that has a plurality of storing units for which a redundant configuration is adopted. Also as described above, this storage controlling device comprises a unit determining whether or not a storing unit in a state of not being in a redundant configuration exists within the primary storage unit, and a unit disassembling one of the storing units in a redundant configuration within the primary storage unit, the data of the one of the storing units being saved in the secondary storage unit for backup, and executing a rebuilding process for a storing unit for which a degradation process has been executed by using the disassembled storing unit if the storing unit that is within the primary storage unit and for which the degradation process has been executed holds the latest data and if the storing unit in the state of not being in a redundant configuration does not exist within the primary storage unit. The execution of the degradation process and the determination of the storing unit that is not in a redundant configuration correspond to part of the function of a system controlling unit 41 (shown in
The meanings of the fields in
Index No: A serial number for all MRBs.
Valid Flag: A flag indicating whether or not a block is used.
VTOC Flag: A flag indicating whether or not the block is allocated to a VTOC data region.
MRB Status: Indicates the state of data managed by the block. In this field, the values of Miss, Hit, or Dirty can be set. The meanings of the respective values are as follows.
Dirty: Data is being updated in the primary storage (the primary storage holds the latest data, and data of the primary storage and that of the secondary storage are not equal).
Hit: Data of the primary storage and that of the secondary storage are equal.
Miss: Data is not allocated to the primary storage and is held in the secondary storage.
MRB Unit Size: The size (unit: Logical Block Address, LBA) of data of the primary storage, which is managed by the block.
OLU No: The number of the OLU (Open Logical Unit) of the primary storage, for which allocation is managed by the block.
VLU No: The number of the VLU for which allocation is managed by the block.
Start OLBA: The starting LBA of the OLU in the primary storage, for which allocation is managed by the block.
MRB No: A field indicating the number of the block from the beginning in the VLU.
Time: The time at which the last access is made to the data managed by the block.
In the example shown in
Additionally, in this figure, the starting LBAs (Start OLBA of
Operations of the disk array device according to this preferred embodiment are described below. Namely, a process that is executed on the disk array device side when the disk array device receives a transmission/reception request from the host, which is the request that becomes a trigger changing the state (Dirty, Hit, or Miss) of data within the MRB block, is initially described, and a redundancy restoring process when disk degradation occurs within the disk array device, which is executed by referencing such a state of the data in the MRB block, is described next.
As described above, the transmission/reception request from the host 11 is firstly received by the primary storage unit (disk array device). The above described Dirty, Hit, and Miss exist as the state of data within the primary storage 13, which is managed by the primary storage unit.
In
Additionally, if a transmission/reception request (read/write instruction) for data in the Dirty state in the primary storage 13 is received from the host 11, for example, a transmission/reception process for the data is executed between the host 11 and the primary storage 13.
Furthermore, if a transmission/reception request (read/write instruction) for data in the Hit state in the primary storage 13 is received from the host 11, for example, a transmission/reception process for the data is executed between the host 11 and the primary storage 13.
Initially in
Then, in step S103, whether or not data (specified data) targeted by the transmission/reception request exists in the primary storage is determined by searching MRB blocks with the use of a VLU number (VLU No. in
In step S106, the VDE unit 43 changes the state of an MRB depending on need. For example, if a data transfer is made from the secondary storage for an MRB in the Miss state, the state of the MRB is changed to Hit upon completion of the data transfer.
Then, in step S107, whether or not the specified data exists in the cache memory is determined by the cache controlling unit 46. If the specified data is determined to not exist in the cache memory, the data on the disk is deployed in the cache memory by the RAID/DA unit 47 in step S108, and the flow proceeds to step S109. Or, if the specified data is determined to exist in the cache memory in step S107, the flow immediately proceeds to step S109.
In step S109, the data transfer process is executed between the host and the primary storage unit itself. Namely, if the instruction from the host is a read instruction, the data is transferred to the host. If the instruction from the host is a write instruction, the data is transferred from the host to the disk array device side.
Then, in step S110, whether or not the read/write instruction is properly executed is reported to the host, and the series of processes is terminated.
Namely, in step S201, this series of processes is started by being triggered by a degradation process executed by the system controlling unit 41 for a faulty disk.
Then, in step S202, whether or not an unused hot spare exists is determined by the system controlling unit 41 by referencing the disk configuration information. If the unused hot spare exists, in step S203, the RAID/DA unit 47 rebuilds an RLU (RAID Logical Unit) where degradation occurs in one disk by using the hot spare, and the series of processes is terminated. The RLU indicates a disk group in a state of being grouped to form a RAID. A plurality of MRBs are allocated to the RLU.
Alternately, if the unused hot spare is determined to not exist in step S202, the VDE unit 43 determines whether or not the RLU where degradation occurs in one disk holds data in the Dirty state by referencing the states (MRB status of
If the RLU where degradation occurs in one disk is determined not to hold the data in the Dirty state in step S204, the series of processes is terminated. Or, if the RLU where degradation occurs in one disk is determined to hold the data in the Dirty state, the VDE unit 43 searches for whether or not an RLU only having data in the Miss or the Hit state exists by referencing the states (MRB Status of
Then, in step S206, the VDE unit 43 determines whether or not an RLU that satisfies the condition, namely, an RLU to which only MRBs in the Miss or Hit state are allocated, is found. If the corresponding RLU is determined to not be found, whether or not an RLU yet to be searched for exists is determined in step S207. If the RLU yet to be searched for does not exist, namely, if all of the RLUs have been searched for, the series of processes is terminated.
Or, if the RLU yet to be searched for exists, the flow returns to step S205.
If an RLU that satisfies the condition is determined to be found in step S206, the VDE unit 43 deletes the Hit data of the RLU in step S208. Namely, the values of the fields other than the Index No. of the MRB blocks are initialized. Then, in step S209, the system controlling unit 41 changes the disk configuration information so that the RLU is disassembled and managed as a hot spare. Then, in step S210, the RAID/DA unit 47 rebuilds the RLU where degradation occurs in one disk by using the hot spare obtained in step S209, and the series of processes is terminated.
In
As described above, in this preferred embodiment, if an empty hot spare does not exist and if disk degradation occurs in an RLU that holds data in the Dirty state, a RAID having only Hit data is disassembled and allocated as a new hot spare to the RLU in which degradation occurs in one disk. Therefore, if disk degradation occurs in an RLU that holds data in the Dirty state when an empty hot spare does not exist, non-redundant data can be made redundant at an early stage, leading to a decrease in the possibility that data will be lost.
The redundancy restoring process for a disk in which degradation occurs according to this preferred embodiment can be configured as software.
In
In
The program according to the present invention for executing the redundancy restoring process for a disk in which degradation occurs can be executed by being loaded into the memory of the disk array device 91 from the ROM or the storage device within the disk array device 91, by being loaded into the memory of the disk array device 91 from a portable storage medium 92, or by being loaded into the memory of the disk array device 91 from an external storage device 93 via a network 94.
The above description adopts mirroring as the redundant configuration of the disk array device. However, other redundancy configurations can be adopted.
This application is a continuation of international PCT application No. PCT/JP2005/001857 filed on Feb. 8, 2005.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP05/01857 | Feb 2005 | US |
Child | 11826453 | Jul 2007 | US |