From d8895634d3f01cdef905f74636f9943db01001bb Mon Sep 17 00:00:00 2001
From: chrfranke <chrfranke@4ea69e1a-61f1-4043-bf83-b5c94c648137>
Date: Sat, 28 Mar 2020 16:58:56 +0000
Subject: [PATCH] Merge r5040 r5041 into 5.41-7.0 drivedb.h branches.

git-svn-id: https://svn.code.sf.net/p/smartmontools/code/branches/RELEASE_6_0_DRIVEDB@5042 4ea69e1a-61f1-4043-bf83-b5c94c648137
---
 smartmontools/drivedb.h         | 77 +++++++++++++++++++++++----------
 smartmontools/drivedb.h.raw.asc | 14 +++---
 2 files changed, 62 insertions(+), 29 deletions(-)

diff --git a/smartmontools/drivedb.h b/smartmontools/drivedb.h
index be1b3d8be..a005025a1 100644
--- a/smartmontools/drivedb.h
+++ b/smartmontools/drivedb.h
@@ -4,7 +4,7 @@
  * Home page of code is: https://www.smartmontools.org
  *
  * Copyright (C) 2003-11 Philip Williams, Bruce Allen
- * Copyright (C) 2008-19 Christian Franke
+ * Copyright (C) 2008-20 Christian Franke
  *
  * SPDX-License-Identifier: GPL-2.0-or-later
  */
