Will mounting a file system read-only increase the lifespan of an SSD?

16

5

Let's assume I have some data that once created, never again has to change. I have copied this data to an SSD and then re-mounted the file system as read-only and leave it that way from now on. Will doing so increase the lifetime of the SSD?

I am looking for more than a simple "yes, reading does not matter - only writing to an SSD will cause wear". An answer shows up under this question which links to an article and the respondent mentions:

It may be that if a "page" or eraseblock is not reprogrammed in a very long time there is a (probably very small) likelihood some of the bits will revert to an unprogrammed state.

Anything to say about that? Do you know of any studies that focus on such behavior?

dtmland

Posted 2014-02-28T16:04:35.233

Reputation: 2 281

1I would think that "a very long time" is on the order of a few decades . Even with the file system in read only mode, the SSD will still rewrite blocks if number of errors nears the ECC limit. – Dan D. – 2014-02-28T17:04:22.537

How is this not a duplicate of http://superuser.com/questions/440171/will-reading-data-cause-ssds-to-wear-out? To my eye beyond that question, this question is basically just asking for "studies" confirming what was already discussed, and a question requesting studies may be considered off-topic (learning material request).

– Ƭᴇcʜιᴇ007 – 2014-03-05T18:12:46.230

3I don't see anything wrong with asking people to cite in-depth, authoritative references rather than just regurgitating opinions based on "common knowledge" or insufficiently-detailed references. – rob – 2014-03-05T19:18:40.353

Answers

15

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.

rob

Posted 2014-02-28T16:04:35.233

Reputation: 13 188

1

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.

Gizmo

Posted 2014-02-28T16:04:35.233

Reputation: 1 549

1Thanks for the response. Are you aware of any studies/articles that support this? – dtmland – 2014-02-28T18:00:26.247

Not aware of them but I study Sciece & Technology and electronics and chemics are two of the subjects I have which can be used to get to conclusions – Gizmo – 2014-03-01T08:16:32.820

Not that many "years" (let alone "decades") to have done experiments on your particular make of SSD... – vonbrand – 2014-03-05T20:34:47.183

-1

Actually YES, as a standard ext2 will write to SSD which is mounted rw even if the files are only read !!

This is because ext2 store the access time (last read time) for each files and directory.

A way to prevent that is to use "-o noatime" while mounting. Using "-o ro" is the best way to prevent any writing operations.

Note : on ext2/3/4 each file has at least 3 dates : creation (ctime), modification (mtime) and access (atime).

Vouze

Posted 2014-02-28T16:04:35.233

Reputation: 222

3that's actually what the OP says: he mounts the FS in readonly. – zmo – 2014-03-05T20:35:54.100

-2

What is wrong with burning this to a CD? Those are quite stable, and cheap (can very well afford to have a few spare copies to last for the next 50 years). Access time will be an issue only the first time the data gets read, after that caching in RAM should take over.

Filesystems do update some (meta)data, even if not writing. So another possibility is creating a read-only filesystem image (por example, an ISO) and write that on the SSD to completely preclude writing of any sort.

vonbrand

Posted 2014-02-28T16:04:35.233

Reputation: 2 083

1This doesn't really answer the question though... – Canadian Luke – 2014-03-06T19:13:53.823