Temperature control for multiple die types in a common package

CN117083676BActive Publication Date: 2026-08-21CISCO TECHNOLOGY INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202280024020.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-03-23
Filing Date
2022-03-18
Publication Date
2026-08-21
Estimated Expiration
2042-03-18

Smart Images

  • Figure CN117083676B_ABST
    Figure CN117083676B_ABST
Patent Text Reader

Abstract

Techniques for temperature control of multiple dies in a component. A temperature of a first die is measured in a component that includes the first die and a second die. The second die includes at least a portion of a controller. Based on a target temperature of the first die and the measured temperature of the first die, the temperature of the first die is changed by adjusting activity from the second die to the first die.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments presented in this disclosure generally relate to temperature control of integrated circuits. More specifically, the embodiments disclosed herein relate to temperature control of co-packaged dies of integrated circuits. Background Technology

[0002] Modern routing and switching systems face significant cooling challenges. For example, these systems typically use application-specific integrated circuits (ASICs), which generate heat in small areas during operation. Heat sinks, fans, and other technologies can be used to reduce or eliminate this heat.

[0003] ASICs used in modern routing and switching systems, as well as in other applications, may include high-bandwidth memory (HBM). HBMs can be advantageous for, for example, deep packet buffering and very large lookup tables. In some implementations, HBMs may comprise a stack of multiple dies. Furthermore, multiple HBMs may be co-packaged with the ASIC die. Cooling these disparate components can be a significant challenge. Attached Figure Description

[0004] To gain a more detailed understanding of the features described above in this disclosure, the brief summary can be described in more detail by referring to embodiments, some of which are illustrated in the accompanying drawings. However, it should be noted that the accompanying drawings illustrate typical embodiments and should not be considered limiting; other equivalent embodiments are contemplated.

[0005] Figure 1 A cooling co-packaged HBM and ASIC die is shown according to one embodiment.

[0006] Figure 2 This is a block diagram illustrating a cooling controller for cooling co-packaged HBM and ASIC dies according to one embodiment.

[0007] Figure 3 This is a diagram illustrating a cooling co-packaged die according to one embodiment.

[0008] Figure 4 This is a flowchart illustrating the adjustment of HBM activities according to one embodiment for cooling the co-packaged die.

[0009] Figure 5 This is a flowchart illustrating the control of fan speed for cooling a co-packaged die according to one embodiment.

[0010] Figure 6A A simulated HBM cooling control in a hot state is shown according to one embodiment.

[0011] Figure 6BA simulated HBM cooling control in a hot state is further illustrated according to one embodiment.

[0012] Figure 7A A simulated HBM cooling control in a cooled state is shown according to one embodiment.

[0013] Figure 7B A simulated HBM cooling control in a cooled state is further illustrated according to one embodiment.

[0014] For ease of understanding, the same reference numerals are used where possible to denote the same elements common in the figures. It is contemplated that elements disclosed in one embodiment may be advantageously used in other embodiments without specific description. Detailed Implementation

[0015] Overview The aspects of this disclosure are set forth in the independent claims, and preferred features are set forth in the dependent claims. A feature of one aspect may be applied to each aspect alone or in combination with other aspects.

[0016] The embodiment includes a method. The method includes: measuring the temperature of a first die in an element comprising a first die and a second die. The second die includes at least a portion of a controller. The method further includes: changing the temperature of the first die by adjusting activity from the second die to the first die based on a target temperature of the first die and a measured temperature of the first die.

[0017] The embodiment also includes a system. The system includes components including a first die and a second die. The second die includes at least a portion of a controller. The system also includes a memory storing a program that performs operations when executed on a processor. The operations include measuring the temperature of the first die. The operations also include changing the temperature of the first die by adjusting activity from the second die to the first die based on a target temperature of the first die and a measured temperature of the first die.

[0018] The embodiment also includes a method. The method includes: measuring the temperature of the first die in an element comprising a first die and a second die. The second die includes at least a portion of a controller. The method further includes: determining an activity level from the second die to the first die. The method further includes: controlling a cooling element of the first die based on the measured temperature of the first die and the activity level from the second die to the first die.

[0019] Example Implementation As described above, routing or switching components (or other integrated circuit (IC) components) can include two types of dies in a common package: one or more ASICs and one or more HBM stacks. In embodiments, the ASIC and HBM stacks may thermally cross-contaminate each other. For example, the ASIC die is typically larger and consumes more power than the HBM. When the ASIC die gets hot, it also causes the HBM stack to get hot, even if the HBM stack itself does not consume much power (e.g., when the HBM stack is not very active). When the HBM consumes power, the HBM in turn heats the ASIC die to a minimum. In embodiments, the power consumption ratio is approximately 10:1, that is, the ASIC die consumes approximately 10 times the power of the HBM stack.

