# Patent

## Title
Induced thermal gradients

## Abstract

A temperature difference between a first thermal sensor and a second thermal sensor on a first die is determined. The temperature difference is transmitted from the first die to a circuit on a second die. A temperature from a thermal sensor on the second die is determined. The temperature difference and the temperature from the thermal sensor are utilized on the second die to modify operational characteristics of one or more circuits on the second die.

## Background
This application is a continuation-in-part of U.S. patent application Ser. No. 13/077,661, entitled INDUCED THERMAL GRADIENTS filed Mar. 31, 2011 and is hereby incorporated by reference.


TECHNICAL FIELD
Embodiments of the invention relate to semiconductor devices. More particularly, embodiments of the invention relate to techniques for tolerating induced thermal gradients in semiconductor devices.
BACKGROUND
Semiconductor devices produce thermal energy when operating. Because the thermal energy may not be uniform, a thermal gradient may exist. As systems become smaller and semiconductor devices are more closely packed, which may result in mechanical coupling between devices. This tight mechanical coupling may result in induced thermal gradients between one and another of the semiconductor devices.
One technique for increasing system performance is to place one or more dies with in close physical proximity to reduce transmission length and other physical characteristics, for example, by stacking multiple memory dice on top of a processor or other logic die that may have a different thermal gradient than the memory. Also, interconnections between these dice may have thermal consequences that increase with the number of interconnections.
These unexpected thermal gradients may result in operating errors. For example, in a dynamic random access memory (DRAM), thermal gradients may result in inappropriate refresh frequencies and even data loss.



BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
FIG. 1 is a block diagram of one embodiment of a package having one or more memory dies stacked with a processor/logic die.
FIG. 2 is a block diagram of one embodiment of a first die having a single sensor and a second die having multiple sensors.
FIG. 3 is a flow diagram of one embodiment of a technique to operate a memory array using temperature difference information.
FIG. 4 is a block diagram of one embodiment of an electronic system.
FIG. 5 is a conceptual illustration of one embodiment of a mode register that may be used to store data for controlling various operating modes of a memory.



