Come funziona il Turbo Mode

Test - Ottenere la massima velocità teorica di una connessione USB 3.0 non è facile. Ci vogliono l'hardware e il software giusto, e quasi sicuramente qualche intervento manuale. Scopriamo perché non è possibile avere la massima velocità dal primo momento, e come migliorare le cose.

Avatar di Tom's Hardware

a cura di Tom's Hardware

Come funziona il Turbo Mode

Il Turbo del protocollo USB non è complicato, e prevede una semplice modifica del driver BOT a livello del sistema operativo. Il modo più facile di attivarlo è con i software XFast USB di AsRock e Asus USB 3.0 Boost Utilies, ma funzionano solo sulle schede di questi due produttori.

Si può fare anche manualmente, tuttavia, se il produttore della scheda madre non offre un software dedicato. Basta modificare la voce del registro di Windows HKEY_LOCAL_MACHINES\SYSTEM\CurrentControlSet\Control\usbstor\054C00C1.

Bisogna aggiungere una DWORD a 32 bit chiamata "MaximumTransferLength" e specificare la dimensione massima del trasferimento con un valore tra 65532 (64 KB) e 2097120 (2 MB). Ogni produttore poi può rivedere l'implementazione a livello del segnale per gestire la latenza, ma questi interventi non influisco molto sull'efficacia di questo strumento.

L'archiviazione esterna implica soprattutto trasferimenti sequenziali, e raramente operazioni casuali. Detto questo, se provassimo a eseguire Windows da un pendrive, allora il sistema effettivamente cercherà di leggere moltissimi piccoli file sparsi per il drive; in questo caso il Turbo Mode finisce per ridurre la velocità di trasferimento casuale, almeno se stiamo usando un SSD (gli hard disk non sono abbastanza veloci con le operazioni casuali per subire gli effetti negativi). Vediamo infatti che le prestazioni in lettura casuale 4 KB del nostro adattatore Apricorn SATA-USB 3.0 scendono da 48 a 36 MB/s con il Turbo abilitato, mentre le scritture casuali rallentano ma in modo meno evidente.

Non esiste un buon modo per evitare la perdita di prestazioni random con BOT (bulk-only transport), perché con i trasferimenti casuali i piccoli blocchi non si possono raggruppare insieme, come accade con i trasferimenti sequenziali. Il driver USB spedisce quindi i dati un pezzo alla volta, perché le locazioni LBA non sono adiacenti tra loro.

Perché aumentare le dimensioni del trasferimento rallenta il movimento dei blocchi casuali da 4 KB? Succede perché una transazione più grande implica che il drive tenta per più tempo – senza riuscirci – di raggruppare diversi blocchi in un solo trasferimento. Il risultato concreto è che il nostro Vertex 3 supera appena gli 80 MB/s, mentre collegato via SATA arriva a circa 325 MB/s con le code di comandi più lunghe.