Negli ultimi anni la necessità di avere la massima velocità disponibile in termini di lettura e scrittura in memoria sul Raspberry Pi 4 ha portato sempre più persone a cercare una strada alternativa rispetto alla classica memoria SD con la quale Raspberry Pi ha funzionato fin dai primordi della sua storia. Il problema ha iniziato a presentarsi quando anche con le migliori schede microSD per Raspberry Pi, le velocità di trasferimento sequenziali massime non andavano quasi mai oltre i 40 MBps, un valore decisamente basso se pensiamo alle prestazioni di un SSD anche non recentissimo. Da quel momento in poi, i maker più fantasiosi hanno iniziato a collegare degli SSB tramite interfaccia USB, altri hanno direttamente saldato sulla board alcuni hat per provare a sfruttare direttamente il bus PCIe, ma si è sempre trattato di soluzioni home made che, talvolta, hanno dato anche non pochi problemi a livello di affidabilità ed effettivo sviluppo software.
Per questo motivo è diverso tempo che la community di Raspberry Pi si è attivata per chiedere a gran voce a Raspberry Foundation una board che supportasse nativamente l’archiviazione PCIe NVMe e sembra che l’azienda abbia accolto le richieste, annunciando lo sviluppo e l’uscita di Raspberry Pi Compute Module, utilizzabile con la board Raspberry Pi 4 dotata di bus PCIe.
Il modo migliore per capire come mai sempre più maker desiderino poter utilizzare l’interfaccia NVMe sulle board come Raspberry Pi, è quello di analizzare da vicino questo standard.
NVMe è l’acronimo di “non-volatile memory express“), Le specifiche NVMe definiscono un’interfaccia di registro, un set di comandi e una raccolta di funzionalità per SSD basati su PCIe con l’obiettivo di elevate prestazioni e interoperabilità in un’ampia gamma di sottosistemi NVM. Le specifiche NVMe non prevedono il modello di utilizzo definitivo, come memoria a stato solido, memoria principale, memoria cache o memoria di backup.I principali vantaggi degli SSD PCIe basati su NVMe rispetto agli SSD basati su SAS e SATA sono la latenza ridotta nello stack del software host, operazioni di input / output più elevate al secondo (IOPS) e un consumo energetico potenzialmente inferiore, a seconda del fattore di forma e il numero di linee PCIe in uso.
Se ancora non siete convinti del miglioramento apportato dall’NVMe all’interno di un’apparecchiatura hardware, sappiate che NVMe supporta 64.000 comandi in una singola coda di messaggi e un massimo di 65.535 code di I / O. Al contrario, un dispositivo SAS in genere supporta fino a 256 comandi e un’unità SATA supporta fino a 32 comandi, per singola coda.
Non ci rimane che attendere nuovi sviluppi, immaginando fin dove ci potremo spingere con Raspberry Pi dotato di questa nuova tecnologia.