# Patent

## Title
Apparatus for providing a CPU cluster via a disk I/O bus using a CPU brick which fits into a disk cavity

## Abstract

A general purpose computer apparatus including a central processing unit, a main memory and a system bus. The general purpose computer apparatus further includes means for interfacing the central processing unit to the system bus and means for interfacing the central processing unit to an I/O bus. A housing encloses the central processing unit, the main memory and the means for interfacing, with the housing having a mechanical form factor corresponding to a disk drive housing.

## Background
This application is a continuation of application Ser. No. 08/092,622, filed Jul. 16, 1993.


BACKGROUND OF THE INVENTION
This invention relates generally to computer systems and more particularly to clustered computer systems.
As is known in the art, a computer system is generally comprised of a central processing unit (CPU), a memory unit, at least one input/output device, and a bus which is used to connect the aforementioned devices. The computer is housed in a cabinet which contains a power supply to supply power for the various components of the computer. In operation, the central processing unit fetches and decodes incoming instructions, executes commands, and manipulates data, while the memory unit, which is composed of multiple storage locations, stores data to be used by the CPU. The I/O device is generally used to input data to and output data from the computer system. Typical types of I/O devices include printers, keyboards, displays and mass storage units such as disk drives etc. These devices are often interfaced to the computer system with an I/O interface controller circuit.
Often, a user's processing needs will grow beyond the capabilities of a single CPU. In an effort to meet these new processing needs, computers are typically clustered to make a plurality of CPUs available for processing. A clustered computer system is an integrated group of computers that communicate over a high-speed communication path. The clustered computer system acts as a single system to users. That is, clustered computer systems are characterized by a high degree of transparent resource sharing, which includes access by each individual computer system to storage located anywhere in the clustered system, and increased processing throughput.
In a typical cluster, there are two or more CPUs sharing inter alia at least one common system disk. Using multiple CPUs in a clustered configuration enables processing time on the CPUs to be used more efficiently. Thus, it affords the user better performance when jobs are run on a clustered system.
At least one additional general purpose computer is necessary to provide a clustered configuration for a computer system. Depending upon the characteristics of an existing system it may be possible to acquire an additional CPU and associated cabinet and power supply and interconnect these devices with the existing equipment. The two systems are connected through the additional cables and harnessing and are configured using software to behave as a clustered computer system. While the existing equipment and acquired general purpose computer system will provide a clustered computer system there are several drawbacks to this approach. For example, included with each general purpose computer system is a power supply and the cabinet as well as additional hardware such as cables and harnessing to connect the two computer systems. Clustering computer systems using this approach provides a redundancy in the hardware of the computer system, but at a substantial increase in cost particularly for the mechanical components necessary to provide the clustered system. Moreover, by providing separate cabinets, longer cables and harnesses are needed to interconnect the systems. This limits the maximum number of systems which can be interconnected, particularly for executing bus specification protocols, due to electrical timing and parameter considerations.
Another option available to provide additional processing power is multiprocessing. A single processing board can be used which includes multiple CPUs. This option however is not only costly but it assumes the user has foreseen a future need for an increase in processing power.
SUMMARY OF THE INVENTION
In accordance with the present invention, a general purpose computer apparatus includes a central processing unit, a main memory, and a system bus. The general purpose computer apparatus further includes means for interfacing the central processing unit to the system bus and means for interfacing the central processing unit to an I/O bus. The general purpose computer system further includes a housing enclosing the central processing unit, the main memory and the means for interfacing with the housing having a mechanical form factor corresponding to a disk drive housing. With such an arrangement, the general purpose computer apparatus is housed in a chassis or housing which can be disposed within a disk drive slot of a standard general purpose computer cabinet. By appropriate interconnect and configuration of the apparatus with a second general purpose computer in the general purpose computer cabinet a clustered computer system can be provided.
In accordance with a further aspect of the present invention, a computer system includes a cabinet having at least one slot for receiving a disk drive, and a first general purpose computer apparatus disposed in the cabinet. The first general purpose computer apparatus includes a first central processing unit, a system bus, and an I/O interface module coupled to said system bus for interfacing said system bus to an I/O bus. The computer system further includes a second general purpose computer apparatus which includes a second central processing unit, a main memory, and means for interfacing the second general purpose computer apparatus to the first general purpose computer apparatus. The second general purpose computer apparatus further includes a housing enclosing the second general purpose computer apparatus, the housing having a mechanical form factor corresponding to the slot for receiving a disk drive, with the housing disposed in the slot. With such an arrangement a clustered computer system configuration may be provided by appropriate interconnect and configuration of the second general purpose computer apparatus with the first general purpose computer in the general purpose computer cabinet while saving the cost of an additional cabinet, power supply, cabling and harnessing. In addition, since the length of cabling will in general be shorter than prior approaches, more systems can be clustered on one bus. For example, if the systems are clustered over a DSSI bus, a total of eight systems may be clustered without violating electrical specifications for DSSI bus clusters rather than the maximum of three systems when the systems are housed in separate cabinets and longer lengths of cabling are necessary to interconnect the systems.
In accordance with a further aspect of the present invention, a computer system includes a cabinet for housing the computer system, the cabinet having a panel with at least two openings in the panel of the cabinet. The computer system further includes a power supply disposed within the cabinet and a first general purpose computer disposed within the cabinet. The first general purpose computer further includes a first central processing unit module, including a central processing unit, a main memory, an I/O adapter interface, and a system bus coupling the first central processing unit module to the main memory and the I/O adapter interface. The computer system further includes a disk drive disposed in a first one of the openings in the panel of the cabinet and a second general purpose central processing unit module disposed in a second one of the openings in the panel of the cabinet and coupled to the cabinet by the corresponding receiving means. The second general purpose central processing unit module further includes a control panel having at least one switch which is used to reboot the second central processing unit module. The first central processing unit module and the second central processing unit module receive power from the power supply. With such an arrangement the existing equipment may be connected to the general purpose central processing unit module to provide a multiprocessing system thus, saving the user the cost of a complete multiprocessing system as well as in some cases protecting an investment made in existing equipment.



