Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Een externe USB SSD schijf: trimmen?  (gelezen 2817 keer)

Offline vanadium

  • Lid
Een externe USB SSD schijf: trimmen?
« Gepost op: 2020/12/02, 13:13:28 »
Ik heb mijn eerste externe USB SSD harde schijf(je), een Samsung T5. Nu weten we dat Ubuntu standaard ingesteld is om wekelijks een interne harde SSD schijf te trimmen, maar hoe gaat dat in zijn werk met USB SSD schijven? Wordt deze ook automatisch getrimd? Of is dat niet nodig?

Re: Een externe USB SSD schijf: trimmen?
« Reactie #1 Gepost op: 2020/12/02, 14:50:28 »
Echt fantastische schijfjes; ik heb er twee van.  Eentje volledig versleuteld met VeraCrypt (exFAT) en eentje met Ext4 versleuteld. (Een gebruik ik in W10 én Ubuntu, de ander alleen met Ubuntu.)

Zie: https://www.tomshardware.com/reviews/samsung-t5-portable-ssd,5163-3.html
Trim zou volgens opgave alleen werken met NTFS?

In die link:
Previous versions of the Samsung Portable SSD did not support TRIM. The new T5 products accept the command from the host through the UASP protocol. The feature doesn’t work with the native exFAT file system that provides compatibility with Android and other devices. You will need to format the Portable SSD T5 with the NTFS file system for TRIM to work.

Af fabriek is die echter met exFAT geformatteerd.

Als het zou werken, zou 'sudo fstrim -av' toch moeten werken? Hij geeft dan echter niet op dat hij iets met de T5 heeft gedaan. Van enig snelheidsverlies heb ik echter ook nog nooit iets gemerkt. Schijf was snel en blijft snel.

Zo ziet die er van binnen uit: https://www.digit.in/reviews/storage/samsung-t5-ssd-review-125197.html

« Laatst bewerkt op: 2020/12/02, 15:18:50 door Ronaldus »

Offline vanadium

  • Lid
Re: Een externe USB SSD schijf: trimmen?
« Reactie #2 Gepost op: 2020/12/02, 18:12:12 »
Bedankt voor de intessante link! Voor mij was het schijfje inderdaad verrassend compact, en het kleine, in verhouding tamelijk zware bakje geeft een oersolide indruk.

Het lijkt me inderdaad dat er bij linux handwerk nodig is om het schijfje te kunnen trimmen. Ik heb hier een mooi artikel gevonden, dat aangeeft hoe je een "udev" regel kan aanmaken, die ervoor zorgt dat de schijf bij het aankoppelen automatisch als een "trimbare" schijf wordt beschouwd. Daarna kan je dan - handmatig - het fstrim commando gebruiken. Dit werkt inderdaad enkel met specifieke bestandssystemen, ntfs, maar ook met het linux bestandssysteem ext4.

Offline bart85

  • Lid
Re: Een externe USB SSD schijf: trimmen?
« Reactie #3 Gepost op: 2020/12/03, 16:34:43 »
Ik denk bestandssysteem op ext4 moet worden geformatteerd voor gebruik van de functie.
Met onderstaande kun je controleren wat er is getrimd en op welke datum:

sudo systemctl status fstrim.service
Je leert maar mooi over weg gaan met de commandline.
Linus: "I'm happy with the people who are wandering around looking at the stars but I am looking at the ground and I want to fix the pothole before I fall in."
I look to the clouds behind me and see the thunder coming.

Offline bart85

  • Lid
Re: Een externe USB SSD schijf: trimmen?
« Reactie #4 Gepost op: 2020/12/03, 17:18:46 »
Onderstaande vind ik op https://wiki.archlinux.org/index.php/Solid_state_drive
Het is een handleiding over SSD tuning in Arch Linux. Vergelijkbaar probleem.

Several USB-to-SATA bridge chips (like VL715, VL716 etc.) and also USB-to-PCIe bridge chips (like the JMicron JMS583 used in external NVMe enclosures like IB-1817M-C31) support TRIM-like commands that can be sent through the USB Attached SCSI driver (named "uas" under Linux).

But the kernel may not automatically detect this capability, and therefore might not use it. Assuming your block device in question is /dev/sdX, you can find out whether that is the case by using the command

 sg_readcap -l /dev/sdX

