« PreviousContinue »
SERVICE PROCESSOR AND SYSTEM AND
METHOD USING A SERVICE PROCESSOR
BACKGROUND OF THE INVENTION
This invention relates to a service processor for providing system management functions, including environmental monitoring functions, in a computer system. The provision of a service processor for providing the management functions relieves the host processor(s) of these tasks. 10
A service processor is provided in, for example, a Netra-tl 100 server manufactured by Sun Microsystems, Inc. This known service processor provides Lights Out Management service processor functions. This service processor, that is implemented using a microcontroller, provides basic inde- 15 pendent monitoring and control functions within the server. The service processor in this prior product is connected to a serial network port via a multiplexer. The multiplexer enables a remote management station to interface either with the service processor for providing management functions or 20 with the host processor for providing console functions. However the provision of a multiplexer and the associated control circuitry adds cost and complexity.
An aim of the present invention is to provide a low cost and flexibly implemented service processor. 25
SUMMARY OF THE INVENTION
A first aspect of the invention provides a service processor for a computer system that includes a host processor and the 30 service processor. The service processor includes a management interface including a first port forming an external user interface and a second port forming an internal console interface. The service processor is operable to provide system management functions within the computer system. 35 It is also operable to respond to external mode switching commands received via the user interface to operate one of a management mode in which commands received via the user interface are processed by the service processor and a console mode in which commands received via the user 40 interface are passed by the service processor to the console interface for processing by the host processor.
An embodiment of the invention thus employs a dualported service processor. By configuring the dual-ported service processor selectively to either process commands 45 received from an external source or to pass those commands for processing by the host processor, remotely controlled management functions and console functions can be supported via a single external interface port. Moreover, this can be achieved without the additional requirement for a mul- 50 tiplexer, with the consequent reduction in size, cost and complexity of the overall system.
In a particular example of the invention the service processor is implemented by a microcontroller that includes the first and second ports, as well as control logic for 55 implementing internal switching between the management and console modes. Dual-ported microcontrollers are available on the market at low cost.
The control logic can be implemented using microcode operable to provide the internal switching between the 60 management and console modes.
The microcontroller typically includes internal memory. In a particular embodiment of the invention, generic microcode is held in the microcontroller for controlling its operation irrespective of a particular implementation. The internal 65 memory can be implemented using flash memory to facilitate programming and updating of the content thereof.
Advantageously, application specific information for supplementing the generic microcode is held in an external memory. This facilitates the adaptation of the generically programmed module to a specific application (i.e. for use in a particular system). The external memory can be implemented, for example, using an electrically erasable programmable read only memory.
In operation, the control logic can be operable to monitor signals received it the first port and to respond to a console mode switching command by operating in the console mode and to respond to a management mode switching command by operating in the management mode.
In a particular embodiment the first port provides a first serial interface and the second port provides a second serial interface. The first port can include a first UART and the second port can include a second UART for implementing a serial interface.
In another aspect the invention provides a computer system that includes a host processor and a service processor as defined above.
In an exemplary implementation, the first port can be connected directly via a port transceiver to an external serial interface connector of the computer system, with the second port being connected via a bus bridge to the host processor.
The computer system could be a computer server. The service processor can be arranged to provide at least one of the following internal computer system functions: power management control: environmental monitoring; fan control; voltage rail monitoring; and system status monitoring.
A further aspect of the invention relates to a method of providing external system management and console monitoring services in a computer system that includes a host processor. The method includes receiving external commands at a first port of a service processor in the computer system. The service processor provides management functions within the computer system and further includes a second port. The first port forms an external user interface for the computer system and the second port forms an internal console interface. The method further includes responding to a management mode switching command received via the user interface by operating in a management mode in which commands received via the user interface are processed by the service processor. The method also includes responding to a console mode switching command received via the user interface by operating in a console mode in which commands received the user interface are passed by the service processor to the console interface for processing by the host processor.
Yet a further aspect of the invention relates to a method of switching between operating modes for providing external system management and console monitoring services in such a computer system. The method comprises: operating in a console mode in which commands received via the user interface are passed by the service processor to the console interface for processing by the host processor; receiving signals from the user interface; determining from the received signals if an access sequence has been received; on receipt of an access signal, switching from the console mode to a management mode in which commands received via the user interface are processed by the service processor; operating in the management mode; and switching back to the console mode in response to a predetermined event.
A method according to the invention thus provides a method of efficiently enabling operation in either a remote console mode or a remote management mode using a single external port without the overhead of providing a hardware multiplexer for switching between functions.
Further aspects and advantages of the invention will become apparent from the following description of a preferred embodiment.
BRIEF DESCRIPTION OF THE DRAWINGS 5
Exemplary embodiments of the present invention will be described hereinafter, by way of example only, with reference to the accompanying drawings in which like reference signs relate to like elements and in which: 10
FIG. 1 is a physical plan view of a computer system that implements an embodiment of the invention;
FIG. 2 is a schematic block diagrammatic representation of a system architecture of a computer system incorporating a service processor according to an embodiment of the 15 invention;
FIG. 3 is a schematic block diagram representing aspects of a service processor according to an embodiment of the invention;
FIG. 4 is a schematic block diagram representing one 20 aspects of the service processor of FIG. 3 in more detail; and
FIG. 5 is a flow diagram representing a method of operation of an embodiment of the invention for switching between operating modes.
DESCRIPTION OF PARTICULAR
Exemplary embodiments of the present invention are described in the following with reference to the accompa- 30 nying drawings.
An exemplary embodiment of the present invention will now be described, by way of example only.
FIG. 1 is a physical plan view of narrow form factor computer system 1 designed for rack mounting that imple- 35 ments an embodiment of the invention. This embodiment of the invention seeks to provide a compactly configured computer server offering high performance at reasonable cost.
The computer system 1 comprises an enclosure 10 with a 40 front bezel 19 that is removable for front access to the disk drives and a System Configuration Card (SCC) 23 and reader 22. Rack mounting is supported for standard 19" racks via right-angled flanges (not shown). Slide-rail support is also provided. 45
The enclosure 10 is cooled, from front to rear, by two system fans 12,14 mounted on a rear panel of the enclosure, with venting in the front and rear panels as required. The host processor (CPU) 16 also has its own dedicated local cooling comprising an impingement fan 18 that clips onto 50 the CPU socket. These three fans plug directly into the motherboard 20 at 13, 15 and 17, respectively. The motherboard 20 is a PCB assembly, designed in a custom form-factor to fit the enclosure 10. The shape of the motherboard is chosen so as to minimise cabling within the 55 enclosure. The motherboard 20 carries the majority of circuitry within the computer system 1.
All external interfaces are included directly on the rear edge of the motherboard, for access through the rear-panel 11 of the enclosure 10. The external interfaces comprise two 60 network interfaces 21, two serial interfaces 84, 86 and a Small Computer System Interface (SCSI) interface 78. Indicators for Power, Fault and Network Link status are also positioned at the rear of the enclosure.
A system, or host, processor (CPU) 16 for the computer 65 system 1 is mounted in a standard 370 pin zero insertion force (ZIF) socket on the motherboard 20. It has a passive
heat sink. Dual in-line memory modules (DIMMs) are mounted in sockets 25 on the motherboard 20. A small printed circuit board (PCB) 22 is included at the front of the enclosure 10 to carry a System Configuration Card (SCC) 23 and LEDs 27 for Power and Fault status indication. A 10-way ribbon cable 24 connects this PCB to the motherboard 20. Two SCSI hard disk drives 26 and 28 are mountable in respective bays to the front of the motherboard 20. The drives are hot-pluggable and are accessible by removal of the front bezel 19 and EMI shields 30. The two internal SCSI hard disk drives 26 and 28 plug directly into the motherboard via right-angled connectors 32 located on the front edge of the motherboard 20.
A slim (notebook-style) CDROM drive bay is provided, mounted laterally in front of the motherboard for a CDROM drive 34. Compact disks may be inserted End removed via an access slot (not shown) located on the lower left side of the front bezel 19. A connector at the rear of the CDROM bay connects the CDROM drive 34 via a ribbon cable 36 to the motherboard 20.
A Power Supply Unit (PSU) 38 is connected to the motherboard via a short harness 40 with two mating connectors 42 and 44 for power and services. The PSU 38 has its own cooling fan 46 and additionally houses the system power switch (48) and power input connector(s) 50.
Further aspects of an exemplary embodiment of the invention are represented in FIG. 2, which is a schematic block diagrammatic representation of the system architecture.
In this particular example of the invention, the CPU 16 of FIG. 1 is an UltraSparc He processor 52 available from Sun Microsystems, Inc. In other embodiments other processors could, of course, be used. A configurable clock generator 54 is provided to supply various system clocks. A vectored interrupt Controller (I-Chip2) 56 is provided for handling interrupts. Also provided is a configurable core Voltage Regulator Module (VRM) 58.
Four sockets 25 are provided for commodity DIMMs 60. Connections are provided for a 72bit data path with Error Correction Codes (ECC). A Personal Computer Interconnect (PCI) bus architecture is provided that includes an Advance PCI Bridge (APB) 62. This PCI Bridge 62 concentrates two secondary 33 MHz PCI busses (PCI Bus A and PCI Bus B) onto a primary 66 MHz PCI bus (PCI Bus) as represented in FIG. 2.
A so-called South Bridge 64 is a commodity PCI IO device used extensively in the PC industry. Among other functions, it implements a dual IDE controller, a System Management Bus (SMBus) controller, two Asynchronous Serial Interfaces and a power management controller. The IDE controller component of the South Bridge 64 supports a maximum of four IDE devices via Primary and Secondary ATA busses 85. The (SMBus) host controller provides an I2C compatible, synchronous serial channel 87 for communication with devices sharing the SMBus protocol. The SMBus is used to communicate with the DIMMs. It is also used to communicate with a System Configuration Card (SCC) reader interface 89, with a chip 90 holding information for identifying a field replaceable unit (FRU ID) to obtain configuration information and with the DIMMs 60.
The two Asynchronous Serial Interfaces provide two serial channels (Serial B and Serial) 86 and 87. The Serial B channel 86 connects directly to provide an (external port via an RJ45 connector.
The Serial channel 87 is selectively connectable to an external user interface port (Serial A/LOM) 84 having an RJ45 connector via the service processor 100. The service
processor 100 selectively connects the external port 84 to, and disconnects the external port 84 from the Serial channel 87 to enable the external port 84 to be used as a combined Console/LOM port. Serial Universal Asynchronous Receiver/Transmitters (UARTs) are located within the South 5 Bridge 64 for controlling the serial communication.
Two Personal Computer 10 (PCIO) devices (RIO 0 and RIO 1) 66 and 68 zxe also provided. These PCIO devices 66 and 68 are positioned on PCI Bus B. The first PCIO device 66 provides EBUS, Ethernet and Universal Serial Bus 10 (USB) interfaces. EBUS is a Sun Microsystems parallel bus compatible with the so-called Industry Standard Architecture (ISA) bus protocol. The second PCIO device 68 implements Ethernet and USB interfaces.
A dual wide (16 bit) Fast-40 (Ultra2SCSI) controller 70 15 connects two independent SCSI busses (SCSI Bus A and SCSI Bus B) 78 to the PCI Bus A.
FIG. 2 also illustrates a 1 MB Flash PROM 92 for configuration and boot information, and a Real-time Clock with 8 kB Non-Volatile Random Access Memory (NVRAM) 20 94.
As shown in FIG. 2, a service processor 100 is also provided. In the present embodiment, the service processor 100 is implemented as an embedded microcontroller module based on the Hitachi H8 series of Flash microcontrollers. 25 The module can be directly incorporated onto a motherboard at very low cost.
FIG. 3 illustrates functional elements of the service processor 100 for providing a number of different functions, including management functions 102, 104, 106, 108 and 30 host interface functions 110.
In accordance with an embodiment of the invention, the management functions provided by the service processor include a combined serial interface/console console management interface function 102. Other management func- 35 tions include power management functions 104, enclosure environment management functions 106 and status management functions 108. Power management functions 104 include host power control, host shutdown, power-button emulation from separate ON and STANDBY switches, and 40 power options including a programmable delayed host power-up option, a host power-up decline option as well as a power state memory (resume) function. Environmental management functions 106 include fan speed monitoring with under-speed detection, speed control of the system 45 enclosure fans 12 and 14, enclosure temperature monitoring, CPU over-temperature alert and host supply rail voltage monitoring. Status management functions 108 include PSU status monitoring, external supply circuit breaker monitoring, host power LED control, fault LED control, soft alarms 50 control and event log control.
The host functions provided by the service processor 100 include support for a host parallel interface 110 via the Ebus E in FIG. 2. The host functions also include a host watchdog function with optional automatic server restart, and host 55 interrupt, host Power-On Reset (POR) and host abort (XIR) functions.
The host interface 110 of the service processor 100 connects to the parallel databus (EBus) E that connects into the first PCIO device 66. The service processor 100 is 60 operable with respect to the EBus as an EBus peripheral device. The host interface 110 of the service processor 100 uses the least-significant bit of the EBus address bus, along with Read and Write strobes, to implement a Command/ Status/Data protocol. The host interface 1 10 also includes a 65 dedicated interrupt signal connected to the I-Chip 2 56 (see FIG. 2).
Communication between the host and service processors occurs via a dedicated software driver under the control of the operating system for the host processor 52. Specifically, the communication between the host and the service processor occurs via a service processor software driver integrated into the host operating system. This communication between the service processor and the host could be by way of a parallel bus or a serial bus, as desired, although in the preferred embodiment a parallel interface is used.
The service processor 100 communicates with the host operating system via the host interface 110 to receive commands and respond with status information. Configuration data and firmware updates are also transferred via this host interface 110. The service processor can re-initialise the host at two levels, RESET and ABORT, via management interface commands. The service processor can also implement a watchdog facility to monitor the host operating system. The host operating system pats the watchdog at regular intervals. The watchdog can be configured to perform an Automatic Server Restart (ASR) function by generating a reset signal if the timeout expires.
Communication with the host is via interrupt driven 'mailbox' registers. If the service processor has any state change to report, it posts the information to the 'mailbox' registers and interrupts the host and similarly if the host wishes to communicate with the service processor it posts the information to the 'mailbox' registers and interrupts the microcontroller 100.
The operation of the management interface 102 will now be described with reference to FIG. 4. As represented in FIG. 4, the microcontroller 100 of a preferred embodiment of the invention has two serial UART interfaces UART0 and UART1 that provide a console interface 87 and an external user interface 84.
The management interface 102 of the service processor 100 provides an automatic switching function 140 that enables remote user access via the external user interface 84 in two different modes. A first mode provides a management mode (e.g. a LOM mode) in which the user has access to service processor management functions. The second mode is a console mode in which the use has access to the host processor functions. The management interface allows both of these modes to be achieved, and thus enables a LOM serial interface and a host console interface via a single physical external interface.
The LOM serial interface is functionally combined with the host console interface on the user interface by means of the automatic switching function 140. The switching function 140 is performed seamlessly in the preferred embodiment of the invention by firmware 130 in the service processor 100. The switching function is implemented by the service processor firmware 130 monitoring and passing all console traffic on the user interface while simultaneously checking for an access sequence. The switching functions can be disabled for applications requiring separate console and LOM ports.
However, when console switching is enabled, the user can then access the service processor commands by entering an access code, in the present example a two-character ASCII sequence. In a preferred example, the access sequence is a "#.", but the "#" character may be changed to any other ASCII character or character sequence. When the access sequence is entered the interface switches from a usual "OK" console prompt to a service processor "lom>" prompt. The prompt can, however be changed. Control can be returned to the console by typing "console". The service processor supports a typical console connection protocol.