WO2012005113A1 - ストレージ装置及びストレージ装置のリビルド処理方法 - Google Patents

ストレージ装置及びストレージ装置のリビルド処理方法 Download PDF

Info

Publication number
WO2012005113A1
WO2012005113A1 PCT/JP2011/064278 JP2011064278W WO2012005113A1 WO 2012005113 A1 WO2012005113 A1 WO 2012005113A1 JP 2011064278 W JP2011064278 W JP 2011064278W WO 2012005113 A1 WO2012005113 A1 WO 2012005113A1
Authority
WO
WIPO (PCT)
Prior art keywords
control unit
rebuild
write cache
address
data
Prior art date
Application number
PCT/JP2011/064278
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/805,377 priority Critical patent/US9298635B2/en
Publication of WO2012005113A1 publication Critical patent/WO2012005113A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Definitions

  • the present invention relates to a storage apparatus that performs rebuild processing and a rebuild processing method of the storage apparatus.
  • a storage device that stores data redundantly using a plurality of magnetic disk devices is known. Such a storage apparatus performs a process of logically disconnecting the failed magnetic disk device when one of the magnetic disk devices fails. Then, the storage apparatus continues to operate in a degenerate state without redundancy using the remaining magnetic disk apparatus that has not failed.
  • the user In order to restore a storage device operating in a degraded state to a redundant state, the user needs to remove the failed magnetic disk device from the storage device and install a new magnetic disk device to the storage device. . When a new magnetic disk device is attached in this way, the storage device executes a rebuild process for storing the rebuilt data in the newly attached magnetic disk device. When this rebuild process is completed, the storage apparatus is restored to a redundant state.
  • the rebuild process described above is performed in parallel with the process related to the access to the magnetic disk apparatus by a normal operation. For this reason, writing to the newly attached magnetic disk device is concentrated, and the performance of the system including the storage device may be lowered.
  • the rebuild process interrupt ratio is set to a small value, the performance of the system including the storage device will not deteriorate, but the execution time of the rebuild process will increase. For this reason, the time during which the storage apparatus operates in the degenerated state becomes longer, and the possibility of system down due to the occurrence of a new magnetic disk apparatus failure increases.
  • the method for setting the interrupt ratio described above cannot solve the problems of the degradation of the performance of the system including the storage device and the lengthening of the rebuild process.
  • Patent Document 1 it is possible to speed up writing to the magnetic disk device by enabling the write cache of the newly installed magnetic disk device. For this reason, if the technique of Patent Document 1 is used, it is considered that it is possible to increase the speed of the rebuild process without degrading the performance of the system including the storage apparatus.
  • the present invention has been made in view of the above circumstances, and its purpose is to speed up the rebuild process without degrading the performance of the system including the storage device, and to prevent sudden power interruption during the rebuild process. It is another object of the present invention to provide a storage device and a rebuild processing method for the storage device that can cope with the above.
  • the present invention provides a storage unit including a plurality of storage devices having a write cache, a first control unit that stores data redundantly in the plurality of storage devices, and a second process for performing a rebuild process for reconstructing the data.
  • the control unit a write cache control unit that enables the write cache of the storage device that stores the reconstructed data during the rebuild process, and the rebuild is completed and written to the write cache as progress information of the rebuild process
  • a progress management unit configured using a non-volatile memory for managing the address of the reconstructed data, and when the power is turned on after the power is turned off during the rebuild process, the second Based on the progress information of the rebuild process managed by the progress management unit, the control unit of Calculating a preparative capacity equivalent previous address of a cache, a storage device, characterized in that to resume the rebuild process from the address corresponding calculated.
  • the present invention it is possible to speed up the rebuild process without degrading the performance of the system including the storage apparatus, and it is possible to cope with sudden power interruption during the rebuild process, and the rebuild process of the storage apparatus Can provide a method.
  • FIG. 1 is a block diagram showing a configuration of a storage system according to a first embodiment of the present invention. It is a flowchart which shows the rebuild process which concerns on the same embodiment. It is a flowchart which shows the rebuild process after the power supply restarts which concerns on the same embodiment. It is a block diagram which shows the structure of the storage system which concerns on the 2nd Embodiment of this invention. It is a flowchart which shows the initialization process which concerns on the same embodiment. It is a flowchart which shows the initialization process after the power supply restarts which concerns on the embodiment.
  • FIG. 1 is a diagram schematically showing the configuration of the storage system 100. As shown in FIG. 1, the storage system 100 includes a host device 1 and a storage device 2.
  • the host device 1 transmits various commands such as a write command and a read command to the storage device 2.
  • the host device 1 receives information such as read data and various statuses from the storage device 2.
  • the storage device 2 executes processing based on various commands received from the host device 1. For example, when the storage apparatus 2 receives a write command from the host apparatus 1, the storage apparatus 2 stores data based on the write command. Further, for example, when the storage apparatus 2 receives a read command from the upper apparatus 1, the storage apparatus 2 transmits data based on the read command to the upper apparatus 1.
  • the storage device 2 includes a controller unit 10 and a disk unit 20 that is a storage unit.
  • the controller unit 10 includes a processor unit 11 that is a first control unit, a disk control unit 12, a rebuild execution control unit 13 that is a second control unit, a rebuild progress management unit 14 that is a progress management unit, and a write cache control unit 15. Is included.
  • the disk unit 20 includes magnetic disk devices 21, 22, and 23 that are storage devices. These magnetic disk devices 21, 22 and 23 have write caches 24, 25 and 26 and disks 27, 28 and 29, respectively.
  • the processor unit 11 is connected to the host device 1 and the disk control unit 12, respectively.
  • the disk control unit 12 is connected to the processor unit 11, the rebuild execution control unit 13, the rebuild progress management unit 14, and the magnetic disk devices 21, 22, and 23, respectively.
  • the rebuild execution control unit 13 is connected to the disk control unit 12, the rebuild progress management unit 14, and the write cache control unit 15, respectively.
  • the magnetic disk devices 21, 22, and 23 are devices for storing data.
  • RAID 5 is configured by the magnetic disk devices 21, 22, and 23. Therefore, the magnetic disk devices 21, 22, and 23 can store the write data transmitted from the host device 1 in a redundant manner.
  • Write caches 24, 25, and 26 are caches that temporarily store write data.
  • the write caches 24, 25, and 26 are set to be valid or invalid based on an instruction from the write cache control unit 15. Since the magnetic disk device with the write cache enabled can return a response to the disk control unit 12 when the write data is held in the write cache, the data writing speed can be increased.
  • the disks 27, 28, and 29 store data respectively.
  • controller unit 10 Next, the controller unit 10 will be described.
  • the processor unit 11 decodes various commands received from the host device 1. Further, the processor unit 11 gives an operation instruction to the disk control unit 12 based on the decoded command.
  • the processor unit 11 when the processor unit 11 receives a write command from the host device 1, the processor unit 11 decodes the write command. Then, the processor unit 11 performs control to redundantly store data in the magnetic disk devices 21, 22, and 23 based on the decoded write command.
  • the processor unit 11 when the processor unit 11 receives a read command from the higher-level device 1, the processor unit 11 decodes the read command. The processor unit 11 performs control to read data based on the decoded read command from the magnetic disk devices 21, 22, and 23. The read data is transmitted to the host device 1.
  • the writing of the write data or the reading of the read data is performed using the RAID information related to RAID 5 set in the magnetic disk devices 21, 22, and 23. Since the processing using the RAID information is the same as that conventionally performed, the description thereof is omitted.
  • the disk control unit 12 Upon receiving an instruction from the write cache control unit 15 via the processor unit 11, rebuild execution control unit 13, and rebuild execution control unit 13, the disk control unit 12 transmits an instruction based on the instructions to the disk unit 20. To do.
  • the rebuild execution control unit 13 executes a rebuild process for the magnetic disk devices 21, 22, and 23. This rebuild process is performed when a failure occurs in any of the magnetic disk devices 21, 22, and 23 in the disk unit 20, and the failed magnetic disk device is replaced with a new magnetic disk device. . When a new magnetic disk device is detected, the rebuild execution control unit 13 sets the data stored in the newly attached magnetic disk device for each predetermined amount of data based on the data stored in the other magnetic disk device. Rebuilding is performed, and the rebuilt data is stored in the new magnetic disk device for each predetermined data amount.
  • the rebuild execution control unit 13 is based on progress information (described later) of the rebuild process managed by the rebuild progress management unit 14 when the power is turned on after the storage apparatus 2 is turned off. Then, the address corresponding to the capacity of the write cache is calculated from the address of the data written last (rebuilt), and the rebuild process is restarted from the calculated address.
  • the rebuild progress management unit 14 manages progress information of the rebuild process while the rebuild process described above is being executed.
  • the progress information is an address (hereinafter referred to as first pointer information) of data that has been written to the write cache and has been rebuilt for each predetermined amount of data.
  • the rebuild progress management unit 14 is configured using a nonvolatile memory. Therefore, the first pointer information is held in the rebuild progress management unit 14 even when the storage apparatus 2 is powered off.
  • the write cache control unit 15 controls to enable the write cache of the magnetic disk device that stores the rebuilt data during the rebuild process. When the rebuild process is completed, control is performed to invalidate the write cache of the magnetic disk device.
  • the control instruction for enabling or disabling the write cache is transmitted from the write cache control unit 15 to the magnetic disk device that stores the rebuilt data via the rebuild execution control unit 13 and the disk control unit 12.
  • the rebuild execution control unit 13 determines whether or not a new magnetic disk device is detected in the disk unit 20 based on information from the disk control unit 12 (S101). Since the technology for determining whether or not a new magnetic disk device has been detected in the disk unit 20 is the same as that conventionally used, detailed description thereof will be omitted.
  • step S101 If it is not determined that a new magnetic disk device has been detected (S101: NO), the rebuild execution control unit 13 returns to the process of step S101.
  • the rebuild execution control unit 13 transmits detection information indicating that a new magnetic disk device has been detected to the write cache control unit 15 (S102). ).
  • the write cache control unit 15 transmits an instruction to enable the newly detected write cache of the magnetic disk device to the rebuild execution control unit 13.
  • the rebuild execution control unit 13 when the rebuild execution control unit 13 receives an instruction from the write cache control unit 15 to validate the newly detected write cache of the magnetic disk device, the rebuild execution control unit 13 sends the instruction to the new magnetic disk device via the disk control unit 12. (S103). As a result, the write cache of the new magnetic disk device becomes valid.
  • the rebuild execution control unit 13 executes a rebuild process (S104). More specifically, the rebuild execution control unit 13 sets a magnetic disk device other than the newly detected magnetic disk device as a source drive and a newly detected magnetic disk device as a target drive. Then, the rebuild execution control unit 13 reads a predetermined amount of data from these source drives, rebuilds the data from the read data, and stores the rebuilt data in the target drive.
  • the rebuild progress management unit 14 manages the progress information of the rebuild process executed by the rebuild execution control unit 13 (S105). That is, the rebuild progress management unit 14 updates the above-described first pointer information every time writing of the rebuilt data having a predetermined amount of data to the write cache is completed.
  • the rebuild execution control unit 13 determines whether or not the rebuild process has ended (S106). If it is determined that the rebuild process has not ended (S106: NO), the rebuild execution control unit 13 performs the process of step S104, and the rebuild progress management unit 14 performs the process of step S105.
  • the rebuild execution control unit 13 transmits end information indicating that the rebuild process has ended to the write cache control unit 15 (S107).
  • the write cache control unit 15 transmits an instruction to invalidate the newly detected write cache of the magnetic disk device to the rebuild execution control unit 13.
  • the rebuild execution control unit 13 When the rebuild execution control unit 13 receives an instruction to invalidate the newly detected write cache of the magnetic disk device from the write cache control unit 15, the rebuild execution control unit 13 sends the instruction to the newly detected magnetic disk device via the disk control unit 12. Transmit (S108). When the newly detected magnetic disk device receives the instruction, it invalidates the write cache.
  • the rebuild process is executed as described above. After execution of this rebuild process, the storage apparatus 2 is restored to a redundant state.
  • a rebuild is executed when a failure such as a power failure occurs and the storage apparatus 2 is turned off and then the storage apparatus 2 is powered on again.
  • the process of the control unit 13 will be described with reference to FIG.
  • the rebuild execution control unit 13 acquires the first pointer information managed by the rebuild progress management unit 14 (S201).
  • the rebuild progress management unit 14 is composed of a nonvolatile memory. For this reason, even if the storage apparatus 2 is powered off, the first pointer information is held in the rebuild progress management unit 14.
  • the rebuild execution control unit 13 calculates an address for restarting the rebuild process (S202). More specifically, the rebuild execution control unit 13 calculates an address corresponding to the capacity of the write cache from the address indicated by the first pointer information acquired in step S201. This calculated address becomes the restart address for restarting the rebuild process.
  • the rebuild execution control unit 13 executes a rebuild process or the like from the restart address calculated in step S202 (S203 to S207).
  • the processes in steps S203 to S207 are the same as the processes in steps S104 to S108 described above with reference to FIG.
  • An example of the rebuild process will be described.
  • An example described below is a case where the magnetic disk device 21 is detected as a new magnetic disk device.
  • the rebuild execution control unit 13 transmits detection information to the write cache control unit 15 when the magnetic disk device 21 is detected as a new magnetic disk device.
  • the write cache control unit 15 that has received the detection information transmits an instruction to validate the write cache 24 of the magnetic disk device 21. This instruction is transmitted to the magnetic disk device 21 via the rebuild execution control unit 13 and the disk control unit 12. As a result, the write cache 24 of the magnetic disk device 21 becomes valid.
  • the rebuild execution control unit 13 starts the rebuild process.
  • the rebuild execution control unit 13 sets the magnetic disk devices 22 and 23 as source drives and the magnetic disk device 21 as target drives. Then, the rebuild execution control unit 13 reads data stored in the disks 28 and 29 of the source drive by a predetermined data amount. Then, the rebuild execution control unit 13 rebuilds the data from the read data, and stores the rebuilt data in the write cache 24 of the magnetic disk device 21. The rebuild execution control unit 13 repeats this process for each predetermined amount of data.
  • the write cache 24 of the magnetic disk device 21 is valid. For this reason, the rebuilt data is temporarily stored in the write cache 24 and then sequentially stored in the disk 27. Accordingly, since the magnetic disk device 21 can return a response to the disk control unit 12 when the rebuilt data is held in the write cache 24, the magnetic disk device 21 can perform processing for storing data at high speed. . For this reason, even if the rebuild process and the process related to the access by the normal business are performed at the same time, it is possible to prevent the performance of the storage system 100 from being degraded.
  • the rebuild progress management unit 14 updates the first pointer information every time storage of the rebuilt data in the magnetic disk device 21 (that is, writing to the write cache 24) is completed. Accordingly, the rebuild progress management unit 14 manages to which address in the storage area of the magnetic disk device 21 the rebuild process has been completed.
  • the operations of the controller unit 10 and the disk unit 20 are stopped. Therefore, the rebuild process being executed by the rebuild execution control unit 13 is also stopped.
  • the rebuild progress management unit 14 is composed of a nonvolatile memory. For this reason, even if the storage apparatus 2 is in a power-off state, the first pointer information is retained in the rebuild progress management unit 14.
  • the rebuild execution control unit 13 acquires the first pointer information held by the rebuild progress management unit 14. Subsequently, the rebuild execution control unit 13 calculates a restart address corresponding to the capacity of the write cache 24 from the address indicated by the first pointer information, and restarts the rebuild process from the calculated restart address.
  • the rebuild execution control unit 13 restarts the rebuild process from an address corresponding to the capacity of the write cache 24 before the address indicated by the first pointer information. For this reason, even if the storage device 2 is in a power-off state and the data rebuilt from the write cache 24 is lost, there is no problem in the rebuild process. For example, the storage apparatus 2 does not need to perform inefficient processing such as redoing the rebuild process.
  • the lost data can be rebuilt from the data stored in the disk 28 of the magnetic disk device 22 and the disk 29 of the magnetic disk device 23.
  • the storage device 2 can perform the rebuild process by enabling the write cache 24 of the magnetic disk device 21. For this reason, the rebuild process can be speeded up without degrading the processing performance of the storage apparatus 2.
  • the storage device 2 can speed up the rebuild process. For this reason, the storage apparatus 2 can reduce the time for operating in the degenerated state. As a result, the storage device 2 can reduce the possibility of a system down due to a failure of the second magnetic disk device during operation in the degenerated state.
  • the storage apparatus 2 can restart the rebuild process from the address corresponding to the capacity of the write cache 24 from the address indicated by the first pointer information managed by the rebuild progress management unit 14 when the power is turned on again. . For this reason, it is possible to cope with a situation in which data on the write cache 24 is lost due to the power-off of the storage device 2.
  • an initialization execution control unit 16 that is a third control unit is added to the controller unit 2 of the first embodiment, and the rebuild initial stage is replaced with the rebuild progress management unit 14.
  • the present embodiment is different from the first embodiment in that a write cache control unit 18 is provided instead of the update progress management unit 17 and the write cache control unit 15. Since other configurations are the same as those in the first embodiment, the same reference numerals are given to the same configurations, and detailed descriptions of the same points as those in the first embodiment are omitted. .
  • the initialization execution control unit 16 is connected to the processor unit 11, the disk control unit 12, the rebuild initialization progress management unit 17, and the write cache control unit 18, respectively.
  • the rebuild initialization progress management unit 17 is connected to the disk control unit 12, the rebuild execution control unit 13, and the initialization execution control unit 16, respectively.
  • the write cache control unit 18 is connected to the rebuild execution control unit 13 and the initialization execution control unit 16, respectively.
  • the initialization execution control unit 16 executes an initialization process for the magnetic disk devices 21, 22, and 23. More specifically, when the initialization execution control unit 16 receives an initialization command from the host device 1 via the processor unit 11, the initialization execution control unit 16 sequentially initializes the magnetic disk devices 21, 22, and 23. Here, the initialization means overwriting fixed data having a predetermined data amount on the magnetic disk devices 21, 22, and 23.
  • the initialization execution control unit 16 also proceeds with initialization process progress information (to be described later) managed by the rebuild initialization progress management unit 17 when the storage apparatus 2 is turned on after the power is turned off. ) Based on the address of the last written fixed data, an address corresponding to the capacity of the write cache is calculated, and the initialization process is restarted from the calculated address.
  • the rebuild initialization progress management unit 17 manages the progress information of the rebuild process when the rebuild execution control unit 13 executes the rebuild process.
  • the rebuild initialization progress management unit 17 manages the progress information of the initialization process when the initialization execution control unit 16 executes the initialization process. Note that the management of progress information during the rebuild process is the same as that described in the first embodiment, and a description thereof will be omitted.
  • the rebuild initialization progress management unit 17 manages the progress information of the initialization process while the above-described initialization process is being executed.
  • This progress information is an address of fixed data written in the write cache (hereinafter referred to as second pointer information).
  • the rebuild initialization progress management unit 17 is configured using a nonvolatile memory. For this reason, the second pointer information is held in the rebuild initialization progress management unit 17 even when the storage apparatus 2 is powered off.
  • the write cache control unit 18 controls to enable or disable the write cache as described in the first embodiment. Further, the write cache control unit 18 controls to enable the write cache of the magnetic disk device that performs the initialization when the initialization execution control unit 16 executes the initialization process. Further, the write cache control unit 18 performs control to invalidate the write cache of the magnetic disk device that has been initialized.
  • the initialization execution control unit 16 receives an instruction for initialization processing from the host device 1 via the processor unit 11, the initialization execution control unit 16 starts the initialization processing.
  • the initialization execution control unit 16 performs processing for selecting the magnetic disk devices 21, 22, and 23 (S301).
  • the magnetic disk devices are initialized in the order of the magnetic disk devices 21, 22, and 23. Therefore, the magnetic disk devices 21, 22, and 23 are selected in this order.
  • the initialization execution control unit 16 transmits selection information indicating the selected magnetic disk device to the write cache control unit 18 (S302).
  • the write cache control unit 18 transmits an instruction to enable the write cache of the selected magnetic disk device that performs the initialization to the initialization execution control unit 16.
  • the initialization execution control unit 16 When the initialization execution control unit 16 receives from the write cache control unit 18 an instruction to validate the write cache of the magnetic disk device that performs initialization, the magnetic disk device performs initialization via the disk control unit 12. (S303). As a result, the write cache of the magnetic disk device that performs the initialization becomes valid.
  • the initialization execution control unit 16 executes an initialization process (S304). More specifically, the initialization execution control unit 16 performs a process of overwriting fixed data on the disk of the magnetic disk device to be initialized.
  • the rebuild initialization progress management unit 17 manages the progress information of the initialization process (S305). That is, the rebuild initialization progress management unit 17 updates the above-described second pointer information every time the fixed data overwriting process is completed.
  • the initialization execution control unit 16 determines whether or not the initialization process has been completed (S306). If it is determined that the initialization process has not ended (S306: NO), the initialization execution control unit 16 performs the process of step S304, and the rebuild initialization progress management unit 17 performs the process of step S305.
  • the initialization execution control unit 16 sends end information indicating that the initialization process of the selected magnetic disk device has been completed to the write cache control unit 18. (S307). Upon receiving the end information, the write cache control unit 18 transmits an instruction to invalidate the write cache of the magnetic disk device to the initialization execution control unit 16.
  • the initialization execution control unit 16 When receiving an instruction to invalidate the write cache of the magnetic disk device from the write cache control unit 18, the initialization execution control unit 16 transmits the instruction to the magnetic disk device via the disk control unit 12 (S308). . As a result, the write cache of the magnetic disk device that has been initialized is invalidated.
  • the initialization execution control unit 16 determines whether all magnetic disk devices have been selected (S309). More specifically, the initialization execution control unit 16 selects the magnetic disk devices 21, 22, and 23, respectively, and determines whether or not the initialization process for all of these magnetic disk devices 21, 22, and 23 has been completed. .
  • the initialization execution control unit 16 repeats the processing from step S301 to S308. That is, the initialization execution control unit 16 initializes the next magnetic disk device to be selected.
  • the initialization execution control unit 16 ends the initialization process.
  • the initialization execution control unit 16 acquires the second pointer information managed by the rebuild initialization progress management unit 17 (S401).
  • the rebuild initialization progress management unit 17 is composed of a nonvolatile memory. For this reason, even if the storage apparatus 2 is powered off, the second pointer information is held in the rebuild initialization progress management unit 17.
  • the initialization execution control unit 16 calculates a restart address for restarting the initialization process (S402). More specifically, the initialization execution control unit 16 calculates an address equivalent to the write cache capacity from the address indicated by the second pointer information acquired in step S401. This calculated address becomes a restart address for restarting the initialization process.
  • the initialization execution control unit 16 calculates the restart address in step S402, proceeds to step S304 described above, and restarts the initialization process from the restart address.
  • the subsequent processing after step S305 is the same as that already described with reference to FIG. 5, and thus detailed description thereof is omitted.
  • the storage device 2 of the second embodiment can speed up the initialization process because the write cache of the magnetic disk device that performs the initialization process can be validated.
  • the capacity of the write cache is determined from the address indicated by the second pointer information managed by the rebuild initialization progress management unit 17 when the power is turned on again.
  • the initialization process can be resumed from a considerably previous address. For this reason, even if the data on the write cache is lost due to the power-off of the storage device 2, all the storage areas of the magnetic disk devices 21, 22, and 23 can be reliably initialized.
  • the storage apparatus 2 executes the initialization process in addition to the rebuild process.
  • the configuration for the rebuild process and the configuration for the initialization process need not be provided in the same storage apparatus.
  • the storage apparatus that performs the initialization process is provided with the function related to the initialization process described in the second embodiment.
  • a storage unit including a plurality of storage devices having a write cache; A first controller that redundantly stores data in the plurality of storage devices; A second control unit for performing a rebuild process for reconstructing the data; A write cache control unit that enables a write cache of a storage device that stores the reconstructed data during the rebuild process; As the progress information of the rebuild process, a progress management unit configured using a nonvolatile memory that manages the address of the reconstructed data that has been reconstructed and written to the write cache, When the power is turned on after the power is turned off during the rebuild process, the second control unit reconstructs the last written based on the progress information of the rebuild process managed by the progress management unit A storage apparatus characterized in that an address corresponding to the capacity of the write cache is calculated from the address of the written data, and the rebuild process is restarted from the calculated address.
  • (Appendix 2) A third control unit for writing fixed data in the plurality of storage devices and performing initialization processing;
  • the write cache control unit further enables a write cache of a storage device that performs the initialization process,
  • the progress management unit further manages the address of the fixed data written in the write cache as progress information of the initialization process,
  • the third control unit writes the last based on the progress information of the initialization process managed by the progress management unit.
  • a rebuilding method for a storage device comprising: a storage unit including a plurality of storage devices having a write cache; and a control unit that redundantly stores data in the plurality of storage devices, During the rebuild process, enable the write cache of the storage device that stores the rebuilt data, As the progress information of the rebuild process, the reconstruction is completed, and the address of the reconstructed data written in the write cache is managed using a nonvolatile memory, When the power is turned on after the power is turned off during the rebuild process, the address of the reconstructed data written last is determined based on the progress information of the rebuild process managed using the nonvolatile memory. Acquired, Calculate the address corresponding to the capacity of the write cache from the acquired address, Restart the rebuild process from the calculated address; The rebuild processing method characterized by the above-mentioned.
  • the present invention is widely applicable to storage apparatuses that perform rebuild processing and rebuild processing methods of storage apparatuses.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

 ストレージ装置は、ライトキャッシュを有する複数の磁気ディスク装置と、データを冗長的に記憶するプロセッサ部と、リビルド処理を行うリビルド実行制御部と、リビルド処理時にリビルドしたデータを記憶する記憶装置のライトキャッシュを有効にするライトキャッシュ制御部と、リビルド処理の進捗情報を管理する、不揮発性メモリを用いて構成されるリビルド進捗管理部とを備える。リビルド処理中に電源断となった後電源が再投入された場合、リビルド実行制御部は、進捗管理部で管理されるリビルド処理の進捗情報に基づいて、最後に書き込んだリビルドされたデータのアドレスからライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスからリビルド処理を再開する。

