Claims
- 1. A disk drive controller having a plurality of directors, each one of the directors able to control the flow of data therethrough and being responsive to external clock signals to synchronize its internal clock timing comprising:a master bus and a secondary bus, each said bus being connected to each said director; and each said director having: circuitry for monitoring the occurrence of clock pulses over said buses; a counter responsive to each received clock pulse for incrementing its count; a hardware circuitry, coupled to the monitoring circuitry and to the counter, for identifying a first low threshold failure of clock pulses on the master bus and for effecting a synchronization event in response thereto wherein the counter is reset; a macrocode processor, coupled to the hardware circuitry, for deciding whether to cause said director to switch to the secondary bus for receiving clock pulses; and switching circuitry, coupled to the macrocode processor, for switching said director from the master bus to the secondary bus for the receipt of clock pulses upon the occurrence of a failure of clock pulses over said master bus.
- 2. The disk drive controller of claim 1 wherein each director further comprises:said macrocode processor setting a timeout period for causing the switching whereby the switching is effected if clock pulses fail to appear after said timeout period, and said plurality of directors are in agreement that a clock failure occurred on the master bus.
- 3. The disk controller of claim 2 wherein said timeout period is between 10 and 500 microseconds.
- 4. The disk drive controller of claim 1 wherein the first threshold is greater than about five clock cycles.
- 5. A method for controlling the flow of data through directors of a disk drive controller, the directors being responsive to external clock signals to synchronize the internal clock timing of the directors comprising:connecting a master bus and a secondary bus to each director; monitoring the occurrence of clock pulses over the buses; incrementing, at each director, a counter responsive to each received clock pulse from the buses; selecting from which bus to receive clock pulse; identifying a first low threshold failure of clock pulses on the master bus; effecting a synchronization event in response to the threshold failure wherein the counter is reset; deciding, at each director, whether to cause the director to switch to the secondary bus for receiving clock pulses; and switching from the master bus to the secondary bus for the receipt of clock pulses by the directors upon the occurrence of a failure of clock pulses over the master bus.
- 6. The method of claim 5 further comprising setting a timeout period for causing the switching between said buses; andeffecting the switching if the clock pulses fail to appear after the timeout period and the plurality of directors are in agreement that a clock failure has occurred on the master bus.
- 7. The method of claim 6 wherein said timeout period is between 10 and 500 microseconds.
- 8. The method of claim 5 Wherein the first threshold is greater than about 5 clock cycles in duration.
- 9. A disk drive controller for interconnecting a host computer to a plurality of disk drives, such controller comprising:a global memory; a plurality of directors each one being coupled to the global memory, each one of the directors having: an internal clock; a counter; and a microprocessor; a pair of clock lines, each one of the plurality of directors being coupled to the pair of clock lines, one of such pair of clock lines being initially designated as a primary clock line and the other being a secondary clock line, one of the plurality of directors being initially designated as a source for producing clock pulses on the primary clock line for the plurality of directors; wherein directors increment the internal counter thereof for counting the clock pulses on the primary clock line, and wherein the microprocessor therein determines whether the count has reached a predetermined value after a predetermined period of time, and if not, a synchronization event is declared; and wherein, in response to the declared synchronization event and upon agreement among the plurality of directors, a different one of the directors is selected to produce clock pulses for the plurality of directors on the secondary clock line.
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation-in-part of U.S. Ser. No. 09/365,375, entitled System Clock Configuration for Computer Storage System, filed Jul. 30, 1999, still pending, the contents of which are incorporated, herein, in their entirety, by reference.
US Referenced Citations (5)
Number |
Name |
Date |
Kind |
4955020 |
Stone et al. |
Sep 1990 |
A |
4967344 |
Scavezze et al. |
Oct 1990 |
A |
5754730 |
Windrem et al. |
May 1998 |
A |
6078595 |
Jones et al. |
Jun 2000 |
A |
6141769 |
Petivan et al. |
Oct 2000 |
A |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09/365375 |
Jul 1999 |
US |
Child |
09/475462 |
|
US |