Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition
Reexamination Certificate
2002-02-28
2004-04-27
Verbrugge, Kevin (Department: 2180)
Electrical computers and digital processing systems: memory
Storage accessing and control
Specific memory composition
C711S112000, C711S161000, C711S162000, C714S006130
Reexamination Certificate
active
06728833
ABSTRACT:
TECHNICAL FIELD
The present invention relates to the field of a Redundant Array of Independent Disks (RAID) storage system, and more particularly to upgrading firmware on the disks in the RAID without deactivating the server coupled to the RAID storage system.
BACKGROUND INFORMATION
As the performance of microprocessor and semiconductor memory technology improves, there is a need for improved data storage systems with comparable performance enhancements. Additionally, in enhancing the performance of data storage systems, there is a need for improved reliability of data stored. In 1988, a paper was published by Patterson, Gibson, Katz, A Case for Redundant Arrays of Independent Disks (RAID), International Conference on Management of Data, pgs. 109-116, June 1988. This paper laid the foundation for the use of redundant arrays of independent disks that would not only improve the data transfer rate and data I/O rate over a comparable single disk access, but would also provide error correction at a lower cost in data storage systems.
RAID may include an array of disks which may be coupled to a network server. The server, e.g., file server, database server, web server, may be configured to receive a stream of requests (Input/Output (I/O) requests) from clients in a network system to read from or write to particular disks in the RAID. The I/O requests may also be issued from an application within the server. The server may comprise a RAID controller which may be a hardware and/or software tool for providing an interface between the server and the array of disks. The server may forward the I/O requests to the RAID controller which may retrieve or store the requested data. Typically, the RAID controller manages the array of disks for storage and retrieval and views the disks of the RAID separately. The disks included in the array may be any type of data storage systems which may be controlled by the RAID controller when grouped in the array.
The RAID controller may typically be configured to access the array of disks as defined by a particular “RAID level.” The RAID level may specify how the data is distributed across the disk drives and how error correction is accomplished. In the paper noted above, the authors describe five RAID levels (RAID Level 1-RAID Level 5). Since the publication of the paper, additional RAID levels have been designated.
RAID levels are typically distinguished by the benefits included. Three key benefits which may be included in a RAID level are fault tolerance, data availability and high performance. Fault tolerance may typically be achieved through an error correction method which ensures that information can be reconstructed in the event of a disk failure. Data availability may allow the data array to continue to operate with a failed component. Typically, data availability may be achieved through a method of redundancy. Finally, high performance may typically be achieved by simultaneous access to multiple disk drives which results in faster I/O and data transfer requests.
Error correction may be accomplished, in many RAID levels, by utilizing additional parity data stored with the original data. Parity data may be utilized to recover lost data due to disk failure. Parity data may typically be stored on one or more disks dedicated for error correction only or distributed over all of the disks within an array.
By the method of redundancy, data may be stored in multiple disks of the array. Redundancy is a benefit in that redundant data allows the storage system to continue to operate with a failed component while data is being replaced through the error correction method. Additionally, redundant data is more beneficial than backup data because back-up data is typically outdated when needed whereas redundant data is current when needed.
In many RAID levels, redundancy may be incorporated through data interleaving which distributes the data over all of the data disks in the array. Data interleaving is usually in the form of data “striping” in which data to be stored is broken down into blocks called “stripe units” which are then distributed across the array of disks. Stripe units are typically predefined as a bit, byte, block or other unit. Stripe units are further broken into a plurality of sectors where all sectors are an equivalent predefined size. A “stripe” is a group of corresponding stripe units, one stripe unit from each disk in the array. Thus, “stripe size” is equal to the size of a stripe unit times the number of data disks in the array.
In an example, RAID level 5 utilizes data interleaving by striping data across all disks and provides for error correction by distributing parity data across all disks. For each stripe, all stripe units are logically combined with each of the other stripe units to calculate parity for the stripe. Logical combination may be accomplished by an exclusive or (XOR) of the stripe units. For N physical drives, N−1 of the physical drives will receive a stripe unit for the stripe and the Nth physical drive will receive the parity for the stripe. For each stripe, the physical drive receiving the parity data rotates such that all parity data is not contained on a single disk.
Disk arrays may be configured to include logical drives which divide the physical drives in the disk array into logical components. Each logical drive may include a cross section of each of the physical drives and may be assigned a RAID level.
Each disk in the disk array of a RAID may store firmware where firmware may refer to software that may be burned into a memory chip, e.g., Read-Only Memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Electrical EPROM (EEPROM) or into the hard drive. Typically, the firmware stored on the disk in the disk array may be configured to perform functions such as sector re-mapping, monitoring the disk for failures, etc.
In order to update the firmware stored on a disk in the disk array, all activity on that disk must become inactive. If the disk receives a request to read from or write to that disk during the process of upgrading the firmware, the disk may become inoperative either permanently or temporarily. Subsequently, the server coupled to the RAID comprising the disk with the firmware to be updated must be deactivated thereby assuring that the disk does not receive any I/O requests.
However, some servers such as mission critical servers may be required to stay active continuously. It would therefore be desirable to be able to update firmware on the disks in a RAID storage system without deactivating the server coupled to the RAID thereby allowing the server to continuously stay active.
SUMMARY
The problems outlined above may at least in part be solved in some embodiments by selecting a disk in a disk array of the RAID storage system to have its firmware updated. The selected disk may enter a degrade mode of operation where the RAID controller coupled to the RAID may prevent requests from reaching the selected disk thereby suppressing activity on the selected disk to allow the firmware to be updated. During the updating of the firmware, any stripes updated may be tracked. Upon completion of the firmware update, the stripe units in the selected disk associated with stripes updated may be rebuilt. In this manner, firmware may be updated on a disk in a RAID storage system without deactivating the server coupled to the RAID storage system thereby allowing the server to continuously stay active.
In one embodiment of the present invention, a method for updating firmware on a disk in a RAID storage system implementing a RAID level one system without deactivating a server coupled to the RAID storage system may comprise the step of selecting a particular physical disk in the RAID storage system to update the firmware in that particular disk. The selected disk as well as the associated logical drives may enter a degrade mode of operation. In the degrade mode of operation, a RAID controller, providing an interface between the server and the RAID storage system, may suppress particular activities, e.g., recovery ac
Pruett Gregory Brian
Rhoades David B.
Riedle Linda Ann
International Business Machines - Corporation
Namazi Mehdi
Verbrugge Kevin
Winstead Sechrist & Minick
LandOfFree
Upgrading firmware on disks of the raid storage system... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Upgrading firmware on disks of the raid storage system..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Upgrading firmware on disks of the raid storage system... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3259707