Description

ストレージ装置及びストレージ装置のリビルド処理方法
 本発明は、リビルド処理を行うストレージ装置及びストレージ装置のリビルド処理方法に関する。
 複数の磁気ディスク装置を用いてデータを冗長的に記憶するストレージ装置が知られている。このようなストレージ装置は、磁気ディスク装置が1台故障した場合、当該故障した磁気ディスク装置を論理的に切り離す処理を行う。そして、ストレージ装置は、故障していない残りの磁気ディスク装置を用いた冗長性のない縮退状態で動作を続行する。
 このように縮退状態で動作するストレージ装置を、冗長性のある状態に復旧させるためには、ユーザは、故障した磁気ディスク装置をストレージ装置から取り外し、新しい磁気ディスク装置をストレージ装置に取り付ける必要がある。このように新しい磁気ディスク装置が取り付けられると、ストレージ装置は、新しく取り付けられた磁気ディスク装置にリビルドしたデータを記憶するリビルド処理を実行する。このリビルド処理が終了すると、ストレージ装置は、冗長性のある状態に復旧する。
 また、複数の磁気ディスク装置を用いてデータを冗長的に記憶するディスクアレイ装置において、ディスクアクセス頻度の高いハードディスク装置のライトキャッシュを有効にすることにより、データ書き込みの高速化を図るものが知られている(例えば、特許文献1参照)。
