On 8/11/23 5:54 AM, The Natural Philosopher wrote:
> Doing the research reveals the true case about wear on flash memory
> style devices and that is that substantially reads do *not* damage the
> cells at all, at least no more than reading, say, DRAM. It is block
> erases and writes that do and so, paradoxically, when used as a PROM,
> probably wear levelling is entirely unnecessary. And if done
> gratuitously may actually reduce lifetime. By 'gratuitously;, I mean
> that it is done when there is no write operation in progress.
> I cannot see any reason why one would shuffle blocks around *except* as
> a result of a write operation, however.
>
> There appears to be one aspect of read operations that *does* disturb
> the data (read distrurbance), and that is that read operations can
> minutely affect the state of physically adjacent but unread cells.
> However this is generally at least an order of magnitude below write
> damage, and is normally dealt with by error correction.
This is substantially correct. Reading from an SD/SSD *can*
result in re-writes, thus shortening the life of the medium.
How MUCH/OFTEN ... well, it depends.
The BEST IDEA is to shift EVERY relevant file that
might possibly try to be read/writ to/from an SD off
into RAM as quickly as possible. Depending on your
distro you might be able to shift the entire OS to
RAM. Some "live" distros are kinda like this already.
A Pi with 4+ gb of RAM may be adequate enough for
this approach.
In any case, SDs are "smart" devices, they have a
controller to manage various needs. They are not
just "stupid" memory space even though they try
to *appear* as such to the user.
A few of my applications involve like a DECADE
of reliability. As such the hidden tricks of SDs
becomes relevant (as do memory leaks).