DETAILED DESCRIPTION
In the following description, numerous specific details are set forth. However, embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description.
When a processor (or System on a Chip, SoC) and DRAM dies (e.g., WideIO DRAM) are stacked there may be little thermal gradient between the DRAM and the logic chip. Logic chips typically contain several thermal sensors that are used to monitor the temperature on various parts of the logic chip and are typically placed where localized hot spots are expected. Logic chips may exhibit high thermal gradients across the die corresponding to more and less active regions in the logic chip.
DRAM chips may exhibit variable retention times based on temperature. Lower-power DRAM chips may use this property in a feature called “temperature compensated self refresh.” This may reduce the refresh frequency during self refresh thereby reducing standby power consumption at lower temperatures. Typically a DRAM chip has a single thermal sensor because DRAM chips typically have a relatively uniform power distribution. However, when closely coupled with a logic chip that has a non-uniform power distribution, the DRAM thermal sensor may not be located near the hottest spot of the DRAM chip. This may cause the DRAM to refresh at an inappropriately low rate, which may lead to data loss.
The techniques described herein address this problem by one or more strategies. In one embodiment, the location of a thermal sensor may be standardized for all devices on a stack. The location may be specified, for example, as a certain offset from a standardized vertical interconnect array (e.g., WideIO interconnect) in an area that cannot be used for the memory array in the DRAM. In one embodiment, a SoC (or other computational element) may calculate a temperature difference between a hottest spot and the standard location. In one embodiment, a mode register may be utilized by the SoC (or other computational element) to communicate with the DRAM regarding the temperature difference (e.g., thermal offset) between the standard location and the hot spot. The DRAM can then utilize this difference to set refresh rates accordingly using, for example, a temperature compensated self refresh circuit (TCSR).
In alternate embodiments, the techniques may be adapted to function without a standard thermal sensor location. In these embodiments, the SoC (or other computational element) may calculate a maximum temperature gradient across its die and use that information to program the DRAM offset temperature. This may allow the DRAM to refresh its contents more often than absolutely necessary, which may lead to increased power consumption, but would prevent data loss.
To accurately determine the temperature gradient between the memory thermal sensor and the induced hot spot caused by thermal coupling, the memory thermal sensor must be in a known location. In one embodiment, multiple sensor locations may be supported. In one embodiment, a register (or other memory mechanism) may be used to indicate a location of the memory thermal sensor. For example, specific bits within a memory status register may be used to indicate the position of the thermal sensor. The number of bits used may depend on the number of locations supported. In one embodiment, each of the memory dice in a stack use the same thermal sensor location.
FIG. 1 is a block diagram of one embodiment of a package having one or more memory dies stacked with a processor/logic die. In the example of FIG. 1, several dies containing memory arrays (e.g., DRAM, WideIO DRAM) are illustrated; however any number of memory dies may be supported.
Integrated circuit package 120 may be any type of package known in the art with any type of interface known in the art (e.g., ball grid array, etc.). Within package 120, logic die 140 may be electrically coupled to the interface. One or more memory dice 150 may be electrically coupled with logic die 140. Logic die 140 may be, for example, a processor die, a system on a chip (SoC) die, an application processor, a graphics processing unit (GPU), or any other die that may have uneven thermal patterns.
One or more memory dies 150 may also be physically connected to logic die 140, which my have thermal consequences for one or more of the dice. Because logic die 140 may have an uneven thermal gradient from the thermal coupling the physical connection between logic die 140 and one or more of memory dies 150, the thermal gradient of one or more of memory dies 150 may not be as expected. Typically, memory modules, for example DRAMs, have a relatively consistent temperature across the die because circuit utilization on the memory module is relatively distributed.
Because of this, the placement of a thermal sensor on the memory module die may be relatively unimportant. That is, when the memory module is operating without any outside thermal influences, a single thermal sensor may be sufficient and the location of thermal sensor may be relatively flexible.
In contrast to memory modules, logic dice have circuits that are used consistently and frequently which result in higher operating temperatures in those regions. Therefore, logic dice typically have thermal sensors located a places of higher expected temperature so that these hot spots may be monitored. When a logic die comes in to physical contact with another die, for example, memory die 150, the hot spots on the logic die may create corresponding hot spots on the memory die. Thus, the thermal information from the memory die thermal sensor may be inaccurate.
In one embodiment, memory die 150 has a thermal sensor in a known location. That is, each memory die may have the same thermal sensor location. Logic die 140 may have a corresponding thermal sensor in a location that is immediately adjacent to or substantially adjacent to the thermal sensor of memory die 150. Logic die 140 may also have thermal sensors in other locations, for example, corresponding to one or more hot spots.
In one embodiment, logic die may determine a temperature difference between a thermal sensor at a hot spot and a thermal sensor corresponding to a thermal sensor in the memory module. The temperature difference between the thermal sensors on the logic die may be used by the memory module to determine an adjustment to the temperature indicated by the thermal sensor on the memory module. The behavior of the memory module may be modified based on the adjusted temperature rather than the measured temperature.
FIG. 2 is a block diagram of one embodiment of a first die having a single sensor and a second die having multiple sensors. The example of FIG. 2 illustrates two dice that may be stacked so that the heat from one die may transfer to the other die. The example of FIG. 2 illustrates only two dice, but the concepts illustrated are applicable to any number of stacked dice. In alternate embodiments, the stacked memory may be adjacent to, rather than stacked on, the processor die. The thermal gradient concepts described herein apply to side-by-side configurations as well as stacked configurations.
Die 220 may include any type of circuitry, for example, DRAM arrays, or other memory structures 235. Die 220 includes thermal sensor 240 coupled with management logic 230. In one embodiment, when die 220 includes DRAM, management logic 230 may operate to read temperature information from thermal sensor 240 and may use that temperature information to modify behavior or operation of memory array 235. In one embodiment, the refresh rate of memory array 235 may be adjusted by management logic 230 and/or temperature compensated self refresh circuit (TCSR) 225 based on information from thermal sensor 240.
TCSR 225 may be part of management logic 230 or may be separate from management logic 225. In one embodiment TCSR 225 operates to adjust the refresh rate of the memory responsive, at least in part, to a thermal offset value, for example, a thermal offset value stored in mode register 245. The phrase “thermal offset bit(s)” generally refers to one or more bits stored, for example, in a mode register that represent thermal offset. One embodiment of a mode register is illustrated in FIG. 5.
Die 250 may include logic circuitry, for example, a processor core, a graphics processor, a system on a chip (SoC), or other logic 275. Die 250 may have multiple types of circuits, for example, a processor core, a cache memory, a transceiver, etc. Because die 250 may have circuits with irregular thermal gradients, die 250 may have multiple thermal sensors (e.g., 260, 265).
In one embodiment, thermal sensor 240 is placed in a location on die 220 that is indicated by one or more bits in a memory location, for example, a memory register in control circuit 270 (e.g., register 280), which can be, for example, a memory controller (e.g., a WideIO controller). In an alternate embodiment, a memory register in management logic 230 (e.g., mode register 245) may provide this information. In one embodiment, several thermal sensor locations are supported within the memory die. In one embodiment, all memory dice in a stack have the same thermal sensor location. With the thermal information from thermal sensors 260 and 265 on die 250 and the indication of the location of thermal sensor 240 on die 220, the induced thermal gradient on die 220 can be determined and an adjustment, or temperature difference, can be determined. In one embodiment, the interface for dice in a stack may be organized as several slices.
Control circuit 270 is coupled with thermal sensors 260 and 265 to collect temperature information. In one embodiment, control circuit 270 determines a temperature difference between thermal sensor 265 and thermal sensor 260. Control circuit 270 may transmit this difference (or information indicating a difference range), to management logic 230. In one embodiment, a bit in a register in management logic 230 is set to indicate a temperature difference (e.g., 0 indicates 0-10 degree difference, 1 indicates a 10+ degree difference). In another embodiment, more bits may be used to provide a more granular range, or an actual temperature difference may be transmitted.
Management logic 230 uses the temperature difference information from control circuit 270 with temperature information from thermal sensor 240 to manage operation of memory array 235. In one embodiment, management logic 230 controls a refresh rate for memory array 235. Management logic 230 may combine the temperature difference information with the temperature information from thermal sensor 240 to determine an operational temperature value that is used for management of memory array 235. For example, if the temperature difference indicates a higher temperature, management logic 230 may increase the refresh rate for memory array 235.
FIG. 3 is a flow diagram of one embodiment of a technique to operate a memory array using temperature difference information. The operations described with respect to FIG. 3 may be performed by control and/or management circuitry spread across one or more dice. The operations of FIG. 3 are presented in a specific order; however, a different order may also be used.
The operation of FIG. 3 is applicable to a configuration of multiple dice that are physically in contact with one another so that thermal transfer may occur, whether the stack of memory dice are horizontally aligned or vertically aligned with the processor/SoC die. In one embodiment, at least one thermal sensor on the lower die is aligned with at least one sensor on the upper die. In one embodiment, the lower die contains a logic circuit, for example, a processor core or a system on a chip. The upper die may contain a memory structure, for example, a DRAM, WideIO DRAM. In an alternate embodiment, the logic circuit is on the upper die and the memory module is on the lower die, or one or more of the dice in the DRAM stack may abut the die having a thermal gradient.
A common thermal sensor location is determined, 310. One or more bits in a register or other storage element may be used to indicate a location of one or more thermal sensors. For example, if two sensor locations are supported a single bit may be used to indicate which of the two locations is used for the thermal sensors. More bits provide the possibility for more possible sensor locations. In one embodiment, three bits are used to support up to eight sensor locations; however, any number of sensor locations may be supported. Referring back to the example of FIG. 2, by knowing the sensor locations and the temperature differences between thermal sensors on dies 250, an induced thermal gradient for die 220 may be determined.
Temperature difference information between the common thermal sensor location and a hottest measured location on the logic chip is determined, 320. In one embodiment, at least one of the thermal sensors for which a temperature difference is determined is aligned with a corresponding thermal sensor on the memory module die. In other embodiments, this temperature difference information may be use to extrapolate temperature difference information related to other potential thermal sensor locations. This information may be utilized to determine thermal gradients.
The temperature difference information is transmitted between the logic die and the memory die, 330. In one embodiment, the temperature difference may be communicated by one or more bits that indicate temperature differential ranges, or a number indicating an actual temperature difference may be transmitted. For example, in a single-bit embodiment, a 0 may indicate a temperature difference in a first range (e.g., 0-5 degrees, 0-10 degrees, 0-12 degrees) and a 1 may indicate a temperature difference in a second range (e.g., >5 degrees, >10 degrees, >12 degrees).
In a two-bit embodiment, four ranges may be supported. For example, a 00 may indicate a first range (e.g., 0-5 degrees, 0-7 degrees, 0-10 degrees), a 01 may indicate a second range (e.g., 6-10 degrees, 8-15 degrees, 11-20 degrees), a 10 may indicate a third range (e.g., 11-15 degrees, 16-20 degrees, 21-25 degrees), and a 11 may indicate a fourth range (e.g., >15 degrees, >20 degrees, >25 degrees). Other embodiments with different numbers of bits may be similarly supported.
Temperature information is gathered for the memory module, 340. In one embodiment, the memory module has only one thermal sensor that is aligned with one of the thermal sensors of the logic die. In alternate embodiments, the memory module may have multiple thermal sensors. The memory module may have management (or other control) circuitry that utilizes temperature information to manage operation of the memory module. In one embodiment, the refresh rate for the memory array is determined based, at least in part, on the operating temperature of the memory module.
The management circuitry utilizes the temperature information from the memory module thermal sensor and the temperature difference information to adjust, if necessary, the operational parameters of the memory module, 350. In one embodiment, the refresh rate of the memory module may be determined based on the measured temperature as adjusted by the temperature difference information. Other operational parameters may also be adjusted.
In alternate embodiments, other adjustments may be made utilizing the temperature difference information. For example, if two logic dice are stacked and the respective thermal sensors are not aligned, temperature difference information may be shared between the dice, which will allow the respective control circuits to have more accurate information upon which to base operational parameters.
FIG. 4 is a block diagram of one embodiment of an electronic system. The electronic system illustrated in FIG. 4 is intended to represent a range of electronic systems (either wired or wireless) including, for example, a tablet device, a smartphone, a desktop computer system, a laptop computer system, a server, a game console, a game controller, etc. Alternative electronic systems may include more, fewer and/or different components.
Electronic system 400 includes bus 405 or other communication device to communicate information, and processor(s) 410 coupled to bus 405 that may process information. Electronic system 400 may include multiple processors and/or co-processors. Electronic system 400 further may include random access memory (RAM) or other dynamic storage device 420 (referred to as memory), coupled to bus 405 and may store information and instructions that may be executed by processor 410. Memory 420 may also be used to store temporary variables or other intermediate information during execution of instructions by processor(s) 410.
Electronic system 400 may also include read only memory (ROM) and/or other static storage device 430 coupled to bus 405 that may store static information and instructions for processor 410. Data storage device 440 may be coupled to bus 405 to store information and instructions. Data storage device 440 such as a magnetic disk or optical disc and corresponding drive may be coupled to electronic system 400.
Electronic system 400 may also be coupled via bus 405 to display device 450, which can be any type of display device, to display information to a user, for example, a touch screen. Input device 460 may be any type of interface and/or device to allow a user to provide input to electronic system 400. Input device may include hard buttons and/or soft buttons, voice or speaker input, to communicate information and command selections to processor(s) 410.
Electronic system 400 may further include sensors 470 that may be used to support functionality provided by Electronic system 400. Sensors 470 may include, for example, a gyroscope, a proximity sensor, a light sensor, etc. Any number of sensors and sensor types may be supported.
Electronic system 400 further may include network interface(s) 480 to provide access to a network, such as a local area network. Network interface(s) 480 may include, for example, a wireless network interface having antenna 485, which may represent one or more antenna(e). Network interface(s) 480 may also include, for example, a wired network interface to communicate with remote devices via network cable 487, which may be, for example, an Ethernet cable, a coaxial cable, a fiber optic cable, a serial cable, or a parallel cable.
In one embodiment, network interface(s) 480 may provide access to a local area network, for example, by conforming to IEEE 802.11b and/or IEEE 802.11g and/or IEEE 802.11n standards, and/or the wireless network interface may provide access to a personal area network, for example, by conforming to Bluetooth standards. Other wireless network interfaces and/or protocols, for example, 4G/LTE, can also be supported.
IEEE 802.11b corresponds to IEEE Std. 802.11b-1999 entitled “Local and Metropolitan Area Networks, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications: Higher-Speed Physical Layer Extension in the 2.4 GHz Band,” approved Sep. 16, 1999 as well as related documents. IEEE 802.11g corresponds to IEEE Std. 802.11g-2003 entitled “Local and Metropolitan Area Networks, Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, Amendment 4: Further Higher Rate Extension in the 2.4 GHz Band,” approved Jun. 27, 2003 as well as related documents. Bluetooth protocols are described in “Specification of the Bluetooth System: Core, Version 1.1,” published Feb. 22, 2001 by the Bluetooth Special Interest Group, Inc. Associated as well as previous or subsequent versions of the Bluetooth standard may also be supported.
In addition to, or instead of, communication via wireless LAN standards, network interface(s) 480 may provide wireless communications using, for example, Time Division, Multiple Access (TDMA) protocols, Global System for Mobile Communications (GSM) protocols, Code Division, Multiple Access (CDMA) protocols, and/or any other type of wireless communications protocol.
FIG. 5 is a conceptual illustration of one embodiment of a mode register that may be used to store data for controlling various operating modes of a memory (e.g., WideIO DRAM). Because of their tight thermal coupling with WideIO DRAMS, hot spots on WideIO controller can induce thermal gradients into the DRAMs. As these hot spots may not be located hear the DRAM thermal sensor, the DRAM temperature compensated self-refresh circuit may not generate enough refresh cycles to guarantee memory retention. To address this shortcoming, the controller can provide a thermal offset that the memory uses to adjust its TCSR circuit to ensure reliable operation.
In one embodiment, this offset is provided through mode register 500, for example, the mode register of FIG. 5. Specifically, thermal bits 510 (e.g., A16, BA1 and BA0) in the example of FIG. 5. In one embodiment, this temperature offset will modify refresh behavior for all channels in a slice. If the induced thermal gradient is larger than 15 degrees Celsius, then the self-refresh mode will not reliable maintain contents. In the example of FIG. 5, Bit 1 (A1) may be reserved for future thermal offset use.
In one embodiment, during normal operation, the controller will update this register whenever it detects changes in the induced thermal gradient. Because updating this register may modify the self-refresh behavior for all channels, all channels must not be in self-refresh mode when this register is written.
If changes to the thermal offset indicate that the self-refresh frequency increases (i.e., the time between refreshes decreases), the memory must reflect these changes quickly. If changes to the thermal offset indicate that the self refresh frequency decreases (i.e., the time between refreshes increases), the controller cannot put the memory into self refresh until the controller has refreshed all memory on the device. Thermal offset can be indicated by the value of thermal offset bit 520
To accurately determine the temperature gradient between the memory thermal sensor and the induced hot spot, the memory thermal sensor must be located in a predictable location. To provide flexibility, several locations on the memory die may be supported. In one embodiment, the specific location used by an individual memory die may be indicated by bits (e.g., 3 bits, 2 bits, 1 bit, 5 bits, 4 bits) in the memory status register. In one embodiment, all memory dice in a stack use the same thermal sensor location.
In one embodiment, to ensure that the memory thermal sensor is located above a known location on the controller, the memory thermal sensor is located within a rectangle centered on the memory-controller physical interface. In one embodiment, the minimum size of a controller to use this feature is within that rectangle.
Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
While the invention has been described in terms of several embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting.

