Page 1 sur 1

[TRIM] trim ne semble pas marcher

Publié : sam. 18 mai 2013, 16:43
par hopimet
Salut les archers,

J'essaie d'activer le trim sur mon ssd (SAMSUNG SSD PM800 TM 128GB ) mais ça n'a pas l'air de marcher. Je m'explique.

J'ai d'abord vérifié que mon ssd supportait trim :

Code : Tout sélectionner

hdparm -I /dev/sda | grep TRIM
	   *	Data Set Management TRIM supported (limit unknown)
J'ai ensuite rajouté l'option discard dans mon fstab puis redémarré. fstab :

Code : Tout sélectionner

# 
# /etc/fstab: static file system information
#
# <file system>	<dir>	<type>	<options>	<dump>	<pass>
proc	/proc	proc	defaults	0	0
# /dev/sda5
UUID=04a0bc52-45bb-404b-bcad-8a772d8c1ddf	swap	swap	sw	0	0
# /dev/sda6
UUID=36031610-ae48-4375-ac58-cec2b4c18fef	/	ext4	discard,rw,errors=remount-ro	0	1
# /dev/sda7
UUID=d24e0b34-0d13-43b0-9a11-8137fbb44c3a	/home	ext4	discard,rw,errors=remount-ro	0	2
Ensuite (en root) j'ai créé un fichier test :

Code : Tout sélectionner

for i in {10001..10200}; do echo "$i test line" >> testfile.txt; done
sync
Je localise ensuite sa position sur le ssd :

Code : Tout sélectionner

hdparm --fibmap testfile.txt

testfile.txt:
 filesystem blocksize 4096, begins at LBA 87394304; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0  117478632  117478639          8
Je vérifie que le premier secteur de ce fichier contient les données :

Code : Tout sélectionner

hdparm --read-sector 117478632 /dev/sda

/dev/sda:
reading sector 117478632: succeeded
3031 3030 2031 6574 7473 6c20 6e69 0a65
3031 3030 2032 6574 7473 6c20 6e69 0a65
3031 3030 2033 6574 7473 6c20 6e69 0a65
... (les autres lignes sont comparables)
J'efface ensuite le fichier puis je flush :

Code : Tout sélectionner

rm testfile.txt 
sync
Pourtant les données sont toujours là :

Code : Tout sélectionner

hdparm --read-sector 117478632 /dev/sda

/dev/sda:
reading sector 117478632: succeeded
3031 3030 2031 6574 7473 6c20 6e69 0a65
3031 3030 2032 6574 7473 6c20 6e69 0a65
3031 3030 2033 6574 7473 6c20 6e69 0a65
Si trim fonctionnait je devrais avoir uniquement des zéro à cet emplacement non ? J'ai raté quoi ?

Merci d'avance

Edit : je viens également de tenter par fstrim

Code : Tout sélectionner

fstrim -v /
/ : 7,7 GiB (8301047808 octets) taillés
Et ça n'a pas l'air mieux :

Code : Tout sélectionner

hdparm --read-sector 117478632 /dev/sda

/dev/sda:
reading sector 117478632: succeeded
3031 3030 2031 6574 7473 6c20 6e69 0a65
3031 3030 2032 6574 7473 6c20 6e69 0a65
3031 3030 2033 6574 7473 6c20 6e69 0a65
Pourtant un nouveau fstrim me dit :

Code : Tout sélectionner

fstrim -v /
/ : 0 B (0 octets) taillés
:?:

Re: [TRIM] trim ne semble pas marcher

Publié : sam. 18 mai 2013, 19:03
par jean_no
Salut

SSD : Crucial M4 M4-CT256M4SSD2 256GB

pour comparer, voici les sorties des mêmes commandes que toi :

Code : Tout sélectionner

# hdparm -I /dev/sda | grep TRIM
           *    Data Set Management TRIM supported (limit 8 blocks)
           *    Deterministic read data after TRIM

Code : Tout sélectionner

# /dev/sda3
UUID=f32e8743-2f80-409a-907c-53edbd4b8aeb	/         	ext4      	defaults,relatime,discard	0 1
#
# /dev/sda4
UUID=8f8d4691-3427-4509-971b-118361524ffa	/home     	ext4      	defaults,relatime,discard	0 2
#
# /dev/sda2
UUID=07e77477-5016-45ed-84e1-a64b3bb3579a	none      	swap      	defaults  	0 0