特開2000-305717号公報
 従来のストレージ装置では、既述のリビルド処理は、通常の業務による磁気ディスク装置へのアクセスに関する処理と並行して行われる。このため新しく取り付けた磁気ディスク装置への書き込みが集中し、ストレージ装置を含むシステムの性能は低下する可能性がある。
 このようなシステムの性能の低下を防止するために、通常の業務による磁気ディスク装置へのアクセスに関する処理に対するリビルド処理の割り込み比率を予め設定しておくことが考えられる。
 しかしながら、リビルド処理の割り込み比率を小さく設定した場合、ストレージ装置を含むシステムの性能は低下しないが、リビルド処理の実行時間は長くなる。このため、ストレージ装置が縮退状態で動作する時間は長くなり、新たな磁気ディスク装置の故障発生によるシステムダウンの可能性は高くなる。
 一方、リビルド処理の割り込み比率を高く設定した場合、リビルド処理の実行時間は短くなるが、ストレージ装置を含むシステムの性能が低下する可能性は高くなる。
 つまり、既述の割り込み比率を設定する方法では、ストレージ装置を含むシステムの性能の低下及びリビルド処理の長時間化という問題を合わせて解決することができない。
 また、特許文献1の技術を適用すれば、新しく取り付けた磁気ディスク装置のライトキャッシュを有効にすることにより、当該磁気ディスク装置への書き込みの高速化を図ることは可能である。このため、特許文献1の技術を利用すれば、ストレージ装置を含むシステムの性能を低下させずにリビルド処理の高速化を実現することが可能であるとも考えられる。
 しかしながら、リビルド処理中に、突発的な障害により電源断の状態がストレージ装置に発生すると、ライトキャッシュ上のデータが失われる危険性がある。このようにライトキャッシュ上のデータが失われた場合、ストレージ装置は、リビルド処理がいずれのアドレスまで終了したかが把握できなくなる。このため、電源を再投入した後、ストレージ装置は、例えば、リビルド処理をやり直すこと等の非効率な処理を行う必要が生じることが考えられる。
 本発明は、上記事情に鑑みてなされたものであり、その目的は、ストレージ装置を含むシステムの性能を低下させずにリビルド処理の高速化を図るとともに、リビルド処理中の突発的な電源断にも対応することができるストレージ装置及びストレージ装置のリビルド処理方法を提供することにある。
 本発明は、ライトキャッシュを有する記憶装置を複数含む記憶部と、前記複数の記憶装置にデータを冗長的に記憶する第1の制御部と、前記データを再構築するリビルド処理を行う第2の制御部と、前記リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にするライトキャッシュ制御部と、前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを管理する、不揮発性メモリを用いて構成される進捗管理部とを備え、前記リビルド処理中に電源断となった後電源が投入された場合、前記第2の制御部は、前記進捗管理部で管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記リビルド処理を再開することを特徴とするストレージ装置である。
 本発明によると、ストレージ装置を含むシステムの性能を低下させずにリビルド処理の高速化を図るとともに、リビルド処理中の突発的な電源断にも対応することができるストレージ装置及びストレージ装置のリビルド処理方法を提供できる。
