My 1 TB HDD (WDC WD10SPZX-24Z10) is displaying a weird throttling behavior while I'm trying to wipe it.
It's writing speed is dropping dramatically for all regions after doing a long (> 10 GiB) zero-fill operation in Linux (Mint 18, running on a thumbdrive) using dd.
And, for some reason, if I wait a couple minutes and try again, it goes back to its normal write speed.
Obviously, the first thing I thought is that it should be a thermal throttle, but hddtemp said it was only at 46 °C right after a 330 GiB fill (which I interrupted for it was taking absurdly long).
Anyway, I let it cool to the lowest temperature it would reach while idle, 40 °C, then made a bash script looping these commands, repeating 0.98 GiB fills in the beginning of the HDD:
and put a cloth over the laptop where the HDD is located to make it heat faster.
From 40 °C to 48 °C it kept stable writing speeds, from 60 to 56 MB/s every time.
Didn't make sense, so I let it cool down to 40 °C again, and gave this command, to make a single 19.5 GiB fill:
now without the cloth nor anything to hinder the cooling.
Right at the end the temperature was 44 °C only, and I repeated the same script I ran before.
Now the speeds would vary from 22 to 20 MB/s, while the temperature kept constant at 44 °C.
I let it running for over 20 mins, the speed would never get better.
Then I stopped it for 2 minutes only. The temperature didn't even change, it was still 44 °C, and the write speed came back to 60-56 MB/s when I ran the script again.
Nothing here makes sense.
If this isn't thermal, why is it happening and why letting it quiet for 2 minutes make its speed come back to normal, while a 10-20 second interval isn't enough?
It just feels like it's something thermal, but makes no sense. Why repeating 0.98 GiB fills over and over, with a cloth to hinder cooling until it reached 48 °C wouldn't make it throttle, but a single 19.5 GiB fill without anything to hinder cooling does?
Not to mention this temperature is far too low for it to throttle too.
I'm clueless.
Note that the HDD was tuned with hdparm to disable power management and write cache, as it was going to be a zero-fill, and dd was using the "direct" output flag, so there's no cache to worry about, it should be a direct I/O process.
My laptop is an IdeaPad S145-15IWL 81S90008BR, with an Intel Core i5-8265U CPU, Nvidia MX110 GPU, 8 GB DDR4 RAM.
It's writing speed is dropping dramatically for all regions after doing a long (> 10 GiB) zero-fill operation in Linux (Mint 18, running on a thumbdrive) using dd.
And, for some reason, if I wait a couple minutes and try again, it goes back to its normal write speed.
Obviously, the first thing I thought is that it should be a thermal throttle, but hddtemp said it was only at 46 °C right after a 330 GiB fill (which I interrupted for it was taking absurdly long).
Anyway, I let it cool to the lowest temperature it would reach while idle, 40 °C, then made a bash script looping these commands, repeating 0.98 GiB fills in the beginning of the HDD:
Code:
hddtemp /dev/sda
nice -n -20 dd if=/dev/zero of=/dev/sda bs=209715200 count=5 oflag=direct
and put a cloth over the laptop where the HDD is located to make it heat faster.
From 40 °C to 48 °C it kept stable writing speeds, from 60 to 56 MB/s every time.
Didn't make sense, so I let it cool down to 40 °C again, and gave this command, to make a single 19.5 GiB fill:
Code:
nice -n -20 dd if=/dev/zero of=/dev/sda bs=209715200 count=100 oflag=direct
now without the cloth nor anything to hinder the cooling.
Right at the end the temperature was 44 °C only, and I repeated the same script I ran before.
Now the speeds would vary from 22 to 20 MB/s, while the temperature kept constant at 44 °C.
I let it running for over 20 mins, the speed would never get better.
Then I stopped it for 2 minutes only. The temperature didn't even change, it was still 44 °C, and the write speed came back to 60-56 MB/s when I ran the script again.
Nothing here makes sense.
If this isn't thermal, why is it happening and why letting it quiet for 2 minutes make its speed come back to normal, while a 10-20 second interval isn't enough?
It just feels like it's something thermal, but makes no sense. Why repeating 0.98 GiB fills over and over, with a cloth to hinder cooling until it reached 48 °C wouldn't make it throttle, but a single 19.5 GiB fill without anything to hinder cooling does?
Not to mention this temperature is far too low for it to throttle too.
I'm clueless.
Note that the HDD was tuned with hdparm to disable power management and write cache, as it was going to be a zero-fill, and dd was using the "direct" output flag, so there's no cache to worry about, it should be a direct I/O process.
My laptop is an IdeaPad S145-15IWL 81S90008BR, with an Intel Core i5-8265U CPU, Nvidia MX110 GPU, 8 GB DDR4 RAM.
Last edited: