FreeBSD 10.1 + Samsung 850 EVO + ZFS + TRIM

Tim Gustafson tjg at ucsc.edu
Fri Sep 18 06:35:49 UTC 2015


Hi,

I've Google this around a bit, but I seem to be getting some
conflicting information so I'm hoping I can get this cleared up here.

I have a shiny new Dell PowerEdge R630 with four 1TB Samsung EVO SSDs
installed and configured as a RAID 0+1 zpool:

  pool: tank
 state: ONLINE
  scan: scrub repaired 14.5K in 0h13m with 0 errors on Thu Sep 17 20:47:17 2015
config:

        NAME             STATE     READ WRITE CKSUM
        tank           ONLINE       0     0     0
          mirror-0       ONLINE       0     0     0
            mfisyspd0p3  ONLINE       0     0     0
            mfisyspd1p3  ONLINE       0     0     0
          mirror-1       ONLINE       0     0     0
            mfisyspd3p3  ONLINE       0     0     0
            mfisyspd2p3  ONLINE       0     0     0

errors: No known data errors

I was investigating whether or not TRIM support was working, so I did:

root at host: sysctl -a | grep trim
vfs.zfs.vdev.trim_on_init: 1
vfs.zfs.vdev.trim_min_active: 1
vfs.zfs.vdev.trim_max_active: 64
vfs.zfs.vdev.trim_max_bytes: 2147483648
vfs.zfs.vdev.trim_max_pending: 64
vfs.zfs.trim.enabled: 1
vfs.zfs.trim.txg_delay: 32
vfs.zfs.trim.timeout: 30
vfs.zfs.trim.max_interval: 1
kstat.zfs.misc.zio_trim.bytes: 0
kstat.zfs.misc.zio_trim.success: 0
kstat.zfs.misc.zio_trim.unsupported: 546
kstat.zfs.misc.zio_trim.failed: 0

That seems to imply that the OS thinks that this drive does not
support TRIM, but all the documentation about the 850 drives indicates
that they do support TRIM.  Indeed, camcontrol reports that TRIM is
supported, but (if I'm reading this correctly) not enabled:

root at host: camcontrol identify /dev/pass0
pass0: <Samsung SSD 850 EVO 1TB EMT01B6Q> ATA-9 SATA 3.x device
pass0: 150.000MB/s transfers, Command Queueing Enabled

protocol              ATA/ATAPI-9 SATA 3.x
device model          Samsung SSD 850 EVO 1TB
firmware revision     EMT01B6Q
serial number         S21CNXAG526512L
WWN                   5002538840009228
cylinders             16383
heads                 16
sectors/track         63
sector size           logical 512, physical 512, offset 0
LBA supported         268435455 sectors
LBA48 supported       1953525168 sectors
PIO supported         PIO4
DMA supported         WDMA2 UDMA6
media RPM             non-rotating

Feature                      Support  Enabled   Value           Vendor
read ahead                     yes      yes
write cache                    yes      yes
flush cache                    yes      yes
overlap                        no
Tagged Command Queuing (TCQ)   no       no
Native Command Queuing (NCQ)   yes              32 tags
NCQ Queue Management           no
NCQ Streaming                  no
Receive & Send FPDMA Queued    yes
SMART                          yes      yes
microcode download             yes      yes
security                       yes      no
power management               yes      yes
advanced power management      no       no
automatic acoustic management  no       no
media status notification      no       no
power-up in Standby            no       no
write-read-verify              yes      no      0/0x0
unload                         no       no
general purpose logging        yes      yes
free-fall                      no       no
Data Set Management (DSM/TRIM) yes
DSM - max 512byte blocks       yes              8
DSM - deterministic read       no
Host Protected Area (HPA)      yes      no      1953525168/1
HPA - Security                 no

So, my guess is that while the drive supports TRIM, perhaps FreeBSD
has disabled TRIM for this drive, perhaps because of the buggy TRIM
firmware issues with some drives?  I thought those issues were present
in the 840 series, but not in the 850 series.  Or am I not reading
these screens correctly?

-

-- 

Tim Gustafson
tjg at ucsc.edu
831-459-5354
Baskin Engineering, Room 313A


More information about the freebsd-fs mailing list