Will mounting a file system read-only increase the lifespan of an SSD?
Solution 1:
Short answer:
It depends on what you're doing. Exclusively reading from a SSD will still cause degradation of its memory cells over time. Mounting the drive read-only will prevent you from directly writing to it, but the drive's firmware will still produce background writes. But depending on your usage patterns, you may or may not have anything to worry about.
Long answer:
There are several types of errors outlined in Flash Error Analysis and Management:
- erase error: caused by repeated program/erase cycles (writes)
- program interference error: data in one page is unintentionally changed while a neighboring page is being programmed
- retention error: the charge programmed in the floating gate dissipates gradually
- read error: data stored in a cell changes as a neighboring cell is read repeatedly
This paper is an interesting read but going to that level of depth is probably outside the scope of your question, other than to say that exclusively reading from NAND memory will not preserve the data forever.
According to a presentation by Jim Cooke at Micron, the cells should be erased and reprogrammed every 100,000 reads for MLC and 1,000,000 reads for SLC.
Slide 19:
Cells not being read receive elevated voltage stress
Stressed cells are
• Always in the block being read
• Always on pages not being read
Charge collects on the floating gate causing the cell to appear to be weakly programmed
Does not damage cells; ERASE returns cells to undisturbed levels
Disturbed bits are effectively managed with ECC
Slide 20:
Rule of thumb for excessive reads per block between ERASE operations
• SLC – 1,000,000 READ cycles
• MLC – 100,000 READ cycles
If possible, read equally from pages within the block
If exceeding the rule-of-thumb cycle count, then move the
block to another location and erase the original block
Establish ECC threshold to move data
Erase resets the READ DISTURB cycle count
Use ECC to recover from read disturb errors
That said, these papers seem to be directed at low-level users of NAND memory (e.g., SSD firmware developers), and are not intended for end-user consumption. So I would suspect your drive's firmware already handles this transparently in the background.
But getting back to the original question, does exclusively reading still cause wear & tear on the drive? Yes. How much? It's complicated. If you assume the firmware is rewriting a page's cells to new locations every 100,000 reads, and there are always plenty of available blocks, you have 1 write for every 100,000 reads. But on top of that, the firmware also performs wear-leveling and other tasks, which amplify one logical write into multiple physical writes.
In practical terms, you probably don't need to be particularly concerned unless the drive is nearly filled to capacity and you're constantly reading from the entire drive. But if you are reading from the drive non-stop, keep a close eye on the SMART table for a month to get an idea how quickly your read patterns are causing background writes. And, of course, always make sure you have multiple backups.
Solution 2:
Basicly yes, but the extended answer is "not forever",
The data on an SSD, the electrons, which make up the bits, is isolated so it does not leak out, but if the data on the drive is subject to radiation (including magnetic waves or other electronics) the electrons stored in the bits will change state, thus damaging the stored data. However, this is an extreme case. Data on a SSD should be safe for years, if not decades.