Manuale File System │ Documento 26/855; Edizione IT02; 2011-07-15
Saia-Burgess Controls SA
Caratteristiche speciche dei dispositivi Flash
Dispositivi Flash: accesso e caratteristiche speciche
2-4
2
2.2 Caratteristiche speciche dei dispositivi ash
2.2.1 Struttura interna
I dispositivi ash con funzionalità le system sono organizzati in pagine (256 /
512 Byte
1
), blocchi (512 Byte … 8 KByte
1
) e settori (64 KByte). Una pagina rappre-
senta un’unità di scrittura, un blocco un’unità le ed un settore un’unità di inizializ-
zazione. Ciò signica che la più piccola porzione di memoria ash che può essere
scritta è una pagina da 256 byte mentre la porzione più piccola di memoria ash che
si può inizializzare singolarmente è pari a 64 KByte. Quando si crea un le, a que-
st’ultimo viene allocato almeno un blocco (ovvero 2 KByte). Anche se le dimensioni
del le sono inferiori, l’occupazione di memoria sul dispositivo sarà sempre pari a
2 KB. Quando un blocco da 2 KB risulterà riempito di dati, verrà allocato un nuovo
blocco e lo spazio di memoria occupato sul dispositivo diverrà pari a 4 KB.
Su ciascun modulo con funzionalità le system, viene riservato dello spazio per dati
interni relativi al le system stesso (viene riservato un blocco da 64 Kbyte e sono uti-
lizzati alcuni blocchi per i suddetti dati interni). Ciò signica che l’utente ha a disposi-
zione uno spazio di memorizzazione leggermente inferiore alla dimensione nominale
specicata per il dispositivo ash.
2.2.2 Cancellazione e inizializzazione dati su dispositivi ash
A differenza delle informazioni memorizzate, ad esempio, su RAM (Random Access
Memory - Memoria ad Accesso Casuale) non è possibile sulle memorie ash modi-
care le informazioni semplicemente indirizzando e modicando il valore dei bit inte-
ressati. Prima di poter riscrivere una porzione di memoria ash, ad esempio dopo la
cancellazione di dati, tale porzione deve essere inizializzata. Eseguendo l’inizializza-
zione, tutti i bit della porzione di memoria interessata vengono impostati a “1”.
Se si cancella un le memorizzato su un dispositivo ash, la relativa area di memoriz-
zazione viene marcata come “liberata” ma essa non viene subito inizializzata (questo
perchè la più piccola porzione di memoria che può essere inizializzata è pari ad 1
settore e questo settore può contenere più le e non il solo le cancellato). Per que-
sto motivo, non è possibile riutilizzare immediatamente la porzione di memoria che
era occupata dal le cancellato. Questa porzione dovrà essere prima compressa (→
inizializzazione della memoria marcata come “liberata”).
2.2.3 Compressione di un dispositivo ash
La compressione di un dispositivo ash è un’operazione complessa che prevede la
copia di tutti i dati interessati all’interno di un settore riservato e quindi l’inizializzazio-
ne del settore da comprimere. Al termine del processo di inizializzazione (che richie-
de circa 2 secondi) i dati interessati vengono ricopiati nel settore originale (mentre il
settore riservato viene a sua volta inizializzato per predisporlo al ciclo successivo).
Ultimata la compressione, nel settore compresso non vi sarà più memoria “liberata” e
quindi sarà possibile scrivere su tutta la memoria inutilizzata.
Per default, la compressione viene avviata automaticamente (in base al rapporto tra
memoria utilizzata, liberata e disponibile sul dispositivo). Durante la compressione,
non è possibile accedere al dispositivo ash e questo viene indicato come “occupa-
to”. Ciò può portare, ad esempio, al fallimento del download di un le via FTP perchè
il PCD ha avviato la compressione durante il download stesso. Per evitare questo
tipo di problema, si raccomanda di eseguire la compressione del dispositivo ash via
programma utente o utilizzando le chiamate CGI del Web Server del PCD.
1) La dimensione delle pagine e dei blocchi dipende dal tipo di dispositivo; le schede SD inserite in un
modulo PCD3.R600 possiedono generalmente pagine e blocchi di maggiori dimensioni.