Так, SD / MMC-карти мають контролери, які вирівнюють зношення. Якщо вони цього не зробили, ви можете знищити його за лічені хвилини з неправильними шаблонами запису.
Це фактично проблема деяких вбудованих проектів. Немає жодного способу (мабуть) дізнатися, які сектори можуть бути зрівняні в будь-який час, тому цикл живлення в неправильний час може знищити дані в будь-якій точці карти, незалежно від того, де ви думаєте, що пишете. (не питайте, як я знаю :))
SD-картки повинні використовуватися в системі, яка гарантує чисте відключення системи (або принаймні те, що запис дозволено завершити), інакше втрата даних призведе (зрештою) до результату.
EDIT
Проблема полягає в тому, що процес вирівнювання зносу повністю прихований. Будь-який сектор на диску може бути переміщений у будь-який час (поміняється сторінкою, написаною на сторінці), і якщо в середині цього процесу не вдається живлення, то випадковий сектор може зіпсуватися.
Хоча існують досить безпечні способи здійснити цей крок, це не в якійсь специфікації, тому ви не можете вірити, що карта це зробить. Ви можете протестувати одну карту, щоб вона працювала, то виробник міг би змінити реалізацію, не змінюючи номер деталі, і ви накрутили.
Після тестування, контролер моїх SD-карт взагалі НЕ робить це безпечно.
Я можу заглянути в SD-карту "високої надійності", яку я бачив, рекламовану спеціально для допуску відключення електроенергії ... але тоді вам доведеться довіряти виробнику, щоб це зробити правильно, а я цього не роблю. Я дуже хочу прямого контролю над стираннями сторінок. Я все ще намагаюся розібратися в цьому.