本発明の第1の実施の形態に係るストレージシステムの構成を示すブロック図である。 同実施の形態に係るリビルド処理を示すフローチャートである。 同実施の形態に係る電源再投入後のリビルド処理を示すフローチャートである。 本発明の第2の実施の形態に係るストレージシステムの構成を示すブロック図である。 同実施の形態に係る初期化処理を示すフローチャートである。 同実施の形態に係る電源再投入後の初期化処理を示すフローチャートである。
 以下、本発明の各実施の形態について図面を参照しながら説明する。
(第1の実施の形態)
 図1は、ストレージシステム100の構成を概略的に示す図である。図1に示すように、ストレージシステム100は、上位装置1とストレージ装置2とから構成されている。
 上位装置1は、ストレージ装置2に対してライトコマンド、リードコマンド等の各種コマンドを送信する。また、上位装置1は、ストレージ装置2からリードデータ及び各種ステータス等の情報を受信する。
 ストレージ装置2は、上位装置1から受信した各種コマンドに基づく処理を実行する。例えば、ストレージ装置2は、上位装置1からライトコマンドを受信した場合は、当該ライトコマンドに基づくデータを記憶する。また、例えば、ストレージ装置2は、上位装置1からリードコマンドを受信した場合は、当該リードコマンドに基づくデータを上位装置1に送信する。
 このストレージ装置2は、コントローラ部10と記憶部であるディスク部20とから構成されている。
 コントローラ部10は、第1の制御部であるプロセッサ部11、ディスク制御部12、第2の制御部であるリビルド実行制御部13、進捗管理部であるリビルド進捗管理部14、ライトキャッシュ制御部15を含んでいる。また、ディスク部20は、記憶装置である磁気ディスク装置21、22、23を含んでいる。これら磁気ディスク装置21、22、23は、それぞれ、ライトキャッシュ24、25、26及びディスク27、28、29を有している。
 プロセッサ部11は、上位装置1及びディスク制御部12にそれぞれ接続されている。また、ディスク制御部12は、プロセッサ部11、リビルド実行制御部13、リビルド進捗管理部14、磁気ディスク装置21、22、23にそれぞれ接続されている。リビルド実行制御部13は、ディスク制御部12、リビルド進捗管理部14、ライトキャッシュ制御部15にそれぞれ接続されている。
 先ず、ディスク部20について説明する。
 磁気ディスク装置21,22、23は、データを記憶する装置である。本第1の実施の形態においては、磁気ディスク装置21、22、23によってRAID5が構成されている。したがって、磁気ディスク装置21、22、23は、上位装置1から送信されたライトデータを冗長的に記憶することができる。
 ライトキャッシュ24、25、26は、ライトデータを一時的に保持するキャッシュである。このライトキャッシュ24、25、26は、ライトキャッシュ制御部15の指示に基づいて、有効又は無効に設定される。ライトキャッシュを有効にした磁気ディスク装置は、ライトキャッシュにライトデータを保持したときにディスク制御部12に応答を返却できるので、データ書き込みの高速化を図ることができるようになっている。
 ディスク27、28、29は、それぞれデータを記憶する。
 次に、コントローラ部10について説明する。
 プロセッサ部11は、上位装置1から受信した各種コマンドを解読する。また、プロセッサ部11は、この解読したコマンドに基づいて、ディスク制御部12に動作指示を行なう。
 例えば、プロセッサ部11は、上位装置1からライトコマンドを受信した場合は、当該ライトコマンドを解読する。そして、プロセッサ部11は、当該解読したライトコマンドに基づいて磁気ディスク装置21、22、23にデータを冗長的に記憶する制御を行う。
 また、例えば、プロセッサ部11は、上位装置1からリードコマンドを受信した場合は、当該リードコマンドを解読する。そして、プロセッサ部11は、この解読したリードコマンドに基づくデータを磁気ディスク装置21、22、23から読み出す制御を行う。この読み出したデータは、上位装置1へ送信される。
 上記のライトデータの書き込み、又は、リードデータの読み出しは、磁気ディスク装置21、22、23に設定された既述のRAID5に関するRAID情報を利用して行われる。このRAID情報を利用する処理については、従来よりあるものと同様であるため説明を省略する。
 ディスク制御部12は、プロセッサ部11、リビルド実行制御部13、及びリビルド実行制御部13を介したライトキャッシュ制御部15からの指示を受けると、当該指示に基づく命令をディスク部20に対して送信する。
 リビルド実行制御部13は、磁気ディスク装置21、22、23に対してリビルド処理を実行する。このリビルド処理は、ディスク部20内の磁気ディスク装置21、22、23のいずれかに障害が発生した場合に、当該障害が発生した磁気ディスク装置が新しい磁気ディスク装置に取り替えられたときに行われる。新たな磁気ディスク装置を検出すると、リビルド実行制御部13は、他の磁気ディスク装置に記憶されているデータに基づいて、新たに取り付けられた磁気ディスク装置に記憶するデータを所定のデータ量毎にリビルドし、当該リビルドしたデータを所定のデータ量毎に当該新たな磁気ディスクス装置に記憶する。
 また、リビルド実行制御部13は、ストレージ装置2が電源断の状態になった後電源が投入された場合、リビルド進捗管理部14で管理される前記リビルド処理の進捗情報(後述する。)に基づいて、最後に書き込んだリビルド(再構築)したデータのアドレスからライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスからリビルド処理を再開する制御を行う。
 なお、リビルド処理の詳細については図2を参照して後述するとともに、リビルド処理を再開する処理の詳細については図3を参照して後述する。
 リビルド進捗管理部14は、既述のリビルド処理が実行されている間、そのリビルド処理の進捗情報を管理する。進捗情報は、ライトキャッシュに書き込んだ、所定のデータ量毎のリビルドが完了されたデータのアドレス(以下、第1のポインター情報と称する。)である。このリビルド進捗管理部14は、不揮発性メモリを用いて構成される。このため、ストレージ装置2が電源断となった状態でも第1のポインター情報はリビルド進捗管理部14に保持されるようになっている。
 ライトキャッシュ制御部15は、リビルド処理時に、リビルドしたデータを記憶する磁気ディスク装置のライトキャッシュを有効にする制御をする。また、リビルド処理が終了したときは、当該磁気ディスク装置のライトキャッシュを無効にする制御をする。このライトキャッシュを有効又は無効にする制御の指示は、ライトキャッシュ制御部15から、リビルド実行制御部13及びディスク制御部12を介して、リビルドしたデータを記憶する磁気ディスク装置に送信される。
 次に、リビルド実行制御部13が実行するリビルド処理について図2を参照しながら説明する。
 リビルド実行制御部13は、ディスク部20内に新たな磁気ディスク装置を検出したか否かをディスク制御部12からの情報に基づいて判断する(S101)。このディスク部20内に新たな磁気ディスク装置を検出したか否かを判断する技術は、従来よりあるものと同様であるため詳細な説明は省略する。
 新たな磁気ディスク装置を検出したと判断しなければ(S101:NO)、リビルド実行制御部13は、ステップS101の処理に戻る。
 一方、新たな磁気ディスク装置を検出したと判断すると(S101:YES)、リビルド実行制御部13は、新たな磁気ディスク装置を検出したことを示す検出情報をライトキャッシュ制御部15へ送信する(S102)。ライトキャッシュ制御部15は、当該検出情報を受信すると、新たに検出した磁気ディスク装置のライトキャッシュを有効にする指示をリビルド実行制御部13へ送信する。
 次に、リビルド実行制御部13は、ライトキャッシュ制御部15から新たに検出した磁気ディスク装置のライトキャッシュを有効にする指示を受信すると、当該指示をディスク制御部12を介して新たな磁気ディスク装置に送信する(S103)。これにより、当該新たな磁気ディスク装置のライトキャッシュは、有効になる。
 次に、リビルド実行制御部13は、リビルド処理を実行する(S104)。より詳細には、リビルド実行制御部13は、新たに検出した磁気ディスク装置以外の磁気ディスク装置をソースドライブ、新たに検出した磁気ディスク装置をターゲットドライブとする。そして、リビルド実行制御部13は、これらソースドライブから所定のデータ量のデータを読み出し、当該読み出したデータからデータをリビルドし、当該リビルドしたデータをターゲットドライブに記憶する。
 リビルド進捗管理部14は、リビルド実行制御部13により実効されるリビルド処理の進捗情報を管理する(S105)。すなわち、リビルド進捗管理部14は、既述の第1のポインター情報を、所定のデータ量のリビルドしたデータのライトキャシュへの書き込みが完了する毎に更新する。
 次に、リビルド実行制御部13は、リビルド処理が終了したか否かを判断する(S106)。リビルド処理が終了していないと判断した場合は(S106:NO)、リビルド実行制御部13は、ステップS104の処理を行い、そして、リビルド進捗管理部14はステップS105の処理を行う。
 一方、リビルド処理が終了したと判断した場合は(S106:YES)、リビルド実行制御部13は、リビルド処理が終了したことを示す終了情報をライトキャッシュ制御部15へ送信する(S107)。ライトキャッシュ制御部15は、当該終了情報を受信すると、新たに検出した磁気ディスク装置のライトキャッシュを無効にする指示をリビルド実行制御部13へ送信する。
 リビルド実行制御部13は、ライトキャッシュ制御部15から新たに検出した磁気ディスク装置のライトキャッシュを無効にする指示を受信すると、当該指示をディスク制御部12を介して新たに検出した磁気ディスク装置に送信する(S108)。新たに検出された磁気ディスク装置は、当該指示を受信すると、ライトキャッシュを無効にする。
 以上のようにリビルド処理が実行される。このリビルド処理の実行後、ストレージ装置2は、冗長性のある状態に復旧する。
 次に、既述のリビルド処理の実行中に、例えば、停電等の障害が発生し、ストレージ装置2が電源断の状態になった後、ストレージ装置2に電源が再投入された場合のリビルド実行制御部13の処理について、図3を参照しながら説明する。
 電源が再投入されると、リビルド実行制御部13は、リビルド進捗管理部14で管理されている第1のポインター情報を取得する(S201)。リビルド進捗管理部14は、不揮発性メモリで構成されている。このため、ストレージ装置2が電源断となっても第1のポインター情報はリビルド進捗管理部14に保持されている。
 次に、リビルド実行制御部13は、リビルド処理を再開するアドレスを算出する(S202)。より詳細には、リビルド実行制御部13は、ステップS201で取得した第1のポインター情報が示すアドレスからライトキャッシュの容量相当分前のアドレスを算出する。この算出したアドレスがリビルド処理を再開する再開アドレスとなる。
 次に、リビルド実行制御部13は、ステップS202で算出した再開アドレスから、リビルド処理等を実行する(S203乃至S207)。このステップS203乃至S207の処理は、図2を参照して既述したステップS104乃至S108の処理とそれぞれ同様であるため、説明は省略する。
 次に、リビルド処理の一例について説明する。以下で説明する一例は、磁気ディスク装置21が新たな磁気ディスク装置として検出された場合である。
 リビルド実行制御部13は、磁気ディスク装置21を新たな磁気ディスク装置として検出すると、ライトキャッシュ制御部15へ検出情報を送信する。この検出情報を受信したライトキャッシュ制御部15は、磁気ディスク装置21のライトキャッシュ24を有効にするように指示を送信する。この指示は、リビルド実行制御部13、ディスク制御部12を介して磁気ディスク装置21へ送信される。これにより、磁気ディスク装置21のライトキャッシュ24は有効になる。
 次に、リビルド実行制御部13は、リビルド処理を開始する。先ず、リビルド実行制御部13は、磁気ディスク装置22、23をソースドライブ、磁気ディスク装置21をターゲットドライブとする。そして、リビルド実行制御部13は、ソースドライブのディスク28、29に記憶されているデータを所定のデータ量だけ読み出す。そして、リビルド実行制御部13は、この読み出したデータからデータをリビルドし、当該リビルドしたデータを磁気ディスク装置21のライトキャッシュ24に記憶する。リビルド実行制御部13は、この処理を所定のデータ量毎に繰り返す。
 このリビルド処理においては、磁気ディスク装置21のライトキャッシュ24が有効になっている。このため、リビルドしたデータは、ライトキャッシュ24に一時的に保持された後、順次ディスク27に記憶される。したがって、磁気ディスク装置21はライトキャッシュ24にリビルドしたデータを保持したときにディスク制御部12へ応答を返却することができるので、磁気ディスク装置21はデータを記憶する処理を高速に行うことができる。このため、リビルド処理と通常業務によるアクセスに関する処理とを同時に行っても、ストレージシステム100の性能の低下は防止できる。
 また、リビルド処理時、リビルド進捗管理部14は、リビルドしたデータの磁気ディスク装置21への記憶(つまり、ライトキャッシュ24への書き込み)が完了する毎に第1のポインター情報を更新する。したがって、磁気ディスク装置21の記憶領域のいずれのアドレスまでリビルド処理が完了したかは、リビルド進捗管理部14で管理される。
 このリビルド処理の実行中に、ストレージ装置2が電源断の状態になると、コントローラ部10及びディスク部20の動作は停止する。したがって、リビルド実行制御部13が実行しているリビルド処理も停止する。
 このとき、磁気ディスク装置21に記憶された既述のリビルドされたデータのうち、磁気ディスク装置21のディスク27に記憶されたデータは失われない。しかしながら、当該データのうちライトキャッシュ24に保持されていたデータは失われる。
 一方、リビルド進捗管理部14は不揮発性のメモリで構成されている。このため、ストレージ装置2が電源断の状態になっても、第1のポインター情報はリビルド進捗管理部14に保持されている。
 電源断の状態が解消され、ストレージ装置2に電源が再投入されると、リビルド実行制御部13は、リビルド進捗管理部14が保持している第1のポインター情報を取得する。続いて、リビルド実行制御部13は、当該第1のポインター情報が示すアドレスからライトキャッシュ24の容量相当分前の再開アドレスを算出し、当該算出した再開アドレスからリビルド処理を再開する。
 リビルド実行制御部13は、第1のポインター情報が示すアドレスよりライトキャッシュ24の容量相当分前のアドレスからリビルド処理を再開する。このため、ストレージ装置2が電源断の状態になり、ライトキャッシュ24からリビルドされたデータが失われても、リビルド処理に不具合は生じない。例えば、ストレージ装置2は、リビルド処理をやり直す等の非効率な処理をする必要は生じない。
 なお、ストレージ装置2が電源断の状態になったときに通常業務によるアクセスに基づくデータがライトキャッシュ24に保持されていた場合は、当該データもリビルドされたデータと同様に失われる。しかしながら、この失われたデータは、磁気ディスク装置22のディスク28および磁気ディスク装置23のディスク29に記憶されているデータからリビルドすることができる。
 本第1の実施の形態のストレージ装置2は、磁気ディスク装置21のライトキャッシュ24を有効にしてリビルド処理を行うことができる。このため、ストレージ装置2の処理の性能を低下させずにリビルド処理を高速化することができる。
 また、以上のようにストレージ装置2はリビルド処理を高速化することができる。このため、ストレージ装置2は縮退状態で動作する時間を短縮することができる。この結果、ストレージ装置2は、縮退状態での動作時に、2台目の磁気ディスク装置の故障によるシステムダウンの可能性を低くすることができる。
 さらに、ストレージ装置2は、電源の再投入時にリビルド進捗管理部14に管理される第1のポインター情報が示すアドレスからライトキャッシュ24の容量分相当分前のアドレスからリビルド処理を再開することができる。このため、ストレージ装置2の電源断によってライトキャッシュ24上のデータが失われる事態に対応することができる。
