Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Ahci(4) needed for TRIM

    Scheduled Pinned Locked Moved 2.1 Snapshot Feedback and Problems - RETIRED
    42 Posts 12 Posters 28.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • a-a-ronA
      a-a-ron
      last edited by

      I'll be honest, its been years since i've read or done anything with this drive. Last I read (for mine) it didn't support TRIM, but had "Wear-leveling algorithm ensures reliable data transfer", which I had assumed was pre-TRIM. My drive has been happily sitting in my router doing its job. It wasn't until this thread that I started playing with it again.

      Mine also doesn't appear to have command queueing either.

      ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
      ada0: <ts32gssd25s-m 100415=""> ATA-7 SATA 2.x device
      ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 512bytes)
      ada0: 30560MB (62586880 512 byte sectors: 16H 63S/T 16383C)
      WARNING: /: TRIM flag on fs but disk does not support TRIM</ts32gssd25s-m>
      

      I wonder if there is a newer firmware that adds TRIM?

      EDIT:
      I don't see in the spec sheets where either drive supports TRIM.
      TS16GSSD25S-S
      http://www.csee.umbc.edu/~squire/images/ssd3.pdf
      http://c.master.lv/p/01/53/40/05/F611373.pdf

      1 Reply Last reply Reply Quote 0
      • K
        kejianshi
        last edited by

        Jmicron?

        Be worried…  Be very worried.

        If I had a jmicron and just had to run it, I'd do everything possible to minimize writes.

        Might even treat it like flash card just to be safe.

        1 Reply Last reply Reply Quote 0
        • G
          gogol
          last edited by

          I did some further investigation and it seems that my Transcend drive (TS16GSSD25S-S) has no TRIM support, although I have found a lot of resources that say otherwise:

          root: camcontrol identify ada0 | egrep TRIM\|Feature
          Feature                      Support  Enabled   Value           Vendor
          data set management (TRIM)     no
          
          

          It is an SLC drive with an MTBF of 1.000.000 hours and wear leveling so I am not worried at all even though it has a JMicron controller. ;)
          I have it running for about 4 years now as ext3 linux OS server with extensive logging (also not advised by many sources) and now lately for pfSense.
          http://www.ssdworld.net/?p=tips

          Ssd's with a JMicron controller however (OCZ and Kingston models) have initially caused much disappointment and frustration.
          Meanwhile the firmware of ssd's with a JMicron controller have been improved, but because people are very reluctant buying an ssd with a JMicron controller, it will take a while until the appreciation for those ssd's will improve.

          1 Reply Last reply Reply Quote 0
          • A
            andr3wyong
            last edited by

            @jimp:

            The AHCI module should be included in snapshots now (I just updated a VM and checked, it's there).

            Also look at /usr/local/sbin/ufslabels.sh - that would eliminate the need to make any fstab edits.

            Too late for 2.1 to grow an installer option for it, but perhaps for 2.2.

            The module is there, but coming from a snapshot before the inclusion of the module, I still require ahci_load="YES" in boot.conf.local - it reverts to the ATA modules otherwise. Is there something I’m missing?

            1 Reply Last reply Reply Quote 0
            • jimpJ
              jimp Rebel Alliance Developer Netgate
              last edited by

              No, you'll need to load the AHCI module if you want it. That won't change for 2.1.

              Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

              Need help fast? Netgate Global Support!

              Do not Chat/PM for help!

              1 Reply Last reply Reply Quote 0
              • A
                andr3wyong
                last edited by

                Great, at least it’s behaving as intended, then :)

                Is there any persistent configuration set by the installer when installing with TRIM enabled though? Or will we have to flip the AHCI switch even if installing with TRIM enabled?

                1 Reply Last reply Reply Quote 0
                • jimpJ
                  jimp Rebel Alliance Developer Netgate
                  last edited by

                  The installer knows nothing of TRIM currently.

                  Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                  Need help fast? Netgate Global Support!

                  Do not Chat/PM for help!

                  1 Reply Last reply Reply Quote 0
                  • S
                    Sn3ak
                    last edited by

                    I'd like to point out, the previous patches for the smart status page / widget are incorrect.
                    This code, at least for me, stops showing ad* devices, and da* devices. It does report ada* devices.

                    
                    exec("ls /dev | grep '^[ad][da]a*[0-9]\{1,2\}$'", $devs);
                    
                    

                    Should be: (and this appears to be the latest committed to pfsense)

                    
                    exec("ls /dev | grep '^\(ad\|da\|ada\)[0-9]\{1,2\}$'", $devs);
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • jimpJ
                      jimp Rebel Alliance Developer Netgate
                      last edited by

                      The old regex worked fine when I tested it, e.g.

                      $ cat test.txt 
                      ad0
                      da0
                      ada0
                      $ grep '^[ad][da]a*[0-9]\{1,2\}$' test.txt 
                      ad0
                      da0
                      ada0
                      $ ls /dev | grep '^[ad][da]a*[0-9]\{1,2\}$'
                      ad4
                      ad6
                      ada0
                      ada1
                      da0
                      

                      The newer one is definitely better, but the old one wasn't broken on any system I tried it on.

                      Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                      Need help fast? Netgate Global Support!

                      Do not Chat/PM for help!

                      1 Reply Last reply Reply Quote 0
                      • M
                        markn62
                        last edited by

                        This thread got TRIM enabled on an AMD64.  Curious if "time" is the best optimization method or if it's even worth looking into.

                        [2.1-RC1][admin@pfsense.router]/(2): tunefs -p /
                        tunefs: POSIX.1e ACLs: (-a)                                disabled
                        tunefs: NFSv4 ACLs: (-N)                                  disabled
                        tunefs: MAC multilabel: (-l)                              disabled
                        tunefs: soft updates: (-n)                                disabled
                        tunefs: gjournal: (-J)                                    disabled
                        tunefs: trim: (-t)                                        enabled
                        tunefs: maximum blocks per file in a cylinder group: (-e)  2048
                        tunefs: average file size: (-f)                            16384
                        tunefs: average number of files in a directory: (-s)      64
                        tunefs: minimum percentage of free space: (-m)            8%
                        tunefs: optimization preference: (-o)                      time
                        tunefs: volume label: (-L)

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.