If in its output you find a line stating "Logical block provisioning: lbpme=0" then you know that the kernel assumes the device does not support "Logical Block Provisioning Management" because the (LBPME) bit is not set.
Je leert maar mooi over weg gaan met de commandline.
Linus: "I'm happy with the people who are wandering around looking at the stars but I am looking at the ground and I want to fix the pothole before I fall in."
I look to the clouds behind me and see the thunder coming.

Offline vanadium

  • Lid
Re: Een externe USB SSD schijf: trimmen?
« Reactie #5 Gepost op: 2020/12/03, 18:55:06 »
Lijkt me dusver dat Linux standaard daar niets voor voorziet. De argeloze gebruiker ziet de performantie gaandeweg achteruitgaan, en merkt dat toch niet meteen. De verwittigde gebruiker doet wat ingrepen en voert periodiek een handmatige fstrim uit.

Offline bart85

  • Lid
Re: Een externe USB SSD schijf: trimmen?
« Reactie #6 Gepost op: 2020/12/03, 20:28:55 »
In de documentatie staat dat het mogelijk is, maar de kernel het niet altijd automatisch detecteert.

To verify TRIM support, run:

$ lsblk --discard

And check the values of DISC-GRAN (discard granularity) and DISC-MAX (discard max bytes) columns. Non-zero values indicate TRIM support.

Alternatively, install hdparm package and run:

# hdparm -I /dev/sda | grep TRIM

        *    Data Set Management TRIM supported (limit 1 block)

Dit is de controle voor support van trim op de USB SSD schijf. Werkt dat niet dan uit mijn vorige post de opdracht uitvoeren. Na die opdracht volgt nog een paar handelingen.
Je leert maar mooi over weg gaan met de commandline.
Linus: "I'm happy with the people who are wandering around looking at the stars but I am looking at the ground and I want to fix the pothole before I fall in."
I look to the clouds behind me and see the thunder coming.

Offline vanadium

  • Lid
Re: Een externe USB SSD schijf: trimmen?
« Reactie #7 Gepost op: 2020/12/04, 10:11:39 »
Bedankt. Dat bevestigt wat ik hier al had aangegeven. Linux gaat daar blijkbaar niet automatisch mee om. Er is een manuele ingreep nodig om aan te geven dat de USB SSD schijf trimbaar is, en dan moet er manueel, of via een manueel opgezet automatisch proces, getrimd worden (zoals het trouwens ook is voor controle van het bestandssyysteem).

Re: Een externe USB SSD schijf: trimmen?
« Reactie #8 Gepost op: 2020/12/05, 20:03:24 »
In de link van Vanadium:

Citaat
2. Create a udev rule

sudo nano /etc/udev/rules.d/50-usb-ssd-trim.rules

Enter this rule in the text editor:

ACTION=="add|change", ATTRS{idVendor}=="152d", ATTRS{idProduct}=="0583", SUBSYSTEM=="scsi_disk", ATTR{provisioning_mode}="unmap"

Hoe krijg je eigenlijk deze actie weer ongedaan???
Gewoon weer 'sudo nano /etc/udev/rules.d/50-usb-ssd-trim.rules' en dan die regel weer verwijderen???

« Laatst bewerkt op: 2020/12/05, 20:06:51 door Ronaldus »

Offline bart85

  • Lid
Re: Een externe USB SSD schijf: trimmen?
« Reactie #9 Gepost op: 2020/12/05, 20:22:07 »
Ja.

Als je die regel gebruikt moet hem wel aanpassen met merk en type van het device wat je gebruikt. Dat is op te vragen met lsusb voor een USB device.
« Laatst bewerkt op: 2020/12/05, 20:25:02 door bartveurink »
Je leert maar mooi over weg gaan met de commandline.
Linus: "I'm happy with the people who are wandering around looking at the stars but I am looking at the ground and I want to fix the pothole before I fall in."
I look to the clouds behind me and see the thunder coming.

Re: Een externe USB SSD schijf: trimmen?
« Reactie #10 Gepost op: 2020/12/05, 20:29:55 »
Dank. (Dat had/heb ik ook gedaan.)

Als ik lsblk --discard invoer dan krijg ik de bijgevoegde output. Dat impliceert volgens mij dat TRIM ondersteund wordt?

Hoe voer ik die dan eenmalig (op afroep) uit? Met sudo fs trim -av pakt hij kennelijk alleen de 'sda'. (Waar momenteel niet veel te 'trimmen' valt.):

/boot/efi: 503,2 MiB (527630336 bytes) trimmed on /dev/sda1
/boot: 0 B (0 bytes) trimmed on /dev/sda2
/: 1,8 GiB (1956421632 bytes) trimmed on /dev/mapper/vgxubuntu-root


Kan je in '50-usb-ssd-trim.rule' meerdere regels toevoegen (meerdere SSD's in bezit)?


« Laatst bewerkt op: 2020/12/05, 20:40:36 door Ronaldus »

Offline bart85

  • Lid
Re: Een externe USB SSD schijf: trimmen?
« Reactie #11 Gepost op: 2020/12/05, 21:22:53 »
Het gaat om DISC-GRAN en DISC-MAX. Voor beide kolommen een waarde ongelijk aan 0 geeft ondersteuning voor trimmen op het device.

sudo fstrim /media/NAME-OF-MY-SSD

Je kunt bovenstaande proberen, maar waarschijnlijk krijg je een foutmelding. De kernelement het niet standaard ondersteund.

Your SSD reports to hdparm to support TRIM (hdparm -I = Request identification info directly from the drive).

Citaat
TRIM however, is controlled by the drive controller.

It is quite likely that the USB3 harddiskcontroller of the external HDD closure doesn't support TRIM (most external controllers don't).

In that case you won't get any TRIM capabilities even if your SSD does support it.

Dit lees ik op een site.
Je leert maar mooi over weg gaan met de commandline.
Linus: "I'm happy with the people who are wandering around looking at the stars but I am looking at the ground and I want to fix the pothole before I fall in."
I look to the clouds behind me and see the thunder coming.

JorisC

  • Gast
Re: Een externe USB SSD schijf: trimmen?
« Reactie #12 Gepost op: 2020/12/06, 00:05:13 »
Een gewone HDD wat een mechanische schijf is kan getrimd worden . Een SSD is digitaal en trim je best niet om de levensduur niet te verkorten .

Re: Een externe USB SSD schijf: trimmen?
« Reactie #13 Gepost op: 2020/12/06, 08:00:00 »
Een gewone schijf trim je niet. Is ook niet nodig. Vrijgekomen ruimte kan direct na het weggooien van bestanden weer beschreven worden.

Een SSD moet juist wel getrimd worden, zodat de 'lege' cellen (waar eerder wat anders opstond) weer overschreven kan worden met andere data. (Lege cellen zijn eigenlijk alleen als leeg gemarkeerd.)

Dat kan vooraf gebeuren, zodat je op het moment als je weer wat wil schrijven de cel niet eerst leeg gemaakt hoeft te worden. De SSD blijft zo zijn snelheid behouden.
Kan ook pas gebeuren als je wat op de SSD wilt schrijven. Voor de schrijfactie uit moet dan eerst nog de cel geleegd worden, waarna de schrijfactie pas plaats kan vinden. Dat werkt vertragend. Een schijf die niet getrimd wordt, wordt gedurende de tijd dan ook steeds ietsje trager en dat is voor een SSD eigenlijk jammer.

Het probleem is dat het trimmen eigenlijk in beginsel bedoeld is voor interne schijven, maar je het ook zou willen hebben op een externe SSD. Op leesacties heeft het trimmen trouwens geen effect: die blijven snel.

https://www.digitalcitizen.life/simple-questions-what-trim-ssds-why-it-useful/

(NB.: Voorlopig zelf het bestandje '50-usb-ssd-trim.rules' maar even weer verwijderd, aangezien er hier kennelijk in ieder geval toch niets mee gebeurd. Ik laat voorlopig de externe schijven voorlopig wel 'ongetrimd'.)

« Laatst bewerkt op: 2020/12/06, 08:27:42 door Ronaldus »

Offline vanadium

  • Lid
Re: Een externe USB SSD schijf: trimmen?
« Reactie #14 Gepost op: 2020/12/06, 11:28:40 »
Gewoon weer 'sudo nano /etc/udev/rules.d/50-usb-ssd-trim.rules' en dan die regel weer verwijderen???
Dat bestandje is nieuw aangemaakt en bevat enkel je regel: ongedaan maken doe je dus door dat bestand weer te verwijderen.
sudo rm /etc/udev/rules.d/50-usb-ssd-trim.rules

Je kan daar inderdaad meerdere SSD schijven toevoegen.

Inderdaad, dat het bij jou niet gaat, kan liggen aan de SSD. Je kan eens de partitie expliciet vermelden:
sudo fstrim <koppelpunt van je SSD>
maar met de optie -a had hij hem inderdaad moeten meenemen.