(第2の実施の形態)
 次に第2の実施の形態について説明する。この第2の実の施形態は、第1の実施の形態のコントローラ部2に、第3の制御部である初期化実行制御部16を追加するとともに、リビルド進捗管理部14に代えてリビルド初期化進捗管理部17及びライトキャッシュ制御部15に代えてライトキャッシュ制御部18を設けている点が第1の実施の形態と異なっている。なお、その他の構成については、第1の実施の形態と同一であるため、同一の構成には同一の符号を付し、第1の実施の形態と同様な点については詳細な説明を省略する。
 図4に示すように、初期化実行制御部16は、プロセッサ部11、ディスク制御部12、リビルド初期化進捗管理部17、ライトキャッシュ制御部18とそれぞれ接続されている。リビルド初期化進捗管理部17は、ディスク制御部12、リビルド実行制御部13、初期化実行制御部16にそれぞれ接続されている。ライトキャッシュ制御部18は、リビルド実行制御部13、初期化実行制御部16にそれぞれ接続されている。
 初期化実行制御部16は、磁気ディスク装置21、22、23の初期化処理を実行する。より詳細には、初期化実行制御部16は、上位装置1からプロセッサ部11を介して初期化命令を受け取ると、磁気ディスク装置21、22、23を順次初期化する。ここで、初期化とは、所定のデータ量の固定データを磁気ディスク装置21、22、23へ上書きすることをいう。
 また、初期化実行制御部16は、ストレージ装置2が電源断の状態になった後電源が投入された場合、リビルド初期化進捗管理部17で管理される初期化処理の進捗情報(後述する。)に基づいて、最後に書き込んだ固定データのアドレスからライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから初期化処理を再開する制御を行う。
 なお、初期化処理の詳細については図5を参照して後述するとともに、初期化処理を再開する処理の詳細については図6を参照して後述することとする。
 リビルド初期化進捗管理部17は、リビルド実行制御部13がリビルド処理を実行する時はリビルド処理の進捗情報を管理する。また、リビルド初期化進捗管理部17は、初期化実行制御部16が初期化処理を実行する時は初期化処理の進捗情報を管理する。なお、リビルド処理時の進捗情報の管理については第1の実施の形態における説明と同様であるため説明を省略する。
 リビルド初期化進捗管理部17は、既述の初期化処理が実行されている間、その初期化処理の進捗情報を管理する。この進捗情報は、ライトキャッシュに書き込んだ固定データのアドレス(以下、第2のポインター情報と称する。)である。このリビルド初期化進捗管理部17は、不揮発性メモリを用いて構成されている。このため、ストレージ装置2が電源断となった状態でも第2のポインター情報はリビルド初期化進捗管理部17に保持されるようになっている。
 ライトキャッシュ制御部18は、リビルド実行制御部13がリビルド処理を実行する時には、第1の実施の形態で説明したように、ライトキャッシュを有効又は無効にする制御をする。また、ライトキャッシュ制御部18は、初期化実行制御部16が初期化処理を実行する時は初期化を行う磁気ディスク装置のライトキャッシュを有効にする制御をする。さらに、ライトキャッシュ制御部18は、当該初期化を行った磁気ディスク装置のライトキャッシュを無効にする制御をする。
 次に、ディスク部20の磁気ディスク装置21、22、23を順次初期化する初期化処理について図5を参照して説明する。初期化実行制御部16が上位装置1からプロセッサ部11を介して初期化処理の指示を受け取ると、初期化実行制御部16は初期化処理を開始する。
 初期化実行制御部16は、磁気ディスク装置21、22、23を選択する処理を行う(S301)。本第2の実施の形態では、磁気ディスク装置は、磁気ディスク装置21、22、23の順で初期化されることとする。このため、磁気ディスク装置21、22、23はこの順で選択される。
 磁気ディスク装置を選択すると、初期化実行制御部16は、選択した磁気ディスク装置を示す選択情報をライトキャッシュ制御部18へ送信する(S302)。ライトキャッシュ制御部18は、当該選択情報を受信すると、選択された初期化を行う磁気ディスク装置のライトキャッシュを有効にする指示を初期化実行制御部16へ送信する。
 初期化実行制御部16は、ライトキャッシュ制御部18から初期化を行う磁気ディスク装置のライトキャッシュを有効にする指示を受信すると、当該指示をディスク制御部12を介して初期化を行う磁気ディスク装置へ送信する(S303)。これにより、当該初期化を行う磁気ディスク装置のライトキャッシュは有効になる。
 次に、初期化実行制御部16は、初期化処理を実行する(S304)。より詳細には、初期化実行制御部16は、初期化を行う磁気ディスク装置のディスクに固定データを上書きする処理を行う。
 リビルド初期化進捗管理部17は、初期化処理の進捗情報を管理する(S305)。すなわち、リビルド初期化進捗管理部17は、固定データの上書き処理が終了する毎に既述の第2のポインター情報を更新する。
 次に、初期化実行制御部16は、初期化処理が終了したか否かを判断する(S306)。初期化処理が終了していないと判断した場合は(S306:NO)、初期化実行制御部16はステップS304の処理を行い、そして、リビルド初期化進捗管理部17はステップS305の処理を行う。
 一方、初期化処理が終了したと判断した場合は(S306:YES)、初期化実行制御部16は、選択した磁気ディスク装置の初期化処理が終了したことを示す終了情報をライトキャッシュ制御部18へ送信する(S307)。ライトキャッシュ制御部18は、当該終了情報を受信すると、当該磁気ディスク装置のライトキャッシュを無効にする指示を初期化実行制御部16へ送信する。
 初期化実行制御部16は、ライトキャッシュ制御部18から当該磁気ディスク装置のライトキャッシュを無効にする指示を受信すると、当該指示をディスク制御部12を介して当該磁気ディスク装置へ送信する(S308)。これにより、初期化処理が終了した磁気ディスク装置のライトキャッシュは無効になる。
 次に、初期化実行制御部16は、全ての磁気ディスク装置を選択したか否かを判断する(S309)。より詳細には、初期化実行制御部16は、磁気ディスク装置21、22、23をそれぞれ選択し、これら全ての磁気ディスク装置21、22、23の初期化処理が終了したか否かを判断する。
 全ての磁気ディスク装置を選択していないと判断した場合は(S309:NO)、初期化実行制御部16は、ステップS301からS308の処理を繰り返す。つまり、初期化実行制御部16は、次に選択する磁気ディスク装置を初期化処理する。
 一方、全ての磁気ディスク装置を選択したと判断した場合は(S309:YES)、初期化実行制御部16は、初期化処理を終了する。
 次に、既述の初期化処理の実行中に、例えば、停電等の障害が発生し、ストレージ装置2が電源断の状態になった後、ストレージ装置2に電源が再投入されたときの初期化実行制御部16の処理について、図6を参照しながら説明する。
 電源が再び投入されると、初期化実行制御部16は、リビルド初期化進捗管理部17で管理されている第2のポインター情報を取得する(S401)。リビルド初期化進捗管理部17は、不揮発性メモリで構成されている。このため、ストレージ装置2が電源断となっても第2のポインター情報がリビルド初期化進捗管理部17に保持されている。
 次に、初期化実行制御部16は、初期化処理を再開する再開アドレスを算出する(S402)。より詳細には、初期化実行制御部16は、ステップS401で取得した第2のポインター情報が示すアドレスからライトキャッシュの容量相当分前のアドレスを算出する。この算出したアドレスは初期化処理を再開する再開アドレスとなる。
 初期化実行制御部16は、ステップS402で再開アドレスを算出すると、既述のステップS304へ進み、当該再開アドレスから初期化処理を再開する。この後のステップS305以降の処理は図5を参照して既述した説明と同様であるため、詳細な説明は省略する。
 この第2の実施の形態のストレージ装置2は、初期化処理を行なう磁気ディスク装置のライトキャッシュを有効にできるので初期化処理を高速化することができる。
 また、ストレージ装置2は、初期化処理中に電源断となっても、電源が再投入された時にリビルド初期化進捗管理部17に管理される第2のポインター情報が示すアドレスよりライトキャッシュの容量相当分前のアドレスから初期化処理を再開することができる。このため、ストレージ装置2の電源断によってライトキャッシュ上のデータが失われたとしても、磁気ディスク装置21、22,23の全ての記憶領域を確実に初期化することができる。
 なお、上記第2の実施の形態ではストレージ装置2が、リビルド処理に加えて初期化処理も実行する場合で説明している。しかしながら、リビルド処理をする構成と初期化処理をする構成とを同一のストレージ装置内に設けなくても良い。この場合、初期化処理を行うストレージ装置は、第2の実施の形態において説明した初期化処理に関する機能を備えるようにする。
