Opened 4 years ago

Closed 4 years ago

#1280 closed patch (fixed)

Support TS120GMTS420S

Reported by: Thomas1024 Owned by: Christian Franke
Priority: minor Milestone: Release 7.2
Component: drivedb Version:
Keywords: ssd Cc:

Description

Add support for TS120GMTS420S.

diff --git a/smartmontools/drivedb.h b/smartmontools/drivedb.h
index 804d8eca..e29172ab 100644
--- a/smartmontools/drivedb.h
+++ b/smartmontools/drivedb.h
@@ -2020,7 +2020,7 @@ const drive_settings builtin_knowndrives[] = {
       // TS256GSSD370/N0815B, TS256GSSD370S/N1114H, TS512GSSD370S/N1114H, TS32GSSD420I/N1114H,
       // TS32GSSD420K/P1225CE
     "TS(16|32|64|128|512|256)GMTS4[03]0S?|" // TS256GMTS400, TS256GMTS430S/S0423A
-    "TS(120|240)GMTS420|" // Transcend MTS420
+    "TS(120|240)GMTS420[S]|" // Transcend MTS420
     "TS(128G|256G|512G|1T)SSD230S|" // TS128GSSD230S/P1025F8
     "TS(120|240|480|960)GSSD220S|" // TS480GSSD220S/P0520AA
     "TS(16G|32G|64G|128G|256G|512G|1T)MTS800S?|" // MTS800, tested with TS1TMTS800/O1225H1

Before:

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0032   100   100   050    Old_age   Always       -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   050    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   050    Old_age   Always       -       7496
 12 Power_Cycle_Count       0x0032   100   100   050    Old_age   Always       -       713
160 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       0
161 Unknown_Attribute       0x0033   100   100   050    Pre-fail  Always       -       100
163 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       10
164 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       147280
165 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       472
166 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       225
167 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       299
168 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       1500
169 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       81
175 Program_Fail_Count_Chip 0x0032   100   100   050    Old_age   Always       -       0
176 Erase_Fail_Count_Chip   0x0032   100   100   050    Old_age   Always       -       0
177 Wear_Leveling_Count     0x0032   100   100   050    Old_age   Always       -       0
178 Used_Rsvd_Blk_Cnt_Chip  0x0032   100   100   050    Old_age   Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   050    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   050    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   050    Old_age   Always       -       538
194 Temperature_Celsius     0x0022   100   100   050    Old_age   Always       -       54
195 Hardware_ECC_Recovered  0x0032   100   100   050    Old_age   Always       -       2991
196 Reallocated_Event_Count 0x0032   100   100   050    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   050    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0032   100   100   050    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   050    Old_age   Always       -       3
232 Available_Reservd_Space 0x0032   100   100   050    Old_age   Always       -       100
241 Total_LBAs_Written      0x0030   100   100   050    Old_age   Offline      -       210577
242 Total_LBAs_Read         0x0030   100   100   050    Old_age   Offline      -       4258163
245 Unknown_Attribute       0x0032   100   100   050    Old_age   Always       -       373265

After:

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0032   100   100   050    Old_age   Always       -       0
  5 Reallocated_Sector_Ct   0x0032   100   100   050    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   050    Old_age   Always       -       7496
 12 Power_Cycle_Count       0x0032   100   100   050    Old_age   Always       -       713
160 Uncorrectable_Error_Cnt 0x0032   100   100   050    Old_age   Always       -       0
161 Valid_Spare_Block_Cnt   0x0033   100   100   050    Pre-fail  Always       -       100
163 Initial_Bad_Block_Count 0x0032   100   100   050    Old_age   Always       -       10
164 Total_Erase_Count       0x0032   100   100   050    Old_age   Always       -       147279
165 Max_Erase_Count         0x0032   100   100   050    Old_age   Always       -       472
166 Min_Erase_Count         0x0032   100   100   050    Old_age   Always       -       225
167 Average_Erase_Count     0x0032   100   100   050    Old_age   Always       -       299
168 Max_Erase_Count_of_Spec 0x0032   100   100   050    Old_age   Always       -       1500
169 Remaining_Lifetime_Perc 0x0032   100   100   050    Old_age   Always       -       81
175 Program_Fail_Count_Chip 0x0032   100   100   050    Old_age   Always       -       0
176 Erase_Fail_Count_Chip   0x0032   100   100   050    Old_age   Always       -       0
177 Wear_Leveling_Count     0x0032   100   100   050    Old_age   Always       -       0
178 Runtime_Invalid_Blk_Cnt 0x0032   100   100   050    Old_age   Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   050    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   050    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0032   100   100   050    Old_age   Always       -       538
194 Temperature_Celsius     0x0022   100   100   050    Old_age   Always       -       55
195 Hardware_ECC_Recovered  0x0032   100   100   050    Old_age   Always       -       2991
196 Reallocated_Event_Count 0x0032   100   100   050    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   050    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0032   100   100   050    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   050    Old_age   Always       -       3
232 Available_Reservd_Space 0x0032   100   100   050    Old_age   Always       -       100
241 Host_Writes_32MiB       0x0030   100   100   050    Old_age   Offline      -       210575
242 Host_Reads_32MiB        0x0030   100   100   050    Old_age   Offline      -       4258163
245 TLC_Writes_32MiB        0x0032   100   100   050    Old_age   Always       -       373265

Change History (4)

comment:1 by Christian Franke, 4 years ago

Component: alldrivedb
Keywords: ssd added
Milestone: Release 7.2

Please provide a sample smartctl -x output for this device.

BTW, the patch breaks backward compatibility with TS120GMTS420.
This possibly looks better:

-    "TS(120|240)GMTS420|" // Transcend MTS420
+    "TS(120|240)GMTS420S?|" // Transcend MTS420

comment:2 by Thomas1024, 4 years ago

$ sudo ./smartctl -x /dev/sda
[sudo] password for thomas: 
smartctl 7.2 (build date Jan  4 2020) [aarch64-linux-4.20.8-1111-ARCH] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Silicon Motion based SSDs
Device Model:     TS120GMTS420S
Serial Number:    E674510120
LU WWN Device Id: 5 7c3548 1523a2728
Firmware Version: R0510A0
User Capacity:    120,034,123,776 bytes [120 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      M.2
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Sat Jan  4 12:55:31 2020 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM level is:     128 (minimum power consumption without standby)
Rd look-ahead is: Enabled
Write cache is:   Enabled
DSN feature is:   Unavailable
ATA Security is:  Disabled, NOT FROZEN [SEC1]
Wt Cache Reorder: Unavailable

=== 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:                (  120) seconds.
Offline data collection
capabilities:                    (0x11) SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        No Selective Self-test supported.
SMART capabilities:            (0x0002) Does not save 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:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  10) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  1 Raw_Read_Error_Rate     -O--CK   100   100   050    -    0
  5 Reallocated_Sector_Ct   -O--CK   100   100   050    -    0
  9 Power_On_Hours          -O--CK   100   100   050    -    7497
 12 Power_Cycle_Count       -O--CK   100   100   050    -    713
160 Uncorrectable_Error_Cnt -O--CK   100   100   050    -    0
161 Valid_Spare_Block_Cnt   PO--CK   100   100   050    -    100
163 Initial_Bad_Block_Count -O--CK   100   100   050    -    10
164 Total_Erase_Count       -O--CK   100   100   050    -    147333
165 Max_Erase_Count         -O--CK   100   100   050    -    473
166 Min_Erase_Count         -O--CK   100   100   050    -    225
167 Average_Erase_Count     -O--CK   100   100   050    -    299
168 Max_Erase_Count_of_Spec -O--CK   100   100   050    -    1500
169 Remaining_Lifetime_Perc -O--CK   100   100   050    -    81
175 Program_Fail_Count_Chip -O--CK   100   100   050    -    0
176 Erase_Fail_Count_Chip   -O--CK   100   100   050    -    0
177 Wear_Leveling_Count     -O--CK   100   100   050    -    0
178 Runtime_Invalid_Blk_Cnt -O--CK   100   100   050    -    0
181 Program_Fail_Cnt_Total  -O--CK   100   100   050    -    0
182 Erase_Fail_Count_Total  -O--CK   100   100   050    -    0
192 Power-Off_Retract_Count -O--CK   100   100   050    -    538
194 Temperature_Celsius     -O---K   100   100   050    -    52
195 Hardware_ECC_Recovered  -O--CK   100   100   050    -    2991
196 Reallocated_Event_Count -O--CK   100   100   050    -    0
197 Current_Pending_Sector  -O--CK   100   100   050    -    0
198 Offline_Uncorrectable   -O--CK   100   100   050    -    0
199 UDMA_CRC_Error_Count    -O--CK   100   100   050    -    3
232 Available_Reservd_Space -O--CK   100   100   050    -    100
241 Host_Writes_32MiB       ----CK   100   100   050    -    210646
242 Host_Reads_32MiB        ----CK   100   100   050    -    4258163
245 TLC_Writes_32MiB        -O--CK   100   100   050    -    373391
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

General Purpose Log Directory Version 1
SMART           Log Directory Version 1 [multi-sector log support]
Address    Access  R/W   Size  Description
0x00       GPL,SL  R/O      1  Log Directory
0x01           SL  R/O      1  Summary SMART error log
0x02           SL  R/O      1  Comprehensive SMART error log
0x03       GPL     R/O      1  Ext. Comprehensive SMART error log
0x04       GPL,SL  R/O      8  Device Statistics log
0x06           SL  R/O      1  SMART self-test log
0x07       GPL     R/O      1  Extended self-test log
0x10       GPL     R/O      1  NCQ Command Error log
0x11       GPL     R/O      1  SATA Phy Event Counters log
0x30       GPL,SL  R/O      9  IDENTIFY DEVICE data log
0x80-0x9f  GPL,SL  R/W     16  Host vendor specific log
0xde       GPL     VS       8  Device vendor specific log

SMART Extended Comprehensive Error Log Version: 1 (1 sectors)
Device Error Count: 10 (device log contains only the most recent 4 errors)
        CR     = Command Register
        FEATR  = Features Register
        COUNT  = Count (was: Sector Count) Register
        LBA_48 = Upper bytes of LBA High/Mid/Low Registers ]  ATA-8
        LH     = LBA High (was: Cylinder High) Register    ]   LBA
        LM     = LBA Mid (was: Cylinder Low) Register      ] Register
        LL     = LBA Low (was: Sector Number) Register     ]
        DV     = Device (was: Device/Head) Register
        DC     = Device Control Register
        ER     = Error register
        ST     = Status register
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 10 [1] log entry is empty
Error 9 [0] log entry is empty
Error 8 [3] log entry is empty
Error 7 [2] occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER -- ST COUNT  LBA_48  LH LM LL DV DC
  -- -- -- == -- == == == -- -- -- -- --
  00 -- 00 00 00 00 00 00 00 00 00 00 00

  Commands leading to the command that caused the error were:
  CR FEATR COUNT  LBA_48  LH LM LL DV DC  Powered_Up_Time  Command/Feature_Name
  -- == -- == -- == == == -- -- -- -- --  ---------------  --------------------
  b0 00 d1 01 01 00 00 4f 00 c2 01 00 00     00:00:00.000  SMART READ ATTRIBUTE THRESHOLDS [OBS-4]
  2f 00 00 01 01 00 00 00 00 00 03 00 00     00:00:00.000  READ LOG EXT
  2f 00 00 01 01 00 00 00 00 00 00 00 00     00:00:00.000  READ LOG EXT
  b0 00 d5 01 01 00 00 4f 00 c2 00 00 00     00:00:00.000  SMART READ LOG
  b0 00 da 00 00 00 00 4f 00 c2 00 00 00     00:00:00.000  SMART RETURN STATUS

SMART Extended Self-test Log Version: 1 (1 sectors)
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

Selective Self-tests/Logging not supported

SCT Commands not supported

Device Statistics (GP Log 0x04)
Page  Offset Size        Value Flags Description
0x01  =====  =               =  ===  == General Statistics (rev 1) ==
0x01  0x008  4             713  ---  Lifetime Power-On Resets
0x01  0x010  4            7497  ---  Power-on Hours
0x01  0x018  6       920057045  ---  Logical Sectors Written
0x01  0x020  6        42827728  ---  Number of Write Commands
0x01  0x028  6      4185100127  ---  Logical Sectors Read
0x01  0x030  6         2321434  ---  Number of Read Commands
0x07  =====  =               =  ===  == Solid State Device Statistics (rev 1) ==
0x07  0x008  1              19  ---  Percentage Used Endurance Indicator
                                |||_ C monitored condition met
                                ||__ D supports DSN
                                |___ N normalized value

Pending Defects log (GP Log 0x0c) not supported

SATA Phy Event Counters (GP Log 0x11)
ID      Size     Value  Description
0x0001  4            0  Command failed due to ICRC error
0x0002  4            0  R_ERR response for data FIS
0x0005  4            0  R_ERR response for non-data FIS
0x000a  4            0  Device-to-host register FISes sent due to a COMRESET

comment:3 by Christian Franke, 4 years ago

Owner: set to Christian Franke
Status: newaccepted

comment:4 by Christian Franke, 4 years ago

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.