BRIEF DESCRIPTION OF THE DRAWINGS
The above-mentioned and other features of the invention will now become more apparent by reference to the following description taken in connection with the accompanying drawings in which:
FIG. 1 is a block diagram of a general purpose, clustered computer system;
FIG. 2 is an isometric view of a computer system cabinet housing the general purpose, clustered computer system of FIG. 1;
FIG. 3 is an exploded view of a general purpose computer brick;
FIG. 4 is an isometric cutaway view of the general purpose computer brick of FIG. 3 showing inner components of the brick;
FIG. 5 is a block diagram representing the partitioning of the modules of the general purpose computer brick; and
FIG. 6 is an isometric view of the general purpose computer brick depicting a relationship between the apertures in the enclosure of the brick and notches in printed circuit boards disposed in the enclosure.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring now to FIG. 1, a general purpose, clustered computer system 10 is shown to include a general purpose computer 11 having inter alia a Central Processing Unit (CPU) 12, a system memory 13, I/O 16 and an I/O bus adapter 15 all interconnected via a system bus 14. CPU 12 typically includes a microprocessor device, interface circuits and timing and control circuits and is used to process computer instructions, generally fetched from system memory 13, in a predetermined manner to complete some computer processing task. System memory 13 typically includes a plurality of integrated circuit memory devices such as dynamic random access memory (DRAM) or static random access memory (SRAM) which provide main data storage for the CPU. The I/O bus adapter 15 is further coupled to two disk drives 17 and 18 through an I/O bus 20.
The general purpose, clustered computer system further includes a second general purpose computer 19 including a CPU 21, a system memory 22, I/O 23 and an I/O bus adapter 24 each communicating through a system bus 25. In general the second general purpose computer system 19 provides similar functionality as general purpose computer system 11. Further included in the second general purpose computer 19 is an operator control panel 26 which provides an operator control over the second general purpose computer 19. The clustered general purpose computer is also shown to include a single power supply 27, which provides all appropriate voltages such as five volts for the logic devices and twelve volts for the electro-mechanical devices in the disk drive. That is the power supply here supplying power to each module of the first general purpose computer as well as to each of the disk drives and each module of the second general purpose computer 19. General purpose computer 11 and general purpose computer 19 are logically connected through a Digital Storage System Interconnect (DSSI) Bus 28 here referred to as DSSI bus—0.
Referring now to FIG. 2, a system cabinet 30 to house the general purpose, clustered computer system of FIG. 1 is shown. The first general purpose computer system 11 and power supply 27 are housed within the lower portion of the cabinet here depicted by modules 35a-35g. The power supply 27 is depicted here as being located in the right hand portion 36, as shown. The cabinet 30 further has openings to accommodate here, three disk drives. Housed in one of the disk drive openings is the second general purpose computer 19 including the CPU module, the memory module, the system bus, and the I/O adapter interface as discussed above appropriately packaged 32. Here, shown housed in one of the remaining disk drive openings, is a disk drive 31. The third disk drive slot 33 is shown empty. Also shown included in the system cabinet 30 is a tape drive 34. The packaged 32, second general purpose computer system 19 of FIG. 1, is located within the disk drive opening and is physically and logically connected through the standard disk drive connections, including power and an I/O bus capable of supporting CPU to CPU communication protocol. Examples of bus protocols include a system bus protocol, a network protocol and an I/O bus protocol. Preferably, the bus protocol is the Digital Storage System Interconnect (DSSI).
A DSSI bus is a general purpose communication bus. The DSSI bus is used to connect host computers and storage devices. It is similar in function to a Computer Interconnect (CI) bus protocol which is used for interconnecting medium to large computer systems into clusters. The DSSI bus, like the CI bus, operates using the System Communication Architecture protocols. The DSSI bus is the preferable bus because it operates at a high level thus handling error conditions more effectively. Because the electrical specifications for a DSSI bus cluster are very stringent regarding the lengths of the electrical paths, the maximum number of nodes on a DSSI bus cluster is three when a typical configuration using separate cabinets for each system is used. By connecting additional general purpose computer systems through the DSSI ports in the disk drive slots, shorter electrical paths result, thus allowing the maximum number of general purpose computer systems which may be connected through this process to increase up to eight. Through these connections and some additional clustering software, the general purpose computer system apparatus is connected in a cluster configuration with the general purpose computer housed within the main cabinet.
Referring now to FIG. 3, the second general purpose computer system 19 is packaged in a configuration adapted to be mounted in a standard 51⁄4 inch disk drive opening. The enclosure for the second general purpose computer 19 is shown to include a vented side panel 42a which allows air flow through the apparatus. A portion of the panel 42b is bent at an angle orthogonal to the air vented portion of the panel and includes five apertures 54a-54e through which the second general purpose computer system 19 receives connections from the general purpose computer system 11 for DSSI bus—0, a Small Computer System Interconnect (SCSI) bus and a Q bus. Through two of the apertures 54b, 54c the second general purpose computer system also receives power from the power supply 27. The opposing side of the general purpose computer apparatus is shown as a solid metal chassis having a pair of side panels 41a, 41b bent at an angle such that the panels 41a, 41b are mutually parallel and orthogonal to the base member 41c. The side panels 41a, 41b have guides 55 which will position here three printed circuit boards 43, 44, 45 disposed within the metal enclosure. Also located on these two side panels 41a, 41b are three pairs of rectangular apertures 52a′, 52a′′, 52b′, 52b′′, 52c′, 52c′′. 
At a first end of the general purpose computer apparatus 40 is an area 56 through which access is available to a locking connector disposed within the metal enclosure of the general purpose computer apparatus 40. This locking connector accepts a ribbon cable input located on the back of the control panel 26. Secured to two of the sides of the metal enclosure is additional air vented bracketing 50, 51 which allows the packaged general purpose computer 32 to be inserted into a disk drive opening in a system cabinet 30 as shown in FIG. 2. Further included at one end of the metal enclosure are connectors 46 which the printed circuit boards are plugged into. Additional connectors are found at the opposite end of the CPU module 57, a mate and lock connector 48 to connect to the power supply 27 and a ribbon cable connector 47 with locking tabs to connect to the DSSI bus—0 28 and the SCSI bus of general purpose computer system 11. The opposing end of each of these connectors plugs into a paddle card 49 which physically connects to the backplane within the disk drive slot and logically connects to the SCSI bus and the DSSI bus—0 28 of general purpose computer system 11. Shown is a typical configuration including two DSSI buses, a SCSI bus, a Q bus which is a general purpose I/O bus and an NI bus or ETHERNET bus which is a network bus as will be mentioned. Other configurations of course could be used, provided a bus is made available to interconnect the first general purpose computer to the second general purpose computer.
Referring now to FIG. 4 the assembled general purpose computer 19 packaged as a computer “brick” 32 is shown to include a CPU module 21, an I/O module 23 and eight single inline memory modules plugged at an angle into a memory carrier 22. The CPU module 21 is partitioned to contain the logic for the CPU, the DSSI bus—0 28 and the network interconnect. The I/O module 23 is partitioned to include the logic for I/O operations, DSSI bus—1 and Q bus. The CPU module 21, the I/O module 23 and the memory carrier 22 are each provided with notches 53a′, 53a′′, 53b′. 53b′′, 53c′, 53c′′ on the edges of the printed circuit board to be used in removing the individual boards from the enclosure as will be described.
Cabling to connect the general purpose computer brick to the existing general purpose computer system housed within the existing cabinet is fed through five apertures 54a-54e at one end of the general purpose computer brick's enclosure. Connections are made to power, DSSI bus—0 28, SCSI and Q bus through these five apertures 54a-54e. On the opposite end of the brick from these apertures, the operator control panel 26 is connected using a high density ribbon cable 61 into a connector on the general purpose computer brick which includes locking tabs. The operator control panel 26 includes a network interconnect BNC connector 60 here for an NI or ETHERNET bus and a console port. Also included are a reset button (reboot) 66, a halt button 65 and a halt enable switch 62. Two high density dual in-line (DIN) connectors 65, 66 are also included through which peripherals may be connected to the general purpose computer brick's 32 DSSI bus—1. The operator control panel also includes a diagnostic display 67 to display any errors the general purpose computer brick 32 might encounter.
Referring now to FIG. 5, the partitioning of the CPU 21, the I/O 23 and the memory modules 22 of FIG. 4 are shown to include the system microprocessor 70, I/O 71 and memory control 72 and a Single Host Adapter Chip (SHAC) for the DSSI bus—0 interface 73 and a Second Generation Ethernet Chip (SGEC) Network Interconnect interface 74 in the CPU module 21. The memory control 72 on the CPU module 21 is connected into the memory module 22 which includes the memory carrier 75 and the single inline memory modules 76a-76h which provide the main system memory. The I/O control 71 of the CPU module 21 is connected into the I/O module 23 which is partitioned to include the read only memory for the bootstrap and diagnostics code 77. Further included in the partitioning of the I/O module 23 is the system support chip 78 and the non-volatile Random Access Memory 79. Interface logic is also included for an SCSI Bus 81, a Q bus 82 and a SHAC for DSSI Bus 1 80 on the I/O module 23.
Referring now to FIG. 6, the brick is shown to include pairs of rectangular apertures 52a′, 52a′′ in proximity to pairs of notches 53b′, 53b′′ on edges of the printed circuit boards 21, 22, 23. When the printed circuit boards 21, 22, 23 are in place within the enclosure of the general purpose computer brick 32 the pair of notches 53a′, 53a′′ on opposing edges of the circuit boards are aligned with apertures 52a′, 52a′′ within the sides of the brick 32. Here the apertures 52a′, 52a′′ are rectangular but of course other shaped apertures could be used. Two flat-headed screwdrivers (not shown) are inserted through the rectangular shaped apertures 52a′, 52a′′ into one of the pair of corresponding notches 53a′, 53a′′ in the circuit board 21 and pressure is placed against the side of the notch to pry or pop the circuit board from its connector. Because of the distance the circuit board must travel in order to be completely freed from the connector, it is preferred to have two rectangular apertures as well as two notches provided in order that the necessary travel may be achieved. The notches are placed in the circuit boards such that when the circuit board is in place within the enclosure half of one of the notches is visible through the rectangular aperture and the second notch is hidden behind the space between the two apertures.
Having described preferred embodiments of the invention, it will now become apparent to those of skill in the art that other embodiments incorporating its concepts may be provided. It is felt therefore that this invention should not be limited to the disclosed embodiments but rather should be limited only by the spirit and scope of the appended claims.