(付記1)
 ライトキャッシュを有する記憶装置を複数含む記憶部と、
 前記複数の記憶装置にデータを冗長的に記憶する第1の制御部と、
 前記データを再構築するリビルド処理を行う第2の制御部と、
 前記リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にするライトキャッシュ制御部と、
 前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを管理する、不揮発性メモリを用いて構成される進捗管理部とを備え、
 前記リビルド処理中に電源断となった後電源が投入された場合、前記第2の制御部は、前記進捗管理部で管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記リビルド処理を再開することを特徴とするストレージ装置。
(付記2)
 前記複数の記憶装置に固定データを書き込んで初期化処理を行う第3の制御部を更に備え、
 前記ライトキャッシュ制御部は、更に前記初期化処理を行う記憶装置のライトキャッシュを有効にし、
 前記進捗管理部は、更に前記初期化処理の進捗情報として、前記ライトキャッシュに書き込んだ固定データのアドレスを管理するものであり、
 前記初期化処理中に電源断となった後電源が投入された場合、前記第3の制御部は、前記進捗管理部で管理される前記初期化処理の進捗情報に基づいて、最後に書き込んだ固定データのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記初期化処理を再開することを特徴とする付記1記載のストレージ装置。
(付記3)
 ライトキャッシュを有する記憶装置を複数含む記憶部と、前記複数の記憶装置にデータを冗長的に記憶する制御部とを有するストレージ装置のリビルド処理方法であって、
 リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にし、
 前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを、不揮発性メモリを用いて管理し、
 前記リビルド処理中に電源断となった後電源が投入された場合、前記不揮発性メモリを用いて管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスを取得し、
 前記取得した前記アドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、
 前記算出したアドレスから前記リビルド処理を再開する、
 ことを特徴とするリビルド処理方法。
 この出願は、2010年7月5日に出願された日本特許出願2010-153194を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 本発明は、リビルド処理を行うストレージ装置及びストレージ装置のリビルド処理方法に広く適用可能である。