[0020] Furthermore, in embodiments, the ASIC die and the HBM stack can have different maximum (i.e., high) operating temperatures. For example, the ASIC die can have a short-term maximum temperature of 125°C and be able to operate for a limited time at long-term temperature limits (e.g., above 105°C or 110°C). On the other hand, the HBM can have a short-term maximum temperature of 105°C and a long-term limit of 95°C. Additionally, because of the thermal resistance of the HBM stack itself (e.g., before reaching the thermal interface material (TIM1) and eventually the heat sink), the thermal resistance of heat dissipation through the HBM stack (e.g., a 5 or 9 die high stack) is generally higher than the thermal resistance of heat dissipation through the ASIC. In embodiments, the HBM stack can include a logic die with multiple additional dies (e.g., a logic die with four additional dies or a logic die with eight additional dies) stacked on top of the logic die.

[0021] These challenges make cooling of common packages (e.g., in routing or switching components or other suitable components) difficult to manage. For example, one or more fans may be used for cooling, but under different usage (e.g., flow) conditions, it is difficult to manage the speed of the fan(s) to provide adequate cooling for the ASIC die and HBM stack while also reducing the system's power footprint (which typically means reducing fan speed).

[0022] In one embodiment, one solution is to run the fan fast enough to ensure that the main die and HBM die stack are always adequately cooled, even under worst-case operating conditions (e.g., worst-case flow conditions). However, this is very pessimistic and wastes a significant amount of power. For example, in a large chassis, increasing the fan speed by 20% can consume up to 2500W of power. This is a significant drawback because the fan speed will be much higher than required for typical or light-duty use cases. Another solution in an embodiment for dealing with overheating of the HBM is to completely disable access to the HBM. However, this would have a significant impact on the user.

[0023] In embodiments, one or more techniques disclosed herein relate to advanced temperature control that takes into account, for example, the device's history and the temperatures at which the device operates (ambient temperature and current operating node temperature). This can be used to improve fan control to ensure that the ASIC and HBM die are adequately cooled and to reduce power consumption.

[0024] In this embodiment, the management of the ASIC die and HBM die stack temperature can be divided into several techniques. First, the temperature of the HBM stack can be allowed to rise above the long-term temperature limit of the HBM die stack for a portion of its expected lifetime, if applicable. This can be accomplished, for example, using a windowing algorithm, while still maintaining device integrity. This will be referenced below. Figure 3 Further discussion.

[0025] Second, the shader algorithm can be used to ensure that HBM activity is limited sufficiently to prevent exceeding the target temperature (e.g., short-term maximum or long-term temperature limit) under current operating conditions. This will be referenced below. Figure 4 Further discussion. Third, the current speed of one or more fans can be continuously analyzed to ensure that the HBM has sufficient temperature margin for continued operation. Fan speeds can be increased or decreased as appropriate. This will be referenced below. Figure 5 Further discussion.

[0026] Figure 1 A cooling co-packaged HBM and ASIC die is illustrated according to one embodiment. System 100 includes multiple components, including a co-packaged die 110. In this embodiment, system 100 is a routing or switching system (e.g., an electronic communication network). This is merely an example, and system 100 can be any suitable electronic system (e.g., a silicon photonics electronic system) including any suitable components.

[0027] As shown in top view 102, the co-package die 110 includes an ASIC die 112 and two HBM stacks 114A and 114B. Side view 104 also shows the same ASIC die 112 and HBM stack 114A. Side view 104 also shows an interposer 116 and a package substrate 118. The interposer 116 is merely an example packaging technology, and any suitable technology can be used (e.g., integrated fan-out, CoWoS, or any other suitable technology).

[0028] As described above, in this embodiment, the ASIC die 112 is an ASIC for a routing or switching system, or any suitable system. The co-package die 110 may include any suitable number of HBM stacks 114A to 114N. The two HBM stacks 114A and 114B shown are merely examples. Furthermore, each HBM stack in the HBM stacks 114A to 114N may include multiple individual dies (e.g., 5 dies or 9 dies). This is merely an example; any suitable number of individual dies can be used.

[0029] System 100 also includes a cooling controller 120 and a cooling element 130. In an embodiment, the cooling element 130 is a system fan for cooling the co-package die 110. Although the cooling element 130 is shown as a single fan, any suitable number of fans can be used. Furthermore, the fan is merely one example of a cooling element that can be used to cool the co-package die 110. As discussed herein, any suitable cooling element can be used, including liquid cooling elements. In an embodiment, the cooling controller 120 is used to control the cooling element 130 to cool the co-package die 110. For example, the cooling controller 120 can control the cooling properties of the cooling element 130 (e.g., fan speed) based on temperature readings from the co-package die 110. This will be discussed further with reference to the following figures.

[0030] Figure 2 This is a block diagram illustrating a cooling controller 200 for cooling a co-packaged HBM and ASIC die according to one embodiment. In this embodiment, the cooling controller 200 corresponds to... Figure 1 The cooling controller 120 is shown. The cooling controller 200 includes a processor 202 and a memory 210. The processor 202 generally retrieves and executes programming instructions stored in the memory 210. The processor 202 represents a single central processing unit (CPU), multiple CPUs, a single CPU with multiple processing cores, a graphics processing unit (GPU) with multiple execution paths, etc.

