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.
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 unexpected induced thermal gradients between one and another of the semiconductor devices.
These unexpected thermal gradients may result in operating errors. For example, in a dynamic random access memory (DRAM), unexpected thermal gradients may result in inappropriate refresh frequencies and even data loss.
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.
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 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 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 between the standard location and the hot spot. The DRAM can then utilize this difference to set refresh rates accordingly.
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.
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 modules 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, or any other die that may have uneven thermal patterns.
One or more memory modules 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 the physical connection between logic die 140 and one or more of memory modules 150, the thermal gradient of one or more of memory modules 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.
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 based on information from thermal sensor 240.
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), one of which is to be aligned with thermal sensor 240.
In one embodiment, thermal sensor 240 may be placed in a predetermined location on die 220 that is known to designers and/or manufacturers of die 250. Thermal sensor 260 is positioned so that when die 220 is stacked on die 250, thermal sensors 240 and 260 will be aligned or close enough spatially that temperature information from thermal sensor 260 may be utilized with temperature information from thermal sensor 240.
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.
The operation of
Temperature information from two or more thermal sensors is collected on the logic die, 310. The logic die may have any number of thermal sensors and, one or more circuits on the logic die may manage operation of the logic die by utilizing the temperature information collected from the multiple thermal sensors.
Temperature difference information is determined for at least one pair of thermal sensors on the logic die, 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.
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.
One or more of the components illustrated in
Electronic system 400 includes bus 405 or other communication device to communicate information, and processor 410 coupled to bus 405 that may process information. While electronic system 400 is illustrated with a single processor, 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 main memory), coupled to bus 405 and may store information and instructions that may be executed by processor 410. Main memory 420 may also be used to store temporary variables or other intermediate information during execution of instructions by processor 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, such as a cathode ray tube (CRT) or liquid crystal display (LCD), to display information to a user. Alphanumeric input device 460, including alphanumeric and other keys, may be coupled to bus 405 to communicate information and command selections to processor 410. Another type of user input device is cursor control 470, such as a mouse, a trackball, or cursor direction keys to communicate direction information and command selections to processor 410 and to control cursor movement on display 450.
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 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 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.
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.
Number | Name | Date | Kind |
---|---|---|---|
5502838 | Kikinis | Mar 1996 | A |
5902044 | Pricer | May 1999 | A |
6488405 | Eppes | Dec 2002 | B1 |
6557072 | Osborn | Apr 2003 | B2 |
6662136 | Lamb et al. | Dec 2003 | B2 |
6908227 | Rusu et al. | Jun 2005 | B2 |
7260007 | Jain et al. | Aug 2007 | B2 |
7400945 | Radhakrishnan | Jul 2008 | B2 |
7535020 | Yoshida et al. | May 2009 | B2 |
7549795 | Kosta | Jun 2009 | B2 |
7590020 | Lee | Sep 2009 | B2 |
7590473 | Wyatt | Sep 2009 | B2 |
7621671 | Petruzzi et al. | Nov 2009 | B2 |
7775710 | Mukherjee | Aug 2010 | B2 |
7965571 | Jeong et al. | Jun 2011 | B2 |
7984250 | Steinbrecher et al. | Jul 2011 | B2 |
8096705 | Sri-Jayantha | Jan 2012 | B2 |
8174921 | Kim et al. | May 2012 | B2 |
8186878 | Janzen et al. | May 2012 | B2 |
8192082 | Song et al. | Jun 2012 | B2 |
8425115 | Rahman et al. | Apr 2013 | B2 |
8590332 | Wyatt | Nov 2013 | B2 |
8624527 | Meir et al. | Jan 2014 | B1 |
8762097 | Millet | Jun 2014 | B2 |
8892269 | Shrall et al. | Nov 2014 | B2 |
9104540 | Toronyi | Aug 2015 | B2 |
9182800 | Trautman | Nov 2015 | B2 |
20010021217 | Gunther et al. | Sep 2001 | A1 |
20030158683 | Gauthier et al. | Aug 2003 | A1 |
20040204899 | Gunther et al. | Oct 2004 | A1 |
20050146965 | Kim et al. | Jul 2005 | A1 |
20050201174 | Klein | Sep 2005 | A1 |
20060004537 | Jain et al. | Jan 2006 | A1 |
20060007722 | Nordal et al. | Jan 2006 | A1 |
20060221741 | Jain et al. | Oct 2006 | A1 |
20060242447 | Radhakrishnan et al. | Oct 2006 | A1 |
20070045825 | Chan et al. | Mar 2007 | A1 |
20070140315 | Janzen et al. | Jun 2007 | A1 |
20070145578 | Lee | Jun 2007 | A1 |
20070191993 | Wyatt | Aug 2007 | A1 |
20070271409 | Miura et al. | Nov 2007 | A1 |
20080007319 | Cox | Jan 2008 | A1 |
20080043556 | Nale | Feb 2008 | A1 |
20080218192 | Johnson | Sep 2008 | A1 |
20080239852 | Jazayeri | Oct 2008 | A1 |
20090141576 | Ruckerbauer | Jun 2009 | A1 |
20090168840 | Song et al. | Jul 2009 | A1 |
20100131724 | Miura et al. | May 2010 | A1 |
20100142291 | Joo et al. | Jun 2010 | A1 |
20100169585 | Steinbrecher et al. | Jul 2010 | A1 |
20100214814 | Park et al. | Aug 2010 | A1 |
20110054717 | Yamauchi et al. | Mar 2011 | A1 |
20110093132 | Tan et al. | Apr 2011 | A1 |
20110193086 | Lee et al. | Aug 2011 | A1 |
20110194369 | Jeddeloh | Aug 2011 | A1 |
20120163413 | Kim et al. | Jun 2012 | A1 |
20120297241 | Jeddeloh | Nov 2012 | A1 |
20130003781 | Pan | Jan 2013 | A1 |
20130279276 | Schaefer | Oct 2013 | A1 |
20130294184 | Yang et al. | Nov 2013 | A1 |
20140092939 | Chang et al. | Apr 2014 | A1 |
20140122952 | Zimmerman | May 2014 | A1 |
20140140156 | Shoemaker et al. | May 2014 | A1 |
20140192583 | Rajan et al. | Jul 2014 | A1 |
20140237307 | Kobla et al. | Aug 2014 | A1 |
20140371945 | Sato | Dec 2014 | A1 |
20150233964 | Tanabe | Aug 2015 | A1 |
Number | Date | Country |
---|---|---|
1751357 | Mar 2006 | CN |
1828549 | Sep 2006 | CN |
1993765 | Jul 2007 | CN |
101133459 | Feb 2008 | CN |
2006108256 | Apr 2006 | JP |
2008048384 | Feb 2008 | JP |
20080091941 | Oct 2008 | KR |
WO2009081225 | Jul 2009 | WO |
WO-2009081225 | Jul 2009 | WO |
WO-2009081225 | Jul 2009 | WO |
Entry |
---|
Office Action for U.S. Appl. No. 13/336,806, mailed Jul. 28, 2014, 7 pages. |
Notice of Preliminary Rejection for Korean Patent Application No. 10-2013-7025329 mailed Jul. 10, 2014, 10 pages. |
Final Office Action for U.S. Appl. No. 13/336,806, mailed Jan. 9, 2014, 7 pages. |
Office Action for U.S. Appl. No. 13/336,806, mailed Jun. 28, 2013, 8 pages. |
Extended European Search Report for European Patent Application No. 12763926.8 mailed Nov. 10, 2014, 8 pages. |
Office Action & Search Report for Taiwan Patent Application No. 101104389 mailed Jun. 12, 2014, 16 pages. |
International Search Report and Written Opinion for PCT/US2012/024340 mailed Sep. 7, 2012, 9 pages. |
International Preliminary Report on Patentability for PCT/US2012/024340 mailed Oct. 10, 2013, 6 pages. |
Notice of Allowance for U.S. Appl. No. 13/336,806, mailed Apr. 2, 2015, 5 pages. |
International Preliminary Report on Patentability from PCT/US2011/067284 mailed Jul. 3, 2014, 6 pgs. |
Notice of Allowance from U.S. Appl. No. 13/997,975 mailed Jun. 10, 2015, 3 pgs. |
International Search Report and Written Opinion of the International Searching Authority dated Sep. 17, 2012, in International Patent Application No. PCT/US2011/067284, 7 pages. |
Notice of Allowance mailed Apr. 1, 2015, in U.S. Appl. No. 13/997,975, 9 pages. |
Office Action dated Mar. 12, 2015 and Search Report in Taiwan Patent Application No. 101147195, 15 pages. |
Office Action mailed Jan. 23, 2015, in U.S. Appl. No. 13/997,975, 6 pages. |
Notice of Allowance mailed Nov. 19, 2015, in U.S. Appl. No. 13/997,975, 10 pages. |
Ex Parte Quayle Action for U.S. Appl. No. 13/336,806, mailed Jan. 5, 2015, 4 pages. |
Office Action & Search Report for Taiwan Patent Application No. 101104389 mailed Dec. 8, 2014, 20 pages. |
Notice of Last Preliminary Rejection for Korean Patent Application No. 10-2013-7025329 mailed Jan. 27, 2015, 10 pages. |
First Office Action dated Aug. 4, 2015 (+ English summary), in Chinese Patent Application No. 201280016742.2, 15 pages. |
Notice of Final Rejection dated Jul. 30, 2015 (+ English translation), in Korean Patent Application No. 10-2013-7025329, 7 pages. |
Second Office Action dated Aug. 18, 2015 (+ English translation), in Taiwanese Patent Application No. 101104389, 4 pages. |
First Office Action (+ English Translation), Chinese Application No. 201180076442.9 mailed on Mar. 1, 2016, 40 pages. |
Allowance Decision for Taiwanese Application No. 101104389 mailed on Feb. 16, 2016, 2 pages. |
First Office Action and Search Report received (+ English Translation) for Taiwanese Application No. 104137715, mailed on Apr. 7, 2016, 6 pages. |
English Translation of Non-Final Preliminary Rejection mailed Jan. 28, 2016, in Korean Patent Application No. 10-2015-7031435, 9 pages. |
Extended European Search Report completed Jan. 21, 2016, in European Patent Application No. 15 18 7070, 9 pages. |
Notice of Publication mailed on Feb. 17, 2016, European Application No. 15187070.6-1959/2996014, 2 pages. |
Second European Office Action mailed on Jan. 27, 2016, European Application No. 12763926.8, 6 pages. |
Notice of Allowance in U.S. Appl. No. 13/997,975, mailed on Mar. 17, 2016, 6 pages. |
Number | Date | Country | |
---|---|---|---|
20120249218 A1 | Oct 2012 | US |