@@ -394,7 +394,8 @@ const drive_settings builtin_knowndrives[] = {
       // Crucial_CT1024M550SSD1/MU01, Crucial_CT128M550SSD4/MU02
     "CT(120|240|480)BX300SSD1|" // Silicon Motion SM2258, same attributes as Marvell-based Crucial SSDs,
       // tested with CT240BX300SSD1/M2CR010
-    "CT(120|240|480|960)BX500SSD1|" // Silicon Motion SM2258XT, tested with CT120BX500SSD1/M6CR013
+    "CT(120|240|480|960|1000)BX500SSD1|" // Silicon Motion SM2258XT, tested with CT120BX500SSD1/M6CR013,
+      // CT1000BX500SSD1/M6CR030
     "CT(250|500|1000|2000)MX500SSD[14]|" // Silicon Motion SM2258, tested with CT250MX500SSD1/M3CR010
       // CT500MX500SSD1/M3CR010, CT1000MX500SSD1/M3CR010, CT2000MX500SSD1/M3CR010,
       // CT250MX500SSD4/M3CR022 (now handled by above entry)
@@ -405,7 +406,8 @@ const drive_settings builtin_knowndrives[] = {
     "(Micron_)?M510[_-]MTFDDA[KTV](128|256)MAZ|" // tested with M510-MTFDDAK256MAZ/MU01
     "MICRON_M510DC_(EE|MT)FDDAK(120|240|480|800|960)MBP|" // tested with Micron_M510DC_MTFDDAK240MBP/0005
     "(Micron_)?M550[_-]MTFDDA[KTV](064|128|256|512|1T0)MAY|" // tested with M550-MTFDDAK256MAY/MU01
-    "Micron_M600_(EE|MT)FDDA[KTV](128|256|512|1T0)MBF[25Z]?|" // tested with Micron_M600_MTFDDAK1T0MBF/MU01
+    "(Micron_M600_)?(EE|MT)FDDA[KTV](128|256|512|1T0)MBF[25Z]?(-.*)?|" // tested with Micron_M600_MTFDDAK1T0MBF/MU01,
+      // MTFDDAK256MBF-1AN1ZABHA/M603
     "(Micron_1100_)?MTFDDA[KV](256|512|1T0|2T0)TBN|" // Marvell 88SS1074, tested with
       // Micron_1100_MTFDDAK256TBN/M0MU020, MTFDDAK256TBN/M0MA020 (OEM)
     "Micron 1100 SATA (256G|512G|1T|2T)B", // tested with Micron 1100 SATA 256GB/M0DL022
@@ -432,9 +434,16 @@ const drive_settings builtin_knowndrives[] = {
     "-v 202,raw48,Percent_Lifetime_Remain "
     "-v 206,raw48,Write_Error_Rate "
     "-v 210,raw48,Success_RAIN_Recov_Cnt "
+    "-v 223,raw48,Unkn_CrucialMicron_Attr " // M6CR030
     "-v 246,raw48,Total_LBAs_Written "
     "-v 247,raw48,Host_Program_Page_Count "
-    "-v 248,raw48,FTL_Program_Page_Count"
+    "-v 248,raw48,FTL_Program_Page_Count "
+    "-v 249,raw48,Unkn_CrucialMicron_Attr " // M6CR030
+  //"-v 250,raw48,Read_Error_Retry_Rate "   // M6CR030
+    "-v 251,raw48,Unkn_CrucialMicron_Attr " // M6CR030
+    "-v 252,raw48,Unkn_CrucialMicron_Attr " // M6CR030
+    "-v 253,raw48,Unkn_CrucialMicron_Attr " // M6CR030
+    "-v 254,raw48,Unkn_CrucialMicron_Attr"  // M6CR030
   },
   // Reference: https://www.micron.com/resource-details/feec878a-265e-49a7-8086-15137c5f9011
   // TN-FD-34: 5100 SSD SMART Implementation
@@ -1615,14 +1624,20 @@ const drive_settings builtin_knowndrives[] = {
     "-v 227,raw48,Workld_Host_Reads_Perc "
     "-v 228,raw48,Workload_Minutes"
   },
-  { "Kingston SSDNow UV400",
-    "KINGSTON SUV400S37A?(120|240|480|960)G", // KINGSTON SUV400S37120G/0C3J96R9, 
-    "",
-    "",
+  { "Kingston SSDNow UV400/500",
+    "KINGSTON SUV400S37A?(120|240|480|960)G|" // tested with KINGSTON SUV400S37120G/0C3J96R9,
+      // KINGSTON SUV400S37240G/0C3J96R9, KINGSTON SUV400S37240G/0C3K87RA,
+      // KINGSTON SUV400S37120G/0C3K87RA
+    "KINGSTON SUV500(MS)?(120|240|480|960)G", // tested with KINGSTON SUV500120G/003056R6,
+      // KINGSTON SUV500240G/003056R6, KINGSTON SUV500480G/003056RI,
+      // KINGSTON SUV500MS120G/003056RA, KINGSTON SUV500MS120G/003056RI
+    "", "",
     // "-v 1,raw48,Raw_Read_Error_Rate "
     // "-v 5,raw16(raw16),Reallocated_Sector_Ct "
     // "-v 9,raw24(raw8),Power_On_Hours "
     // "-v 12,raw48,Power_Cycle_Count "
+    "-v 100,raw48,Unknown_Kingston_Attr "
+    "-v 101,raw48,Unknown_Kingston_Attr "
     "-v 170,raw48,Reserved_Block_Count "
     "-v 171,raw48,Program_Fail_Count "
     "-v 172,raw48,Erase_Fail_Count "
@@ -1642,9 +1657,9 @@ const drive_settings builtin_knowndrives[] = {
     "-v 201,raw48,Unc_Read_Error_Rate "
     // "-v 204,raw48,Soft_ECC_Correction "
     "-v 231,raw48,SSD_Life_Left "
-    // "-v 241,raw48,Total_LBAs_Written "
-    // "-v 242,raw48,Total_LBAs_Read "
-    "-v 250,raw48,Read_Retry_Count "
+    "-v 241,raw48,Host_Writes_GiB "
+    "-v 242,raw48,Host_Reads_GiB "
+    "-v 250,raw48,Read_Retry_Count"
   },
   { "JMicron based SSDs", // JMicron JMF60x
     "Kingston SSDNow V Series [0-9]*GB|" // tested with Kingston SSDNow V Series 64GB/B090522a
@@ -1997,9 +2012,11 @@ const drive_settings builtin_knowndrives[] = {
     "DREVO X1 SSD|" // tested with DREVO X1 SSD/Q0111A
     "Drevo X1 pro (64|128|256)G|" // tested with Drevo X1 pro 64G/Q0303B
     "JAJS500M(120|240|480|960)C-1|" // J&A LEVEN JS500, tested with JAJS500M120C-1/P0614D
-    "KingDian S(280|400) (120|240|480)GB|" // SM2256EN, tested with KingDian S280 120GB/Q0526A,
-      // KingDian S400 120GB/Q0607A
+    "KingDian S100 (32|64)GB|" // SM2244LT, tested with KingDian S100 32GB/0311A
+    "KingDian S(200|280|400) ((60|120|240|480)GB|1TB)|" // SM2256EN, tested with KingDian S200 60GB/R0724A0
+      // KingDian S280 120GB/Q0526A, KingDian S280 1TB/S0509A0, KingDian S400 120GB/Q0607A
     "KingSpec KSD-[PS]A25\\.[1-9]-(016|032|064|128)(MS|SJ)|" // tested with KingSpec KSD-PA25.6-064MS/20140803
+    "KINGSTON SKC600(256|512|1024|2048)G|" // SM2259, tested with KINGSTON SKC600256G/S4500105
     "LITEON LMH-(128|256|512)V2M-.*|" // tested with LITEON LMH-256V2M-11 MSATA 256GB/FM8110C
     "LITEON LCH-(128|256V|512)2S-.*|" // tested with LITEON LCH-256V2S-HP/2C02
     "MKNSSDRE(1TB|2TB|512GB|500GB|256GB|250GB)|" // tested with MKNSSDRE256GB/N1007C
@@ -2018,13 +2035,14 @@ 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)GMTS420S?|" // Transcend MTS420, tested with TS120GMTS420S/R0510A0
     "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
     "TS(16|32|64)GMSA630|" // MSA630 mSATA SSD, tested with TS32GMSA630/N0113E1
     "TS(32|64|128)GPSD330|" // Transcend PSD SSD, tested with TS64GPSD330/20140121
-    "TS(16|32|64|96|128|256)GSSD630|" // Transcend 630, tested with TS16GSSD630/N0113E1
+    "TS(16|32|64|96|128|256)GSSD(630|360S)|" // Transcend 630/360S, tested with TS16GSSD630/N0113E1,
+      // TS256GSSD360S/R0123A0
     "TS(128G|256G|512G|1T)ESD400K", // Transcend ESD400 Portable, tested with
       // TS256GESD400K/R0605AS (0x2174:0x2000)
     "", "",
@@ -4093,7 +4111,7 @@ const drive_settings builtin_knowndrives[] = {
   },
   { "Seagate IronWolf Pro", // tested with ST4000NE0025-2EW107/EN02,
       // ST8000NE0004-1ZF11G/EN01, ST8000NE0021-2EN112/EN02
-    "ST([24]000NE0025|6000NE0023|8000NE00(04|08|21)|(10|12|14)000NE000[478])-.*",
+    "ST([24]000NE0025|4000NE001|6000NE0023|8000NE00(04|08|21)|(10|12|14)000NE000[478])-.*",
     "", "", ""
   },
   { "Seagate Archive HDD", // tested with ST8000AS0002-1NA17Z/AR13
@@ -4389,8 +4407,9 @@ const drive_settings builtin_knowndrives[] = {
     "WDC WD(5000AB|7500AY|1000FY)PS-.*",
     "", "", ""
   },
-  { "Western Digital RE3 Serial ATA", // tested with WDC WD7502ABYS-02A6B0/03.00C06
-    "WDC WD((25|32|50|75)02A|(75|10)02F)BYS-.*",
+  { "Western Digital RE3 Serial ATA", // tested with WDC WD7502ABYS-02A6B0/03.00C06,
+       // WD1002FBYS-12/03.M0300
+    "(WDC )?WD((25|32|50|75)02A|(75|10)02F)BYS-.*",
     "", "", ""
   },
   { "Western Digital RE4", // tested with WDC WD2003FYYS-18W0B0/01.01D02,
@@ -4543,8 +4562,9 @@ const drive_settings builtin_knowndrives[] = {
   },
   { "Western Digital Gold", // tested with WDC WD1005FBYZ-01YCBB2/RR07,
       // WDC WD2005FBYZ-01YCBB2/RR07, WDC WD4002FYYZ-01B7CB0/01.01M02,
-      // WDC WD8003FRYZ-01JPDB1/01.01H02, WDC WD121KRYZ-01W0RB0/01.01H01
-    "WDC WD([12]005FB|4002FY|6002FR|800[23]FR|1[02]1KR)YZ-.*",
+      // WDC WD4003FRYZ-01F0DB0/01.01H01, WDC WD8003FRYZ-01JPDB1/01.01H02,
+      // WDC WD8004FRYZ-01VAEB0/01.01H01, WDC WD121KRYZ-01W0RB0/01.01H01
+    "WDC WD([12]005FB|4002FY|4003FR|6002FR|800[234]FR|1[02]1KR)YZ-.*",
     "", "",
     "-v 22,raw48,Helium_Level" // WD121KRYZ
   },
@@ -5168,6 +5188,13 @@ const drive_settings builtin_knowndrives[] = {
     "",
     "-d sat"
   },
+  // 0x0860 (?)
+  { "USB: ; ",
+    "0x0860:0x0001",
+    "", // 0x0100
+    "",
+    "-d sat"
+  },
   // Oxford Semiconductor, Ltd
   { "USB: ; Oxford",
     "0x0928:0x0000",
@@ -5227,8 +5254,8 @@ const drive_settings builtin_knowndrives[] = {
   },
   // Apricorn
   { "USB: Apricorn SATA Wire; ",
-    "0x0984:0x0040",
-    "",
+    "0x0984:0x0(040|301)", // 0x0040: Apricorn SATA Wire
+    "", // 0x0301 (0x0201): Corsair SSD & HDD Cloning Kit
     "",
     "-d sat"
   },
@@ -5489,6 +5516,12 @@ const drive_settings builtin_knowndrives[] = {
     "",
     "" // unsupported
   },
+  { "USB: ; JMicron",
+    "0x152d:0x1337",
+    "", // 0x0508, Digitus DA-71106
+    "",
+    "-d sat"
+  },
   { "USB: ; JMicron JMS561", // USB2/3->2xSATA
     "0x152d:0x[19]561", // 0x1561(0x0106), Sabrent USB 3.0 Dual Bay SATA Dock
     "",  // 0x9561(0x0105), Orico 6629US3-C USB 3.0 Dual Bay SATA Dock
diff --git a/smartmontools/drivedb.h.raw.asc b/smartmontools/drivedb.h.raw.asc
index 7d18e9bbc..8f928f7e6 100644
--- a/smartmontools/drivedb.h.raw.asc
+++ b/smartmontools/drivedb.h.raw.asc
@@ -1,10 +1,10 @@
 -----BEGIN PGP SIGNATURE-----
 
-iQEcBAABAgAGBQJeHLmQAAoJEPOHY87f0iVZQ2MH/1mWjt+OT0nG+PW53rfhWWl1
-aywAovqud2hyny8TdAecOVJXJ98ZvG1aC7/uXAhOZwRrfQXLppdLskY0hlGf/iup
-mY9AvDsXMAuEFmF/MuzvYnAmA+OoYMJGf/zNGCCq8uE2m/FRORnIAdXd8Rx3c15G
-gi0IwWDoIp4voUHyyUQ41TEdNw4j1d4JubVgNlpKZ34VlXjeqlMWRmHSvhtgEOFY
-S8dDNmG5U1of0xRM6wDyng004p1vditIXyR+TMD4mY5VVqSdNQBiCiE/WQ80b2YV
-h8BBGmcZGM3CjbwLeYctcXNYU+Pwv3fuPbgg8iZL7BFltiRUOqqr48x9AZG+EOg=
-=rmYv
+iQEcBAABAgAGBQJef4GRAAoJEPOHY87f0iVZ7gsH/30CYZ27LqoWYRnMUhyz9jR3
+5JYMBf0IU5vGBRnRmrY8i5br5aiF4LnkyzfxzbNPAvIX4J0Z+Yc37ohHB4HtM/6n
+2gzthvW3ECH7pcH9qKB5s60Doi0YP1+pcJYUKfjyCBK8JtcsmrTx9PLqN8ci+qZh
+DjlLr1BB6sA9bHhYSqXmEJ4zS0uZrpde7d3a/PWt8pNOpSiCcjLaUD0rG1aeLEmS
+6t618fuh9HwmHm7JoGo/oJsZBvrAARESFcguAAW0Pm4U38v3j9I9E9HG9dWuidoi
+ymCTkUHtkUBGz85Fm620x2n8L4k90UuL2nmgEQmNBRWi8OkhZZ/7sBJakU6ENMQ=
+=DRvj
 -----END PGP SIGNATURE-----
-- 
GitLab