The present invention relates generally to the field of thermal management and, more specifically, to methods and apparatus for thermal management of memory modules by using a thermal sensor.
Heat management is an important consideration in the design of modern-day computer systems, especially portable computers such as notebook-sized personal computers (hereinafter referred to as “notebook PCs”). Currently, with increasing of memory size and throughput speed, memory temperature control is an issue. If the temperature of the memory is too high, the data stored in the memory may be corrupted or lost. In addition, the memory itself may be damaged by excessively high temperatures.
Currently, a thermal sensor may be located on the memory controller. When temperature gets high, the memory controller will issue a command to suppress the memory bandwidth to prevent excessive heating. However, too much bandwidth suppression may hinder performance of the computer system. In addition, the thermal sensor on the memory controller does not accurately record the temperature of the memory module in the memory slot and has a high error margin.
Therefore, it can be seen that there is a need for apparatus and methods for an efficient memory thermal management system in notebook PCs.
In one aspect, an apparatus comprises a mother board, a memory slot on the mother board; a thermal sensor detecting temperature of a memory module on the memory slot, wherein the thermal sensor is disposed on the motherboard; a controller monitoring temperature from the thermal sensor; and a memory controller adapted to receive data from the embedded controller.
In another aspect, a method comprises retrieving memory slot information; computing at least one temperature threshold value for a memory module on a memory slot based on the retrieved memory slot information; and regulating bandwidth of the memory access for the memory module based on the temperature threshold value.
In a further aspect, a computing device comprises a mother board; a basic input/output system (BIOS) disposed on the mother board; and a memory controller adapted to receive data, from the BIOS, regarding a quantity and a quality of memory installed in the computing device, the memory controller adapted to regulate bandwidth of memory access of a memory module.
These and other features, aspects and advantages of the present invention will become better understood with reference to the following drawings, description and claims.
The following detailed description is of the best currently contemplated modes of carrying out exemplary embodiments. The description is not to be taken in a limiting sense, but is made merely for the purpose of illustrating the general principles, since the scope of the embodiments is best defined by the appended claims.
Various inventive features are described below that can each be used independently of one another or in combination with other features.
Broadly, exemplary embodiments provide methods and apparatus for thermal management of memory modules using a thermal sensor on a mother board. More specifically, exemplary embodiments of the memory thermal management system provide the thermal sensor close to a memory slot. In an exemplary embodiment, an embedded controller uses the thermal sensor to monitor the temperature of a memory module in the memory slot. During the power up initialization process, exemplary embodiments retrieve information concerning memory module configuration, such as memory type, size, and which memory slot is used. Based on the retrieved information, a basic input output system (BIOS) may set a trip point, such as a threshold temperature. When the threshold temperature has been reached, a memory controller may suppress the memory bandwidth to prevent excessive heating.
Exemplary embodiments may take the form of an entire hardware embodiment, or an embodiment combining software and hardware aspects. Exemplary embodiments are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products.
A south bridge 26 may be connected to the north bridge 24. The south bridge 26 may be provided with a universal serial bus (USB), a serial ATA (AT Attachment), a serial peripheral interface (SPI) bus, a peripheral component interconnect (PCI) bus, a PCI-Express bus, and the like, and connected to devices corresponding thereto. A hard drive disk (HDD) 34 may be connected to the serial ATA port of the south bridge 26. In the HDD 34, an OS, a device driver, an application program, and the like may be stored.
The south bridge 26 may also be connected, via a LPC bus 25, to legacy devices which do not require high-speed data transmission. The LPC bus 25 may be connected to an embedded controller (EC) 27, a flash ROM 39, an I/O controller 41, and the like. The embedded controller (EC) 27 may be a micro computer chip configured by an 8 to 16 bit CPU, a ROM, a RAM, and the like, and may be further provided with an multi-channel analog to digital (A/D) input terminal, a multi-channel digital-to-analog (D/A) output terminal, a timer, and a digital input/output terminal.
The EC 27 may be connected to a thermal sensor 32. The thermal sensor 32 may be any of a wide variety of thermal sensors. In one exemplary embodiment, the thermal sensor 32 may be a thermal diode, for example. In another exemplary embodiment, thermal sensor 32 may be temperature sensors, having digital to analog converter (DAC) to provide selection of a temperature threshold reference and notification that the temperature threshold has been reached. The EC 27 may communicate with the thermal sensor 32 to acquire detected temperature data from the thermal sensor 32. The term “temperature data” broadly refers to digitized information that provides an indication of device temperature. The EC 27 then may relay the received temperature to the memory controller 29. The memory controller 29 may decide how to regulate the memory module access rate based on the received temperature.
The flash ROM 39 may be a nonvolatile memory in which stored contents may be electrically rewritable. The flash ROM may store a system BIOS and a power-on self test (POST) for performing tests or initializing hardware components during activation of the notebook PC 10. The I/O controller 41 may be connected to an input device 43 such as a keyboard or a mouse.
In block 46, a “trip point” may be calculated based on various factors, such as memory module information and thermal sensor information, for example. The memory module information may include at least one of memory type, size, frequency, source of vendor, platform, and distance between the memory slots. The thermal sensor information may include at least one of the thermal sensor type, size, frequency, source of vendor, platform, and distance between the memory slots and the thermal sensor. The “trip point” may refer to a threshold value that provides a thermal threshold for the memory module. The trip point may provide a mechanism for the memory controller to regulate bandwidth of memory access for the memory module. When the temperature surpasses the trip point, a certain events may be triggered. The various factors in calculating the trip point may be system dependent. In an exemplary embodiment, distance between the temperature sensor and the memory slots, such as Slot 0 and Slot 1, may be factored in while calculating the trip point. In an exemplary embodiment, the trip point may also be based on three scenarios—a memory module is in Slot 0; a memory module is in Slot 1; or memory modules are in both Slot 0 and Slot 1. When Slot 0 is used, the trip point for Slot 0 may be higher than the trip point for Slot 1, when Slot 1 is occupied, because the thermal sensor is closer to Slot 0 than Slot 1. If both slots are occupied, the trip point may be the highest because the heat generated by both memory modules in both slots tend to be higher than one single memory module in one slot. Therefore, the trip points may vary depending on the usage of memory slots. Memory modules may be replaced by a user and the trip point may be determined each time the computer is started, based on the BIOS′ determination of memory type. The memory type may include, memory size, memory frequency, source of vendor, chip position on memory module, raw chip card types, for example. The effect of these factors may vary from platform to platform.
In an exemplary embodiment, the following equation may be used for calculating the trip point Ts.
T
S
=T
b
+T
0(F0×S0×R0×C0)+T1(F1×S1×R1×C1)
wherein
A plurality of trip points may be supported by a computing system. Each of multiple trip points may be set to enhance system performance and reliability. In an exemplary embodiment, depending on chip manufacturer, three trip points, such as cold, warm, and hot, for example, may be set on the memory controller. When the temperature surpasses the cold trip point, the memory controller may send a command to limit memory throughput. When the temperature surpasses the warm point, the memory controller may send a command to further reduce the memory throughput. When the temperature surpasses the hot trip point, the memory controller may further cut the memory throughput.
Still in
In an exemplary embodiment, after the POST, the embedded controller may monitor the temperature on the thermal sensor at a predetermined time period. The embedded controller may relay the collected temperature data to a memory controller. The collected temperature data value may be stored in the memory controller and may be compared to the computed temperature threshold value. If the temperature threshold has been reached, the memory controller may initiate a thermal control mechanism which may control the temperature of a memory device or a group of memory devices.
The thermal control mechanism may include a software based event and/or an automatic memory bandwidth throttle response. The software may include interrupts, system management interrupt (SMI), or even a system self-shut down. The thermal management mechanism may use the system self-shut down to avoid catastrophic damage and/or data loss if prior thermal control mechanisms (data rate throttling, software events, for example,) are not sufficiently effective in curbing the rise in temperature.
It should be understood, of course, that the foregoing relate to exemplary embodiments of the invention and that modifications may be made without departing from the spirit and scope of the invention as set forth in the following claims.