Sul sito Enterprise Storage Forum è stato pubblicato un approfondimento sulle nuove memorie non volatili 3D XPoint, studiate da Intel e Micron per sostituire le attuali NAND Flash in ambito Server. Queste memorie sono state descritte come una rivoluzione, in quanto in grado di garantire latenze e banda passante migliaia di volte migliori rispetto a quelle garantite dalle NAND Flash … almeno teoricamente. Nella realtà, a quanto pare, le cose sembrano andare in maniera decisamente diversa.

 

 

Come viene descritto in questo articolo, effettivamente le 3D XPoint hanno il potenziale teorico per raggiungere le prestazioni descritte da Intel e Micron, ma si scontrano con le architetture contemporanee, non ancora pronte per avvantaggiarsi di questo tipo di prodotti. Jim Handy, Solid State Storage Expert and Semiconductor Analyst presso Objective Analysis, punta in particolare la propria attenzione sulla questione delle latenze (Interput), un fattore determinate in ambito Enterprise. Spesso, infatti, il calcolo in sé cui è chiamato il processore è il task che richiede meno tempo per essere completato. Il vero problema risultano essere i tempi morti – determinati dalle latenze – che intercorrono tra un task ed un altro, in quanto i dati da elaborare devono essere cercati e caricati nella memoria non volatile del sistema. Questo problema non si pone se i dati da sfruttare sono dislocati nella RAM, ma questa, per quanto possa essere disponibile in quantità elevata, non potrà mai competere con la memoria non volatile (SSD, HDD, ecc).

Di questo problema ci siamo recentemente resi conto con la presentazione delle nuove schede video professionali di AMD, dove il modello di punta Radeon Pro SSG dotato di VRAM e NAND Flash (Tramite due slot M.2) ha potuto svolgere il proprio task molto più velocemente rispetto ad una scheda video dotata della sola memoria VRAM (Un video 4K è stato convertito in real time a 90 fps invece che a 17 fps, a parità di GPU). Questo è stato possibile nonostante le NAND Flash abbiano dei tempi d’accesso decisamente superiori alle DRAM. Perché? Perché La GPU ha sfruttato le NAND Flash come memorie volatili, eliminando parte dei colli di bottiglia descritti da Jim Handy:


According to the Storage Networking Industry Association (SNIA), sources of latency include
•    the time to get the data from the storage medium to the SSD's I/O pins
•    address translation and garbage collection with the SSD
•    the time needed to transfer the data across the PCIe interface
•    delays from the host computer's PCIe port to the processor pins
•    software delays: the amount of time the operating system's I/O stack requires to perform a disk read operation

Le ultime due operazioni sono state saltate utilizzando le NAND Flash come memorie volatili: “having the storage on board the graphics card vastly reduces latency by reducing the number of hops and not having to send requests out to the rest of the system”.

Per Handy sono proprio le latenze a rendere non così eccezionali le memorie 3D XPoint, almeno oggi: “While the effect these latency sources have on NAND-based enterprise SSD speed is relatively small because the latency of the NAND itself accounts for the vast majority of the total latency, when it comes to 3D XPoint-based SSDs this latency is very significant indeed — accounting for perhaps half of the total latency”.
Cosa consiglia Jim per rendere le 3D XPoint una soluzione percorribile nel settore Enterprise, visto l’elevato costo di queste memorie? Abbattere le latenze cercando di sfruttarle maggiormente come memorie volatili: “Memory-like non-volatile memory: when treated as memory (putting it on a memory interface) it appears as memory to applications. It stores data directly in byte-addressable memory, and no I/O (or even DMA) is required. Applications move data to and from the persistent memory using a load/store model (as if it were slow DRAM)”.

V'è però un problema: secondo molti esperti del settore, questo cambiamento non potrà avvenire prima di almeno 10 anni. Sembra quasi che le memorie 3D XPoint siano fin troppo in anticipo sui tempi, a questo punto.