File system diversi richiedono quantità diverse di RAM in un sistema che li sta utilizzando. Un sistema che ha bisogno di scrivere un file su un file system FAT potrebbe teoricamente cavarsela con un singolo buffer da 512 byte, sebbene le prestazioni sarebbero piuttosto terribili. L'espansione a due o tre buffer da 512 byte migliorerebbe enormemente le cose. Andare oltre ciò migliorerebbe un po 'di più le cose e ottenere prestazioni ottimali da una scheda più grande richiederebbe più memoria rispetto a ottenere prestazioni ottimali da una scheda più piccola, ma una fotocamera che includeva solo buffer sufficienti per raggiungere l'efficienza ottimale con schede più piccole sarebbe comunque in grado di lavorare con quelli più grandi, anche se in modo meno efficiente.
Un problema più complicato riguarda il fatto che gli standard delle schede di memoria specificano che ogni scheda si comporta come una raccolta numerata di settori a 512 byte che possono essere letti e scritti in modo indipendente in sequenza arbitraria, ma non è così che i dati vengono archiviati sui chip all'interno del carte. I chip di memoria utilizzati in una scheda di memoria tipica sono divisi in pagine a 528 byte; quelli a loro volta sono raggruppati in blocchi di 256 o più. Una volta che una pagina è stata scritta, non può essere riscritta senza cancellarla e tutte le altre pagine nel suo blocco. In teoria, sarebbe possibile per una scheda SD onorare una richiesta di scrivere un settore a 512 byte copiando nella RAM tutti i dati nel suo blocco, cancellando il blocco e riscrivendo l'intero blocco ma con nuovi dati in un settore . In pratica, la performance sarebbe terribile. Anziché, la scrittura di un settore farà sì che la scheda SD scelga una pagina vuota, scriva i dati lì con il suo numero di settore e varie informazioni accessorie (le pagine del motivo sono 528 byte anziché 512) e in qualche modo tengono traccia di quella posizione corretta per i dati. Quando le pagine vuote diventano scarse, il controller identificherà un blocco le cui pagine sono state per lo più sostituite da pagine scritte più di recente, copia tutte le pagine ancora correnti da quel blocco a blocchi vuoti, quindi cancella l'intero blocco ora ridondante . Tutta questa logica è gestita interamente dalla scheda stessa, senza alcun intervento da parte della fotocamera. Quando le pagine vuote diventano scarse, il controller identificherà un blocco le cui pagine sono state per lo più sostituite da pagine scritte più di recente, copia tutte le pagine ancora correnti da quel blocco a blocchi vuoti, quindi cancella l'intero blocco ora ridondante . Tutta questa logica è gestita interamente dalla scheda stessa, senza alcun intervento da parte della fotocamera. Quando le pagine vuote diventano scarse, il controller identificherà un blocco le cui pagine sono state per lo più sostituite da pagine scritte più di recente, copia tutte le pagine ancora correnti da quel blocco a blocchi vuoti, quindi cancella l'intero blocco ora ridondante . Tutta questa logica è gestita interamente dalla scheda stessa, senza alcun intervento da parte della fotocamera.
Tutta questa logica significa che oltre al FAT32 o ad altri file system visti dalla telecamera, la scheda SD dovrà avere un proprio sistema di allocazione e gestione dei blocchi. Eventuali problemi che si verificano in quel sistema possono causare la perdita di dati, indipendentemente dal tipo di sistema che si trova sopra di esso. In teoria, molte schede di memoria sono progettate per garantire che anche se l'alimentazione viene inaspettatamente rimossa durante alcune operazioni, la scheda sarà in grado di ripristinare lo stato della scheda a quello che era prima dell'inizio dell'operazione, oppure eseguirla fino al completamento ( se tutti i dati necessari fossero stati scritti e la scheda stesse semplicemente ripulendo i dati ridondanti). Sfortunatamente, le carte differiscono per quanto bene implementano tale logica. Se l'interruzione improvvisa dell'alimentazione blocca le tabelle di gestione della memoria di una scheda,
Personalmente, penso che sarebbe stato meglio per il consorzio SD specificare un file system indipendente da FAT32, o almeno specificare che anche se una scheda dovesse essere leggibile come volume FAT32, dovrebbe essere scritta usando una comunicazione basata su file protocollo. Una scheda che sa quali gruppi di settori sono membri di ciascun file potrebbe ottimizzare le sue routine di deframmentazione attorno a ciò, e potrebbe anche fare un lavoro migliore di protezione contro la perdita di dati rispetto a quella che potrebbe presentare il disco come un mazzo di 512 byte indipendenti settori, ma nel bene e nel male non è così che vengono specificate le cose.