As the power levels of microprocessors and other data processors continue to increase to provide higher levels of performance, the task of cooling these microprocessors as they operate in data processing applications becomes more of a challenge. When microprocessors are manufactured to provide higher levels of performance the microprocessors typically increase in size. Furthermore, with increasing sizes, more massive heatsinks are required to cool the larger microprocessors. Additionally, when constraints due to available air flow are accounted for, the heatsink required to cool the microprocessor typically has a larger "footprint" than the microprocessor it is cooling. Thus, in many data processing systems, a designer of the data processing system must ensure both that an adequate amount of space is available to implement a heatsink and that the heatsink is large enough to cool an associated microprocessor.
There are a number of requirements to be considered in designing a heatsink attachment to a microprocessor in a data processing system. It should be noted that the microprocessor is typically attached to a module or printed circuit board card. Thus, in designing a heatsink attachment to the printed circuit board card, the requirements include providing an attachment which allows for a good thermal path between the heatsink base and the top of the microprocessor. Typically, such an attachment may be accomplished either by attaching the heatsink directly to the module cap with screws or adhesives, or by compliantly loading the heatsink against the top of the microprocessor. As high power microprocessors require larger heatsinks, surface-mount attachment designs are difficult to implement as the microprocessors are quite fragile and may cause stress on the microprocessor when directly attached thereto. Stated another way, surface mount attachment designs fail to provide adequate shock and vibration resistance to ensure that the microprocessor will not be damaged during handling. Therefore, in applications in which a preferred method for addressing the problems is a surface-mount attachment design, the heatsink may be directly attached to the printed circuit board to relieve the strain on the microprocessor. However, the direct attachment method for attaching a heatsink directly to a printed circuit board is complicated by the fact that solder column (CGA), solder ball (BGA), and other surface mount attachment devices typically have a poor tolerance control on the height of the processing element above the surface of the printed circuit board. When the height of the processing element above the card surface is not exact and the heatsink does not intimately contact that microprocessor surface, the microprocessor will not be adequately cooled. To compensate for these deficiencies, some manufacturers have modified the heatsink to comprise a variable-length mounting post in specified locations thereon. The post is firmly attached to the heatsink using threaded fasteners or any other structurally sound attachment method, such as retaining rings, press fits, or the like. This attachment will prevent removal of the post without damaging the heatsink. Similarly, a well is attached to the circuit card using screws, nuts, clips, or the like. The attachment of the well, the posts, and the posts to the well must be capable of withstanding the expected shock, vibration, and handling loads without shifting the heatsink. When the heatsink is to be attached, the heatsink is placed over the microprocessor so that the posts enter the well. In this position, the heatsink rests directly on the microprocessor, rather than on the post. Sufficient force is then applied to the heatsink to establish intimate thermal contact between the heatsink and the microprocessor, and the circuit card is supported from below within the vicinity of the wells.
Furthermore, in an article entitled "Heatsink Attachment for Improved Electro-Magnetic Compatibility and Shock Performance," published in the IBM.TM. Technical Disclosure Bulletin, Volume 38, No. 03, pp. 383-385, in March 1995, an improved heatsink attachment is disclosed. In this disclosure, a frame assembly is used to hold a heatsink to a top of a data processor using a heatsink/clip assembly. After the data processor is attached to the printed circuit board, the frame assembly is installed by snapping it into the printed circuit board through four holes that are drilled in the vicinity of the comers of the data processor. These holes are located in pads which are electrically connected to the ground planes in the printed circuit board. The frame assembly includes a stamped and formed metal frame with a central hole which allows protrusion of a single data processor through the frame. Four snap-top standoffs may then be used to allow the frame assembly to snap into the four holes drilled into the printed circuit board. The snap-top standoffs are not required, and it should be noted that any mechanical means of attaching the frame is acceptable.
When this frame assembly is utilized, the heatsink is installed by first applying a thermal interface material to the heatsink and/or data processor, and then nesting the heatsink inside the frame assembly and on top of the data processor. A spring clip latches onto the same assembly which concurrently springloads the heatsink onto the data processor, providing a good thermal interface. Furthermore, since the heatsink is compliantly mounted to the module, the module height tolerances can be accommodated.
While the aforementioned frame assembly provides a good solution for problems associated with mounting single data processors onto printed circuit boards, many current data processing systems are multi-processing or symmetric multi-processing (SMP) machines. Within these types of machines, the duplicity of high power processors and proximity of cache controllers implemented in such machines on a single printed circuit board can make the installation of heatsinks difficult. For performance reason, the set of high power processors and cache controllers must typically be positioned in a very compact arrangement. Additionally, the power characteristics of these devices often dictate the use of large heatsinks, wherein the heatsinks have base dimensions that are larger than the outline of the devices. Such additional difficulties make heatsink installation and retention even more of a challenge.
The methodologies for attaching and installing heatsinks described above fail to provide an adequate solution for installing heatsinks in multi-processor type machines. For example, if a heatsink was attached directly to the data processor or cache controller via an adhesive, the data processor or cache controller would have to absorb all dynamic loads resulting from the handling of the printed circuit board. Furthermore, replacement of either the data processor or cache controller would be very difficult given the attachment of such large heatsinks directly to their surfaces. Additionally, the frame assembly methodology described above provides only for a single processor. While multiple frames might be implemented, the steps required to implement multiple frames during the manufacturing process may often be prohibitive as they would unduly increase the overhead associated with manufacturing and completing printed circuit boards for the data processing systems. Additionally, multiple frames may require additional holes which would adversely affect wireability.
Additionally, the framing assembly described above contemplates a standard height for a data processor which it will be mounted around. Because SMP machines with multiple processors and cache controllers comprise devices which have varying heights and compact arrangements, the frame assembly described above would be difficult to implement as it would not conform with space requirements or provide the proper contact between a heatsink and the data processor.
Therefore, a need exists for an apparatus for attaching a heatsink to the processors and controllers on a printed circuit board of an multi-processing machine. In addition to a heatsink attachment which compensates for the compact arrangement typical of such multi-processing machines, a need exists for a heatsink attachment which allows for the use of large heatsinks whose base dimensions are larger than the outline of the processors for which heat is dissipated. Furthermore, a number of other requirements should be considered in developing an attachment of heatsinks to a compact array of substantially different devices found within multi-processing machines. For example, to attain a high degree of packing density, a need exists for heatsink attachment which allows a minimum space between heatsink and a minimum space for heatsink retention hardware. Additionally, there exists a need for a heatsink attachment which provides a good thermal path between the heatsink and the device. As well, the attachment methodology should allow for the easy removal of the heatsink to provide access for rework or repair to devices around the perimeter of the microprocessor or cache controller. A need also exists for a heatsink which provides a good ground connection between the heatsink and the ground plane of the printed circuit board for better EMC (Electro Magnetic Compatability) containment. Furthermore, a need exists for an attachment which carefully controls the static loading of the heatsink against the processing elements of the multi-processing machine so as not to damage the device or connections between the device and the printed circuit board. A need also exists for a heatsink attachment which utilizes as many common parts as available and minimizes the number of holes required in a printed circuit board for installation for improved printed circuit board wireability. Additionally, a need exists for a heatsink assembly which is able to withstand the anticipated shock and vibration of the environment in which the multi-processing machines are implemented.