Salta ai contenuti. | Salta alla navigazione

Strumenti personali

DATA STORAGE

Anno accademico e docente
Non hai trovato la Scheda dell'insegnamento riferita a un anno accademico precedente? Ecco come fare >>
English course description
Anno accademico
2021/2022
Docente
CRISTIAN ZAMBELLI
Crediti formativi
6
Periodo didattico
Primo Semestre
SSD
ING-INF/01

Obiettivi formativi

Il corso di Data Storage esamina nel dettaglio i dispositivi a semiconduttore, i circuiti e le architetture necessarie per la memorizzazione dell'informazione negli scenari più disparati dell'elettronica, dal mondo embedded sino ai data centers.

L'obiettivo principale del corso è di fornire agli studenti le basi per comprendere la gerarchia di memoria in un sistema elettronico ed affrontare l'analisi dei componenti necessari per implementare lo storage dei dati sotto vincoli di performance, affidabilità e consumo di potenza dettati dall'applicazione che interagirà con i dati. Gli strumenti forniti saranno quindi alla base dell'attività di progettazione di un ambiente di storage ottimizzato.

Le principali conoscenze acquisite saranno:
- Elementi teorici di memorizzazione dell'informazione su dispositivi elettronici.
- Tecnologie e caratteristiche dei circuiti per memorizzare poche quantità di dati nell'ordine del centinaio di bits (Flip-Flop e registri).
- Tecnologie, circuiti e architetture per la realizzazione di memorie volatili (SRAM e DRAM) con capacità da pochi MBytes fino alla decina di GBytes
- Tecnologie, circuiti e architetture per la realizzazione di memorie non-volatili a semiconduttore con elevata densità di storage (NOR Flash e NAND Flash)
- Architettura dei dischi a stato solido (SSD) per la memorizzazione di grandi quantità di dati (fino alla decina di TByte per disco) e gestione della loro affidabilità/performance
- Gestione di soluzioni di storage hyper-scaled in ambienti quali data centers o High Performance Computing (HPC)
-Tecnologie e architetture di memoria innovative quali RRAM, PCM e STT-MRAM
- Applicazioni innovative dello storage quali In-Memory Computing, In-Storage Processing e Computational Storage

Le principali abilità (ossia la capacità di applicare le conoscenze acquisite) saranno:

- Identificare la tecnologia di memoria ideale per un determinato contesto applicativo.
- Valutare i vincoli di performance e affidabilità dello storage in funzione della tecnologia scelta ed una conseguente ottimizzazione della gerarchia di memoria.
- Progettare un ambiente di memorizzazione basato su dischi a stato solido.

Prerequisiti

Per seguire il corso è necessario avere compreso e studiato i concetti di:

- Elettronica digitale relativamente alle strutture e ai circuiti digitali per la manipolazione logica dei dati
- Calcolatori Elettronici per quanto concerne l'architettura di un sistema di elaborazione e l'algebra booleana

Nel corso sono comunque previsti dei richiami a tali concetti per facilitare la comprensione di alcuni argomenti specifici del corso. Per sostenere l'esame non è necessario avere superato gli esami associati.

Contenuti del corso

Il corso prevede 60 ore (45 ore di didattica in aula, 12.5 ore di approfondimenti attraverso attività di gruppo e focus group e un seminario di 2.5 ore tenuto da un data storage engineer).

Introduzione al corso (2.5 ore)
- Introduzione al mondo del data storage
- L'attuale gerarchia di memoria nei sistemi elettronici
- Trend tecnologici e innovazione gerarchica
- CPU, GPU e FPGA: cosa c'entra lo storage?
- Artificial Intelligence (AI), Internet-of-Things (IoT) e Big Data visti dalla prospettiva dello storage
- Considerazioni sui limiti attuali dello storage: affidabilità, performance e consumo di potenza

Come memorizzare un bit o poco più (2.5 ore)
- Il circuito multivibratore bistabile e i latch
- Flip-Flops (D e JK type)
- Performance (setup and hold times, propagation delay)
- Memorizzare una parola (un byte o poco più...): registri e loro architettura
- Caratteristiche costruttive e considerazioni di progetto
- Pipelining delle operazioni coinvolgendo i registri

Memorie SRAM (2.5 ore)
- La cella di memoria SRAM (operazioni di lettura e scrittura)
- Layout e architettura delle bitlines
- Circuiteria periferica (decoders, sense amplifiers, conditioning delle bitlines)
- Architetture multi-port
- Usare la memoria come cache off-chip (performance analysis)

Memorie DRAM (5 ore)
- La cella di memoria DRAM (operazioni di lettura e scrittura)
- Layout e architettura della memoria
- Costruzione dell'array e DRAM subsystem
- Protocolli DDR, LPDDR e GDDR
- Accesso tramite comandi
- Signal Integrity e consumo di potenza
- Affidabilità (row-hammer attack e retention issues)
- High Bandwidth Memory

Introduzione alle memorie non-volatili (2.5 ore)
- ROM (architettura e generalità sul loro utilizzo)
- Effetto tunnel (Fowler-Nordheim) ed elettroni caldi
- Il transistore FLOTOX
- Cenni sull'architettura EEPROM
- Survoltori o pompe di carica