1・・・・上位装置
2・・・・ストレージ装置
10・・・コントローラ部
11・・・プロセッサ部
12・・・ディスク制御部
13・・・リビルド実行制御部
14・・・リビルド進捗管理部
15・・・ライトキャッシュ制御部
16・・・初期化実行制御部
17・・・リビルド初期化進捗管理部
18・・・ライトキャッシュ制御部
20・・・ディスク部
21、22、23・・・磁気ディスク装置
24、25、26・・・ライトキャッシュ
27、28、29・・・ディスク
100・・・ストレージシステム

Claims (3)

  1.  ライトキャッシュを有する記憶装置を複数含む記憶部と、
     前記複数の記憶装置にデータを冗長的に記憶する第1の制御部と、
     前記データを再構築するリビルド処理を行う第2の制御部と、
     前記リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にするライトキャッシュ制御部と、
     前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを管理する、不揮発性メモリを用いて構成される進捗管理部とを備え、
     前記リビルド処理中に電源断となった後電源が投入された場合、前記第2の制御部は、前記進捗管理部で管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記リビルド処理を再開することを特徴とするストレージ装置。
  2.  前記複数の記憶装置に固定データを書き込んで初期化処理を行う第3の制御部を更に備え、
     前記ライトキャッシュ制御部は、更に前記初期化処理を行う記憶装置のライトキャッシュを有効にし、
     前記進捗管理部は、更に前記初期化処理の進捗情報として、前記ライトキャッシュに書き込んだ固定データのアドレスを管理するものであり、
     前記初期化処理中に電源断となった後電源が投入された場合、前記第3の制御部は、前記進捗管理部で管理される前記初期化処理の進捗情報に基づいて、最後に書き込んだ固定データのアドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、当該算出したアドレスから前記初期化処理を再開することを特徴とする請求項1記載のストレージ装置。
  3.  ライトキャッシュを有する記憶装置を複数含む記憶部と、前記複数の記憶装置にデータを冗長的に記憶する制御部とを有するストレージ装置のリビルド処理方法であって、
     リビルド処理時に、再構築したデータを記憶する記憶装置のライトキャッシュを有効にし、
     前記リビルド処理の進捗情報として、再構築が完了し、前記ライトキャッシュに書き込んだ当該再構築されたデータのアドレスを、不揮発性メモリを用いて管理し、
     前記リビルド処理中に電源断となった後電源が投入された場合、前記不揮発性メモリを用いて管理される前記リビルド処理の進捗情報に基づいて、最後に書き込んだ再構築されたデータのアドレスを取得し、
     前記取得した前記アドレスから前記ライトキャッシュの容量相当分前のアドレスを算出し、 前記算出したアドレスから前記リビルド処理を再開する、
     ことを特徴とするリビルド処理方法。
