Różne systemy plików wymagają różnej ilości pamięci RAM w systemie, który ich używa. System, który musi zapisać plik w systemie plików FAT, teoretycznie mógłby sobie poradzić z pojedynczym 512-bajtowym buforem, choć wydajność byłaby bardzo przerażająca. Rozszerzenie do dwóch lub trzech 512-bajtowych buforów znacznie poprawiłoby sytuację. Wyjście poza to poprawiłoby nieco sytuację, a uzyskanie optymalnej wydajności z większej karty wymagałoby więcej pamięci niż uzyskanie optymalnej wydajności z mniejszej, ale kamera, która zawierała tylko wystarczającą liczbę buforów, aby osiągnąć optymalną wydajność z mniejszymi kartami, nadal byłaby w stanie pracować z większymi, nawet jeśli mniej wydajnymi.
Trudniejsze zagadnienie dotyczy faktu, że standardy kart pamięci określają, że każda karta zachowuje się jak numerowany zbiór 512-bajtowego sektora, który można odczytywać i zapisywać niezależnie w dowolnej kolejności, ale nie w ten sposób dane są przechowywane na chipach w karty Układy pamięci używane w typowej karcie pamięci są podzielone na 528 bajtów; te z kolei są pogrupowane w bloki 256 lub więcej. Po zapisaniu strony nie można jej przepisać bez usunięcia jej i wszystkich innych stron w bloku. Teoretycznie karta SD mogłaby spełnić prośbę o zapisanie 512-bajtowego sektora poprzez skopiowanie do pamięci RAM wszystkich danych w swoim bloku, usunięcie bloku i ponowne zapisanie całego bloku, ale z nowymi danymi w jednym sektorze . W praktyce wydajność byłaby straszna. Zamiast, zapis sektora spowoduje, że karta SD wybierze pustą stronę, zapisze tam dane wraz z numerem sektora i różnymi informacjami pomocniczymi (strony powodują, że 528 bajtów zamiast 512), i jakoś śledzić, że jest to właściwe miejsce dla dane. Kiedy będzie brakować pustych stron, sterownik zidentyfikuje blok, którego strony zostały w większości zastąpione przez strony napisane ostatnio, skopiuje wszystkie wciąż aktualne strony z tego bloku do pustych bloków, a następnie usunie cały obecnie zbędny blok . Cała logika jest obsługiwana w całości przez samą kartę, bez żadnej interwencji ze strony aparatu. Kiedy będzie brakować pustych stron, sterownik zidentyfikuje blok, którego strony zostały w większości zastąpione przez strony napisane ostatnio, skopiuje wszystkie wciąż aktualne strony z tego bloku do pustych bloków, a następnie usunie cały obecnie zbędny blok . Cała logika jest obsługiwana w całości przez samą kartę, bez żadnej interwencji ze strony aparatu. Kiedy będzie brakować pustych stron, sterownik zidentyfikuje blok, którego strony zostały w większości zastąpione przez strony napisane ostatnio, skopiuje wszystkie wciąż aktualne strony z tego bloku do pustych bloków, a następnie usunie cały obecnie zbędny blok . Cała logika jest obsługiwana w całości przez samą kartę, bez żadnej interwencji ze strony aparatu.
Cała ta logika oznacza, że oprócz FAT32 lub innego systemu plików widzianego przez kamerę, karta SD będzie musiała mieć własny system przydzielania i zarządzania blokami. Wszelkie problemy występujące w tym systemie mogą spowodować utratę danych, niezależnie od tego, jaki system jest na nim umieszczony. Teoretycznie wiele kart pamięci ma na celu zapewnienie, że nawet jeśli zasilanie zostanie nieoczekiwanie odłączone podczas niektórych operacji, karta będzie mogła albo przywrócić stan karty do stanu sprzed rozpoczęcia operacji, albo uruchomić ją do końca ( jeśli wszystkie niezbędne dane zostały zapisane, a karta po prostu czyściła zbędne dane). Niestety, karty różnią się tym, jak dobrze implementują taką logikę. Jeśli nieoczekiwana utrata zasilania zablokuje tabele zarządzania pamięcią karty,
Osobiście uważam, że lepiej byłoby, gdyby konsorcjum SD określiło system plików niezależny od FAT32, lub przynajmniej sprecyzowało, że nawet jeśli karta musi być czytelna jako wolumin FAT32, powinna być napisana przy użyciu komunikacji opartej na plikach protokół. Karta, która wie, które grupy sektorów są członkami każdego pliku, mogłaby zoptymalizować swoje procedury defragmentacji, a także mogłaby lepiej zabezpieczyć się przed utratą danych niż karta, która musiałaby przedstawić dysk jako wiązkę niezależnych 512-bajtów sektory, ale na lepsze lub gorsze to nie jest tak, jak są określone.