Storage

Che cosa diavolo è 3D XPoint?

Pagina 3: Che cosa diavolo è 3D XPoint?

IMFT, per ragioni di competizione, non ha ancora spiegato su quale materiale è basata la memoria 3D XPoint. Questo ci lascia con molte speculazioni, anche se quest'anno – conferenza dopo conferenza, briefing dopo briefing – qualcosa è emerso.

SCM3 JPG
Clicca per ingrandire

Nel corso di una recente presentazione Intel ha mostrato un'interessante slide in cui ha elencato tutte le possibili tecnologie basate sul cambiamento di resistenza, indicando PCM come la migliore. Anche se siamo piuttosto certi che 3D XPoint sia PCM o una variante molto simile, alcune di queste altre tecnologie potrebbero essere potenziali contendenti.

Guy Blalock, co-CEO di IMFT (per il lato Micron della joint venture), ha ristretto la scelta commentando all'inizio di quest'anno che 3D XPoint usa un materiale calcogenuro e uno switch Ovonyx. Intel ha avuto una joint venture con Ovonyx e ne ha usato in licenza la tecnologia in passato, ma Micron ha acquistato la società per 1,3 miliardi di dollari nel 2012 da Energy Conversion Devices (ECD). Ovonyx è specializzata in una tecnologia PCM proprietaria (Phase-Change Memory).

PCM usa un materiale calcogenuro simile al vetro che usa la tensione per creare sufficiente calore e far passare il materiale tra gli stati amorfo (alta resistenza) e cristallino (bassa resistenza). Il cambiamento di resistenza elettrica è indicato come "1" per lo stato cristallino o "0" per quello amorfo. Ci sono anche stati intermedi tra questi due assoluti, permettendo di archiviare più bit per cella.

3D XPoint immagazzina solo un singolo bit per cella (SLC), ma il numero di bit potrà aumentare con le prossime generazioni. IBM, ad esempio, ha già dimostrato che una PCM TLC (3 bit per cella) è possibile. Sono serviti quasi 10 anni per la produzione di massa degli SSD prima che l'industria si muovesse verso l'archiviazione di più bit per cella NAND (MLC); potremmo assistere a un'evoluzione simile con 3D XPoint. IMFT si aspetta di sviluppare nuove generazioni di 3D XPoint ogni 18/24 mesi e le soluzioni MLC potrebbero emergere entro le prime generazioni.

Più deck, maggiore capacità

Il materiale finale consiste di due layer chiamati "deck". Al Flash Memory Summit dello scorso agosto IMFT stava ancora lavorando su prototipi a singolo deck, ma forse già oggi – grazie a nuove revisioni ogni 60/90 giorni – l'azienda sta lavorando su materiale con due deck. L'aggiunta di un secondo deck non aumenta molto la velocità ma espande la capacità. Tutte le dimostrazioni prestazionali di Micron – e probabilmente Intel – sono state condotte su prototipi a singolo deck.

Ci sono tanti modi per aumentare la densità. Aggiungere più bit per cella e ridurre la litografia a 20 nanometri esistente (scaling orizzontale) sono mosse ovvie, insieme all'aggiunta di più "deck", similmente ai layer impilati in una memoria NAND (scaling verticale). Secondo Intel i deck sono aggiunti in gruppi di due, il che significa che l'aggiunta di due deck raddoppia la capacità.

IMFT produce 3D XPoint con un processo a 20 nanometri che ha una densità del die di 128 Gbit (16 GB), molto meno rispetto all'attuale NAND con 64 GB per die. La nuova memoria però è più densa della DRAM e IMFT può impilare il die in package, in modo simile alla NAND odierna. Micron offrirà inizialmente prodotti con 1, 2, 4 e 8 die impilati. Uno stack a 16 die potrebbe garantire fino a 256 GB per package, ma non è chiaro se l'azienda impilerà il costoso die fino a quel livello, perché potrebbe influenzare le rese produttive.

La NAND può usare la tecnologia TSV, che aumenta le prestazioni e riduce i consumi. Non è chiaro se IMFT la userà per 3D XPoint, che attualmente usa una tecnica wire bonding standard.

3D dappertutto

200 PNG

IMFT ha disposto il materiale in un'architettura crosspoint, con una serie di bitline e wordline in stile scacchiera. IMFT ha allineato il materiale in colonne verticali e ogni colonna ha una cella di memoria (verde) e un selettore (giallo). Il selettore è un Ovonic Threshold Switch (OVS), che è un dispositivo a due terminali che consiste di materiali a base calcogenuro.

201 PNG

Una serie di fili perpendicolari allineati in una maglia 3D connette le colonne. La tensione scorre attraverso wordline (barra bianca in alto; bitline è la barra bianca sul fondo) e nel selettore, il quale poi impone al materiale il cambiamento di proprietà dell'intera cella di memoria per scrivere un valore binario. Leggere la cella di memoria impone una misura della resistenza, che cambia a seconda dello stato del materiale. Il controller accede a differenti celle di memoria selezionando differenti combinazioni bitline/wordline.