Code : Tout sélectionner

# for i in {10001..10200}; do echo "$i test line" >> testfile.txt; done
# sync
# hdparm --fibmap testfile.txt

testfile.txt:
 filesystem blocksize 4096, begins at LBA 16783360; assuming 512 byte sectors.
 byte_offset  begin_LBA    end_LBA    sectors
           0   59507688   59507695          8

Code : Tout sélectionner

# hdparm --read-sector 59507688 /dev/sda

/dev/sda:
reading sector 59507688: succeeded
3031 3030 2031 6574 7473 6c20 6e69 0a65
3031 3030 2032 6574 7473 6c20 6e69 0a65
3031 3030 2033 6574 7473 6c20 6e69 0a65
3031 3030 2034 6574 7473 6c20 6e69 0a65
...

Code : Tout sélectionner

# rm testfile.txt
# sync

Code : Tout sélectionner

# hdparm --read-sector 59507688 /dev/sda

/dev/sda:
reading sector 59507688: succeeded
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
...
Je pense que cela vient de tes options dans ton fstab : absence de sync ou de async.
voir ici : https://wiki.archlinux.org/index.php/Fstab

J'ai vu voilà quelque jours un sujet identique sur le forum EN ( désolé pas retrouvé ! )
A+

Re: [TRIM] trim ne semble pas marcher

Publié : sam. 18 mai 2013, 19:20
par hopimet
Merci de t'intéresser au problème.

Là je ne suis pas sur ce PC donc je ne peux pas tester. Cela dit, à ce que je vois, tu n'as pas non plus sync dans les options de ton fstab et ça marche quand même.
Donc je ne suis pas sûr que ça vienne de là. Enfin, dès que je peux j'essaierai de rajouter sync pour voir et je te tiens au courant.

Edit : ah ben peut être pas en fait, vu que tu as defaults qui sous-entends donc async. Du coup je vais peut être rajouter defaults. Qu'en penses-tu ?

Re: [TRIM] trim ne semble pas marcher

Publié : sam. 18 mai 2013, 20:14
par benjarobin
Tu peux en effet essayer de rajouter defaults, cela ne fait pas de mal :-)
Sinon je suis étonné qu'a la lecture d'un secteur effacé on lise 0x00 au lieu de 0xFF...

Re: [TRIM] trim ne semble pas marcher

Publié : sam. 18 mai 2013, 20:28
par jean_no
Salut

Pour le fstab : defaults inclut async

j'ai retrouve le sujet du forum EN : https://bbs.archlinux.org/viewtopic.php?pid=1272558

@benjarobin
voici un sujet qui explique nos manips :
https://nedoboi.wordpress.com/2011/11/1 ... -it-works/
ça explique pourquoi 0x00 au lieu de 0xFF ( la fonction TRIM en fait ).

A+

Re: [TRIM] trim ne semble pas marcher

Publié : sam. 18 mai 2013, 20:46
par hopimet
Bon, ben... ça marche pô !

J'ai bien ajouté defaults dans fstab mais j'ai toujours le même résultat. Sur le forum EN il n'y a d'ailleurs pas la solution.

PS : et au reboot fstrim me renvoie à nouveau

Code : Tout sélectionner

fstrim -v /
/ : 7,7 GiB (8295960576 octets) taillés

Re: [TRIM] trim ne semble pas marcher

Publié : lun. 20 mai 2013, 12:59
par hopimet
Je me permets un petit up.

Pour info j'ai modifié mes options de BIOS en changeant IRRT pour AHCI, au cas où, mais ça n'a pas aidé (l'écriture est légèrement plus rapide en AHCI, mais c'est à peine significatif).

Re: [TRIM] trim ne semble pas marcher

Publié : sam. 25 mai 2013, 21:31
par Ypnose
Des nouvelles?

Re: [TRIM] trim ne semble pas marcher

Publié : sam. 25 mai 2013, 21:38
par hopimet
Non malheureusement. Je pense que je vais laisser tomber le trim. En même temps ce ssd a déjà vécu 3 ans sans ça. On verra bien.