## Claims

1. A semiconductor device comprising:
a memory die having a dynamic random access memory (DRAM) array with a configurable self-refresh rate, a mode register including a storage location for at least one thermal offset bit, and a memory thermal sensor electrically coupled to the DRAM array;
a controller die thermally coupled with the memory die, the controller die including at least one thermal sensor to detect a thermal condition and circuitry to provide the at least one thermal offset bit to the storage location for the thermal offset bit of the mode register; and
a temperature compensated self-refresh (TCSR) circuit located on the memory die, the TCSR circuit operable to modify the self-refresh rate of the memory array responsive, at least in part, to the thermal offset bit, wherein the TCSR utilizes the thermal offset bit to determine a temperature difference between a thermal sensor location on the controller die and a thermal sensor location on the memory die.

2. The semiconductor device of claim 1 wherein the controller die comprises at least a processor core.

3. The semiconductor device of claim 1 wherein the controller die comprises a system on a chip (SoC).

4. An apparatus comprising:
a first die including a memory with a configurable self-refresh rate, a thermal sensor, and a mode register, the mode register including a storage location for one or more thermal offset bits;
a second die coupled with the first die, the second die including at least one thermal sensor to detect a thermal condition and circuitry to provide the one or more thermal offset bits to the storage location for the one or more thermal offset bits; and
a circuit located on the first die, the circuit operable to modify the self-refresh rate for the memory of the first die responsive, at least in part, to the one or more thermal offset bits, wherein the circuit is to utilize the one or more thermal offset bits to determine a temperature difference between a thermal sensor location on the second die and a thermal sensor location on the first die. Please add the following new claims:

5. The apparatus of claim 4 wherein the second die comprises at least a processor core.

6. The apparatus of claim 4 wherein the second die comprises a system on a chip (SoC).