Secondo Micron la reale innovazione è nel selettore anziché nella cella di memoria. Nella sua forma più semplice il selettore è un diodo. Il progetto è semplice da scalare rispetto alle memorie basate su transistor perché queste ultime sono difficili da impilare in verticale. Le memorie esistenti sono inoltre basate su elettroni, e lavorano intrappolando gli elettroni in isolanti. La continua miniaturizzazione porta a un minor numero di elettroni per cella a ogni generazione. L'attuale NAND 2D è già sotto la dozzina di elettroni per cella e persino la 3D NAND incontrerà limitazioni in futuro. A detta di Intel mentre una soluzione basata sulla carica non è così scalabile, le tecniche basate sulla resistenza migliorano sia scalabilità che prestazioni.

Gestione della memoria

3D XPoint ha un'unità minima cancellabile e scrivibile di 1 bit, mentre la NAND può scrivere a livello pagina (16 KB per la 3D NAND di Micron), ma dev'essere cancellata in blocchi molto più grandi – 24 MB. Gli SSD cancellano le celle NAND prima di riprogrammarle, quindi il controller dell'SSD deve condurre operazioni di garbage collection per assicurarsi che il prodotto abbia blocchi di riserva a disposizione per la prossima ondata di scritture in entrata. Il processo di cancellazione chiama in causa il ciclo "lettura-modifica-scrittura" che impatta su resistenza e prestazioni.

3D XPoint è una memoria "write-in-place". L'SSD non devono cancellare i dati esistenti nelle celle prima di scriverle, quindi le sovrascrivono con un processo di scrittura forzata. Come tale la resistenza di 3D XPoint non è stata misurata con i normali cicli di programmazione/cancellazione a cui siamo abituati con gli SSD basati su memoria NAND; la sua resistenza è misurata dal numero di scritture forzate. L'eliminazione del ciclo di cancellazione aumenta le prestazioni, semplifica la gestione e riduce l'usura.

La capacità di 3D XPoint di essere "bit indirizzabile" fa sì che la maggior parte delle vecchie regole relative alla NAND non si applichino più o almeno non devono più farlo. Anche se 3D XPoint è "bit indirizzabile", Micron usa l'archiviazione semantica con la linea QuantX. Le versioni SSD sovrascrivono le aree inferiori a 512 byte, un valore di gran lunga inferiore a 24 MB. Questo riduce enormemente la necessità di un rimescolamento dei dati – che porta a write amplification – e riduce l'impatto della garbage collection, aiutando prestazioni e resistenza.

I produttori normalmente realizzano NAND con un overprovisioning (OP) grezzo che, di default, è del 7% e poi ne aggiungono di più per rispettare determinati profili di resistenza e prestazioni (OP effettivo). Con gli SSD enterprise a bassa capacità solitamente abbiamo un OP reale del 30%-60%. 3D XPoint non ha alcun overprovisioning grezzo e il prodotto finale avrà un OP reale molto inferiore (30%-40% per tutte le capacità). L'OP extra degli SSD NAND serve ad aumentare prestazioni e resistenza, ma 3D XPoint non ha bisogno di OP per le prestazioni; probabilmente se ne avvarrà solo per aumentare la resistenza.

La memoria NAND soffre di un'interferenza da cella a cella per via degli elettroni delle celle confinanti. Altri fenomeni, come il disturbo in lettura, creano usura solo tramite la lettura di dati da celle adiacenti. Il metodo basato sulla resistenza, che non usa elettroni, probabilmente non soffre di tali problemi. Ci sono tuttavia inevitabilmente altre sfide nella gestione della memoria che conosceremo quando 3D XPoint arriverà sul mercato. Una maggiore resistenza significa inoltre che c'è meno attenzione al wear leveling, e questo riduce l'overhead.

Scatenare le massime prestazioni

Il progetto del die di 3D XPoint è una delle chiavi della sua velocità. I produttori separano il die NAND su più piani per die, e ogni piano può rispondere in modo indipendente ai comandi di programmazione/cancellazione in ingresso.

Più piani per die significano maggiore parallelismo, e di conseguenza prestazioni, dal singolo die. La 3D NAND di Micron mantiene il record di piani in un singolo die NAND, con quattro piani. I produttori cercano di non aumentare il numero di piani per die perché riduce la densità e questo, a sua volta, aumenta i costi.

Micron ha dichiarato che sebbene non abbia diviso il die 3D XPoint in quelli che considereremmo dei piani "normali", ci sono 64 regioni che possono rispondere in modo indipendente a comandi di programmazione/cancellazione (analogamente a un'architettura a 64 piani). Questo progetto fa sì che ogni die 3D XPoint può rispondere a richieste come un die NAND 16 quad-plane, ed è probabilmente una delle ragioni per cui raggiunge prestazioni così alte sotto alto carico. Le prestazioni maggiori a basse queue depth sono il risultato del supporto più veloce. Risponde ai comandi quasi immediatamente.