Method, system and apparatus for scanning newly added disk drives and automatically updating RAID configuration and rebuilding RAID data
First Claim
1. A computer implemented method for automatic updating and rebuilding the RAID configuration and configured data or disk drives in a RAID configured system, wherein said method employs computer implemented procedures to operate a RAID controller in a computer system having a CPU and memory for executing the procedures, disk drives, and a multiple system peripheral bus, comprising:
- a) scanning all disk drive connected to multiple system peripheral bus of a computer system, b) detecting by the RAID controller newly added disk drives connected to the system peripheral bus at initiation and runtime that at least one disk drive was added to the RAID controller, c) distinguishing configured and un-configured disk drives in groups, d) resolving conflict, where conflicted disk drives have the same configured location, by determining the most appropriate location among the conflicted disk drives such that when one disk drive is disconnected from a system and the other disk drive is connected into the system to replace the disconnected drive by choosing the disk drive with higher undate counts as a valid disk drive, and treating the other as an un-configured disk drive, e) finding and selecting referenced disk drive in a RAID configuration when newly added disk drives are inserted into a configuration of the system peripheral bus by checking the referenced disk drives with the same physical location as the newly added disk drive if its size is large enough to rebuild RAID data to the newly added disk drive to start the rebuilding procedure, and if not, checking the other referenced disk drives, and finding one with enough space to rebuild RAID data to the newly added disk drives, f) copying the configuration information of the disk drive group to the newly added disk drives. g) rebuilding the RAID data into newly added disk drives according to RAID levels, and h) presenting to the host operating system the disk drive configuration information.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention pertains to a computer software implemented method, system, and apparatus for automatic updating disk drive configuration and rebuilding RAID data to assure proper data storage in a RAID configured system. The computer software implemented configuration mechanism utilizing CPU and memory of a computer system automatically generates a full configuration of the disk drives connected to system peripheral bus both at system initialization time and runtime. The configuration mechanism uses a computer-implemented procedure for scanning a newly added disk drive, detecting conflict to the existing configuration, resolving conflicts, finding a proper target referenced or ruined disk drive, replacing this target disk drive with the newly added disk drive, rebuilding the RAID data into the added disk drive, updating RAID configuration with the added disk drive, and presenting to the host operating system the current configuration information.
173 Citations
22 Claims
-
1. A computer implemented method for automatic updating and rebuilding the RAID configuration and configured data or disk drives in a RAID configured system, wherein said method employs computer implemented procedures to operate a RAID controller in a computer system having a CPU and memory for executing the procedures, disk drives, and a multiple system peripheral bus, comprising:
-
a) scanning all disk drive connected to multiple system peripheral bus of a computer system, b) detecting by the RAID controller newly added disk drives connected to the system peripheral bus at initiation and runtime that at least one disk drive was added to the RAID controller, c) distinguishing configured and un-configured disk drives in groups, d) resolving conflict, where conflicted disk drives have the same configured location, by determining the most appropriate location among the conflicted disk drives such that when one disk drive is disconnected from a system and the other disk drive is connected into the system to replace the disconnected drive by choosing the disk drive with higher undate counts as a valid disk drive, and treating the other as an un-configured disk drive, e) finding and selecting referenced disk drive in a RAID configuration when newly added disk drives are inserted into a configuration of the system peripheral bus by checking the referenced disk drives with the same physical location as the newly added disk drive if its size is large enough to rebuild RAID data to the newly added disk drive to start the rebuilding procedure, and if not, checking the other referenced disk drives, and finding one with enough space to rebuild RAID data to the newly added disk drives, f) copying the configuration information of the disk drive group to the newly added disk drives. g) rebuilding the RAID data into newly added disk drives according to RAID levels, and h) presenting to the host operating system the disk drive configuration information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer implemented method for automatic updating and rebuilding the RAID data and configuration information of disk drives in a RAID configured system at system initialization time, wherein said system includes a CPU and memory with an operating system, disk drives with RAID data and configuration information, configuration information including at least one identifier to identify a disk drive group, and each disk drive in the group has the same unique disk drive group identifier to distinguish them from disk drives in other groups, volume layout structure as to each disk drive in a disk drive group, its configured location, and the size of sub-drives of each disk drive in the group, comprising the steps of:
-
a) scanning all disk drives connected to multiple system peripheral bus, b) detecting newly added disk drives connected to the system peripheral bus when one disk drive is disconnected from a system and the other disk drive is connected into the system to replace the disconnected drive by choosing the disk drive with higher update counts as a valid disk drive, and treating the other as an un-configured disk drive, c) recording the number of operative configuration times for each disk drive in the system as part of the configuration information, with the initial value of the update counter of a disk drive set at zero and increased by one each time a disk drive is involved in a configuration change, d) resolving conflict, where conflicted disk drives have the same configured location by determining the most appropriate location among the conflicted disk drives by choosing from among the conflicted disk drives the one having the largest value in its update counter to represent the value of all conflicted disk drives via i. classifying all of the remaining conflicted disk drives not selected as unused, and ii. putting the remaining conflicted disk drives in an un-configured disk drive group for further process, e) finding referenced disk drives when newly added disk drives are inserted into the system by checking the referenced disk drives with the same physical location as the newly added disk drive if its size is large enough to rebuild RAID data to the newly added disk drive to start the rebuilding procedure, and if not, checking the other referenced disk drives, and finding one with enough space to rebuild RAID data to the newly added disk drive, by 1) assigning the newly added disk drive as a target disk drive, 2) copying configuration information of the referenced disk drive to the target disk drive, 3) rebuilding RAID data into the target disk drive according RAID levels, 4) removing the referenced disk drive from its group, 5) rebuilding the RAID data into newly added disk drives via i. finding the sub-drive in sequential order;
ii. checking if the found sub-drive belongs to a volume with a RAID level that can be rebuilt;
iii. rebuilding the data on the sub-drive, if it belongs to a volume that can be rebuilt;
otherwiseiv. iteratively repeating steps i, ii, and iii until all sub-drives have been checked and rebuilt, and f) presenting to the host operating system the disk drive configuration information. - View Dependent Claims (12, 13)
-
-
14. A computer implemented method for automatic updating and rebuilding the RAID data and configuration information of disk drives in a RAID configured computer system having a CPU with associated memory, disk drives and a multiple system peripheral bus at system run time, wherein the run-time configuration procedure for the system supports hot disk drive swapping, further comprises the steps of:
-
a) scanning all disk drives connected to the multiple system peripheral bus;
b) detecting a newly added disk drive and reading the configuration information stored in the detected disk drive when one disk drive is disconnected from a system and the other disk drive is connected into the system to replace the disconnected drive by choosing the disk drive with higher update counts as a valid disk drive, and treating the other as an un-configured disk drive;
c) checking whether the newly added disk drive is a valid disk drive d) checking, in case when added disk drive is valid, if the added disk drive is conflict to an existing disk drive;
e) checking, in case when the added disk drive is conflicted to an existing disk drive, if the added disk drive belongs to an inactive disk drive group and the added disk drive contains a higher update count than that of the conflicted disk drive;
f) replacing, in the case when both the added disk drive and the conflicted disk drive belong to an inactive disk drive group but the added disk drive has newer configuration information, the conflicted disk drive by the newly added disk drive and taking the conflicted disk drive as a new disk drive for further processing;
org) integrating, in case the added disk drive is valid and has no conflict to any existing disk drive, the configuration information stored in the newly added disk drive to the system configuration;
h) finding, in the case when the newly added disk drive contains invalid configuration information or is conflicted to existing disk drive with lower update count than that of the conflicted disk drive, a suitable referenced disk drive for further processing by checking the referenced disk drives with the same physical location as the newly added disk drive if its size is large enough to rebuild RAID data to the newly added disk drive to start the rebuilding procedure, and if not, checking the other referenced disk drives, and finding one with enough space to rebuild RAID data to the newly added disk drive; and
i) iteratively repeating steps a through h during the run time. - View Dependent Claims (15)
-
-
16. A computer software program embedded in a readable storage medium that directs a computer system connected with groups of disk drives to function in a specified manner for rebuilding a RAID configuration, comprising:
-
a. examining in sequence all sub-drives associated with a considered disk drives group;
b. finding the volumes and their associated RAID levels that can rebuild the RAID data by checking the referenced disk drives with the same physical position as the newly added disk drive if its large enough to rebuild RAID data to the newly added disk drive to start the rebuilding procedure, and if not, checking the other referenced disk drives, and finding one with enough space to rebuild RAID data to the newly added disk drive, and c. rebuilding the RAID data based on the current configuration as well as based on the system-encountered situations such as conflict status of disk drives, size of disk drives, and update counts of disk drives when said system discovers a new added disk drive in run-time. - View Dependent Claims (17, 18)
-
-
19. An apparatus for automatically updating and rebuilding RAID configuration and RAID data of disk drives in a RAID configured system, comprising:
-
a. a host computer with CPU associated with an operating system, and memory, b. a computer implemented software program utilizing the host computer and the CPU and operating system to behave a RAID controller, c. a plurality of disk drives with configured locations and data, d. at least one interface storage device operably associated with the CPU, and e. a computer implemented software program stored on the interface storage device including;
i. means for identifying one or more un-configured disk drives from scanning the disk drives connected to the apparatus and reading their configuration information;
ii. means for arranging a proper configuration for the un-configured disk drives in accordance with various data types associated with logical disk drives or volumes with RAID levels; and
iii. means for configuring the un-configured disk drives with RAID levels based on the configuration information, location and size of sub-drives, and the value of update counts associated with each disk drive involved in the configuration. - View Dependent Claims (20, 21, 22)
-
Specification