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
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

LEVELING:

-BAD rilevamento e riallocazione trasparente con blocchi di riserva dei settori

BLOCK:

danneggiati

-MEMORIA interna del dispositivo

CACHE:

-GARBAGE rilevamento e riduzione automatica della frammentazione

COLLECTION:

dell’organizzazione interna del disco

-CRIPTAZIONE 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 . 2

In merito a questa situazione una particolare Controller in un SSD (Samsung)

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 il filesystem risulti corrotto.

Interfaccia

La connessione può avvenire con cavi di tipo SATA, 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 interfacce PATA

e PCI Express. 3

Lettura

La rilevazione del dato (operazione di lettura)

avviene applicando una tensione al Control

Gate e misurando il passaggio di corrente fra

Source e Drain. Se il Floating Gate contiene

elettroni al suo interno, il campo elettrico

generato dall´applicazione della tensione sul

Control Gate sarà bloccato e non scorrerà

alcuna tensione fra Source e Drain. Al

contrario, se nel Floating Gate non sono

presenti elettroni, la tensione applicata sul

Control Gate farà fluire corrente fra gli elementi

di Source e Drain del mosfet. L´assenza o la

presenza di tale corrente viene tradotta

semplicemente in un valore 1 o 0 logico.

Scrittura

L´operazione di scrittura del dato nella cella di

memoria è un po´ più complicata ma il discorso

di base tutto sommato è abbastanza lineare. Per

poter inserire e togliere gli elettroni dal

Floating Gate, visto che come abbiamo detto

esso è isolato dal resto del mosfet, occorre

sfruttare un paio di fenomeni della fisica

quantistica, meglio noti come iniezione a

valanga (hot carrier injection) ed effetto tunnel

rispettivamente. Quando si vuole scrivere un

bit 0 su una memoria flash è necessario far

scorrere elettroni all´interno del Floating Gate.

In pratica si crea un flusso di corrente fra

Source e Drain mentre si applica una tensione

abbastanza elevata sul Control Gate: si genera così un campo elettrico sufficiente ad

accellerare gli elettroni che saltano letteralmente la barriera isolante e finiscono nel Floating

Gate. Quando invece si vuole scrivere un bit 1 occorre svuotare il Floating Gate da tutti (o

quasi) gli elettroni presenti al suo interno. In tal caso si utilizza l´effetto tunnel generato da una

differenza di potenziale fra Control Gate e Drain che spinge gli elettroni fuori dal Floating

Gate verso il Drain. 4

Livelli SSD

Le celle di memoria utilizzate attualmente per realizzare un disco SSD sono di due tipi.

Generalmente si parla di memorie flash Single Level Cell (SLC) quando ogni cella può

memorizzare al massimo un solo bit di informazione e di memorie flash Multi Level Cell (MLC)

quando ogni cella è in grado di memorizzare due o più bit di informazione. Costruendo un disco

SSD con MLC capite bene che è molto facile ottenere capacità di memorizzazione decisamente

superiori rispetto a quelle che possono essere raggiunte con le SLC. In commercio oggi sono

disponibili dischi con SLC e MLC a due livelli in grado di contenere due dati per ogni cella e

dunque con capacità doppia.

Ma è davvero tutto oro ciò che luccica? Assolutamente no. La tecnologia MLC prevede

operazioni di lettura e scrittura più complesse rispetto alla tecnologia SLC e dunque risulta più

lenta. Prendendo ad esempio una MLC a due livelli, per leggere un dato sono necessari due

cicli e la cosa si fa ancora più complicata nella scrittura rispetto alle SLC.

Single Level Cell

Nelle operazioni di lettura di una SLC per rilevare una singola informazione è sufficiente capire

se scorre o meno corrente fra Drain e Source nel momento in cui applichiamo una tensione al

Gate. Il risultato sarà uno 0 oppure un 1 in base alla tensione di soglia Vt della cella. La

tensione di soglia può essere manipolata dalla quantità di carica elettronica presente

all´interno del Floating Gate. In generale, quando la tensione di soglia è abbastanza elevata, la

