Tak, karty SD / MMC mają kontrolery, które wyrównują zużycie. Jeśli nie, możesz je zniszczyć w ciągu kilku minut z niewłaściwymi wzorami zapisu.
To jest problem dla niektórych osadzonych projektów. Najwyraźniej nie ma (najwyraźniej) sposobu, aby wiedzieć, które sektory mogą zostać zrównane z zużyciem w dowolnym momencie, więc cykl zasilania w niewłaściwym czasie może zniszczyć dane w dowolnym miejscu na karcie, bez względu na to, gdzie MYŚLISZ, że piszesz. (nie pytaj skąd wiem :))
Karty SD muszą być używane z systemem, który gwarantuje czyste zamknięcie systemu (lub przynajmniej, że zapisy są dozwolone), w przeciwnym razie nastąpi (ostatecznie) utrata danych.
EDYTOWAĆ
Problem polega na tym, że proces wyrównywania zużycia jest całkowicie ukryty. Dowolny sektor na dysku może zostać przeniesiony w dowolnym momencie (zamieniony z zapisaną stroną), a jeśli nastąpi awaria zasilania w trakcie tego procesu, losowy sektor może zostać uszkodzony.
Chociaż istnieją względnie bezpieczne sposoby na wdrożenie tego ruchu, nie ma go w żadnej specyfikacji, więc nie można ufać, że karta to zrobi. Możesz przetestować jedną kartę, sprawić, by działała, a następnie producent może zmienić implementację bez zmiany numeru części i jesteś zepsuty.
Z testów wynika, że kontroler moich kart SD wcale NIE robi tego w bezpieczny sposób.
Mogę spojrzeć na kartę SD o wysokiej niezawodności, którą widziałem reklamowaną specjalnie pod kątem tolerancji na awarię zasilania ... ale wtedy musisz zaufać producentowi, że zrobi to poprawnie, a ja nie. Naprawdę chcę bezpośredniej kontroli nad wymazywaniem stron. Nadal próbuję to rozgryźć.