PCT/JP2011/064278 2010-07-05 2011-06-22 ストレージ装置及びストレージ装置のリビルド処理方法 WO2012005113A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/805,377 US9298635B2 (en) 2010-07-05 2011-06-22 Storage device and rebuild process method for storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-153194 2010-07-05
JP2010153194A JP5626514B2 (ja) 2010-07-05 2010-07-05 ストレージ装置及びストレージ装置のリビルド処理方法

Publications (1)

Publication Number Publication Date
WO2012005113A1 true WO2012005113A1 (ja) 2012-01-12

Family

ID=45441099

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/064278 WO2012005113A1 (ja) 2010-07-05 2011-06-22 ストレージ装置及びストレージ装置のリビルド処理方法

Country Status (3)

Country Link
US (1) US9298635B2 (ja)
JP (1) JP5626514B2 (ja)
WO (1) WO2012005113A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5891890B2 (ja) * 2012-03-26 2016-03-23 富士通株式会社 ストレージシステム、ストレージ装置およびデータ復元方法
JP2014096072A (ja) 2012-11-09 2014-05-22 International Business Maschines Corporation ミラー構成を有するディスクアレイ及びそのリビルド方法
JP5913078B2 (ja) * 2012-12-21 2016-04-27 株式会社 日立産業制御ソリューションズ ディスクアレイシステム、データ復旧方法、および、データ復旧プログラム
JP2021182268A (ja) * 2020-05-19 2021-11-25 Necプラットフォームズ株式会社 コントローラ、情報処理装置、情報処理方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000305717A (ja) * 1999-04-23 2000-11-02 Toshiba Corp ディスクアレイ装置およびディスクアクセスを高速化する方法
JP2005011317A (ja) * 2003-05-02 2005-01-13 Hitachi Ltd ストレージシステムを初期化する方法と装置
JP2005302225A (ja) * 2004-04-15 2005-10-27 Funai Electric Co Ltd 光ディスクレコーダ
JP2010128933A (ja) * 2008-11-28 2010-06-10 Toshiba Corp アレイ型記憶装置およびアレイ型記憶装置の制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7660945B1 (en) * 2004-03-09 2010-02-09 Seagate Technology, Llc Methods and structure for limiting storage device write caching
US7380088B2 (en) * 2005-02-04 2008-05-27 Dot Hill Systems Corp. Storage device method and apparatus
US20070088990A1 (en) * 2005-10-18 2007-04-19 Schmitz Thomas A System and method for reduction of rebuild time in raid systems through implementation of striped hot spare drives
US7721143B2 (en) * 2005-12-06 2010-05-18 Lsi Corporation Method for reducing rebuild time on a RAID device
US7600151B2 (en) * 2007-01-25 2009-10-06 Inventec Corporation RAID capacity expansion interruption recovery handling method and system
US20100125695A1 (en) * 2008-11-15 2010-05-20 Nanostar Corporation Non-volatile memory storage system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000305717A (ja) * 1999-04-23 2000-11-02 Toshiba Corp ディスクアレイ装置およびディスクアクセスを高速化する方法
JP2005011317A (ja) * 2003-05-02 2005-01-13 Hitachi Ltd ストレージシステムを初期化する方法と装置
JP2005302225A (ja) * 2004-04-15 2005-10-27 Funai Electric Co Ltd 光ディスクレコーダ
JP2010128933A (ja) * 2008-11-28 2010-06-10 Toshiba Corp アレイ型記憶装置およびアレイ型記憶装置の制御方法

Also Published As

Publication number Publication date
JP5626514B2 (ja) 2014-11-19
US9298635B2 (en) 2016-03-29
JP2012014638A (ja) 2012-01-19
US20130097375A1 (en) 2013-04-18

Similar Documents

Publication Publication Date Title
US7849350B2 (en) Responding to a storage processor failure with continued write caching
JP5404804B2 (ja) ストレージサブシステム
US8862808B2 (en) Control apparatus and control method
US8245187B2 (en) Disk array apparatus
JP4696171B2 (ja) 記憶装置、データ保存方法およびデータ保存プログラム
JP4792490B2 (ja) 記憶制御装置及びraidグループの拡張方法
JP2001166993A (ja) 記憶制御装置およびキャッシュメモリの制御方法
JP2016530637A (ja) Raidパリティストライプ再構成
JP2010211734A (ja) 不揮発性メモリを用いた記憶装置
JP2010160629A (ja) 情報処理装置、情報処理装置の制御方法、プログラム、及び記憶媒体
JP2011170589A (ja) ストレージ制御装置、ストレージ装置およびストレージ制御方法
JP5626514B2 (ja) ストレージ装置及びストレージ装置のリビルド処理方法
JP2003345528A (ja) 記憶システム
US9037808B2 (en) Restoring data using parity when suspending a core of a multicore processor
JP2010152747A (ja) ストレージシステム、ストレージのキャッシュ制御方法、及びキャッシュ制御プログラム
JP4806084B1 (ja) 情報処理装置
KR20210137922A (ko) 복구 공간으로 패리티 공간을 사용한 데이터 복구 시스템, 방법 및 장치
JP2006099802A (ja) 記憶制御装置およびキャッシュメモリの制御方法
US8453007B2 (en) Storage device and recovery method
US20150019822A1 (en) System for Maintaining Dirty Cache Coherency Across Reboot of a Node
JP6875237B2 (ja) ストレージ制御装置、ストレージ制御システム、ストレージ制御方法、及び、ストレージ制御プログラム
JP2015129998A (ja) ミラーリング装置及びその制御方法、並びにプログラム
JP6876288B2 (ja) ストレージ管理装置、ストレージシステム、ストレージ管理方法およびプログラム
JP5047346B2 (ja) データ処理システム、データ移動方法、およびデータ移動プログラム
JP5601053B2 (ja) 制御装置、制御モジュールおよび制御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11803449

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13805377

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

Country of ref document: EP

Kind code of ref document: A1