1,330
edits
Line 164: | Line 164: | ||
# run the <code>fstrim -v /mount/point</code> command (this takes a few seconds) | # run the <code>fstrim -v /mount/point</code> command (this takes a few seconds) | ||
# unmount the card, and revert steps 2. and 1. | # unmount the card, and revert steps 2. and 1. | ||
=== TRIM === | |||
==== USB sticks ==== | |||
TRIMming informs the firmware about blocks of the filesystem that do not contain file data. This is available for USB sticks for which <code>hdparm -I /dev/sdX</code> returns "Data Set Management TRIM supported". | |||
The <code>wiper.sh</code> script (part of the <code>hdparm</code> source distribution) TRIMs ext3/ext4/xfs filesystems, but does not reproducibly seem to work for our preferred SanDisk Extreme 32GB stick if the filesystem is mounted. This is probably due to the fact that this stick has a limitation of max 65536 blocks in one TRIM command (https://sourceforge.net/p/hdparm/bugs/63/). Since <code>wiper.sh</code> also works for unmounted filesystems, and the mapping of unused space is then obtained with a different tool, one should try with an unmounted filesystem as well - this worked for us in all cases tried so far (tested with [http://lightrush.ndoytchev.com/random-1/checkiftrimonext4isenabledandworking this script]). | |||
All other methods, like the <code>fstrim</code> command and the <code>discard</code> mount option '''do not work for USB sticks''', because the usb-storage kernel module does not pass the ATA TRIM command through the USB bridge and controller to the device. The same goes for [http://unix.stackexchange.com/questions/97143/utility-to-trim-unallocated-space-on-drive <code>blkdiscard</code>]. | |||
==== (micro)SD cards ==== | |||
These support TRIM when in a SD slot, but not when inserted in a USB adapter. When in a SD slot, the <code>lsblk -D</code> command reveals that the card can be TRIMmed, and <code>fstrim -v /dev/mmcXXXXX</code> works. | |||
=== fill empty space of a partition with “zeroes” === | === fill empty space of a partition with “zeroes” === | ||
Line 192: | Line 203: | ||
dd if=/dev/zero of=/dev/sdX bs=8192k | dd if=/dev/zero of=/dev/sdX bs=8192k | ||
hoping that the firmware will understand this as a request for low-level formatting. This seems to work with some sticks, but takes a long time and may stress the flash cells. | hoping that the firmware will understand this as a request for low-level formatting. This seems to work with some sticks, but takes a long time and may stress the flash cells. | ||
== installation of crystallographic software == | == installation of crystallographic software == |