## Claims

1. A general purpose computer apparatus for use with a second computer apparatus, the general purpose computer apparatus comprising:
a central processing unit; 
a main memory; 
a system bus; 
means for interfacing said central processing unit to said system bus; 
means for interfacing said central processing unit to an I/O bus; and 
a housing enclosing said central processing unit, said main memory, said means for interfacing to said system bus and said means for interfacing to said I/O bus, said housing having a size and shape so that the housing can be physically mounted in a disk drive slot of a computer system 
wherein the housing is configured to be received in the second computer apparatus to form a clustered computer system.

2. The apparatus of claim 1 wherein said housing further includes:
a control panel disposed over a portion of said housing, said control panel having at least one switch with said switch being used to reboot said central processing unit.

3. The apparatus of claim 1 wherein the size and shape of the housing corresponds to a 5 and 1⁄4 inch disk drive opening.

4. The apparatus of claim 2 wherein the size and shape of the housing corresponds to a 5 and 1⁄4 inch disk drive opening.

5. The apparatus of claim 1 wherein the main memory includes one or more inline memory modules.

6. The apparatus of claim 1 wherein the I/O bus is a Small Computer System Interconnect (SCSI) bus.

7. The general purpose computer apparatus of claim 1
wherein said general purpose computer apparatus is free from having a disk drive.

