1
If writing to an ssd wears out its cells but reading does not, does an ssd read cells to avoid unnecessary writes?
For example, suppose I already zero'd an SSD, would the SSD write anything at all if I were to try and re-zero it?
I think this may be covered by the general technique of SSD "data buffering & caching", but I've not read explicit details...
Is this dependent on the exact scenario, for example:
- The amount being written vs. the size of the SSD cache?
- The speed of the write being pushed vs. the speed SSD's reads (to check) and writes (as necessary)?
- The SSD controller?
- The SSD brand?
The only way you'll know from any specific hardware is to read the SMART information after writing to determine if it recorded it as writes. That said, using this data I've been able to determine that my own SSDs are going to far outlive any conventional drives I've ever had. – shawn – 2019-02-07T08:16:20.140
The actual likelihood that the sector data is 100% identical in practice is typically very low, so the overhead of performing such a read and compare is pure wasted time. Adding (unnecessary) overhead to a write operation is detrimental to performance. A manufacturer would probably choose to maintain performance (i.e. not add dubious overhead to every write operation) than possibly extend device life by occasionally not perform an erase/write cycle. – sawdust – 2019-02-07T10:04:57.557
Somewhat related to your example: How to fill a device with zeros, without overwriting the bytes that are already zeros?
– Kamil Maciorowski – 2019-02-07T10:36:00.990