Memorie NOR Flash (2.5 ore)
- Architettura e layout di un chip di memoria NOR Flash
- Operazioni di lettura, scrittura e cancellazione
- Circuiteria periferica per le operazioni di lettura e scrittura
- Algoritmi per il controllo dell'affidabilità
- Gate e Drain disturb
- NOR Flash subsytem
- SPI NOR e eXecute in Place (XiP)

Memorie NAND Flash (7.5 ore)
- Architettura e layout di un chip di memoria NAND Flash
- Operazioni di lettura e scrittura (concetto)
- Circuiteria periferica per le operazioni di lettura e scrittura
- Algoritmi per il controllo delle operazioni e dell'affidabilità
- Paradigmi multi-livello
- Flash memory subsystem (command interface)

Architetture 3D NAND Flash (2.5 ore)
- Il concetto di 3D stacking die
- BiCS e p-BiCS
- VRAT e VSAT
- TCAT e V-NAND per terabit storage

Dischi a stato solido (SSD) (7.5 ore)
- Architettura di un SSD
- Confronto tra SSD e HDD
- SSD controller
- Organizzazione memorie NAND
– Host Interface: SATA, SAS, PCIe
– DRAM buffers e tecniche di caching
– Modellazione SSD
– Tecniche di adaptive NAND processing
– Hybrid storage: SSD per applicazioni enterprise

Lo storage nei data centers (5 ore)
- Introduzione al mondo HPC
- Piattaforme di storage on-premise e distribuito
- Il protocollo NVMe
- In-storage processing (KV-store, genomics, ecc.)
- Computational storage

Tecnologie emergenti di memorizzazione non-volatile (2.5 ore)
- Memorie PCM
- Memorie MRAM
- Memorie FeRAM
- Memorie RRAM

In-memory computing (2.5 ore)
- Utilizzare la tecnologia di memoria RRAM come esempio per creare reti neurali veloci
- Task neuromorfici
- Operazioni aritmetiche e MAC ad alta velocità con RRAM

Metodi didattici

Nell'anno accademico 2021/2022, il corso verrà erogato in modalità mista o "blended" (contemporaneamente sia in presenza che in teledidattica) in accordo con le disposizioni vigenti relative all'emergenza COVID.

Tutte le lezioni saranno registrate e rese disponibili su Classroom dalla mezzanotte del giorno successivo all'erogazione in aula (codice vzvttsz, accesso con le credenziali dell’account @edu.unife.it).

Con cadenza bi-settimanale si svolgerà o un incontro in presenza o un meeting live (Focus Group) per sessioni di domande/risposte sui contenuti del corso. L'evento sarà aperto sia per gli studenti che seguiranno queste sessioni in presenza sia da remoto. La giornata e l'orario di erogazione del Focus Group verranno indicati sul Classroom del corso almeno una settimana prima per permettere agli studenti di organizzarsi.

Modalità di verifica dell'apprendimento

L’obiettivo della prova d’esame consiste nel verificare il livello di raggiungimento degli obiettivi formativi precedentemente indicati.

L'esame è composto da una prova orale su tutti gli argomenti del corso che ha lo scopo di valutare la preparazione dello studente sulla teoria e verificare la capacità dello stesso di collegare i contenuti del corso per una loro futura applicazione. La prova ha anche l’obiettivo di esercitare lo studente nella presentazione orale delle proprie conoscenze e competenze, con un effetto formativo nell’ambito delle Soft Skills.

Allo studente verranno assegnati 3 macro-argomenti e lo studente, prima di esporli, avrà il modo di organizzare la risposta (in genere da 30’ a 60’, a seconda delle necessità dello studente).

Vista la complessità di molti schemi circuitali e architetturali, allo studente non è richiesto di saperli ridisegnare a memoria. Lo studente può utilizzare gli schemi visti a lezione e sui quali ha studiato. L’obiettivo dello studio, infatti, non è ricordare a memoria schemi che, probabilmente, fra pochi anni non saranno più utilizzati, ma avere compreso le motivazioni teoriche, applicative ed economiche che hanno portato alla definizione di quelle specifiche soluzioni.

La preparazione dello studente non verrà valutata, pertanto, sulla capacità di ricordare, a memoria, schemi o formule, ma nella capacità di spiegare le motivazioni che portano a specifiche scelte circuitali e nell’individuarne potenziali limiti.

Il superamento dell'esame è prova di aver acquisito le conoscenze e le abilità specificate negli obiettivi formativi dell'insegnamento.

L'esame può essere sostenuto anche in lingua inglese.

Testi di riferimento

Appunti e materiale forniti dal docente disponibile sul sito del corso e sul Classroom di riferimento.

Argomenti specifici possono essere approfonditi sui seguenti testi:

- Bruce Jacob, Spencer Ng, and David Wang. 2007. Memory Systems: Cache, DRAM, Disk. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

- Weste, Harris, “CMOS VLSI Design,” 2nd Ed., Addison Wesley.

- R. Micheloni, A. Marelli, K. Eshghi; Inside Solid-State Drives (SSDs) 2nd Ed.; Springler-Verlag, 2018