8. The apparatus of claim 7 wherein the size and shape of the housing corresponds to a 5 and 1⁄4 inch disk drive opening.

9. The apparatus of claim 7 wherein the main memory includes one or more inline memory modules.

10. The apparatus of claim 7 herein the I/O bus is a Small Computer System Interconnect (SCSI) bus.

11. The general purpose computer apparatus of claim 1 whereby the central processing unit, through the formation of the clustered computer system, communicates with the second computer apparatus.

12. The general purpose computer apparatus of claim 11 wherein the central processing unit communicates with the second computer apparatus via the I/O bus.

13. The general purpose computer apparatus of claim 1 wherein:
the second computer apparatus includes one or more resources, and 
the central processing unit, through the formation of the clustered computer system, shares the one or more resources of the second computer apparatus.

14. The general purpose computer apparatus of claim 13 wherein the central processing unit shares the one or more resources of the second computer apparatus via the I/O bus.

15. A general purpose computer apparatus for use with a second computer apparatus, the general purpose computer apparatus comprising:
a central processing unit (CPU); 
a main memory in communicating relationship with the CPU; 
an input/output I/O control for interfacing the CPU to an I/O bus; and 
a housing enclosing the CPU, the main memory and the I/O control, the housing having a size and shape so that the housing can be physically mounted in a disk drive slot of a computer system, 
wherein the housing is configured to be received in the second computer apparatus to form a clustered computer system.

16. The apparatus of claim 15 wherein the size and shape of the housing corresponds to a 5 and 1⁄4 inch disk drive opening.

17. A clustered computer system comprising:
a first computer apparatus having a central processing unit, a memory unit, a system bus interconnecting the central processing unit and the memory unit, and a cabinet enclosing the central processing unit, the memory unit and the system bus, the cabinet having a slot; and 
a second computer apparatus having a central processing unit, a memory unit, a system bus interconnecting the central processing unit and the memory unit, a bus adapter that is coupled to the system bus and is configured to interface with the first computer apparatus, and a housing enclosing the central processing unit, the memory unit, the system bus and the bus adapter, the housing having a size and shape so that the housing can be physically mounted in a disk drive slot of the cabinet of the first computer apparatus, 
wherein the central processing unit of the second computer apparatus communicates with the central processing unit of the first computer apparatus via the bus adapter.

18. The clustered computer system of claim 17 wherein
the first computer has at least one disk drive, the at least one disk drive enclosed within the cabinet, and 
the central processing unit of the second computer apparatus communicates with the at least one disk drive enclosed within the cabinet of the first computer apparatus via the bus adapter.

19. The clustered computer system of claim 18 wherein the second computer apparatus is free from having a disk drive.

20. The clustered computer system of claim 19 wherein the housing of the second computer apparatus has the size and shape corresponding to a disk drive housing.

21. The clustered computer system of claim 17 wherein
the first computer apparatus further comprises a power supply configured to provide power to the central processing unit, and 
the second computer apparatus having a connector configured to receive power from the power supply of the first computer apparatus, the second computer apparatus free from having a power supply of its own.

22. The clustered computer system of claim 17 wherein
the first computer apparatus further comprises an input/output I/O bus and a bus adapter interconnecting the system bus and the I/O bus, and 
the bus adapter of the second computer apparatus is in communicating relationship with the I/O bus of the first computer apparatus.

23. The clustered computer system of claim 22 wherein the I/O bus is a Small Computer System Interconnect (SCSI) bus.

24. The clustered computer system of claim 17 wherein the housing of the second computer apparatus has the size and shape corresponding to a disk drive housing.