2
\$\begingroup\$

The flash memory on SD cards is prone to data loss over time when unpowered. While typical specifications list "at least 10 years", in practice unrecoverable read errors are likely to occur within a few years when the card is left continually unpowered. If the card is in continuous use, however, the data remains present almost perpetually, as long as write wear does not kill the flash cells beforehand.

What is unclear to me is whether the underlying data refresh process occurs simply when power is present, or if it also requires a clock signal to be present on the CLK pin. If it's the latter, how long must the clock be present for in order to trigger the refresh behaviour? Similarly, is there any guidance on how long the card must remain powered in order to "reset" the degradation?

\$\endgroup\$
2
  • 3
    \$\begingroup\$ Can you provide some citations or links for the statement that "If the card is in continuous use, however, the data remains present almost perpetually"? \$\endgroup\$ Oct 23, 2021 at 14:52
  • \$\begingroup\$ @ElliotAlderson It seems I had misunderstood. I know that SSDs and eMMCs implement auto-refresh functions in firmware, and some NOR flash chips have an automatic recharge function on cells, but it seems that the same cannot be said of SD cards. \$\endgroup\$
    – Polynomial
    Oct 23, 2021 at 17:55

1 Answer 1

2
\$\begingroup\$

The operation of the flash memory controller has nothing to do with the IO interface clock being present or not. If the memory controller wants to use energy to read and correct memory errors while user does not use the card then it is free to do so but it is unlikely. A better explanation would be that using the card by writing to it will cause the wear leveling algorithm to read a block of sectors and store it in an erased block so the data is freshly rewritten before it is degraded beyond the point of being unable to read it.

\$\endgroup\$
2
  • \$\begingroup\$ I know the auto-refresh feature is present in SSDs; perhaps it was naive of me to expect that it was present in an SD, too. I'll have to investigate further. \$\endgroup\$
    – Polynomial
    Oct 23, 2021 at 13:34
  • \$\begingroup\$ Some industrial cards have autorefresh but does it mean it automatically scans the memory for bad areas and refreshes it or does it simply do a refresh when user wants to read data and it has been found to be in need of refresh. \$\endgroup\$
    – Justme
    Oct 23, 2021 at 14:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.