US20010020277A1 - Method and computer program product for diagnosing and handing non-responsive device in a computer system - Google Patents

Method and computer program product for diagnosing and handing non-responsive device in a computer system Download PDF

Info

Publication number
US20010020277A1
US20010020277A1 US09/789,900 US78990001A US2001020277A1 US 20010020277 A1 US20010020277 A1 US 20010020277A1 US 78990001 A US78990001 A US 78990001A US 2001020277 A1 US2001020277 A1 US 2001020277A1
Authority
US
United States
Prior art keywords
drives
drive
disk
powered
selection
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
US09/789,900
Other versions
US6449725B2 (en
Inventor
Veera Deenadhayalan
Parthiban Munusamy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US09/789,900 priority Critical patent/US6449725B2/en
Publication of US20010020277A1 publication Critical patent/US20010020277A1/en
Application granted granted Critical
Publication of US6449725B2 publication Critical patent/US6449725B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3221Monitoring of peripheral devices of disk drive devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • This invention relates generally to apparatus and method for handling a non-responsive device in a computer system where the device non-responsiveness may be due to a powered-down status and not a device failure, and more particularly to such computer systems when the devices are RAID disk drives.
  • This invention provides structure and method for handling a non-responsive device in a computer system where the device non-responsiveness may be due to a powered-down status rather than a device failure, and more particularly to such computer systems when the devices are RAID disk drives.
  • FIG. 1 is a diagrammatic illustration showing one embodiment of the inventive Structure and Method for Power Sequencing of Disk Drives in a Computer System.
  • FIG. 2 is a diagrammatic illustration of a disk array controller.
  • FIG. 3 is a diagrammatic flow-chart illustration showing a power-down embodiment of the inventive method.
  • FIG. 4 is a diagrammatic illustration showing an embodiment a procedure for handling an error on a RAID controller during normal I/O operations.
  • FIG. 5 is a diagrammatic flow-chart illustration showing an exemplary embodiment of the inventive power-up sequence which is implemented through changes in the disk drive initialization routine.
  • FIG. 1 An exemplary embodiment of the inventive computer system 101 including a host computer 102 , disk array controllers 104 , 106 , and arrays of disk drives 110 , 111 , each array including one or more individual disk drives is illustrated in FIG. 1.
  • Host computer 102 includes a processor 120 , input/output devices 121 , such as a keyboard 122 , display device 123 , memory 124 coupled to the processor and having a defined data structure 125 for storing data 126 , commands 127 , and procedures 128 ; and
  • a system disk drive 129 Other conventional computer system components may also be provided.
  • the controller is coupled to the processor by a PCI Bus 140 , and the disk drives are coupled to the controller by SCSI cables 141 , in conventional manner. While we primarily refer to disk drives or hard disk drives in this description, it should be understood that the invention is applicable to many types of storage media, including but not limited to rotating magnetic disk drives, magneto-optical devices, readable/writable CD's, fixed or removable media, floppy disk drives, and even electronic or solid state storage media.
  • Disk controller 130 is disposed within an enclosure in system and is typically fabricated as a single printed circuit board.
  • Disk controller 130 includes controller CPU 131 , one or more disk device/array controller 132 (for example SCSI, Fibre Channel, or IDE type controller), PCI bus (or other standard or proprietary bus) 133 , PCI-to-PCI Bridge or PCI-interface chip 134 (depending on configuration), and storage means 135 such as a DRAM, SDRAM, EDO, or the like memory.
  • SCSI Chip control/interrupt lines also connect the controller CPU with each of the SCSI Controller Chips 0, . . . , N. In the embodiment illustrated in FIG. 2, the controller draws power form the host PCI Bus 140 .
  • the controller comprises a CPU 131 and memory component(s) 135 to provide for execution of the inventive method.
  • the controller comprises one or more printed circuit boards connected on a proprietary bus (Mylex Corporation of Fremont, Calif.).
  • the disk arrays 110 , 111 are connected to the bus specific controller chips 132 SCSI/Fibre and this controllers chips 132 may be present on the same printed circuit board 130 or they may be present on the host PCI bus, depending on the desired implementation.
  • the controller CPU 131 will execute and store its operating variables on the memory component 135 . All the interrupt and other control lines for the controller chip 132 will be routed to the CPU 131 based on the type of bus to which they are connected.
  • the disk drive arrays 110 , 111 each include a plurality of disk drives, but the controller may be configured to control only a single disk drive. More or fewer disk controllers may be provided in the inventive system, for example, a single controller may be configured, or 2, 3, 4, 5, or more may be configured, limited only by the number of PCI slots available in the host machine.
  • Each array of disk drives is disposed in a cabinet or other enclosure up to a maximum addressable number of units (15 addressable units in the case of conventional SCSI) as is commonly done for Redundant Array of Independent Disk (RAID) storage configurations.
  • FIG. 2 shows a diagrammatic illustration of an embodiment of the inventive structure showing selected functional blocks and/or devices and the bus structure which supports communication between the blocks or devices.
  • the disk arrays with one or more disks are connected to the SCSI controller chip, hence forth referred to as the SCSi channel.
  • the cabinets enclosure management may be controlled by additional cables or they may use the reserved and generally unused SCSI lines (storage works) or the enclosure management functions may be controlled by a standard SAF-TE compliant CPU acting as a SCSI target.
  • the power supply failure line are pulled high by the controller internally. Whereas in the disk cabinet they are also pulled high (with a pull-up resistor). Whenever the cabinet is powered OFF but the controller is powered ON, the power supply failure line is pulled low. (This is true because the cabinet ground (GND) line and controller ground (GND) lines are interconnected.)
  • the SAF-TE CPU is polled periodically, for example at 10 second intervals. If the cabinet is powered down, the SAFTE CPU will not respond.
  • RAID Redundant Array of Independent Disks
  • the fault management routine provided such as the AEMI, SAFTE, or Storage Works routines, in the RAID controller will detect a disk drive removal and hence mark the hard drives as off-line (and therefore unusable).
  • the disk drive is marked “off-line” and is unusable.
  • the administrator has to run a configuration utility to make the drives On-line; this requires expertise, time and hence costs money.
  • individual users may not have the expertise or the security access to reset the drives; hence the drives and potentially the entire system are unusable or usable only with reduced capability.
  • the inventive structure and method solve this problem by detecting a disk drive power-off condition, so that the disk drive fault management system (if provided) does not mark the drive off-line, but rather takes other action to recover from the disk-drive power-off condition. Specifically, in one embodiment of the invention, if all the disk drives connected on a single SCSI channel fail to respond, this serves as an indication that all of the drives on the channel are powered-off, and none of the disk drives are marked offline. Details of the inventive structure and method are described in greater detail below.
  • a “storage shelf” which is one or more disks, and support for enclosure management if required.
  • a disk drive to which an input/output (I/O) operation is attempted will fail to complete the I/O.
  • the controller will get a drive selection timeout error condition.
  • the RAID controller should scan the remaining devices on the SCSI channel to find out the number of devices responding. If more than one device was present in the channel and if none of those devices respond now, then the RAID controller should treat this error condition as a power fail case or situation, and reject all pending and future I/Os with a “drive not ready” error message.
  • This error condition handling under the inventive method has the advantage that the disk drive is not marked “off-line” as in conventional systems, and the computer system (or remaining parts thereof) can be powered off without any change in the RAID device configuration and without any need to recover the system upon power-up.
  • affected system drives include data drive and parity, in addition to the particular disk drive or storage shelve of drives that are actually powered down.
  • This power-down embodiment of the invention is further described relative to the flow-chart diagram in FIG. 3.
  • This procedure applies when a drive cabinet is powered off and a new command is being attempted. If a drive is selected and does not respond within a predetermined time interval (Step 304 ), the selection process times out. If after selection there is no timeout (Step 304 ), then operation is normal (Step 306 ) and the procedure in FIG. 3 does not apply. If there is a selection timeout, but the drive is not part of the then current configuration (Step 308 ), again operation is normal (Step 310 ) and the procedure does not apply further.
  • Step 304 the SCSI bus is reset (Step 312 ).
  • a counter is initialized at a value equal to the number of configured disk drives (Step 314 ).
  • Each drive is selected in turn (Step 316 ) to see if it responds within the timeout period. If it responds to the selection, operation is normal (Step 318 ). However, it the drive selection times out, the counter is incremented (Step 320 ), and additional drives are selected (Step 316 ) and tested until the counter (I) is equal to the number of configured drives. If the counter reaches that value, then an installation abort occurs (Step 322 ) indicating that the drive cabinet must be powered off.
  • Step 404 the SCSI bus is optionally reset (Step 404 ), then the number of drives scan is set to the number of configured drives (Step 406 ). Drives are then selected (Step 408 ) and if they respond to selection within a specified or predetermined period of time, operation is deemed normal (Step 410 ). In the event that the selected drive does not respond timely, there is a selection timeout condition.
  • the internal count is incremented by setting the number of drives that failed to respond to be equal to the number of drives that failed to respond plus one (Step 412 ). If the number of disk drives that failed to respond equals the number of configured disk drives (Step 414 ), then then stop responding to system requests (Step 416 ). However, if the number of disk drives that failed to respond does not equals the number of configured disk drives then a test is performed to determine if the number of drives to scan equals zero (Step 418 ).
  • Step 414 If the number of drives to scan equals zero, then Step 414 and any subsequent steps are repeated. If it is not equal to zero, then a new drive is selected and Steps 408 , 412 , 414 , and 418 are repeated as necessary.
  • the RAID controller should perform the following procedure. First, the controller scans the SCSI bus and determines those drives that are responding on the bus. Second, if at least one drive has responded during the bus scan, then proceed in conventional manner to place off-line (or “kill”) those drives that are not responding. Since at least one disk drive on the commonly powered rack, unit, or storage shelf is operating and responsive, the entire unit cannot be powered off. Third, if only one drive was present prior to scanning then proceed in conventional manner to kill (mark as “off-line”) that single drive that are not responding. In this instance, we may not know if the single disk drive is in some error state or is powered down, so we take a conservative approach and mark it off-line. Fourth, if the number of drives present prior to scanning is greater than one, and if all the drives on the common bus are not responding then all of these disc drives may be in a power-off or power-fail scenario.
  • off-line or “kill”
  • an indicator flag is set to indicate the abnormal condition. Setting this flag prevents the host computer from accessing any drive in SCSI channel, by returning “drive not ready” error status. Whenever the abnormal condition flag is set no drives on the SCSI channel are killed or place off-line. Finally, once the user recycles or resets the power to the system, the abnormal condition flag is cleared by the firmware power-on reset initialization, and operation proceeds normally without further action. Since the drives were not killed, the RAID controller will follow the normal power up sequence and no corrective reconfiguration is required. It is noted that this procedure works equally well whether the aforementioned fault management routines (AEMI or Storage Works or SAFTE) are implemented or not.
  • any need to restart or reboot the computer with the disk drives powered on may be avoided by providing a RAID controller adapted to detect a disk drive power down situation and retry communication with the hard disk drives at some predetermined per channel interval, for example, 10 seconds, 20 seconds, 30 seconds, 1 minute, or the like.
  • the retry interval may be adapted to the anticipated period of time between the various power-on steps, and may also include appropriate disk drive spin-up time if and where appropriate. This procedure is applicable for systems having a single storage shelf or for systems having multiple storage shelves and drives striped across the channels.
  • Step 504 internal structures are first initialized (Step 504 ), then the number of drives to respond is set equal to the number of drives configured (Step 506 ).
  • the variable is initialized by setting the number of drives not responding to be equal to zero (Step 507 ).
  • the SCSI bus (or other bus type) is then reset (Step 508 ) and a drive is selected (Step 510 ). IF the selected drives responds within a predetermined time period, operation is normal (Step 512 ), otherwise there is a select timeout condition detected.
  • the number of drives not responding is incremented by one (Step 514 ).
  • Step 516 The process is repeated (Step 516 ) until all drives have been scanned. If normal operation (Step 512 ) has not been detected by the time all drives have been scanned, then a further test is made to determine if the number of drives not responding equals the number of configured drives (Step 518 ). If they are equal, the installation is aborted and no further read write to the controller is permitted. If they are not equal, thennormal operation occurs (Step 512 ).
  • the firmware based procedure causes, for each SCSI channel, first a scan of the channel to identify all existing devices, that is all devices that are connected electronically. Second, if at least one disk drive device is configured for that channel, and none of the devices on that channel respond (possibly indicating that the disk drive box is not powered on), then retry the scanning operation one or more times at some interval of time (5, 10, or 20 seconds for example). In one embodiment of the invention, the scanning operation was retried three times, once every 10 seconds. If all the devices configured for that channel respond during the retry process, then proceed with normal operation as all of the devices that should be present in this channel appear to be operating normally.
  • At least one disk drive device is configured for that channel, and at least one of the devices on that channel respond when performing the device scan, then mark the non-responding devices as “off-line” and proceed in conventional manner.
  • the RAID controller will inform the user about drives not responding as off-line or dead during system reboot, in the exemplary embodiment described here, the actual RAID configuration information in the controller for the drives will not be marked off-line. Thus, when the drive box is powered on subsequently and the CPU is rebooted, the drive box will become On-line and will therefore not require reconfiguration or other corrective action.

Abstract

A method and device for detecting and handling non-responsive devices in a computer system where the device non-responsiveness may be due to a powered-down status rather than a device failure, and more particularly to such computer systems when the devices are RAID disk drives. By scanning all devices connected in a configuration and maintaining a count of devices that time out without responding, a determination can be made as to whether the devices are powered off or are experiencing some other problem that requires attention of a system support technician.

Description

    FIELD OF THE INVENTION
  • This invention relates generally to apparatus and method for handling a non-responsive device in a computer system where the device non-responsiveness may be due to a powered-down status and not a device failure, and more particularly to such computer systems when the devices are RAID disk drives. [0001]
  • BACKGROUND OF THE INVENTION
  • Conventionally, for a computer system having a host processor powered by one switchable power supply, and one or more peripheral devices powered by a second switchable power supply, the order in which each of the host and peripheral device is powered on may affect the start or boot up procedure. More particularly, if the host is powered on before the peripheral devices, such peripheral devices may either not show up in the configuration, or show up but be identified as non-responding or the like inactive state. [0002]
  • This situation is particularly an issue in host computer systems which serve as database or information servers, and which typically have a host computer and one or more racks or shelves of rotating disk drive storage devices for storing the information. Customarily, each of the host computer processor rack and disc drive racks are powered by separate switchable power supplies. Unfortunately, the order and timing of the power up and power-down of the several racks effects the start-up or boot routine at system initialization, and may cause an error condition on shut-down or power-off. [0003]
  • These conditions have been tolerated in the past by (I) indoctrinating personnel as to the proper power-up and power-down sequence for the host computer and attached devices, (ii) by providing a master power-on switch for all of the equipment, or (iii) by correcting corrupted or erroneous device or system configuration files after the problem has occurred. Unfortunately, neither of the first two options has been entirely successful so that corruption still occurs, and when such corruption occurs, correction typically requires the intervention of a skilled computer administrator. [0004]
  • The problem is particularly acute relative to RAID disc drives on a server being marked logically off-line, some times referred to as simply off-line or “Dead.”[0005]
  • SUMMARY OF THE INVENTION
  • This invention provides structure and method for handling a non-responsive device in a computer system where the device non-responsiveness may be due to a powered-down status rather than a device failure, and more particularly to such computer systems when the devices are RAID disk drives. [0006]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a diagrammatic illustration showing one embodiment of the inventive Structure and Method for Power Sequencing of Disk Drives in a Computer System. [0007]
  • FIG. 2 is a diagrammatic illustration of a disk array controller. [0008]
  • FIG. 3 is a diagrammatic flow-chart illustration showing a power-down embodiment of the inventive method. [0009]
  • FIG. 4 is a diagrammatic illustration showing an embodiment a procedure for handling an error on a RAID controller during normal I/O operations. [0010]
  • FIG. 5 is a diagrammatic flow-chart illustration showing an exemplary embodiment of the inventive power-up sequence which is implemented through changes in the disk drive initialization routine. [0011]
  • DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION
  • We now describe embodiments of the invention relative to the computer system illustrated in FIG. 1. An exemplary embodiment of the [0012] inventive computer system 101 including a host computer 102, disk array controllers 104,106 , and arrays of disk drives 110, 111, each array including one or more individual disk drives is illustrated in FIG. 1. Host computer 102 includes a processor 120, input/output devices 121, such as a keyboard 122, display device 123, memory 124 coupled to the processor and having a defined data structure 125 for storing data 126, commands 127, and procedures 128; and
  • a [0013] system disk drive 129. Other conventional computer system components may also be provided. The controller is coupled to the processor by a PCI Bus 140, and the disk drives are coupled to the controller by SCSI cables 141, in conventional manner. While we primarily refer to disk drives or hard disk drives in this description, it should be understood that the invention is applicable to many types of storage media, including but not limited to rotating magnetic disk drives, magneto-optical devices, readable/writable CD's, fixed or removable media, floppy disk drives, and even electronic or solid state storage media.
  • In FIG. 2, there is illustrated a functional block diagram of an [0014] exemplary disk controller 130. Disk controller 130 is disposed within an enclosure in system and is typically fabricated as a single printed circuit board. Disk controller 130 includes controller CPU 131, one or more disk device/array controller 132 (for example SCSI, Fibre Channel, or IDE type controller), PCI bus (or other standard or proprietary bus) 133, PCI-to-PCI Bridge or PCI-interface chip 134 (depending on configuration), and storage means 135 such as a DRAM, SDRAM, EDO, or the like memory. SCSI Chip control/interrupt lines also connect the controller CPU with each of the SCSI Controller Chips 0, . . . , N. In the embodiment illustrated in FIG. 2, the controller draws power form the host PCI Bus 140.
  • Those workers having ordinary skill in the art will appreciate that although a specific host system, controller architecture, disk storage devices, and system interconnect are illustrated, that the inventive structure and method are not limited to these particular implementations. Furthermore, unless necessary for understanding the invention, standard computer system components and data or control lines are not shown or described so as not to obscure the invention. For example, although PCI busses and SCI busses are described, other communication means such as Fiber Channel, IDE, or other proprietary communication busses or links may be employed. [0015]
  • The controller comprises a CPU [0016] 131 and memory component(s) 135 to provide for execution of the inventive method. The controller comprises one or more printed circuit boards connected on a proprietary bus (Mylex Corporation of Fremont, Calif.).
  • The [0017] disk arrays 110, 111 are connected to the bus specific controller chips 132 SCSI/Fibre and this controllers chips 132 may be present on the same printed circuit board 130 or they may be present on the host PCI bus, depending on the desired implementation.
  • The controller CPU [0018] 131 will execute and store its operating variables on the memory component 135. All the interrupt and other control lines for the controller chip 132 will be routed to the CPU 131 based on the type of bus to which they are connected.
  • The [0019] disk drive arrays 110, 111 each include a plurality of disk drives, but the controller may be configured to control only a single disk drive. More or fewer disk controllers may be provided in the inventive system, for example, a single controller may be configured, or 2, 3, 4, 5, or more may be configured, limited only by the number of PCI slots available in the host machine. Each array of disk drives is disposed in a cabinet or other enclosure up to a maximum addressable number of units (15 addressable units in the case of conventional SCSI) as is commonly done for Redundant Array of Independent Disk (RAID) storage configurations.
  • We now describe the basic operation of the RAID controller with respect to FIG. 2 which shows a diagrammatic illustration of an embodiment of the inventive structure showing selected functional blocks and/or devices and the bus structure which supports communication between the blocks or devices. The disk arrays with one or more disks are connected to the SCSI controller chip, hence forth referred to as the SCSi channel The cabinets enclosure management may be controlled by additional cables or they may use the reserved and generally unused SCSI lines (storage works) or the enclosure management functions may be controlled by a standard SAF-TE compliant CPU acting as a SCSI target. [0020]
  • The power supply failure line are pulled high by the controller internally. Whereas in the disk cabinet they are also pulled high (with a pull-up resistor). Whenever the cabinet is powered OFF but the controller is powered ON, the power supply failure line is pulled low. (This is true because the cabinet ground (GND) line and controller ground (GND) lines are interconnected.) The SAF-TE CPU is polled periodically, for example at 10 second intervals. If the cabinet is powered down, the SAFTE CPU will not respond. [0021]
  • We note that several commercial fault management devices and procedures are available the permit a Redundant Array of Independent Disks (RAID) controller to detect hard disk drive status changes. These commercial products include “SAFTE”, “AEMI”, and “Storage Works” (made by Digital Equipment Corporation of Maynard, Mass.). Possible RAID disk drive status include: on-line state, wherein the disk drive is ready for operation, standby state wherein the disk drive can act as a replacement when a drive becomes offline, write-only state, wherein the disk drive is being rebuilt; and off-line state, wherein the disk drive is logically removed from operation. [0022]
  • Although these fault management systems have benefits, if by accident the hard drives were turned off prior to turning off the host computer, the fault management routine provided, such as the AEMI, SAFTE, or Storage Works routines, in the RAID controller will detect a disk drive removal and hence mark the hard drives as off-line (and therefore unusable). When a disk drive is marked “off-line” and is unusable. In order to make the disk drive that was marked off-line usable again, the administrator has to run a configuration utility to make the drives On-line; this requires expertise, time and hence costs money. In the event that the administrator is not available, individual users may not have the expertise or the security access to reset the drives; hence the drives and potentially the entire system are unusable or usable only with reduced capability. [0023]
  • The inventive structure and method solve this problem by detecting a disk drive power-off condition, so that the disk drive fault management system (if provided) does not mark the drive off-line, but rather takes other action to recover from the disk-drive power-off condition. Specifically, in one embodiment of the invention, if all the disk drives connected on a single SCSI channel fail to respond, this serves as an indication that all of the drives on the channel are powered-off, and none of the disk drives are marked offline. Details of the inventive structure and method are described in greater detail below. [0024]
  • In the description that follows, we refer to a “storage shelf” which is one or more disks, and support for enclosure management if required. When the Storage Shelf is powered down prior to powering down the host, a disk drive to which an input/output (I/O) operation is attempted will fail to complete the I/O. The controller will get a drive selection timeout error condition. When such an error condition occurs, the RAID controller should scan the remaining devices on the SCSI channel to find out the number of devices responding. If more than one device was present in the channel and if none of those devices respond now, then the RAID controller should treat this error condition as a power fail case or situation, and reject all pending and future I/Os with a “drive not ready” error message. This error condition handling under the inventive method has the advantage that the disk drive is not marked “off-line” as in conventional systems, and the computer system (or remaining parts thereof) can be powered off without any change in the RAID device configuration and without any need to recover the system upon power-up. [0025]
  • In a system configuration providing multiple SCSI channels, where the system disk drives are striped across the channels and/or Storage Shelves, all affected system drives are put into a “drive not ready” state if the cause is deemed to be a power failure. In level five (5) RAID systems, “affected system drives” include data drive and parity, in addition to the particular disk drive or storage shelve of drives that are actually powered down. [0026]
  • This power-down embodiment of the invention is further described relative to the flow-chart diagram in FIG. 3. This procedure applies when a drive cabinet is powered off and a new command is being attempted. If a drive is selected and does not respond within a predetermined time interval (Step [0027] 304), the selection process times out. If after selection there is no timeout (Step 304), then operation is normal (Step 306) and the procedure in FIG. 3 does not apply. If there is a selection timeout, but the drive is not part of the then current configuration (Step 308), again operation is normal (Step 310) and the procedure does not apply further. If on the other hand, there is a selection timeout (Step 304) and the selected disk that times out is part of the drive configuration (Step 308), then the SCSI bus is reset (Step 312). After the SCSI (or other bus type) is reset, a counter is initialized at a value equal to the number of configured disk drives (Step 314). Each drive is selected in turn (Step 316) to see if it responds within the timeout period. If it responds to the selection, operation is normal (Step 318). However, it the drive selection times out, the counter is incremented (Step 320), and additional drives are selected (Step 316) and tested until the counter (I) is equal to the number of configured drives. If the counter reaches that value, then an installation abort occurs (Step 322) indicating that the drive cabinet must be powered off.
  • We now describe an embodiment a procedure for handling an error on a RAID controller during normal I/O operations, for example, after accepting commands, the drive fails to respond to further commands within a specified period of time. One exemplary implementation of the inventive procedure is now described relative to the illustration of FIG. 4. Upon initialization, the SCSI bus is optionally reset (Step [0028] 404), then the number of drives scan is set to the number of configured drives (Step 406). Drives are then selected (Step 408) and if they respond to selection within a specified or predetermined period of time, operation is deemed normal (Step 410). In the event that the selected drive does not respond timely, there is a selection timeout condition. Next, the internal count is incremented by setting the number of drives that failed to respond to be equal to the number of drives that failed to respond plus one (Step 412). If the number of disk drives that failed to respond equals the number of configured disk drives (Step 414), then then stop responding to system requests (Step 416). However, if the number of disk drives that failed to respond does not equals the number of configured disk drives then a test is performed to determine if the number of drives to scan equals zero (Step 418).
  • If the number of drives to scan equals zero, then Step [0029] 414 and any subsequent steps are repeated. If it is not equal to zero, then a new drive is selected and Steps 408, 412, 414, and 418 are repeated as necessary.
  • During normal disk I/O, if an error occurs, the RAID controller should perform the following procedure. First, the controller scans the SCSI bus and determines those drives that are responding on the bus. Second, if at least one drive has responded during the bus scan, then proceed in conventional manner to place off-line (or “kill”) those drives that are not responding. Since at least one disk drive on the commonly powered rack, unit, or storage shelf is operating and responsive, the entire unit cannot be powered off. Third, if only one drive was present prior to scanning then proceed in conventional manner to kill (mark as “off-line”) that single drive that are not responding. In this instance, we may not know if the single disk drive is in some error state or is powered down, so we take a conservative approach and mark it off-line. Fourth, if the number of drives present prior to scanning is greater than one, and if all the drives on the common bus are not responding then all of these disc drives may be in a power-off or power-fail scenario. [0030]
  • When these conditions are satisfied, an indicator flag is set to indicate the abnormal condition. Setting this flag prevents the host computer from accessing any drive in SCSI channel, by returning “drive not ready” error status. Whenever the abnormal condition flag is set no drives on the SCSI channel are killed or place off-line. Finally, once the user recycles or resets the power to the system, the abnormal condition flag is cleared by the firmware power-on reset initialization, and operation proceeds normally without further action. Since the drives were not killed, the RAID controller will follow the normal power up sequence and no corrective reconfiguration is required. It is noted that this procedure works equally well whether the aforementioned fault management routines (AEMI or Storage Works or SAFTE) are implemented or not. [0031]
  • We now describe a power-up sequence. During system power up, if the host computer is powered on before the disk drive box or rack is powered on, then the RAID controller will get a SCSI selection time-out on the disk drives in that box resulting in “installation abort” condition. Unless the user is aware that the proper power up sequence was not observed, it may be difficult to trouble shoot the reason for the installation abort, and some time will be involved in diagnosing the situation. Restarting or rebooting the host computer after the disk drive box is powered on will restore normal operation of the drives; however, the administrator or user must recognize the reason for the problem in order to take appropriate corrective action. [0032]
  • Under the inventive structure and method, any need to restart or reboot the computer with the disk drives powered on may be avoided by providing a RAID controller adapted to detect a disk drive power down situation and retry communication with the hard disk drives at some predetermined per channel interval, for example, 10 seconds, 20 seconds, 30 seconds, 1 minute, or the like. The retry interval may be adapted to the anticipated period of time between the various power-on steps, and may also include appropriate disk drive spin-up time if and where appropriate. This procedure is applicable for systems having a single storage shelf or for systems having multiple storage shelves and drives striped across the channels. [0033]
  • We now describe an exemplary embodiment of a controller power-up sequence which is implemented through changes in the disk drive initialization routine implemented as firmware. The procedure is described relative to the flow chart diagram of FIG. 5. [0034]
  • In this procedure, internal structures are first initialized (Step [0035] 504), then the number of drives to respond is set equal to the number of drives configured (Step 506).
  • Next, the variable is initialized by setting the number of drives not responding to be equal to zero (Step [0036] 507). The SCSI bus (or other bus type) is then reset (Step 508) and a drive is selected (Step 510). IF the selected drives responds within a predetermined time period, operation is normal (Step 512), otherwise there is a select timeout condition detected. Next, the number of drives not responding is incremented by one (Step 514).
  • The process is repeated (Step [0037] 516) until all drives have been scanned. If normal operation (Step 512) has not been detected by the time all drives have been scanned, then a further test is made to determine if the number of drives not responding equals the number of configured drives (Step 518). If they are equal, the installation is aborted and no further read write to the controller is permitted. If they are not equal, thennormal operation occurs (Step 512).
  • During initialization, the firmware based procedure causes, for each SCSI channel, first a scan of the channel to identify all existing devices, that is all devices that are connected electronically. Second, if at least one disk drive device is configured for that channel, and none of the devices on that channel respond (possibly indicating that the disk drive box is not powered on), then retry the scanning operation one or more times at some interval of time (5, 10, or 20 seconds for example). In one embodiment of the invention, the scanning operation was retried three times, once every 10 seconds. If all the devices configured for that channel respond during the retry process, then proceed with normal operation as all of the devices that should be present in this channel appear to be operating normally. On the other hand, if not all of the devices configured for that channel respond during the initial or retry process, then inform the host computer about the non-responding devices so that they may be marked “off-line” and take other appropriate steps to recover from the installation abort mode. [0038]
  • If at least one disk drive device is configured for that channel, and at least one of the devices on that channel respond when performing the device scan, then mark the non-responding devices as “off-line” and proceed in conventional manner. [0039]
  • Note that although the RAID controller will inform the user about drives not responding as off-line or dead during system reboot, in the exemplary embodiment described here, the actual RAID configuration information in the controller for the drives will not be marked off-line. Thus, when the drive box is powered on subsequently and the CPU is rebooted, the drive box will become On-line and will therefore not require reconfiguration or other corrective action. [0040]
  • All publications, patents, and patent applications mentioned in this specification are herein incorporated by reference to the same extent as if each individual publication or patent application was specifically and individually indicated to be incorporated by reference. [0041]
  • The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best use the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents. [0042]

Claims (2)

We claim:
1. A method for handiling a powered down situation in a computer system, comprising:
if a drive is selected and does not respond within a predetermined time interval, the selection process times out;
if after selection there is no timeout, then operation is normal;
if there is a selection timeout, but the drive is not part of the then current configuration operation is normal;
if there is a selection timeout and the selected disk that times out is part of the drive configuration, then the SCSI bus is reset;
initializing at a value equal to the number of configured disk drives;
each drive is selected in turn to see if it responds within the timeout period;
if it responds to the selection, operation is normal, but if the drive selection times out, the counter is incremented and additional drives are selected and tested until the counter is equal to the number of configured drives. If the counter reaches that value, then an installation abort occurs;
if abort occurs this indicating that the drive cabinet must be powered off.
2. A device for identifying a power down situation in a computer, comprising:
a device;
a controller controlling said device;
timing means for identifying a timeout condition for said device.
US09/789,900 1998-08-18 2001-02-20 Method and computer program product for diagnosing and handling non-responsive device in a computer system Expired - Fee Related US6449725B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/789,900 US6449725B2 (en) 1998-08-18 2001-02-20 Method and computer program product for diagnosing and handling non-responsive device in a computer system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/136,644 US6192481B1 (en) 1998-08-18 1998-08-18 Structure and method for power sequencing of disk drives in a computer system
US09/789,900 US6449725B2 (en) 1998-08-18 2001-02-20 Method and computer program product for diagnosing and handling non-responsive device in a computer system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/136,644 Continuation US6192481B1 (en) 1998-08-18 1998-08-18 Structure and method for power sequencing of disk drives in a computer system

Publications (2)

Publication Number Publication Date
US20010020277A1 true US20010020277A1 (en) 2001-09-06
US6449725B2 US6449725B2 (en) 2002-09-10

Family

ID=22473738

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/136,644 Expired - Fee Related US6192481B1 (en) 1998-08-18 1998-08-18 Structure and method for power sequencing of disk drives in a computer system
US09/789,900 Expired - Fee Related US6449725B2 (en) 1998-08-18 2001-02-20 Method and computer program product for diagnosing and handling non-responsive device in a computer system

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/136,644 Expired - Fee Related US6192481B1 (en) 1998-08-18 1998-08-18 Structure and method for power sequencing of disk drives in a computer system

Country Status (1)

Country Link
US (2) US6192481B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490544B1 (en) * 2000-02-04 2002-12-03 Hewlett-Packard Company System for testing a multi-tasking computing device
US20060112304A1 (en) * 2004-11-12 2006-05-25 Lsi Logic Corporation Methods and structure for detection and handling of catastrophic SCSI errors
US20060174166A1 (en) * 2005-02-02 2006-08-03 Lsi Logic Corporation Proactive driver response to an operating system if a drive is removed from a raid configuration
CN107907838A (en) * 2017-11-22 2018-04-13 郑州云海信息技术有限公司 A kind of redundant power module tests system and method

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000207294A (en) * 1999-01-18 2000-07-28 Nec Corp Magnetic disk drive and scsi system using the same
JP4325817B2 (en) * 1999-04-05 2009-09-02 株式会社日立製作所 Disk array device
US6832324B2 (en) * 2000-05-16 2004-12-14 Richmount Computers Limited Method for providing a device communicating to a backplane the current status of an associated power supply unit connected to the backplane
US6351831B1 (en) * 2000-05-24 2002-02-26 Mti Technology Corporation Storage network cabling verification system
IES20010398A2 (en) * 2000-07-06 2002-02-06 Richmount Computers Ltd Improved power supply unit controller
JP2002108573A (en) * 2000-09-28 2002-04-12 Nec Corp Disk array device and method for controlling its error and recording medium with its control program recorded thereon
US7065661B2 (en) * 2002-12-16 2006-06-20 Emc Corporation Using request and grant signals to read revision information from an adapter board that interfaces a disk drive
US6959399B2 (en) * 2001-09-24 2005-10-25 International Business Machines Corporation Selective automated power cycling of faulty disk in intelligent disk array enclosure for error recovery
US7206953B1 (en) 2001-12-17 2007-04-17 Adaptec, Inc. Asynchronous fault-tolerant enclosure services interface
US6888692B2 (en) * 2002-02-04 2005-05-03 Hitachi Global Storage Technologies Netherlands, B.V. Method and apparatus for implementing intelligent spin-up for a disk drive
US6966006B2 (en) * 2002-05-09 2005-11-15 International Business Machines Corporation Adaptive startup policy for accelerating multi-disk array spin-up
US7210004B2 (en) * 2003-06-26 2007-04-24 Copan Systems Method and system for background processing of data in a storage system
US20040141461A1 (en) * 2003-01-22 2004-07-22 Zimmer Vincent J. Remote reset using a one-time pad
US6891691B2 (en) 2003-04-07 2005-05-10 International Business Machines Corporation Compensation of disk spinup errors in a disk drive
US8639866B2 (en) * 2003-08-06 2014-01-28 Hewlett-Packard Development Company, L.P. Systems and methods for dividing a communications channel
JP4486348B2 (en) * 2003-11-26 2010-06-23 株式会社日立製作所 Disk array that suppresses drive operating time
JP4518541B2 (en) 2004-01-16 2010-08-04 株式会社日立製作所 Disk array device and disk array device control method
JP4634049B2 (en) 2004-02-04 2011-02-16 株式会社日立製作所 Error notification control in disk array system
US7590801B1 (en) * 2004-02-12 2009-09-15 Netapp, Inc. Identifying suspect disks
US7987154B2 (en) * 2004-08-12 2011-07-26 Telecom Italia S.P.A. System, a method and a device for updating a data set through a communication network
US7155552B1 (en) * 2004-09-27 2006-12-26 Emc Corporation Apparatus and method for highly available module insertion
US7440215B1 (en) * 2005-03-30 2008-10-21 Emc Corporation Managing disk drive spin up
US8713551B2 (en) * 2006-01-03 2014-04-29 International Business Machines Corporation Apparatus, system, and method for non-interruptively updating firmware on a redundant hardware controller
US7870128B2 (en) 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US9052826B2 (en) * 2006-07-28 2015-06-09 Condusiv Technologies Corporation Selecting storage locations for storing data based on storage location attributes and data usage statistics
US20090132621A1 (en) * 2006-07-28 2009-05-21 Craig Jensen Selecting storage location for file storage based on storage longevity and speed
US7479714B1 (en) 2006-11-13 2009-01-20 Sprint Communications Company L.P. Apparatus and method for multiple-module electronic system power control
US8312214B1 (en) * 2007-03-28 2012-11-13 Netapp, Inc. System and method for pausing disk drives in an aggregate
US8806081B2 (en) * 2008-02-19 2014-08-12 International Business Machines Corporation Open host issued statesave to attached storage
US9798467B2 (en) * 2009-12-29 2017-10-24 International Business Machines Corporation Security checks for proxied requests
JP4806084B1 (en) * 2010-05-28 2011-11-02 株式会社東芝 Information processing device
US8782463B1 (en) 2011-10-27 2014-07-15 Seagate Technology Llc Restoring a failed storage volume after removal of a storage device from an array
KR20150001146A (en) * 2013-06-26 2015-01-06 삼성전자주식회사 Storage system and Operating method thereof
LU92821B1 (en) 2015-09-09 2017-03-20 Mologen Ag Combination comprising immunostimulatory oligonucleotides
GB2542425A (en) 2015-09-21 2017-03-22 Mologen Ag Means for the treatment of HIV
US10372364B2 (en) * 2016-04-18 2019-08-06 Super Micro Computer, Inc. Storage enclosure with daisy-chained sideband signal routing and distributed logic devices
US11031804B2 (en) * 2017-11-06 2021-06-08 Nxp B.V. Power controller

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297067A (en) * 1991-10-16 1994-03-22 Quantum Corporation Electronic hot connection of disk drive module to computer peripheral bus
US5535400A (en) * 1994-01-28 1996-07-09 Compaq Computer Corporation SCSI disk drive power down apparatus
US5586271A (en) * 1994-09-27 1996-12-17 Macrolink Inc. In-line SCSI bus circuit for providing isolation and bi-directional communication between two portions of a SCSI bus
US5761705A (en) * 1996-04-04 1998-06-02 Symbios, Inc. Methods and structure for maintaining cache consistency in a RAID controller having redundant caches

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490544B1 (en) * 2000-02-04 2002-12-03 Hewlett-Packard Company System for testing a multi-tasking computing device
US20060112304A1 (en) * 2004-11-12 2006-05-25 Lsi Logic Corporation Methods and structure for detection and handling of catastrophic SCSI errors
US7428665B2 (en) * 2004-11-12 2008-09-23 Lsi Corporation Methods and structure for detection and handling of catastrophic SCSI errors
US20060174166A1 (en) * 2005-02-02 2006-08-03 Lsi Logic Corporation Proactive driver response to an operating system if a drive is removed from a raid configuration
US7398416B2 (en) * 2005-02-02 2008-07-08 Lsi Corporation Proactive driver response to an operating system if a drive is removed from a RAID configuration
CN107907838A (en) * 2017-11-22 2018-04-13 郑州云海信息技术有限公司 A kind of redundant power module tests system and method

Also Published As

Publication number Publication date
US6192481B1 (en) 2001-02-20
US6449725B2 (en) 2002-09-10

Similar Documents

Publication Publication Date Title
US6192481B1 (en) Structure and method for power sequencing of disk drives in a computer system
US6178520B1 (en) Software recognition of drive removal or insertion in a storage system
US6754767B2 (en) Self managing fixed configuration raid disk in headless appliance
US6263387B1 (en) System for automatically configuring a server after hot add of a device
US6212585B1 (en) Method of automatically configuring a server after hot add of a device
US6163825A (en) Method for hot adding a network adapter by identifying and executing the adapter driver based upon the logical board number of the network adapter
US8185775B2 (en) Virtual computer system and control method thereof
US6484226B2 (en) System and method for the add or swap of an adapter on an operating computer
US7216258B2 (en) Method and apparatus for recovering from a non-fatal fault during background operations
US6304929B1 (en) Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
EP0559454B1 (en) On-line module replacement in a multiple module data processing system
US20140173336A1 (en) Cascading failover of blade servers in a data center
US7266815B2 (en) Automated control of a licensed internal code update on a storage controller
EP2093670A2 (en) Storage management apparatus and storage system
US6170028B1 (en) Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US7137020B2 (en) Method and apparatus for disabling defective components in a computer system
GB2375632A (en) Redundant-controller data storage system having an on-line controller removal system and method
US9116861B2 (en) Cascading failover of blade servers in a data center
US5930817A (en) Method and system including operation information accessible by a system on a network utilizing a file access command of a host operating system
US6173346B1 (en) Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US20060075292A1 (en) Storage system
JP2009015584A (en) Storage control device and method for controlling power supply of casing unit
US7000142B2 (en) Mirrored extensions to a multiple disk storage system
US7624300B2 (en) Managing storage stability
US6957301B2 (en) System and method for detecting data integrity problems on a data storage device

Legal Events

Date Code Title Description
REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20060910