Unità di memoria a stato solido

Un'unità di memoria a stato solido(iningleseSolid-State Drive, abbreviatoSSD,lett."unità a stato solido", a volte erroneamente indicato comeSolid-State Disk) è un dispositivo dimemoria di massabasato susemiconduttore, che utilizza memoria allo stato solido (Solid-State Storage), in particolarememoria flash, per l'archiviazione deidati.
A differenza dei supporti di tipomagneticocome nel caso deldisco rigidoa testina, una unità di memoria a stato solido ha la possibilità di memorizzare in maniera non volatile grandi quantità di dati, senza l'utilizzo di organi meccanici (piatti, testine, motori ecc.) come fanno invece gli hard disk tradizionali. La maggior parte delle unità a stato solido utilizza la tecnologia dellememorie flash NAND, che permette una distribuzione uniforme dei dati e di "usura" dell'unità.
Le unità allo stato solido si basano sumemoria flashsolitamente di tipoNANDper l'immagazzinamento dei dati, ovvero sfruttano l'effetto tunnelper modificare lo stato elettronico di celle ditransistor; per questo esse non richiedono parti meccaniche in movimento (dischi, motori e testine), né componenti magnetici, il che comporta notevoli vantaggi alla riduzione dei consumi elettrici e dell'usura.
La memoria degli SSD è solitamente di tipo NAND 2D (a singolo strato) o 3D (multistrato o V-NAND), una tecnologia che può differenziarsi inSingle Level Cell(SLC),Multi Level Cell(MLC),Triple Level Cell(TLC) eQuad Level Cell(QLC) a seconda del numero di bit per cella e di conseguenza dei livelli di tensione che può assumere; tali memorie vanno incontro a usura e a perdere precisione del livello di tensione, generando un maggior carico dell'algoritmoerror-correcting code(ECC).Altra caratteristica delle memorie flash risiede nelle ridotte dimensioni fisiche che consentono la realizzazione di unità SSD estremamente compatte e leggere, quindi facilmente integrabili anche all'interno dei dispositivi mobili ultrasottili.Oltre alla memoria in sé, un'unità SSD dispone di diversi componenti necessari alla gestione del suo funzionamento.
Il controller è costituito da unmicroprocessoreche si occupa di coordinare tutte le operazioni della memoria di massa. Il software che governa questo componente è unfirmwarepreinstallato dal produttore. Oltre alle operazioni di lettura/scrittura si occupa della gestione di:
La memoria Cache è una memoria, a seconda del livello a cui appartiene, solitamente nell'ordine di qualche MB a seconda del tipo di sistema e generalmente proporzionale alla capienza dell'SSD, utilizzata dal processore per immagazzinare temporaneamente informazioni che verranno richieste in seguito dal sistema. Essa viene quindi riempita e svuotata molte volte. Questa cache può essere di vario tipo:
Una novità introdotta dalle memorie a stato solido è la possibilità di terminare le operazioni di scrittura anche in caso di mancanza di tensione. Questo avviene grazie alla presenza di unsupercondensatoreo, più raramente, di una batteria di backup, che garantisce energia sufficiente per concludere l'operazione in corso. Questa tecnica permette di garantire una maggioreintegrità dei datied evitare che ilfile systemrisulti corrotto.
La connessione può avvenire con cavi di tipoSATA, sia per quanto riguarda la connessione dati che per l'alimentazione. In definitiva è possibile collegare un SSD utilizzando una normale interfaccia SATA2 (3Gb/s) o SATA3 (6Gb/s). Vi sono inoltre SSD che utilizzano l'interfacciaPCI Express; quest'ultima può arrivare fino a una velocità di trasferimento di 21 Gb/s.
Riassumendo, le memorie a stato solido posso essere di varie dimensioni e connessioni:
La totale assenza di parti meccaniche in movimento porta diversi vantaggi, di cui i principali sono:
A fronte di una maggiore resistenza agli urti e a un minor consumo, le unità a stato solido hanno due svantaggi principali:
Questi problemi sembrano però destinati a risolversi in futuro. Le nuove tecnologie stanno portando memorie flash in grado di garantire durata pari o superiore a quella di un disco rigido tradizionale e attualmente i produttori dichiarano 140 anni di vita con 50GBdi riscritture al giorno su un'unità da 250 GB. Il tutto grazie all'introduzione di particolari tecniche, come quella dell'uso dinanotubi di carbonio.
È in corso una progressiva sostituzione dei dischi tradizionali con unità allo stato solido.
Un elemento che viene immediatamente alla luce analizzando le prestazioni di un dispositivo SSD è la minor velocità in scrittura rispetto a quella in lettura e la sua forte variabilità in dipendenza della dimensione dei file che si vogliono scrivere. Ciò dipende dal fatto che mentre iFile systemdeiSistemi Operativisolitamente usano blocchi di celle dalla dimensione di 4KiB, nei dispositivi SSD la dimensione dei blocchi è molto superiore (per esempio 4MiB).
Questo comporta che per scrivere una cella dobbiamo leggere prima l'intero blocco, quindi scrivere sopra la cella desiderata lasciando le altre inalterate e infine salvarlo. Ne deriva che se dobbiamo scrivere più celle (file più grandi) le prestazioni migliorano, perché a fronte della lettura e poi del salvataggio di un blocco, possiamo scriverci dentro contemporaneamente tante celle quante sono quelle libere disponibili. Un modo per migliorare le prestazioni è quello di conoscere i blocchi liberi (con nessuna cella utilizzata); per ottenere ciò i sistemi operativi di ultima generazione mettono a disposizione il comandoTRIM, che comunica al controller dell'SSD quali blocchi sono inutilizzati e cancellano le celle direttamente in fase di cancellazione dei file, migliorando dunque le prestazioni.
La frammentazione di un disco SSD non influisce sulle sue prestazioni, poiché il tempo d'accesso a qualunque cella è identico; i moderni sistemi operativi pertanto disattivano la deframmentazione del disco (in tutti i sistemi operativi Microsoft Windows, occorre però disattivare la schedulazione, altrimenti la deframmentazione sarà comunque pianificata), in quanto risulta non solo inutile, ma addirittura dannosa poiché influisce negativamente sulla vita del disco stesso. Infatti proprio per aumentare la durata del supporto si cerca di ridurre il sovraccarico sempre su una cella riscrivendola di continuo, grazie all'ausilio di un controllore che distribuisce i dati in fase di scrittura cercando di sfruttare tutto il disco ed evitando di lasciare parti inutilizzate. Al contrario la deframmentazione non farebbe altro che aumentare il numero di cicli scrittura di dati accorciando la vita del disco stesso.
Le caratteristiche delle unità SSD sono alla base di impieghi spesso specifici. Ad esempio, esiste la fascia dei desktop e notebookdual drivecioè dotati di doppia unità di memoria, con la seguente configurazione:
Chiaramente, esistono le altre due configurazioni, quella più economica e quella più prestazionale: