Feedback on PC Engines msata16d drive



  • Anybody using the msata drive sold by PC Engines for the APU and APU2 board?

    http://pcengines.ch/msata16d.htm

    Does it work with trim on pfSense?


  • Rebel Alliance Developer Netgate

    If that's the same one they've had for a couple years now, it most certainly does NOT work with TRIM. TRIM will make it go boom. Badly. As in, filesystem gets completely hosed.

    Drop some cash on a proper Tier 1 SSD, like one from Intel.



  • @jimp:

    If that's the same one they've had for a couple years now, it most certainly does NOT work with TRIM. TRIM will make it go boom. Badly. As in, filesystem gets completely hosed.

    @jimp, no, you are thinking of the msata16b which was a SuperSSpeed S238 16G, not good.

    Later PC Engines offered a msata16c which was a MyDigitalSSD MDMS-SB-016, and then a msata16d which appears to be an OEM version of the same MDMS-SB-016 SSD.

    The MyDigitalSSD MDMS-SB-016 has decent specs.

    Phison S9 Series (PS3109)
    Toshiba A19nm MLC Toggle NAND Flash
    
    Sudden power-off recovery
    Battery backup function
    High and Reliable ECC capability up to 24bits/sector
    S.M.A.R.T features optimized for SSD
    Bit error monitoring and management
    Dynamic and static wear-leveling
    Dynamic bad block management
    SMART commands and additional SSD monitoring
    
    

    I have no experience with TRIM on that mSATA SSD, but if 16 GB is large enough, then the OP is probably only using it for configs and small storage, so enabling TRIM may not be needed anyway.

    My guess is the msata16d works fine with TRIM enabled, but I have no experience to say for sure.



  • Under the link below is a success story of enabling that 16 GB mSATA, in the past the older models are not
    supporting TRIM but the newer ones should do it. Link

    I have no experience with TRIM on that mSATA SSD, but if 16 GB is large enough, then the OP is probably only using it for configs and small storage, so enabling TRIM may not be needed anyway.

    In normalit owuld be better to do so in my eyes, because then the "secure erase function" will work
    proper. That means all blocks that will be market for deleting the data on it, will be also new written
    and are marked as write able. Other wise it can be that the will one day thinking there are no free
    blocks to write on.



  • Not pfsense, but Linux 3.16 amd64.

    echo 3 > /proc/sys/vm/drop_caches

    root@apu2:~# dd if=/dev/sda bs=64k of=/dev/null count=999999
    244353+1 records in
    244353+1 records out
    16013942784 bytes (16 GB) copied, 39.3015 s, 407 MB/s

    Positively impressed.

    [    3.297183] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    [    3.297506] ata1.00: ATA-10: SATA SSD, S9FM02.5, max UDMA/133
    [    3.297513] ata1.00: 31277232 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
    [    3.297869] ata1.00: configured for UDMA/133
    [    3.298310] scsi 0:0:0:0: Direct-Access    ATA      SATA SSD        02.5 PQ: 0 ANSI: 5
    [    3.305246] sd 0:0:0:0: [sda] 31277232 512-byte logical blocks: (16.0 GB/14.9 GiB)
    [    3.305639] sd 0:0:0:0: [sda] Write Protect is off
    [    3.305649] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
    [    3.305805] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
    [    3.307231]  sda: sda1 sda2 < sda5 >
    [    3.308629] sd 0:0:0:0: [sda] Attached SCSI disk
    [    3.310278] sd 0:0:0:0: Attached scsi generic sg0 type 0

    root@apu2:~# smartctl –all /dev/sda
    smartctl 6.4 2014-10-07 r4002 [x86_64-linux-3.16.0-4-amd64] (local build)
    Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF INFORMATION SECTION ===
    Device Model:    SATA SSD
    Serial Number:    DE35075803EEXXXXXXX
    Firmware Version: S9FM02.5
    User Capacity:    16,013,942,784 bytes [16.0 GB]
    Sector Size:      512 bytes logical/physical
    Rotation Rate:    Solid State Device
    Form Factor:      mSATA
    Device is:        Not in smartctl database [for details use: -P showall]
    ATA Version is:  ACS-3 (minor revision not indicated)
    SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
    Local Time is:    Fri Apr 15 05:17:36 2016 CEST
    SMART support is: Available - device has SMART capability.
    SMART support is: Enabled

    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: PASSED

    General SMART Values:
    Offline data collection status:  (0x00) Offline data collection activity
    was never started.
    Auto Offline Data Collection: Disabled.
    Self-test execution status:      (  0) The previous self-test routine completed
    without error or no self-test has ever
    been run.
    Total time to complete Offline
    data collection: (  30) seconds.
    Offline data collection
    capabilities: (0x7b) SMART execute Offline immediate.
    Auto Offline data collection on/off support.
    Suspend Offline collection upon new
    command.
    Offline surface scan supported.
    Self-test supported.
    Conveyance Self-test supported.
    Selective Self-test supported.
    SMART capabilities:            (0x0003) Saves SMART data before entering
    power-saving mode.
    Supports SMART auto save timer.
    Error logging capability:        (0x01) Error logging supported.
    General Purpose Logging supported.
    Short self-test routine
    recommended polling time: (  1) minutes.
    Extended self-test routine
    recommended polling time: (  2) minutes.
    Conveyance self-test routine
    recommended polling time: (  2) minutes.

    SMART Attributes Data Structure revision number: 16
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME          FLAG    VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      1 Raw_Read_Error_Rate    0x000a  100  100  000    Old_age  Always      -      0
      9 Power_On_Hours          0x0012  100  100  000    Old_age  Always      -      176
    12 Power_Cycle_Count      0x0012  100  100  000    Old_age  Always      -      8
    168 Unknown_Attribute      0x0012  100  100  000    Old_age  Always      -      0
    170 Unknown_Attribute      0x0013  100  100  010    Pre-fail  Always      -      12
    173 Unknown_Attribute      0x0000  100  100  000    Old_age  Offline      -      196608
    192 Power-Off_Retract_Count 0x0012  100  100  000    Old_age  Always      -      0
    194 Temperature_Celsius    0x0023  070  070  000    Pre-fail  Always      -      30
    196 Reallocated_Event_Count 0x0000  100  100  000    Old_age  Offline      -      0
    218 Unknown_Attribute      0x0000  100  100  000    Old_age  Offline      -      0
    241 Total_LBAs_Written      0x0012  100  100  000    Old_age  Always      -      6438

    SMART Error Log Version: 1
    No Errors Logged

    SMART Self-test log structure revision number 1
    No self-tests have been logged.  [To run self-tests, use: smartctl -t]

    SMART Selective self-test log data structure revision number 0
    Note: revision number not 1 implies that no selective self-test has ever been run
    SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
        1        0        0  Not_testing
        2        0        0  Not_testing
        3        0        0  Not_testing
        4        0        0  Not_testing
        5        0        0  Not_testing
    Selective self-test flags (0x0):
      After scanning selected spans, do NOT read-scan remainder of disk.
    If Selective self-test is pending on power-up, resume after 0 minute delay.

    hdparm -I /dev/sda

    /dev/sda:

    ATA device, with non-removable media
    Model Number:      SATA SSD                               
    Serial Number:      DE35075803EEXXXXXXX
    Firmware Revision:  S9FM02.5
    Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
    Standards:
    Supported: 10 9 8 7 6 5
    Likely used: 10
    Configuration:
    Logical max current
    cylinders 16383 16383
    heads 16 16
    sectors/track 63 63

    CHS current addressable sectors:  16514064
    LBA    user addressable sectors:  31277232
    LBA48  user addressable sectors:  31277232
    Logical  Sector size:                  512 bytes
    Physical Sector size:                  512 bytes
    Logical Sector-0 offset:                  0 bytes
    device size with M = 10241024:      15272 MBytes
    device size with M = 1000
    1000:      16013 MBytes (16 GB)
    cache/buffer size  = unknown
    Form Factor: unknown (0x0006]
    Nominal Media Rotation Rate: Solid State Device
    Capabilities:
    LBA, IORDY(can be disabled)
    Queue depth: 32
    Standby timer values: spec'd by Standard, no device specific minimum
    R/W multiple sector transfer: Max = 16 Current = 16
    Advanced power management level: disabled
    DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
        Cycle time: min=120ns recommended=120ns
    PIO: pio0 pio1 pio2 pio3 pio4
        Cycle time: no flow control=120ns  IORDY flow control=120ns
    Commands/features:
    Enabled Supported:
      * SMART feature set
        Security Mode feature set
      * Power Management feature set
      * Write cache
      * Look-ahead
      * Host Protected Area feature set
      * WRITE_BUFFER command
      * READ_BUFFER command
      * DOWNLOAD_MICROCODE
        Advanced Power Management feature set
        SET_MAX security extension
      * 48-bit Address feature set
      * Device Configuration Overlay feature set
      * Mandatory FLUSH_CACHE
      * FLUSH_CACHE_EXT
      * SMART error logging
      * SMART self-test
      * General Purpose Logging feature set
      * WRITE_{DMA|MULTIPLE}_FUA_EXT
      * IDLE_IMMEDIATE with UNLOAD
      * WRITE_UNCORRECTABLE_EXT command
      * Segmented DOWNLOAD_MICROCODE
      * Gen1 signaling speed (1.5Gb/s)
      * Gen2 signaling speed (3.0Gb/s)
      * Gen3 signaling speed (6.0Gb/s)
      * Native Command Queueing (NCQ)
      * Host-initiated interface power management
      * Phy event counters
      * unknown 76[13]
      * unknown 76[14]
      * DMA Setup Auto-Activate optimization
        Device-initiated interface power management
      * Software settings preservation
      * DOWNLOAD MICROCODE DMA command
      * DEVICE CONFIGURATION SET/IDENTIFY DMA commands
      * Data Set Management TRIM supported (limit 8 blocks)
    Security:
    Master password revision code = 65534
    supported
    not enabled
    not locked
    not frozen
    not expired: security count
    supported: enhanced erase
    2min for SECURITY ERASE UNIT. 60min for ENHANCED SECURITY ERASE UNIT.
    Checksum: correct

    hdparm -i /dev/sda

    /dev/sda:

    Model=SATA SSD, FwRev=S9FM02.5, SerialNo=DE35075803EEXXXXXXXXX
    Config={ Fixed }
    RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
    BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
    CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=31277232
    IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
    PIO modes:  pio0 pio3 pio4
    DMA modes:  mdma0 mdma1 mdma2
    UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
    AdvancedPM=yes: disabled (255) WriteCache=enabled
    Drive conforms to: Unspecified:  ATA/ATAPI-3,4,5,6,7

    • signifies the current active mode

    hddtemp /dev/sda

    /dev/sda: SATA SSD: 30°C



  • @movax:

    Positively impressed.

    Indeed, the msata16d is a great small SSD for embedded applications.

    hddtemp /dev/sda

    /dev/sda: SATA SSD: 30°C

    Unfortunately there is no temp sensor, the SMART 30 C value is fake.  Same for MyDigitalSSD MDMS-SB-016.

    Here is a smartmontools drivedb.h entry I have tested for the msata16d and MyDigitalSSD Super-Boot-Drive mSATA series.  Due to the generic Model names, the firmware string needs to also be matched.

      { "Phison S9 SSD", // see MKP_521_Phison_SMART_attribute.pdf
        ".*SATA SSD", // PC Engines msata16d, MyDigitalSSD Super-Boot-Drive mSATA
        "S9FM.*", "",
      //"-v 1,raw48,Raw_Read_Error_Rate "
      //"-v 9,raw24(raw8),Power_On_Hours "
      //"-v 12,raw48,Power_Cycle_Count "
        "-v 168,raw48,SATA_Phy_Error_Count "
        "-v 170,raw24/raw24:z54z10,Bad_Blk_Ct_Erl/Lat " // Early bad block/Later bad block
        "-v 173,raw16(avg16),MaxAvgErase_Ct "
        "-v 192,raw48,Unsafe_Shutdown_Count "
      //"-v 194,tempminmax,Temperature_Celsius "
        "-v 196,raw48,Not_In_Use "
        "-v 218,raw48,CRC_Error_Count "
        "-v 241,raw48,Lifetime_Writes_MiB "
      }
    
    


  • Into APU 1D4, never problem with mSata Kingston 30Go since 1-2 years.

    Actually PfSense 2.3



  • Into APU 1D4, never problem with mSata Kingston 30Go since 1-2 years.

    Actually PfSense 2.3

    It would be really nice to know if you were turning on TRIM support or not.



  • Is it safe to buy (and use) MyDigitalSSD MDMS-SB-016 instead of msata16d? Are they really the same?