I got a pc that suffers from severe heating problems because of its poorly designed passive cooling case. I tried several strategies to put temperature under control, did a lot of tests with thermald, but ended up hacking a fan into the case. However, I still have problems with ssd temperatures.
Right now, as I write this, the nvme ssd is at 67ºC and easily goes beyond 80 or 90 during data transfers. I already lost 2 ssds before realizing this was the problem, because I was controlling just the cpu temperature.
There’s no physical way to force airflow where the ssd is, so I was wondering if there’s some way to throttle data transfer of something to prevent the ssd temperatures from reaching a threshold. All I could find was a vibecoded github repository. I don’t care if data transfer gets ridiculously slow, as long as the ssd remain safe, and I can’t consider getting any new hardware right now.
I’m currently running fedora 44 on that machine
Edit: I thought there was an easier software mitigation to that, but apparently, solutions will tend to the hardware side, so here are the hardware details:
- It’s an unbranded chinese cheap mini pc with a heat dissipation case that doesn’t dissipate well
- The ssd is mounted on the back of the motherboard. The model is a sandisk M.2 1TB 2280
Here’s a photo of the case, for the reference (don’t judge me lol):



isn’t the whole case hot? Usually motherboard has sensors for monitoring the case temperature and control case fans. If the whole environment is above 45°C it makes everything hotter.
If you can check that an easy test would be to disable you CPU boost. I always do this anyway as boosting is a temporary way for a CPU to squeeze some extra performance at a huge energy/temperature cost. On my stress test this “only” get 10-15% more performance but without boost the CPU temperature never get above 50°C.
Because the CPU is not warming the case anyone everything is cooler, how much I don’t know though. Hopefully this could also reduce I/O on the SSD in general too but a cooler case is definitely better for every component.
The way to disable boosting depends on the CPU model as a starting point you can check https://wiki.archlinux.org/title/CPU_frequency_scaling#Configuring_frequency_boosting.
Yes, the whole case used to get hot. I didn’t try disabling cpu boost, but I reduced cpu frequency with thermald. In order to prevent overheating, it got terribly slow, and during summer (room temperature goes above 40ºC here), it wasn’t enough to prevent overheating, so I ended up adding a fan to the case. It’s ugly, but keeps it cool
But the problem now is that only the cpu used the case as a heatsink, and the internal airflow is terrible, so the ssd is overheating. I was wondering if there’s some way to throttle ssds in a similar way we do with cpus