martijnvanbrummelen/nwipe

Slow wipe speed on NVMe

hansbogert opened this issue · 6 comments

I have an NVMe ssd which shows subpar wiping speeds, yet the CPU does not seem to be a bottleneck, though that is just based on metrics shown in top:

image

image

I'd expect / hoped that the SSD would be the bottleneck, which should be in the order of 2GB/s, and not 600MB/s.

Sorry for the delay responding, busy weekend.

Can you post the model of the motherboard you are using. In your example you are wiping two drives so total throughput is 1.27GB/s. Sounds like the nvme bus is shared on the motherboard. Does the wipe speed increase to 1.2MB/s if you wipe one drive at a time?

I notice your drive temperatures are 78 and 79 deg.C, while not necessarily over temperature for a EVO 970 I was just wondering what the MAX/MIN limit values were reported as in the log. As the temperatures are displayed in white text and not RED or RED FLASHING so therefore the software is reporting the drive temperatures within the manufacturers specifications. I believe the EVO 970 has a upper limit of 85 deg.C according to a quick search on Google so that makes sense. Just wondering if the drive is smart enough to limit it's performance if it's getting too hot? much like a CPU does.

@hansbogert Quoted from the following article on harddrivegeek Safe SSD operating temperature, Is your SSD running too hot

Note the last paragraph in the quote below that mentions drive throttling.

SSD Running Slow? It Might Be Too Hot
Most SSDs implement thermal throttling as a safety feature if a drive gets too hot. The closer your drives gets to the 70ºC limit that most manufacturers have, the more likely it is that the drive will start slowing down to prevent itself from failing. The drive will slow down drastically until the temperatures come back to a reasonable range (around 50ºC or so), at which point you should get your speeds back.

If your SSD is hitting 70ºC or higher you are in the danger zone and will notice your machine grind to a halt as it waits for the drive to cool down.

@hansbogert If the drive temperature is the problem and it can't be cooled to 50 deg.C then you are better of using the drives build in firmware to erase the drive using nvme-cli or maybe hdparm or equivalent software that supports ATA secure erase. (nwipe currently does not but it's on the list of new features to add).

For an NVME a ATA secure erase is recommended followed by a verification using nwipe if you want to be sure the disc is wiped.

Also quoted from Safe SSD operating temperature, Is your SSD running too hot

Operating Temperatures For Different SSDs:
Samsung SSD Temps: 950, 960, 970, 750, 840, 850 and 860 EVO and PRO series are rated for operation between 0ºC and 70ºC.

Crucial SSD Temps: MX500, MX300, BX300 and almost all Crucial SSDs are rated for operation between 0ºC and 70ºC.

Sandisk SSD Temps: SSD PLUS, Extreme Pro, Ultra II and Ultra 3D SSDs are rated for operation between 0ºC and 70ºC.

Intel SSD Temps: 520, 530, 540 series and most Intel SSDs are rated for operation between 0ºC and 70ºC.

Kingston SSD Temps: A400, SSDNow UV400, V300, KC400, HyperX Savage and most other Kingston SSDs are rated for operation between 0ºC and 70ºC.

Western Digital SSD Temps: WD Blue SSDs are rated for operation between 0ºC and 70ºC.

ADATA SSD Temps: SU650, SU700, SU800, SU900 and other ADATA SSDs are rated for operation between 0ºC and 70ºC.

All good points, I should really eliminate the temperature as a root cause.

As soon as the ata/nvme erasure is enabled in nwipe, I'll be the first to use it :). In our case the SSD/nvme wipe speeds will probably not be a bottleneck as the HDD/spinners will take a lot more time, so I'd rather keep our internal wipe process as simple as possible.

Just did a zeros verification on a nvme Western Digital SN570 1TB drive. Took just under 6 minutes with a speed > 2GBytes/sec. As shown by the 'top' program, the nwipe CPU usage on the i7-12700H CPU never went above 3%. Drive temperature increased from 30 deg.C to 39 deg.C.