On-line scanning and maintenance of a disk drive array
AssigneeEMC Corporation
InventorIshai Kedem
Life of this patent
Estimating the term…
Abstract
A method and apparatus provide for maintenance and on-line scanning of the mass storage elements of a computer system without taking those elements off-line. Maintenance commands are sent to the disk drive elements during those time intervals when they are less busy with commands from the host computer(s). In a special instance, a SCSI code load update command can be implemented and forwarded to one or more disk drives connected over a SCSI bus to a disk drive controller. The disk drive controller returns busy signals to any incoming read operations. In a particular instance where there are mirrored drives, read operations can be redirected to a mirrored drive which is not being updated. The host computer system provides substantially no change in throughput performance as the maintenance operations occur.
Claims25
A method for maintaining a disk drive system having a plurality of disk drive elements, comprising the steps of
- monitoring at least read commands, in a command stream, to a selected disk drive element,
- determining intervals when maintenance operations can be performed to said selected disk drive element based upon occurrences of at least said read commands in said monitoring step,
- inserting maintenance commands into said command stream for execution at said selected disk drive element, and
- collecting any return information from said selected disk drive element in response to executed maintenance commands,
- wherein said selected disk drive element remains on-line during execution of said maintenance commands.
A method for performing maintenance operations for a disk drive system, having a plurality of disk drive elements, comprising the steps of
- assigning high priorities to commands from host computers sending read and write commands for execution by the disk drive system,
- assigning low priorities to commands from a maintenance system for execution by the disk drive system, and
- executing commands at said disk drive system, while said disk drive elements are on-line, in accordance with their assigned priorities.
A method for maintaining a disk drive system having a disk drive controller, the controller receiving commands from at least one host computer and writing to and reading from a plurality of disk drive units, said controller having a cache memory for storing disk data, including disk write operations, said method comprising the steps of:
- monitoring at least the read operations pending in a disk command sequence,
- determining when a maintenance command operation can be performed without interfering substantially with the reading and writing of data from and to a selected disk drive unit,
- inserting a maintenance command operation into said command sequence for execution at said selected disk drive unit without substantially interfering with at least host computer initiated read operations to said selected disk drive unit;
- collecting data resulting from execution of said maintenance command operation, and
- maintaining said selected disk drive unit on-line during execution of said maintenance command operation.
A method for updating the SCSI code in a disk drive system having a disk drive controller and a plurality of disk drive units, said method comprising the steps of
- monitoring the timing of at least the read commands being sent to said disk drive units,
- inserting a SCSI code load command in a stream of commands being sent to said disk drive units,
- sending said SCSI code load command to and executing said SCSI load command at at least one selected disk drive unit,
- holding off any host computer read operations while said SCSI code load command is being executed, and
- continuing to execute read commands from said host commands after completion of said SCSI code load command execution at said disk drive units.
Apparatus for maintaining a disk drive system comprising
- a disk drive controller,
- a plurality of disk drive elements connected to and controlled by the controller,
- said controller comprising
- monitoring circuitry for monitoring at least read commands in a command sequence for a selected disk drive element,
- circuitry for determining intervals when maintenance commands can be performed for said selected disk drive element based upon the results of the monitoring circuitry,
- circuitry for inserting maintenance commands into the command sequence for execution by the selected disk drive element, and
- circuitry for receiving and collecting any return information from the selected disk drive element,
- wherein the selected disk drive element is on-line during execution of the maintenance commands.
An apparatus for performing maintenance operations for a disk drive system comprising
- a disk drive controller,
- a plurality of disk drive elements connected to and driven by the controller,
- the controller having
- circuitry responsive to host generated commands for assigning high priorities to the host generated commands, the commands including read and write commands for execution by the disk drive system,
- circuitry for assigning low priorities to commands from a maintenance host system for execution by the disk drive system, and
- circuitry for executing the commands at the disk drive system while the disk drive elements are in an on-line condition, in accordance with the assigned priorities attached to the commands by the controller.
An apparatus for maintaining a disk drive system comprising
- a disk drive controller receiving commands from at least one host computer and writing to and reading from a plurality of disk drive units,
- said controller having a cache memory for storing disk data,
- said controller monitoring at least the read operations pending a disk command sequence in said disk drive controller,
- said controller determining when a maintenance command operation can be performed without interfering substantially with the reading and writing of data from and to a selected disk drive unit,
- said controller receiving and inserting a maintenance command operation into said command sequence for execution at said selected disk drive unit without substantially interfering with at least host computer initiated read operations to said selected disk drive unit,
- said controller collecting any data resulting from execution of said maintenance command operation, and
- said controller maintaining said selected disk drive unit on-line during execution of said maintenance command operation.
An apparatus for updating a SCSI code in a disk drive system comprising
- a disk drive controller,
- a plurality of disk drive units connected to and controlled by the disk drive controller,
- the controller monitoring the timing of at least read commands being sent to the disk drive units,
- the controller inserting a SCSI code load command in a stream of commands being sent to the disk drive units,
- the controller sending the SCSI code load command to and executing the SCSI code load command at selected disk drive units,
- the controller holding off any host computer read operations while said SCSI code load command is being executed, and
- the controller continuing to receive the host commands after completion of the SCSI code load command execution at the selected disk drive units.
Dependencies are inferred from the claim text.