Estratto del documento

Progetto: Calcolatori SSD elettronici e reti di Solid State Drive

Unità a stato solido

In informatica un'unità a stato solido o drive a stato solido, in sigla SSD (dal corrispettivo termine inglese Solid-State Drive), talvolta impropriamente chiamata disco a stato solido, è una tipologia di dispositivo di memoria di massa che utilizza memoria a stato solido (in particolare memoria flash) per l'archiviazione dati. L'importante differenza con i classici dischi è la possibilità di memorizzare in modo non volatile grandi quantità di dati, senza utilizzare organi meccanici.

La maggior parte delle unità a stato solido utilizza la tecnologia delle memorie flash NAND, che permette una distribuzione uniforme dei dati e di usura dell'unità. Questa tecnologia non è affatto nuova (se ne parlava già 30 anni fa) ma soltanto nell’ultimo periodo si è arrivato ad un tale rapporto qualità/prezzo che può soddisfare un settore così diffuso e pieno di concorrenza. Basti pensare che, nel 1980, un MB di SSD costava migliaia e migliaia di dollari, mentre al giorno d’oggi hanno raggiunto prezzi almeno paragonabili a quelli della loro controparte meccanica, i classici HD a dischi magnetici.

Dettagli tecnici

Le unità a stato solido si basano sulla stessa tecnologia di funzionamento delle memorie flash. Non sapete cosa sono? Beh, il vostro cellulare ne ha una, quella che vi permette di salvare MP3 e foto sul vostro dispositivo portatile sono piccole memorie NAND, un tipo di memoria flash. Anche negli SSD il tipo di flash memory utilizzato con maggior frequenza è quello NAND. Questi non sono altro che migliaia di milioni di microscopici transistor che utilizzano "l’effetto tunnel" per modificare il proprio stato elettronico e quindi, messi in ordine, permettono l’archiviazione di bit-byte-megabyte e gigabyte di dati ad una velocità assurda per un HD meccanico con tanto di testina e dischi; per questo essi non richiedono parti meccaniche e magnetiche (dischi, motori e testine), portando notevoli vantaggi per la sicurezza dei dati.

Il concetto di memoria flash nasce con le prime memorie ROM (Read Only Memory), quelle di sola lettura. O meglio, le scrive una volta e poi le si può solo leggere a meno di non eseguire una cancellazione ed una nuova scrittura per mezzo di particolari tecniche. Le attuali memorie flash estendono questa tecnologia facendo sì che sia possibile eseguire anche le operazioni di scrittura in maniera semplice ed in real time allo stesso modo delle operazioni di lettura.

Inizialmente venivano usate celle di tipo NOR che dal punto di vista dell’elettronica non differivano molto dalle implementazioni attuali. La singola cella prevede l’utilizzo di un Mosfet Floating Gate che dispone di un Gate flottante posto tra il tradizionale Gate del Mosfet (indicato come Control Gate) e gli elementi di Source e Drain.

In questo schema il Floating Gate risulta essere completamente isolato dagli altri elementi grazie allo strato di ossido da cui è circondato: è proprio questa caratteristica che fa sì che un normale Mosfet possa trasformarsi in una cella di memoria. Gli elettroni presenti in qualche modo nel floating gate restano intrappolati al suo interno e costituiscono il bit di informazione.

Controller

Oltre alla memoria in sé, un’unità disco SSD dispone di diversi componenti di supporto alle operazioni. Il controller è costituito da un microprocessore che si occupa di coordinare tutte le operazioni della memoria di massa. Il software che governa questo componente è il firmware preinstallato dal produttore. Oltre alle operazioni di lettura/scrittura si occupa della gestione di:

  • Error correction: controllo e correzione degli errori in fase lettura/scrittura
  • Wear leveling: distribuzione della scrittura in maniera uniforme su tutto il drive
  • Bad block: rilevamento e riallocazione trasparente con blocchi di riserva dei settori danneggiati
  • Cache: memoria interna del dispositivo
  • Garbage collection: rilevamento e riduzione automatica della frammentazione dell’organizzazione interna del disco
  • Crittografia dei dati

Uno dei primi controller utilizzati nei dischi SSD capace di offrire prestazioni discrete a prezzi molto interessanti è quello fornito da JMicron e indicato con la sigla JMF602B. Tale controller è oggi affiancato dal nuovo modello JMF612 e da altri modelli di produttori diversi come il Barefoot di Indilinx basati su core ARM9 e dotati di un massimo di 256MB di memoria cache di tipo DDR o DDR2. Questi ultimi offrono prestazioni decisamente elevate grazie ad una architettura a otto canali (il doppio di quelli garantiti dai primi controller) che permette di raggiungere velocità di lettura e scrittura fino a 250 MB/s e la gestione di un massimo di 8.000 operazioni di I/O al secondo.

I controller di attuale generazione si occupano anche del problema del decadimento prestazionale dei dischi SSD che avviene dopo un primo periodo di utilizzo a causa della necessità delle cancellazioni dei dati precedenti ovviamente non necessarie nel momento in cui il disco è vuoto.

In merito a questa situazione una particolare implementazione è quella realizzata da Intel che ha adottato una tecnica molto costosa ma davvero efficace. Il produttore, infatti, detiene ancora diversi record di performance nonostante i controller SSD dei suoi concorrenti abbiano fatto notevoli passi avanti. L’idea di Intel è stata quella di affiancare ogni blocco di celle della memoria flash con un ulteriore blocco di dimensioni più contenute da utilizzare come buffer. Tale buffer è mantenuto sempre vuoto in modo da scrivere immediatamente i dati provenienti dal sistema al suo interno.

Una successiva operazione, trasparente per il sistema e per l’utente ma gestita proprio dal controller, permette di copiare il contenuto dal buffer nello spazio di memoria realmente disponibile del disco ripulendo nuovamente il buffer e tenendolo pronto per successive operazioni di scrittura. In questo modo le operazioni di scrittura non sono inficiate dai tempi necessari alla cancellazione delle celle eventualmente occupate e, a differenza dell'utilizzo di un buffer di memoria RAM (volatile), anche nel caso in cui ci sia perdita di alimentazione i dati non vengono persi.

Memoria cache

La memoria cache è una memoria solitamente di pochi MB utilizzata dal processore per immagazzinare temporaneamente informazioni. Essa viene quindi riempita e svuotata molte volte.

Supercondensatore

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 un supercondensatore o, più raramente, di una batteria di backup, che garantisce energia sufficiente per concludere l'operazione in corso. Questa tecnica permette di garantire una maggiore integrità dei dati ed evitare che si verifichino perdite di dati.

Anteprima
Vedrai una selezione di 4 pagine su 14
Progetto SSD Pag. 1 Progetto SSD Pag. 2
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Progetto SSD Pag. 6
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Progetto SSD Pag. 11
1 su 14
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher sgorbius90 di informazioni apprese con la frequenza delle lezioni di Calcolatori elettronici e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università Politecnica delle Marche - Ancona o del prof Pirani Massimiliano.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community