-
Stock Thermal Solution
12/26/2018 at 10:32 • 0 commentsThe following dimensions will be on the cold plate only, and not including the solderd-on heat pipes. The bottom side of the cold plate is recessed - maybe due to shielding - but anyhow, if you assume the corners are not radiused, this cavity is 1.25" by 1.8", or 31.5 mm by 100 mm. The depth of the cavity is 0.03655" or ~0.9284 mm. The external thickness of the cold plate is 0.11585" or 2.9426 mm, including paint.---------- more ----------Here by thy mini
Upon opening up the mini, I was greeted by the heatsink and, despite knowing that it was not performing up to snuff, it was obviously designed and went through a couple of iterations.
The heatsink has about 10 mm of room to be maneuvered out of it's mounting path thanks to the RAM slots. The chamfer is to aid with the removal and installation. Also, due to this low profile, there is a large chunk of metal milled out of the center to accommodate the heat pipes.
The stock TIM is applied evenly and fairly well, but reputedly it has a low conductivity. One thing that I did not were the complimentary RF gaskets around the CPU, both on the heatsink and the PCB. The unpainted copper on the heat pipes mate with conductive foam on the ground plane. 2 of the 4 screws that how the finned portion of the heat sink to the PCB have the same contacts. The heat sink's cold plate retention leaf springs mount against solid hunks of metal that allow for a wear surface and pre-load for the springs, which are also grounded. The large holes for the 2 T-10 screws that hold the PCB/motherboard/logic board against the Unibody chassis have inserts in them and are also on the ground plane.
This computer has more ground contact points than my 300 MHz oscilloscope. It does make a bit of sense with 2-3 GB/s solid state storage, 2.667 GHz memory inside an RF cage, and a 4.3 GHz CPU. Despite the frequencies, this whole thing is grounded and shielded as much as possible.
But I've digressed...
Heat and thermal cycling have left microscopic surface defects in the CPU die, pictured above. They are visible only due to the similarly microscopic beads of water from my warm breath. This rough patch indicates the closest surface of the die to the heat sink. This theory was confirmed when I re-pasted with PK-3 TIM and started running the thermal load again only to have 3 of my 6 cores 8-10 ˚C cooler than the others. Looking at the PK-3 paste on the cold plate and the die confirmed this.
I flipped the heat sink image so visual comparison would be easier.
Judging from the placement of the memory, the die's orientation can be inferred. It is confirmed from the aforementioned inter-core temperature deltas, thus if you overlaid the image in the previous link onto the die shot of the last image, you can identify the location of the specific, um, zones?, of from Intel's false-color imagery. This matters when lapping the heat sink's cold plate. More on this later.
Stock Heat Sink Cold Plate
The following dimensions will be on the cold plate only, and not including the solderd on heat pipes. The bottom side of the cold plate is recessed. Maybe due to shielding, but anyhow, if you assume the corners are not radiused, this cavity is 1.25" by 1.8", or 31.5 mm by 100 mm. The depth of the cavity is 0.03655" or ~0.9284 mm. The external thickness of the cold plate is 0.11585" or 2.9426 mm including paint.
Now, recall how I mentioned, and you can see in the first photos, that the heat pipes sit in a recessed section of the cold plate? I don't have a blade anvil attachment for my micrometer so I cannot measure the thickness of the aluminum and copper in that area. Around it, however, I measured 0.08" or 2.032 mm for the Al, and 0.08045" or 2.0434 mm for the Cu, which means that area is definitely a lot thinner. Remember this.
-
TDP, Cooling, & Thermals
12/26/2018 at 05:57 • 0 commentsTDP, Thermal Design Power
Very recently, the enthusiast community has dug into Intel's TDP ratings and performance. Even since Multicore Enhancement, aka MCE, the performance of Intel's CPUs has varied depending on the motherboard manufacturer. The frequency at which a CPU operates is dependent upon a number of factors and even some limitations like T-Junction, which is 100 ˚C for all three CPUs in this configuration.
If you want to dive into the discussion of Intel's TDP ratings and how they fluctuate, you can read a number of articles such as this on over on Anandtech.com. More or less, TDP is allowed to be fairly high for some time frame before throttling down for thermal reasons inside the die. This upper limit is called the PL2 state, which is 125% the rating of the listed, marketed TDP, which is called PL1. For all three CPUs in the Mac mini 2018, the PL1 TDP is 65 W, thus PL2 is 81.25 W.
---------- more ----------TIM & Cooling methods
If you've been around the enthusiast community for some time, you'll know that there are a number of factors that affect the thermal performance of a CPU. The one that is easily modified by reasonably skilled individuals is the TIM, or thermal interface material. This ranges across many types of materials from a variety of thermal pads, to "eh" bulk compounds, to higher end boutique pastes, to exotic Galinstan alloys.
The reason why people change out their TIM is because it is the simplest way to increase the cooling capacity of the cooler being used. Each part of a cooling interface is quite literally stacked up with each other part. In other words, if you change one component, you change the performance of it all. If you remove components, you reduce the amount of material thermal energy has to pass through, making the whole system more efficient. As such, more advanced modifications involve de-lidding a CPU, which is removing the integrated heat spreader. Sometimes the TIM is replaced between the die and IHS, or sometimes the IHS is removed all together and "direct die" cooling is employed.
In essence, mobile/embedded coolers are factory direct die cooling, though they are usually used for lower TDP applications. Apple though, in the case of the Mac mini, is using desktop TDP parts in an application similar to a mobile cooling solution, which is why cooling performance falls short.
Mounting Pressure
Regardless of which method you use, one factor always has a significant effect - contact pressure.
From at least Intel's 5th generation to its existing 8th generation processors, the maximum applied compressive load is 15 pounds without a backplate and 25 pounds with a backplate.
Also, yes, what I listed is for 'H' and 'U' series CPUs, which are exposed die, are mobile chips. Even though the ones in the Mac mini are 'B' series CPUs, the dies are on the same FCBGA1440 package, so they are subject to the same specification.
There are 2 leaf springs on the back of the cooling solution in the Mac mini. Using a calibrated scale, it was a rather round number of 1 kilogram that was required to compress either spring in to the same flatness as it was installed. This means that 2 kgf was being applied as the clamping load.
The die area of the i7-8700B is 149.6 mm^2. Now, Intel's documentation is a little sparse on the mounting and clamping loads, etc., so my interpretation is as follows: Even though the values of 15 & 25 have the units of lbf or "pounds of force," this is not equivalent to the clamping load, or how much weight you press down on the die with. Yes, those units are the same, but hear me out: If Apple's implementation is sub-par to where they don't have the clamping load correct, ~4.4 lbf instead of 15-25 lbf, then increasing the clamping load would increase the cooling performance of solution they designed. But it doesn't.
While I was observing the lapped heat sink and new TIM run, there wasn't a significant difference in long-term performance even though I applied a 0.016" cardboard shim to the mounting plates before placing the springs on top. Thus the 2 kgf load should be considered over the surface area of the die, 149.6 mm^2. Converting that to psi, you get ~19.05 psi of pressure applied to the die. The "pounds" in psi is a force, or lbf, and 19 is very squarely in the range of 15-25; especially considering the mounting plates for the leaf springs are, functionally, a partial backplate.
Overall Thermals
As prooved by the MacBook thermal throttling issues earlier in 2018, Apple is starting to release products that are improperly designed or configured to reach the performance of their CPU. Unfortunately, the Mac mini is also one of these products, though the i9 MBP uses an i9-8950HK.
If you took that CPU, which has a TDP of 45 W, and used it instead, you'd have a reduction of about 5% in performance compared to the i7-8700B - assuming it didn't thermal throttle. Currently, my testing shows the i7-8700B as only able to sustain 3.8 GHz vs its 4.3 GHz limit, which is a reduction of 12% in performance compared to its own spec.
As for the specs regarding the temperature readouts - aka Digital Temperature Sensors (DTS) - inside the die, Intel states that they have a +/- 5 ˚C rating (Section 5.1.5.2.1), which means that there *can* be a 10˚ separation of die temps while they are all equal and constant. Since the CPU throttles a core once said core hits "100 ˚C", effective performance between cores can vary significantly when you run the CPU at a global temperature of 95 ˚C or higher. Current dogma for the enthusiast community, though, is to keep temps below 85 ˚C. On average or via core maxima, this is the temperature goal I'm aiming for, if it is possible.
-
Mac mini i7-8700B Factory CSV Files
12/26/2018 at 03:18 • 0 commentsI've uploaded the CSV file of the factory thermal results, compressed with 7-zip & bzip2, for others to look at on their own.
-
Testing Proceedure
12/24/2018 at 21:03 • 0 commentsTesting State
The Mac mini is functionally stock. It has been manually updated to macOS 10.14.2, automatic updates are disabled. Most automatic features driven by the OS are disabled or hidden if they can be accessed via System Preferences. One HDMI cable is plugged into a 1920x1200 monitor, and both USB ports are occupied by HID devices. The Mac mini is configured with an i7-8700b, 8 GB of RAM, 2 TB SSD, and 10 Gigabit ethernet.
Room temperature was approximated at 71-72 ˚F, aka ~22 ˚C, with the surrounding surface temperature of 72-73 ˚F. HVAC was utilized to stabilize the environment, though no vent was within 16 feet of the setup, nor were said vents pointed at the setup.
---------- more ----------Monitoring Process, Pre-Thermal Load
The computer is booted and brought up to temp with a temporary thermal load to speed up the time it takes to reach thermal equilibrium while idle. It is then rebooted, and the machine is placed into the following state: logged in at the desktop with 1 Finder window opened to said location, with both iStat Menus and Intel Power Gadget loaded. iStat Menus was set to refresh sensor data at its "Fast" update frequency. Intel Power Gadget remains at a 1000 ms display polling rate, but logging has been modified to a 10 ms polling rate.
After a 2-minute, post-boot idle is observed, Intel Power Gadget's logging function is enabled via the keyboard shortcut for the first 30 minute idle segment. Once the 30 minutes have elapsed, a script is opened to induce a consistent, repeatable thermal load on the cooling setup for a 60 minute time frame. After this, the load is automatically terminated and a final 30 minute idle time is observed to allow the system to get back to an idle thermal equilibrium.
Additionally, at three points (5 minutes prior to engaging the thermal load, 5 minutes prior to its self-termination, and 5 minutes before the end of the cool down idle period occurs), 5 points on the Mac mini case will be measured with an Etekcity LASERGRIP 800. These are approximately 1" from the surface with the temperature gun pointed practically perpendicular to the case's top surface. These temperature points are 0.75-1" from each of the rounded corners and from the black plastic Apple logo.
Thermal Load
The thermal load is a simple script consisting of 13 instances of the following command:
yes > /dev/null &
Followed by:
sleep 3600 && killall yes &
With SMT CPUs, it is not specifically necessary to create a 2 threaded load for each physical and virtual core pair. SMT adds 20-35% extra performance depending on workload. However, to ensure that a consistent and maximum work/thermal load is maintained, a total of 12 individually threaded loads will be needed. A floating 13th threaded load is added for the sake of increased repeatability, though may be purely academic in function. Can't hurt can it?
The same 5 points on the Mac mini case are measured for temperature 45 minutes after the start of the thermal load, then once more between 55 & 60 minutes. Logging will continue for 30 minutes after the thermal load ceases.
At a sample interval of 10 ms, a 2 hour log file contains ~720,000 log entries. These files are ~133 MiB large.
Data Processing
The data will be smoothed with a 25-point Savitzky–Golay filter, giving a result of a rolling 250 ms window. CPU frequency will be aliased to 1/6th of a multiplier due to the hexa core implementation of the CPU I have, the i7-8700B. Maxima and minima CPU die temperatures will be given from the filtered data, but aliased to 0.1 ˚C. This is a compromise between the increased resolution from super-sampling and the perceived significance of the resolution, which needs to be marginalized.
-
Initial Notes
12/18/2018 at 17:05 • 0 commentsThe Mac mini (Late 2018) come with one of 3 processors: i3-8100B, i5-8500B, or i7-8700B. All 3 CPUs have a TDP of 65W. The base model quad core will thermal throttle under stock conditions as many, like Snazzy Labs (whole video), have shown (thermal throttling). However, the little quad core's thermal performance can be fixed, as he also also showed. But will that work for the most powerful configuration? I haven't been able to find reviews of the high(er) end models so I'm looking at the problem myself.
What will be attempted?
- Polishing/hand lapping the heatsink for better contact
- Measuring the contact pressure of the heatsink mounting, which should not be higher than the max range of 15-25 lbf, or ~65-108 psi
- Measuring the load of the mounting springs
- Shimming the springs and/or the mounting screws to increase the die mounting compressive load to ~25 lbf or just a smidge under, if possible
- Measuring the die height of the i7-8700B - it will be the same as the non-B part, but it is on a different PCB
- Incorporating a custom, reversible material addition to the underside of the heat sink to form a custom heat spreader, and, hopefully, increase the thermal resistance of the cooling solution