Prima di capire le differenze nei formati di SSD, facciamo un passo indietro, e vediamo in breve che cos'è un'unità allo stato solido, o SSD.
Che cos'è un SSD
Un'unità SSD (acronimo di Solid State Drive, in italiano unità a stato solido) è un dispositivo di archiviazione dati che utilizza memorie flash, note anche come NAND Flash, e caratterizzate dalla non-volatilità delle informazioni memorizzate. Gli SSD offrono notevoli prestazioni rispetto agli hard disk di tipo standard. Infatti gli SSD non dispongono di parti meccaniche mobili; si tratta di dispositivi basati su semiconduttori. In virtù di tale caratteristica, gli SSD non sono soggetti alle latenze tipiche dei dispositivi meccanici, come gli hard drive. Inoltre, l'assenza di parti in movimento rende gli SSD più resistenti a urti e vibrazioni rispetto agli hard drive tradizionali.
Differenze nei formati di SSD
Un po' di chiarezza... connettore, fattore di forma, interfaccia di connessione, protocollo di trasmissione
Quando si parla di SSD la prima cosa da capire è quale formato si adatta meglio alle nostre esigenze, ma sprattutto qual'è la miglior scelta per il nostro sistema. Oggi in commercio esistono diversi formati di SSD, e per individuarli si parla di "fattore di forma" (in inglese form factor).
Un SSD si collega all'host (al PC, notebook, consolle, ecc.) mediante uno specifico "connettore", che viene innestato direttamente in una specifica "porta" (o "socket"), oppure collegato ad essa attraverso l'utilizzo di un cavo, a seconda della tipologia. Il socket e l'unità SSD ad esso connessa comunicano con l'host attraverso un' "interfaccia" (SATA, PCIe), tecnicamente detta bus di sistema, che utilizza uno specifico "protocollo" (o linguaggio) di trasmissione/comunicazione (AHCI, NVMe), che è un insieme di regole, standard, set di comandi e driver che servono per far comunicare correttamente l’SSD e il sistema operativo.
Differenze nei formati di SSD
Velocità di trasmissione dati - differenze tra SATA (SATA III) e PCIe
Prima di parlare, nel prossimo paragrafo, dei fattori di forma, penso sia necessario parlare delle due interfacce utilizzate dagli SSD (SATA e PCIe), dei protocolli da esse utilizzati, di come lavorano, e delle velocità di trasmissione dati di entrambe.
NOTA: Quando si ha a che fare con le velocità di trasferimento degli SSD spesso si tende a fare confusione perché nelle caratteristiche dei prodotti con interfaccia SATA la velocità massima teorica raggiungibile viene indicata in Gigabit al secondo (Gb/s), mentre nei prodotti che usano l'interfaccia PCIe si parla di GigaByte al secondo (GB/s o GBps).
SATA III: L'ultimo step in termini di velocità dell'interfaccia SATA è il SATA III, che supporta una velocità massima teorica di 6 Gb/s. Il termine G sta per giga, quindi nell’ordine dei miliardi. Il termine b minuscolo indica i bit, mentre s sta per secondi. Quindi stiamo parlando di 6 Gigabit al secondo. Dividendo tale cifra per 8, si passa dai bit ai Byte (B maiuscola). Infatti 1 Byte è uguale ad 8 bit. In definitiva, la velocità teorica massima teorica raggiungibile dal supporto SATA III è di 750 MB/s. La velocità effettiva, ovvero quella praticamente raggiungibile dai dispositivi interfacciati con SATA III, è di circa 500 – 600 MB/s. Il protocollo logico utilizzato da questa interfaccia per dialogare con il Sistema Operativo si chiama AHCI (Advanced Host Controller Interface).
PCIe: PCI-Express è un'interfaccia versatile e adatta a diverse tipologie di componenti, non soltanto a quelle per l'archiviazione dati, come invec e accade per SATA. In effetti il PCIe può servire per collegare alla scheda madre i seguenti dispositivi: schede video, schede WiFi e schede audio, unità di archiviazione (come gli SSD), altre schede di espansione.
L'interfaccia PCIe (PCI Express) lavora a velocità decisamente più elevate rispetto alle connessioni SATA, grazie ad un più sviluppato protocollo logico, chiamato NVMe (Non-Volatile Memory Express) che comunica direttamente con la CPU, a differenza di AHCI che invece deve dialogare con il controller SATA, che a sua volta dialoga con la CPU. NVMe permette quindi alle unità connesse di avere performance nettamente superiori a quelle che sfruttano il protocollo AHCI.
Il bus PCIe può lavorare su una o più "corsie" (o vie, o piste), a differenza di SATA, che invece lavora su una sola corsia. I bus PCIe sono quindi identificati dalle sigle x1, x2, x4, x8 e x16, a seconda del numero di "corsie" disponibili per il trasporto delle informazioni. Tuttavia, esistono solo soluzioni x2 e x4 piste quando si utilizzano gli SSD con i bus PCIe. Anche il bus PCIe, come il SATA, è passato attraverso varie fasi evolutive, che lo hanno portato a migliorarsi ogni volta di più. Ad oggi il PCIe è arrivato alla versione 4.0 e permette trasferimenti fino alla velocità di 2 GB/s per ogni corsia, raggiungendo picchi teorici pari a circa 8 GB al secondo nelle configurazioni "x4".
La versione più diffusa è però ancora il PCI-Express 3.0, che con 1 GB/s per ciascuna corsia rimane uno standard molto veloce per gli SSD, che possono raggiungere una velocità teorica pari a circa 2 GB/s su PCIe 3.0 x2 e 4 GB/s (quasi 8 volte di più rispetto a SATA III) su PCIe 3.0 x4.
Protocolli di comunicazione: AHCI e NVMe a confronto
I protocolli di comunicazione sono utilizzati dal sistema operativo per scambiare dati con i dispositivi di storage. I driver NVMe sono più veloci dei driver AHCI normalmente utilizzati dalle interfacce SATA.
- Lo standard NVMe è progettato specificamente per gli SSD con tecnologia Flash; una soluzione che li rende più veloci dei driver AHCI, progettati per i normali hard drive dotati di tradizionale tecnologia a testine rotanti.
- Mentre lo standard NVMe è dotato di 64.000 code di comando ed è pertanto in grado di inviare 64.000 comandi per coda, lo standard AHCI dispone di una sola coda di comando e può inviare solo due comandi per coda.
- Con i driver AHCI, i comandi utilizzano cicli di CPU elevati, con una latenza di 6 microsecondi, mentre i comandi driver NVMe utilizzano ridotti cicli di CPU, con una latenza di 2,8 microsecondi.
I driver NVMe comunicano direttamente con il processore di sistema, mentre la tecnologia AHCI deve comunicare con il controller SATA. Lo standard AHCI gestisce fino a 100K IOPS (Input/Output Operations Per Second), mentre lo standard NVMe è in grado di gestirne fino a 1 milione. Gli IOPS (Operazioni input/output per secondo, pronunciato i-ops), è un metodo di misurazione standard utilizzato per il benchmarking dello storage dei computer.
Differenze nei formati di SSD
Vari formati degli SSD
Gli SSD sono diventati ormai un supporto dati abbastanza comune, e si sono adattati per essere utilizzati su qualunque tipo di dispositivo, dalle console più recenti ai notebook, dai computer desktop ai server presenti nei data center più avanzati. Come ogni dispositivo hardware, anche gli SSD hanno subito un’evoluzione nel corso degli ultimi anni, e sono quindi nati i vari formati (si parla infatti spesso di fattore di forma, dall'inglese form factor).
Vediamo qui di seguito tutti i tipi di formati di SSD disponibili ad oggi per il mercato consumer. Come potrete notare il termine "SATA" viene utilizzato anche per identificare alcuni formati di SSD, oltre che essere un'interfaccia di connessione di questi dispositivi alla scheda madre. Va da sé che i fattori di forma che includono il termine "SATA" nel nome utilizzano unicamente la tecnologia SATA.
SSD 2.5" SATA: il formato 2,5” è quello più comune per gli SSD, adattabile alla maggior parte dei computer desktop o laptop, anche abbastanza datati. Questi dispositivi sono dotati di connettore SATA e possono essere collegati alla scheda madre dei pc fissi attraverso cavi SATA proprio come gli Hard Disk tradizionali, oppure ai notebook, innestandoli direttamente nell'apposito connettore. GLi SSD da 2,5" utilizzano il protocollo AHCI.
SSD mSATA (o mini-SATA): Gli SSD mSATA hanno le dimensioni pari a un ottavo delle unità da 2,5”; sono progettati per collegarsi al connettore mSATA sulla scheda madre del sistema. Le unità mSATA vengono usate in notrbbok o altri dispositivi piccoli e ultra sottili, oppure come unità secondarie nei computer fissi (infatti in commercio esistono alcune schede madri per pc desktop che permettono la connessione di queste unità).
SSD M.2: Conosciuti per breve tempo come NGFF (Next Generation Form Factor after mSATA), gli SSD in formato M.2 sono praticamente un'evoluzione del formato mSATA, nel senso che in minor spazio si è riusciti ad avere una capacità maggiore di archiviazione, ed anche, come nel caso degli M.2 con interfaccia PCIe, una maggiore velocità di trasferimento dati. Le dimensioni di un modulo SSD M.2 sono variabili in base alla capacità di storage e quindi ai componenti NAND installati. La larghezza è sempre di 22 mm mentre la lunghezza può variare in 30, 42, 60, 80, 110 mm. Per questo motivo spesso si trovano codici come 2210, 2230, 2242, 2260, 2280: sono esattamente le misure fisiche dei moduli SSD M.2 e sono importanti per l’installazione, poiché non tutte le schede madri e i notebook presenti in commercio supportano ciascuna di queste tipologie/dimensioni.
Gli SSD M.2 possono utilizzare due tipi di interfacce differenti: M.2 PCIe oppure M.2 SATA. Il socket M.2 (cioè la porta destinata ad alloggiare gli SSD di tipo M.2) che si trova sulle schede madri o sui notebook è di tipo femmina e utilizza delle chiavi, o meglio dei connettori, per determinare il verso e quindi il tipo del modulo M.2 che può essere inserito nel socket stesso. Ad ogni chiave corrispondono, dunque, caratteristiche e impieghi alquanto differenti. Lo standard M.2 ammette due tipi di socket (B oppure M) e tre tipi di connettori (B, M, oppure B+M).
Gli SSD M.2 SATA sono dotati di connettori M+B Key oppure di B Key, mentre quelli M.2 PCIe (NVMe o AHCI) sono dotati di M Key.
Purtroppo i progettisti delle schede madri hanno scelto, di volta in volta, di implementare un sottoinsieme dello standard M.2 e ciò crea molta confusione nel momento in cui l’utente si trova a decidere quale periferica adottare per la propria configurazione. Esistono infatti connettori M.2 che implementano un semplice collegamento al bus Serial Ata, altri che forniscono connettività Pci Express x2 e infine altri ancora che mettono a disposizione la connessione Pci Express con quattro linee (x4) dedicate al trasporto dati.
Per operare una scelta corretta la prima cosa da verificare è la posizione degli intagli (spesso in inglese definiti key oppure notch) nel connettore. In base alla posizione di questi intagli la periferica potrà essere inserita solo in alcune tipologie di slot M.2. Un intaglio in posizione B caratterizza le unità Ssd che forniscono connettività Serial Ata oppure Pci Express x2. Le unità Ssd in grado di supportare la connettività Pci Express x4 sono invece riconoscibili da un intaglio in posizione M. Esistono poi periferiche che hanno entrambi gli intagli (spesso definite B+M) che possono essere utilizzate in abbinamento a tutte e due le tipologie di connettori M.2, rimanendo però limitate alla banda di trasferimento dati messa a disposizione dal bus Pci Express x2.
Per completezza faccio presente che allo slot M.2 è possibile collegare, oltre che le unità Ssd, anche altri dispositivi come adattatori Wi-Fi, Bluetooth oppure interfacce per reti cellulari. Questi dispositivi sono riconoscibili da connettori con intagli nelle posizioni A oppure E. Gli slot M.2 di questo tipo sono presenti quasi esclusivamente su notebook e laptop.
Tornando alle memorie di massa, l’unico modo per sapere se uno slot M.2 implementi l’interfaccia Serial Ata oppure Pci Express è consultare le specifiche tecniche della scheda madre. Non è possibile dedurre questo tipo di informazione esaminando visivamente il connettore. Sul manuale della scheda madre viene riportato se il connettore M.2 è di tipo SATA, PCIe oppure se di tipo misto, quindi capace di supportare entrambi.
Una volta reperite le caratteristiche sopra indicate (ovvero la tipologia dello slot M.2 e l’interfaccia supportata) sarà possibile acquistare l’unità Ssd adeguata alle proprie necessità. A uno slot M.2 Serial Ata potrà essere abbinata solo una unità Ssd M.2 Serial Ata, a uno slot M.2 Pci Express una memoria di massa Pci Express. Solo su alcuni connettori M.2 disponibili sulle schede madri è possibile collegare sia gli SSD con supporto SATA che quelli con supporto PCIe.
In linea generale, le schede madri più recenti hanno hanno almeno uno slot che supporta entrambe le connessioni. Di solito hanno 2 slot M.2 M Key. Il primo permette di installare SSD M.2 SATA o PCIe, mentre il secondo permette di installare solo SSD M.2 PCIe. Su alcune schede madri più datate, invece possiamo trovare anche socket esclusivamente di tipo B Key.
Nel connettore M Key si possono fisicamente installare SSD B+M Key e SSD M Key. Mentre nel connettore B Key si possono installare SSD B+M Key, ma non SSD M Key.
Differenze nei formati di SSD
SSD M.2 PCIe NVMe, i dubbi più frequenti - Domande e Risposte
Come accennato in precedenza, tutte queste sigle prese singolarmente possono creare parecchi dubbi. Come abbiamo visto però non sono sigle scollegate ma c’è un percorso di evoluzione tecnologica che ci ha portato allo standard moderno SSD M.2 con protocollo PCIe e linguaggio di trasferimento NVMe. Sono sorte però nel corso del tempo alcune domande, di base errate, ma comunque frequenti.
M.2 e NVMe sono la stessa cosa? Sì sono la “stessa cosa” per la maggior parte dei moduli SSD, il formato è M.2 e il linguaggio di trasferimento è NVMe. Esistono anche moduli SSD M.2 con linguaggio AHCI ma ormai sono in grande disuso.
Quali sono le differenze tra NVMe e M.2? Non è corretto fare un confronto NVMe vs M2, o una differenza SSD M2 e NVMe. NVMe è il linguaggio di trasferimento e M.2 è il formato SSD. La domanda corretta sarebbe: che differenze ci sono tra AHCI e NVMe? In questo caso è possibile fare il confronto tra i linguaggi di trasferimento. AHCI è il linguaggio standard che deriva dai vecchi HDD ed ha grandi limiti in termini tecnici. Per non entrare troppo nello specifico, la differenza tra AHCI e NVMe è tutta a favore del linguaggio NVMe, ha meno latenza, è più veloce e riesce a comunicare meglio con i software del sistema operativo.
Più veloce NVMe o M.2? Anche in questo caso la domanda è errata, un SSD M.2 integra il linguaggio di trasferimento NVMe. Si potrebbe però intendere con M.2 uno dotato di linguaggio AHCI ed in quel caso la risposta è che tra un M.2 AHCI vs M.2 NVMe, il modulo M.2 NVMe è più veloce.
Ricordo ancora una volta che lo standard più moderno consigliato è SSD M.2 con protocollo PCIe e linguaggio di trasferimento NVMe.
Articoli correlati:
Non ci sono articoli correlati da mostrare