diff --git a/.gitignore b/.gitignore
index cf8d446..3d01fb0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/smartmontools-6.2.tar.gz
+SOURCES/smartmontools-6.5.tar.gz
diff --git a/.smartmontools.metadata b/.smartmontools.metadata
index 04f7dc5..5e98631 100644
--- a/.smartmontools.metadata
+++ b/.smartmontools.metadata
@@ -1 +1 @@
-37848ff5103d68b672463a30cd99e7d23d6696a5 SOURCES/smartmontools-6.2.tar.gz
+7e788b429534a4ae627858fbcc826b93402cee7e SOURCES/smartmontools-6.5.tar.gz
diff --git a/SOURCES/smartmontools-6.2-discovermore.patch b/SOURCES/smartmontools-6.2-discovermore.patch
deleted file mode 100644
index f9610d9..0000000
--- a/SOURCES/smartmontools-6.2-discovermore.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up smartmontools-6.2/os_linux.cpp.discovermore smartmontools-6.2/os_linux.cpp
---- smartmontools-6.2/os_linux.cpp.discovermore	2016-05-05 10:28:19.661725361 +0200
-+++ smartmontools-6.2/os_linux.cpp	2016-05-05 10:28:43.252945983 +0200
-@@ -2488,7 +2488,7 @@ bool linux_smart_interface::get_dev_list
-   }
- 
-   // did we find too many paths?
--  const int max_pathc = 32;
-+  const int max_pathc = 1024;
-   int n = (int)globbuf.gl_pathc;
-   if (n > max_pathc) {
-     pout("glob(3) found %d > MAX=%d devices matching pattern %s: ignoring %d paths\n",
diff --git a/SOURCES/smartmontools-6.2-drivedbman.patch b/SOURCES/smartmontools-6.2-drivedbman.patch
deleted file mode 100644
index fadce0f..0000000
--- a/SOURCES/smartmontools-6.2-drivedbman.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-diff -up smartmontools-6.2/Makefile.am.drivedbman smartmontools-6.2/Makefile.am
---- smartmontools-6.2/Makefile.am.drivedbman	2013-01-26 22:11:02.000000000 +0100
-+++ smartmontools-6.2/Makefile.am	2016-09-07 17:22:23.382337649 +0200
-@@ -288,7 +288,8 @@ else
- # For systems that adopts traditional manner
- man_MANS =        smartd.conf.5 \
-                   smartctl.8    \
--                  smartd.8
-+                  smartd.8	\
-+                  update-smart-drivedb.8
- endif
- 
- docsdir=$(docdir)
-@@ -360,6 +361,7 @@ EXTRA_DIST = \
-         smartd.service.in \
-         smartd_warning.sh.in \
-         update-smart-drivedb.in \
-+        update-smart-drivedb.8.in \
-         m4/pkg.m4 \
-         os_darwin/SMART.in \
-         os_darwin/StartupParameters.plist \
-@@ -398,6 +400,7 @@ CLEANFILES = \
-         smartd_warning.sh \
-         svnversion.h \
-         update-smart-drivedb \
-+        update-smart-drivedb.8 \
-         SMART
- 
- # 'make maintainer-clean' also removes files generated by './autogen.sh'
-@@ -597,6 +600,9 @@ smartd.8: smartd.8.in Makefile svnversio
- smartd.conf.5: smartd.conf.5.in Makefile svnversion.h
- 	cat $(srcdir)/smartd.conf.5.in | $(MAN_FILTER) > $@
- 
-+update-smart-drivedb.8: update-smart-drivedb.8.in Makefile svnversion.h
-+	cat $(srcdir)/update-smart-drivedb.8.in | $(MAN_FILTER) > $@
-+
- # Commands to convert man pages into .html and .txt
- # TODO: configure
- MAN2HTML = man2html
-diff -up smartmontools-6.2/update-smart-drivedb.8.in.drivedbman smartmontools-6.2/update-smart-drivedb.8.in
---- smartmontools-6.2/update-smart-drivedb.8.in.drivedbman	2016-09-07 17:20:44.354661063 +0200
-+++ smartmontools-6.2/update-smart-drivedb.8.in	2016-09-07 17:20:44.354661063 +0200
-@@ -0,0 +1,114 @@
-+.ig
-+Copyright (C) 2013 Hannes von Haugwitz <hannes@vonhaugwitz.com>
-+Copyright (C) 2014-16 Christian Franke
-+
-+$Id: update-smart-drivedb.8.in 4223 2016-02-26 20:18:40Z chrfranke $
-+
-+This program is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License as published by
-+the Free Software Foundation; either version 2, or (at your option)
-+any later version.
-+
-+You should have received a copy of the GNU General Public License
-+(for example COPYING); If not, see <http://www.gnu.org/licenses/>.
-+
-+..
-+.TH UPDATE-SMART-DRIVEDB 8 "CURRENT_SVN_DATE" "CURRENT_SVN_VERSION" "SMART Monitoring Tools"
-+.SH NAME
-+update-smart-drivedb \- update smartmontools drive database
-+
-+.SH "SYNOPSIS"
-+.B update-smart-drivedb
-+.RI [ OPTIONS ]
-+.RI [ DESTFILE ]
-+
-+.SH "DESCRIPTION"
-+.\" %IF NOT OS ALL
-+.\"! [This man page is generated for the OS_MAN_FILTER version of smartmontools.
-+.\"! It does not contain info specific to other platforms.]
-+.\"! .PP
-+.\" %ENDIF NOT OS ALL
-+.B update-smart-drivedb
-+updates
-+.B /usr/local/share/smartmontools/drivedb.h
-+or
-+.I DESTFILE
-+from smartmontools SVN repository.
-+
-+It tries to download first from the current branch and then from
-+trunk. The tools used for downloading are either
-+.BR curl (1),
-+.BR wget (1),
-+.BR lynx (1),
-+.\" %IF OS FreeBSD
-+.BR fetch (1)
-+[FreeBSD only],
-+.\" %ENDIF OS FreeBSD
-+.\" %IF OS OpenBSD
-+.BR ftp (1)
-+[OpenBSD only],
-+.\" %ENDIF OS OpenBSD
-+or
-+.BR svn (1).
-+
-+The old file is kept if the downloaded file is identical (ignoring
-+the differences in Id string) otherwise it is moved to
-+.BR drivedb.h.old .
-+
-+.SH "OPTIONS"
-+.TP
-+.B \-v
-+Verbose output.
-+
-+.SH "EXAMPLES"
-+.nf
-+# update-smart-drivedb
-+/usr/local/share/smartmontools/drivedb.h updated from branches/RELEASE_6_0_DRIVEDB
-+.fi
-+
-+.SH "EXIT STATUS"
-+The exit status is 0 if the database has been successfully
-+updated. If an error occurs the exit status is 1.
-+
-+.SH FILES
-+.TP
-+.B /usr/local/sbin/update-smart-drivedb
-+full path of this script.
-+.TP
-+.B /usr/local/sbin/smartctl
-+used to check syntax of new drive database.
-+.TP
-+.B /usr/local/share/smartmontools/drivedb.h
-+current drive database.
-+.TP
-+.B /usr/local/share/smartmontools/drivedb.h.old
-+previous drive database.
-+.TP
-+.B /usr/local/share/smartmontools/drivedb.h.error
-+new drive database if rejected due to syntax errors.
-+.TP
-+.B /usr/local/share/smartmontools/drivedb.h.lastcheck
-+empty file created if downloaded file was identical.
-+
-+.SH AUTHORS
-+\fBChristian Franke\fP.
-+.br
-+This manual page was originally written by
-+.BR "Hannes von Haugwitz <hannes@vonhaugwitz.com>" .
-+
-+.SH REPORTING BUGS
-+To submit a bug report, create a ticket in smartmontools wiki:
-+.br
-+<\fBhttp://www.smartmontools.org/\fP>.
-+.br
-+Alternatively send the info to the smartmontools support mailing list:
-+.br
-+<\fBhttps://lists.sourceforge.net/lists/listinfo/smartmontools-support\fB>.
-+
-+.SH SEE ALSO
-+\fBsmartctl\fP(8), \fBsmartd\fP(8).
-+
-+.SH PACKAGE VERSION
-+CURRENT_SVN_VERSION CURRENT_SVN_DATE CURRENT_SVN_REV
-+.br
-+$Id: update-smart-drivedb.8.in 4223 2016-02-26 20:18:40Z chrfranke $
diff --git a/SOURCES/smartmontools-6.2-httpsdrivedb.patch b/SOURCES/smartmontools-6.2-httpsdrivedb.patch
deleted file mode 100644
index c579fc6..0000000
--- a/SOURCES/smartmontools-6.2-httpsdrivedb.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up smartmontools-6.2/update-smart-drivedb.in.httpsdrivedb smartmontools-6.2/update-smart-drivedb.in
---- smartmontools-6.2/update-smart-drivedb.in.httpsdrivedb	2016-09-07 17:01:31.459785835 +0200
-+++ smartmontools-6.2/update-smart-drivedb.in	2016-09-07 17:01:31.471785916 +0200
-@@ -40,7 +40,7 @@ DEST="$drivedbdir/drivedb.h"
- SMARTCTL="$sbindir/smartctl"
- 
- # Download URL for sourceforge code browser
--SRCEXPR='http://sourceforge.net/p/smartmontools/code/HEAD/tree/$location/smartmontools/drivedb.h?format=raw'
-+SRCEXPR='https://sourceforge.net/p/smartmontools/code/HEAD/tree/$location/smartmontools/drivedb.h?format=raw'
- 
- # Parse options
- q="-q "
diff --git a/SOURCES/smartmontools-6.2-up2datedrivedb.patch b/SOURCES/smartmontools-6.2-up2datedrivedb.patch
index 329dbd3..661d2dc 100644
--- a/SOURCES/smartmontools-6.2-up2datedrivedb.patch
+++ b/SOURCES/smartmontools-6.2-up2datedrivedb.patch
@@ -1,16 +1,11 @@
-diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
---- smartmontools-6.2/drivedb.h.up2datedrivedb	2013-07-25 23:29:08.000000000 +0200
-+++ smartmontools-6.2/drivedb.h	2017-03-26 20:21:42.631052263 +0200
-@@ -1,10 +1,10 @@
- /*
-- * drivedb.h - smartmontools drive database file
-+ * drivedb.h - smartmontools 6.1-6.3 drive database file
-  *
-- * Home page of code is: http://smartmontools.sourceforge.net
-+ * Home page of code is: http://www.smartmontools.org
+diff -up smartmontools-6.5/drivedb.h.up2datedrivedb smartmontools-6.5/drivedb.h
+--- smartmontools-6.5/drivedb.h.up2datedrivedb	2016-05-06 22:12:45.000000000 +0200
++++ smartmontools-6.5/drivedb.h	2017-10-11 14:34:59.352831399 +0200
+@@ -4,7 +4,7 @@
+  * Home page of code is: http://www.smartmontools.org
   *
   * Copyright (C) 2003-11 Philip Williams, Bruce Allen
-- * Copyright (C) 2008-13 Christian Franke <smartmontools-support@lists.sourceforge.net>
+- * Copyright (C) 2008-16 Christian Franke
 + * Copyright (C) 2008-17 Christian Franke
   *
   * This program is free software; you can redistribute it and/or modify
@@ -19,105 +14,49 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
  /*
  const drive_settings builtin_knowndrives[] = {
   */
--  { "$Id: drivedb.h 3840 2013-07-25 21:29:08Z chrfranke $",
-+  { "$Id: drivedb.h 4394 2017-02-27 22:09:57Z chrfranke $",
+-  { "$Id: drivedb.h 4316 2016-05-06 20:12:45Z chrfranke $",
++  { "$Id$",
      "-", "-",
      "This is a dummy entry to hold the SVN-Id of drivedb.h",
      ""
-@@ -144,7 +144,7 @@ const drive_settings builtin_knowndrives
-     "-v 232,raw48,Available_Reservd_Space "
-     "-v 233,raw48,Media_Wearout_Indicator "       // SSD only
-     //  234-239 Unknown_Attribute
--    "-v 240,raw48,Head_Flying_Hours "             // HDD only
-+    "-v 240,raw24(raw8),Head_Flying_Hours "       // HDD only, smartmontools <= r3966: raw48
-     "-v 241,raw48,Total_LBAs_Written "
-     "-v 242,raw48,Total_LBAs_Read "
-     //  243-249 Unknown_Attribute
-@@ -153,28 +153,48 @@ const drive_settings builtin_knowndrives
-     "-v 254,raw48,Free_Fall_Sensor "              // HDD only
-   */
-   },
--  { "Apple SSD SM128", // Samsung?
--    "APPLE SSD SM128",
--    "", "", ""
--  },
--  { "Apacer SDM4",
--    "2GB SATA Flash Drive", // tested with APSDM002G15AN-CT/SFI2101D
--    "SFI2101D", "",
-+  { "Apacer SSD",
-+    "(2|4|8|16|32)GB SATA Flash Drive", // tested with APSDM002G15AN-CT/SFDDA01C and SFI2101D, APSDM004G13AN-AT/SFDE001A
-+    "SF(DDA01C|I2101D|DE001A)", "", // spec found at http://wfcache.advantech.com/www/certified-peripherals/documents/96fmcff-04g-cs-ap_Datasheet.pdf
-     "-v 160,raw48,Initial_Bad_Block_Count "
-     "-v 161,raw48,Bad_Block_Count "
-     "-v 162,raw48,Spare_Block_Count "
-     "-v 163,raw48,Max_Erase_Count "
--    "-v 164,raw48,Min_Erase_Count " // could be wrong
-+    "-v 164,raw48,Average_Erase_Count "
-     "-v 165,raw48,Average_Erase_Count " // could be wrong
-+    "-v 166,raw48,Later_Bad_Block_Count "
-+    "-v 167,raw48,SSD_Protect_Mode "
-+    "-v 168,raw48,SATA_PHY_Err_Ct "
-   },
--  { "Asus-Phison SSD",
--    "ASUS-PHISON SSD",
--    "", "", ""
-+  { "Apple MacBook Air SSD", // probably Toshiba
-+    "APPLE SSD TS(064|128)E", // tested with APPLE SSD TS064E/TQAABBF0
-+    "", "",
-+    "-v 173,raw48,Wear_Leveling_Count " //  ]
-+    "-v 241,raw48,Host_Writes_GiB "     //  ]  guessed (ticket #655)
-+    "-v 242,raw48,Host_Reades_GiB "     //  ]
-+  },
-+  { "Apple SD/SM/TS...E/F SSDs", // SanDisk/Samsung/Toshiba?
-+    "APPLE SSD (S[DM]|TS)0?(128|256|512|768)[EFG]", // tested with APPLE SSD SD256E/1021AP, SD0128F/A223321
-+     // APPLE SSD SM768E/CXM90A1Q, SM0512F/UXM2JA1Q, TS0256F/109L0704, SM0512G/BXW1SA0Q
-+    "", "",
-+  //"-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 169,raw48,Unknown_Attribute "
-+    "-v 173,raw48,Wear_Leveling_Count " // ]
-+    "-v 174,raw48,Host_Reads_MiB "      // ] guessed (ticket #342), S[DM]*F only
-+    "-v 175,raw48,Host_Writes_MiB "     // ]
-+  //"-v 192,raw48,Power-Off_Retract_Count "
-+  //"-v 194,tempminmax,Temperature_Celsius "
-+  //"-v 197,raw48,Current_Pending_Sector "
-+  //"-v 199,raw48,UDMA_CRC_Error_Count "
-+  //"-v 240,raw48,Unknown_SSD_Attribute "
+@@ -193,11 +193,10 @@ const drive_settings builtin_knowndrives
+   //"-v 199,raw48,UDMA_CRC_Error_Count "
+   //"-v 240,raw48,Unknown_SSD_Attribute "
    },
 -  { "Crucial/Micron RealSSD C300/M500", // Marvell 88SS91xx
 -    "C300-CTFDDA[AC](064|128|256)MAG|" // Marvell 88SS9174 BJP2, tested with C300-CTFDDAC128MAG/0002,
 +  { "Crucial/Micron RealSSD C300/P300", // Marvell 88SS9174
 +    "C300-CTFDDA[AC](064|128|256)MAG|" // tested with C300-CTFDDAC128MAG/0002,
        // C300-CTFDDAC064MAG/0006
--    "Crucial_CT(120|240|480)M500SSD3", // Marvell 88SS9187 BLD2, tested with Crucial_CT120M500SSD3/MU02
+-    "Crucial_CT(120|240|480)M500SSD[13]", // Marvell 88SS9187 BLD2, tested with Crucial_CT120M500SSD3/MU02,
+-      // Crucial_CT120M500SSD1/MU02, Crucial_CT240M500SSD1/MU03, Crucial_CT480M500SSD1/MU03
 +    "P300-MTFDDAC(050|100|200)SAL", // tested with P300-MTFDDAC100SAL/0003
      "", "",
    //"-v 1,raw48,Raw_Read_Error_Rate "
    //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-@@ -197,14 +217,15 @@ const drive_settings builtin_knowndrives
-   //"-v 197,raw48,Current_Pending_Sector "
-   //"-v 198,raw48,Offline_Uncorrectable "
+@@ -222,16 +221,14 @@ const drive_settings builtin_knowndrives
    //"-v 199,raw48,UDMA_CRC_Error_Count "
--    "-v 202,raw48,Perc_Rated_Life_Used "
--    "-v 206,raw48,Write_Error_Rate"
-+    "-v 202,raw48,Percent_Lifetime_Used "
-+    "-v 206,raw48,Write_Error_Rate "
+     "-v 202,raw48,Percent_Lifetime_Used "
+     "-v 206,raw48,Write_Error_Rate "
+-    "-v 210,raw48,Success_RAIN_Recov_Cnt "
+-    "-v 246,raw48,Total_Host_Sector_Write "
+-    "-v 247,raw48,Host_Program_Page_Count "
+-    "-v 248,raw48,Bckgnd_Program_Page_Cnt"
    },
    { "Crucial/Micron RealSSD m4/C400/P400", // Marvell 9176, fixed firmware
      "C400-MTFDDA[ACK](064|128|256|512)MAM|"
--    "M4-CT(064|128|256|512)M4SSD[23]|" // tested with M4-CT512M4SSD2/0309
--    "MTFDDAK(064|128|256|512|050|100|200|400)MA[RN]-1[JKS]1AA.*", // tested with
--                                             // MTFDDAK256MAR-1K1AA/MA52
-+    "M4-CT(064|128|256|512)M4SSD[123]|" // tested with M4-CT512M4SSD2/0309
+-    "M4-CT(064|128|256|512)M4SSD[123]|" // tested with M4-CT512M4SSD2/0309
+-    "MTFDDAK(064|128|256|512|050|100|200|400)MA[MNR]-1[JKS]1.*", // tested with
+-       // MTFDDAK256MAR-1K1AA/MA52, MTFDDAK256MAM-1K12/08TH
++    // M4-CT032M4SSD3/04MH
++    "M4-CT(032|064|128|256|512)M4SSD[123]|" // tested with M4-CT512M4SSD2/0309
 +    "MTFDDA[AK](064|128|256|512|050|100|200|400)MA[MNR]-1[JKS]1.*", // tested with
 +       // MTFDDAK256MAR-1K1AA/MA52, MTFDDAK256MAM-1K12/08TH,
 +       // MTFDDAA064MAR-1J1AB  49Y5835 49Y5838IBM/MA49 (P400e)
      "030[9-Z]|03[1-Z].|0[4-Z]..|[1-Z]....*", // >= "0309"
      "",
    //"-v 1,raw48,Raw_Read_Error_Rate "
-@@ -229,11 +250,14 @@ const drive_settings builtin_knowndrives
+@@ -256,11 +253,14 @@ const drive_settings builtin_knowndrives
    //"-v 198,raw48,Offline_Uncorrectable "
    //"-v 199,raw48,UDMA_CRC_Error_Count "
      "-v 202,raw48,Perc_Rated_Life_Used "
@@ -129,15 +68,23 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
    },
    { "Crucial/Micron RealSSD m4/C400", // Marvell 9176, buggy or unknown firmware
      "C400-MTFDDA[ACK](064|128|256|512)MAM|" // tested with C400-MTFDDAC256MAM/0002
--    "M4-CT(064|128|256|512)M4SSD[23]", // tested with M4-CT064M4SSD2/0002,
-+    "M4-CT(064|128|256|512)M4SSD[123]", // tested with M4-CT064M4SSD2/0002,
+-    "M4-CT(064|128|256|512)M4SSD[123]", // tested with M4-CT064M4SSD2/0002,
++    "M4-CT(032|064|128|256|512)M4SSD[123]", // tested with M4-CT064M4SSD2/0002,
        // M4-CT064M4SSD2/0009, M4-CT256M4SSD3/000F
      "",
      "This drive may hang after 5184 hours of power-on time:\n"
-@@ -252,29 +276,138 @@ const drive_settings builtin_knowndrives
+@@ -279,23 +279,32 @@ const drive_settings builtin_knowndrives
      "-v 202,raw48,Perc_Rated_Life_Used "
      "-v 206,raw48,Write_Error_Rate"
    },
+-  { "Crucial/Micron MX100/MX200/M5x0/M600 Client SSDs",
+-    "Crucial_CT(128|256|512)MX100SSD1|"// tested with Crucial_CT256MX100SSD1/MU01
+-    "Crucial_CT(200|250|256|500|512|1000|1024)MX200SSD[1346]|" // tested with Crucial_CT500MX200SSD1/MU01,
+-      // Crucial_CT1024MX200SSD1/MU01, Crucial_CT250MX200SSD3/MU01, Crucial_CT250MX200SSD1/MU03
+-    "Crucial_CT(120|240|480|960)M500SSD[134]|" // tested with Crucial_CT960M500SSD1/MU03,
+-      // Crucial_CT240M500SSD4/MU05
+-    "Crucial_CT(128|256|512|1024)M550SSD[13]|" // tested with Crucial_CT512M550SSD3/MU01,
+-      // Crucial_CT1024M550SSD1/MU01
 +  { "Crucial/Micron MX1/2/300, M5/600, 1100 Client SSDs",
 +    "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
@@ -150,553 +97,124 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
 +      // Crucial_CT480M500SSD1/MU03, Crucial_CT960M500SSD1/MU03, Crucial_CT240M500SSD4/MU05
 +    "Crucial_CT(128|256|512|1024)M550SSD[134]|" // tested with Crucial_CT512M550SSD3/MU01,
 +      // Crucial_CT1024M550SSD1/MU01, Crucial_CT128M550SSD4/MU02
-+    "Micron_M500_MTFDDA[KTV](120|240|480|960)MAV|"// tested with Micron_M500_MTFDDAK960MAV/MU05
-+    "(Micron_)?M510[_-]MTFDDA[KTV](128|256)MAZ|" // tested with M510-MTFDDAK256MAZ/MU01
-+    "(Micron_)?M550[_-]MTFDDA[KTV](064|128|256|512|1T0)MAY|" // tested with M550-MTFDDAK256MAY/MU01
+     "Micron_M500_MTFDDA[KTV](120|240|480|960)MAV|"// tested with Micron_M500_MTFDDAK960MAV/MU05
+     "(Micron_)?M510[_-]MTFDDA[KTV](128|256)MAZ|" // tested with M510-MTFDDAK256MAZ/MU01
+     "(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
-+    "Micron_1100_MTFDDA[KV](256|512|1T0|2T0)TBN", // Marvell 88SS1074, tested with
-+      // Micron_1100_MTFDDAK256TBN/M0MU020
-+    "", "",
-+  //"-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,Current_Pending_Sector "
-+  //"-v 198,raw48,Offline_Uncorrectable "
-+  //"-v 199,raw48,UDMA_CRC_Error_Count "
-+    "-v 202,raw48,Percent_Lifetime_Used "
-+    "-v 206,raw48,Write_Error_Rate "
-+    "-v 210,raw48,Success_RAIN_Recov_Cnt "
-+    "-v 246,raw48,Total_Host_Sector_Write "
-+    "-v 247,raw48,Host_Program_Page_Count "
-+    "-v 248,raw48,Bckgnd_Program_Page_Cnt"
-+  },
-+  { "Micron M500DC/M510DC Enterprise SSDs",
-+    "Micron_M500DC_(EE|MT)FDDA[AK](120|240|480|800)MBB|" // tested with
-+      // Micron_M500DC_EEFDDAA120MBB/129, Micron_M500DC_MTFDDAK800MBB/0129
-+    "MICRON_M510DC_(EE|MT)FDDAK(120|240|480|800|960)MBP", // tested with
-+      // Micron_M510DC_MTFDDAK240MBP/0005
-+    "", "",
-+  //"-v 1,raw48,Raw_Read_Error_Rate "
-+    "-v 5,raw48,Reallocated_Block_Count "
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 170,raw48,Reserved_Block_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 184,raw48,Error_Correction_Count "
-+  //"-v 187,raw48,Reported_Uncorrect "
-+    "-v 188,raw48,Command_Timeouts "
-+  //"-v 194,tempminmax,Temperature_Celsius "
-+    "-v 195,raw48,Cumulativ_Corrected_ECC "
-+  //"-v 197,raw48,Current_Pending_Sector "
-+  //"-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 247,raw48,Host_Program_Page_Count "
-+    "-v 248,raw48,Bckgnd_Program_Page_Cnt"
-+  },
-+  { "SandForce Driven SSDs", // Corsair Force LS with buggy firmware only
-+    "Corsair Force LS SSD", // tested with Corsair Force LS SSD/S9FM01.8
-+    "S9FM01\\.8",
-+    "A firmware update is available for this drive.\n"
-+    "It is HIGHLY RECOMMENDED for drives with specific serial numbers.\n"
-+    "See the following web pages for details:\n"
-+    "http://www.corsair.com/en-us/force-series-ls-60gb-sata-3-6gb-s-ssd\n"
-+    "https://www.smartmontools.org/ticket/628",
-+    "-v 1,raw24/raw32,Raw_Read_Error_Rate "
-+    "-v 5,raw48,Retired_Block_Count "
-+    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 162,raw48,Unknown_SandForce_Attr "
-+    "-v 170,raw48,Reserve_Block_Count "
-+    "-v 172,raw48,Erase_Fail_Count "
-+    "-v 173,raw48,Unknown_SandForce_Attr "
-+    "-v 174,raw48,Unexpect_Power_Loss_Ct "
-+    "-v 181,raw48,Program_Fail_Count "
-+  //"-v 187,raw48,Reported_Uncorrect "
-+  //"-v 192,raw48,Power-Off_Retract_Count "
-+  //"-v 194,tempminmax,Temperature_Celsius "
-+  //"-v 196,raw16(raw16),Reallocated_Event_Count "
-+    "-v 218,raw48,Unknown_SandForce_Attr "
-+    "-v 231,raw48,SSD_Life_Left "
-+    "-v 241,raw48,Lifetime_Writes_GiB "
-+    "-v 242,raw48,Lifetime_Reads_GiB"
-+  },
-   { "SandForce Driven SSDs",
-     "SandForce 1st Ed\\.|" // Demo Drive, tested with firmware 320A13F0
-     "ADATA SSD S(396|510|599) .?..GB|" // tested with ADATA SSD S510 60GB/320ABBF0,
-       // ADATA SSD S599 256GB/3.1.0, 64GB/3.4.6
--    "ADATA SP900|" // Premier Pro, SF-2281, tested with ADATA SP900/5.0.6
-+    "ADATA SP[389]00|" // tested with ADATA SP300/5.0.2d, SP800/5.0.6c,
-+      // ADATA SP900/5.0.6 (Premier Pro, SF-2281)
-+    "ADATA SSD S[PX]900 (64|128|256|512)GB-DL2|" // tested with ADATA SSD SP900 256GB-DL2/5.0.6,
-+      // ADATA SSD SX900 512GB-DL2/5.8.2
-+    "ADATA XM11 (128|256)GB|" // tested with ADATA XM11 128GB/5.0.1
-+    "ATP Velocity MIV (60|120|240|480)GB|" // tested with ATP Velocity MIV 480GB/110719
-     "Corsair CSSD-F(40|60|80|115|120|160|240)GBP?2.*|" // Corsair Force, tested with
-       // Corsair CSSD-F40GB2/1.1, Corsair CSSD-F115GB2-A/2.1a
--    "Corsair Force (3 SSD|GS|GT)|" // SF-2281, tested with
--      // Corsair Force 3 SSD/1.3.2, GT/1.3.3, GS/5.03
-+    "Corsair Force ((3 |LS )?SSD|GS|GT)|" // SF-2281, tested with
-+      // Corsair Force SSD/5.05, 3 SSD/1.3.2, GT/1.3.3, GS/5.03,
-+      // Corsair Force LS SSD/S8FM06.5, S9FM01.8, S9FM02.0
-     "FM-25S2S-(60|120|240)GBP2|" // G.SKILL Phoenix Pro, SF-1200, tested with
-       // FM-25S2S-240GBP2/4.2
-     "FTM(06|12|24|48)CT25H|" // Supertalent TeraDrive CT, tested with
-       // FTM24CT25H/STTMP2P1
-+    "KINGSTON SE50S3(100|240|480)G|" // tested with SE50S3100G/KE1ABBF0
-     "KINGSTON SH10[03]S3(90|120|240|480)G|" // HyperX (3K), SF-2281, tested with
-       // SH100S3240G/320ABBF0, SH103S3120G/505ABBF0
--    "KINGSTON SKC300S37A(60|120|240|480)G|" // SF-2281, tested with SKC300S37A120G/KC4ABBF0
-+    "KINGSTON SKC(300S37A|380S3)(60|120|180|240|480)G|" // KC300, SF-2281, tested with
-+      // SKC300S37A120G/KC4ABBF0, SKC380S3120G/507ABBF0
-     "KINGSTON SVP200S3(7A)?(60|90|120|240|480)G|" // V+ 200, SF-2281, tested with
-       // SVP200S37A480G/502ABBF0, SVP200S390G/332ABBF0
-     "KINGSTON SMS200S3(30|60|120)G|" // mSATA, SF-2241, tested with SMS200S3120G/KC3ABBF0
-     "KINGSTON SMS450S3(32|64|128)G|" // mSATA, SF-2281, tested with SMS450S3128G/503ABBF0
-     "KINGSTON (SV300|SKC100|SE100)S3.*G|" // other SF-2281
--    "MKNSSDCR(45|60|90|120|180|240|480)GB(-DX)?|" // Mushkin Chronos (deluxe), SF-2281,
--      // tested with MKNSSDCR120GB
-+    "MKNSSDCR(45|60|90|120|180|240|360|480)GB(-(7|DX7?|MX|G2))?|" // Mushkin Chronos (7mm/Deluxe/MX/G2),
-+      // SF-2281, tested with MKNSSDCR120GB, MKNSSDCR120GB-MX/560ABBF0, MKNSSDCR480GB-DX7/603ABBF0
-+    "MKNSSDEC(60|120|240|480|512)GB|" // Mushkin Enhanced ECO2, tested with MKNSSDEC120GB/604ABBF0
-+    "MKNSSDAT(30|40|60|120|180|240|480)GB(-(DX|V))?|" // Mushkin Atlas (Deluxe/Value), mSATA, SF-2281,
-+      // tested with MKNSSDAT120GB-V/540ABBF0
-     "Mushkin MKNSSDCL(40|60|80|90|115|120|180|240|480)GB-DX2?|" // Mushkin Callisto deluxe,
-       // SF-1200/1222, Mushkin MKNSSDCL60GB-DX/361A13F0
-     "OCZ[ -](AGILITY2([ -]EX)?|COLOSSUS2|ONYX2|VERTEX(2|-LE))( [123]\\..*)?|" // SF-1200,
-@@ -282,6 +415,7 @@ const drive_settings builtin_knowndrives
-     "OCZ-NOCTI|" // mSATA, SF-2100, tested with OCZ-NOCTI/2.15
-     "OCZ-REVODRIVE3?( X2)?|" // PCIe, SF-1200/2281, tested with
-       // OCZ-REVODRIVE( X2)?/1.20, OCZ-REVODRIVE3 X2/2.11
-+    "OCZ-REVODRIVE350|"
-     "OCZ[ -](VELO|VERTEX2[ -](EX|PRO))( [123]\\..*)?|" // SF-1500, tested with
-       // OCZ VERTEX2-PRO/1.10 (Bogus thresholds for attribute 232 and 235)
-     "D2[CR]STK251...-....|" // OCZ Deneva 2 C/R, SF-22xx/25xx,
-@@ -290,26 +424,34 @@ const drive_settings builtin_knowndrives
-       // OCZ-AGILITY3/2.11, OCZ-SOLID3/2.15, OCZ-VERTEX3 MI/2.15
-     "OCZ Z-DRIVE R4 [CR]M8[48]|" // PCIe, SF-2282/2582, tested with OCZ Z-DRIVE R4 CM84/2.13
-       // (Bogus attributes under Linux)
-+    "OCZ Z-DRIVE 4500|"
-+    "OCZ-VELO DRIVE|" // VeloDrive R, PCIe, tested with OCZ-VELO DRIVE/1.33
-     "TALOS2|" // OCZ Talos 2 C/R, SAS (works with -d sat), 2*SF-2282, tested with TALOS2/3.20E
-     "(APOC|DENC|DENEVA|FTNC|GFGC|MANG|MMOC|NIMC|TMSC).*|" // other OCZ SF-1200,
-       // tested with DENCSTE251M11-0120/1.33, DENEVA PCI-E/1.33
-     "(DENR|DRSAK|EC188|NIMR|PSIR|TRSAK).*|" // other OCZ SF-1500
--    "OWC Mercury Electra [36]G SSD|" // tested with
--      // OWC Mercury Electra 6G SSD/502ABBF0
--    "OWC Mercury Extreme Pro (RE )?SSD|" // tested with
--      // OWC Mercury Extreme Pro SSD/360A13F0
--    "OWC Mercury EXTREME Pro 6G SSD|" // tested with
--      // OWC Mercury EXTREME Pro 6G SSD/507ABBF0
-+    "OWC Aura Pro( 6G SSD)?|" // tested with OWC Aura Pro 6G SSD/507ABBF0, OWC Aura Pro/603ABBF0
-+    "OWC Mercury Electra (Pro )?[36]G SSD|" // tested with
-+      // OWC Mercury Electra 6G SSD/502ABBF0, OWC Mercury Electra Pro 3G SSD/541ABBF0
-+    "OWC Mercury E(xtreme|XTREME) Pro (6G |RE )?SSD|" // tested with
-+      // OWC Mercury Extreme Pro SSD/360A13F0, OWC Mercury EXTREME Pro 6G SSD/507ABBF0
-     "Patriot Pyro|" // tested with Patriot Pyro/332ABBF0
-     "SanDisk SDSSDX(60|120|240|480)GG25|" // SanDisk Extreme, SF-2281, tested with
-       // SDSSDX240GG25/R201
-+    "SanDisk SDSSDA(120|240|480)G|" // SanDisk SSD Plus, tested with SanDisk SDSSDA240G/U21010RL
-     "SuperSSpeed S301 [0-9]*GB|" // SF-2281, tested with SuperSSpeed S301 128GB/503
-+    "SG9XCS2D(0?50|100|200|400)GESLT|" // Smart Storage Systems XceedIOPS2, tested with
-+      // SG9XCS2D200GESLT/SA03L370
-+    "SSD9SC(120|240|480)GED[EA]|" // PNY Prevail Elite, tested with SSD9SC120GEDA/334ABBF0
-     "(TX32|TX31C1|VN0.?..GCNMK).*|" // Smart Storage Systems XceedSTOR
-     "(TX22D1|TX21B1).*|" // Smart Storage Systems XceedIOPS2
-     "TX52D1.*|" // Smart Storage Systems Xcel-200
--    "TS(64|128|256|512)GSSD320|" // Transcend SSD320, SF-2281, tested with TS128GSSD320
--    "UGB(88P|99S)GC...H[BF].", // Unigen, tested with
-+    "TS(64|128|256|512)GSSD[37]20|" // Transcend SSD320/720, SF-2281, tested with
-+      // TS128GSSD320, TS256GSSD720/5.2.0
-+    "UGB(88P|99S)GC...H[BF].|" // Unigen, tested with
-       // UGB88PGC100HF2/MP Rev2, UGB99SGC100HB3/RC Rev3
-+    "SG9XCS(1F|2D)(50|100|200|400)GE01|" // XceedIOPS, tested with SG9XCS2D50GE01/SA03F34V
-+    "VisionTek GoDrive (60|120|240|480)GB", // tested with VisionTek GoDrive 480GB/506ABBF0
++    "Micron_M500DC_(EE|MT)FDDA[AK](120|240|480|800)MBB|" // tested with Micron_M500DC_EEFDDAA120MBB/129, Micron_M500DC_MTFDDAK800MBB/0129
++    "Micron_1100_MTFDDA[KV](256|512|1T0|2T0)TBN|" // Marvell 88SS1074, tested Micron_1100_MTFDDAK256TBN/M0MU020
++    "MICRON_M510DC_(EE|MT)FDDAK(120|240|480|800|960)MBP|" // Micron_M510DC_MTFDDAK240MBP/0005
++    "Micron_5100_(EE|MT)FDDA[KV](240|480|960|1T9|3T8|7T6)T(BY|CB|CC)", // tested with Micron_5100_MTFDDAK1T9TBY
      "", "",
-     "-v 1,raw24/raw32,Raw_Read_Error_Rate "
-     "-v 5,raw48,Retired_Block_Count "
-@@ -317,9 +459,11 @@ const drive_settings builtin_knowndrives
+   //"-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 13,raw24/raw32,Soft_Read_Error_Rate "
-     "-v 100,raw48,Gigabytes_Erased "
-+    "-v 162,raw48,Unknown_SandForce_Attr " // Corsair Force LS SSD/S9FM01.8, *2.0
-     "-v 170,raw48,Reserve_Block_Count "
++    "-v 170,raw48,Reserved_Block_Count "
      "-v 171,raw48,Program_Fail_Count "
      "-v 172,raw48,Erase_Fail_Count "
-+    "-v 173,raw48,Unknown_SandForce_Attr " // Corsair Force LS SSD/S9FM01.8, *2.0
-     "-v 174,raw48,Unexpect_Power_Loss_Ct "
-     "-v 177,raw48,Wear_Range_Delta "
-     "-v 181,raw48,Program_Fail_Count "
-@@ -327,6 +471,7 @@ const drive_settings builtin_knowndrives
-     "-v 184,raw48,IO_Error_Detect_Code_Ct "
+     "-v 173,raw48,Ave_Block-Erase_Count "
+@@ -303,6 +312,7 @@ const drive_settings builtin_knowndrives
+     "-v 180,raw48,Unused_Reserve_NAND_Blk "
+     "-v 183,raw48,SATA_Interfac_Downshift "
+     "-v 184,raw48,Error_Correction_Count "
++    "-v 195,raw48,Cumulativ_Corrected_ECC "
    //"-v 187,raw48,Reported_Uncorrect "
-     "-v 189,tempminmax,Airflow_Temperature_Cel "
-+  //"-v 192,raw48,Power-Off_Retract_Count "
    //"-v 194,tempminmax,Temperature_Celsius "
-     "-v 195,raw24/raw32,ECC_Uncorr_Error_Count "
    //"-v 196,raw16(raw16),Reallocated_Event_Count "
-@@ -334,6 +479,7 @@ const drive_settings builtin_knowndrives
-     "-v 199,raw48,SATA_CRC_Error_Count "
-     "-v 201,raw24/raw32,Unc_Soft_Read_Err_Rate "
-     "-v 204,raw24/raw32,Soft_ECC_Correct_Rate "
-+    "-v 218,raw48,Unknown_SandForce_Attr " // Corsair Force LS SSD/S9FM01.8, *2.0
-     "-v 230,raw48,Life_Curve_Status "
-     "-v 231,raw48,SSD_Life_Left "
-   //"-v 232,raw48,Available_Reservd_Space "
-@@ -343,12 +489,52 @@ const drive_settings builtin_knowndrives
+@@ -486,11 +496,30 @@ const drive_settings builtin_knowndrives
      "-v 241,raw48,Lifetime_Writes_GiB "
      "-v 242,raw48,Lifetime_Reads_GiB"
    },
-+  { "Phison Driven SSDs", // see MKP_521_Phison_SMART_attribute.pdf
-+    "KINGSTON SUV300S37A(120|240|480)G|" // UV300 SSD, tested with KINGSTON SUV300S37A120G/SAFM11.K
-+    "KINGSTON SKC310S3B?7A960G|" // SSDNow KC310, KINGSTON SKC310S37A960G/SAFM00.r
-+    "KINGSTON SKC400S37(128G|256G|512G|1T)|" // SSDNow KC400, KINGSTON SKC400S37128G
-+    "KINGSTON SV310S3(7A|D7|N7A|B7A)960G|" // SSDNow V310
-+    "KINGSTON SHSS3B?7A(120|240|480|960)G", // HyperX Savage
++  {
++    "StorFly CFast SATA 6Gbps SSDs",
++    // http://datasheet.octopart.com/VSFCS2CC060G-100-Virtium-datasheet-82287733.pdf
++    // tested with StorFly VSFCS2CC060G-100/0409-000
++    "StorFly VSFCS2C[CI](016|030|060|120|240)G-...",
++    // C - commercial, I industrial
 +    "", "",
-+  //"-v 1,raw48,Raw_Read_Error_Rate "
-+    "-v 2,raw48,Not_In_Use "
-+    "-v 3,raw48,Not_In_Use "
-+    "-v 5,raw48,Not_In_Use "
-+    "-v 7,raw48,Not_In_Use "
-+    "-v 8,raw48,Not_In_Use "
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+    "-v 5,raw48,Retired_Block_Count "
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+    "-v 10,raw48,Not_In_Use "
-+  //"-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 175,raw48,Not_In_Use "
-+    "-v 183,raw48,Unknown_Attribute "
-+  //"-v 187,raw48,Reported_Uncorrect "
 +    "-v 192,raw48,Unsafe_Shutdown_Count "
-+  //"-v 194,tempminmax,Temperature_Celsius "
-+    "-v 196,raw48,Not_In_Use "
-+    "-v 197,raw48,Not_In_Use "
-+    "-v 199,raw48,CRC_Error_Count "
-+    "-v 218,raw48,CRC_Error_Count "
-+    "-v 231,raw48,SSD_Life_Left "
-+    "-v 233,raw48,Flash_Writes_GiB "
-+    "-v 240,raw48,Not_In_Use "
-+    "-v 241,raw48,Lifetime_Writes_GiB "
-+    "-v 242,raw48,Lifetime_Reads_GiB "
-+    "-v 244,raw48,Average_Erase_Count "
-+    "-v 245,raw48,Max_Erase_Count "
-+    "-v 246,raw48,Total_Erase_Count "
-+  },
-   { "Indilinx Barefoot based SSDs",
-     "Corsair CSSD-V(32|60|64|128|256)GB2|" // Corsair Nova, tested with Corsair CSSD-V32GB2/2.2
-+    "Corsair CMFSSD-(32|64|128|256)D1|" // Corsair Extreme, tested with Corsair CMFSSD-128D1/1.0
-     "CRUCIAL_CT(64|128|256)M225|" // tested with CRUCIAL_CT64M225/1571
-     "G.SKILL FALCON (64|128|256)GB SSD|" // tested with G.SKILL FALCON 128GB SSD/2030
--    "OCZ[ -](AGILITY|ONYX|VERTEX( 1199|-TURBO)?)|" // tested with
--      // OCZ-ONYX/1.6, OCZ-VERTEX 1199/00.P97, OCZ-VERTEX/1.30, OCZ VERTEX-TURBO/1.5
-+    "OCZ[ -](AGILITY|ONYX|VERTEX( 1199|-TURBO| v1\\.10)?)|" // tested with
-+      // OCZ-ONYX/1.6, OCZ-VERTEX 1199/00.P97, OCZ-VERTEX/1.30, OCZ VERTEX-TURBO/1.5, OCZ-VERTEX v1.10/1370
-     "Patriot[ -]Torqx.*|"
-     "RENICE Z2|" // tested with RENICE Z2/2030
-     "STT_FT[MD](28|32|56|64)GX25H|" // Super Talent Ultradrive GX, tested with STT_FTM64GX25H/1916
-@@ -386,7 +572,7 @@ const drive_settings builtin_knowndrives
-     "OCZ-PETROL|" // Everest 1, tested with OCZ-PETROL/3.12
-     "OCZ-AGILITY4|" // Everest 2, tested with OCZ-AGILITY4/1.5.2
-     "OCZ-VERTEX4", // Everest 2, tested with OCZ-VERTEX4/1.5
--    "", "", ""
-+    "", "",
++    "-v 160,raw48,Uncorrectable_Error_Cnt "
++    // 0729 - remaining in block life. In 0828  remaining is normalized to 100% then decreases
++    "-v 161,raw48,Spares_Remaining " 
++    "-v 241,raw48,Host_Writes_32MiB "
++    "-v 242,raw48,Host_Reads_32MiB "
++    "-v 169,raw48,Lifetime_Remaining% "
++    "-v 248,raw48,Lifetime_Remaining% " //  later then 0409 FW.
++    "-v 249,raw48,Spares_Remaining_Perc " //  later then 0409 FW.
++  },
+   { "Phison Driven SSDs", // see MKP_521_Phison_SMART_attribute.pdf
+     "KINGSTON SUV300S37A(120|240|480)G|" // UV300 SSD, tested with KINGSTON SUV300S37A120G/SAFM11.K
+     "KINGSTON SKC310S3B?7A960G|" // SSDNow KC310, KINGSTON SKC310S37A960G/SAFM00.r
+     "KINGSTON SKC400S37(128G|256G|512G|1T)|" // SSDNow KC400, KINGSTON SKC400S37128G
+     "KINGSTON SV310S3(7A|D7|N7A|B7A)960G|" // SSDNow V310
++    "GOODRAM|" // GOODRAM/SAFM12.2 (CX200), model name is missing in the SMART!
++    "PNY CS1311 (120|240|480|960)GB SSD|" // tested with PNY CS1311 120GB SSD/CS131122
+     "KINGSTON SHSS3B?7A(120|240|480|960)G", // HyperX Savage
+     "", "",
    //"-v 1,raw48,Raw_Read_Error_Rate "
-   //"-v 3,raw16(avg16),Spin_Up_Time "
-   //"-v 4,raw48,Start_Stop_Count "
-@@ -397,23 +583,90 @@ const drive_settings builtin_knowndrives
-   //"-v 233,raw48,Media_Wearout_Indicator"
+@@ -651,8 +680,9 @@ const drive_settings builtin_knowndrives
+     "-v 251,raw48,Total_NAND_Read_Ct_GiB"
    },
-   { "Indilinx Barefoot 3 based SSDs",
--    "OCZ-VECTOR", // tested with OCZ-VECTOR/1.03
--    "", "", ""
-+    "OCZ-VECTOR(1[58]0)?|" // tested with OCZ-VECTOR/1.03, OCZ-VECTOR150/1.2, OCZ-VECTOR180
-+    "OCZ-VERTEX4[56]0A?|" // Barefoot 3 M10, tested with OCZ-VERTEX450/1.0, OCZ-VERTEX460/1.0, VERTEX460A
-+    "OCZ-SABER1000|"
-+    "OCZ-ARC100|"
-+    "Radeon R7", // Barefoot 3 M00, tested with Radeon R7/1.00
-+    "", "",
-+    "-v 5,raw48,Runtime_Bad_Block "
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 171,raw48,Avail_OP_Block_Count "
-+    "-v 174,raw48,Pwr_Cycle_Ct_Unplanned "
-+    "-v 187,raw48,Total_Unc_NAND_Reads "
-+    "-v 195,raw48,Total_Prog_Failures "
-+    "-v 196,raw48,Total_Erase_Failures "
-+    "-v 197,raw48,Total_Unc_Read_Failures "
-+    "-v 198,raw48,Host_Reads_GiB "
-+    "-v 199,raw48,Host_Writes_GiB "
-+    "-v 205,raw48,Max_Rated_PE_Count "
-+    "-v 206,raw48,Min_Erase_Count "
-+    "-v 207,raw48,Max_Erase_Count "
-+    "-v 208,raw48,Average_Erase_Count "
-+    "-v 210,raw48,SATA_CRC_Error_Count "
-+    "-v 212,raw48,Pages_Requiring_Rd_Rtry "
-+    "-v 213,raw48,Snmple_Retry_Attempts "
-+    "-v 214,raw48,Adaptive_Retry_Attempts "
-+    "-v 222,raw48,RAID_Recovery_Count "
-+    "-v 224,raw48,In_Warranty "
-+    "-v 225,raw48,DAS_Polarity "
-+    "-v 226,raw48,Partial_Pfail "
-+    "-v 230,raw48,Write_Throttling "
-+    "-v 233,raw48,Remaining_Lifetime_Perc "
-+    "-v 241,raw48,Host_Writes_GiB " // M00/M10
-+    "-v 242,raw48,Host_Reads_GiB "  // M00/M10
-+    "-v 249,raw48,Total_NAND_Prog_Ct_GiB "
-+    "-v 251,raw48,Total_NAND_Read_Ct_GiB"
-+  },
-+  { "OCZ Intrepid 3000 SSDs", // tested with OCZ INTREPID 3600/1.4.3.6, 3800/1.4.3.0, 3700/1.5.0.4
-+    "OCZ INTREPID 3[678]00",
-+    "", "",
-     "-v 5,raw48,Runtime_Bad_Block "
-   //"-v 9,raw24(raw8),Power_On_Hours "
-   //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 100,raw48,Total_Blocks_Erased "
-     "-v 171,raw48,Avail_OP_Block_Count "
-     "-v 174,raw48,Pwr_Cycle_Ct_Unplanned "
-+    "-v 184,raw48,Factory_Bad_Block_Count "
-     "-v 187,raw48,Total_Unc_NAND_Reads "
-+    "-v 190,tempminmax,Temperature_Celsius "
-     "-v 195,raw48,Total_Prog_Failures "
-     "-v 196,raw48,Total_Erase_Failures "
-     "-v 197,raw48,Total_Unc_Read_Failures "
-     "-v 198,raw48,Host_Reads_GiB "
-     "-v 199,raw48,Host_Writes_GiB "
-+    "-v 202,raw48,Total_Read_Bits_Corr_Ct "
-+    "-v 205,raw48,Max_Rated_PE_Count "
-+    "-v 206,raw48,Min_Erase_Count "
-+    "-v 207,raw48,Max_Erase_Count "
-     "-v 208,raw48,Average_Erase_Count "
-     "-v 210,raw48,SATA_CRC_Error_Count "
-+    "-v 211,raw48,SATA_UNC_Count "
-+    "-v 212,raw48,NAND_Reads_with_Retry "
-+    "-v 213,raw48,Simple_Rd_Rtry_Attempts "
-+    "-v 214,raw48,Adaptv_Rd_Rtry_Attempts "
-+    "-v 221,raw48,Int_Data_Path_Prot_Unc "
-+    "-v 222,raw48,RAID_Recovery_Count "
-+    "-v 230,raw48,SuperCap_Charge_Status " // 0=not charged, 1=fully charged, 2=unknown
-     "-v 233,raw48,Remaining_Lifetime_Perc "
--    "-v 249,raw48,Total_NAND_Prog_Ct_GiB"
-+    "-v 249,raw48,Total_NAND_Prog_Ct_GiB "
-+    "-v 251,raw48,Total_NAND_Read_Ct_GiB"
-+  },
-+  {
+   {
+-    "OCZ Trion SSDs",
+-    "OCZ-TRION1[05]0", // tested with OCZ-TRION100/SAFM11.2A, TRION150/SAFZ72.2
 +    "OCZ/Toshiba Trion SSDs",
 +    "OCZ-TRION1[05]0|" // tested with OCZ-TRION100/SAFM11.2A, TRION150/SAFZ72.2
 +    "TOSHIBA-TR150", // tested with TOSHIBA-TR150/SAFZ12.3
-+    "", "",
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 167,raw48,SSD_Protect_Mode "
-+    "-v 168,raw48,SATA_PHY_Error_Count "
-+    "-v 169,raw48,Bad_Block_Count "
-+    "-v 173,raw48,Erase_Count "
-+    "-v 192,raw48,Unexpect_Power_Loss_Ct "
-+  //"-v 194,tempminmax,Temperature_Celsius "
-+    "-v 241,raw48,Host_Writes"
-   },
-   { "InnoDisk InnoLite SATADOM D150QV-L SSDs", // tested with InnoLite SATADOM D150QV-L/120319
-     "InnoLite SATADOM D150QV-L",
-@@ -439,6 +692,142 @@ const drive_settings builtin_knowndrives
+     "", "",
+   //"-v 9,raw24(raw8),Power_On_Hours "
+   //"-v 12,raw48,Power_Cycle_Count "
+@@ -688,8 +718,9 @@ const drive_settings builtin_knowndrives
      "-v 236,raw48,Unstable_Power_Count "
      "-v 240,raw48,Write_Head"
    },
+-  { "Innodisk 3ME SSDs", // tested with 2.5" SATA SSD 3ME/S140714
+-    "((1\\.8|2\\.5)\"? SATA SSD|SATA Slim) 3ME",
 +  { "Innodisk 1ME3/3ME/3SE SSDs", // tested with 2.5" SATA SSD 3ME/S140714,
 +      // Mini PCIeDOM 1ME3/S15604, InnoDisk Corp. - mSATA 3SE/S130710
 +    "((1\\.8|2\\.5)\"? SATA SSD|InnoDisk Corp\\. - mSATA|Mini PCIeDOM|SATA Slim) (1ME3|3[MS]E)",
-+    "", "",
-+  //"-v 1,raw48,Raw_Read_Error_Rate "
-+  //"-v 2,raw48,Throughput_Performance "
-+  //"-v 3,raw16(avg16),Spin_Up_Time "
-+  //"-v 5,raw48,Reallocated_Sector_Count "
-+    "-v 7,raw48,Seek_Error_Rate "       // ?
-+    "-v 8,raw48,Seek_Time_Performance " // ?
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+    "-v 10,raw48,Spin_Retry_Count "     // ?
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 168,raw48,SATA_PHY_Error_Count "
+     "", "",
+   //"-v 1,raw48,Raw_Read_Error_Rate "
+   //"-v 2,raw48,Throughput_Performance "
+@@ -701,7 +732,7 @@ const drive_settings builtin_knowndrives
+     "-v 10,raw48,Spin_Retry_Count "     // ?
+   //"-v 12,raw48,Power_Cycle_Count "
+     "-v 168,raw48,SATA_PHY_Error_Count "
+-    "-v 169,raw48,Unknown_Innodisk_Attr "
 +    "-v 169,hex48,Unknown_Innodisk_Attr "
-+    "-v 170,raw16,Bad_Block_Count "
-+    "-v 173,raw16,Erase_Count "
-+    "-v 175,raw48,Bad_Cluster_Table_Count "
-+    "-v 176,raw48,Uncorr_RECORD_Count "
-+  //"-v 192,raw48,Power-Off_Retract_Count "
-+  //"-v 194,tempminmax,Temperature_Celsius " // ] only in spec
-+  //"-v 197,raw48,Current_Pending_Sector "
-+    "-v 225,raw48,Unknown_Innodisk_Attr "
-+    "-v 229,hex48,Flash_ID "
-+    "-v 235,raw48,Later_Bad_Block "
-+    "-v 236,raw48,Unstable_Power_Count "
-+    "-v 240,raw48,Write_Head"
-+  },
+     "-v 170,raw16,Bad_Block_Count "
+     "-v 173,raw16,Erase_Count "
+     "-v 175,raw48,Bad_Cluster_Table_Count "
+@@ -715,10 +746,11 @@ const drive_settings builtin_knowndrives
+     "-v 236,raw48,Unstable_Power_Count "
+     "-v 240,raw48,Write_Head"
+   },
+-  { "Innodisk 3IE2/3MG2/3SE2-P SSDs", // tested with 2.5" SATA SSD 3MG2-P/M140402,
 +  { "Innodisk 3IE2/3ME2/3MG2/3SE2 SSDs", // tested with 2.5" SATA SSD 3MG2-P/M140402,
-+      // 1.8 SATA SSD 3IE2-P/M150821, 2.5" SATA SSD 3IE2-P/M150821,
+       // 1.8 SATA SSD 3IE2-P/M150821, 2.5" SATA SSD 3IE2-P/M150821,
+-      // SATA Slim 3MG2-P/M141114, M.2 (S80) 3MG2-P/M141114, M.2 (S42) 3SE2-P/M150821
+-    "((1\\.8|2\\.5)\"? SATA SSD|SATA Slim|M\\.2 \\(S(42|80)\\)) 3(IE|MG|SE)2-P",
 +      // SATA Slim 3MG2-P/M141114, M.2 (S80) 3MG2-P/M141114, M.2 (S42) 3SE2-P/M150821,
 +      // M.2 (S42) 3ME2/M151013
 +    "((1\\.8|2\\.5)\"? SATA SSD|SATA Slim|M\\.2 \\(S(42|80)\\)) 3(IE|ME|MG|SE)2(-P)?",
-+    "", "",
-+  //"-v 1,raw48,Raw_Read_Error_Rate "
-+  //"-v 2,raw48,Throughput_Performance "
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 160,raw48,Uncorrectable_Error_Cnt "
-+    "-v 161,raw48,Number_of_Pure_Spare "
-+    "-v 163,raw48,Initial_Bad_Block_Count "
-+    "-v 164,raw48,Total_Erase_Count "
-+    "-v 165,raw48,Max_Erase_Count "
-+    "-v 166,raw48,Min_Erase_Count "
-+    "-v 167,raw48,Average_Erase_Count "
-+    "-v 168,raw48,Max_Erase_Count_of_Spec "
-+    "-v 169,raw48,Remaining_Lifetime_Perc "
-+  //"-v 175,raw48,Program_Fail_Count_Chip "
-+  //"-v 176,raw48,Erase_Fail_Count_Chip "
-+  //"-v 177,raw48,Wear_Leveling_Count "
-+    "-v 178,raw48,Runtime_Invalid_Blk_Cnt "
-+  //"-v 181,raw48,Program_Fail_Cnt_Total "
-+  //"-v 182,raw48,Erase_Fail_Count_Total "
-+  //"-v 187,raw48,Reported_Uncorrect " // ] only in spec
-+  //"-v 192,raw48,Power-Off_Retract_Count "
-+  //"-v 194,tempminmax,Temperature_Celsius "
-+  //"-v 195,raw48,Hardware_ECC_Recovered "
-+  //"-v 196,raw16(raw16),Reallocated_Event_Count "
-+  //"-v 197,raw48,Current_Pending_Sector "
-+  //"-v 198,raw48,Offline_Uncorrectable "
-+  //"-v 199,raw48,UDMA_CRC_Error_Count "
-+    "-v 225,raw48,Host_Writes_32MiB "  // ]
-+  //"-v 232,raw48,Available_Reservd_Space "
-+    "-v 233,raw48,Flash_Writes_32MiB " // ]
-+    "-v 234,raw48,Flash_Reads_32MiB "  // ]
-+    "-v 241,raw48,Host_Writes_32MiB "
-+    "-v 242,raw48,Host_Reads_32MiB "
-+    "-v 245,raw48,Flash_Writes_32MiB"
-+  },
-+  { "Innodisk 3IE3/3ME3 SSDs", // tested with 2.5" SATA SSD 3ME3/S15A19, CFast 3ME3/S15A19
-+      // InnoDisk Corp. - mSATA 3ME3/S15A19, mSATA mini 3ME3/S15A19, M.2 (S42) 3ME3,
-+      // SATA Slim 3ME3/S15A19, SATADOM-MH 3ME3/S15A19, SATADOM-ML 3ME3/S15A19,
-+      // SATADOM-MV 3ME3/S15A19, SATADOM-SL 3ME3/S15A19, SATADOM-SV 3ME3/S15A19,
-+      // SATADOM-SL 3IE3/S151019N, 2.5" SATA SSD 3IE3/S15C14i, CFast 3IE3/S15C14i,
-+      // InnoDisk Corp. - mSATA 3IE3/S15C14i, Mini PCIeDOM 1IE3/S15C14i,
-+      // mSATA mini 3IE3/S15C14i, M.2 (S42) 3IE3/S15C14i, SATA Slim 3IE3/S15C14i,
-+      // SATADOM-SH 3IE3 V2/S15C14i, SATADOM-SL 3IE3 V2/S15A19i, SATADOM-SV 3IE3 V2/S15C14i
-+    "(2.5\" SATA SSD|CFast|InnoDisk Corp\\. - mSATA|Mini PCIeDOM|mSATA mini|"
-+    "M\\.2 \\(S42\\)|SATA Slim|SATADOM-[MS][HLV]) 3[IM]E3( V2)?",
-+    "", "",
-+  //"-v 1,raw48,Raw_Read_Error_Rate "
-+  //"-v 2,raw48,Throughput_Performance "
-+  //"-v 3,raw16(avg16),Spin_Up_Time "
-+    "-v 5,raw48,Later_Bad_Block "
-+    "-v 7,raw48,Seek_Error_Rate "       // ?
-+    "-v 8,raw48,Seek_Time_Performance " // ?
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+    "-v 10,raw48,Spin_Retry_Count "     // ?
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 163,raw48,Total_Bad_Block_Count "
-+    "-v 165,raw48,Max_Erase_Count "
-+    "-v 167,raw48,Average_Erase_Count "
-+    "-v 168,raw48,SATA_PHY_Error_Count "
-+    "-v 169,raw48,Remaining_Lifetime_Perc "
-+    "-v 170,raw48,Spare_Block_Count "
-+    "-v 171,raw48,Program_Fail_Count "
-+    "-v 172,raw48,Erase_Fail_Count "
-+    "-v 175,raw48,Bad_Cluster_Table_Count "
-+    "-v 176,raw48,RANGE_RECORD_Count "
-+  //"-v 187,raw48,Reported_Uncorrect "
-+  //"-v 192,raw48,Power-Off_Retract_Count "
-+  //"-v 194,tempminmax,Temperature_Celsius "
-+  //"-v 197,raw48,Current_Pending_Sector "
-+    "-v 225,raw48,Data_Log_Write_Count "
-+    "-v 229,hex48,Flash_ID "
-+    "-v 232,raw48,Spares_Remaining_Perc "
-+    "-v 235,raw16,Later_Bad_Blk_Inf_R/W/E " // Read/Write/Erase
-+    "-v 240,raw48,Write_Head "
-+    "-v 241,raw48,Host_Writes_32MiB "
-+    "-v 242,raw48,Host_Reads_32MiB"
-+  },
-+  { "InnoDisk iCF 9000 CompactFlash Cards", // tested with InnoDisk Corp. - iCF9000 1GB/140808,
-+       // ..., InnoDisk Corp. - iCF9000 64GB/140808
-+    "InnoDisk Corp\\. - iCF9000 (1|2|4|8|16|32|64)GB",
-+    "", "",
-+  //"-v 1,raw48,Raw_Read_Error_Rate "
-+  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 160,raw48,Uncorrectable_Error_Cnt "
-+    "-v 161,raw48,Valid_Spare_Block_Cnt "
-+    "-v 162,raw48,Child_Pair_Count "
-+    "-v 163,raw48,Initial_Bad_Block_Count "
-+    "-v 164,raw48,Total_Erase_Count "
-+    "-v 165,raw48,Max_Erase_Count "
-+    "-v 166,raw48,Min_Erase_Count "
-+    "-v 167,raw48,Average_Erase_Count "
-+  //"-v 192,raw48,Power-Off_Retract_Count "
-+  //"-v 194,tempminmax,Temperature_Celsius "
-+  //"-v 195,raw48,Hardware_ECC_Recovered "
-+  //"-v 196,raw16(raw16),Reallocated_Event_Count "
-+  //"-v 198,raw48,Offline_Uncorrectable "
-+  //"-v 199,raw48,UDMA_CRC_Error_Count "
-+  //"-v 229,raw48,Flash_ID " // only in spec
-+    "-v 241,raw48,Host_Writes_32MiB "
-+    "-v 242,raw48,Host_Reads_32MiB"
-+  },
-   { "Intel X25-E SSDs",
-     "SSDSA2SH(032|064)G1.* INTEL",  // G1 = first generation
      "", "",
-@@ -503,8 +892,10 @@ const drive_settings builtin_knowndrives
-     "-v 227,raw48,Workld_Host_Reads_Perc "
+   //"-v 1,raw48,Raw_Read_Error_Rate "
+   //"-v 2,raw48,Throughput_Performance "
+@@ -887,8 +919,9 @@ const drive_settings builtin_knowndrives
      "-v 228,raw48,Workload_Minutes"
    },
--  { "Intel 313 Series SSDs", // tested with INTEL SSDSA2VP020G3/9CV10379
--    "INTEL SSDSA2VP(020|024)G3",
-+  { "Intel 311/313 Series SSDs", // tested with INTEL SSDSA2VP020G2/2CV102M5,
+   { "Intel 311/313 Series SSDs", // tested with INTEL SSDSA2VP020G2/2CV102M5,
+-      // INTEL SSDSA2VP020G3/9CV10379,
+-    "INTEL SSDSA2VP(020|024)G[23]", // G3 = 313 Series
 +      // INTEL SSDSA2VP020G3/9CV10379, INTEL SSDMAEXC024G3H/9CV10379
 +    "INTEL SSD(SA2VP|MAEXC)(020|024)G[23]H?",
 +      // SA2VP = 2.5", MAEXC = mSATA, G2 = 311, G3 = 313
      "", "",
    //"-v 3,raw16(avg16),Spin_Up_Time "
    //"-v 4,raw48,Start_Stop_Count "
-@@ -528,8 +919,10 @@ const drive_settings builtin_knowndrives
-     "-v 242,raw48,Host_Reads_32MiB"
-   },
-   { "Intel 320 Series SSDs", // tested with INTEL SSDSA2CT040G3/4PC10362,
--      // INTEL SSDSA2CW160G3/4PC10362, INTEL SSDSA2BT040G3/4PC10362, INTEL SSDSA2BW120G3A/4PC10362
--    "INTEL SSDSA[12][BC][WT](040|080|120|160|300|600)G3A?",
-+      // INTEL SSDSA2CW160G3/4PC10362, SSDSA2BT040G3/4PC10362, SSDSA2BW120G3A/4PC10362,
-+      // INTEL SSDSA2BW300G3D/4PC10362, SSDSA2BW160G3L/4PC1LE04, SSDSA1NW160G3/4PC10362
-+    "INTEL SSDSA[12][BCN][WT](040|080|120|160|300|600)G3[ADL]?",
-+      // 2B = 2.5" 7mm, 2C = 2.5" 9.5mm, 1N = 1.8" microSATA
-     "", "",
-     "-F nologdir "
-   //"-v 3,raw16(avg16),Spin_Up_Time "
-@@ -540,8 +933,10 @@ const drive_settings builtin_knowndrives
-     "-v 170,raw48,Reserve_Block_Count "
-     "-v 171,raw48,Program_Fail_Count "
-     "-v 172,raw48,Erase_Fail_Count "
-+    "-v 183,raw48,SATA_Downshift_Count " // FW >= 4Px10362
-   //"-v 184,raw48,End-to-End_Error "
-   //"-v 187,raw48,Reported_Uncorrect "
-+    "-v 199,raw48,CRC_Error_Count "      // FW >= 4Px10362
-     "-v 192,raw48,Unsafe_Shutdown_Count "
-     "-v 225,raw48,Host_Writes_32MiB "
-     "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
-@@ -592,8 +987,9 @@ const drive_settings builtin_knowndrives
+@@ -980,8 +1013,9 @@ const drive_settings builtin_knowndrives
    //"-v 232,raw48,Available_Reservd_Space "
    //"-v 233,raw48,Media_Wearout_Indicator"
    },
@@ -708,256 +226,98 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
      "", "",
    //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
      "-v 9,msec24hour32,Power_On_Hours_and_Msec "
-@@ -615,6 +1011,61 @@ const drive_settings builtin_knowndrives
+@@ -1075,6 +1109,24 @@ const drive_settings builtin_knowndrives
      "-v 242,raw48,Host_Reads_32MiB "
      "-v 249,raw48,NAND_Writes_1GiB"
    },
-+  { "Intel 525 Series SSDs", // mSATA, tested with SSDMCEAC120B3/LLLi
-+    "INTEL SSDMCEAC(030|060|090|120|180|240)B3",
++  // https://www.intel.com/content/www/us/en/solid-state-drives/ssd-540s-series-spec.html
++  // https://www.intel.com/content/www/us/en/solid-state-drives/ssd-540s-series-m2-spec.html
++  { "Intel 540 Series SSDs", // INTEL SSDSC2KW120H6/LSF036C, INTEL SSDSC2KW480H6/LSF036C
++    "INTEL SSDSC[K2]KW(120H|180H|240H|360H|480H|010X)6", 
 +    "", "",
-+  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
 +    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
-+  //"-v 12,raw48,Power_Cycle_Count "
 +    "-v 170,raw48,Available_Reservd_Space "
 +    "-v 171,raw48,Program_Fail_Count "
 +    "-v 172,raw48,Erase_Fail_Count "
 +    "-v 174,raw48,Unexpect_Power_Loss_Ct "
 +    "-v 183,raw48,SATA_Downshift_Count "
-+  //"-v 184,raw48,End-to-End_Error "
 +    "-v 187,raw48,Uncorrectable_Error_Cnt "
-+  //"-v 190,tempminmax,Airflow_Temperature_Cel "
-+  //"-v 192,raw48,Power-Off_Retract_Count "
-+  //"-v 199,raw48,UDMA_CRC_Error_Count "
 +    "-v 225,raw48,Host_Writes_32MiB "
 +    "-v 226,raw48,Workld_Media_Wear_Indic "
 +    "-v 227,raw48,Workld_Host_Reads_Perc "
 +    "-v 228,raw48,Workload_Minutes "
-+  //"-v 232,raw48,Available_Reservd_Space "
-+  //"-v 233,raw48,Media_Wearout_Indicator "
-+    "-v 241,raw48,Host_Writes_32MiB "
-+    "-v 242,raw48,Host_Reads_32MiB "
 +    "-v 249,raw48,NAND_Writes_1GiB"
 +  },
-+  { "Intel 53x and Pro 2500 Series SSDs", // SandForce SF-2281, tested with
-+      // INTEL SSDSC2BW180A4/DC12, SSDSC2BW240A4/DC12, SSDMCEAW120A4/DC33
-+      // INTEL SSDMCEAW240A4/DC33, SSDSC2BF480A5/TG26, SSDSC2BW240H6/RG21
-+    "INTEL SSD(MCEA|SC2B|SCKJ)[WF](056|080|120|180|240|360|480)(A4|A5|H6)",
-+      // SC2B = 2.5", MCEA = mSATA, SCKJ = M.2; A4 = 530, A5 = Pro 2500, H6 = 535
+   { "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
+@@ -1111,6 +1163,23 @@ const drive_settings builtin_knowndrives
+     "-v 243,raw48,NAND_Writes_32MiB " // S3510/3610
+     "-F xerrorlba" // tested with SSDSC2BB600G4/D2010355
+   },
++  { "Intel 3710 Series SSDs", // INTEL SSDSC2BA200G4R/G201DL2B (dell)
++    "INTEL SSDSC2BA(200G|400G|800G|012T)4.?",
 +    "", "",
-+  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
 +    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
-+  //"-v 12,raw48,Power_Cycle_Count "
 +    "-v 170,raw48,Available_Reservd_Space "
 +    "-v 171,raw48,Program_Fail_Count "
 +    "-v 172,raw48,Erase_Fail_Count "
 +    "-v 174,raw48,Unexpect_Power_Loss_Ct "
 +    "-v 183,raw48,SATA_Downshift_Count "
-+  //"-v 184,raw48,End-to-End_Error "
 +    "-v 187,raw48,Uncorrectable_Error_Cnt "
-+  //"-v 190,tempminmax,Airflow_Temperature_Cel "
-+  //"-v 192,raw48,Power-Off_Retract_Count "
-+  //"-v 199,raw48,UDMA_CRC_Error_Count "
 +    "-v 225,raw48,Host_Writes_32MiB "
 +    "-v 226,raw48,Workld_Media_Wear_Indic "
 +    "-v 227,raw48,Workld_Host_Reads_Perc "
 +    "-v 228,raw48,Workload_Minutes "
-+  //"-v 232,raw48,Available_Reservd_Space "
-+  //"-v 233,raw48,Media_Wearout_Indicator "
-+    "-v 241,raw48,Host_Writes_32MiB "
-+    "-v 242,raw48,Host_Reads_32MiB "
-+    "-v 249,raw48,NAND_Writes_1GiB"
-+  },
-   { "Intel 330/335 Series SSDs", // tested with INTEL SSDSC2CT180A3/300i, SSDSC2CT240A3/300i,
-       // INTEL SSDSC2CT240A4/335t
-     "INTEL SSDSC2CT(060|120|180|240)A[34]", // A4 = 335 Series
-@@ -632,8 +1083,11 @@ const drive_settings builtin_knowndrives
-     "-v 242,raw48,Host_Reads_32MiB "
-     "-v 249,raw48,NAND_Writes_1GiB"
-   },
--  { "Intel DC S3700 Series SSDs", // tested with INTEL SSDSC2BA200G3/5DV10250
--    "INTEL SSDSC(1N|2B)A(100|200|400|800)G3",
-+  { "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
-+    "INTEL SSDSC(1N|2B)[ABPX]((080|100|120|160|200|240|300|400|480|600|800)G[346]T?|(012|016)T[46])",
-+      // A = S3700, B*4 = S3500, B*6 = S3510, P = 730, X = S3610
-     "", "",
-   //"-v 3,raw16(avg16),Spin_Up_Time "
-   //"-v 4,raw48,Start_Stop_Count "
-@@ -644,7 +1098,7 @@ const drive_settings builtin_knowndrives
-     "-v 171,raw48,Program_Fail_Count "
-     "-v 172,raw48,Erase_Fail_Count "
-     "-v 174,raw48,Unsafe_Shutdown_Count "
--    "-v 175,raw48,Power_Loss_Cap_Test "
-+    "-v 175,raw16(raw16),Power_Loss_Cap_Test "
-     "-v 183,raw48,SATA_Downshift_Count "
-   //"-v 184,raw48,End-to-End_Error "
-   //"-v 187,raw48,Reported_Uncorrect "
-@@ -659,9 +1113,11 @@ const drive_settings builtin_knowndrives
-     "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
-   //"-v 232,raw48,Available_Reservd_Space "
-   //"-v 233,raw48,Media_Wearout_Indicator "
--    "-v 234,raw48,Thermal_Throttle "
 +    "-v 234,raw24/raw32:04321,Thermal_Throttle "
-     "-v 241,raw48,Host_Writes_32MiB "
--    "-v 242,raw48,Host_Reads_32MiB"
-+    "-v 242,raw48,Host_Reads_32MiB "
-+    "-v 243,raw48,NAND_Writes_32MiB " // S3510/3610
-+    "-F xerrorlba" // tested with SSDSC2BB600G4/D2010355
-   },
++    "-v 243,raw48,NAND_Writes_32MiB "
++  },
    { "Kingston branded X25-V SSDs", // fixed firmware
      "KINGSTON SSDNow 40GB",
-@@ -688,8 +1144,9 @@ const drive_settings builtin_knowndrives
-   },
-   { "JMicron based SSDs", // JMicron JMF60x
-     "Kingston SSDNow V Series [0-9]*GB|" // tested with Kingston SSDNow V Series 64GB/B090522a
--    "TS(2|4|8|16|32|64|128|192)GSSD25S?-(M|S)", // Transcend IDE and SATA, tested with TS32GSSD25-M/V090331
--    "[BV].*", // other Transcend SSD versions will be catched by subsequent entry
-+    "TS(2|4|8|16|32|64|128|192)GSSD(18|25)[MS]?-[MS]", // Transcend IDE and SATA, tested with
-+      // TS32GSSD25-M/V090331, TS32GSSD18M-M/v090331
-+    "[BVv].*", // other Transcend SSD versions will be catched by subsequent entry
-     "",
-   //"-v 9,raw24(raw8),Power_On_Hours " // raw value always 0?
-   //"-v 12,raw48,Power_Cycle_Count "
-@@ -700,76 +1157,134 @@ const drive_settings builtin_knowndrives
-     "-v 234,raw24/raw24:w01234,Avg/Max_Erase_Count "
-     "-v 235,raw24/raw24:w01z23,Good/Sys_Block_Count"
-   },
--  { "JMicron based SSDs", // JMicron JMF61x
-+  { "JMicron based SSDs", // JMicron JMF61x, JMF66x, JMF670
-     "ADATA S596 Turbo|"  // tested with ADATA S596 Turbo 256GB SATA SSD (JMicron JMF616)
--    "APPLE SSD TS.*|"  // Toshiba?, tested with APPLE SSD TS064C/CJAA0201
-+    "ADATA SP600|"  // tested with ADATA SP600/2.4 (JMicron JMF661)
-+    "ADATA SP310|"  // Premier Pro SP310 mSATA, JMF667, tested with ADATA SP310/3.04
-+    "APPLE SSD TS(064|128|256|512)C|"  // Toshiba?, tested with APPLE SSD TS064C/CJAA0201
-     "KINGSTON SNV425S2(64|128)GB|"  // SSDNow V Series (2. Generation, JMF618),
-                                     // tested with KINGSTON SNV425S264GB/C091126a
-     "KINGSTON SSDNOW 30GB|" // tested with KINGSTON SSDNOW 30GB/AJXA0202
-     "KINGSTON SS100S2(8|16)G|"  // SSDNow S100 Series, tested with KINGSTON SS100S28G/D100309a
-+    "KINGSTON SNVP325S2(64|128|256|512)GB|" // SSDNow V+ Series, tested with KINGSTON SNVP325S2128GB/AGYA0201
-     "KINGSTON SVP?100S2B?(64|96|128|256|512)G|"  // SSDNow V100/V+100 Series,
-       // tested with KINGSTON SVP100S296G/CJR10202, KINGSTON SV100S2256G/D110225a
-     "KINGSTON SV200S3(64|128|256)G|" // SSDNow V200 Series, tested with KINGSTON SV200S3128G/E120506a
-     "TOSHIBA THNS128GG4BBAA|"  // Toshiba / Super Talent UltraDrive DX,
-                                // tested with Toshiba 128GB 2.5" SSD (built in MacBooks)
-     "TOSHIBA THNSNC128GMLJ|" // tested with THNSNC128GMLJ/CJTA0202 (built in Toshiba Protege/Dynabook)
--    "TS(8|16|32|64|128|192|256|512)GSSD25S?-(MD?|S)", // Transcend IDE and SATA (JMF612), tested with
-+    "TS(8|16|32|64|128|192|256|512)GSSD25S?-(MD?|S)|" // Transcend IDE and SATA, JMF612, tested with
-       // TS256GSSD25S-M/101028, TS32GSSD25-M/20101227
-+    "TS(32|64|128|256)G(SSD|MSA)340", // Transcend SSD340 SATA/mSATA, JMF667/670, tested with
-+      // TS256GSSD340/SVN263, TS256GSSD340/SVN423b, TS256GMSA340/SVN263
-     "", "",
-   //"-v 1,raw48,Raw_Read_Error_Rate "
-   //"-v 2,raw48,Throughput_Performance "
--    "-v 3,raw48,Unknown_Attribute "
-+    "-v 3,raw48,Unknown_JMF_Attribute "
-   //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
--    "-v 7,raw48,Unknown_Attribute "
--    "-v 8,raw48,Unknown_Attribute "
-+    "-v 7,raw48,Unknown_JMF_Attribute "
-+    "-v 8,raw48,Unknown_JMF_Attribute "
-   //"-v 9,raw24(raw8),Power_On_Hours "
--    "-v 10,raw48,Unknown_Attribute "
-+    "-v 10,raw48,Unknown_JMF_Attribute "
-   //"-v 12,raw48,Power_Cycle_Count "
--  //"-v 167,raw48,Unknown_Attribute "
-+    "-v 167,raw48,Unknown_JMF_Attribute "
-     "-v 168,raw48,SATA_Phy_Error_Count "
--  //"-v 169,raw48,Unknown_Attribute "
-+    "-v 169,raw48,Unknown_JMF_Attribute "
-     "-v 170,raw16,Bad_Block_Count "
--    "-v 173,raw16,Erase_Count "
-+    "-v 173,raw16,Erase_Count " // JMF661: different?
-     "-v 175,raw48,Bad_Cluster_Table_Count "
-     "-v 192,raw48,Unexpect_Power_Loss_Ct "
-   //"-v 194,tempminmax,Temperature_Celsius "
-   //"-v 197,raw48,Current_Pending_Sector "
--    "-v 240,raw48,Unknown_Attribute"
--  },
--  { "Plextor M3 (Pro) Series SSDs", // Marvell 9174, tested with PLEXTOR PX-128M3/1.01,
--      // PLEXTOR PX-128M3P/1.04, PLEXTOR PX-256M3/1.05
-+    "-v 233,raw48,Unknown_JMF_Attribute " // FW SVN423b
-+    "-v 234,raw48,Unknown_JMF_Attribute " // FW SVN423b
-+    "-v 240,raw48,Unknown_JMF_Attribute "
-+  //"-v 241,raw48,Total_LBAs_Written "    // FW SVN423b
-+  //"-v 242,raw48,Total_LBAs_Read "       // FW SVN423b
-+  },
-+  { "Plextor M3/M5/M6 Series SSDs", // Marvell 88SS9174 (M3, M5S), 88SS9187 (M5P, M5Pro), 88SS9188 (M6M/S),
-+      // tested with PLEXTOR PX-128M3/1.01, PX-128M3P/1.04, PX-256M3/1.05, PX-128M5S/1.02, PX-256M5S/1.03,
-+      // PX-128M5M/1.05, PX-128M5S/1.05, PX-128M5Pro/1.05, PX-512M5Pro/1.06, PX-256M5P/1.01, PX-128M6S/1.03
-       // (1.04/5 Firmware self-test log lifetime unit is bogus, possibly 1/256 hours)
--    "PLEXTOR PX-(64|128|256|512)M3P?",
-+    "PLEXTOR PX-(64|128|256|512|768)M(3P?|5[MPS]|5Pro|6[MS])",
-     "", "",
-   //"-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 170,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
-+    "-v 171,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
-+    "-v 172,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
-+    "-v 173,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
-+    "-v 174,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
-+  //"-v 175,raw48,Program_Fail_Count_Chip " // M6S/1.03
-+  //"-v 176,raw48,Erase_Fail_Count_Chip "   // M6S/1.03
-   //"-v 177,raw48,Wear_Leveling_Count "
-   //"-v 178,raw48,Used_Rsvd_Blk_Cnt_Chip "
-+  //"-v 179,raw48,Used_Rsvd_Blk_Cnt_Tot "   // M6S/1.03
-+  //"-v 180,raw48,Unused_Rsvd_Blk_Cnt_Tot " // M6S/1.03
-   //"-v 181,raw48,Program_Fail_Cnt_Total "
-   //"-v 182,raw48,Erase_Fail_Count_Total "
-+  //"-v 183,raw48,Runtime_Bad_Block "       // M6S/1.03
-+  //"-v 184,raw48,End-to-End_Error "        // M6S/1.03
-   //"-v 187,raw48,Reported_Uncorrect "
-+  //"-v 188,raw48,Command_Timeout "         // M6S/1.03
-   //"-v 192,raw48,Power-Off_Retract_Count "
-+  //"-v 195,raw48,Hardware_ECC_Recovered "  // MS6/1.03
-   //"-v 196,raw16(raw16),Reallocated_Event_Count "
-   //"-v 198,raw48,Offline_Uncorrectable "
-   //"-v 199,raw48,UDMA_CRC_Error_Count "
-   //"-v 232,raw48,Available_Reservd_Space "
--    ""
-+  //"-v 233,raw48,Media_Wearout_Indicator " // MS6/1.03
-+    "-v 241,raw48,Host_Writes_32MiB "
-+    "-v 242,raw48,Host_Reads_32MiB"
-   },
+     "2CV102(J[89A-Z]|[K-Z].)", // >= "2CV102J8"
+@@ -1234,33 +1303,53 @@ const drive_settings builtin_knowndrives
    { "Samsung based SSDs",
      "SAMSUNG SSD PM800 .*GB|"  // SAMSUNG PM800 SSDs, tested with SAMSUNG SSD PM800 TH 64GB/VBM25D1Q
      "SAMSUNG SSD PM810 .*GB|"  // SAMSUNG PM810 (470 series) SSDs, tested with SAMSUNG SSD PM810 2.5" 128GB/AXM06D1Q
+-    "SAMSUNG SSD PM851 (mSATA )?(128|256|512)GB|" // tested with SAMSUNG SSD PM851 mSATA 128GB
 +    "SAMSUNG SSD PM851 (mSATA |M\\.2 )?(2280 )?(128|256|512)GB|" // tested with SAMSUNG SSD PM851 mSATA 128GB,
 +      // SAMSUNG SSD PM851 M.2 2280 256GB/EXT25D0Q
-+    "SAMSUNG SSD SM841N (mSATA )?(128|256|512)GB|" // tested with SAMSUNG SSD SM841N mSATA 256GB
+     "SAMSUNG SSD SM841N (mSATA )?(128|256|512)GB|" // tested with SAMSUNG SSD SM841N mSATA 256GB
      "SAMSUNG 470 Series SSD|"  // tested with SAMSUNG 470 Series SSD 64GB/AXM09B1Q
 +    "Samsung SSD 750 EVO (120|250|500)GB|" // tested with Samsung SSD 750 EVO 250GB/MAT01B6Q
      "SAMSUNG SSD 830 Series|"  // tested with SAMSUNG SSD 830 Series 64GB/CXM03B1Q
-+    "MZ7PC(512|256|128|064)HA(GH|FU|DR)-000.*|" // probably PM830, tested with SAMSUNG MZ7PC128HAFU-000L1/CXM04L1Q
++    "SAMSUNG SSD PM830 .*|" // SAMSUNG SSD PM830 2.5" 7mm 128GB/CXM03D1Q
+     "MZ7PC(512|256|128|064)HA(GH|FU|DR)-000.*|" // probably PM830, tested with SAMSUNG MZ7PC128HAFU-000L1/CXM04L1Q
      "Samsung SSD 840 (PRO )?Series|" // tested with Samsung SSD 840 PRO Series 128GB/DXM04B0Q,
        // Samsung SSD 840 Series/DXT06B0Q
--    "SAMSUNG MZ7WD((120|240)HAFV|480HAGM|960HAGP)-00003", // SM843T Series, tested with
--      // SAMSUNG MZ7WD120HAFV-00003/DXM85W3Q
-+    "Samsung SSD 8[45]0 EVO (mSATA |M\\.2 )?((120|250|500|750)G|1T)B( mSATA)?|" // tested with
-+      // Samsung SSD 840 EVO (120|250|500|750)GB/EXT0AB0Q,
-+      // Samsung SSD 840 EVO (120|250)GB/EXT0BB6Q, 1TB/EXT0BB0Q, 120GB mSATA/EXT41B6Q,
-+      // Samsung SSD 850 EVO 250GB/EMT01B6Q
-+      // Samsung SSD 850 EVO M.2 250GB/EMT21B6Q
-+      // Samsung SSD 850 EVO mSATA 120GB/EMT41B6Q
-+    "Samsung SSD 850 PRO ((128|256|512)G|1T)B|" // tested with Samsung SSD 850 PRO 128GB/EXM01B6Q,
-+      // Samsung SSD 850 PRO 1TB/EXM01B6Q
+-    "Samsung SSD 8[45]0 EVO (mSATA |M\\.2 )?((120|250|500|750)G|1T)B( mSATA)?|" // tested with
++    "Samsung SSD 8[45]0 EVO .*|" // tested with
+       // Samsung SSD 840 EVO (120|250|500|750)GB/EXT0AB0Q,
+       // Samsung SSD 840 EVO (120|250)GB/EXT0BB6Q, 1TB/EXT0BB0Q, 120GB mSATA/EXT41B6Q,
+       // Samsung SSD 850 EVO 250GB/EMT01B6Q
+       // Samsung SSD 850 EVO M.2 250GB/EMT21B6Q
+       // Samsung SSD 850 EVO mSATA 120GB/EMT41B6Q
++      // Samsung SSD 850 EVO 2TB/EMT02B6Q
+     "Samsung SSD 850 PRO ((128|256|512)G|1T)B|" // tested with Samsung SSD 850 PRO 128GB/EXM01B6Q,
+       // Samsung SSD 850 PRO 1TB/EXM01B6Q
 +    "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
 +    "SAMSUNG MZ7TD(128|256)HAFV-.*|" // 840 Series, tested with SAMSUNG MZ7TD256HAFV-000L7/DXT06L6Q
-+    "SAMSUNG MZ7WD((120|240)H[AC]FV|480HAGM|960HAGP)-00003|" // SM843T Series, tested with
-+      // SAMSUNG MZ7WD120HAFV-00003/DXM85W3Q, SAMSUNG MZ7WD120HCFV-00003/DXM9203Q
+     "SAMSUNG MZ7WD((120|240)H[AC]FV|480HAGM|960HAGP)-00003|" // SM843T Series, tested with
+       // SAMSUNG MZ7WD120HAFV-00003/DXM85W3Q, SAMSUNG MZ7WD120HCFV-00003/DXM9203Q
 +    "SAMSUNG MZ[7N]TE(128|256|512)HMHP-.*|" // PM851, tested with SAMSUNG MZ7TE256HMHP-000L7/EXT09L6Q,
 +      // SAMSUNG MZNTE256HMHP-000H1/EXT22H0Q
-+    "SAMSUNG MZ7GE(240HMGR|(480|960)HMHP)-00003|" // SM853T Series, tested with
-+      // SAMSUNG MZ7GE240HMGR-00003/EXT0303Q
-+    "SAMSUNG MZ7LM(120|240|480|960|1T9|3T8)HC(JM|HP|GR|FD)-.*|" // PM863 Series, tested with
-+      // SAMSUNG MZ7LM960HCHP-0E003/GXT3003Q
-+    "SAMSUNG MZ7KM(120|240|480|960|1T9)HA(JM|HP|GR|FD|JM)-.*|" // SM863, tested with MZ7KM480HAHP-0E005/GXM1003Q
+     "SAMSUNG MZ7GE(240HMGR|(480|960)HMHP)-00003|" // SM853T Series, tested with
+       // SAMSUNG MZ7GE240HMGR-00003/EXT0303Q
+     "SAMSUNG MZ7LM(120|240|480|960|1T9|3T8)HC(JM|HP|GR|FD)-.*|" // PM863 Series, tested with
+       // SAMSUNG MZ7LM960HCHP-0E003/GXT3003Q
+     "SAMSUNG MZ7KM(120|240|480|960|1T9)HA(JM|HP|GR|FD|JM)-.*|" // SM863, tested with MZ7KM480HAHP-0E005/GXM1003Q
+-    "SAMSUNG MZ[7N]LN(128|256|512)HC(HP|GR|JH)-.*", // PM871 Series, tested with SAMSUNG MZ7LN128HCHP
 +    "SAMSUNG MZN(LF|TY)(128|256)H[CD]HP-.*|" // CM871/871a, tested with SAMSUNG MZNLF128HCHP-000H1/FXT21H1Q,
 +      // SAMSUNG MZNTY256HDHP-000/MAT21K0Q
 +    "SAMSUNG MZ[7N]LN(128|256|512)H[CM](GR|HP|JH|JP)-.*|" // PM871/871a, tested with SAMSUNG MZ7LN128HCHP,
++    "SAMSUNG SSD PM871 .*|" // SAMSUNG SSD PM871 2.5 7mm 256GB/EMT02D0Q
 +      // SAMSUNG MZ7LN256HMJP-00000/MAV0100Q, SAMSUNG MZ7LN512HMJP-00000/MAV0100Q
 +    "SAMSUNG MZHPV(128|256|512)HDGL-.*", // SM951, tested with SAMSUNG MZHPV512HDGL-00000/BXW2500Q
      "", "",
@@ -972,7 +332,7 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
    //"-v 175,raw48,Program_Fail_Count_Chip "
    //"-v 176,raw48,Erase_Fail_Count_Chip "
    //"-v 177,raw48,Wear_Leveling_Count "
-@@ -782,14 +1297,145 @@ const drive_settings builtin_knowndrives
+@@ -1273,13 +1362,20 @@ const drive_settings builtin_knowndrives
    //"-v 184,raw48,End-to-End_Error " // SM843T Series
      "-v 187,raw48,Uncorrectable_Error_Cnt "
    //"-v 190,tempminmax,Airflow_Temperature_Cel "  // seems to be some sort of temperature value for 470 Series?
@@ -984,356 +344,279 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
      "-v 199,raw48,CRC_Error_Count "
      "-v 201,raw48,Supercap_Status "
      "-v 202,raw48,Exception_Mode_Status "
--    "-v 235,raw48,POR_Recovery_Count " // 830/840 Series
--  //"-v 241,raw48,Total_LBAs_Written"
+-    "-v 235,raw48,POR_Recovery_Count " // 830/840/850 Series
 +  //"-v 233,raw48,Media_Wearout_Indicator // PM851, 840
 +    "-v 234,raw48,Unknown_Samsung_Attr " // PM851, 840
 +    "-v 235,raw48,POR_Recovery_Count " // PM851, 830/840/850
 +    "-v 236,raw48,Unknown_Samsung_Attr " // PM851, 840
 +    "-v 237,raw48,Unknown_Samsung_Attr " // PM851, 840
 +    "-v 238,raw48,Unknown_Samsung_Attr " // PM851, 840
-+  //"-v 241,raw48,Total_LBAs_Written "
-+  //"-v 242,raw48,Total_LBAs_Read " // PM851, SM841N
-+    "-v 243,raw48,SATA_Downshift_Ct " // PM863
-+    "-v 244,raw48,Thermal_Throttle_St " // PM863
-+    "-v 245,raw48,Timed_Workld_Media_Wear " // PM863
-+    "-v 246,raw48,Timed_Workld_RdWr_Ratio " // PM863
-+    "-v 247,raw48,Timed_Workld_Timer " // PM863
+   //"-v 241,raw48,Total_LBAs_Written "
+   //"-v 242,raw48,Total_LBAs_Read " // PM851, SM841N
+     "-v 243,raw48,SATA_Downshift_Ct " // PM863
+@@ -1287,6 +1383,7 @@ const drive_settings builtin_knowndrives
+     "-v 245,raw48,Timed_Workld_Media_Wear " // PM863
+     "-v 246,raw48,Timed_Workld_RdWr_Ratio " // PM863
+     "-v 247,raw48,Timed_Workld_Timer " // PM863
 +    "-v 249,raw48,Unknown_Samsung_Attr " // CM871a
-+    "-v 250,raw48,SATA_Iface_Downshift " // from the spec
-+    "-v 251,raw48,NAND_Writes" // PM863
-+  },
-+  { "Marvell based SanDisk SSDs",
-+    "SanDisk SD5SG2[0-9]*G1052E|" // X100 (88SS9174), tested with SanDisk SD5SG2256G1052E/10.04.01
-+    "SanDisk SD6S[BF][12]M[0-9]*G(1022I?)?|" // X110/X210 (88SS9175/187?), tested with SanDisk SD6SB1M064G1022I/X231600,
-+      // SanDisk SD6SB1M256G1022I/X231600, SanDisk SD6SF1M128G1022/X231200, SanDisk SD6SB2M512G1022I/X210400
+     "-v 250,raw48,SATA_Iface_Downshift " // from the spec
+     "-v 251,raw48,NAND_Writes" // PM863
+   },
+@@ -1294,9 +1391,12 @@ const drive_settings builtin_knowndrives
+     "SanDisk SD5SG2[0-9]*G1052E|" // X100 (88SS9174), tested with SanDisk SD5SG2256G1052E/10.04.01
+     "SanDisk SD6S[BF][12]M[0-9]*G(1022I?)?|" // X110/X210 (88SS9175/187?), tested with SanDisk SD6SB1M064G1022I/X231600,
+       // SanDisk SD6SB1M256G1022I/X231600, SanDisk SD6SF1M128G1022/X231200, SanDisk SD6SB2M512G1022I/X210400
+-    "SanDisk SD7SB6S(128|256|512)G1122|" // X300 (88SS9189?), tested with SanDisk SD7SB6S128G1122/X3310000
 +    "SanDisk SD7S[BN]6S-?(128|256|512)G(1122|-1006)|" // X300 (88SS9189?), tested with
 +      // SanDisk SD7SB6S128G1122/X3310000, SanDisk SD7SN6S-512G-1006/X3511006
 +    "SanDisk SD8SB8U((128|256|512)G|1T00)1122|" // X400 (88SS1074), tested with SanDisk SD8SB8U128G1122/X4120000
-+    "SanDisk SDSSDHP[0-9]*G|" // Ultra Plus (88SS9175), tested with SanDisk SDSSDHP128G/X23[01]6RL
+     "SanDisk SDSSDHP[0-9]*G|" // Ultra Plus (88SS9175), tested with SanDisk SDSSDHP128G/X23[01]6RL
+-    "SanDisk SDSSDHII[0-9]*G|" // Ultra II (88SS9190/88SS9189), tested with SanDisk SDSSDHII120G/X31200RL
 +    "SanDisk (SDSSDHII|Ultra II )[0-9]*GB?|" // Ultra II (88SS9190/88SS9189), tested with
 +      // SanDisk SDSSDHII120G/X31200RL, SanDisk Ultra II 960GB/X41100RL
-+    "SanDisk SDSSDXPS?[0-9]*G", // Extreme II/Pro (88SS9187), tested with SanDisk SDSSDXP480G/R1311,
-+      // SanDisk SDSSDXPS480G/X21200RL
-+    "", "",
-+  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 165,raw48,Total_Write/Erase_Count "
-+    "-v 166,raw48,Min_W/E_Cycle "
-+    "-v 167,raw48,Min_Bad_Block/Die "
-+    "-v 168,raw48,Maximum_Erase_Cycle "
-+    "-v 169,raw48,Total_Bad_Block "
-+    "-v 171,raw48,Program_Fail_Count "
-+    "-v 172,raw48,Erase_Fail_Count "
-+    "-v 173,raw48,Avg_Write/Erase_Count "
-+    "-v 174,raw48,Unexpect_Power_Loss_Ct "
-+  //"-v 184,raw48,End-to-End_Error "
-+  //"-v 187,raw48,Reported_Uncorrect "
-+  //"-v 188,raw48,Command_Timeout "
-+  //"-v 194,tempminmax,Temperature_Celsius "
-+    "-v 199,raw48,SATA_CRC_Error "
-+    "-v 212,raw48,SATA_PHY_Error "
-+    "-v 230,raw48,Perc_Write/Erase_Count "
-+    "-v 232,raw48,Perc_Avail_Resrvd_Space "
-+    "-v 233,raw48,Total_NAND_Writes_GiB "
-+    "-v 234,raw48,Perc_Write/Erase_Ct_BC "
-+    "-v 241,raw48,Total_Writes_GiB "
-+    "-v 242,raw48,Total_Reads_GiB "
-+  //"-v 243,raw48,Unknown_Attribute "
-+    "-v 244,raw48,Thermal_Throttle "
-+  },
-+  { "SanDisk based SSDs", // see also #463 for the vendor attribute description
-+    "SanDisk iSSD P4 [0-9]*GB|" // tested with SanDisk iSSD P4 16GB/SSD 9.14
-+    "SanDisk pSSD|" // tested with SandDisk pSSD/3 (62.7 GB, SanDisk Extreme USB3.0 SDCZ80-064G-J57, 0x0781:0x5580)
-+    "SanDisk SDSSDP[0-9]*G|" // tested with SanDisk SDSSDP064G/1.0.0, SDSSDP128G/2.0.0
-+    "SanDisk SDSSDRC032G|" // tested with SanDisk SanDisk SDSSDRC032G/3.1.0
-+    "SanDisk SSD i100 [0-9]*GB|" // tested with SanDisk SSD i100 8GB/11.56.04, 24GB/11.56.04
-+    "SanDisk SSD U100 ([0-9]*GB|SMG2)|" // tested with SanDisk SSD U100 8GB/10.56.00, 256GB/10.01.02, SMG2/10.56.04
-+    "SanDisk SSD U110 (8|16|24|32|64|128)GB|" // tested with SanDisk SSD U110 32GB/U221000
-+    "SanDisk SD7[SU]B[23]Q(064|128|256|512)G.*", // tested with SD7SB3Q064G1122/SD7UB3Q256G1122/SD7SB3Q128G/SD7UB2Q512G1122
-+    "", "",
+     "SanDisk SDSSDXPS?[0-9]*G", // Extreme II/Pro (88SS9187), tested with SanDisk SDSSDXP480G/R1311,
+       // SanDisk SDSSDXPS480G/X21200RL
+     "", "",
+@@ -1354,13 +1454,77 @@ const drive_settings builtin_knowndrives
+   //"-v 242,raw48,Total_LBAs_Read "
+     "-v 244,raw48,Thermal_Throttle "
+   },
++  //  SDLF1DAR-480G-1HAW/ZR07RE41
++  // SDLF1DAR-480G-1JA1/RP41ZH06
++  { "Sandisk SATA Cloudspeed Max and GEN2 ESS SSDs",
++   "SD[A-Z0-9]{2}[1-3][A-Z]{3}-?[0-9]{3}[GT]-?1[A-Z0-9]{3}",
++   "","",
++   "-v 13,raw48,Lifetime_UECC_Ct "
++   "-v 32,raw48,Lifetime_Write_AmpFctr "
++   "-v 33,raw48,Write_AmpFctr "
++   "-v 170,raw48,Reserve_Erase_BlkCt "
++   "-v 171,raw48,Program_Fail_Ct "
++   "-v 172,raw48,Erase_Fail_Ct "
++   "-v 173,raw48,Percent_Life_Used "
++   "-v 174,raw48,Unexpect_Power_Loss "
++   "-v 175,raw48,Lifetime_Die_Failure_Ct "
++   "-v 177,raw48,Lifetime_Remaining% "
++   "-v 178,raw48,SSD_LifeLeft(0.01%) "
++   "-v 180,raw48,Undetected_Data_Err_Ct "
++   "-v 183,raw48,LT_Link_Rate_DwnGrd_Ct "
++   "-v 191,raw48,Clean_Shutdown_Ct "
++   "-v 192,raw48,Unclean_Shutdown_Ct "
++   "-v 196,raw48,Lifetime_Retried_Blk_Ct "
++   "-v 204,raw48,Average_Block-Erase_Ct "
++   "-v 205,raw48,Read_Retry_Enable_Ct "
++   "-v 206,raw48,Successful_RaidRecov_Ct "
++   "-v 207,raw48,Trimmed_Sector_Ct "
++   "-v 211,raw48,Read_Disturb_ReallocEvt "
++   "-v 233,raw48,Lifetime_Nand_Writes "
++   "-v 235,raw48,Capacitor_Health "
++   "-v 244,raw48,Therm_Throt_Activation "
++   "-v 245,raw48,Drive_Life_Remaining% "
++   "-v 253,raw48,SPI_Test_Remaining "
++ },
++ { "Sandisk SATA CS1K GEN1 ESS SSDs",
++   "SD[A-Z0-9]{2}[NO][A-Z0-9]{3}-?[0-9]{3}[GT]-?1[A-Z0-9]{3}",
++   "","",
++   "-v 1,raw48,UECC_Ct "
++   "-v 2,raw48,Internal_File_Check "
++   "-v 5,raw16(raw16),Retried_Blk_Ct "
++   "-v 32,raw48,Write_Ampflication "
++   "-v 170,raw48,Reserve_Blk_Remaining "
++   "-v 171,raw48,Program_Fail_Ct "
++   "-v 172,raw48,Erase_Fail_Ct "
++   "-v 173,raw48,Drive_Life_Used% "
++   "-v 174,raw48,Unexpect_PwrLoss_Ct "
++   "-v 175,raw48,PwrLoss_ProtectionFail "
++   "-v 177,raw48,DriveLife_Remaining% "
++   "-v 178,raw48,SSD_Life_Left "
++   "-v 180,raw48,End_to_End_Err_Detect "
++   "-v 190,raw48,Drive_Temp_Warning "
++   "-v 195,raw48,Uncorrectable_Err_Ct "
++   "-v 202,raw48,Exception_Mode_Status "
++   "-v 233,raw48,Number_Of_Write_Ct "
++   "-v 245,raw48,DriveLife_Used% "
++ },
+   { "SiliconMotion based SSDs", // SM2246EN (Transcend TS6500)
++    "R3SL(120|240|480|960)G|" // AMD Radeon Solid State Drives,
+     "CT(120|250|500|1000)BX100SSD1|" // Crucial BX100, tested with CT250BX100SSD1/MU02,
+       // CT500BX100SSD1/MU02, CT1000BX100SSD1/MU02
+     "CT(240|480|960)BX200SSD1|" // Crucial BX200 Solid State Drive, tested with CT480BX200SSD1/MU02.6
+     "TS((16|32|64|128|256|512)G|1T)(SSD|MSA)(370S?|420I?)|" // Transcend SSD370/420 SATA/mSATA, TS6500,
+       // tested with TS32GMSA370/20140402, TS16GMSA370/20140516, TS64GSSD370/20140516,
+       // TS256GSSD370/N0815B, TS256GSSD370S/N1114H, TS512GSSD370S/N1114H, TS32GSSD420I/N1114H
++      // TS256GMTS400
++    "TS(16|32|64|128|512|256)GMTS400S?|"
++    "TS(120|240)GMTS420|" // Transcend MTS420, TS(120|240)GMTS420
++    "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
++    "MKNSSDRE(1TB|2TB|512GB|500GB|256GB|250GB)|" // MKNSSDRE256GB/N1007C
++    "MKNSSDTR(240|500|250|120|480|240)GB(-LT)?|" // MKNSSDTR500GB/O1126A
+     "ADATA SP550", // ADATA SP550/O0803B5a
+     "", "",
+   //"-v 1,raw48,Raw_Read_Error_Rate "
+@@ -1402,6 +1566,39 @@ const drive_settings builtin_knowndrives
+     "-v 246,raw48,SLC_Writes_32MiB "
+     "-v 247,raw48,Raid_Recoverty_Ct"
+   },
++  { "SMART Modular Technologies mSATA XL+ SLC SSDs", // tested with SH9MST6D16GJSI01
++    "SH9MST6D[0-9]*GJSI?[0-9]*", // based on http://www.smartm.com/salesLiterature/embedded/mSATA_overview.pdf
++    "", "", // attributes info from http://www.mouser.com/ds/2/723/smartmodular_09302015_SH9MST6DxxxGJSxxx_rA[1]-770719.pdf
++    "-v 1,raw48,Uncorrectable_ECC_Cnt "
 +  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-+  //"-v 9,raw24(raw8),Power_On_Hours "
++    "-v 9,raw48,Power_On_Hours " // override default raw24(raw8) format
 +  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 165,raw48,Total_Write/Erase_Count "
-+    "-v 171,raw48,Program_Fail_Count "
++    "-v 14,raw48,Device_Capacity_LBAs "
++    "-v 15,raw48,User_Capacity_LBAs " // spec DecID is wrong, HexID is right
++    "-v 16,raw48,Init_Spare_Blocks_Avail " // spec DecID is wrong, HexID is right
++    "-v 17,raw48,Spare_Blocks_Remaining " // spec DecID is wrong, HexID is right
++    "-v 100,raw48,Total_Erase_Count "
++    "-v 168,raw48,SATA_PHY_Err_Ct "
++    "-v 170,raw48,Initial_Bad_Block_Count "
 +    "-v 172,raw48,Erase_Fail_Count "
-+    "-v 173,raw48,Avg_Write/Erase_Count "
++    "-v 173,raw48,Max_Erase_Count "
 +    "-v 174,raw48,Unexpect_Power_Loss_Ct "
-+  //"-v 187,raw48,Reported_Uncorrect "
-+    "-v 212,raw48,SATA_PHY_Error "
-+    "-v 230,raw48,Perc_Write/Erase_Count "
-+    "-v 232,raw48,Perc_Avail_Resrvd_Space "
-+    "-v 234,raw48,Perc_Write/Erase_Ct_BC "
-+  //"-v 241,raw48,Total_LBAs_Written "
-+  //"-v 242,raw48,Total_LBAs_Read "
-+    "-v 244,raw48,Thermal_Throttle "
-+  },
-+  { "SiliconMotion based SSDs", // SM2246EN (Transcend TS6500)
-+    "CT(120|250|500|1000)BX100SSD1|" // Crucial BX100, tested with CT250BX100SSD1/MU02,
-+      // CT500BX100SSD1/MU02, CT1000BX100SSD1/MU02
-+    "CT(240|480|960)BX200SSD1|" // Crucial BX200 Solid State Drive, tested with CT480BX200SSD1/MU02.6
-+    "TS((16|32|64|128|256|512)G|1T)(SSD|MSA)(370S?|420I?)|" // Transcend SSD370/420 SATA/mSATA, TS6500,
-+      // tested with TS32GMSA370/20140402, TS16GMSA370/20140516, TS64GSSD370/20140516,
-+      // TS256GSSD370/N0815B, TS256GSSD370S/N1114H, TS512GSSD370S/N1114H, TS32GSSD420I/N1114H
-+    "ADATA SP550", // ADATA SP550/O0803B5a
-+    "", "",
-+  //"-v 1,raw48,Raw_Read_Error_Rate "
-+  //"-v 2,raw48,Throughput_Performance "
-+  //"-v 9,raw24(raw8),Power_On_Hours "
-+  //"-v 12,raw48,Power_Cycle_Count "
-+    "-v 148,raw48,Total_SLC_Erase_Ct "
-+    "-v 149,raw48,Max_SLC_Erase_Ct "
-+    "-v 150,raw48,Min_SLC_Erase_Ct "
-+    "-v 151,raw48,Average_SLC_Erase_Ct "
-+    "-v 160,raw48,Uncorrectable_Error_Cnt "
-+    "-v 161,raw48,Valid_Spare_Block_Cnt "
-+    "-v 163,raw48,Initial_Bad_Block_Count "
-+    "-v 164,raw48,Total_Erase_Count "
-+    "-v 165,raw48,Max_Erase_Count "
-+    "-v 166,raw48,Min_Erase_Count "
-+    "-v 167,raw48,Average_Erase_Count "
-+    "-v 168,raw48,Max_Erase_Count_of_Spec "
-+    "-v 169,raw48,Remaining_Lifetime_Perc "
-+  //"-v 175,raw48,Program_Fail_Count_Chip "
-+  //"-v 176,raw48,Erase_Fail_Count_Chip "
-+  //"-v 177,raw48,Wear_Leveling_Count "
-+    "-v 178,raw48,Runtime_Invalid_Blk_Cnt "
++    "-v 175,raw48,Average_Erase_Count "
 +  //"-v 181,raw48,Program_Fail_Cnt_Total "
-+  //"-v 182,raw48,Erase_Fail_Count_Total "
 +  //"-v 187,raw48,Reported_Uncorrect "
-+  //"-v 192,raw48,Power-Off_Retract_Count "
 +  //"-v 194,tempminmax,Temperature_Celsius "
-+  //"-v 195,raw48,Hardware_ECC_Recovered "
-+  //"-v 196,raw16(raw16),Reallocated_Event_Count "
-+  //"-v 197,raw48,Current_Pending_Sector "
-+  //"-v 198,raw48,Offline_Uncorrectable "
-+  //"-v 199,raw48,UDMA_CRC_Error_Count "
-+    "-v 225,raw48,Host_Writes_32MiB " // FW 20140402
-+  //"-v 232,raw48,Available_Reservd_Space "
-+    "-v 241,raw48,Host_Writes_32MiB "
-+    "-v 242,raw48,Host_Reads_32MiB "
-+    "-v 245,raw48,TLC_Writes_32MiB " // FW N0815B, N1114H
-+    "-v 246,raw48,SLC_Writes_32MiB "
-+    "-v 247,raw48,Raid_Recoverty_Ct"
-   },
++    "-v 197,raw48,Not_In_Use "
++    "-v 198,raw48,Not_In_Use "
++    "-v 199,raw48,SATA_CRC_Error_Count "
++    "-v 202,raw48,Perc_Rated_Life_Used "
++    "-v 231,raw48,Perc_Rated_Life_Remain "
++    "-v 232,raw48,Read_Fail_Count "
++    "-v 234,raw48,Flash_Reads_LBAs "
++    "-v 235,raw48,Flash_Writes_LBAs "
++    "-v 241,raw48,Host_Writes_LBAs "
++    "-v 242,raw48,Host_Reads_LBAs"
++    //  247-248 Missing in specification from April 2015
++  },
    { "Smart Storage Systems Xcel-10 SSDs",  // based on http://www.smartm.com/files/salesLiterature/storage/xcel10.pdf
      "SMART A25FD-(32|64|128)GI32N", // tested with SMART A25FD-128GI32N/B9F23D4K
-@@ -1139,6 +1785,10 @@ const drive_settings builtin_knowndrives
-     "SAMSUNG HE(502H|754J|103S)J",
+     "",
+@@ -1874,7 +2071,8 @@ const drive_settings builtin_knowndrives
+     "SAMSUNG HN-M(320|500|750|101)XBB",
      "", "", ""
    },
-+  { "Seagate Samsung Spinpoint F4", // tested with ST250DM001 HD256GJ/1AR10001
-+    "ST(250|320)DM001 HD(256G|322G|323H)J",
-+    "", "", ""
-+  },
-   { "SAMSUNG SpinPoint F4 EG (AF)",// tested with HD204UI/1AQ10001(buggy|fixed)
-     "SAMSUNG HD(155|204)UI",
-     "", // 1AQ10001
-@@ -1148,7 +1798,7 @@ const drive_settings builtin_knowndrives
-     "Buggy and fixed firmware report same version number!\n"
-     "See the following web pages for details:\n"
-     "http://knowledge.seagate.com/articles/en_US/FAQ/223571en\n"
--    "http://sourceforge.net/apps/trac/smartmontools/wiki/SamsungF4EGBadBlocks",
-+    "http://www.smartmontools.org/wiki/SamsungF4EGBadBlocks",
-     ""
+-  { "Seagate Samsung SpinPoint M8U (USB)", // tested with ST1000LM025 HN-M101ABB/2AR10001
++  { "Seagate Samsung SpinPoint M8U (USB)", // tested with ST1000LM025 HN-M101ABB/2AR10001,
++      // ST1000LM025 HN-M101ABB/2BA30003 (0x04e8:0x61b6)
+     "ST(250|320|500|640|750|1000)LM0[012][3459] HN-M[0-9]*ABB",
+     "", "", ""
    },
-   { "SAMSUNG SpinPoint S250", // tested with HD200HJ/KF100-06
-@@ -1159,8 +1809,8 @@ const drive_settings builtin_knowndrives
-     "SAMSUNG HD(250KD|(30[01]|320|40[01])L[DJ])",
+@@ -1883,6 +2081,17 @@ const drive_settings builtin_knowndrives
+     "ST(1500|2000)LM0(03|04|06|07|10) HN-M[0-9]*RAD",
      "", "", ""
    },
--  { "SAMSUNG SpinPoint T166", // tested with HD501LJ/CR100-1[01]
--    "SAMSUNG HD(080G|160H|32[01]K|403L|50[01]L)J",
-+  { "SAMSUNG SpinPoint T166", // tested with HD252KJ/CM100-11, HD501LJ/CR100-1[01]
-+    "SAMSUNG HD(080G|160H|252K|32[01]K|403L|50[01]L)J",
-     "", "",
-     "-v 197,increasing" // at least HD501LJ/CR100-11
++  // Flash accelerated, no SMART info in the specs
++  // ST1000LX015-1U7172/SDM1
++  { "Seagate FireCuda 2.5", // 
++    "ST(500|1000|2000)LX0(01|15|25)-.*",
++    "", "", "-v 240,msec24hour32 "
++  },
++  // ST1000DX002/CC41
++  { "Seagate FireCuda 3.5", // ST2000DX002-2DV164/CC41
++    "ST[12]000DX002-.*",
++    "", "", "-v 240,msec24hour32 "
++  },
+   { "Seagate Samsung SpinPoint M9TU (USB)", // tested with ST1500LM008 HN-M151AAD/2BC10001
+        // (0x04e8:0x61b5), ST2000LM005 HN-M201AAD2BC10001 (0x04e8:0x61b4)
+     "ST(1500|2000)LM00[58] HN-M[0-9]*AAD",
+@@ -1910,6 +2119,36 @@ const drive_settings builtin_knowndrives
+     "SAMSUNG HS(122H|2[05]YJ)Z",
+     "", "", ""
    },
-@@ -1176,8 +1826,8 @@ const drive_settings builtin_knowndrives
-     "May need -F samsung3 enabled; see manual for details.",
-     ""
++  { "SK hynix SATA SSDs",
++    "SK ?hynix SC(210|300|308|313).*|" // tested with
++      // SK hynix SC210 mSATA 256GB/20002L00,
++      // SKhynix SC300 HFS256G32MND-3210A/20131P00,
++      // SK hynix SC308 SATA 128GB/30001P10,
++      // SK hynix SC313 HFS256G32TNF-N3A0A/70000P10
++    "HFS(128|256|512)G32MND-(2200|3210)A|" // HFS128G32MND-2200A/20200L00,
++      // HFS512G32MND-3210A/20100P00
++    "HFS(120|250|500)G32TND-N1A2A", // HFS500G32TND-N1A2A/30000P10
++    "", "",
++    "-v 5,raw48,Retired_Block_Count "
++    "-v 100,raw48,Total_Erase_Count "
++    "-v 168,raw48,Min_Erase_Count "
++    "-v 169,raw48,Max_Erase_Count "
++    "-v 171,raw48,Program_Fail_Count "
++    "-v 172,raw48,Erase_Fail_Count "
++    "-v 173,raw48,Wear_Leveling_Count "
++    "-v 174,raw48,Unexpect_Power_Loss_Ct "
++    "-v 176,raw48,Unused_Rsvd_Blk_Cnt_Tot "
++    "-v 180,raw48,Erase_Fail_Count "
++    "-v 181,raw48,Non4k_Aligned_Access "
++    "-v 183,raw48,SATA_Downshift_Count "
++    "-v 201,raw48,Percent_Lifetime_Remain "
++    "-v 212,raw48,Phy_Error_Count "
++    "-v 231,raw48,SSD_Life_Left "
++    "-v 241,raw48,Total_Writes_GiB "
++    "-v 242,raw48,Total_Reads_GiB "
++    "-v 243,raw48,Total_Media_Writes "
++    "-v 250,raw48,Read_Retry_Count "
++  },
+   { "Maxtor Fireball 541DX",
+     "Maxtor 2B0(0[468]|1[05]|20)H1",
+     "",
+@@ -2369,7 +2608,8 @@ const drive_settings builtin_knowndrives
+     "", "", ""
    },
--  { "SAMSUNG SpinPoint P80 SD", // tested with HD160JJ/ZM100-33
--    "SAMSUNG HD(080H|120I|160J)J",
-+  { "SAMSUNG SpinPoint P80 SD", // tested with HD160JJ/ZM100-33, SAMSUNG HD080HJ/P/ZH100-34
-+    "SAMSUNG HD(080H|120I|160J)J(/P)?",
+   { "HGST Travelstar 7K1000", // tested with HGST HTS721010A9E630/JB0OA3B0
+-    "HGST HTS721010A9E630",
++    // HGST HTS721075A9E630/JB2OA3J0
++    "HGST HT[ES]7210(10|75)A9E63[01]",
      "", "", ""
    },
-   { "SAMSUNG SpinPoint P80", // BH100-35 firmware, tested with SP0842N/BH100-35
-@@ -1236,6 +1886,10 @@ const drive_settings builtin_knowndrives
-     "SAMSUNG HM(161G|(251|321)H|501I|641J)I",
+   { "IBM Deskstar 14GXP and 16GP",
+@@ -2396,6 +2636,10 @@ const drive_settings builtin_knowndrives
+     "Hitachi HCS5C32(25|32)SLA380",
      "", "", ""
    },
-+  { "Seagate Samsung SpinPoint M7E", // tested with ST640LM000 HM641JI/2AJ10001
-+    "ST(160|250|320|500|640)LM00[01] HM[0-9]*[GHIJ]I",
++  { "Hitachi CinemaStar 5K1000", // Hitachi HCS5C1010CLA382/JC4OA3EA
++    "Hitachi HCS5C10(10|75|50|32|25|16)CLA382",
 +    "", "", ""
 +  },
-   { "SAMSUNG SpinPoint M7U (USB)", // tested with HM252HX/2AC101C4
-     "SAMSUNG HM(162H|252H|322I|502J)X",
-     "", "", ""
-@@ -1244,19 +1898,32 @@ const drive_settings builtin_knowndrives
-     "SAMSUNG HN-M(250|320|500|640|750|101)MBB",
+   { "Hitachi Deskstar 5K3000", // tested with HDS5C3030ALA630/MEAOA5C0,
+        // Hitachi HDS5C3020BLE630/MZ4OAAB0 (OEM, Toshiba Canvio Desktop)
+     "(Hitachi )?HDS5C30(15|20|30)(ALA|BLE)63[02].*",
+@@ -2466,12 +2710,14 @@ const drive_settings builtin_knowndrives
+     "Hitachi HDS722020ALA330",
      "", "", ""
    },
--  { "Seagate Momentus SpinPoint M8 (AF)", // tested with
--      // ST750LM022 HN-M750MBB/2AR10001, ST320LM001 HN-M320MBB/2AR10002
--    "ST(250|320|500|640|750|1000)LM0[012][124] HN-M[0-9]*MBB",
-+  { "Seagate Samsung SpinPoint M8 (AF)", // tested with
-+      // ST750LM022 HN-M750MBB/2AR10001, ST320LM001 HN-M320MBB/2AR10002,
-+      // APPLE HDD ST500LM012/2BA30003
-+    "ST(250|320|500|640|750|1000)LM0[012][124] HN-M[0-9]*MBB|"
-+    "APPLE HDD ST500LM012",
+-  { "Hitachi Deskstar 7K3000", // tested with HDS723030ALA640/MKAOA3B0
+-    "Hitachi HDS7230((15|20)BLA642|30ALA640)",
++  { "Hitachi Deskstar 7K3000", // tested with Hitachi HDS723030ALA640/MKAOA3B0,
++      // Hitachi HDS723030BLE640/MX6OAAB0
++    "Hitachi HDS7230((15|20)BLA642|30ALA640|30BLE640)",
      "", "", ""
    },
-   { "SAMSUNG SpinPoint M8U (USB)", // tested with HN-M500XBB/2AR10001
-     "SAMSUNG HN-M(320|500|750|101)XBB",
+-  { "Hitachi/HGST Deskstar 7K4000", // tested with Hitachi HDS724040ALE640/MJAOA250
+-    "Hitachi HDS724040ALE640",
++  { "Hitachi/HGST Deskstar 7K4000", // tested with Hitachi HDS724040ALE640/MJAOA250,
++      // HGST HDS724040ALE640/MJAOA580
++    "(Hitachi|HGST) HDS724040ALE640",
      "", "", ""
    },
--  { "Seagate Samsung SpinPoint M8U (USB)", // tested with ST1000LM025 HN-M101ABB/2AR10001
-+  { "Seagate Samsung SpinPoint M8U (USB)", // tested with ST1000LM025 HN-M101ABB/2AR10001,
-+      // ST1000LM025 HN-M101ABB/2BA30003 (0x04e8:0x61b6)
-     "ST(250|320|500|640|750|1000)LM0[012][3459] HN-M[0-9]*ABB",
+   { "HGST Deskstar NAS", // tested with HGST HDN724040ALE640/MJAOA5E0,
+@@ -2499,13 +2745,24 @@ const drive_settings builtin_knowndrives
+     "(Hitachi|HGST) HUS7240(20|30|40)AL[AE]64[01]",
      "", "", ""
    },
-+  { "Seagate Samsung SpinPoint M9T", // tested with ST2000LM003 HN-M201RAD/2BC10003
-+      // (Seagate Expansion Portable)
-+    "ST(1500|2000)LM0(03|04|06|07|10) HN-M[0-9]*RAD",
-+    "", "", ""
-+  },
-+  { "Seagate Samsung SpinPoint M9TU (USB)", // tested with ST1500LM008 HN-M151AAD/2BC10001
-+       // (0x04e8:0x61b5), ST2000LM005 HN-M201AAD2BC10001 (0x04e8:0x61b4)
-+    "ST(1500|2000)LM00[58] HN-M[0-9]*AAD",
++  { "HGST Ultrastar 7K6000", // tested with HGST HUS726060ALE614/APGNW517
++    "HGST HUS7260[2456]0AL[AEN]61[014]",
 +    "", "", ""
 +  },
-   { "SAMSUNG SpinPoint MP5", // tested with HM250HJ/2AK10001
-     "SAMSUNG HM(250H|320H|500J|640J)J",
-     "", "", ""
-@@ -1661,12 +2328,18 @@ const drive_settings builtin_knowndrives
-     "(Hitachi |HITACHI )?HT(S|E)5432(80|12|16|25|32)L9(A3(00)?|SA0[012])",
-     "", "", ""
-   },
--  { "Hitachi Travelstar 5K500.B",
--    "(Hitachi )?HT[ES]5450(12|16|25|32|40|50)B9A30[01]",
-+  { "Hitachi/HGST Travelstar Z5K320", // tested with Hitachi HTS543232A7A384/ES2OA70K
-+    "(Hitachi|HGST) HT[ES]5432(16|25|32)A7A38[145]",
-+    "", "", ""
-+  },
-+  { "Hitachi Travelstar 5K500.B", // tested with Hitachi HTS545050B9SA00/PB4OC60X
-+    "(Hitachi )?HT[ES]5450(12|16|25|32|40|50)B9(A30[01]|SA00)",
-     "", "", ""
-   },
--  { "Hitachi/HGST Travelstar Z5K500", // tested with HGST HTS545050A7E380/GG2OAC90
--    "HGST HT[ES]5450(25|32|50)A7E38[01]",
-+  { "Hitachi/HGST Travelstar Z5K500", // tested with HGST HTS545050A7E380/GG2OAC90,
-+      // Hitachi HTS545032A7E380/GGBOA7A0, HGST HTS545050A7E680/GR2OA230,
-+      // APPLE HDD HTS545050A7E362/GG2AB990
-+    "(Hitachi|HGST|APPLE HDD) HT[ES]5450(25|32|50)A7E(362|38[01]|680)",
-     "", "", ""
-   },
-   { "Hitachi/HGST Travelstar 5K750", // tested with Hitachi HTS547575A9E384/JE4OA60A,
-@@ -1674,6 +2347,19 @@ const drive_settings builtin_knowndrives
-     "(Hitachi|APPLE HDD) HT[ES]5475(50|64|75)A9E38[14]",
-     "", "", ""
-   },
-+  { "HGST Travelstar 5K1000", // tested with HGST HTS541010A9E680/JA0OA560,
-+      // HGST HTS541075A9E680/JA2OA560
-+    "HGST HT[ES]5410(64|75|10)A9E68[01]",
-+    "", "", ""
-+  },
-+  { "HGST Travelstar Z5K1000", // tested with HGST HTS541010A7E630/SE0OA4A0
-+    "HGST HTS5410(75|10)A7E63[015]",
-+    "", "", ""
-+  },
-+  { "HGST Travelstar 5K1500", // tested with HGST HTS541515A9E630/KA0OA500
-+    "HGST HT[ES]541515A9E63[015]",
-+    "", "", ""
-+  },
-   { "Hitachi Travelstar 7K60",
-     "(Hitachi )?HTS726060M9AT00",
-     "", "", ""
-@@ -1703,12 +2389,13 @@ const drive_settings builtin_knowndrives
-     "(HITACHI )?HT[ES]7232(16|25|32)A7A36[145]",
-     "", "", ""
-   },
--  { "Hitachi Travelstar 7K500",
--    "(Hitachi )?HT[ES]7250(12|16|25|32|50)A9A36[2-5]",
-+  { "Hitachi Travelstar 7K500", // tested with Hitachi HTS725050A9A360/PC4OC70D,
-+    // HITACHI HTS725032A9A364/PC3ZC70F
-+    "(Hitachi |HITACHI )?HT[ES]7250(12|16|25|32|50)A9A36[02-5]",
-     "", "", ""
-   },
-   { "Hitachi/HGST Travelstar Z7K500", // tested with HITACHI HTS725050A7E630/GH2ZB390,
--      // HGST HTS725050A7E630/GH2OA420
-+      // HGST HTS725050A7E630/GH2OA420, HGST HTS725050A7E630/GH2OA530
-     "(HITACHI|HGST) HT[ES]7250(25|32|50)A7E63[015]",
-     "", "", ""
-   },
-@@ -1741,6 +2428,10 @@ const drive_settings builtin_knowndrives
-     "(IBM-)?IC35L(030|060|090|120|180)AVV207-[01]",
-     "", "", ""
-   },
-+  { "Hitachi CinemaStar 5K320", // tested with Hitachi HCS5C3225SLA380/STBOA37H
-+    "Hitachi HCS5C32(25|32)SLA380",
-+    "", "", ""
-+  },
-   { "Hitachi Deskstar 5K3000", // tested with HDS5C3030ALA630/MEAOA5C0,
-        // Hitachi HDS5C3020BLE630/MZ4OAAB0 (OEM, Toshiba Canvio Desktop)
-     "(Hitachi )?HDS5C30(15|20|30)(ALA|BLE)63[02].*",
-@@ -1794,8 +2485,9 @@ const drive_settings builtin_knowndrives
-     "(Hitachi )?HDT7210((16|25)SLA380|(32|50|64|75|10)SLA360)",
-     "", "", ""
-   },
--  { "Hitachi Deskstar 7K1000.C", // tested with Hitachi HDS721010CLA330/JP4OA3MA
--    "(Hitachi )?HDS7210((16|25)CLA382|(32|50)CLA362|(64|75|10)CLA33[02])",
-+  { "Hitachi Deskstar 7K1000.C", // tested with Hitachi HDS721010CLA330/JP4OA3MA,
-+      // Hitachi HDS721025CLA682/JP1OA41A
-+    "(Hitachi )?HDS7210((16|25)CLA[36]82|(32|50)CLA[36]62|(64|75|10)CLA[36]3[02])",
-     "", "", ""
-   },
-   { "Hitachi Deskstar 7K1000.D", // tested with HDS721010DLE630/MS2OA5Q0
-@@ -1818,6 +2510,11 @@ const drive_settings builtin_knowndrives
-     "Hitachi HDS724040ALE640",
-     "", "", ""
-   },
-+  { "HGST Deskstar NAS", // tested with HGST HDN724040ALE640/MJAOA5E0,
-+       // HGST HDN726050ALE610/APGNT517, HGST HDN726060ALE610/APGNT517
-+    "HGST HDN72(4030|4040|6050|6060)ALE6[14]0",
-+    "", "", ""
-+  },
-   { "Hitachi Ultrastar A7K1000", // tested with
-     // HUA721010KLA330      44X2459 42C0424IBM/GKAOAB4A
-     "(Hitachi )?HUA7210(50|75|10)KLA330.*",
-@@ -1828,12 +2525,37 @@ const drive_settings builtin_knowndrives
-     "(Hitachi )?HUA7220(50|10|20)[AC]LA33[01].*",
-     "", "", ""
-   },
--  { "Hitachi Ultrastar 7K3000", // tested with HUA723030ALA640/MKAOA580
--    "Hitachi HUA7230(20|30)ALA640",
-+  { "Hitachi Ultrastar 7K3000", // tested with Hitachi HUA723030ALA640/MKAOA580,
-+      // Hitachi HUA723020ALA641/MK7OA840
-+    "Hitachi HUA7230(20|30)ALA64[01]",
-+    "", "", ""
-+  },
-+  { "Hitachi/HGST Ultrastar 7K4000", // tested with Hitachi HUS724040ALE640/MJAOA3B0,
-+      // HGST HUS724040ALE640/MJAOA580, HGST HUS724020ALA640/MF6OAA70
-+    "(Hitachi|HGST) HUS7240(20|30|40)AL[AE]64[01]",
-     "", "", ""
-   },
--  { "Hitachi Ultrastar 7K4000", // tested with Hitachi HUS724040ALE640/MJAOA3B0
--    "Hitachi HUS7240(20|30|40)ALE640",
-+  { "HGST Ultrastar 7K6000", // tested with HGST HUS726060ALE614/APGNW517
-+    "HGST HUS7260[2456]0AL[AEN]61[014]",
-+    "", "", ""
-+  },
-+  { "HGST Ultrastar He6", // tested with HGST HUS726060ALA640/AHGNT1E2
-+    "HGST HUS726060ALA64[01]",
+   { "HGST Ultrastar He6", // tested with HGST HUS726060ALA640/AHGNT1E2
+     "HGST HUS726060ALA64[01]",
+-    "", "", ""
 +    "", "",
 +    "-v 22,raw48,Helium_Level"
-+  },
-+  { "HGST Ultrastar He8", // tested with HGST HUH728060ALE600/GR2OA230
-+    "HGST HUH7280(60|80)AL[EN]60[014]",
+   },
+   { "HGST Ultrastar He8", // tested with HGST HUH728060ALE600/GR2OA230
+     "HGST HUH7280(60|80)AL[EN]60[014]",
+-    "", "", ""
 +    "", "",
 +    "-v 22,raw48,Helium_Level"
 +  },
@@ -1341,108 +624,62 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
 +    "HGST HUH7210(08|10)AL[EN]60[014]",
 +    "", "",
 +    "-v 22,raw48,Helium_Level"
-+  },
-+  { "HGST MegaScale 4000", // tested with HGST HMS5C4040ALE640/MPAOA580
-+    "HGST HMS5C4040[AB]LE64[01]", // B = DC 4000.B
-     "", "", ""
    },
-   { "Toshiba 2.5\" HDD (10-20 GB)",
-@@ -1860,6 +2582,12 @@ const drive_settings builtin_knowndrives
+   { "HGST MegaScale 4000", // tested with HGST HMS5C4040ALE640/MPAOA580
+     "HGST HMS5C4040[AB]LE64[01]", // B = DC 4000.B
+@@ -2535,6 +2792,15 @@ const drive_settings builtin_knowndrives
      "TOSHIBA MK8050GACY",
      "", "", ""
    },
-+  { "Toshiba 2.5\" HDD MK..51GSY", // tested with TOSHIBA MK1251GSY/LD101D
-+    "TOSHIBA MK(80|12|16|25)51GSY",
-+    "",
-+    "",
-+    "-v 9,minutes"
++  { "Toshiba 2.5\" HDD MK..34GSX", // tested with TOSHIBA MK8034GSX/AH301E
++    "TOSHIBA MK(80|12|10)34GSX",
++    "", "", ""
 +  },
-   { "Toshiba 2.5\" HDD MK..52GSX",
-     "TOSHIBA MK(80|12|16|25|32)52GSX",
-     "", "", ""
-@@ -1882,13 +2610,24 @@ const drive_settings builtin_knowndrives
-     "TOSHIBA MK(75|10)59GSM",
-     "", "", ""
-   },
--  { "Toshiba 2.5\" HDD MK..61GSY[N]", // tested with TOSHIBA MK5061GSY/MC102E, MK5061GSYN/MH000A
-+  { "Toshiba 2.5\" HDD MK..61GSY[N]", // tested with TOSHIBA MK5061GSY/MC102E, MK5061GSYN/MH000A,
-+      // TOSHIBA MK2561GSYN/MH000D
-     "TOSHIBA MK(16|25|32|50|64)61GSYN?",
-+    "",
-+    "",
-+    "-v 9,minutes" // TOSHIBA MK2561GSYN/MH000D
++  //
++  { "Toshiba 2.5\" HDD MK..32GSX", // tested with TOSHIBA MK1032GSX/AS021G
++    "TOSHIBA MK(10|80|60|40)32GSX",
++    "", "", ""
 +  },
-+  { "Toshiba 2.5\" HDD MK..61GSYB", // tested with TOSHIBA MK5061GSYB/ME0A
-+    "TOSHIBA MK(16|25|32|50|64)61GSYB",
+   { "Toshiba 2.5\" HDD MK..51GSY", // tested with TOSHIBA MK1251GSY/LD101D
+     "TOSHIBA MK(80|12|16|25)51GSY",
+     "",
+@@ -2606,7 +2872,8 @@ const drive_settings builtin_knowndrives
+     "TOSHIBA MQ01ABF(050|075|100)",
      "", "", ""
    },
-   { "Toshiba 2.5\" HDD MK..65GSX", // tested with TOSHIBA MK5065GSX/GJ003A, MK3265GSXN/GH012H,
--      // MK5065GSXF/GP006B
--    "TOSHIBA MK(16|25|32|50|64)65GSX[FN]?",
-+      // MK5065GSXF/GP006B, MK2565GSX H/GJ003A
-+    "TOSHIBA MK(16|25|32|50|64)65GSX[FN]?( H)?", // "... H" = USB ?
-+    "", "", ""
-+  },
-+  { "Toshiba 2.5\" HDD MK..75GSX", // tested with TOSHIBA MK7575GSX/GT001C
-+    "TOSHIBA MK(32|50|64|75)75GSX",
+-  { "Toshiba 2.5\" HDD MQ01UBB... (USB 3.0)", // tested with TOSHIBA MQ01UBB200/AY000U (0x0480:0xa100)
++  { "Toshiba 2.5\" HDD MQ01UBB... (USB 3.0)", // tested with TOSHIBA MQ01UBB200/AY000U (0x0480:0xa100),
++      // TOSHIBA MQ01UBB200/34MATMZ5T (0x05ac:0x8406)
+     "TOSHIBA MQ01UBB200",
      "", "", ""
    },
-   { "Toshiba 2.5\" HDD MK..76GSX", // tested with TOSHIBA MK3276GSX/GS002D
-@@ -1897,19 +2636,61 @@ const drive_settings builtin_knowndrives
-     "",
-     "-v 9,minutes"
+@@ -2615,6 +2882,14 @@ const drive_settings builtin_knowndrives
+     "TOSHIBA MQ01UBD(050|075|100)",
+     "", "", ""
    },
--  { "Toshiba 2.5\" HDD MQ01ABD...", // tested with TOSHIBA MQ01ABD100/AX001U
--    "TOSHIBA MQ01ABD(025|032|050|064|075|100)",
-+  { "Toshiba 2.5\" HDD MQ01ABB...", // tested with TOSHIBA MQ01ABB200/AY000U
-+    "TOSHIBA MQ01ABB(100|150|200)",
-+    "", "", ""
-+  },
-+  { "Toshiba 2.5\" HDD MQ01ABC...", // tested with TOSHIBA MQ01ABC150/AQ001U
-+    "TOSHIBA MQ01ABC(100|150|200)",
-+    "", "", ""
-+  },
-+  { "Toshiba 2.5\" HDD MQ01ABD...", // tested with TOSHIBA MQ01ABD100/AX001U,
-+      // TOSHIBA MQ01ABD100V/AX001Q
-+    "TOSHIBA MQ01ABD(025|032|050|064|075|100)V?",
-+    "", "", ""
-+  },
-+  { "Toshiba 2.5\" HDD MQ01ABF...", // tested with TOSHIBA MQ01ABF050/AM001J
-+    "TOSHIBA MQ01ABF(050|075|100)",
++  { "Toshiba 2.5\" HDD MQ03ABB...", // tested with TOSHIBA MQ03ABB300
++    "TOSHIBA MQ03ABB[23]00",
 +    "", "", ""
 +  },
-+  { "Toshiba 2.5\" HDD MQ01UBB... (USB 3.0)", // tested with TOSHIBA MQ01UBB200/AY000U (0x0480:0xa100)
-+    "TOSHIBA MQ01UBB200",
++  { "Toshiba 2.5\" HDD MQ03UBB...", // tested with TOSHIBA MQ03UBB200/37I7T0NJT
++    "TOSHIBA MQ03UBB(300|200|250)",
 +    "", "", ""
 +  },
-+  { "Toshiba 2.5\" HDD MQ01UBD... (USB 3.0)", // tested with TOSHIBA MQ01UBD050/AX001U (0x0480:0xa007),
-+      // TOSHIBA MQ01UBD100/AX001U (0x0480:0x0201, 0x0480:0xa200)
-+    "TOSHIBA MQ01UBD(050|075|100)",
-     "", "", ""
-   },
    { "Toshiba 3.5\" HDD MK.002TSKB", // tested with TOSHIBA MK1002TSKB/MT1A
      "TOSHIBA MK(10|20)02TSKB",
      "", "", ""
+@@ -2627,6 +2902,10 @@ const drive_settings builtin_knowndrives
+     "TOSHIBA MD04ACA[2345]00",
+     "", "", ""
    },
--  { "Toshiba 3.5\" HDD DT01ACA...", // tested with TOSHIBA DT01ACA100/MS2OA750,
-+  { "Toshiba 3.5\" MG03ACAxxx(Y) Enterprise HDD", // tested with TOSHIBA MG03ACA100/FL1A
-+    "TOSHIBA MG03ACA[1234]00Y?",
-+    "", "", ""
-+  },
-+  { "Toshiba 3.5\" MD04ACA... Enterprise HDD", // tested with TOSHIBA MD04ACA500/FP1A
-+    "TOSHIBA MD04ACA[2345]00",
-+    "", "", ""
-+  },
 +  { "Toshiba 3.5\" MG04ACA... Enterprise HDD", // tested with TOSHIBA MG04ACA600A/FS2B
-+    "TOSHIBA MG04ACA[23456]00[AE]",
++    "TOSHIBA MG04ACA[23456]00[AE].?",
 +    "", "", ""
 +  },
-+  { "Toshiba 3.5\" DT01ABA... Desktop HDD", // tested with TOSHIBA DT01ABA300/MZ6OABB0
-+    "TOSHIBA DT01ABA(100|150|200|300)",
-+    "", "", ""
-+  },
-+  { "Toshiba 3.5\" DT01ACA... Desktop HDD", // tested with TOSHIBA DT01ACA100/MS2OA750,
-       // TOSHIBA DT01ACA200/MX4OABB0, TOSHIBA DT01ACA300/MX6OABB0
+   { "Toshiba 3.5\" DT01ABA... Desktop HDD", // tested with TOSHIBA DT01ABA300/MZ6OABB0
+     "TOSHIBA DT01ABA(100|150|200|300)",
+     "", "", ""
+@@ -2636,6 +2915,14 @@ const drive_settings builtin_knowndrives
      "TOSHIBA DT01ACA(025|032|050|075|100|150|200|300)",
      "", "", ""
    },
@@ -1450,56 +687,65 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
 +    "TOSHIBA HDWE1[456]0",
 +    "", "", ""
 +  },
++  { "Toshiba P300", // tested with TOSHIBA HDWD120/MX4OACF0
++    "TOSHIBA HDWD1(30|20|10|05)",
++    "", "", ""
++  },
    { "Toshiba 1.8\" HDD",
      "TOSHIBA MK[23468]00[4-9]GA[HL]",
      "", "", ""
-@@ -2037,6 +2818,11 @@ const drive_settings builtin_knowndrives
+@@ -2648,6 +2935,17 @@ const drive_settings builtin_knowndrives
+     "TOSHIBA MK6022GAX",
+     "", "", ""
+   },
++  { "Toshiba HG6 Series SSD", // TOSHIBA THNSNJ512GCST/JTRA0102
++    // http://www.farnell.com/datasheets/1852757.pdf
++    // TOSHIBA THNSFJ256GCSU/JULA1102
++    // TOSHIBA THNSFJ256GDNU A/JYLA1102
++    "TOSHIBA THNS[NF]J(060|128|256|512)G[BCAM8VD][SCN][TU].*",
++    "", "", 
++    "-v 167,raw48,SSD_Protect_Mode "
++    "-v 168,raw48,SATA_PHY_Error_Count "
++    "-v 169,raw48,Bad_Block_Count "
++    "-v 173,raw48,Erase_Count "
++  },
+   { "", // TOSHIBA MK6409MAV
+     "TOSHIBA MK6409MAV",
+     "", "", ""
+@@ -2763,9 +3061,9 @@ const drive_settings builtin_knowndrives
      "ST(160|250|320)LT0(07|09|11|14)-.*",
      "", "", ""
    },
+-  { "Seagate Laptop Thin HDD", // tested with ST500LT012-9WS142/0001SDM1,
+-      // ST500LM021-1KJ152/0002LIM1
+-    "ST((250|320|500)LT0(12|15|25)|(320|500)LM0(10|21))-.*",
 +  { "Seagate Laptop HDD", // tested with ST500LT012-9WS142/0001SDM1,
 +      // ST500LM021-1KJ152/0002LIM1, ST4000LM016-1N2170/0003
 +    "ST((25|32|50)0LT0(12|15|25)|(32|50)0LM0(10|21)|[34]00LM016)-.*",
-+    "", "", ""
-+  },
-   { "Seagate Laptop SSHD", // tested with ST500LM000-1EJ162/SM11
-     "ST(500|1000)LM0(00|14)-.*",
      "", "", ""
-@@ -2183,14 +2969,14 @@ const drive_settings builtin_knowndrives
    },
-   { "Seagate Barracuda 7200.14 (AF)", // new firmware, tested with
-       // ST3000DM001-9YN166/CC4H, ST3000DM001-9YN166/CC9E
--    "ST(1000|1500|2000|2500|3000)DM00[1-3]-.*",
-+    "ST(1000|1500|2000|2500|3000)DM00[1-3]-9YN16.",
-     "CC(4[H-Z]|[5-9A-Z]..*)", // >= "CC4H"
-     "",
-     "-v 188,raw16 -v 240,msec24hour32" // tested with ST3000DM001-9YN166/CC4H
-   },
-   { "Seagate Barracuda 7200.14 (AF)", // old firmware, tested with
-       // ST1000DM003-9YN162/CC46
--    "ST(1000|1500|2000|2500|3000)DM00[1-3]-.*",
-+    "ST(1000|1500|2000|2500|3000)DM00[1-3]-9YN16.",
-     "CC4[679CG]",
-     "A firmware update for this drive is available,\n"
-     "see the following Seagate web pages:\n"
-@@ -2199,7 +2985,7 @@ const drive_settings builtin_knowndrives
-     "-v 188,raw16 -v 240,msec24hour32"
+   { "Seagate Laptop SSHD", // tested with ST500LM000-1EJ162/SM11
+@@ -2904,7 +3202,10 @@ const drive_settings builtin_knowndrives
+   },
+   { "Seagate Barracuda 7200.12", // tested with ST3250312AS/JC45, ST31000524AS/JC45,
+       // ST3500413AS/JC4B, ST3750525AS/JC4B
+-    "ST3(160318|25031[128]|320418|50041[038]|750(518|52[358])|100052[348])AS",
++      // ST3160316AS/JC45
++      // Possible options: ST31000524AS, ST3500413AS, ST3250312AS ,
++      // ST3750525AS, ST3320413AS, ST3160316AS
++    "ST3(160318|25031[128]|320418|50041[038]|750(518|52[358])|100052[348]|320413|160316)AS",
+     "", "", ""
    },
-   { "Seagate Barracuda 7200.14 (AF)", // unknown firmware
--    "ST(1000|1500|2000|2500|3000)DM00[1-3]-.*",
-+    "ST(1000|1500|2000|2500|3000)DM00[1-3]-9YN16.",
-     "",
-     "A firmware update for this drive may be available,\n"
-     "see the following Seagate web pages:\n"
-@@ -2207,13 +2993,27 @@ const drive_settings builtin_knowndrives
-     "http://knowledge.seagate.com/articles/en_US/FAQ/223651en",
+   { "Seagate Barracuda XT", // tested with ST32000641AS/CC13,
+@@ -2946,13 +3247,22 @@ const drive_settings builtin_knowndrives
+     "", "",
      "-v 188,raw16 -v 240,msec24hour32"
    },
-+  { "Seagate Barracuda 7200.14 (AF)", // different part number, tested with
-+      // ST1000DM003-1CH162/CC47, ST1000DM003-1CH162/CC49, ST2000DM001-1CH164/CC24,
-+      // ST1000DM000-9TS15E/CC92, APPLE HDD ST3000DM001/AP15 (no attr 240)
-+    "ST(1000|1500|2000|2500|3000)DM00[0-3]-.*|"
-+    "APPLE HDD ST3000DM001",
++  // should be ST4000DM005, ST3000DM008,ST3000DM009,ST2000DM006,ST2000DM007
++  // ST1000DM010, ST500DM009
++  // tested: ST3000DM008-2DM166/CC26
++  { "Seagate Barracuda 3.5", // tested on ST1000DM010-2EP102/Z9ACZM97
++    "ST(4000DM00[45]|3000DM008|3000DM009|2000DM006|2000DM007|1000DM010|500DM009)-.*",
 +    "", "",
 +    "-v 188,raw16 -v 240,msec24hour32"
 +  },
@@ -1508,29 +754,29 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
      "", "",
      "-v 188,raw16 -v 240,msec24hour32"
    },
--  { "Seagate Desktop HDD.15", // tested with ST4000DM000-1CD168/CC43
--    "ST4000DM000-.*",
+-  { "Seagate Desktop HDD.15", // tested with ST4000DM000-1CD168/CC43, ST5000DM000-1FK178/CC44
+-    "ST[45]000DM000-.*",
 +  { "Seagate Desktop HDD.15", // tested with ST4000DM000-1CD168/CC43, ST5000DM000-1FK178/CC44,
 +      // ST6000DM001-1XY17Z/CC48
 +    "ST[4568]000DM00[012]-.*",
-+    "", "",
-+    "-v 188,raw16 -v 240,msec24hour32"
-+  },
-+  { "Seagate Desktop SSHD", // tested with ST2000DX001-1CM164/CC43
-+    "ST[124]000DX001-.*",
      "", "",
      "-v 188,raw16 -v 240,msec24hour32"
    },
-@@ -2234,7 +3034,7 @@ const drive_settings builtin_knowndrives
-   },
-   { "Seagate Barracuda Green (AF)", // new firmware
-     "ST((10|15|20)00DL00[123])-.*",
--    "CC3[2-9A-Z]",
-+    "CC(3[2-9A-Z]|[4-9A-Z]..*)", // >= "CC32"
-     "", ""
+@@ -2994,6 +3304,13 @@ const drive_settings builtin_knowndrives
+     "ST3(250[68]2|32062|40062|50063|75064)0NS",
+     "", "", ""
    },
-   { "Seagate Barracuda Green (AF)", // unknown firmware
-@@ -2279,20 +3079,51 @@ const drive_settings builtin_knowndrives
++  // ST5000LM000, ST4000LM024, ST3000LM024, ST2000LM015, ST1000LM048, ST500LM030
++  { "Seagate Barracuda 2.5 5400", // ST2000LM015-2E8174/SDM1, ST4000LM024-2AN17V/0001
++    "ST(5000LM000|[34]000LM024|2000LM015|1000LM048|500LM030)-.*",
++    "",
++    "",
++    "-v 183,raw48,SATA_Downshift_Count "
++  },
+   { "Seagate Barracuda ES.2", // fixed firmware
+     "ST3(25031|50032|75033|100034)0NS",
+     "SN[01]6|"         // http://knowledge.seagate.com/articles/en_US/FAQ/207963en
+@@ -3023,12 +3340,16 @@ const drive_settings builtin_knowndrives
      "ST9(160511|500530)NS",
      "", "", ""
    },
@@ -1550,12 +796,9 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
 +    "MB1000GCEEK", // HP OEM
      "", "", ""
    },
--  { "Seagate Constellation ES.2 (SATA 6Gb/s)", // tested with ST32000645NS/0004, ST33000650NS
--    "ST3(2000645|300065[012])NS",
-+  { "Seagate Constellation ES.2 (SATA 6Gb/s)", // tested with ST32000645NS/0004, ST33000650NS,
-+      // MB3000EBKAB/HPG6
-+    "ST3(2000645|300065[012])NS|"
-+    "MB3000EBKAB", // HP OEM
+   { "Seagate Constellation ES.2 (SATA 6Gb/s)", // tested with ST32000645NS/0004, ST33000650NS,
+@@ -3037,8 +3358,10 @@ const drive_settings builtin_knowndrives
+     "MB3000EBKAB", // HP OEM
      "", "", ""
    },
 -  { "Seagate Constellation ES.3", // tested with ST1000NM0033-9ZM173/0001, ST4000NM0033-9ZM170/SN03
@@ -1564,551 +807,337 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
 +      // ST4000NM0033-9ZM170/SN03, MB1000GCWCV/HPGC
 +    "ST[1234]000NM00[35]3-.*|"
 +    "MB1000GCWCV", // HP OEM
-+    "", "", ""
-+  },
-+  { "Seagate Constellation CS", // tested with ST3000NC000/CE02, ST3000NC002-1DY166/CN02
-+    "ST(1000|2000|3000)NC00[0-3](-.*)?",
-+    "", "", ""
-+  },
-+  { "Seagate Constellation.2 (SATA)", // 2.5", tested with ST91000640NS/SN02, MM1000GBKAL/HPGB
-+    "ST9(25061|50062|100064)[012]NS|" // *SS = SAS
-+    "MM1000GBKAL", // HP OEM
-+    "", "", ""
-+  },
+     "", "", ""
+   },
+   { "Seagate Constellation CS", // tested with ST3000NC000/CE02, ST3000NC002-1DY166/CN02
+@@ -3050,15 +3373,33 @@ const drive_settings builtin_knowndrives
+     "MM1000GBKAL", // HP OEM
+     "", "", ""
+   },
+-  { "Seagate Enterprise Capacity 3.5 HDD", // tested with ST6000NM0024-1HT17Z/SN02
+-    "ST[2456]000NM0[01][248]4-.*", // *[069]4 = 4Kn
++  // ST6000NM0004, ST6000NM0024, ST6000NM0044, ST6000NM0084, ST5000NM0024,
++  // ST5000NM0044, ST4000NM0024, ST4000NM0044, ST2000NM0024, ST2000NM0044
++  // ST4000NM0035, ST3000NM0005, ST2000NM0055, ST1000NM0055, ST4000NM0045,
++  // ST3000NM0015, ST2000NM0065, ST1000NM0065, ST4000NM0105, ST3000NM0055
 +  { "Seagate Enterprise Capacity 3.5 HDD", // tested with ST6000NM0024-1HT17Z/SN02,
 +      // ST10000NM0016-1TT101/SNB0
-+    "ST([24568]|10)000NM0[01][1248][46]-.*", // *[069]4 = 4Kn
-+    "", "", 
++      // ST4000NM0085-1YY107/ZC11SXPH
++      // ST8000NM0045-1RL112/NN02
++      // ST6000NM0004-1FT17Z/NN01
++      // ST4000NM0035-1V4107/TNC3
++    "ST([24568]|10)000NM0[01][01248][456]-.*", // *[069]4 = 4Kn
+     "", "", 
+-    "-v 188,raw16"
 +    "-v 188,raw16 -v 240,msec24hour32"
-+  },
-+  { "Seagate NAS HDD", // tested with ST2000VN000-1H3164/SC42, ST3000VN000-1H4167/SC43
-+    "ST[234]000VN000-.*",
-+    "", "", ""
-+  },
-+  { "Seagate Archive HDD", // tested with ST8000AS0002-1NA17Z/AR13
-+    "ST[568]000AS00[01][12]-.*",
-     "", "", ""
    },
-   { "Seagate Pipeline HD 5900.1",
-@@ -2303,6 +3134,10 @@ const drive_settings builtin_knowndrives
-     "ST3(160316|250[34]12|320(311|413)|500(312|414)|1000(322|424))CS",
++  // new models: ST8000VN0002, ST6000VN0021, ST4000VN000
++  //             ST8000VN0012, ST6000VN0031, ST4000VN003
++  // tested with ST8000VN0002-1Z8112/ZA13YGNF
+   { "Seagate NAS HDD", // tested with ST2000VN000-1H3164/SC42, ST3000VN000-1H4167/SC43
+-    "ST[234]000VN000-.*",
++    "ST([234]000VN000|[468]000VN00(02|21|12|31|3))-.*",
      "", "", ""
    },
-+  { "Seagate Video 3.5 HDD", // tested with ST4000VM000-1F3168/SC23, SC25
-+    "ST(10|15|20|30|40)00VM00[023]-.*",
++  // ST10000VN0004, ST8000VN0022, ST6000VN0041, ST4000VN008, ST3000VN007,
++  // ST2000VN004, ST1000VN002
++  { "Seagate IronWolf", // tested with ST6000VN0041-2EL11C/SC61
++    "ST(10|8|6|4|3|2|1)000VN00(04|22|41|8|7|2|4)-.*",
 +    "", "", ""
-+  },
-   { "Seagate Medalist 17240, 13030, 10231, 8420, and 4310",
-     "ST3(17240|13030|10231|8420|4310)A",
++  },  
+   { "Seagate Archive HDD", // tested with ST8000AS0002-1NA17Z/AR13
+     "ST[568]000AS00[01][12]-.*",
      "", "", ""
-@@ -2319,16 +3154,21 @@ const drive_settings builtin_knowndrives
-     "ST3(160815|250820|320620|500630|750640)[AS]V",
-     "", "", ""
-   },
-+  { "Seagate SV35.3", // tested with ST3500320SV/SV16
-+    "ST3(500320|750330|1000340)SV",
-+    "", "", ""
-+  },
-   { "Seagate SV35.5", // tested with ST31000525SV/CV12
+@@ -3099,8 +3440,12 @@ const drive_settings builtin_knowndrives
      "ST3(250311|500410|1000525)SV",
      "", "", ""
    },
--  { "Seagate SV35", // tested with ST2000VX000-9YW164/CV12
--    "ST([123]000VX00[20]|31000526SV|3500411SV)(-.*)?",
-+  { "Seagate SV35", // tested with ST1000VX001-1HH162/CV11, ST2000VX000-9YW164/CV12,
-+      // ST4000VX000-1F4168/CV14
-+    "ST([1-4]000VX00[012]|31000526SV|3500411SV)(-.*)?",
+-  { "Seagate SV35", // tested with ST1000VX001-1HH162/CV11, ST2000VX000-9YW164/CV12
+-    "ST([123]000VX00[012]|31000526SV|3500411SV)(-.*)?",
++  // ST6000VX0001,ST6000VX0011,ST5000VX0001,ST5000VX0011,ST4000VX000
++  // ST4000VX002, ST3000VX002, ST2000VX003, ST1000VX001, ST1000VX002
++  // ST3000VX000, ST3000VX004, ST2000VX000, ST2000VX004, ST1000VX000
++  { "Seagate Surveillance", // tested with ST1000VX001-1HH162/CV11, ST2000VX000-9YW164/CV12,
++      // ST4000VX000-1F4168/CV14, ST2000VX003-1HH164/CV12
++    "ST([1-6]000VX00[01234]1?|31000526SV|3500411SV)(-.*)?",
      "", "", ""
    },
--  { "Seagate DB35", // tested with ST3250823ACE/3.03
--    "ST3(200826|250823|300831|400832)ACE",
-+  { "Seagate DB35", // tested with ST3250823ACE/3.03, ST3300831SCE/3.03
-+    "ST3(200826|250823|300831|400832)[AS]CE",
+   { "Seagate DB35", // tested with ST3250823ACE/3.03, ST3300831SCE/3.03
+@@ -3123,6 +3468,35 @@ const drive_settings builtin_knowndrives
+     "ST6[468]022CF",
      "", "", ""
    },
-   { "Seagate DB35.2", // tested with ST3160212SCE/3.ACB
-@@ -2445,8 +3285,9 @@ const drive_settings builtin_knowndrives
-     "WDC WD((16|20|25|32|40|50|64|75)00AAKS|1602ABKS|10EALS)-.*",
-     "", "", ""
-   },
--  { "Western Digital Caviar Blue (SATA 6Gb/s)", // tested with WDC WD10EZEX-00RKKA0/80.00A80
--    "WDC WD((25|32|50)00AAKX|7500AALX|10EALX|10EZEX)-.*",
-+  { "Western Digital Blue", // tested with WDC WD5000AZLX-00K4KA0/80.00A80,
-+      // WDC WD10EZEX-00RKKA0/80.00A80, WDC WD10EZEX-75M2NA0/01.01A01, WDC WD40EZRZ-00WN9B0/80.00A80
-+    "WDC WD((25|32|50)00AAKX|5000AZ(LX|RZ)|7500A(AL|ZE)X|10E(AL|ZE)X|[1-6]0EZRZ)-.*",
++  { "WD Blue PC SSD", // tested with WDC WDS100T1B0A-00H9H0
++    "WDC WDS...[TG]1B0[AB].*",
++    "", "",
++  //"-v 5,raw48,Reallocated_Sector_Ct " // Reassigned Block Count
++  //"-v 9,raw48,Power_On_Hours "
++  //"-v 12,raw48,Power_Cycle_Count "
++    "-v 165,raw48,Block_Erase_Count "
++    "-v 166,raw48,Minimum_PE_Cycles_TLC "
++    "-v 167,raw48,Max_Bad_Blocks_per_Die "
++    "-v 168,raw48,Maximum_PE_Cycles_TLC "
++    "-v 169,raw48,Total_Bad_Blocks "
++    "-v 170,raw48,Grown_Bad_Blocks "
++    "-v 171,raw48,Program_Fail_Count "
++    "-v 172,raw48,Erase_Fail_Count "
++    "-v 173,raw48,Average_PE_Cycles_TLC "
++    "-v 174,raw48,Unexpected_Power_Loss "
++  //"-v 184,raw48,End-to-end_Error " // Detection/Correction Count
++  //"-v 187,raw48,Reported_Uncorrect " // Uncorrectable Errors
++  //"-v 188,raw48,Command_Timeout
++  //"-v 194,tempminmax,Temperature_Celsius " 
++  //"-v 199,raw48,UDMA_CRC_Error_Count  // SATA CRC Errors 
++    "-v 230,hex48,Media_Wearout_Indicator " // Maybe hex16
++  //"-v 232,raw48,Available_Reserve_Space"
++    "-v 233,raw48,NAND_GB_Written_TLC "
++    "-v 234,raw48,NAND_GB_Written_SLC "
++    "-v 241,raw48,Total_Host_GB_Written "
++    "-v 242,raw48,Total_Host_GB_Read "
++    "-v 244,raw48,Temp_Throttle_Status "
++  },
+   { "Western Digital Protege",
+   /* Western Digital drives with this comment all appear to use Attribute 9 in
+    * a  non-standard manner.  These entries may need to be updated when it
+@@ -3244,7 +3618,8 @@ const drive_settings builtin_knowndrives
+   },
+   { "Western Digital RE4", // tested with WDC WD2003FYYS-18W0B0/01.01D02,
+       // WDC WD1003FBYZ-010FB0/01.01V03
+-    "WDC WD((25|50)03ABYX|1003FBY[XZ]|(15|20)03FYYS)-.*",
++      // WDC WD5003ABYZ-011FA0/01.01S03
++    "WDC WD((25|50)03ABY[XZ]|1003FBY[XZ]|(15|20)03FYYS)-.*",
      "", "", ""
    },
-   { "Western Digital RE Serial ATA",
-@@ -2465,20 +3306,32 @@ const drive_settings builtin_knowndrives
-     "WDC WD((25|32|50|75)02A|(75|10)02F)BYS-.*",
-     "", "", ""
+   { "Western Digital RE4-GP", // tested with WDC WD2002FYPS-02W3B0/04.01G01,
+@@ -3254,9 +3629,11 @@ const drive_settings builtin_knowndrives
    },
--  { "Western Digital RE4", // tested with WDC WD2003FYYS-18W0B0/01.01D02
--    "WDC WD((((25|50)03A|1003F)BYX)|((15|20)03FYYS))-.*",
--    "", "", ""
--  },
--  { "Western Digital RE4-GP", // tested with WDC WD2002FYPS-02W3B0/04.01G01
--    "WDC WD2002FYPS-.*",
--    "", "", ""
-+  { "Western Digital RE4", // tested with WDC WD2003FYYS-18W0B0/01.01D02,
-+      // WDC WD1003FBYZ-010FB0/01.01V03
-+      // WDC WD5003ABYZ-011FA0/01.01S03
-+    "WDC WD((25|50)03ABY[XZ]|1003FBY[XZ]|(15|20)03FYYS)-.*",
-+    "", "", ""
-+  },
-+  { "Western Digital RE4-GP", // tested with WDC WD2002FYPS-02W3B0/04.01G01,
-+      // WD2003FYPS-27W9B0/01.01D02
-+    "(WDC )?WD200[23]FYPS-.*",
-+    "", "", ""
-+  },
-+  { "Western Digital Re", // tested with WDC WD1004FBYZ-01YCBB0/RR02,
-+      // WDC WD2000FYYZ-01UL1B0/01.01K01, WDC WD2000FYYZ-01UL1B1/01.01K02,
+   { "Western Digital Re", // tested with WDC WD1004FBYZ-01YCBB0/RR02,
+       // WDC WD2000FYYZ-01UL1B0/01.01K01, WDC WD2000FYYZ-01UL1B1/01.01K02,
+-      // WDC WD4000FYYZ-01UL1B2/01.01K03, WD2000FYYX/00.0D1K2
 +      // WDC WD4000FYYZ-01UL1B2/01.01K03, WD2000FYYX/00.0D1K2,
 +      // WDC WD1004FBYZ-01YCBB1/RR04
-+    "WDC WD([12]004FBYZ|[1-6]00[01M]F[SXY]YZ)-.*|WD2000FYYX",
+     "WDC WD([12]004FBYZ|[1-6]00[01M]F[SXY]YZ)-.*|WD2000FYYX",
+-    "", "", ""
 +    "", "",
 +    "-v 16,raw48,Total_LBAs_Read" // WDC WD1004FBYZ-01YCBB1/RR04
    },
--  { "Western Digital RE4 (SATA 6Gb/s)", // tested with WDC WD2000FYYZ-01UL1B0/01.01K01
--    "WDC WD(20|30|40)00FYYZ-.*",
-+  { "Western Digital Se", // tested with WDC WD2000F9YZ-09N20L0/01.01A01
-+    "WDC WD(1002|2000|3000|4000)F9YZ-.*",
-     "", "", ""
-   },
--  { "Western Digital Caviar Green",
--    "WDC WD((50|64|75)00AA(C|V)S|(50|64|75)00AADS|10EA(C|V)S|(10|15|20)EADS)-.*",
-+  { "Western Digital Caviar Green", // tested with WDC WD7500AADS-00M2B0/01.00A01,
-+       // WDC WD10EADX/77.04D77
-+    "WDC WD((50|64|75)00AA[CV]S|(50|64|75)00AADS|10EA[CV]S|(10|15|20)EAD[SX])-.*",
-     "",
-     "",
-     "-F xerrorlba" // tested with WDC WD7500AADS-00M2B0/01.00A01
-@@ -2487,23 +3340,28 @@ const drive_settings builtin_knowndrives
-     "WDC WD(((64|75|80)00AA|(10|15|20)EA|(25|30)EZ)R|20EAC)S-.*",
-     "", "", ""
-   },
--  { "Western Digital Caviar Green (AF, SATA 6Gb/s)", // tested with
-+  { "Western Digital Green", // tested with
-       // WDC WD10EZRX-00A8LB0/01.01A01, WDC WD20EZRX-00DC0B0/80.00A80,
--      // WDC WD30EZRX-00MMMB0/80.00A80
--    "WDC WD(7500AA|(10|15|20)EA|(10|20|25|30)EZ)RX-.*",
--    "", "", ""
--  },
--  { "Western Digital Caviar Black",
--    "WDC WD((500|640|750)1AAL|1001FA[EL]|2001FAS)S-.*",
--    "", "", ""
--  },
--  { "Western Digital Caviar Black",  // SATA 6 Gb/s variants, tested with
--      //  WDC WD4001FAEX-00MJRA0/01.01L01
--    "WDC WD(5002AAL|(64|75)02AAE|((10|15|20)02|4001)FAE)X-.*",
--    "", "", ""
--  },
--  { "Western Digital Caviar Black (AF)", // tested with WDC WD5003AZEX-00RKKA0/80.00A80
--    "WDC WD(5003AZE)X-.*",
-+      // WDC WD30EZRX-00MMMB0/80.00A80, WDC WD40EZRX-00SPEB0/80.00A80,
-+      // WDC WD60EZRX-00MVLB1/80.00A80
-+    "WDC WD(7500AA|(10|15|20)EA|(10|20|25|30|40|50|60)EZ)RX-.*",
-+    "", "", ""
-+  },
-+  { "Western Digital Caviar Black", // tested with WDC WD7501AAES/06.01D06
-+    "WDC WD((500|640)1AAL|7501AA[EL]|1001FA[EL]|2001FAS)S-.*|"
-+    "WDC WD(2002|7502|1502|5003|1002|5002)(FAE|AAE|AZE|AAL)X-.*", // could be
-+    // WD2002FAEX, WD7502AAEX, WD1502FAEX, WD5003AZEX, WD1002FAEX, WD5002AALX
-+    "", "", ""
-+  },
-+  { "Western Digital Black", // tested with
-+      // WDC WD1003FZEX-00MK2A0/01.01A01, WDC WD3001FAEX-00MJRA0/01.01L01,
-+      // WDC WD3003FZEX-00Z4SA0/01.01A01, WDC WD4001FAEX-00MJRA0/01.01L01
-+      // WDC WD4003FZEX-00Z4SA0/01.01A01, WDC WD5003AZEX-00RKKA0/80.00A80,
-+    "WDC WD(6001|2003|5001|1003|4003|5003|3003|3001)(FZW|FZE|AZE)X-.*|" // could be
-+    // new series  WD6001FZWX WD2003FZEX WD5001FZWX WD1003FZEX
-+    //             WD4003FZEX WD5003AZEX WD3003FZEX
+   { "Western Digital Se", // tested with WDC WD2000F9YZ-09N20L0/01.01A01
+     "WDC WD(1002|2000|3000|4000)F9YZ-.*",
+@@ -3290,12 +3667,12 @@ const drive_settings builtin_knowndrives
+       // WDC WD1003FZEX-00MK2A0/01.01A01, WDC WD3001FAEX-00MJRA0/01.01L01,
+       // WDC WD3003FZEX-00Z4SA0/01.01A01, WDC WD4001FAEX-00MJRA0/01.01L01
+       // WDC WD4003FZEX-00Z4SA0/01.01A01, WDC WD5003AZEX-00RKKA0/80.00A80,
+-    "WDC WD(6001|2003|5001|1003|4003|5003|3003|3001)(FZW|FZE|AZE)X-.*|" // could be
++      // WDC WD4004FZWX-00GBGB0/81.H0A81
++    "WDC WD(6001|2003|5001|1003|4003|4004|5003|3003|3001)(FZW|FZE|AZE)X-.*|" // could be
+     // new series  WD6001FZWX WD2003FZEX WD5001FZWX WD1003FZEX
+-    //             WD4003FZEX WD5003AZEX WD3003FZEX
+-    "WDC WD(4001|3001|2002|1002|5003|7500|5000|3200|2500|1600)(FAE|AZE|B[PE]K)[XT]-.*",
++    //             WD4003FZEX WD5003AZEX WD3003FZEX WD4004FZWX
 +    "WDC WD(4001|3001|2002|1002|5003|7500|5000|3200|2500|1600)(FAE|AZE)X-.*",
-+    // old series: WD4001FAEX WD3001FAEX WD2002FAEX WD1002FAEX  WD5003AZEX
+     // old series: WD4001FAEX WD3001FAEX WD2002FAEX WD1002FAEX  WD5003AZEX
+-    //             WD7500BPKT  WD5000BPKT WD3200BEKT WD2500BEKT WD1600BEKT
      "", "", ""
    },
    { "Western Digital AV ATA", // tested with WDC WD3200AVJB-63J5A0/01.03E01
-@@ -2518,12 +3376,13 @@ const drive_settings builtin_knowndrives
-     "WDC WD((16|25|32|50|64|75)00AV[CDV]S|(10|15|20)EV[CDV]S)-.*",
-     "", "", ""
+@@ -3366,9 +3743,11 @@ const drive_settings builtin_knowndrives
    },
--  { "Western Digital AV-GP (AF)", // tested with WDC WD10EURS-630AB1/80.00A80, WDC WD10EUCX-63YZ1Y0/51.0AB52
--    "WDC WD(7500AURS|10EU[CR]X|(10|15|20|25|30)EURS)-.*",
-+  { "Western Digital AV-GP (AF)", // tested with WDC WD10EURS-630AB1/80.00A80,
-+      // WDC WD10EUCX-63YZ1Y0/51.0AB52, WDC WD20EURX-64HYZY0/80.00A80
-+    "WDC WD(5000AUDX|7500AURS|10EUCX|(10|15|20|25|30)EUR[SX])-.*",
-     "", "", ""
-   },
--  { "Western Digital AV-25",
--    "WDC WD((16|25|32|50)00BUD|5000BUC)T-.*",
-+  { "Western Digital AV", // tested with DC WD10JUCT-63CYNY0/01.01A01
-+    "WDC WD((16|25|32|50)00BU[CD]|5000LUC|10JUC)T-.*",
-     "", "", ""
+   { "Western Digital Red", // tested with WDC WD10EFRX-68JCSN0/01.01A01,
+       // WDC WD10JFCX-68N6GN0/01.01A01, WDC WD40EFRX-68WT0N0/80.00A80,
+-      // WDC WD60EFRX-68MYMN1/82.00A82
+-    "WDC WD(7500BFC|10JFC|(10|20|30|40|50|60)EFR)X-.*",
+-    "", "", ""
++      // WDC WD60EFRX-68MYMN1/82.00A82, WDC WD80EFAX-68LHPN0/83.H0A83,
++      // WDC WD80EFZX-68UW8N0/83.H0A83
++    "WDC WD(7500BFC|10JFC|[1-6]0EFR|80EF[AZ])X-.*",
++    "", "",
++    "-v 22,raw48,Helium_Level" // WD80EFZX
    },
-   { "Western Digital Raptor",
-@@ -2571,18 +3430,60 @@ const drive_settings builtin_knowndrives
-     "WDC WD(50|75)00BPKT-.*",
+   { "Western Digital Red Pro", // tested with WDC WD2001FFSX-68JNUN0/81.00A81
+     "WDC WD[234]001FFSX-.*",
+@@ -3378,6 +3757,10 @@ const drive_settings builtin_knowndrives
+     "WDC WD[123456]0PURX-.*",
      "", "", ""
    },
--  { "Western Digital Red (AF)", // tested with WDC WD10EFRX-68JCSN0/01.01A01
--    "WDC WD(10|20|30)EFRX-.*",
-+  { "Western Digital Red", // tested with WDC WD10EFRX-68JCSN0/01.01A01,
-+      // WDC WD10JFCX-68N6GN0/01.01A01, WDC WD40EFRX-68WT0N0/80.00A80,
-+      // WDC WD60EFRX-68MYMN1/82.00A82, WDC WD80EFZX-68UW8N0/83.H0A83
-+    "WDC WD(7500BFC|10JFC|[1-6]0EFR|80EFZ)X-.*",
-+    "", "",
-+    "-v 22,raw48,Helium_Level" // WD80EFZX
-+  },
-+  { "Western Digital Red Pro", // tested with WDC WD2001FFSX-68JNUN0/81.00A81
-+    "WDC WD[234]001FFSX-.*",
-+    "", "", ""
-+  },
-+  { "Western Digital Purple", // tested with WDC WD40PURX-64GVNY0/80.00A80
-+    "WDC WD[123456]0PURX-.*",
-+    "", "", ""
-+  },
 +  { "Western Digital Gold", // tested with WDC WD4002FYYZ-01B7CB0/01.01M02
 +    "WDC WD(101KR|[68]002FR|4002FY)YZ-.*",
 +    "", "", ""
 +  },
-+  { "Western Digital Blue Mobile", // tested with WDC WD5000LPVX-08V0TT2/03.01A03,
-+      // WDC WD20NPVZ-00WFZT0/01.01A01
-+    "WDC WD((25|32|50|75)00[BLM]|10[JS]|20N)P[CV][TXZ]-.*",
-+    "", "", ""
-+  },
-+  { "Western Digital Green Mobile", // tested with WDC WD20NPVX-00EA4T0/01.01A01
-+    "WDC WD(15|20)NPV[TX]-.*",
-+    "", "", ""
-+  },
+   { "Western Digital Blue Mobile", // tested with WDC WD5000LPVX-08V0TT2/03.01A03,
+       // WDC WD20NPVZ-00WFZT0/01.01A01
+     "WDC WD((25|32|50|75)00[BLM]|10[JS]|20N)P[CV][TXZ]-.*",
+@@ -3387,8 +3770,9 @@ const drive_settings builtin_knowndrives
+     "WDC WD(15|20)NPV[TX]-.*",
+     "", "", ""
+   },
+-  { "Western Digital Black Mobile", // tested with WDC WD7500BPKX-22HPJT0/01.01A01
+-    "WDC WD((16|25|32)00BE|(50|75)00BP)KX-.*",
 +  { "Western Digital Black Mobile", // tested with WDC WD7500BPKX-22HPJT0/01.01A01,
 +      // WDC WD10JPLX-00MBPT0/01.01H01
 +    "WDC WD((16|25|32)00BEK[TX]|(25|32|50|75)00(BPK|LPL)X|10JPLX)-.*",
      "", "", ""
    },
--  { "Western Digital My Passport (USB)", // tested with WDC WD5000BMVW-11AMCS0/01.01A01
-+  { "Western Digital Elements / My Passport (USB)", // tested with WDC WD5000BMVW-11AMCS0/01.01A01
-     "WDC WD(25|32|40|50)00BMV[UVW]-.*",  // *W-* = USB 3.0
-     "", "", ""
-   },
--  { "Western Digital My Passport (USB, AF)", // tested with
--      // WDC WD5000KMVV-11TK7S1/01.01A01, WDC WD10TMVW-11ZSMS5/01.01A01,
--      // WDC WD10JMVW-11S5XS1/01.01A01, WDC WD20NMVW-11W68S0/01.01A01
--    "WDC WD(5000[LK]|7500K|10[JT]|20N)MV[VW]-.*", // *W-* = USB 3.0
-+  { "Western Digital Elements / My Passport (USB, AF)", // tested with
-+      // WDC WD5000KMVV-11TK7S1/01.01A01,
-+      // WDC WD5000LMVW-11CKRS0/01.01A01 (0x1058:0x07ae),
-+      // WDC WD5000LMVW-11VEDS0/01.01A01 (0x1058:0x0816),
-+      // WDC WD7500BMVW-11AJGS2/01.01A01,
-+      // WDC WD10JMVW-11AJGS2/01.01A01 (0x1058:0x10b8),
-+      // WDC WD10JMVW-11AJGS4/01.01A01 (0x1058:0x25a2),
-+      // WDC WD10JMVW-11S5XS1/01.01A01,
-+      // WDC WD10TMVW-11ZSMS5/01.01A01,
-+      // WDC WD20NMVW-11AV3S2/01.01A01 (0x1058:0x0822),
+   { "Western Digital Elements / My Passport (USB)", // tested with WDC WD5000BMVW-11AMCS0/01.01A01
+@@ -3405,9 +3789,14 @@ const drive_settings builtin_knowndrives
+       // WDC WD10JMVW-11S5XS1/01.01A01,
+       // WDC WD10TMVW-11ZSMS5/01.01A01,
+       // WDC WD20NMVW-11AV3S2/01.01A01 (0x1058:0x0822),
 +      // WDC WD20NMVW-11AV3S3/01.01A01 (0x1058:0x0837),
++      // WDC WD20NMVW-11EDZS6/01.01A01 (0x1058-0x259f),
 +      // WDC WD20NMVW-11EDZS7/01.01A01 (0x1058:0x259d/25a1),
-+      // WDC WD20NMVW-11W68S0/01.01A01,
+       // WDC WD20NMVW-11W68S0/01.01A01,
+-      // WDC WD30NMVW-11C3NS4/01.01A01
+-    "WDC WD(5000[LK]|7500[BK]|10[JT]|[23]0N)MV[VW]-.*", // *W-* = USB 3.0
 +      // WDC WD20NMVW-59AV3S3/01.01A01 (0x1058:0x107d),
 +      // WDC WD30NMVW-11C3NS4/01.01A01,
-+      // WDC WD40NMZW-11GX6S1/01.01A01 (0x1058:0x2599)
++      // WDC WD40NMZW-11GX6S1/01.01A01 (0x1058:0x2599/25e2/25fa)
 +    "WDC WD(5000[LK]|7500[BK]|10[JT]|[234]0N)M[VZ][VW]-.*", // *W-* = USB 3.0
      "", "", ""
    },
    { "Quantum Bigfoot", // tested with TS10.0A/A21.0G00, TS12.7A/A21.0F00
-@@ -2638,6 +3539,13 @@ const drive_settings builtin_knowndrives
-   // USB ID entries
-   ////////////////////////////////////////////////////
- 
-+  // 0x0350 (?)
-+  { "USB: ViPowER USB3.0 Storage; ",
-+    "0x0350:0x0038",
-+    "", // 0x1905
-+    "",
-+    "-d sat,12" // ATA output registers missing
-+  },
-   // Hewlett-Packard
-   { "USB: HP Desktop HD BD07; ", // 2TB
-     "0x03f0:0xbd07",
-@@ -2666,9 +3574,22 @@ const drive_settings builtin_knowndrives
+@@ -3510,20 +3899,9 @@ const drive_settings builtin_knowndrives
      "",
      "-d sat"
    },
 -  { "USB: Buffalo MiniStation Stealth HD-PCTU2; ",
 -    "0x0411:0x01d9",
 -    "", // 0x0108
-+  { "USB: Buffalo Drivestation Duo; ",
-+    "0x0411:0x01ce",
-+    "",
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: Buffalo DriveStation HD-LBU2 ; Medialogic MLDU11",
-+    "0x0411:0x01ea",
-+    "",
-+    "",
-+    "-d sat"
-+  },
+-    "",
+-    "-d sat"
+-  },
+-  { "USB: Buffalo MiniStationHD-PCFU3; ",
+-    "0x0411:0x0240",
+-    "",
+-    "",
+-    "-d sat"
+-  },
+-  { "USB: Buffalo MiniStation Safe HD-PNFU3; ", // 1TB
+-    "0x0411:0x0251",
 +  { "USB: Buffalo MiniStation; ",
 +    "0x0411:0x0(1[df]9|240|251)", // 0x01d9: HD-PCTU2 (0x0108),
 +      // 0x01f9: HD-PZU3 (0x0100), 0x0240: HD-PCFU3, 0x0251: HD-PNFU3
-+    "",
      "",
-     "-d sat"
-   },
-@@ -2679,6 +3600,15 @@ const drive_settings builtin_knowndrives
      "",
-     "-d usbjmicron"
+     "-d sat"
+@@ -3537,7 +3915,9 @@ const drive_settings builtin_knowndrives
    },
-+  // Hitachi (?)
-+  { "USB: ; Renesas uPD720231A", // USB2/3->SATA
+   // Hitachi (?)
+   { "USB: ; Renesas uPD720231A", // USB2/3->SATA
+-    "0x045b:0x022a", // DeLock 62652 converter SATA 6GB/s > USB 3.0
 +    // 0x0229: Pi-102 Raspberry Pi USB to mSATA Converter Board
 +    // 0x022a: DeLock 62652 converter SATA 6GB/s > USB 3.0
 +    "0x045b:0x022[9a]",
+     "",
+     "",
+     "-d sat"
+@@ -3574,12 +3954,6 @@ const drive_settings builtin_knowndrives
+     "",
+     "-d sat"
+   },
+-  { "USB: Toshiba Canvio 3.0 Portable Hard Drive; ", // TOSHIBA MQ01UBD050
+-    "0x0480:0xa007",
+-    "", // 0x0001
+-    "",
+-    "-d sat"
+-  },
+   { "USB: Toshiba Stor.E; ",
+     "0x0480:0xa00[9ace]",
+     "", // 0x0000 (0xa00e)
+@@ -3587,8 +3961,10 @@ const drive_settings builtin_knowndrives
+     "-d sat"
+   },
+   { "USB: Toshiba Canvio; ",
+-    "0x0480:0xa(100|20[0c])", // 0xa100: TOSHIBA MQ01UBB200, 0xa200: TOSHIBA MQ01UBD100,
+-    "",  // 0xa20c: TOSHIBA MQ01ABB200
++    "0x0480:0x(a(007|100|20[0c])|" // 0xa007 TOSHIBA MQ01UBD050,
++              "b207)", // 0xa100: TOSHIBA MQ01UBB200, 0xa200: TOSHIBA MQ01UBD100,
++        // 0xa20c: TOSHIBA MQ01ABB200, 0xb207: TOSHIBA MQ03UBB200
++    "", // 0x0001 (0xa007)
+     "",
+     "-d sat"
+   },
+@@ -3749,7 +4125,8 @@ const drive_settings builtin_knowndrives
+     "-d usbsunplus"
+   },
+   { "USB: Iomega; JMicron",
+-    "0x059b:0x0(47[05]|575)", // 0x0470: LPHD-UP, 0x0475: GDHDU2 (0x0100), 0x0575: LDHD-UP
++    "0x059b:0x0(47[05]|57[15])", // 0x0470: LPHD-UP, 0x0475: GDHDU2 (0x0100),
++      // 0x0575: LDHD-UP
+     "",
+     "",
+     "-d usbjmicron"
+@@ -3767,6 +4144,12 @@ const drive_settings builtin_knowndrives
+     "",
+     "" // unsupported
+   },
++  { "USB: LaCie d2 Quadra; Oxford OXUF934SSA-LQAG ", // USB+IEEE1394+eSATA->SATA
++    "0x059f:0x0828",
 +    "",
 +    "",
 +    "-d sat"
 +  },
-   // Philips
-   { "USB: Philips; ", // SDE3273FC/97 2.5" SATA HDD enclosure
-     "0x0471:0x2021",
-@@ -2687,6 +3617,18 @@ const drive_settings builtin_knowndrives
+   { "USB: LaCie hard disk; JMicron",
+     "0x059f:0x0951",
+     "",
+@@ -3779,6 +4162,12 @@ const drive_settings builtin_knowndrives
+     "",
      "-d sat"
    },
-   // Toshiba
-+  { "USB: Toshiba Stor.E Slim USB 3.0; ", // TOSHIBA MQ01UBD100
-+    "0x0480:0x0100",
-+    "", // 0x0000
++  { "USB: LaCie Desktop Hard Drive;",
++    "0x059f:0x1010",
 +    "",
-+    "-d sat"
++    "",
++    "-d usbsunplus"
 +  },
-+  { "USB: Toshiba Canvio; ", // 0x0210: TOSHIBA MQ03UBB300
-+    "0x0480:0x02(01|10)",
+   { "USB: LaCie Desktop Hard Drive; ",
+     "0x059f:0x101[68]", // 0x1016: SAMSUNG HD103UJ
+     "", // 0x0001
+@@ -3815,6 +4204,12 @@ const drive_settings builtin_knowndrives
+     "",
+     "-d usbjmicron,x"
+   },
++  { "USB: LaCie D2 USB2; LucidPort USB300 ",
++    "0x059f:0x103d",
 +    "",
 +    "",
 +    "-d sat"
 +  },
-   { "USB: Toshiba Canvio 500GB; SunPlus",
-     "0x0480:0xa004",
+   { "USB: LaCie rikiki USB 3.0; ",
+     "0x059f:0x10(49|57)",
      "",
-@@ -2694,20 +3636,32 @@ const drive_settings builtin_knowndrives
-     "-d usbsunplus"
+@@ -3833,9 +4228,9 @@ const drive_settings builtin_knowndrives
+     "",
+     "-d sat"
    },
-   { "USB: Toshiba Canvio Basics; ",
--    "0x0480:0xa006",
+-  { "USB: LaCie; ",
+-    "0x059f:0x106f",
 -    "", // 0x0001
-+    "0x0480:0xa00[6d]",
-+    "", // 0x0001, 0x0407
++  { "USB: LaCie; ", // 0x1070: ASMedia 1053 ?
++    "0x059f:0x10(6f|7[05])",
++    "", // 6f/70=0x0001, 75=0x0000
      "",
      "-d sat"
    },
--  { "USB: Toshiba Canvio 3.0 Portable Hard Drive; ", // 1TB
-+  { "USB: Toshiba Canvio 3.0 Portable Hard Drive; ", // TOSHIBA MQ01UBD050
-     "0x0480:0xa007",
-     "", // 0x0001
+@@ -3846,6 +4241,13 @@ const drive_settings builtin_knowndrives
      "",
-     "-d sat"
+     "-d usbcypress"
    },
--  { "USB: Toshiba Canvio Desktop; ", // 2TB
--    "0x0480:0xd010",
-+  { "USB: Toshiba Stor.E; ",
-+    "0x0480:0xa00[9ace]",
-+    "", // 0x0000 (0xa00e)
++  // Apple
++  { "USB: Apple; ",
++    "0x05ac:0x8406", // TOSHIBA MQ01UBB200
++    "",
 +    "",
 +    "-d sat"
 +  },
-+  { "USB: Toshiba Canvio; ",
-+    "0x0480:0xa(100|20[0c])", // 0xa100: TOSHIBA MQ01UBB200, 0xa200: TOSHIBA MQ01UBD100,
-+    "",  // 0xa20c: TOSHIBA MQ01ABB200
-     "",
-+    "-d sat"
-+  },
-+  { "USB: Toshiba Canvio Desktop; ",
-+    "0x0480:0xd0(00|10|11)",
-+    "", // 0x0316 (0xd011)
-     "",
-     "-d sat"
-   },
-@@ -2731,8 +3685,7 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d sat"
-   },
--  // Fujitsu chip on DeLock 42475 
--  { "USB: Fujitsu  SATA-to-USB3.0 bridge chip", // USB 3.0
-+  { "USB: ; Fujitsu", // DeLock 42475, USB 3.0
-     "0x04c5:0x201d",
-     "", // 0x0001
-     "",
-@@ -2747,10 +3700,10 @@ const drive_settings builtin_knowndrives
-   },
-   // Samsung
-   { "USB: Samsung S2 Portable; JMicron",
--    "0x04e8:0x1f0[568]",
-+    "0x04e8:0x1f0[568a]", // 0x1f0a: SAMSUNG HN-M101XBB
-     "",
-     "",
--    "-d usbjmicron"
-+    "-d usbjmicron" // 0x1f0a: works also with "-d sat"
-   },
-   { "USB: Samsung S1 Portable; JMicron",
-     "0x04e8:0x2f03",
-@@ -2766,9 +3719,15 @@ const drive_settings builtin_knowndrives
-   },
-   { "USB: Samsung G2 Portable; JMicron",
-     "0x04e8:0x6032",
-+    "0x0000",
-     "",
-+    "-d usbjmicron" // ticket #132
-+  },
-+  { "USB: Samsung G2 Portable; ",
-+    "0x04e8:0x6032",
-+    "0x...[1-9]", // >= 0x0001
-     "",
--    "-d usbjmicron"
-+    "-d sat"
-   },
-   { "USB: Samsung Story Station 3.0; ",
-     "0x04e8:0x6052",
-@@ -2788,12 +3747,24 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d sat"
-   },
--  { "USB: Samsung M3 Portable USB 3.0; ", // 1TB
--    "0x04e8:0x61b6",
-+  { "USB: Samsung D3 Station; ",
-+    "0x04e8:0x612[45]", // 3TB, 4TB
-+    "", // 0x200, 0x202
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: Samsung M3 Portable USB 3.0; ", // 1.5/2TB: SpinPoint M9TU
-+    "0x04e8:0x61b[3456]", // 500MB, 2TB, 1.5TB, 1TB
-     "", // 0x0e00
-     "",
-     "-d sat"
-   },
-+  { "USB: Samsung S3 Portable; ",
-+    "0x04e8:0x61c8", // ST1000LM025 HN-M101ABB
-+    "", // 0x1301
-+    "",
-+    "-d sat"
-+  },
-   // Sunplus
-   { "USB: ; SunPlus",
-     "0x04fc:0x0c05",
-@@ -2832,9 +3803,9 @@ const drive_settings builtin_knowndrives
-     "",
-     "" // unsupported
-   },
--  { "USB: Iomega MDHD-UE; ",
--    "0x059b:0x0277",
--    "",
-+  { "USB: Iomega; JMicron",
-+    "0x059b:0x027[78]",  // 0x0277: MDHD-UE, 0x0278: LDHD-UPS
-+    "", // 0x0000
-     "",
-     "-d usbjmicron"
-   },
-@@ -2844,12 +3815,19 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d usbsunplus"
-   },
--  { "USB: Iomega GDHDU2; JMicron",
--    "0x059b:0x0475",
--    "", // 0x0100
-+  { "USB: Iomega; JMicron",
-+    "0x059b:0x0(47[05]|57[15])", // 0x0470: LPHD-UP, 0x0475: GDHDU2 (0x0100),
-+      // 0x0575: LDHD-UP
-+    "",
-     "",
-     "-d usbjmicron"
-   },
-+  { "USB: Iomega; JMicron",
-+    "0x059b:0x047a",
-+    "", // 0x0100
-+    "",
-+    "-d sat" // works also with "-d usbjmicron"
-+  },
-   // LaCie
-   { "USB: LaCie hard disk (FA Porsche design);",
-     "0x059f:0x0651",
-@@ -2863,9 +3841,15 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d usbjmicron"
-   },
--  { "USB: LaCie hard disk (Neil Poulton design);",
--    "0x059f:0x1018",
-+  { "USB: LaCie Rugged Triple Interface; ",
-+    "0x059f:0x100c",
-+    "", // 0x0001
-     "",
-+    "-d sat"
-+  },
-+  { "USB: LaCie Desktop Hard Drive; ",
-+    "0x059f:0x101[68]", // 0x1016: SAMSUNG HD103UJ
-+    "", // 0x0001
-     "",
-     "-d sat"
-   },
-@@ -2917,6 +3901,12 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d sat"
-   },
-+  { "USB: LaCie; ", // 0x1070: ASMedia 1053 ?
-+    "0x059f:0x10(6f|7[05])",
-+    "", // 6f/70=0x0001, 75=0x0000
-+    "",
-+    "-d sat"
-+  },
-   // In-System Design
-   { "USB: ; In-System/Cypress ISD-300A1",
-     "0x05ab:0x0060",
-@@ -2937,6 +3927,18 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d sat"
-   },
-+  { "USB: ; Genesys Logic GL3310",
-+    "0x05e3:0x0731", // Chieftec USB 3.0 2.5" case
-+    "",
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: ; Genesys Logic",
-+    "0x05e3:0x0735",
-+    "", // 0x1003
-+    "",
-+    "-d sat"
-+  },
-   // Micron
-   { "USB: Micron USB SSD; ",
-     "0x0634:0x0655",
-@@ -2951,7 +3953,13 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d usbjmicron,0" // Port number is required
-   },
--  { "USB: ; Prolific PL3507", // USB+IEE1394->PATA
-+  { "USB: ; Prolific PL2571/2771/2773/2775", // USB->SATA, USB3->SATA,
-+    "0x067b:0x(2571|277[135])",              // USB3+eSATA->SATA, USB3->2xSATA
-+    "",
-+    "",
-+    "" // smartmontools >= r4004: -d usbprolific
-+  },
-+  { "USB: ; Prolific PL3507", // USB+IEEE1394->PATA
-     "0x067b:0x3507",
-     "", // 0x0001
-     "",
-@@ -2964,7 +3972,20 @@ const drive_settings builtin_knowndrives
+   // Genesys Logic
+   { "USB: ; Genesys Logic GL881E",
+     "0x05e3:0x0702",
+@@ -3918,6 +4320,12 @@ const drive_settings builtin_knowndrives
      "",
      "-d sat"
    },
-+  // SanDisk
-+  { "USB: SanDisk SDCZ80 Flash Drive; Fujitsu", // ATA ID: SanDisk pSSD
-+    "0x0781:0x558[08]",
-+    "",
-+    "",
-+    "-d sat"
-+  },
-   // Freecom
-+  { "USB: ; Innostor IS631", // No Name USB3->SATA Enclosure
-+    "0x07ab:0x0621",
++  { "USB: Freecom Quattro 3.0; ", // USB3.0+IEEE1394+eSATA->SATA
++    "0x07ab:0xfc77",
 +    "",
 +    "",
 +    "-d sat"
@@ -2116,34 +1145,10 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
    { "USB: Freecom Mobile Drive XXS; JMicron",
      "0x07ab:0xfc88",
      "", // 0x0101
-@@ -2989,8 +4010,8 @@ const drive_settings builtin_knowndrives
-     "",
-     "" // unsupported
-   },
--  { "USB: Freecom HD 500GB; JMicron",
--    "0x07ab:0xfcda",
-+  { "USB: Freecom HD; JMicron", // 500GB
-+    "0x07ab:0xfcd[6a]",
-     "",
+@@ -4006,6 +4414,13 @@ const drive_settings builtin_knowndrives
      "",
-     "-d usbjmicron"
-@@ -3041,11 +4062,25 @@ const drive_settings builtin_knowndrives
-   },
-   // Lumberg, Inc.
-   { "USB: Toshiba Stor.E; Sunplus",
--    "0x0939:0x0b16",
-+    "0x0939:0x0b1[56]",
-     "",
-     "",
-     "-d usbsunplus"
+     "-d sat"
    },
-+  // Apricorn
-+  { "USB: Apricorn SATA Wire; ",
-+    "0x0984:0x0040",
-+    "",
-+    "",
-+    "-d sat"
-+  },
 +  // Neodio Technologies
 +  { "USB: Neodio; Initio INIC-1810PL",
 +    "0x0aec:0x3050",
@@ -2154,40 +1159,31 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
    // Seagate
    { "USB: Seagate External Drive; Cypress",
      "0x0bc2:0x0503",
-@@ -3066,8 +4101,8 @@ const drive_settings builtin_knowndrives
+@@ -4026,8 +4441,8 @@ const drive_settings builtin_knowndrives
      "-d sat"
    },
    { "USB: Seagate Expansion Portable; ",
--    "0x0bc2:0x2300",
--    "",
-+    "0x0bc2:0x23(00|12|20|21|22)",
-+    "", // 12=0x0219, 22=0x0000
+-    "0x0bc2:0x23(00|12|20|21|22)",
+-    "", // 12=0x0219, 22=0x0000
++    "0x0bc2:0x23(00|12|1a|20|21|22)",
++    "", // 12=0x0219, 1a=0x0707, 22=0x0000
      "",
      "-d sat"
    },
-@@ -3089,19 +4124,31 @@ const drive_settings builtin_knowndrives
+@@ -4055,9 +4470,9 @@ const drive_settings builtin_knowndrives
      "",
-     "-d sat,12"
+     "-d sat"
    },
--  { "USB: Seagate Expansion External; ", // 2TB, 3TB
--    "0x0bc2:0x33(00|20|32)",
-+  { "USB: Seagate FreeAgent XTreme; ",
-+    "0x0bc2:0x3101",
-+    "",
-     "",
-+    "-d sat"
-+  },
+-  { "USB: Seagate Expansion External; ",
+-    "0x0bc2:0x33(00|12|20|21|32)", // 0x3321: Expansion Desktop 4TB
+-    "",
 +  { "USB: Seagate Expansion Desktop; ",
 +    "0x0bc2:0x33(00|1[2a]|2[012]|32)", // 1a=5TB, 21=4TB
 +    "", // 1a=0x0909
      "",
      "-d sat"
    },
-   { "USB: Seagate FreeAgent GoFlex USB 2.0; ",
--    "0x0bc2:0x5021",
-+    "0x0bc2:0x502[01]",
-     "",
-     "",
+@@ -4068,6 +4483,12 @@ const drive_settings builtin_knowndrives
      "-d sat"
    },
    { "USB: Seagate FreeAgent GoFlex USB 3.0; ",
@@ -2200,27 +1196,13 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
      "0x0bc2:0x5031",
      "",
      "",
-@@ -3114,7 +4161,7 @@ const drive_settings builtin_knowndrives
-     "-d sat"
-   },
-   { "USB: Seagate FreeAgent GoFlex USB 3.0; ", // 2TB
--    "0x0bc2:0x5071",
-+    "0x0bc2:0x507[01]",
-     "",
-     "",
-     "-d sat"
-@@ -3125,24 +4172,54 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d sat,12" // "-d sat" does not work (ticket #151)
-   },
--  { "USB: Seagate FreeAgent GoFlex Desk USB 3.0; ", // 4TB
--    "0x0bc2:0x50a5",
-+  { "USB: Seagate FreeAgent GoFlex Desk USB 3.0; ", // 2TB, 4TB
-+    "0x0bc2:0x50a[57]",
-     "", // 0x0100
+@@ -4097,9 +4518,17 @@ const drive_settings builtin_knowndrives
      "",
      "-d sat"
    },
+-  { "USB: Seagate FreeAgent GoFlex Pro for Mac; ",
+-    "0x0bc2:0x6121",
+-    "", // 0x0148
 +  { "USB: Seagate FreeAgent GoFlex; ",
 +    // 0x6121: Seagate FreeAgent GoFlex Pro for Mac (0x0148)
 +    // 0x6126: Maxtor D3 Station 5TB (0x0209)
@@ -2229,47 +1211,36 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
 +    "",
 +    "-d sat"
 +  },
-   { "USB: Seagate Backup Plus USB 3.0; ", // 1TB
--    "0x0bc2:0xa013",
-+    "0x0bc2:0xa0[01]3",
-     "", // 0x0100
++  { "USB: Maxtor M3 Portable; ",
++    "0x0bc2:0x61b7", // Maxtor M3 Portable 4TB (0x0000)
++    "",
      "",
      "-d sat"
    },
--  { "USB: Seagate Backup Plus Desktop USB 3.0; ", // 4TB, 3TB (8 LBA/1 PBA offset)
--    "0x0bc2:0xa0a[14]",
-+  { "USB: Seagate Backup Plus Desktop USB 3.0; ",
+@@ -4110,7 +4539,7 @@ const drive_settings builtin_knowndrives
+     "-d sat"
+   },
+   { "USB: Seagate Backup Plus Desktop USB 3.0; ",
+-    "0x0bc2:0xa(0a[14]|b31)", // 4TB, 3TB (8 LBA/1 PBA offset), 5TB
 +    "0x0bc2:0xa(0a[14]|b3[14])", // 4TB, 3TB (8 LBA/1 PBA offset), 5TB, ?
-+    "",
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: Seagate Slim Portable Drive; ", // SRD00F1
-+    "0x0bc2:0xab00",
-+    "",
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: Seagate Backup Plus USB 3.0; ",
+     "",
+     "",
+     "-d sat"
+@@ -4122,8 +4551,11 @@ const drive_settings builtin_knowndrives
+     "-d sat"
+   },
+   { "USB: Seagate Backup Plus USB 3.0; ",
+-    "0x0bc2:0xab2[0145]", // 0xab24: Slim (ticket #443), 0xab25: Mac
+-    "", // 0x0100
 +    // 0xab24: Seagate Backup Plus Slim (0x0100) (ticket #443)
 +    // 0xab25: Seagate Backup Plus for Mac (0x0100)
 +    // 0xab38: Seagate Backup Plus 8TB (0x0100) (ticket #786)
 +    "0x0bc2:0xab(2[01458]|38)",
-     "",
++    "",
      "",
      "-d sat"
    },
-+  // Addonics
-+  { "USB: Addonics HDMU3; ", // (ticket #609)
-+    "0x0bf6:0x1001",
-+    "", // 0x0100
-+    "",
-+    ""
-+  },
-   // Dura Micro
-   { "USB: Dura Micro; Cypress",
-     "0x0c0b:0xb001",
-@@ -3150,6 +4227,12 @@ const drive_settings builtin_knowndrives
+@@ -4141,6 +4573,12 @@ const drive_settings builtin_knowndrives
      "",
      "-d usbcypress"
    },
@@ -2282,478 +1253,116 @@ diff -up smartmontools-6.2/drivedb.h.up2datedrivedb smartmontools-6.2/drivedb.h
    { "USB: Dura Micro 509; Sunplus",
      "0x0c0b:0xb159",
      "", // 0x0103
-@@ -3199,6 +4282,13 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d sat"
-   },
-+  // Jess-Link International
-+  { "USB: ; Cypress", // Medion HDDrive2Go
-+    "0x0dbf:0x9001",
-+    "", // 0x0240
-+    "",
-+    "-d usbcypress"
-+  },
-   // Oyen Digital
-   { "USB: Oyen Digital MiniPro USB 3.0; ",
-     "0x0dc4:0x020a",
-@@ -3227,129 +4317,28 @@ const drive_settings builtin_knowndrives
+@@ -4225,39 +4663,28 @@ const drive_settings builtin_knowndrives
      "",
      "-d usbcypress"
    },
--  { "USB: WD My Passport Portable; ",
--    "0x1058:0x0702",
--    "", // 0x0102
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Passport Essential; ",
--    "0x1058:0x0704",
--    "", // 0x0175
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Passport Elite; ",
--    "0x1058:0x0705",
--    "", // 0x0175
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Passport 070A; ",
--    "0x1058:0x070a",
--    "", // 0x1028
+-  { "USB: WD My Passport; ",
+-    "0x1058:0x0(70[245a]|71a|730|74[0128a]|7a[8e]|8(10|16|20|22|30))",
+-    "", // 822=0x1007
 -    "",
 -    "-d sat"
 -  },
--  { "USB: WD My Passport 0730; ",
--    "0x1058:0x0730",
--    "", // 0x1008
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Passport Essential SE USB 3.0; ",
--    "0x1058:0x074[02]",
--    "",
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Passport USB 3.0; ",
--    "0x1058:0x07[4a]8",
--    "",
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Book ES; ",
--    "0x1058:0x0906",
--    "", // 0x0012
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Book Essential; ",
--    "0x1058:0x0910",
--    "", // 0x0106
+-  { "USB: WD My Book; ",
+-    "0x1058:0x09(00|06|10)",
+-    "", // 06=0x0012, 10=0x0106
 -    "",
 -    "-d sat"
 -  },
    { "USB: WD Elements Desktop; ",
--    "0x1058:0x1001",
--    "", // 0x0104
--    "",
--    "-d sat"
--  },
--  { "USB: WD Elements Desktop WDE1UBK...; ",
--    "0x1058:0x1003",
--    "", // 0x0175
--    "",
--    "-d sat"
--  },
+     "0x1058:0x10(01|03|21|7c)",
+     "", // 01=0x0104, 03=0x0175, 21=0x2002, 7c=0x1065
+     "",
+     "-d sat"
+   },
 -  { "USB: WD Elements; ",
--    "0x1058:0x10(10|a2)",
--    "", // 0x0105
--    "",
--    "-d sat"
--  },
--  { "USB: WD Elements Desktop; ", // 2TB
--    "0x1058:0x1021",
--    "", // 0x2002
--    "",
--    "-d sat"
--  },
--  { "USB: WD Elements SE; ", // 1TB
--    "0x1058:0x1023",
--    "",
--    "",
--    "-d sat"
--  },
--  { "USB: WD Elements SE USB 3.0; ",
--    "0x1058:0x1042",
--    "",
+-    "0x1058:0x10(10|23|42|48|a2|a8|b8)",
+-    "", // 10=0x0105, a8=0x1042, b8=0x1007
 -    "",
 -    "-d sat"
 -  },
--  { "USB: WD My Book Essential; ",
--    "0x1058:0x1100",
--    "", // 0x0165
-+    "0x1058:0x10(01|03|21|7c)",
-+    "", // 01=0x0104, 03=0x0175, 21=0x2002, 7c=0x1065
-     "",
-     "-d sat"
-   },
--  { "USB: WD My Book Office Edition; ", // 1TB
--    "0x1058:0x1101",
--    "", // 0x0165
-+  { "USB: WD Elements / My Passport; ",
+-  { "USB: WD My Book; ",
+-    "0x1058:0x11(00|01|02|04|05|10|30|40)",
+-    "", // 00/01=0x0165, 02=0x1028, 10=0x1030, 30=0x1012, 40=0x1003
++  { "USB: WD Elements / My Passport; ", // 2.5" with integrated USB
 +    "0x1058:0x(07(0[245a]|1a|30|4[0128a]|a[8e])|"
 +              "08(1[06]|2[02]|3[37a])|"
 +              "10(10|23|4[28]|7d|a[28]|b8)|"
-+              "25(9[9d]|a[12]))",
++              "25(9[9df]|a[12]|e2|fa))",
 +    "", // 0x0822=0x1007, 37=0x1072
 +        // 0x1010=0x0105, 7d=0x1073, a8=0x1042, b8=0x1007
-+        // 0x2599=0x1012, 9d/a1=0x1005, a2=0x1004
++        // 0x2599=0x1012, 9d/a1=0x1005, 9f/a2=0x1004
      "",
      "-d sat"
    },
-   { "USB: WD My Book; ",
--    "0x1058:0x1102",
--    "", // 0x1028
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Book Studio II; ", // 2x1TB
--    "0x1058:0x1105",
--    "",
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Book Essential; ",
--    "0x1058:0x1110",
--    "", // 0x1030
--    "",
--    "-d sat"
--  },
--  { "USB: WD My Book Essential USB 3.0; ", // 3TB
--    "0x1058:0x11[34]0",
--    "", // 0x1012/0x1003
-+    "0x1058:0x(09(0[06]|10)|11(0[01245]|1[0d]|30|40)|25a3)",
+-  { "USB: WD Elements; ",
+-    "0x1058:0x25a2",
+-    "", // 0x1004
++  { "USB: WD My Book / Easystore; ", // 3.5"
++    "0x1058:0x(09(0[06]|10)|11(0[01245]|1[0d]|30|40)|1230|25(a3|fb))",
 +    "", // 0x0906=0x0012, 10=0x0106
 +        // 0x1100/01=0x0165, 02=0x1028, 10=0x1030, 1d=0x1020, 30=0x1012, 40=0x1003
-+        // 0x25a3=0x1013
++        // 0x1230=0x1065, 0x25a3=0x1013, 0x25fb=0x3004
      "",
      "-d sat"
    },
-@@ -3360,15 +4349,15 @@ const drive_settings builtin_knowndrives
-     "",
+@@ -4381,6 +4808,12 @@ const drive_settings builtin_knowndrives
+     "", // 0x0205, 2.05, Mediasonic ProBox HF2-SU3S2 Rev 3 (port multiplier, ticket #504)
      "-d sat"
    },
--  // A-DATA
--  { "USB: A-DATA SH93; Cypress",
--    "0x125f:0xa93a",
--    "", // 0x0150
-+  // ADATA
-+  { "USB: ADATA; ",
-+    "0x125f:0xa(11|31|35|15)a", // 0xa11a: Classic CH11 1TB, 0xa31a: HV620 2TB (0x0100)
-+    "", // 0xa35a: HD650 2TB (0x6503), 0xa15a: HD710 1TB
-     "",
--    "-d usbcypress"
-+    "-d sat"
-   },
--  { "USB: A-DATA DashDrive; Cypress",
--    "0x125f:0xa94a",
-+  { "USB: ADATA; Cypress",
-+    "0x125f:0xa9[34]a", // 0xa93a: SH93 (0x0150)
-     "",
-     "",
-     "-d usbcypress"
-@@ -3410,6 +4399,12 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d sat"
-   },
-+  { "USB: ; Initio",
-+    "0x13fd:0x16[45]0",
-+    "", // 0x1640: 0x0864, 0x1650: 0x0436
-+    "",
-+    "-d sat,12" // some SMART commands fail, see ticket #295
-+  },
-   { "USB: Intenso Memory Station 2,5\"; Initio",
-     "0x13fd:0x1840",
-     "",
-@@ -3422,32 +4417,63 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d sat"
-   },
-+  { "USB: ; Initio",
-+    "0x13fd:0x39[124]0", // 0x3910: Seagate Expansion Portable SRD00F1 (0x0100)
-+    "", // 0x3920: ezDISK EZ370 (0x0205)
-+    "", // 0x3940: MS-TECH LU-275S (0x0306)
-+    "-d sat"
-+  },
-   // Super Top
--  { "USB: Super Top generic enclosure; Cypress",
-+  { "USB: Super Top generic enclosure; ",
-     "0x14cd:0x6116",
-+    "", // 0x0150, older report suggests -d usbcypress
-     "", // 0x0160 also reported as unsupported
--    "",
--    "-d usbcypress"
-+    "-d sat"
-   },
-   // JMicron
--  { "USB: ; JMicron USB 3.0",
-+  { "USB: ; JMicron JMS539", // USB2/3->SATA (old firmware)
-     "0x152d:0x0539",
--    "", // 0x0100
--    "",
--    "-d usbjmicron"
-+    "0x0100",      // 1.00, various devices support -d usbjmicron
-+    "",            // 1.00, SSI SI-1359RUS3 supports -d sat,
-+    ""             //       -d usbjmicron may disconnect drive (ticket #552)
-+  },
-+  { "USB: ; JMicron JMS539", // USB2/3->SATA (new firmware)
-+    "0x152d:0x0539",
-+    "0x020[56]|"   //  2.05, ZTC USB 3.0 enclosure (ticket #338)
-+    "0x28(03|12)", // 28.03, Mediasonic ProBox HF2-SU3S2 Rev 2 (port multiplier, ticket #504)
-+    "",            // 28.12, Mediasonic ProBox H82-SU3S2 (port multiplier)
-+    "-d sat"
-   },
-   { "USB: ; JMicron ", // USB->SATA->4xSATA (port multiplier)
--    "0x152d:0x0551",
-+    "0x152d:0x0551",   // JMS539? (old firmware may use 0x152d:0x0539, ticket #552)
-     "", // 0x0100
-     "",
-     "-d usbjmicron,x"
-   },
-+  { "USB: ; JMicron", // USB2/3->2xSATA
-+    "0x152d:0x0565",
-+    "", // 0x9114, Akasa DuoDock X (ticket #607)
++  { "USB: ; JMicron JMS578", // USB->SATA
++    "0x152d:0x0578",
++    "", // 0x0100
 +    "",
 +    "-d sat"
 +  },
-+  { "USB: ; JMicron JMS567", // USB2/3->SATA
-+    "0x152d:0x0567",
-+    "", // 0x0114
-+    "", // 0x0205, 2.05, Mediasonic ProBox HF2-SU3S2 Rev 3 (port multiplier, ticket #504)
-+    "-d sat"
-+  },
    { "USB: OCZ THROTTLE OCZESATATHR8G; JMicron JMF601",
      "0x152d:0x0602",
      "",
+@@ -4465,9 +4898,15 @@ const drive_settings builtin_knowndrives
      "",
-     "" // unsupported
-   },
-+  { "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
-+    "",
-+    "-d sat"
-+  },
-   { "USB: ; JMicron JM20329", // USB->SATA
-     "0x152d:0x2329",
-     "", // 0x0100
-@@ -3496,14 +4522,56 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d usbjmicron,x"
+     "-d sat"
    },
-+  { "USB: ; JMicron JMS566", // USB3->SATA
-+    "0x152d:0x2566", // e.g. Chieftec CEB-7035S
-+    "", // 0x0114
-+    "",
-+    "-d usbjmicron,x"
-+  },
-+  { "USB: ; JMicron",
-+    "0x152d:0x2590",
-+    "", // 0x0x8105 (ticket #550)
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: ; JMicron JMS567", // USB2/3->SATA
-+    "0x152d:0x3562",
-+    "", // 0x0310, StarTech S358BU33ERM (port multiplier, ticket #508)
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: ; JMicron", // USB3->SATA
-+    "0x152d:0x3569",
-+    "", // 0x0203
++  { "USB: ; JMicron JMS561U", // USB3->2xSATA
++    "0x152d:0x8561",
++    "", // 0x0107
 +    "",
 +    "-d sat"
 +  },
    // ASMedia
+-  { "USB: ; ASMedia ASM1053/1153",
+-    "0x174c:0x1[01]53",
 +  { "USB: ; ASMedia ASM1053/1153/1351",
 +    "0x174c:0x1([01]53|351)",
-+    "",
-+    "",
-+    "-d sat"
-+  },
-   { "USB: ; ASMedia ASM1051",
-     "0x174c:0x5106", // 0x174c:0x55aa after firmware update
      "",
      "",
      "-d sat"
-   },
--  { "USB: ; ASMedia USB 3.0", // MEDION HDDrive-n-GO, LaCie Rikiki USB 3.0,
-+  { "USB: ; ASMedia AS2105", // Icy Box IB-AC603A-U3
-+    "0x174c:0x5136",
-+    "", // 0x0001
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: ; ASMedia", // Vantec NexStar USB 3.0 & SATA dual drive dock
-+    "0x174c:0x5516",
-+    "",
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: ; ASMedia", // MEDION HDDrive-n-GO, LaCie Rikiki USB 3.0,
-       // Silicon Power Armor A80 (ticket #237)
-       // reported as unsupported: BYTECC T-200U3, Kingwin USB 3.0 docking station
-     "0x174c:0x55aa",
-@@ -3518,6 +4586,12 @@ const drive_settings builtin_knowndrives
-     "",
+@@ -4595,10 +5034,10 @@ const drive_settings builtin_knowndrives
      "-d sat"
    },
-+  { "USB: ; LucidPort", // Fuj:tech SATA-USB3 dock
-+    "0x1759:0x5100",
-+    "", // 0x2580
-+    "",
-+    "-d sat"
-+  },
-   // Verbatim
-   { "USB: Verbatim Portable Hard Drive; Sunplus",
-     "0x18a5:0x0214",
-@@ -3525,7 +4599,7 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d usbsunplus"
-   },
--  { "USB: Verbatim FW/USB160; Oxford OXUF934SSA-LQAG", // USB+IEE1394->SATA
-+  { "USB: Verbatim FW/USB160; Oxford OXUF934SSA-LQAG", // USB+IEEE1394->SATA
-     "0x18a5:0x0215",
-     "", // 0x0001
-     "",
-@@ -3555,6 +4629,18 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d usbjmicron"
-   },
-+  { "USB: Verbatim Pocket Hard Drive; ", // 1TB USB 3.0
-+    "0x18a5:0x0237",
-+    "",
-+    "",
-+    "-d sat,12"
-+  },
-+  { "USB: Verbatim External Hard Drive; ", // 3TB USB 3.0
-+    "0x18a5:0x0400",
-+    "",
-+    "",
-+    "-d sat"
-+  },
-   // Silicon Image
-   { "USB: Vantec NST-400MX-SR; Silicon Image 5744",
-     "0x1a4a:0x1670",
-@@ -3569,13 +4655,52 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d usbsunplus"
-   },
-+  // TrekStor
-+  { "USB: TrekStor DataStation; ", // DataStation maxi light (USB 3.0)
-+    "0x1e68:0x0050",
-+    "", // 0x0100
-+    "",
-+    "-d sat"
-+  },
-   // Innostor
--  { "USB: ; Innostor IS888", // Sharkoon SATA QuickDeck Pro USB 3.0
--    "0x1f75:0x0888",
-+  { "USB: ; Innostor IS611", // USB3->SATA+PATA
-+    "0x1f75:0x0611", // SMART access via PATA does not work
-+    "",
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: ; Innostor IS621", // USB3->SATA
-+    "0x1f75:0x0621", // Dynex 2.5" USB 3.0 Exclosure DX-HD302513
-+    "",
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: ; Innostor IS888", // USB3->SATA
-+    "0x1f75:0x0888", // Sharkoon SATA QuickDeck Pro USB 3.0
-     "", // 0x0034
-     "",
-     "" // unsupported
-   },
-+  // VIA Labs
-+  { "USB: ; VIA VL701", // USB2/3->SATA
-+    "0x2109:0x0701", // Intenso 2,5" 1TB USB3
-+    "", // 0x0107
-+    "",
-+    "-d sat" // ATA output registers missing
-+  },
-+  { "USB: ; VIA VL711", // USB2/3->SATA
-+    "0x2109:0x0711",
-+    "", // 0x0114, Mediasonic ProBox K32-SU3 (ticket #594)
-+    "", // 0x0507, Intenso 2,5" Memory Case 2TB USB3
-+    "-d sat"
-+  },
-+  // 0x2537 (?)
-+  { "USB: ; ", // USB 3.0
-+    "0x2537:0x106[68]", // 0x1066: Orico 2599US3, 0x1068: Fantec ER-35U3
-+    "", // 0x0100
-+    "",
+   { "USB: ; Innostor IS888", // USB3->SATA
+-    "0x1f75:0x0888", // Sharkoon SATA QuickDeck Pro USB 3.0
+-    "", // 0x0034
+-    "",
+-    "" // unsupported
++    "0x1f75:0x0888",
++    "", // 0x0034, Sharkoon SATA QuickDeck Pro USB 3.0 (unsupported)
++    "", // 0x0036, works with -d sat (ticket #827)
 +    "-d sat"
-+  },
-   // Power Quotient International
-   { "USB: PQI H560; ",
-     "0x3538:0x0902",
-@@ -3583,6 +4708,13 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d sat"
-   },
-+  // Sharkoon
-+  { "USB: Sharkoon QuickPort XT USB 3.0; ",
-+     "0x357d:0x7788",
-+     "",
-+     "",
-+     "-d sat"
-+  },
-   // Hitachi/SimpleTech
-   { "USB: Hitachi Touro Desk; JMicron", // 3TB
-     "0x4971:0x1011",
-@@ -3590,12 +4722,24 @@ const drive_settings builtin_knowndrives
-     "",
-     "-d usbjmicron"
-   },
--  { "USB: Hitachi Touro Desk 3.0; ", // 2TB
--    "0x4971:0x1015",
-+  { "USB: Hitachi Touro; ",
-+    "0x4971:0x101[45]", // 14=1TB, 15=2TB
-     "", // 0x0000
-     "",
-     "-d sat" // ATA output registers missing
    },
-+  { "USB: Hitachi Touro Mobile; ", // 1TB
-+    "0x4971:0x102[04]",
-+    "", // 0x0100
-+    "",
-+    "-d sat"
-+  },
-+  { "USB: SimpleTech;", // USB 3.0 HDD BOX Agestar,  Rock External HDD 3,5" UASP
-+    "0x4971:0x8017",
-+    "",
-+    "",
-+    "-d sat"
-+  },
-   { "USB: Hitachi/SimpleTech; JMicron", // 1TB
-     "0x4971:0xce17",
-     "",
-@@ -3616,6 +4760,13 @@ const drive_settings builtin_knowndrives
+   // VIA Labs
+   { "USB: ; VIA VL701", // USB2/3->SATA
+@@ -4627,6 +5066,13 @@ const drive_settings builtin_knowndrives
      "",
      "-d sat"
    },
-+  // 0xabcd (?)
-+  { "USB: ; ",
-+    "0xabcd:0x6103", // LogiLink AU0028A V1.0 USB 3.0 to IDE & SATA Adapter
++  // Power Quotient International
++  { "USB: PQI bridge; ",
++    "0x3538:0x0064",
 +    "",
 +    "",
-+    "-d sat"
++    "-d usbsunplus"
 +  },
- /*
- }; // builtin_knowndrives[]
-  */
+   // Sharkoon
+   { "USB: Sharkoon QuickPort XT USB 3.0; ",
+      "0x357d:0x7788",
diff --git a/SOURCES/smartmontools-6.4-fdleak.patch b/SOURCES/smartmontools-6.4-fdleak.patch
deleted file mode 100644
index 7e74e27..0000000
--- a/SOURCES/smartmontools-6.4-fdleak.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up smartmontools-6.2/os_linux.cpp.fdleak smartmontools-6.2/os_linux.cpp
---- smartmontools-6.2/os_linux.cpp.fdleak	2013-07-05 12:40:38.000000000 +0200
-+++ smartmontools-6.2/os_linux.cpp	2016-05-02 15:38:59.369700749 +0200
-@@ -2703,6 +2703,7 @@ linux_smart_interface::megasas_dcmd_cmd(
-   }
- 
-   int r = ioctl(fd, MEGASAS_IOC_FIRMWARE, &ioc);
-+  ::close(fd);
-   if (r < 0) {
-     return (r);
-   }
diff --git a/SPECS/smartmontools.spec b/SPECS/smartmontools.spec
index 0b90832..3979984 100644
--- a/SPECS/smartmontools.spec
+++ b/SPECS/smartmontools.spec
@@ -1,27 +1,21 @@
 Summary:	Tools for monitoring SMART capable hard disks
 Name:		smartmontools
-Version:	6.2
-Release:	8%{?dist}
+Version:	6.5
+Release:	1%{?dist}
 Epoch:		1
 Group:		System Environment/Base
 License:	GPLv2+
-URL:		http://smartmontools.sourceforge.net/
-Source0:	http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
+URL:		https://www.smartmontools.org/
+Source0:	https://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
 Source2:	smartmontools.sysconf
 Source4:	smartdnotify
 
 #fedora/rhel specific
 Patch1:		smartmontools-5.38-defaultconf.patch
-#from upstream, rhbz#1212582
-Patch2: smartmontools-6.4-fdleak.patch
-#from upstream, rhbz#1294999
-Patch3: smartmontools-6.2-discovermore.patch
-Patch4: smartmontools-6.2-httpsdrivedb.patch
-Patch5: smartmontools-6.2-drivedbman.patch
-Patch6: smartmontools-6.2-up2datedrivedb.patch
+Patch2:         smartmontools-6.2-up2datedrivedb.patch
 
 BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
-Requires:	fileutils mailx chkconfig
+Requires:	fileutils mailx
 #new rpm does not handle this (yet?)
 #Requires(triggerun):	systemd-units
 Requires(post):		systemd-units
@@ -34,19 +28,15 @@ BuildRequires:	systemd-units
 %description
 The smartmontools package contains two utility programs (smartctl
 and smartd) to control and monitor storage systems using the Self-
-Monitoring, Analysis and Reporting Technology System (SMART) built
-into most modern ATA and SCSI hard disks. In many cases, these
-utilities will provide advanced warning of disk degradation and
-failure.
+Monitoring, Analysis and Reporting Technology system (SMART) built
+into most modern ATA/SATA, SCSI/SAS and NVMe disks. In many cases,
+these utilities will provide advanced warning of disk degradation
+and failure.
 
 %prep
 %setup -q 
 %patch1 -p1 -b .defaultconf
-%patch2 -p1 -b .fdleak
-%patch3 -p1 -b .discovermore
-%patch4 -p1 -b .httpsdrivedb
-%patch5 -p1 -b .drivedbman
-%patch6 -p1 -b .up2datedrivedb
+%patch2 -p1 -b .up2datedrivedb
 
 # fix encoding
 for fe in AUTHORS ChangeLog
@@ -105,7 +95,7 @@ fi
 %files
 %defattr(-,root,root,-)
 %doc AUTHORS ChangeLog COPYING INSTALL NEWS README
-%doc TODO WARNINGS examplescripts smartd.conf
+%doc TODO examplescripts smartd.conf
 %dir %{_sysconfdir}/%name
 %dir %{_sysconfdir}/%name/smartd_warning.d
 %config(noreplace) %{_sysconfdir}/%{name}/smartd.conf
@@ -121,6 +111,11 @@ fi
 %{_datadir}/%{name}
 
 %changelog
+* Wed Oct 11 2017 Michal Hlavinka <mhlavink@redhat.com> - 1:6.5-1
+- smartmontools updated to 6.5
+- adds support for NVMe devices (#1369731)
+- minor spec cleanup (#1463148)
+
 * Sun Mar 26 2017 Michal Hlavinka <mhlavink@redhat.com> - 1:6.2-8
 - use up to date drivedb (#1388510)
 - less scarry messages reported to users (#1340462)