[0031] Although memory 210 is shown as a single entity, it may include one or more memory devices having memory blocks associated with physical addresses, such as random access memory (RAM), read-only memory (ROM), flash memory, or other types of volatile and / or non-volatile memory. Memory 210 generally includes program code for performing various functions related to the use of cooling controller 200. While alternative implementations may have different functions and / or combinations of functions, the program code is generally described as various functional "applications" or "modules" within memory 210. Within memory 210, cooling service 212 manages the co-packaged die (e.g., Figure 1Cooling of the co-packaged die 110 shown or any other suitable IC or electronic component.

[0032] Figure 3 This is illustration 300 showing a cooling co-packaged die according to one embodiment. In this embodiment, Figure 3 Corresponding to the window algorithm used in the first technology mentioned above: allowing the temperature of the HBM die stack to rise above the long-term temperature limit of the HBM die stack for a portion of its expected lifetime, while still maintaining the integrity of the device.

[0033] As shown in the figure, the control logic of HBM (e.g., Figure 2 The cooling service 212 shown includes two states: hot state 310 and cool state 350. As described above, in this embodiment, the HBM may have a target maximum short-term temperature limit and a target long-term temperature limit (e.g., 95°C). The HBM may not exceed the target maximum short-term temperature limit (e.g., 105°C), and the HBM is allowed to exceed the target long-term temperature limit for only a small portion of the HBM's operating life. For example, the HBM may be allowed to operate above its target long-term temperature limit (e.g., above 95°C) for up to 5% of its operating life. This is merely an example, and other values ​​may be applied.

[0034] In an embodiment, Figure 3 The illustrated technique allows the HBM to exceed its target long-term temperature limit for a duration. During the hot state 310, the HBM is allowed to exceed its target long-term temperature limit (e.g., 95°C), and during the cooling state 350, the temperature of the HBM is regulated to remain at or below the target long-term temperature limit (e.g., using cooling and shaping).

[0035] Assume HBM's control logic begins at thermal state 310. Cooling service (e.g., Figure 2 The cooling service 212 shown maintains a window duration for which the duration is used to track the proportion of HBM operating beyond its target long-term temperature limit. For example, as described above, the HBM may be allowed to exceed its target long-term temperature limit for up to 5% of its service life. The cooling service may maintain a 20-day window and ensure that the HBM exceeds its target long-term temperature limit by no more than one day (i.e., no more than 5% of the window) within a given 20-day window. Furthermore, when in thermal condition 310, the cooling service always maintains the HBM at a temperature below the maximum permissible short-term temperature limit (e.g., below 105°C). These are merely examples, and other suitable values ​​may be used.

[0036] At box 312, the cooling service tracks how long the temperature target has been exceeded. As mentioned above, in this example, HBM is allowed to exceed the temperature target for up to one day within a given 20-day window. The cooling service uses the time tracked at box 312 to determine whether to remain in the hot state or transition to the cooling state. For example, at box 316, the cooling service determines that HBM has been in the hot state and has exceeded the temperature target for the target duration, and transitions to cooling state 350. The cooling service uses the example value to determine that HBM has exceeded 95°C for one day (i.e., 1440 minutes), and then transitions to cooling state 350.

[0037] Alternatively, the window (e.g., a 20-day window) may expire if the HBM remains above its target long-term temperature limit for no more than the allocated time (e.g., less than one day above 95°C). At box 318, the cooling service determines that the window (e.g., the 20-day window) has expired, and at box 314, the cooling service determines that the HBM has not exceeded its target long-term temperature limit within the target duration (e.g., less than one day the HBM has exceeded 95°C). The cooling service then resets the window (e.g., resets the 20-day window), and the control logic remains in thermal state 310.

[0038] In an embodiment, when in cooling state 350, the HBM temperature is maintained at or below a target long-term temperature limit (e.g., maintained at or below 95°C). At block 352, the cooling service maintains the HBM temperature at or below the target long-term temperature limit. Furthermore, in an embodiment, the cooling service may maintain the HBM temperature at a target average temperature, which is at or below the target long-term temperature limit (e.g., 95°C). That is, in one embodiment, the cooling service may maintain the HBM at a target average temperature. Alternatively or additionally, the cooling service may maintain the HBM at any temperature at or below the target long-term temperature limit (e.g., any temperature at or below 95°C).

[0039] In one embodiment, the cooling service uses a combination of increased cooling (e.g., increasing fan speed) and activity regulation (e.g., diverting less activity from the ASIC to the HBM) to maintain the HBM temperature at or below the target long-term temperature limit. Alternatively, the cooling service uses one of these methods instead of both (e.g., using either increased cooling or activity regulation instead of both).

[0040] At box 354, the cooling service maintains HBM in cooling state 350 for the remaining window duration (e.g., the remaining duration of the current 20-day window). For example, if HBM is maintained in hot state 310 for 10 days before transitioning to cooling state, the cooling service maintains HBM in cooling state 350 for the remaining 10 days. After the current window expires, at box 356, the cooling service transitions HBM back to hot state 310.

[0041] Furthermore, in this embodiment, at block 354, the cooling service can determine to maintain the HBM in cooling state 350 for a longer duration than the remaining window. For example, if the HBM temperature in cooling state 350 still exceeds the target temperature despite efforts to reduce the temperature, the cooling service can determine to extend the window and maintain the HBM in cooling state 350 for a longer period. This ensures that the HBM remains at the desired temperature for the desired portion of its lifespan.

[0042] Furthermore, in embodiments, the cooling service may take into account data across windows. For example, the cooling service may determine that the HBM operates above the target long-term temperature limit for a longer period than a preferred duration within a given window (e.g., as part of an error), and may extend the time in cooling state 350 in the next window to compensate for this.

[0043] Examples can be instructive. Assume HBM has a long-term temperature limit of 95°C, and that HBM is required to remain at or below this long-term temperature limit for 95% of its lifespan. Cooling services could be configured with a 20-day window and a target duration of 1 day for thermal states above the long-term temperature limit (i.e., allowing a maximum of 5% of the time above the long-term temperature limit).

[0044] The HBM enters thermal state 310. Ten days have passed. At box 316, the cooling service determines that the HBM (e.g., within a consecutive 10-day period) has been above 95°C for at least one day. The cooling service transitions to cooling state 350. At box 352, the cooling service uses cooling and active conditioning to lower the HBM temperature and maintain it at or below 95°C. At box 354, the cooling service maintains the HBM temperature for the remaining 10 days of the window.

[0045] After 10 days, the cooling service determined that despite cooling and activity conditioning, the HBM was still not maintaining a temperature at or below 95°C. The cooling service extended the window (e.g., to a total of more than 20 days) and maintained the HBM in a cooled state 350 for the time required to ensure that the HBM remained at or below the target temperature of 95°C for 95% of its lifespan. At box 356, the HBM transitioned to a reheated state 310.

[0046] Figure 4This is a flowchart 400 illustrating the adjustment of HBM activity for cooling a co-packaged die according to one embodiment. In the embodiment, Figure 4 Corresponding to the second technique described above: a regulator algorithm is used to ensure that activity to the HBM is limited sufficiently to prevent exceeding the target temperature under current operating conditions. In an embodiment, because the HBM temperature can rise rapidly, the algorithm can run at a high frequency (e.g., every 5 to 10 seconds).

[0047] At box 402, cooling service (e.g., Figure 2 The cooling service 212 (shown) determines the current HBM temperature (e.g., the current operating node temperature). At box 404, the cooling service determines the current HBM usage (e.g., the current bandwidth allocated to the HBM by the ASIC). At box 406, the cooling service sets a regulator for activity to the HBM to limit HBM usage and prevent exceeding temperature limits.

[0048] In an embodiment, the cooling service can be configured to set the regulator using the following equation: ACTIVITY_SET_POINT = (HBM_MAX_TEMP - HBM_CURRENT_TEMP) * SLOPE_ACTIVITY_vs_TEMP + CURRENT_HBM_ACTIVITY. In this equation, ACTIVITY_SET_POINT represents the setpoint for the flow regulator against HBM activity (e.g., HBM bandwidth allocation). HBM_MAX_TEMP represents the highest short-term temperature limit of the HBM (e.g., as referenced above). Figure 3 The discussed 105°C). In embodiments, HBM_LONG_TERM_LIMIT (e.g., 95°C) can be used instead of HBM_MAX_TEMP (e.g., as referenced above). Figure 3 (The 105℃ discussed).

[0049] HBM_CURRENT_TEMP represents (e.g., determined at box 402) the current HBM temperature. SLOPE_ACTIVITY_vs_TEMP represents the slope of the equation relating HBM flow rate (e.g., bandwidth allocation) to HBM temperature. In embodiments, this is used to infer how flow rate changes affect the temperature of the HBM die. CURRENT_HBM_ACTIVITY represents how much of the available bandwidth of the HBM is currently being used (e.g., what percentage of the HBM bandwidth is being used).

[0050] For example, suppose HBM_MAX_TEMP is 105, HBM_CURRENT_TEMP is 93, SLOPE_ACTIVITY_vs_TEMP is 5, and CURRENT_HBM_ACTIVITY is 15. ACTIVITY_SET_POINT = (105-93) * 5 + 15 = 75. The cooling service can set the activity regulator to allocate up to 75% of the available bandwidth of HBM. Similarly, if HBM_LONG_TERM_LIMIT (95) is used instead of HBM_MAXIMUM_TEMP, then ACTIVITY_SET_POINT = (95-93) * 5 + 15 = 25. The cooling service can set the activity regulator to allocate up to 25% of the available bandwidth of HBM. In an embodiment, a proportional-integral-derivative (PID) controller can be used to smoothly change the bandwidth allocated to HBM.

[0051] Figure 5 This is a flowchart 500 illustrating the control of fan speed for cooling a co-packaged die according to one embodiment. In the embodiment, Figure 5 Corresponding to the third technique mentioned above: controlling fan speed to ensure the HBM has sufficient temperature margin so that it can continue to be used. In the embodiment, this algorithm does not run... Figure 4 The regulator algorithm shown is so frequent (e.g., once per minute) to avoid changing the fan speed too often. For example, a fan may have ramp-up times to change its operating speed, so changing the speed too frequently is undesirable. As mentioned above, the fan is just one example of a cooling element, and any suitable cooling element (e.g., liquid cooling) can be used.

[0052] At box 502, cooling service (e.g., Figure 2 The cooling service 212 (shown) determines the current HBM temperature. At box 504, the cooling service determines the available HBM activity margin (e.g., the amount of available bandwidth besides the bandwidth currently being used by the HBM). At box 506, the cooling service determines whether the HBM has available activity margin. If the HBM does not have available activity margin, the process proceeds to box 508, and the cooling service increases the fan speed (e.g., to increase cooling to the HBM and allow for more activity allocation). If the HBM has available activity margin, the process proceeds to box 510, and the cooling service decreases the fan speed (e.g., to avoid wasting power at excessively high fan speeds, since the HBM is operating with available activity margin).

[0053] In an embodiment, Figure 5The illustrated technique allows for a balance between power consumption and performance. In an embodiment, the cooling service can use the following equation to determine the fan speed setpoint: FAN_SET_POINT = HBM_MAX_TEMP - (HBM_BUFFER * HBM_TEMP_CONST). In this equation, FAN_SET_POINT represents the target temperature of the HBM after it has been cooled by the fan. In an embodiment, a PID controller can be used to smoothly adjust the fan speed until the HBM reaches the target temperature.

[0054] HBM_MAX_TEMP represents the highest short-term temperature limit of HBM (e.g., as referenced above). Figure 3 The discussed 105°C). In embodiments, HBM_LONG_TERM_LIMIT (e.g., 95°C) can be used instead of HBM_MAX_TEMP (e.g., 105°C), as referenced above. Figure 3 The subject of discussion.

[0055] HBM_BUFFER is a constant set for the activity buffer to determine how much HBM activity (e.g., bandwidth) can be left for bursts. For example, HBM_BUFFER could be set to 50%. This would mean the fan should be set to allow at least 50% more HBM activity than currently being used to access the HBM memory. In embodiments, setting HBM_BUFFER high may impact power usage, while setting it low may impact device performance (e.g., causing packet loss if HBM is used in a network switch or router). HBM_TEMP_CONST is a constant set for temperature swings. For example, HBM_TEMP_CONST could be a predetermined measurement related to the temperature swing required to achieve full fan operation (e.g., test-based).

[0056] For example, suppose HBM_MAX_TEMP is 105, HBM_LONG_TERM_LIMIT is 95, HBM_BUFFER is 0.5 (e.g., 50%), and HBM_TEMP_CONST is 25. FAN_SET_POINT = 105 - (0.5 * 25) = 92.5. In an embodiment, (e.g., using a PID controller as described above) the fan speed is modified to change the HBM temperature to 92.5°C. In an embodiment, HBM_LONG_TERM_LIMIT (e.g., 95°C) can be used instead of HBM_MAXIMUM_TEMP (e.g., 105°C). Furthermore, in an embodiment, the cooling service can take into account how much HBM activity is currently allocated (e.g., to ensure that the fans are not running at high speed to avoid waste). For example, if 80% of the HBM bandwidth is currently being used, there is no need for a buffer that allows an additional 50% bandwidth, and the amount of fan speed can be capped.

[0057] Figures 6A to 6B A simulated HBM cooling control in a hot state is illustrated according to one embodiment. In the embodiment, Figures 6A to 6B This refers to the example network router or switch described above (which has a co-package die including ASIC dies and HBM die stacks, e.g., ...). Figure 1 (As shown) (Reference) Figures 3 to 5 The simulation of the technology being discussed. Figures 6A to 6B Three graphs, 600A, 600B, and 600C, are shown that are parallel in time and represent different measurements. The top graph 600A shows line 602 representing ambient temperature and line 604 representing fan speed. The middle graph 600B shows line 612 representing ASIC temperature, line 614 representing the ASIC flow regulator, line 616 representing the ASIC flow rate, and line 618 representing the ASIC's cold state. The bottom graph 600C shows line 622 representing HBM temperature, line 624 representing the HBM flow regulator, line 626 representing the HBM flow demand, and line 628 representing the HBM's cold state (e.g., as referenced above). Figure 3 The discussion concerns whether HBM operates in a cooled or hot state. Figures 6A to 6B In the middle, the HBM cooling control is in a hot state, so line 628 is set to low.

[0058] At 652, the HBM flow demand decreases (e.g., as shown by line 626 in graph 600C). In an embodiment, this may cause the fan speed to decrease immediately to save power based on the lower HBM flow demand. However, at 654, in an embodiment, the fan speed decrease is delayed due to hysteresis. In an embodiment, the fan speed decrease is delayed for a set period of time (e.g., 5 minutes). At 656, the fan speed is slowed in response to the decrease in flow and the decrease in temperature shown by line 622. In an embodiment, this can be seen from the above reference. Figure 5 The equations discussed are used for control. Furthermore, in this embodiment, the fan is slowed down to save power.

[0059] At 658, the HBM regulator reaches a steady state. For example, the short-term maximum temperature limit of the HBM shown is 105°C, the slope of the flow rate relative to temperature shown is 7, and the current HBM flow rate shown is 8. The HBM regulator reaches 85% of its steady state to maintain the HBM at a temperature of approximately 94°C. This can be referenced above. Figure 4 The equation described is: (HBM_MAX_TEMP - HBM_CURRENT_TEMP) * SLOPE_TRAFFIC_vs_TEMP + CURRENT_HBM_TRAFFIC = TRAFFIC_SET_POINT. Using the example value: (105-94) * 7 + 8 = 85.

[0060] At 660, the ASIC die flow rate is increased (e.g., increased to 100% of capacity). This is shown by line 616. At 662, the HBM flow regulator (shown by line 624) responds by reducing the flow rate allocated to the HBM to prevent overheating of the HBM. At 664, (e.g., as a result of the increased ASIC die flow rate at 660), the fan speed begins to increase. At 668, the fan speed continues to increase to allow the HBM to accommodate additional future flow allocations.

[0061] At 670, the HBM regulator is in a steady state. For example, the HBM regulator shown is at approximately 71% of its steady state. Using the equation discussed above: (105-96)*7+8=71%. This steady state is lower than the steady state at 658 because, for example, running the fan at 100% keeps the HBM temperature at 96°C (above the long-term temperature limit of 95°C), so the HBM flow regulator compensates by allocating less flow to the HBM.

[0062] Figures 7A to 7B A simulated HBM cooling control in a cooled state is illustrated according to one embodiment. In the embodiment, with Figures 6A to 6B similar, Figures 7A to 7BThis refers to the example network router or switch described above (which has a co-packaged die including ASIC dies and HBM die stacks, for example, such as...). Figure 1 (As shown) (Reference) Figures 3 to 5 The simulation of the technology being discussed. Figures 7A to 7B Indicates as Figure 3 The cooling status of the HBM cooling control is shown.

[0063] Figures 7A to 7B Three graphs, 700A, 700B, and 700C, are shown that are parallel in time and represent different measurements. The top graph 700A shows line 702 representing ambient temperature and line 704 representing fan speed. The middle graph 700B shows line 712 representing ASIC temperature, line 714 representing the ASIC flow regulator, line 716 representing the ASIC flow rate, and line 718 representing the ASIC's cold state. The bottom graph 700C shows line 722 representing HBM temperature, line 724 representing the HBM flow regulator, line 726 representing the HBM flow demand, and line 728 representing the HBM's cold state (e.g., as referenced above). Figure 3 The discussion concerns whether the HBM operates in a cooled or hot state. Figures 7A to 7B In the middle, HBM cooling control is in cooling mode, so line 728 is set to high.

[0064] At 752, the HBM flow demand is stable (e.g., at approximately 58%). At 754, the HBM flow regulator is also in a stable state. For example, the long-term temperature limit of the HBM shown is 95°C, the slope of the flow rate relative to temperature shown is 7, and the current HBM flow rate shown is 58%. The HBM regulator reaches 86% of its steady state to maintain the HBM at a temperature of approximately 94°C. This can be referenced above. Figure 4 The equation described is: (HBM_LONG_TERM_LIMIT - HBM_CURRENT_TEMP) * SLOPE_TRAFFIC_vs_TEMP + CURRENT_HBM_TRAFFIC = TRAFFIC_SET_POINT. Using the example value: (95-91)*7 + 58 = 86.

[0065] At point 756, the HBM flow demand decreases (e.g., decreases to approximately 19%). In this embodiment, this may cause the fan speed to decrease immediately to save power based on the lower HBM flow demand. However, at point 758, in this embodiment, the fan speed decrease is delayed. In this embodiment, the fan speed decrease is delayed for a set period of time (e.g., 5 minutes).

[0066] At 760, the HBM regulator responds to the reduced HBM flow demand. At 762, the fan speed is finally slowed down. In this embodiment, this can be referred to above. Figure 5 The equations discussed above are used for control. Furthermore, in this embodiment, the fan is slowed down to save power. At 764, the HBM regulator reaches a steady state again. Using the equations discussed above: (95-88)*7+19=68%. Therefore, the HBM flow regulator is used to allocate 68% of the flow to the HBM.

[0067] As discussed above, refer to Figure 3 The techniques illustrated in Figure 7 can be used with co-packaged dies having two die types (e.g., ASIC and HBM die stacks). This is merely an example, and these techniques can also be applied to co-packaged dies having more than two die types. In such scenarios, for example, different window types can be used for different die types (e.g., modified...). Figure 3 In addition, see reference Figure 4 The disclosed regulator technology and reference Figure 5 The disclosed fan control technology can be applied to more than two die types. Furthermore, the disclosure of ASIC and HBM die stacking in communication network routers or switches is merely one example. These technologies can be used with any suitable co-packaged die (including silicon photonics applications (e.g., co-packaged lasers with another die)) or any other suitable application.

[0068] In summary, this disclosure discusses a technique for temperature control of multiple dies in an element. The temperature of the first die is measured in the element, which includes a first die and a second die. The second die includes at least a portion of a controller. Based on a target temperature of the first die and the measured temperature of the first die, the temperature of the first die is changed by adjusting the activity from the second die to the first die.

[0069] Various embodiments have been referenced in this disclosure. However, the scope of this disclosure is not limited to the specific embodiments described. Rather, any combination of the described features and elements is considered for implementing and practicing the considered embodiments, regardless of whether different embodiments are involved. Furthermore, when elements of an embodiment are described in the form of "at least one of A and B," it should be understood that embodiments including only element A, only element B, and including both elements A and B are all considered. Moreover, while the embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, whether a particular advantage is achieved by a given embodiment does not limit the scope of this disclosure. Therefore, the aspects, features, embodiments, and advantages disclosed herein are merely illustrative and should not be considered elements or limitations of the appended claims unless expressly recited in the claims. Similarly, references to "the invention" should not be construed as a generalization of any inventive subject matter disclosed herein and should not be considered elements or limitations of the appended claims unless expressly recited in the claims.

[0070] As will be apparent to those skilled in the art, the embodiments disclosed herein can be embodied as systems, methods, or computer program products. Therefore, the embodiments may take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software and hardware aspects, all of which are generally referred to herein as “circuit,” “module,” or “system.” Furthermore, the embodiments may take the form of computer program products embodied in one or more computer-readable media having computer-readable program code embodied thereon.

[0071] Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, fiber optic cable, RF, or any suitable combination of the foregoing.

[0072] Computer program code used to perform the operations of the various embodiments of this disclosure can be written in any combination of one or more programming languages, including object-oriented programming languages ​​(e.g., Java, Smalltalk, C++, etc.) and conventional procedural programming languages ​​(e.g., the "C" programming language or similar programming languages). This program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or can connect to an external computer (e.g., via the Internet through an Internet service provider).

[0073] Aspects of this disclosure have been described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments presented in this disclosure. It should be understood that each block in the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in the blocks of the flowchart illustrations and / or block diagrams.

[0074] These computer program instructions may also be stored in a computer-readable medium that can direct a computer, other programmable data processing apparatus or other device to operate in a particular manner such that the instructions stored in the computer-readable medium produce an article of manufacture, including instructions that implement the functions / actions specified in the boxes of flowcharts and / or block diagrams.

[0075] Computer program instructions may also be loaded onto a computer, other programmable data processing apparatus or other equipment to cause a series of operational steps to be performed on the computer, other programmable apparatus or other equipment to produce a computer-implemented process. Thus, the instructions that execute on the computer, other programmable data processing apparatus or other equipment provide a process for implementing the function / action specified in the boxes of the flowchart and / or block diagram.

[0076] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In this regard, each box in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing one or more specific logical functions. It should also be noted that in some alternative implementations, the functions mentioned in the boxes may appear in a different order than that shown in the drawings. For example, depending on the functions involved, two boxes shown consecutively may actually be executed substantially simultaneously, or the boxes may sometimes be executed in reverse order. It should also be noted that each box in the block diagrams and / or flowcharts, and combinations of boxes in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs a specific function or action, or by a combination of dedicated hardware and computer instructions.

[0077] In view of the foregoing, the scope of this disclosure is defined by the appended claims.

Claims

1. A method for use in an integrated circuit, comprising: The temperature of the first die is measured in an element comprising a first die and a second die, wherein the second die comprises at least a portion of a controller; The target temperature of the first die is determined based on the duration during which the first die has exceeded the first temperature limit, including at least one of the following: Determining that the first die has exceeded the first temperature limit for a period of time longer than a certain duration, and in response reducing the target temperature, or The time during which the first die does not exceed the first temperature limit is longer than the specified duration, and in response, the target temperature is increased; and Based on the target temperature of the first die and the measured temperature of the first die, the temperature of the first die is changed by adjusting the activity from the second die to the first die.

2. The method according to claim 1, wherein, The component includes a co-packaged die, the first die including a memory, the memory including a plurality of stacked memory dies, the controller including an integrated circuit IC including one or more dies, and the adjustment activity including adjusting the activity from the IC to the memory.

3. The method according to claim 2, wherein, The element relates to at least one of a communication network router or switch, and wherein the memory includes high-bandwidth memory (HBM).

4. The method according to claim 2 or 3, wherein, Adjusting the activity to the first die is also based on the slope of an equation relating the activity of the memory to the temperature of the memory.

5. The method according to claim 4, wherein, The activity is adjusted to the first die based on the amount of activity at the memory.

6. The method according to any one of claims 1 to 3, further comprising: The cooling element of the first die is controlled based on the measured temperature of the first die and the level of activity from the second die to the first die.

7. The method according to claim 6, wherein, The cooling element includes at least one of the following: (i) a fan or (ii) a liquid cooling element, and wherein the cooling element controlling the first die includes: Based on the activity level, preparation is made for increasing the cooling from the cooling element to raise the activity level from the second die to the first die.

8. The method according to claim 1, further comprising: The cooling element of the first die is controlled based on the target temperature.

9. The method according to claim 1, wherein, Determining the target temperature based on the duration for which the first die has exceeded the first temperature limit includes: determining that the time since the first die exceeded the first temperature limit is longer than a certain duration, and in response, reducing the target temperature; the method further includes: Transitioning the control logic of the component from a first state to a second state includes: Lowering the target temperature, wherein the activity is adjusted so that the first die is configured to maintain the first die at or below the lowered target temperature.

10. The method according to claim 1, wherein, Determining the target temperature based on the duration during which the first die has exceeded the first temperature limit includes: determining that the duration during which the first die has not exceeded the first temperature limit is longer than the duration, and in response, increasing the target temperature; the method further includes: Transitioning the control logic of the component from a first state to a second state includes: Increase the target temperature, wherein the activity is adjusted so that the first die is configured to maintain the first die at or below the increased target temperature.

11. The method according to claim 1, wherein, The duration is related to a portion of the operating life, during which the first die is recommended to operate above the first temperature limit.

12. A system for an integrated circuit, comprising: An element comprising a first die and a second die, wherein the second die includes at least a portion of a controller; and A memory storing a program that performs operations when executed on a processor, the operations including: Measure the temperature of the first die; The target temperature of the first die is determined based on the duration during which the first die has exceeded the first temperature limit, including at least one of the following: Determining that the first die has exceeded the first temperature limit for a period of time longer than a certain duration, and in response reducing the target temperature, or The time during which the first die does not exceed the first temperature limit is longer than the specified duration, and in response, the target temperature is increased; and Based on the target temperature of the first die and the measured temperature of the first die, the temperature of the first die is changed by adjusting the activity from the second die to the first die.

13. The system according to claim 12, wherein, The component includes a co-packaged die, the first die including a memory, the memory including a plurality of stacked memory dies, the controller including an integrated circuit IC including one or more dies, and the adjustment activity including adjusting the activity from the IC to the memory.

14. A method for using an integrated circuit, comprising: The temperature of the first die is measured in an element comprising a first die and a second die, wherein the second die comprises at least a portion of a controller; The target temperature of the first die is determined based on the duration during which the first die has exceeded the first temperature limit, including at least one of the following: Determining that the first die has exceeded the first temperature limit for a period of time longer than a certain duration, and in response, reducing the target temperature, or If the time during which the first die does not exceed the first temperature limit is longer than the specified duration, and in response, the target temperature is increased; Determine the activity level from the second die to the first die; and The cooling element of the first die is controlled based on the measured temperature of the first die, the target temperature of the first die, and the activity level from the second die to the first die.

15. The method according to claim 14, wherein, The cooling element controlling the first die includes: Based on the activity level, preparations are made for an increase in the activity level from the second die to the first die by increasing cooling from the cooling element.

16. The method according to claim 14 or 15, further comprising: Based on the target temperature of the first die and the measured temperature of the first die, the temperature of the first die is changed by adjusting the activity from the second die to the first die.

17. An apparatus for an integrated circuit, comprising a first die and a second die, the apparatus comprising: A device for measuring the temperature of the first die; An apparatus for determining a target temperature for the first die based on the duration for which the first die has exceeded a first temperature limit, comprising at least one of the following: A means for determining that the first die has exceeded the first temperature limit for a period of time longer than a certain duration and, in response, reducing the target temperature; or A means for determining that the time during which the first die has not exceeded the first temperature limit is longer than the duration and, in response, increasing the target temperature; as well as A means for changing the temperature of the first die by adjusting the activity from the second die to the first die, based on the target temperature of the first die and the measured temperature of the first die.

18. The apparatus of claim 17, further comprising means for implementing the method of any one of claims 2 to 11.

19. An apparatus for use with an integrated circuit, comprising: An apparatus for measuring the temperature of a first die in an element comprising a first die and a second die, wherein the second die includes at least a portion of a controller; An apparatus for determining a target temperature for the first die based on the duration for which the first die has exceeded a first temperature limit, comprising at least one of the following: A means for determining that the first die has exceeded the first temperature limit for a period of time longer than a certain duration and, in response, reducing the target temperature; or A means for determining that the time during which the first die has not exceeded the first temperature limit is longer than the duration and, in response, increasing the target temperature; A means for determining the level of activity from the second die to the first die; A means for controlling the cooling element of the first die based on the measured temperature of the first die, the target temperature of the first die, and the activity level from the second die to the first die.

20. The apparatus of claim 19, further comprising a module for implementing the method of claim 15 or 16.

21. A computer program product comprising instructions that, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1 to 11 or 14 to 16.

22. A computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1 to 11 or 14 to 16.

Citation Information

Patent Citations

  • Power management via DIMM read operation limiter

    US20060179333A1

  • Systems and methods for memory system management based on thermal information of a memory system

    US20140281311A1

  • System and method for thermoelectric memory temperature control

    US20170038805A1

  • Techniques For Fluid Cooling Of Integrated Circuits In Packages

    US20180211900A1

  • Handling thermal shutdown for memory devices

    US20180349046A1