cella sarà letta come programmata. Il delta fra i due livelli 0 e 1 è abbastanza netto e questo fa sì

che non siano necessarie verifiche particolari per le SLC durante la scrittura o la lettura.

Multi Level Cell

Con una memoria flash MLC a due bit, le informazioni a disposizione sono quattro, ovvero 00,

01, 10 e 11 in base a come essa viene letta. I quattro stati elettronici sono indicati come

completamente programmata, parzialmente programmata, parzialmente cancellata e

completamente cancellata. Si intuisce da queste denominazioni che sarà proprio il livello di

carica elettronica imposta al Floating Gate a determinare il valore del dato. Come si vede dalla

figura seguente, la differenza fra i quattro livelli di tensione di soglia (delta) è molto meno

marcata che in precedenza. Questo implica per le MLC una programmazione più rigidamente

controllata in modo da manipolare una quantità di carica più precisa da immagazzinare nel

Floating Gate. 5

Con le memorie MLC le operazioni di lettura sono sempre basate sulle tensioni di soglia della

cella. In questo caso si effettua una ricerca dicotomica del valore con due passaggi. Prima si

impone una tensione di soglia centrale di 4V e si valuta se il mosfet conduce (dobbiamo

guardare i dati a destra) o meno (dobbiamo guardare i dati a sinistra). A questo punto si

impone una tensione di soglia nuovamente centrale ma nell´intervallo prescelto e si valuta il

risultato.

In quanto alle operazioni di scrittura è necessario effettuare prima una cancellazione delle

celle di un blocco e poi riscrivere l´intero blocco con il nuovo dato. Nel caso delle memorie SLC

la cancellazione e scrittura di una singola cella non comporta problemi particolari, mentre con

le memorie MLC occorrono diversi passaggi:

1)Scrittura del dato 11 nella cella.

2)Verifica del dato 11.

3)Scrittura del valore desiderato.

4)Verifica del valore desiderato.

Mettiamo dunque a confronto diretto le caratteristiche delle memorie SLC con quelle delle

memorie MLC e cerchiamo di coglierne vantaggi e svantaggi.

Densità di memorizzazione

Considerando lo stesso processo produttivo e le stesse dimensioni del chip, le memorie MLC a

due bit offrono una capacità doppia rispetto a quelle SLC.

Prestazioni

Sempre nelle stesse condizioni del punto precedente, le memorie MLC richiedono tempi da due

a tre volte superiori nella scrittura rispetto alle memorie SLC. I tempi - dunque le prestazioni -

in lettura sono invece molto simili grazie all´utilizzo di un comparatore di tensione nella

rilevazione dei livelli di soglia che esegue il controllo praticamente all´istante.

Potenza assorbita

Non ci sono grosse differenze circuitali fra memorie flash MLC ed SLC dunque anche i

consumi sono all´incirca gli stessi. 6

Vita media

Le memorie flash MLC hanno una valore di vita media di almeno un ordine di grandezza

inferiore se comparato con quello delle memorie SLC: il degrado del silicio dovuto al

surriscaldamento ed alle correnti di dispersione fa sì che venga man mano ridotta la

differenziazione fra i livelli riducendo così la sicurezza nella rilevazione del dato. Si consideri

comunque che 10.000 cicli corrispondono - se consideriamo un disco da 64GB - a scrivere 40

TB di dati in un periodo di 5 anni di vita, ovvero 22 GB di nuovi dati al giorno. Con un disco da

128 GB i valori raddoppiano. Se però volessimo utilizzare dischi SSD con sistemi che scrivono

continuamente sul disco come server o personal video recorder (PVR), allora la scelta deve

necessariamente cadere su dischi che utilizzano memorie flash SLC.

Correzione dell´errore

Allo stesso modo in cui un hard disk tradizionale può avere qualche settore rovinato, le

memorie NAND flash prevedono una mappa gestita dal controller che tiene conto di eventuali

a

Dettagli
Publisher
A.A. 2014-2015
14 pagine
2 download
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.