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 |