0

I want to delete many gigabytes of files on my SSD drive in order to free up disk space, so that this free disk space would help to reduce wear of the drive, but, on the other hand, I'm not willing to do this because deleting files will cause overwriting these files with zeroes ("TRIM"), which also causes wear of the drive. The drive is used only for system (Windows) and program files, so, hopefully, it's pretty much read-only. I expect that deleting these files will cause such a burst of writing that my drive haven't seen since I installed the system.

I have a 60-GB drive. Currently I have a 44 GB C: partition with 3 GB free disk space and a 12 GB D: partition with 1 GB free disk space.

So, in short, what's better for longevity of the drive - to have lots of free space or to reduce mass destruction of files like that?

P.S. I know that having more free space will increase the speed of the drive and my system will run faster. I don't care. It's fast enough for me.

2 Answers2

2

In short:

It depends on the data about to be deleted vs. the drive size and the use case.

  • small drive, regularly use: delete the data
  • small drive, rarely used (may even a quite old SSD): consider keeping the data
  • big drive, small data to be deleted: you may keep it
  • big drive, big amount of data: delete the data

General Reason:

Info: An SSD actually does not write zeros like an HDD but rather deletes those cells. (check f.e. What is TRIM exactly? ).

Every cell has a rough amount of times to write/delete data (depending on the drive; reading can be more-less done till the controller malfunctions). To extend the service life SSDs and other (mostly flash) memory since the last years uses a technique called "wear leveling" (it seems the term might be not clear for everyone). Usually you would want to have the most free space possible, so that every cell gets an equal amount of write operations. But SSD typically use:

static wear leveling*: moves not only new blocks to new cells, but also the static blocks that do not change periodically, so that these low usage cells are able to be used by other data. This rotational effect enables an SSD to continue to operate until most of the blocks are near their end of life.

Now remember that every cell an amount of times to write/delete data, if it constantly has to move 44GB* (which it probably won't do in total, controllers are quite smart), it might be that moving files leads to a shorter lifespan. Though you need to know that most controllers work differently, trying to do their (intended) best, yet definitely not every cell get's to reach the same amount of writes.

Also keep in mind that system drives do write a lot in a short time. I had a 256GB drive, 60GB used, just rarely business use (<50mb of files like xls/pdf) and it managed to write nearly 2TB over 3,5 years! (Most of that had been Win10 updates, next big topic was an sql database)

Consider drive size:

It makes a lot of difference, if you move 44GB on a 60GB SSD or on an 4TB+ SSD. Newer SSDs have additional space, not accessible, used for over provisioning. Rule: The higher the SSD size, the higher the over provisioning.

Azalea
  • 3
Nironda
  • 55
2

Is it worth to delete files from SSD drives in order to free up disk space?

No, especially if you need those files.

this free disk space would help to reduce wear of the drive,

Faulty assumption.
Wear leveling encompasses both used sectors as well as unused sectors.

because deleting files will cause overwriting these files with zeroes ("TRIM"), which also causes wear of the drive.

Faulty assumption.
Deleting a file does not cause any (automatic) "overwriting"; that's the reason why files can be "undeleted".
Not does the TRIM operation write zeros to flash. However sectors that have been "trimmed" can be configured to read back as zeros. This is implemented by the on-board SSD controller, and does not reflect the stored data.

Documentation for SSD clearly indicate that the controller will respond with zeros for the data when that flag is set for a "free" (i.e. unmapped) LBA/sector. This does not mean that the LBA/sector actually contains zeros, since that would actually hinder performance (i.e. it's not erased and ready for a write). See the last paragraph of Section 3.8.2 of this Seagete product manual.

I expect that deleting these files will cause such a burst of writing that my drive haven't seen since I installed the system.

Faulty assumption.
Deleting a file only entails the modification of filesystem metadata, e.g. the directory entry and allocation tables. The data sectors of the file are not accessed during a deletion (unless there is somekind of special security protocol in place).

So, in short, what's better for longevity of the drive - to have lots of free space or to reduce mass destruction of files like that?

Neither choice will significantly affect the "longevity" of the SSD.
It's writing (which triggers block erasures) that affects the lifespan of flash chips.

Now you could dream up a worst-case scenario where the unallocated sectors are so widely scattered among the erase blocks that the wear-leveling task has to perform numerous read-erase-write operations (i.e. internal copying) to obtain writable sectors. But such scenarios could only occur after many repeated cycles of writing files and deleting files on a "full" drive.

P.S. I know that having more free space will increase the speed of the drive and my system will run faster.

Only true in the sense that a write operation will not be delayed by unavailability of erased blocks.
The speed of read operations are not affected by the amount of data previously stored.

sawdust
  • 18,591