US6629257B1 - System and method to automatically reset and initialize a clocking subsystem with reset signaling technique - Google Patents

System and method to automatically reset and initialize a clocking subsystem with reset signaling technique Download PDF

Info

Publication number
US6629257B1
US6629257B1 US09/652,980 US65298000A US6629257B1 US 6629257 B1 US6629257 B1 US 6629257B1 US 65298000 A US65298000 A US 65298000A US 6629257 B1 US6629257 B1 US 6629257B1
Authority
US
United States
Prior art keywords
reset
timer
signals
pll
input
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.)
Expired - Fee Related, expires
Application number
US09/652,980
Inventor
David Hartwell
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Priority to US09/652,980 priority Critical patent/US6629257B1/en
Assigned to COMPAQ COMPUTER CORPORATION reassignment COMPAQ COMPUTER CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HARTWELL, DAVID
Assigned to COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P. reassignment COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COMPAQ COMPUTER CORPORATION
Priority to US10/649,523 priority patent/US6976184B2/en
Application granted granted Critical
Publication of US6629257B1 publication Critical patent/US6629257B1/en
Assigned to HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. reassignment HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: COMPAQ INFORMATION TECHNOLOGIES GROUP, LP
Assigned to HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP reassignment HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means

Definitions

  • the present invention relates to data processing systems and, in particular, to a technique for automatically resetting and reinitializing a clocking subsystem of a data processing system.
  • PLL phase locked loop
  • VCO voltage-controlled oscillator
  • parameters may be adjusted with the use of external jumpers that may be changed as process modifications occur with respect to, e.g., an application specific integrated circuit (ASIC) within which the PLL may be embedded.
  • ASIC application specific integrated circuit
  • the input parameters may be adjusted by internal logic that does not rely upon proper PLL operation to set and adjust such parameters.
  • the output clock signal from the PLL is used to activate (i.e., clock) logic contained in an I/O interface circuit of the I/O subsystem.
  • the logic contained in the I/O interface between a processor and I/O subsystem is generally non-operational until the clock signals delivered from the PLL are synchronized to enable transmission of commands between the processor and I/O subsystem.
  • a server management subsystem within the data processing system may be unable to initialize any circuits within the I/O interface nor access any registers, e.g., control status registers (CSRs) within that interface without adding unnecessary complexity to the I/O interface and management subsystem.
  • CSRs control status registers
  • Another way of initializing the circuitry within the I/O interface involves the use of special signals between the processor and I/O interface. This approach requires the use of different cables to accommodate those signals and, thus, obviates the ability to re-use similar cables between processors, and between processors and I/O subsystems, thereby creating a complicated cabling arrangement.
  • data processing systems such as high performance server computers, typically utilize synchronous clock forwarded interface circuits to provide high data bandwidth on relatively narrow interconnects or links associated with the interface circuits. Clock forwarding is a technique in which data signals are accompanied by clock signals. It is thus desirable to keep the interfaces between the processors and I/O subsystems (in particular the I/O interfaces) similar to thereby enable the use of similar parts, such as cables, in a low cost manner.
  • the present invention is generally directed to a circuit configured to initialize a PLL within a clocking subsystem upon startup and re-initialize the PLL in the absence (or loss) of forwarded clock signals propagating between a processor and I/O interface. These clock signals may stop propagating as a result of failures in the cable coupling a processor to an I/O interface or faults in the logic circuitry of the I/O interface. All input signals received at the PLL must be preconfigured and stable prior to proper functioning of the PLL, particularly one that is embedded in an ASIC. In addition, the forwarded clock signals received at the PLL must be stable prior to initial startup of the PLL circuit.
  • the present invention is directed to a technique that enables detection of the forwarded clock signals received at a PLL and that activates (brings up) the PLL in a predetermined sequence that comports with the specifications and requirements of the vendor's PLL.
  • the present invention is directed to a circuit for automatically resetting and initializing a clocking subsystem within an input/output (I/O) interface of a data processing system.
  • the novel initialization/reset logic circuit is contained within the I/O interface and clock signals (i.e., clock forwarded clock signals) are provided from a clock source of the data processing system to the initialization/reset logic circuit.
  • the I/O interface is preferably implemented as an application specific integrated circuit (ASIC) and the clock source is preferably a processor of the system.
  • ASIC application specific integrated circuit
  • the PLL of the initialization/reset logic circuit includes a plurality of inputs, such as a reference clock input for receiving forwarded clock signals from the processor and a reset input for receiving a reset signal that resets the PLL, along with an output that delivers an ASIC clock that is phased-aligned to the forwarded clock.
  • the initialization/reset logic circuit also comprises a counter having a plurality of inputs, including a clock input that receives the forwarded clock signals, a first reset input that receives a reset signal generated by the initialization/reset logic and a second reset input that receives an external reset signal generated by a voltage monitor device in response to module power transitions, e.g., the absence of DC OK.
  • Outputs of the counter comprise a first reset output for delivering global (“ASIC”) reset signals to the I/O interface, a second reset output for delivering PLL reset signals and a third reset output for delivering an error control status register (CSR) reset signal to a set of error registers.
  • a timer circuit receives the forwarded clock signals at its input and generates 20 microsecond ( ⁇ sec), pulsed timer signals that are delivered to a watchdog timer circuit.
  • the watchdog timer is configured to detect the presence (or absence) of the pulsed timer signals at its input.
  • a reset output of the watchdog timer delivers reset signals to the reset input of the counter.
  • the watchdog timer Before the forwarded clock signals are received at the timer circuit and, thus, in the absence of the 20 ⁇ sec signal, the watchdog timer “times out” and periodically asserts a reset signal to the counter which, in turn, provides reset signals to the PLL and various logic circuitry of the ASIC. Notably, however, assertion of the reset signal does not reset the 20 ⁇ sec timer circuit or the contents of the error (CSR) registers.
  • the watchdog timer halts issuance of the periodic reset signals. These received clock signals also initiate logical functions that initially place the PLL in a reset state waiting for the PLL reference clock input and its other input signals to stabilize.
  • the PLL reset input signal is released and a second timer begins. After a subsequent predetermined period of time that allows the PLL to “lock” to the incoming clock signals, phased-aligned clock signals are distributed throughout the I/O interface. Thereafter, the second timer expires and releases the global ASIC reset signal, thereby initializing the I/O interface to a predefined state.
  • the second timer expires and releases the global ASIC reset signal, thereby initializing the I/O interface to a predefined state.
  • clock signals received from the processor may be stopped intentionally or due to errors or failures; as a result, communication between the processor and the ASIC is no longer possible. Consequently, the PLL no longer operates correctly, if at all, and requires execution of the initialization sequence described above.
  • the watchdog timer senses the absence of the 20 ⁇ sec signal and reinitializes the ASIC and PLL, while CSR error state is maintained, without any other external intervention.
  • the present invention provides a means for initializing a PLL-based clocking system without the use of special signals and control mechanisms.
  • Prior attempts to initialize such a subsystem involved a system global reset signal means and/or a local reset signaling means operating independently of the unit to be reset.
  • the present invention provides a simpler solution that requires no external reset mechanism and that self-initializes the PLL, initializes the I/O interface and retains critical error state despite the loss and subsequent restart of the forwarded clock signals.
  • the initialization/reset logic circuit reduces part counts and enables an inexpensive implementation.
  • FIG. 1 is a schematic block diagram of a symmetrical multiprocessor (SMP) system comprising a plurality of dual processor (2P) modules interconnected to form a two dimensional (2D)-torus mesh configuration;
  • SMP symmetrical multiprocessor
  • FIG. 2 is a schematic block diagram of a 2P module of FIG. 1;
  • FIG. 3 is a schematic diagram of a memory subsystem of the SMP system
  • FIG. 4 is a schematic block diagram of a server management platform for the SMP system.
  • FIG. 5 is a schematic block diagram of an IO 7 of an I/O subsystem of the SMP system.
  • FIG. 6 is a schematic block diagram of an initialization/reset logic circuit of the IO 7 in accordance with present invention.
  • FIG. 1 is a schematic block diagram of a data processing system 100 that may be advantageously used with the present invention.
  • the data processing system is preferably a symmetrical multiprocessor (SMP) system 100 comprising a plurality of processor modules 200 interconnected to form a two dimensional (2D)-torus mesh configuration.
  • Each processor module 200 comprises two central processing units (CPUs) with connections for two input/output (I/O) ports along with 6 interprocessor (IP) network ports.
  • the network ports are preferably referred to as North (N), South (S), East (E) and West (W) compass points, wherein the North-South (NS) and East-West (EW) compass point connections create a (Manhattan) grid.
  • I/O traffic enters the 2D torus via I/O channel connections between the CPUs and I/O subsystem 150 .
  • Each compass point is coupled to an IP channel that comprises 2 unidirectional, clock forwarded links.
  • FIG. 2 is a schematic block diagram of the processor (2P) module 200 .
  • the 2P module 200 comprises 2 CPUs with connections 210 for the IP (“compass”) network ports and an I/O port 220 associated with each CPU.
  • the 2P module 200 also includes power regulators 230 , system management logic 250 and memory subsystem 300 coupled to 2 memory ports of each CPU.
  • the system management logic 250 cooperates with a server management system to control functions of the SMP system.
  • Each of the N, S, E and W compass points, along with the I/O and memory ports use clock-forwarding, i.e., forwarding clock signals with the data signals, to increase data transfer rates and reduce skew between the clock and data.
  • Each CPU is preferably an EV7 processor comprising an EV6 core, 2 memory controllers, an I/O port interface and 4 network ports.
  • the EV7 supports up to 256 processors and 256 IO 7 s.
  • the EV6 core preferably incorporates a traditional reduced instruction set computer (RISC) load/store architecture.
  • RISC reduced instruction set computer
  • the EV6 cores are generally the Alpha® 21264 processor chips manufactured by Compaq Computer Corporation(&, with the addition of an internal cache and CBOX, the latter providing integrated cache controller functions to the EV7 processor.
  • the EV7 processor also includes a RBOX that provides integrated routing/networking control functions with respect to the compass points.
  • the EV7 further includes a ZBOX that provides integrated memory controller functions for controlling the memory subsystem.
  • the memory subsystem 300 is preferably implemented using RAMBUS technology and, accordingly, the memory space is generally divided between 2 RAMBUS controllers. However, an EV7 processor can operate with 0, 1 or 2 RAMBUS controllers.
  • FIG. 3 is a schematic diagram of the SMP memory subsystem 300 illustrating connections between the EV7 and RAMBUS memory modules (RIMMs 310 ). Software configures the memory controller logic (ZBOX 320 ) within the EV7 and the logic on each RIMM 310 before testing and initializing memory.
  • the memory subsystem components include 2 RAMBUS memory controllers (not shown) within the ZBOX 320 , a RIMM 310 containing RDRAM memory devices, a serial I/O (SIO 330 ) channel to RDRAMs of the RIMMs 310 , serial presence detect (SPD) logic (EEPROM data) via an I 2 C bus 350 , and a CPU management module (CMM) field programmable gate array (FPGA 360 ) that interfaces between a CMM (not shown) and the EV7 processor.
  • 2 RAMBUS memory controllers not shown
  • RIMM 310 containing RDRAM memory devices
  • SIO 330 serial I/O
  • SPD serial presence detect
  • EEPROM data electrically erasable programmable gate array
  • FPGA 360 CPU management module
  • FIG. 4 is a schematic block diagram of the server management platform 400 for the SMP system.
  • the server management comprises a 3-tier management scheme that is used to bring up (“boot”) the SMP system.
  • each 2P module 200 has a plug-in, CPU management module (CMM 410 ) that provides power and initialization control for the local 2P module.
  • CMS CPU management module
  • the CMM also interfaces directly to both EV7 processors via serial links 420 and provides debug, initialization, error collection and communication support to a higher, intermediate level of the service management hierarchy.
  • the intermediate level of service management is provided by a system backplane manager (MBM) 440 contained within a CPU drawer of the SMP system.
  • MBM system backplane manager
  • Each CMM 410 on each 2P module 200 communicates with an MBM 440 through a point-to-point serial connection 445 that is preferably implemented in etch so as to obviate the need for a cable connection.
  • the MBM controls the overall operation of the intermediate level by functioning as the master of the CMMs. In the illustrative embodiment, each MBM controls 4 CMM devices within the CPU drawer.
  • the MBM 440 spawns a server manager network port that is connected to a service management LAN hub.
  • the MBMs 440 preferably communicate with I/O backplane managers (PBM 402 ), the latter of which are contained in I/O drawers of the system.
  • Communication among the server managers of the platform 400 is preferably effected via a TCP/IP protocol over a server management LAN.
  • the server management platform is implemented as a 100 base T (Ethernet) LAN, although similar types of local area network implementations, such as Token Ring or FDDI, may be advantageously used with the system.
  • a personal computer (PC) or similar network device connected to one of the ports of the service management LAN hub serves as a server management console (SMC 450 ).
  • the SMC 450 provides the highest level of server management and, to the end, executes a platform management utility that provides a unified view of the entire SMP system for purposes of controlling the system. From a physical implementation, the MBMs, PBMs and SMC are coupled to the service management hub; however, logically they are interconnected by the LAN.
  • FIG. 5 is a schematic block diagram of an IO 7 device 500 that provides a fundamental building block for the SMP I/O subsystem 150 .
  • the IO 7 is preferably implemented as an application specific integrated circuit (ASIC) using IBM SA27E ASIC technology.
  • ASIC application specific integrated circuit
  • Each EV7 processor supports one I/O ASIC connection; however, there is no requirement that each processor have an I/O connection.
  • the I/O subsystem 150 includes an I/O drawer (not shown) with hot-swap Peripheral Computer Interconnect (PCI)-X and Accelerated Graphics Port (AGP) support.
  • the I/O drawer includes an IO 7 plug-in card that spawns 4 I/O buses.
  • the IO 7 500 comprises a North circuit region 510 (i.e., the I/O interface) that interfaces to the EV7 processor and a South circuit region 550 that includes a plurality of I/O ports 560 (P 0 -P 3 ) that interface to industry standard I/O buses.
  • An EV7 port 520 of the North region 510 couples to the EV7 processor via 2 unidirectional, clock forwarded links 530 .
  • 3 of the 4 I/O ports 560 interface to buses that operate according to, e.g., the conventional PCI-X protocol, while the 4th port interfaces to an AGP bus.
  • the IO 7 generally includes the same functionality as provided by the IOA, IOD and PCA ASICs of the AS80, AS160 and AS320 family of servers manufactured by Compaq Computer Corporation®.
  • FIG. 6 is a schematic block diagram of an initialization/reset logic circuit 600 of the present invention.
  • the initialization/reset logic circuit 600 is preferably contained within an I/O interface circuit and, in the illustrative embodiment described herein, within the North circuit region 510 of the IO 7 500 .
  • the logic circuit 600 comprises a conventional phase locked loop (PLL) circuit 610 having a plurality of inputs and an output.
  • the inputs include a reference clock input 612 for receiving forwarded clock signals over line 602 from the EV7 processor, a reset input 614 for receiving a reset signal that resets the PLL and a feedback (FB) input 616 that receives feedback signals from the output 618 of the PLL.
  • the output signals (and feedback signals) delivered at the output 618 of the PLL are preferably phased-aligned to the reference input clock forwarded clock signals.
  • the logic circuit 600 also includes a conventional counter 620 that receives the forwarded clock signals at a clock input 622 , a reset signal generated by the initialization/reset logic at a first reset input 624 and an external reset signal at a second reset input 621 .
  • the external reset signal is preferably generated by a conventional, “off-the-shelf” 3-terminal, voltage monitor device in response to module power transitions, e.g., the absence of DC OK.
  • the counter further comprises a plurality of outputs, including a first reset output 625 for delivering global (“ASIC”) reset signals, a second reset output 626 for delivering PLL reset signals and a third reset output 628 for delivering an error control status register (CSR) reset signal to a set of error (CSR) registers 512 .
  • the counter 620 and PLL 610 are preferably embedded within the IO 7 500 and, thus, are implemented using the IBM SA27E technology.
  • the ASIC reset signals are provided to logic within the North circuit region 510 of the IO 7
  • the PLL reset signals are provided to the reset input 614 of the PLL 610 .
  • a conventional timer circuit 640 receives the forwarded clock signals at its input 642 and generates 20 microsecond ( ⁇ sec), pulsed timer signals that are delivered via its output 644 to an external, conventional watchdog timer circuit 630 .
  • the watchdog timer 630 is configured to detect the presence (or absence) of the pulsed timer signals at its input 632 .
  • a reset output 634 of the watchdog timer delivers reset signals to the reset input 624 of the counter 620 .
  • Operation of the novel initialization/reset logic circuit 600 is as follows.
  • the CMM 410 on the CPU module 200 initiates the power-up sequence of the EV7 processor, including the issuance of the clock forwarded signals-to the IO 7 500 .
  • the PBM 402 enables the application of power to the I/O drawer and to the I/O subsystem 150 , although there are no clock signals present in the I/O drawer until the forwarded clock signals are received from the EV7 processor.
  • no forwarded clock signals are provided over line 602 to the PLL 610 , counter 620 or timer 640 .
  • the watchdog timer 630 monitors its input 632 for the presence of the pulsed timer signals.
  • the watchdog timer 630 asserts a reset signal at its output 634 .
  • the reset signal is received at the input 624 of the counter and functions to reset the counter's logic by placing that logic in a reset state for a predetermined period of time.
  • the external reset signal is also asserted for approximately 100-300 ⁇ secs following IO 7 power stability to initialize (reset) the state of the error CSRs; after this period of time, external reset is released. Subsequently, the SMP system 100 “comes up” during the power-up procedure and the system software “brings up” the I/O subsystem 150 by, among other things, issuing forwarded clock signals to the I/O interface 510 .
  • the forwarded clock signals are received at the I/O interface 510 .
  • the forwarded clock signals are received at the clock inputs 612 , 622 and 642 of the PLL, counter 620 and timer 640 , respectively.
  • Reception of the forwarded clock signals at the timer 640 results in the generation of the 20 ⁇ sec pulsed signals.
  • These pulsed timer signals are forwarded to the watchdog timer 630 , which detects the presence of these signals at its input 632 .
  • the PLL and IO 7 logic are held in reset as a result of the assertion of PLL and ASIC reset signals at outputs 626 , 625 of the counter 620 .
  • the watchdog timer 630 de-asserts the reset signal at its output 634 .
  • the counter 620 de-asserts the PLL reset signal at its output 626 .
  • the forwarded clock signals received at the PLL have been stable for a sufficient period of time such that it may be assumed (to a high degree) that the input signals to the PLL will not change. Therefore, the time period needed for the PLL to “lock-up” and synchronize with the incoming forwarded clock signals may be started. In the illustrative embodiment, this time period is approximately 200 ⁇ secs. However, the counter does not release the ASIC reset signal at its output 625 which would enable the clock signals delivered by the PLL to be utilized by the IO 7 ASIC logic until phase alignment has been achieved and the PLL is “locked”.
  • the ASIC reset signal is released, the IO 7 ASIC logic is operational and data may be transferred between the EV7 processor and IO 7 500 .
  • the error CSR reset signal is not asserted at this time and, in fact, is only asserted in response to assertion of the external reset signal at input 621 of the counter 620 .
  • the forwarded clock signals from the processor to the I/O interface “disappear” because, e.g., the cable between the processor and I/O subsystem breaks or a fatal error condition arises between the processor and I/O subsystem 150 .
  • the entire I/O interface 510 may be reset and reinitialized with error state retained during this transition.
  • logic within the I/O interface may “hang” due to an error in its logic which thereby inhibits the exchange of transactions between the processor and I/O subsystem.
  • the invention provides a novel technique for the processor to reset and reinitialize the I/O subsystem in the event of such an occurrence.
  • this novel technique comprises the initialization/reset logic's response to the absence of clock signals issued from the processor to the I/O subsystem.
  • the PLL continues to operate with the output clock signal either ramping up to its voltage controlled oscillator (VCO) frequency, e.g., 1 Gigahertz (GHz), or ramping down to zero (0).
  • VCO voltage controlled oscillator
  • the clock inputs to counter 620 and timer 640 are provided from the forwarded clock signals, not the PLL clock signals.
  • the 20 ⁇ sec pulsed signals from the timer 640 immediately cease and, approximately 1.6 secs thereafter in response to detecting the absence of pulsed signals at its input 632 , the watchdog timer 630 asserts the reset signal at its output 634 .
  • the asserted reset signal resets substantially all of the I/O interface 510 of the I/O subsystem waiting for forwarded clock signals to reappear and, therefore, reinitializes the I/O subsystem. More specifically, the asserted reset signal does not reset the 20 ⁇ sec timer 640 or the error (CSR) registers 512 .
  • the set of error registers 512 capture error information that may be related to the cause of the “hang” (error).
  • the reset sequence resets most of the logic within the I/O interface, with the exception of these error registers so as not to lose that error information.
  • the error registers 512 are preferably located within the North circuit region 510 of the IO 7 500 and, as noted, those registers are cleared independent of the reset sequence, e.g., in response to the external reset signal asserted on input 621 of the counter 620 .
  • the present invention provides a means for initializing a PLL-based clocking system without the use of additional signals and control mechanisms.
  • Prior attempts to initialize [initialized] such a subsystem involved a system global reset signal means and/or a local reset signaling means operating independently of the unit to be reset.
  • the present invention also provides a simple circuit that self-initializes the PLL while reducing part counts and increasing reliability through an inexpensive, scalable, modular design approach.

Abstract

An initialization/reset circuit automatically resets and initializes a clocking subsystem having a phase locked loop (PLL) within a data processing system. The logic circuit is contained within an input/output (I/O) interface of the system. Clock signals are provided from a clock source of the data processing system to the PLL. In addition to the PLL, the initialization/reset logic circuit comprises a counter, a first timer circuit and a second watchdog timer.

Description

INCORPORATION BY REFERENCE OF RELATED APPLICATIONS
This patent application is related to the following co-pending, commonly owned U.S. Patent Applications, all of which were filed on even date with the within application for United States Patent and are each hereby incorporated by reference in their entirety:
U.S. patent application Ser. No. [(15311-2281)] 09/652,644 filed on Aug. 31, 2000, entitled ADAPTIVE DATA PREFETCH PREDICTION ALGORITHM;
U.S. patent application Ser. No. [(15311-2282)] 09/653,133 filed on Aug. 31, 2000, now issued as U.S. Pat. No. 6,456,510 on Sep. 24, 2002 entitled UNIQUE METHOD OF REDUCING LOSSES IN CIRCUITS USING V2 PWM CONTROL;
U.S. patent application Ser. No. [(15311-2283)] 09/652,641 filed on Aug. 31, 2000, entitled IO SPEED AND LENGTH PROGRAMMABLE WITH BUS POPULATION;
U.S. patent application Ser. No. [(15311-2284)] 09/652,458 filed on Aug. 31, 2000, entitled PARTITION FORMATION USING MICROPROCESSORS IN A MULTIPROCESSOR COMPUTER SYSTEM;
U.S. patent application Ser. No. [(15311-2285)] 09/944,517 filed on Aug. 31, 2001, entitled SYSTEM AND METHOD FOR USING FUNCTION NUMBERS TO INCREASE THE COUNT OF OUTSTANDING SPLIT TRANSACTIONS;
U.S. patent application Ser. No. [(15311-2286)] 09/652,984 filed on Aug. 31, 2001, entitled SYSTEM AND METHOD FOR PROVIDING FORWARD PROGRESS AND AVOIDING STARVATION AND LIVELOCK IN A MULTIPROCESSOR COMPUTER SYSTEM;
U.S. patent application Ser. No. [(15311-2287)] 09/,653,180 filed on Aug. 31, 2001, entitled ONLINE ADD/REMOVAL OF SERVER MANAGEMENT INFRASTRUCTURE;
U.S. patent application Ser. No. [(15311-2288)] 09/652,494 filed on Aug. 31, 2001, entitled AUTOMATED BACKPLANE CABLE CONNECTION IDENTIFICATION SYSTEM AND METHOD;
U.S. patent application Ser. No. [(15311-2289)] 09/652,459 filed on Aug. 31, 2001, entitled AUTOMATED BACKPLANE CABLE CONNECTION IDENTIFICATION SYSTEM AND METHOD;
U.S. patent application Ser. No. [(15311-2292)] 09/944,515 filed on Aug. 31, 2001, entitled PASSIVE RELEASE AVOIDANCE TECHNIQUE;
U.S. patent application Ser. No. [(15311-2293)] 09/652,985 filed on Aug. 31, 2001, entitled COHERENT TRANSLATION LOOK-ASIDE BUFFER;
U.S. patent application Ser. No. [(15311-2294)] 09/652,645 filed on Aug. 31, 2001, entitled DETERMINISTIC HARDWARE BEHAVIOR BETWEEN MULTIPLE ASYNCHRONOUS CLOCK DOMAINS THROUGH THE NOVEL USE OF A PLL; and
U.S. patent application Ser. No. [(15311-2306)] 09/655,171 filed on Aug. 31, 2001, entitled VIRTUAL TIME OF YEAR CLOCK.
FIELD OF THE INVENTION
The present invention relates to data processing systems and, in particular, to a technique for automatically resetting and reinitializing a clocking subsystem of a data processing system.
BACKGROUND OF THE INVENTION
Conventional data processing systems may utilize a phase locked loop (PLL) circuit in a clocking subsystem to recover and phase-align a clock signal that may be transmitted from a forwarded clocking domain to a synchronous clocking domain of a data processing system. The PLL is a closed loop frequency control circuit that performs its function by detecting the phase difference between an input clock signal and an output signal generated by a voltage-controlled oscillator (VCO). A problem with the use of a PLL in such an application is that when the input clock signal is applied to the circuit, it may not automatically become operational. That is, there are typically a number of input parameters that must be configured prior to proper operation of the PLL. These parameters may be adjusted with the use of external jumpers that may be changed as process modifications occur with respect to, e.g., an application specific integrated circuit (ASIC) within which the PLL may be embedded. Alternatively, the input parameters may be adjusted by internal logic that does not rely upon proper PLL operation to set and adjust such parameters.
In an application in which a PLL-based clocking subsystem is used in an input/output (I/O) subsystem of a data processing system, the output clock signal from the PLL is used to activate (i.e., clock) logic contained in an I/O interface circuit of the I/O subsystem. The logic contained in the I/O interface between a processor and I/O subsystem is generally non-operational until the clock signals delivered from the PLL are synchronized to enable transmission of commands between the processor and I/O subsystem. A server management subsystem within the data processing system may be unable to initialize any circuits within the I/O interface nor access any registers, e.g., control status registers (CSRs) within that interface without adding unnecessary complexity to the I/O interface and management subsystem.
Another way of initializing the circuitry within the I/O interface involves the use of special signals between the processor and I/O interface. This approach requires the use of different cables to accommodate those signals and, thus, obviates the ability to re-use similar cables between processors, and between processors and I/O subsystems, thereby creating a complicated cabling arrangement. Moreover, data processing systems, such as high performance server computers, typically utilize synchronous clock forwarded interface circuits to provide high data bandwidth on relatively narrow interconnects or links associated with the interface circuits. Clock forwarding is a technique in which data signals are accompanied by clock signals. It is thus desirable to keep the interfaces between the processors and I/O subsystems (in particular the I/O interfaces) similar to thereby enable the use of similar parts, such as cables, in a low cost manner.
The present invention is generally directed to a circuit configured to initialize a PLL within a clocking subsystem upon startup and re-initialize the PLL in the absence (or loss) of forwarded clock signals propagating between a processor and I/O interface. These clock signals may stop propagating as a result of failures in the cable coupling a processor to an I/O interface or faults in the logic circuitry of the I/O interface. All input signals received at the PLL must be preconfigured and stable prior to proper functioning of the PLL, particularly one that is embedded in an ASIC. In addition, the forwarded clock signals received at the PLL must be stable prior to initial startup of the PLL circuit. Therefore, a reset input to the PLL cannot be released until the input clock signal is stable and the other input signals are stable. As a result, the present invention is directed to a technique that enables detection of the forwarded clock signals received at a PLL and that activates (brings up) the PLL in a predetermined sequence that comports with the specifications and requirements of the vendor's PLL.
SUMMARY OF THE INVENTION
The present invention is directed to a circuit for automatically resetting and initializing a clocking subsystem within an input/output (I/O) interface of a data processing system. The novel initialization/reset logic circuit is contained within the I/O interface and clock signals (i.e., clock forwarded clock signals) are provided from a clock source of the data processing system to the initialization/reset logic circuit. In the illustrative embodiment described herein, the I/O interface is preferably implemented as an application specific integrated circuit (ASIC) and the clock source is preferably a processor of the system.
In accordance with the invention, the PLL of the initialization/reset logic circuit includes a plurality of inputs, such as a reference clock input for receiving forwarded clock signals from the processor and a reset input for receiving a reset signal that resets the PLL, along with an output that delivers an ASIC clock that is phased-aligned to the forwarded clock. The initialization/reset logic circuit also comprises a counter having a plurality of inputs, including a clock input that receives the forwarded clock signals, a first reset input that receives a reset signal generated by the initialization/reset logic and a second reset input that receives an external reset signal generated by a voltage monitor device in response to module power transitions, e.g., the absence of DC OK. Outputs of the counter comprise a first reset output for delivering global (“ASIC”) reset signals to the I/O interface, a second reset output for delivering PLL reset signals and a third reset output for delivering an error control status register (CSR) reset signal to a set of error registers. A timer circuit receives the forwarded clock signals at its input and generates 20 microsecond (μsec), pulsed timer signals that are delivered to a watchdog timer circuit. The watchdog timer is configured to detect the presence (or absence) of the pulsed timer signals at its input. A reset output of the watchdog timer delivers reset signals to the reset input of the counter.
Before the forwarded clock signals are received at the timer circuit and, thus, in the absence of the 20 μsec signal, the watchdog timer “times out” and periodically asserts a reset signal to the counter which, in turn, provides reset signals to the PLL and various logic circuitry of the ASIC. Notably, however, assertion of the reset signal does not reset the 20 μsec timer circuit or the contents of the error (CSR) registers. Once the clock signals are received at the timer circuit and the 20 μsec pulsed timer signals are generated, the watchdog timer halts issuance of the periodic reset signals. These received clock signals also initiate logical functions that initially place the PLL in a reset state waiting for the PLL reference clock input and its other input signals to stabilize.
After a predetermined period of time, the PLL reset input signal is released and a second timer begins. After a subsequent predetermined period of time that allows the PLL to “lock” to the incoming clock signals, phased-aligned clock signals are distributed throughout the I/O interface. Thereafter, the second timer expires and releases the global ASIC reset signal, thereby initializing the I/O interface to a predefined state. At this point, communication between the processor and the ASIC is possible. In certain cases, clock signals received from the processor may be stopped intentionally or due to errors or failures; as a result, communication between the processor and the ASIC is no longer possible. Consequently, the PLL no longer operates correctly, if at all, and requires execution of the initialization sequence described above. The watchdog timer senses the absence of the 20 μsec signal and reinitializes the ASIC and PLL, while CSR error state is maintained, without any other external intervention.
Advantageously, the present invention provides a means for initializing a PLL-based clocking system without the use of special signals and control mechanisms. Prior attempts to initialize such a subsystem involved a system global reset signal means and/or a local reset signaling means operating independently of the unit to be reset. The present invention provides a simpler solution that requires no external reset mechanism and that self-initializes the PLL, initializes the I/O interface and retains critical error state despite the loss and subsequent restart of the forwarded clock signals. In addition, the initialization/reset logic circuit reduces part counts and enables an inexpensive implementation.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and further advantages of the invention may be better understood byreferring to the following description in conjunction with the accompanying drawings, in which like reference numbers indicated identical or functionally similar elements:
FIG. 1 is a schematic block diagram of a symmetrical multiprocessor (SMP) system comprising a plurality of dual processor (2P) modules interconnected to form a two dimensional (2D)-torus mesh configuration;
FIG. 2 is a schematic block diagram of a 2P module of FIG. 1;
FIG. 3 is a schematic diagram of a memory subsystem of the SMP system;
FIG. 4 is a schematic block diagram of a server management platform for the SMP system; and
FIG. 5 is a schematic block diagram of an IO7 of an I/O subsystem of the SMP system, and
FIG. 6 is a schematic block diagram of an initialization/reset logic circuit of the IO7 in accordance with present invention.
DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT
FIG. 1 is a schematic block diagram of a data processing system 100 that may be advantageously used with the present invention. In the illustrative embodiment, the data processing system is preferably a symmetrical multiprocessor (SMP) system 100 comprising a plurality of processor modules 200 interconnected to form a two dimensional (2D)-torus mesh configuration. Each processor module 200 comprises two central processing units (CPUs) with connections for two input/output (I/O) ports along with 6 interprocessor (IP) network ports. The network ports are preferably referred to as North (N), South (S), East (E) and West (W) compass points, wherein the North-South (NS) and East-West (EW) compass point connections create a (Manhattan) grid. Additionally, the outside ends of the mesh wrap-around and connect to each other. I/O traffic enters the 2D torus via I/O channel connections between the CPUs and I/O subsystem 150. Each compass point is coupled to an IP channel that comprises 2 unidirectional, clock forwarded links.
FIG. 2 is a schematic block diagram of the processor (2P) module 200. As noted, the 2P module 200 comprises 2 CPUs with connections 210 for the IP (“compass”) network ports and an I/O port 220 associated with each CPU. The 2P module 200 also includes power regulators 230, system management logic 250 and memory subsystem 300 coupled to 2 memory ports of each CPU. The system management logic 250 cooperates with a server management system to control functions of the SMP system. Each of the N, S, E and W compass points, along with the I/O and memory ports use clock-forwarding, i.e., forwarding clock signals with the data signals, to increase data transfer rates and reduce skew between the clock and data.
Each CPU is preferably an EV7 processor comprising an EV6 core, 2 memory controllers, an I/O port interface and 4 network ports. In the illustrative embodiment, the EV7 supports up to 256 processors and 256 IO7s. The EV6 core preferably incorporates a traditional reduced instruction set computer (RISC) load/store architecture. In the illustrative embodiment described herein, the EV6 cores are generally the Alpha® 21264 processor chips manufactured by Compaq Computer Corporation(&, with the addition of an internal cache and CBOX, the latter providing integrated cache controller functions to the EV7 processor. However, it will be apparent to those skilled in the art that other types of processor chips may be advantageously used. The EV7 processor also includes a RBOX that provides integrated routing/networking control functions with respect to the compass points. The EV7 further includes a ZBOX that provides integrated memory controller functions for controlling the memory subsystem.
The memory subsystem 300 is preferably implemented using RAMBUS technology and, accordingly, the memory space is generally divided between 2 RAMBUS controllers. However, an EV7 processor can operate with 0, 1 or 2 RAMBUS controllers. FIG. 3 is a schematic diagram of the SMP memory subsystem 300 illustrating connections between the EV7 and RAMBUS memory modules (RIMMs 310). Software configures the memory controller logic (ZBOX 320) within the EV7 and the logic on each RIMM 310 before testing and initializing memory. Specifically, the memory subsystem components include 2 RAMBUS memory controllers (not shown) within the ZBOX 320, a RIMM 310 containing RDRAM memory devices, a serial I/O (SIO 330) channel to RDRAMs of the RIMMs 310, serial presence detect (SPD) logic (EEPROM data) via an I2C bus 350, and a CPU management module (CMM) field programmable gate array (FPGA 360) that interfaces between a CMM (not shown) and the EV7 processor.
FIG. 4 is a schematic block diagram of the server management platform 400 for the SMP system. The server management comprises a 3-tier management scheme that is used to bring up (“boot”) the SMP system. At the lowest level, each 2P module 200 has a plug-in, CPU management module (CMM 410) that provides power and initialization control for the local 2P module. The CMM also interfaces directly to both EV7 processors via serial links 420 and provides debug, initialization, error collection and communication support to a higher, intermediate level of the service management hierarchy.
The intermediate level of service management is provided by a system backplane manager (MBM) 440 contained within a CPU drawer of the SMP system. Each CMM 410 on each 2P module 200 communicates with an MBM 440 through a point-to-point serial connection 445 that is preferably implemented in etch so as to obviate the need for a cable connection. The MBM controls the overall operation of the intermediate level by functioning as the master of the CMMs. In the illustrative embodiment, each MBM controls 4 CMM devices within the CPU drawer.
The MBM 440 spawns a server manager network port that is connected to a service management LAN hub. The MBMs 440 preferably communicate with I/O backplane managers (PBM 402), the latter of which are contained in I/O drawers of the system. Communication among the server managers of the platform 400 is preferably effected via a TCP/IP protocol over a server management LAN. In the illustrative embodiment, the server management platform is implemented as a 100 base T (Ethernet) LAN, although similar types of local area network implementations, such as Token Ring or FDDI, may be advantageously used with the system.
A personal computer (PC) or similar network device connected to one of the ports of the service management LAN hub serves as a server management console (SMC 450). The SMC 450 provides the highest level of server management and, to the end, executes a platform management utility that provides a unified view of the entire SMP system for purposes of controlling the system. From a physical implementation, the MBMs, PBMs and SMC are coupled to the service management hub; however, logically they are interconnected by the LAN.
FIG. 5 is a schematic block diagram of an IO7 device 500 that provides a fundamental building block for the SMP I/O subsystem 150. The IO7 is preferably implemented as an application specific integrated circuit (ASIC) using IBM SA27E ASIC technology. Each EV7 processor supports one I/O ASIC connection; however, there is no requirement that each processor have an I/O connection. In the illustrative embodiment, the I/O subsystem 150 includes an I/O drawer (not shown) with hot-swap Peripheral Computer Interconnect (PCI)-X and Accelerated Graphics Port (AGP) support. The I/O drawer includes an IO7 plug-in card that spawns 4 I/O buses.
The IO7 500 comprises a North circuit region 510 (i.e., the I/O interface) that interfaces to the EV7 processor and a South circuit region 550 that includes a plurality of I/O ports 560 (P0-P3) that interface to industry standard I/O buses. An EV7 port 520 of the North region 510 couples to the EV7 processor via 2 unidirectional, clock forwarded links 530. In the illustrative embodiment, 3 of the 4 I/O ports 560 interface to buses that operate according to, e.g., the conventional PCI-X protocol, while the 4th port interfaces to an AGP bus. The IO7 generally includes the same functionality as provided by the IOA, IOD and PCA ASICs of the AS80, AS160 and AS320 family of servers manufactured by Compaq Computer Corporation®.
FIG. 6 is a schematic block diagram of an initialization/reset logic circuit 600 of the present invention. The initialization/reset logic circuit 600 is preferably contained within an I/O interface circuit and, in the illustrative embodiment described herein, within the North circuit region 510 of the IO7 500. In accordance with the invention, the logic circuit 600 comprises a conventional phase locked loop (PLL) circuit 610 having a plurality of inputs and an output. The inputs include a reference clock input 612 for receiving forwarded clock signals over line 602 from the EV7 processor, a reset input 614 for receiving a reset signal that resets the PLL and a feedback (FB) input 616 that receives feedback signals from the output 618 of the PLL. The output signals (and feedback signals) delivered at the output 618 of the PLL are preferably phased-aligned to the reference input clock forwarded clock signals.
The logic circuit 600 also includes a conventional counter 620 that receives the forwarded clock signals at a clock input 622, a reset signal generated by the initialization/reset logic at a first reset input 624 and an external reset signal at a second reset input 621. The external reset signal is preferably generated by a conventional, “off-the-shelf” 3-terminal, voltage monitor device in response to module power transitions, e.g., the absence of DC OK. The counter further comprises a plurality of outputs, including a first reset output 625 for delivering global (“ASIC”) reset signals, a second reset output 626 for delivering PLL reset signals and a third reset output 628 for delivering an error control status register (CSR) reset signal to a set of error (CSR) registers 512. The counter 620 and PLL 610 are preferably embedded within the IO7 500 and, thus, are implemented using the IBM SA27E technology. In addition, the ASIC reset signals are provided to logic within the North circuit region 510 of the IO7, whereas the PLL reset signals are provided to the reset input 614 of the PLL 610. A conventional timer circuit 640 receives the forwarded clock signals at its input 642 and generates 20 microsecond (μsec), pulsed timer signals that are delivered via its output 644 to an external, conventional watchdog timer circuit 630. The watchdog timer 630 is configured to detect the presence (or absence) of the pulsed timer signals at its input 632. A reset output 634 of the watchdog timer delivers reset signals to the reset input 624 of the counter 620.
Operation of the novel initialization/reset logic circuit 600 is as follows. The CMM 410 on the CPU module 200 initiates the power-up sequence of the EV7 processor, including the issuance of the clock forwarded signals-to the IO7 500. The PBM 402 enables the application of power to the I/O drawer and to the I/O subsystem 150, although there are no clock signals present in the I/O drawer until the forwarded clock signals are received from the EV7 processor. Upon power-up, no forwarded clock signals are provided over line 602 to the PLL 610, counter 620 or timer 640. The watchdog timer 630 monitors its input 632 for the presence of the pulsed timer signals. Yet, no timer signals are forwarded to the watchdog timer due to the lack of forwarded clock signals to the IO7 and timer 640; accordingly, the watchdog timer 630 asserts a reset signal at its output 634. The reset signal is received at the input 624 of the counter and functions to reset the counter's logic by placing that logic in a reset state for a predetermined period of time. The external reset signal is also asserted for approximately 100-300 μsecs following IO7 power stability to initialize (reset) the state of the error CSRs; after this period of time, external reset is released. Subsequently, the SMP system 100 “comes up” during the power-up procedure and the system software “brings up” the I/O subsystem 150 by, among other things, issuing forwarded clock signals to the I/O interface 510.
As part of the power-up sequence, the forwarded clock signals are received at the I/O interface 510. However, only clock signals are received at the interface 510, i.e., there are no accompanying data signals, at this time. Specifically, the forwarded clock signals are received at the clock inputs 612, 622 and 642 of the PLL, counter 620 and timer 640, respectively. Reception of the forwarded clock signals at the timer 640 results in the generation of the 20 μsec pulsed signals. These pulsed timer signals are forwarded to the watchdog timer 630, which detects the presence of these signals at its input 632. Meanwhile, the PLL and IO7 logic are held in reset as a result of the assertion of PLL and ASIC reset signals at outputs 626, 625 of the counter 620. Approximately 200 milliseconds (msecs) after detecting the presence of clock signals at its input, the watchdog timer 630 de-asserts the reset signal at its output 634. After a predetermined period of time (e.g., 1.3 μsecs) and in response to de-assertion of the reset signal, the counter 620 de-asserts the PLL reset signal at its output 626.
At this point, the forwarded clock signals received at the PLL have been stable for a sufficient period of time such that it may be assumed (to a high degree) that the input signals to the PLL will not change. Therefore, the time period needed for the PLL to “lock-up” and synchronize with the incoming forwarded clock signals may be started. In the illustrative embodiment, this time period is approximately 200 μsecs. However, the counter does not release the ASIC reset signal at its output 625 which would enable the clock signals delivered by the PLL to be utilized by the IO7 ASIC logic until phase alignment has been achieved and the PLL is “locked”. Thus, approximately 655 μsecs later (when phase alignment and locking is assured) the ASIC reset signal is released, the IO7 ASIC logic is operational and data may be transferred between the EV7 processor and IO7 500. It should be noted that the error CSR reset signal is not asserted at this time and, in fact, is only asserted in response to assertion of the external reset signal at input 621 of the counter 620.
Assume now that the forwarded clock signals from the processor to the I/O interface “disappear” because, e.g., the cable between the processor and I/O subsystem breaks or a fatal error condition arises between the processor and I/O subsystem 150. As described further herein, by inhibiting issuance of (i.e., “turning off”) the clock forwarded signals and subsequently reissuing them, the entire I/O interface 510 may be reset and reinitialized with error state retained during this transition. In addition, logic within the I/O interface may “hang” due to an error in its logic which thereby inhibits the exchange of transactions between the processor and I/O subsystem. Therefore, the invention provides a novel technique for the processor to reset and reinitialize the I/O subsystem in the event of such an occurrence. In accordance with the present invention, this novel technique comprises the initialization/reset logic's response to the absence of clock signals issued from the processor to the I/O subsystem.
Specifically, when the forwarded clock signals “disappear”,the PLL continues to operate with the output clock signal either ramping up to its voltage controlled oscillator (VCO) frequency, e.g., 1 Gigahertz (GHz), or ramping down to zero (0). Yet the clock inputs to counter 620 and timer 640 are provided from the forwarded clock signals, not the PLL clock signals. The 20 μsec pulsed signals from the timer 640 immediately cease and, approximately 1.6 secs thereafter in response to detecting the absence of pulsed signals at its input 632, the watchdog timer 630 asserts the reset signal at its output 634. The asserted reset signal resets substantially all of the I/O interface 510 of the I/O subsystem waiting for forwarded clock signals to reappear and, therefore, reinitializes the I/O subsystem. More specifically, the asserted reset signal does not reset the 20 μsec timer 640 or the error (CSR) registers 512.
When the processor inhibits issuance of forwarded clock signals, thereby enabling the re-initialization and reset sequence described above, the set of error registers 512 capture error information that may be related to the cause of the “hang” (error). In accordance with an aspect of the present invention, the reset sequence resets most of the logic within the I/O interface, with the exception of these error registers so as not to lose that error information. The error registers 512 are preferably located within the North circuit region 510 of the IO7 500 and, as noted, those registers are cleared independent of the reset sequence, e.g., in response to the external reset signal asserted on input 621 of the counter 620.
Advantageously, the present invention provides a means for initializing a PLL-based clocking system without the use of additional signals and control mechanisms. Prior attempts to initialize [initialized] such a subsystem involved a system global reset signal means and/or a local reset signaling means operating independently of the unit to be reset. The present invention also provides a simple circuit that self-initializes the PLL while reducing part counts and increasing reliability through an inexpensive, scalable, modular design approach.
The foregoing description has been directed to specific embodiments of this invention. It will be apparent, however, that other variations and modifications may be made to the described embodiments, with the attainment of some or all of their advantages. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention.

Claims (15)

What is claimed is:
1. Apparatus configured to automatically reset and initialize a clocking subsystem within an input/output (I/O) interface of a data processing system, the apparatus receiving clock signals from a clock source of the system, the apparatus comprising:
a phase locked loop (PLL) circuit having a plurality of inputs including a reference clock input for receiving clock signals from the clock source and a reset input for receiving a PLL reset signal that resets the PLL, the PLL further having an output that delivers phased-aligned clock signals to logic of the I/O interface;
a counter coupled to the PLL and having a plurality of inputs including a clock input that receives the clock signals and a first reset input configured to receive first reset signals, the counter further having a plurality of outputs including a first reset output for delivering global reset signals to the I/O interface and a second reset output for delivering the PLL reset signal to the PLL;
a first timer circuit having an input that receives the clock signals, the first timer circuit generating a first timer signal in response to receiving the clock signals, and not generating the first timer signal in response to not receiving the clock signals; and
a second timer circuit coupled to the first timer circuit and having an input for receiving the first timer signal, the second timer further having an output configured to deliver the first reset signal to the first reset input of the counter in response to detecting an absence of the first timer signal, thereby enabling the counter to reset the clocking subsystem in the absence of the clock signals.
2. The apparatus of claim 1 wherein the I/O interface is implemented as an application specific integrated circuit (ASIC) and wherein the clock source is a processor of the system.
3. The apparatus of claim 2 wherein the clock signals are forwarded clock signals and wherein the second timer circuit is a watchdog timer.
4. The apparatus of claim 3 wherein the timer signals generated by the first timer are 20 microsecond (μsec), pulsed signals, and wherein the watchdog timer is configured to detect one of the presence and absence of the 20 μsec pulsed signals at its input.
5. The apparatus of claim 4 wherein the counter further includes a second reset input that receives an external reset signal and a third reset output for delivering an error reset signal to a set of error registers, the error reset signal being asserted in response to assertion of the external reset signal.
6. The apparatus of claim 5 wherein the external reset signal is generated by a voltage monitor device in response to module power transitions.
7. The apparatus of claim 6 wherein the module power transitions comprise the absence of DC OK.
8. The apparatus of claim 7 wherein the error registers are control status registers.
9. A method for automatically resetting and initializing a clocking subsystem within an input/output (I/O) interface of a data processing system, the method comprising the steps of:
providing a phase locked loop (PLL) having a first input for receiving clock signals from a processor of the system, a second input for receiving a reset signal that resets the PLL and an output that delivers phased-aligned clock signals to logic of the I/O interface;
providing a counter having a first input that receives the clock signals, a second input configured to receive reset signals, a third input configured to receive an external reset signal, a first output for delivering global reset signals to the I/O interface, a second output for delivering PLL reset signals to the PLL and a third output for delivering an error reset signal to a set of error registers;
generating timer signals at a 20 μsec timer, the 20 μsec timer having an input for receiving the clock signals and an output for delivering the generated timer signals the generated timer signals generated in response to receiving the clock signals, and the generated timer signals not generated in response to not receiving the clock signals;
providing a watchdog timer having an input for receiving the generated timer signals and an output configured to deliver reset signals to the second input of the counter, the reset signals generated in response to the watchdog timer not receiving the generated timer signals; and
interconnecting the PLL, the counter, the 20 μsec timer and the watchdog timer to create an initialization/reset circuit of the I/O interface, whereby in the absence of the clock signals the counter resets and initializes the clocking system.
10. The method of claim 9 further comprising the step of generating the external reset signal at a voltage monitor device in response to module power transitions.
11. The method of claim 10 wherein the error registers are control status registers (CSRs) and wherein the step of interconnecting comprises the steps of:
coupling the second output of the counter to the second input of the PLL to enable delivery of the PLL reset signals from the counter to the PLL;
coupling the third output of the counter to the CSRs to enable delivery of the error reset signal to the CSRs; and
coupling the output of the watchdog timer to the second input of the counter to enable the delivery of reset signals to the counter.
12. The method of claim 11 further comprising the steps of:
before the clock signals are received at the 20 μsec timer and in the absence of the timer signal, issuing the reset signals from the watchdog timer to the counter; and
in response to the reset signal from the watchdog timer, asserting PLL and global reset signals from the counter to the PLL and logic circuitry of the I/O interface.
13. The method of claim 12 further comprising the steps of:
in response to receiving the clock signals at the 20 μsec timer, generating the timer signal for delivery to the watchdog timer;
in response to receiving the timer signal, halting issuance of the reset signals from the watchdog timer to the counter; and
after a predetermined period of time, releasing the PLL reset signal from the counter to the PLL.
14. The method of claim 13 further comprising the steps of:
after a subsequent predetermined period of time, releasing the global reset signal; and
distributing the phased-aligned clock signals throughout the I/O interface, thereby enabling communication between the processor and I/O interface logic circuitry.
15. The method of claim 14 further comprising, in response to assertion of the external reset signal at the third input of the counter, asserting the error reset signal at the third output of the counter.
US09/652,980 2000-08-31 2000-08-31 System and method to automatically reset and initialize a clocking subsystem with reset signaling technique Expired - Fee Related US6629257B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/652,980 US6629257B1 (en) 2000-08-31 2000-08-31 System and method to automatically reset and initialize a clocking subsystem with reset signaling technique
US10/649,523 US6976184B2 (en) 2000-08-31 2003-08-27 Clock forward initialization and reset signaling technique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/652,980 US6629257B1 (en) 2000-08-31 2000-08-31 System and method to automatically reset and initialize a clocking subsystem with reset signaling technique

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/649,523 Continuation US6976184B2 (en) 2000-08-31 2003-08-27 Clock forward initialization and reset signaling technique

Publications (1)

Publication Number Publication Date
US6629257B1 true US6629257B1 (en) 2003-09-30

Family

ID=28455121

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/652,980 Expired - Fee Related US6629257B1 (en) 2000-08-31 2000-08-31 System and method to automatically reset and initialize a clocking subsystem with reset signaling technique
US10/649,523 Expired - Lifetime US6976184B2 (en) 2000-08-31 2003-08-27 Clock forward initialization and reset signaling technique

Family Applications After (1)

Application Number Title Priority Date Filing Date
US10/649,523 Expired - Lifetime US6976184B2 (en) 2000-08-31 2003-08-27 Clock forward initialization and reset signaling technique

Country Status (1)

Country Link
US (2) US6629257B1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030067913A1 (en) * 2001-10-05 2003-04-10 International Business Machines Corporation Programmable storage network protocol handler architecture
US20030070123A1 (en) * 2001-09-21 2003-04-10 International Business Machines Corporation Apparatus and method for recalibrating a source-synchronous pipelined self-time interface
US20030233608A1 (en) * 2002-06-18 2003-12-18 Roy Aninda K. Round-robin updating for high speed i/o parallel interfaces
US20040003027A1 (en) * 2002-06-28 2004-01-01 Rene Rollig Debug interface for an event timer apparatus
US20040049707A1 (en) * 2000-08-31 2004-03-11 David Hartwell Clock forward initialization and reset signaling technique
US20040207440A1 (en) * 2003-04-17 2004-10-21 Naysen Robertson Electrical circuit for controling another circuit or system
US20060168283A1 (en) * 2001-10-05 2006-07-27 Georgiou Christos J Programmable network protocol handler architecture
US7109756B1 (en) * 2003-06-11 2006-09-19 Lattice Semiconductor Corporation Synchronization of programmable multiplexers and demultiplexers
US20080189573A1 (en) * 2007-02-02 2008-08-07 Darrington David L Fault recovery on a massively parallel computer system to handle node failures without ending an executing job
US20180167528A1 (en) * 2016-12-08 2018-06-14 Canon Kabushiki Kaisha Electronic appliance
US20180367136A1 (en) * 2017-06-16 2018-12-20 Richwave Technology Corp. Control circuit for controlling reset operation
US10427299B2 (en) * 2016-04-28 2019-10-01 Seiko Epson Corporation Device for robot, robot control device, and robot system
US20190364668A1 (en) * 2014-08-04 2019-11-28 Ok International, Inc. Variable temperature controlled soldering iron

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7282972B2 (en) * 2005-07-29 2007-10-16 Micron Technology, Inc. Bias generator with feedback control
EP1833215A1 (en) * 2006-03-10 2007-09-12 Harris Broadcast Systems Europe Detection of excessive signal power
DE102007010886B3 (en) * 2007-03-06 2008-06-26 Siemens Ag Controller for motor vehicle, has counter not reset during malfunctioning of micro-controller, so that signal for resetting micro-controller is produced at counter output, where counter output is coupled with reset input of micro-controller
US20090323880A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Synchronization of real time data within deterministic clock edge
KR101016813B1 (en) * 2009-05-19 2011-02-21 에스비리모티브 주식회사 Battery management system and driving method thereof
US9223365B2 (en) 2013-03-16 2015-12-29 Intel Corporation Method and apparatus for controlled reset sequences without parallel fuses and PLL'S
CN104657228B (en) * 2015-03-04 2017-12-19 广东欧珀移动通信有限公司 A kind of system exception processing method and processing device of mobile terminal

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4618953A (en) * 1984-05-01 1986-10-21 Pitney Bowes Inc. Watchdog circuit
US4766601A (en) * 1985-12-23 1988-08-23 Tektronix, Inc. Constant carrier watchdog
US5113504A (en) * 1982-05-19 1992-05-12 Nissan Motor Company, Limited Monitoring apparatus for control system with microcomputer
US5274452A (en) * 1990-06-21 1993-12-28 Matsushita Electric Industrial Co., Ltd. Horizontal synchronizing signal separator
US5594865A (en) * 1991-12-11 1997-01-14 Fujitsu Limited Watchdog timer that can detect processor runaway while processor is accessing storage unit using data comparing unit to reset timer
US5652844A (en) * 1995-06-26 1997-07-29 Motorola, Inc. Flexible pin configuration for use in a data processing system during a reset operation and method therefor
US5850514A (en) * 1996-03-18 1998-12-15 Nissan Motor Co., Ltd. Malfunction monitoring circuit of microcomputer system
US6078633A (en) * 1996-10-31 2000-06-20 Fujitsu Limited PLL circuit and its automatic adjusting circuit
US6225840B1 (en) * 1999-02-18 2001-05-01 Mitsubishi Denki Kabushiki Kaisha Clock generation circuit which reduces a transition time period and semiconductor device using the same
US6252444B1 (en) * 1998-10-16 2001-06-26 Hyundai Electronics Industries Co., Ltd. Reset signal generation circuit
US6456135B1 (en) * 2000-09-19 2002-09-24 Thomson Licensing S.A. System and method for single pin reset a mixed signal integrated circuit

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471488A (en) * 1994-04-05 1995-11-28 International Business Machines Corporation Clock fault detection circuit
US6782068B1 (en) * 2000-06-30 2004-08-24 Cypress Semiconductor Corp. PLL lockout watchdog
US6629257B1 (en) * 2000-08-31 2003-09-30 Hewlett-Packard Development Company, L.P. System and method to automatically reset and initialize a clocking subsystem with reset signaling technique

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113504A (en) * 1982-05-19 1992-05-12 Nissan Motor Company, Limited Monitoring apparatus for control system with microcomputer
US4618953A (en) * 1984-05-01 1986-10-21 Pitney Bowes Inc. Watchdog circuit
US4766601A (en) * 1985-12-23 1988-08-23 Tektronix, Inc. Constant carrier watchdog
US5274452A (en) * 1990-06-21 1993-12-28 Matsushita Electric Industrial Co., Ltd. Horizontal synchronizing signal separator
US5594865A (en) * 1991-12-11 1997-01-14 Fujitsu Limited Watchdog timer that can detect processor runaway while processor is accessing storage unit using data comparing unit to reset timer
US5652844A (en) * 1995-06-26 1997-07-29 Motorola, Inc. Flexible pin configuration for use in a data processing system during a reset operation and method therefor
US5850514A (en) * 1996-03-18 1998-12-15 Nissan Motor Co., Ltd. Malfunction monitoring circuit of microcomputer system
US6078633A (en) * 1996-10-31 2000-06-20 Fujitsu Limited PLL circuit and its automatic adjusting circuit
US6252444B1 (en) * 1998-10-16 2001-06-26 Hyundai Electronics Industries Co., Ltd. Reset signal generation circuit
US6225840B1 (en) * 1999-02-18 2001-05-01 Mitsubishi Denki Kabushiki Kaisha Clock generation circuit which reduces a transition time period and semiconductor device using the same
US6456135B1 (en) * 2000-09-19 2002-09-24 Thomson Licensing S.A. System and method for single pin reset a mixed signal integrated circuit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IBM TDB vol. 34, issue 4B, p. No. 468-473,Title:Analog PLL with quick phase lock, dtd. Sep. 1, 1991. *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049707A1 (en) * 2000-08-31 2004-03-11 David Hartwell Clock forward initialization and reset signaling technique
US6976184B2 (en) * 2000-08-31 2005-12-13 Hewlett-Packard Development Company, L.P. Clock forward initialization and reset signaling technique
US20030070123A1 (en) * 2001-09-21 2003-04-10 International Business Machines Corporation Apparatus and method for recalibrating a source-synchronous pipelined self-time interface
US6922789B2 (en) * 2001-09-21 2005-07-26 International Business Machines Corporation Apparatus and method for recalibrating a source-synchronous pipelined self-timed bus interface
US7072970B2 (en) * 2001-10-05 2006-07-04 International Business Machines Corporation Programmable network protocol handler architecture
US7676588B2 (en) 2001-10-05 2010-03-09 International Business Machines Corporation Programmable network protocol handler architecture
US20030067913A1 (en) * 2001-10-05 2003-04-10 International Business Machines Corporation Programmable storage network protocol handler architecture
US20060168283A1 (en) * 2001-10-05 2006-07-27 Georgiou Christos J Programmable network protocol handler architecture
US20030233608A1 (en) * 2002-06-18 2003-12-18 Roy Aninda K. Round-robin updating for high speed i/o parallel interfaces
US7017086B2 (en) * 2002-06-18 2006-03-21 Sun Microsystems, Inc. Round-robin updating for high speed I/O parallel interfaces
US20040003027A1 (en) * 2002-06-28 2004-01-01 Rene Rollig Debug interface for an event timer apparatus
US6839654B2 (en) 2002-06-28 2005-01-04 Advanced Micro Devices, Inc. Debug interface for an event timer apparatus
US20040207440A1 (en) * 2003-04-17 2004-10-21 Naysen Robertson Electrical circuit for controling another circuit or system
US7109756B1 (en) * 2003-06-11 2006-09-19 Lattice Semiconductor Corporation Synchronization of programmable multiplexers and demultiplexers
US7631169B2 (en) * 2007-02-02 2009-12-08 International Business Machines Corporation Fault recovery on a massively parallel computer system to handle node failures without ending an executing job
US20080189573A1 (en) * 2007-02-02 2008-08-07 Darrington David L Fault recovery on a massively parallel computer system to handle node failures without ending an executing job
US20190364668A1 (en) * 2014-08-04 2019-11-28 Ok International, Inc. Variable temperature controlled soldering iron
US10716220B2 (en) * 2014-08-04 2020-07-14 Ok International, Inc. Variable temperature controlled soldering iron
US10427299B2 (en) * 2016-04-28 2019-10-01 Seiko Epson Corporation Device for robot, robot control device, and robot system
US20180167528A1 (en) * 2016-12-08 2018-06-14 Canon Kabushiki Kaisha Electronic appliance
US20180367136A1 (en) * 2017-06-16 2018-12-20 Richwave Technology Corp. Control circuit for controlling reset operation
CN109150167A (en) * 2017-06-16 2019-01-04 立积电子股份有限公司 Control circuit capable of controlling reset operation
US10483963B2 (en) * 2017-06-16 2019-11-19 Richwave Technology Corp. Control circuit for controlling reset operation
US10700680B2 (en) 2017-06-16 2020-06-30 Richwave Technology Corp. Control circuit for controlling reset operation
CN109150167B (en) * 2017-06-16 2022-07-05 立积电子股份有限公司 Control circuit capable of controlling reset operation

Also Published As

Publication number Publication date
US6976184B2 (en) 2005-12-13
US20040049707A1 (en) 2004-03-11

Similar Documents

Publication Publication Date Title
US6629257B1 (en) System and method to automatically reset and initialize a clocking subsystem with reset signaling technique
US7062595B2 (en) Integrated gigabit ethernet PCI-X controller
Temple Avoiding the babbling-idiot failure in a time-triggered communication system
US5964855A (en) Method and system for enabling nondisruptive live insertion and removal of feature cards in a computer system
US7930425B2 (en) Method of effectively establishing and maintaining communication linkages with a network interface controller
US5654988A (en) Apparatus for generating a pulse clock signal for a multiple-stage synchronizer
EP0358716B1 (en) Node for servicing interrupt request messages on a pended bus
US5948111A (en) Real time comparison of integrated circuit operation
JP5459807B2 (en) Debug signaling in multiprocessor data processing systems
AU604345B2 (en) Interrupting node for providing interrupt requests to a pended bus
US5146597A (en) Apparatus and method for servicing interrupts utilizing a pended bus
US6724850B1 (en) Deterministic hardware behavior between multiple asynchronous clock domains through the novel use of a PLL
EP0795157A1 (en) Bridge between two buses
US20210342280A1 (en) PCIe LINK MANAGEMENT WITHOUT SIDEBAND SIGNALS
US5204952A (en) Duplex processor arrangement for a switching system
US6618783B1 (en) Method and system for managing a PCI bus coupled to another system
JP3329986B2 (en) Multiprocessor system
JPH02183855A (en) Synchronization of non-synchronous signal
CN103885421A (en) Standard bus controller
CN111143122B (en) Reliable exchange chip reset structure and reset method thereof
US5996038A (en) Individually resettable bus expander bridge mechanism
US20240094789A1 (en) Reset domain control
US6895525B1 (en) Method and system for detecting phase-locked loop (PLL) clock synthesis faults
JP3891994B2 (en) System and method for draining an in-order queue
KR100198416B1 (en) Synchronization monitor circuit for duplicated control system

Legal Events

Date Code Title Description
AS Assignment

Owner name: COMPAQ COMPUTER CORPORATION, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HARTWELL, DAVID;REEL/FRAME:011257/0789

Effective date: 20001102

AS Assignment

Owner name: COMPAQ INFORMATION TECHNOLOGIES GROUP, L.P., TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COMPAQ COMPUTER CORPORATION;REEL/FRAME:012375/0126

Effective date: 20010620

AS Assignment

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., TEXAS

Free format text: CHANGE OF NAME;ASSIGNOR:COMPAQ INFORMATION TECHNOLOGIES GROUP, LP;REEL/FRAME:015000/0305

Effective date: 20021001

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

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

AS Assignment

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.;REEL/FRAME:037079/0001

Effective date: 20151027

FP Lapsed due to failure to pay maintenance fee

Effective date: 20150930