chiudi

Non sei ancora registrato? Cosa aspetti, corri a farlo QUI !!

LOGIN / JOIN !
Registrati
Reviews
Forum

Translate!

English Chinese (Simplified) French German Japanese

Newsletter: iscriviti!

Devi prima registrarti per poterti iscrivere ad una newsletter.
No account yet? Register

Statistiche

statistiche contatore

Siti Amici

Antologia di un SSD: alla scoperta dei principi di funzionamento e caratteristiche - 6) Il parallelismo degli SSD e il problema della cancellazione dei dati

Valutazione attuale: / 48
ScarsoOttimo 
Indice
Antologia di un SSD: alla scoperta dei principi di funzionamento e caratteristiche
1) Introduzione
2) Elenco controller e drive che li adottano. JMicron 602: il controller pestifero
3) Latenza e scritture random: il vero collo di bottiglia
4) Gli SSD ''rallentano'' quando vengono riempiti, ma non dovrebbero
5) L' ''anatomia'' di un SSD
6) Il parallelismo degli SSD e il problema della cancellazione dei dati
7) Indirizzamento, lettura, scrittura e sovrascrittura dei dati
8) Come funziona l'SSD e perchè le sue prestazioni degradano
9) Come aggirare il problema del degrado di performance
10) Il comando TRIM: cos'è e come funziona
11) Come ripristinare il drive alle sue originali performance
12) Test: SSD nuovo vs SSD usato/pieno
13) Considerazioni finali e conclusioni
Tutte le pagine

Fondamentalmente le memoria flash usate in un SSD provengono dalla stessa stirpe di flash usate nei drive USB. Questi ultimi non sono molto veloci, poichè la velocità di picco di una NAND-flash varia tra 5 e 40 MB/s.

Perchè gli SSD sono invece notevolmente più veloci? Semplicemente perchè i circuiti di memoria NANF-flash presenti negli SSD sono organizzati secondo un criterio di parallelismo. Le reali performance di un disco a stato solido, infatti, derivano dal fatto che viene eseguito l'accesso a più NAND IC (dicitura abbreviata che sta ad indicare i circuiti integrati NAND) contemporaneamente. Se ad esempio ogni NAND garantisce 20 MB/s di bandwidth e si accede contemporaneamente a 10 chip, la velocità globale sarà pari a 200 MB/s.

Ecco un'altra differenza sostanziale rispetto agli hard disk: mentre questi ultimi leggono e scrivono a partire da una medesima singola porzione del piatto, negli SSD tale concetto non è valido poichè vale il criterio del parallelismo. Una sorta di multithreading, dunque. Alcuni SSD sono addirittura progettati per preferire che i dati vengano sparsi appositamente in tutto il drive in modo da poter scrivere e poi leggere tale dato da diversi chip contemporaneamente. Molti drive SSD hanno controller dotati di più canali, solitamente variabile tra 4 e 10.

Sono quindi i canali di un controller ad influenzare il grado di parallelismo di cui un'unità SSD è capace. Intel, ad esempio, ha sempre prediletto un numero maggiore di canali. E' ovvio che, all'aumentare dei canali, è possibile bilanciare il numero di bit da scrivere dividendoli equamente tra i canali a disposizione ed evitando che alcune celle vengano scritte di più rispetto ad altre. Tale tecnica è detta wear levelling.

Tornando al discorso dell'organizzazione fisica di un SSD in pagine (da 4KB) e blocchi (da 512KB) si è detto che è possibile leggere e scrivere su una singola pagina, almeno finchè tale pagina è VUOTA. La pagina non può essere sovrascritta, il suo contenuto deve essere cancellato prima di poterci riscrivere nuovamente. Ed è proprio questo il problema. la più piccola struttura di un SSD che è possibile cancellare è un blocco. Effettivamente è uno spreco: per cancellare una singola pagina è quindi necessario, in realtà, cancellare l'intero blocco cui la pagina appartiene.

Riassumendo, un SSD può leggere e scrivere 4KB per volta, ma può cancellare solamente 512KB per volta.

Ogni volta che si cancella un blocco, viene ridotta l'aspettativa di vita della memoria flash. Le memorie NAND MLC possono essere cancellate 10.000 volte prima di diventare inutilizzabili per l'archiviazione dei dati.

Per questo motivo si cerca di ovviare a tale problematica evitando di sovrascrivere dati già memorizzati e cancellare dati. Sono queste la due situazioni che comportano la cancellazione dell'intero blocco cui la/e pagina/e considerate appartengono.

Chi possiede un SSD solitamente non riempie il proprio drive, per questo i produttori di controller tentano di aggirare la problematica scrivendo in ogni pagina del blocco prima di cancellare quel particolare blocco.

Ovviamente, se si utilizzano tutte le pagine dell'SSD per scriverci all'interno e non si cancella mai nulla dal drive, si esauriranno tutte le pagine a disposizione. In realtà può capitare che, sebbene non siano scritte tutte le pagine di un SSD, tutti i blocchi siano pieni (di pagine sia valide che "invalide").

In altre parole, persino se si usa il 60% della capacità dell'SSD, ci si può ritrovare con l'intero SSD riempito totalmente dal controller a causa della quotidiana crezione e cancellazione dei file.




Articoli correlati:
Articoli più recenti:
Articoli meno recenti: