SSD lento “hdparm”

Se dopo aver effettuato il controllo delle performance del disco il risultato è inferiore ai 100 MB/s, una delle possibili cause potrebbe essere un malfunzionamento di UAS (USB Attached SCSI).

UAS è un protocollo più moderno rispetto al tradizionale USB Mass Storage e permette migliori prestazioni con gli adattatori SATA → USB. Tuttavia, alcuni chipset presenti negli adattatori possono avere problemi di compatibilità con il kernel Linux.

In questi casi è possibile forzare il kernel a utilizzare il driver USB Mass Storage tradizionale, disabilitando UAS solamente per quel dispositivo.

Soluzione

Per prima cosa individua l’ID del produttore e del prodotto dell’adattatore SATA → USB.

1
lsusb

Identificazione adattatore SATA tramite lsusb

Annota il valore nel formato VENDOR:PRODUCT (es. 152d:1561)

Apri il file contenente i parametri del kernel:

sudo nano /boot/firmware/cmdline.txt

All’inizio della riga aggiungi il parametro seguente, sostituendo VENDOR:PRODUCT con i valori ottenuti dal comando precedente:

usb-storage.quirks=VENDOR:PRODUCT:u

Mantieni uno spazio tra questo parametro e quelli già presenti.

Esempio:

usb-storage.quirks=152d:1561:u console=serial0,115200 ...

Se utilizzi più unità con adattatori diversi, separa i parametri con una virgola:

usb-storage.quirks=152d:1561:u,usb-storage.quirks=152d:9210:u console=serial0,115200 ...

Salva il file e riavvia il sistema:

1
sudo reboot

Dopo il riavvio esegui nuovamente il test delle performance:

1
sudo hdparm -t --direct /dev/sda1

Se il problema era legato a UAS dovresti notare un significativo aumento della velocità di lettura.

Se le prestazioni rimangono molto basse, l’adattatore SATA → USB (o il chipset utilizzato) potrebbe avere problemi di compatibilità con la scheda ARM. In questo caso la soluzione migliore è provare un adattatore differente.