Відповідь Девіда Шварца охоплює всі "практичні цілі". Ця відповідь буде зосереджена на "непрактичних цілях". Існує теоретичний виняток із правила необмеженого читання, але воно має просте рішення.
Існує обмеження терміну служби запису на флеш-пам’ять, але читання також впливає на це. Однією з його слабких місць є те, що називається «помилки читання порушень» 1 Читання флеш-пам’яті дещо погіршує оточуючі збережені значення, що може з часом призвести до помилок.
Помилок уникає, якщо контролер відстежує кількість прочитаних та копіює блоки, перш ніж деградація стане проблемою. Просто скопіюйте блок кудись інше, а потім стерте оригінальний блок, скидає все, і оригінальний блок можна буде використовувати знову. Джерело
Велике правило для MLC - 100 000 прочитаних; для SLC - це 1 000 000 зчитування 2 (багаторівнева комірка, або MLC, і однорівнева комірка, або SLC, це два типи флеш-пам'яті ). Таким чином, при "звичайному" використанні ці пороги можуть навіть не бути проблемою, з якою контролер повинен впоратися.
Що приводить нас до непрактичного сценарію. Припустимо, ви використовували флеш-пам’ять з такою метою, як у цьому питанні (пишіть один раз, а потім читайте масово протягом тривалого часу). Поки є хоча б один вільний блок, контролер може грати в музичні крісла з даними. Однак, якби ви заповнювали кожен останній блок даними, ви могли в кінцевому підсумку дійти до точки, в якій контролер не має можливості уникнути помилок читання з порушеннями.
У цьому надуманому випадку контролер, ймовірно, уникне корупції, заморозивши карту чи флешку, тому не було б рентабельного способу її прочитати. На рівнях використання, описаних у цьому питанні, це може статися протягом декількох місяців або років, залежно від типу флеш-пам’яті.
Звичайно, це вдасться вирішити, просто маючи накопичувач резервних копій, враховуючи, наскільки вони дешеві та те, що ви не записали жодних нових даних. Або ви могли б забезпечити, щоб ви залишили хоча б невелику кількість вільного місця.
Примітка. Обидва наведені нижче джерела є прямими посиланнями на завантаження; PDF-файл завантажиться, як тільки ви натиснете на нього.
1 http://users.ece.cmu.edu/~omutlu/pub/flash-read-disturb-errors_dsn15.pdf
2 http://www.dslreports.com/r0/download/1507743~59e7b9dda2c0e0a0f7ff119a7611c641/flash_mem_summit_jcooke_inconvenient_truths_nand.pdf