From 32a75eae5f9e647afb345094b5f22f702b0ac555 Mon Sep 17 00:00:00 2001
From: chrfranke <chrfranke@4ea69e1a-61f1-4043-bf83-b5c94c648137>
Date: Thu, 15 Oct 2020 17:22:27 +0000
Subject: [PATCH] Merge r5093 r5094 r5095 r5096 into 5.41-7.0 drivedb.h
 branches.

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

diff --git a/smartmontools/drivedb.h b/smartmontools/drivedb.h
index 4f3740266..3f9dd6df3 100644
--- a/smartmontools/drivedb.h
+++ b/smartmontools/drivedb.h
@@ -240,6 +240,26 @@ const drive_settings builtin_knowndrives[] = {
     "-v 231,raw48,Lifetime_Left "
   //"-v 241,raw48,Total_LBAs_Written "
   },
+  { "Apacer SSDs",
+    "([1248]|1[056]|20|3[02]|40|60|64|80|12[08]|160|240|256|320|480|512|640|960|1280|1920|3840)(GB|TB) SATA Flash Drive|"
+    "S[GH]250-M2[48][02] 128GB SSD", // tested with 120GB SATA Flash Drive/SFMB6130, SH250-M242 128GB SSD/SFMB8120
+    "SFM[BC][0-9A-Z][0-9A-Z][1-9A-Z][0-9A-Z]",
+    "",
+  //"-v 9,raw24(raw8),Power_On_Hours "
+  //"-v 12,raw48,Power_Cycle_Count "
+    "-v 163,raw48,Maximum_Erase_Count "
+    "-v 164,raw48,Average_Erase_Count "
+    "-v 166,raw48,Total_Later_Bad_Blk_Ct "
+    "-v 167,raw48,SSD_Protect_Mode "
+    "-v 168,raw48,SATA_PHY_Error_Count "
+    "-v 171,raw48,Program_Fail_Count "
+    "-v 172,raw48,Erase_Fail_Count "
+    "-v 175,raw48,Bad_Cluster_Table_Ct "
+    "-v 192,raw48,Unexpect_Power_Loss_Ct "
+  //"-v 194,tempminmax,Temperature_Celsius "
+    "-v 231,raw48,Lifetime_Left "
+  //"-v 241,raw48,Total_LBAs_Written "
+  },
   { "Apple MacBook Air SSD", // probably Toshiba
     "APPLE SSD TS(064|128)E", // tested with APPLE SSD TS064E/TQAABBF0
     "", "",
@@ -350,37 +370,9 @@ const drive_settings builtin_knowndrives[] = {
     "-v 202,raw48,Perc_Rated_Life_Used "
     "-v 206,raw48,Write_Error_Rate"
   },
-  { "Crucial/Micron MX500 SSDs",
-    "CT(250|500|1000|2000)MX500SSD[14]", // tested with CT500MX500SSD1/M3CR020,
-      // .../M3CR022, .../M3CR023, CT1000MX500SSD1/M3CR010, .../M3CR032
-    "M3CR0([012][0-9]|3[0-2])", // Assume FW <= M3CR032 have bogus attribute 197
-      // (tickets #1227, #1311, #1336)
-    "This firmware returns bogus raw values in attribute 197",
-  //"-v 1,raw48,Raw_Read_Error_Rate "
-    "-v 5,raw48,Reallocate_NAND_Blk_Cnt "
-  //"-v 9,raw24(raw8),Power_On_Hours "
-  //"-v 12,raw48,Power_Cycle_Count "
-    "-v 171,raw48,Program_Fail_Count "
-    "-v 172,raw48,Erase_Fail_Count "
-    "-v 173,raw48,Ave_Block-Erase_Count "
-    "-v 174,raw48,Unexpect_Power_Loss_Ct "
-    "-v 180,raw48,Unused_Reserve_NAND_Blk "
-    "-v 183,raw48,SATA_Interfac_Downshift "
-    "-v 184,raw48,Error_Correction_Count "
-  //"-v 187,raw48,Reported_Uncorrect "
-  //"-v 194,tempminmax,Temperature_Celsius "
-  //"-v 196,raw16(raw16),Reallocated_Event_Count "
-    "-v 197,raw48,Bogus_Current_Pend_Sect " // Randomly flips 0 <> 1
-  //"-v 198,raw48,Offline_Uncorrectable "
-  //"-v 199,raw48,UDMA_CRC_Error_Count "
-    "-v 202,raw48,Percent_Lifetime_Remain "
-    "-v 206,raw48,Write_Error_Rate "
-    "-v 210,raw48,Success_RAIN_Recov_Cnt "
-    "-v 246,raw48,Total_LBAs_Written "
-    "-v 247,raw48,Host_Program_Page_Count "
-    "-v 248,raw48,FTL_Program_Page_Count"
-  },
-  { "Crucial/Micron BX/MX1/2/3/500, M5/600, 11/1300 SSDs",
+  { "Crucial/Micron Client SSDs", // MX100, MX200, BX300, MX300, BX500, MX500, M500, M600, 1100, 1300
+      // See also tnfd22_client_ssd_smart_attributes.pdf Rev. E from 2018-09-28
+      // (covers M500 FW>=MU03, M510, M550, MX100, M600, MX200, 1100, MX300, 1300)
     "Crucial_CT(128|256|512)MX100SSD1|"// Marvell 88SS9189, tested with Crucial_CT256MX100SSD1/MU01
     "Crucial_CT(200|250|256|500|512|1000|1024)MX200SSD[1346]|" // Marvell 88SS9189, tested with
       // Crucial_CT500MX200SSD1/MU01, Crucial_CT1024MX200SSD1/MU01, Crucial_CT250MX200SSD3/MU01,
@@ -399,7 +391,8 @@ const drive_settings builtin_knowndrives[] = {
       // CT1000BX500SSD1/M6CR030, CT2000BX500SSD1/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)
+      // CT500MX500SSD1/M3CR020, CT250MX500SSD4/M3CR022, CT500MX500SSD1/M3CR022,
+      // CT500MX500SSD1/M3CR023, CT1000MX500SSD1/M3CR032
     "Micron_M500_MTFDDA[KTV](120|240|480|960)MAV|"// tested with Micron_M500_MTFDDAK960MAV/MU05
     "Micron_M500DC_(EE|MT)FDDA[AK](120|240|480|800)MBB|" // tested with Micron_M500DC_EEFDDAA120MBB/129,
       // Micron_M500DC_MTFDDAK800MBB/0129
@@ -431,10 +424,10 @@ const drive_settings builtin_knowndrives[] = {
   //"-v 194,tempminmax,Temperature_Celsius "
     "-v 195,raw48,Cumulativ_Corrected_ECC "
   //"-v 196,raw16(raw16),Reallocated_Event_Count "
-  //"-v 197,raw48,Current_Pending_Sector "
+    "-v 197,raw48,Current_Pending_ECC_Cnt " // MX500: May flip 0 <> 1 (ticket #1227)
   //"-v 198,raw48,Offline_Uncorrectable "
   //"-v 199,raw48,UDMA_CRC_Error_Count "
-    "-v 202,raw48,Percent_Lifetime_Remain "
+    "-v 202,raw48,Percent_Lifetime_Remain " // norm = max(100-raw,0); raw = percent_lifetime_used
     "-v 206,raw48,Write_Error_Rate "
     "-v 210,raw48,Success_RAIN_Recov_Cnt "
     "-v 223,raw48,Unkn_CrucialMicron_Attr " // M6CR030
@@ -1418,8 +1411,9 @@ const drive_settings builtin_knowndrives[] = {
   },
   { "Intel 730 and DC S35x0/3610/3700 Series SSDs", // tested with INTEL SSDSC2BP480G4, SSDSC2BB120G4/D2010355,
       // INTEL SSDSC2BB800G4T, SSDSC2BA200G3/5DV10250, SSDSC2BB080G6/G2010130,  SSDSC2BX200G4/G2010110,
-      // INTEL SSDSC2BB016T6/G2010140, SSDSC2BX016T4/G2010140, SSDSC2BB150G7/N2010101
-    "INTEL SSDSC(1N|2B)[ABPX]((080|100|120|150|160|200|240|300|400|480|600|800)G[3467][RT]?|(012|016)T[46])",
+      // INTEL SSDSC2BB016T6/G2010140, SSDSC2BX016T4/G2010140, SSDSC2BB150G7/N2010101,
+      // INTEL SSDSC2BB480H4/D2010380
+    "INTEL SSDSC(1N|2B)[ABPX]((080|100|120|150|160|200|240|300|400|480|600|800)[GH][3467][RT]?|(012|016)T[46])",
       // A = S3700, B*4 = S3500, B*6 = S3510, P = 730, X = S3610
       // Dell ships drives with model of the form SSDSC2BB120G4R
     "", "",
@@ -1811,6 +1805,7 @@ const drive_settings builtin_knowndrives[] = {
       // Samsung SSD 850 PRO 1TB/EXM01B6Q, Samsung SSD 850 PRO 2TB/EXM02B6Q,
       // Samsung SSD 860 PRO 256GB/RVM01B6Q, Samsung SSD 860 PRO 512GB/RVM01B6Q,
       // Samsung SSD 860 PRO 1TB/RVM01B6Q
+    "Samsung SSD 883 DCT (240|480|960)GB|" // tested with Samsung SSD 883 DCT 480GB/HXT7404Q
     "SAMSUNG MZ7PA256HMDR-.*|" // PM810 (470 Series), tested with SAMSUNG MZ7PA256HMDR-010H1/AXM07H1Q
     "Samsung SSD 845DC EVO .*|" // Samsung SSD 845DC EVO 960GB/EXT03X3Q
     "SAMSUNG MZ[7M]PC(032|064|128|256|512)HBCD-.*|" // PM830, tested with SAMSUNG MZMPC032HBCD-000L1/CXM12L1Q
diff --git a/smartmontools/drivedb.h.raw.asc b/smartmontools/drivedb.h.raw.asc
index 90117138c..911e71ab5 100644
--- a/smartmontools/drivedb.h.raw.asc
+++ b/smartmontools/drivedb.h.raw.asc
@@ -1,10 +1,10 @@
 -----BEGIN PGP SIGNATURE-----
 
-iQEcBAABAgAGBQJfZ3owAAoJEPOHY87f0iVZtq0H/2k33EtwKWCNB3+Jn5MLaqQU
-OycR1T1m5yCVXMhJvfjr0AmDkmkx5MRu46krOPJ7KIm9MrLpLrZ4zh4Ar1yQOqeA
-yNMt6VWs9akRa6MSZVdSvdWmpzJDET9ao1ljcgdIwHbJteontAbVwZISekW7t85W
-ZgJxQbpUaAz/vql677f2KahD4zuHTZylFRVNheCXbmoIjEaR3nMHHzNQVfuU59rw
-ZDy8Wb/zxil6Ey1b073/sBgMVoeJafUljDJc7QTF2eAX0xxhyftOxmHzjQbWJ2im
-1mfK1ZLdTbMwEk5LZnT3c83RLEF5VGYoAbaF6UC7sGCTSefU7f6oJAcyYq+6Iww=
-=wM+n
+iQEcBAABAgAGBQJfiIKRAAoJEPOHY87f0iVZxAUH/1bYMM8Vq5mi2126wRh/JTkS
+g0dWv4Q27DY2aZAPK2AbEEX1Yz80re5HWxxwQOUyJ1NeEWf5Lwymh0JaWlYrONLW
+hSDBs1O81yPCvSCkGBR7MS8ugjE6ZSurkxOr+vQd/9yxiz00Ll4fJCPGlzwsZ7th
+F3i4mYas4MCxT+/Pz2z6S44s1F/VJpRhS3fGt5EZIJNQl2+lLM7l5xuZ/8Us3i51
+D+zigeso1A/MTh9lkFl2Z2LdDHrWThsx0x6CVcbOt5BEf99J+LKBNtvW3z+/M1Ws
+QpLOkEh2Ua9qpch+hZ24RpWUDVkGRMLty/hIosG3FuhK1Cvpmh7Fpp/U26JIgpg=
+=pOmk
 -----END PGP SIGNATURE-----
-- 
GitLab