Quote:
Originariamente inviato da @Liupen
AHCI: una sola queue, profondità massima 32 comandi pendenti.
L’host può avere al massimo fino a 32 comandi pendenti nella sua unica coda.
Se prova a inviarne il 33esimo prima che uno dei primi 32 sia completato, deve aspettare.
E' la differenza tra sata e pcie: sata gestisce un unica coda alla volta (scrivo oppure leggo) e quella coda può avere "solo" 32 richieste I/0
NVMe è un 5G  ha la banda larga... può scrivere e leggere in un solo tempo e ognuna di queste migliaia può essere costituita da migliaia di richieste I/0 accodate (il controller di suo non arriverà mai a fornirgliene così tante, ne avrebbe senso perchè le die nand sono un numero esiguo).
|
Ok perfetto, capito, SATA può gestire solo una coda profonda massimo 32 richieste I/O mentre NVMe 65.000 code profonde massimo 65.000 richieste I/O (circa). Ecco il perché NVMe è nettamente più performante (ma fa ridere il fatto di questa enorme capacità quando in uso normale Windows non sfora QD4).
Quote:
Originariamente inviato da @Liupen
Può sorgere la domanda: come mai non è il controller dell'ssd a gestirsi le QD?
Perchè la mente, "l'architetto" è il sistema operativo; la CPU di sistema organizza e muove i dati per realizzare quello che l'host vuole.
C'è un tempo in cui le risorse devono essere organizzate e la sequenza la sà solo l'host che non deve e non può essere in balia di una memoria non volatile che ha caratteristiche varie (hdd PATA, hdd SATA, ssd SATA, ssd NVMe, USB... ecc).
Solo l’host conosce il contesto d’uso complessivo (quali processi, quali file, quali priorità), mentre il controller vede solo singole operazioni di flash.
Il "disco" in generale è solo quindi una rotella dell'ingranaggio, un esecutore che deve essere gestito a monte.
Altro motivo sono i limiti, appunto, delle interfacce varie.
Alcune, come ad esempio quella USB, neanche ai giorni nostri, hanno accesso completo e sono compatibili a tutti i tipi di comandi host (hanno profondità di coda più limitate a causa del protocollo e dell’overhead aggiuntivo).
|
Chiaro, alla fine la mente è il SO/l’host e l’SSD il braccio. L’SSD è intelligente ma solo per le sue operazioni (WL, GC, gestione NAND flash, ecc.), rispetto al resto del contesto come SO e CPU è stupido.