Intelligente Lösungen
in neuer Dimension

TRIM bei Samsung Portable T7 Touch aktivieren

Ich habe eine externe Festplatte von Samsung, genauer das Modell “Samsung Portable T7 Touch”. Ich verwende es unter Ubuntu und habe festgestellt, dass es mir nicht gelingt, die Platte per TRIM-Befehl zu “beschleunigen”. Sehr schlecht – ohne TRIM wird die Platte im Laufe der Zeit immer langsamer werden.

Hier beschreibe ich, wie ich den TRIM-Befehl doch noch zum laufen bekommen habe.

Disk ermitteln

Zunächst müssen wir herausfinden, welches Gerät zur Platte gehört. Dazu als Nutzer “root” das Kommando lshw ausführen und nach der Platte suchen:

1
2
3
4
5
6
7
8
9
10
11
12
13
# sudo lshw -class disk
...
 *-disk
       Beschreibung: SCSI Disk
       Produkt: PSSD T7 Touch
       Hersteller: Samsung
       Physische ID: 0.0.0
       Bus-Informationen: scsi@8:0.0.0
       Logischer Name: /dev/sdc
       Version: 0
       Seriennummer: D248106R0SN9K5S
       Größe: 465GiB (500GB)
       Konfiguration: ansiversion=6 logicalsectorsize=512 sectorsize=512

Die Platte ist ansprechbar via “/dev/sdc”

Versuch zu TRIMmen

Wenn die Platte eingebunden ist und ihr Inhalt nicht gelöscht werden darf, so erfolgt der TRIM-Versuch am besen mittels fstrim:

1
2
3
4
5
6
$ df
...
/dev/sdc3                       31452288        192   31452096    1% /media/uli/T7

$ sudo fstrim -v /media/uli/T7
fstrim: /media/uli/T7: Verwerfungsvorgang wird nicht unterstützt.

Wenn der Inhalt der Platte verworfen werden kann, dann gelingt ein TRIM-Versuch am einfachsten mittels blkdiscard. Achtung: Wenn das Kommando gelingt, dann ist die Platte im Anschluss gelöscht:

1
2
SUDO uli@ulicsl:/tmp$ sudo blkdiscard /dev/sdc
blkdiscard: /dev/sdc: BLKDISCARD ioctl fehlgeschlagen: Vorgang wird nicht unterstützt

Beide TRIM-Versuche klappen für die Samsung-Platte leider nicht!

USB-Parameter ermitteln

Für das Aktivieren des TRIM-Befehls brauche ich die USB-IDs der Platte:

1
2
3
4
5
6
7
8
9
10
11
$ lsusb >a

  # Disk trennen

$ lsusb >b

$ diff a b
21d20
< Bus 005 Device 027: ID 04e8:4001 Samsung Electronics Co., Ltd 4-Port USB 2.0 Hub

$ rm a b

Merkwürdig: Die Platte meldet sich als “Samsung Electronics Co., Ltd 4-Port USB 2.0 Hub”!

Die USB-IDs sind:

  • vendor: 04e8
  • product: 4001

UDEV-Regel erstellen

Die USB-IDs müssen in einer UDEV-Regel eingetragen werden:

1
$ echo 'ACTION=="add|change", ATTRS{idVendor}=="04e8", ATTRS{idProduct}=="4001", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"'|sudo tee -a /etc/udev/rules.d/50-usb-ssd-trim.rules

Disk trennen und neu verbinden

Im Zweifel: USB-Kabel rausziehen, 10 Sekunden warten, USB-Kabel wieder einstecken.

Schlusstest von TRIM

1
2
3
4
5
6
$ sudo fstrim -v /media/uli/T7
/media/uli/T7: 30 GiB (32206946304 Bytes) getrimmt

  # ACHTUNG: Danach ist die Platte gelöscht!
$ sudo blkdiscard /dev/sdc
  # Klappt ohne Fehlermeldung

Analog

Ich habe noch diverse andere Samsung-Platten, die müssen auch getrimmt werden:

Model idVendor idProduct UDEV-Regel
Samsung_Portable_SSD_T3 04e8 61f3 ACTION==“add|change”, ATTRS{idVendor}==“04e8”, ATTRS{idProduct}==“61f3”, SUBSYSTEM==“scsi_disk”, ATTR{provisioning_mode}=“unmap”
PSSD_T7_Touch 04e8 4001 ACTION==“add|change”, ATTRS{idVendor}==“04e8”, ATTRS{idProduct}==“4001”, SUBSYSTEM==“scsi_disk”, ATTR{provisioning_mode}=“unmap”
PSSD_T7_Shield 04e8 61fb ACTION==“add|change”, ATTRS{idVendor}==“04e8”, ATTRS{idProduct}==“61fb”, SUBSYSTEM==“scsi_disk”, ATTR{provisioning_mode}=“unmap”

Links

Änderungen

  • 2023-08-05: Tippfehler
  • 2023-08-03: Erste Version