Ticket #1191: drivedb.h

File drivedb.h, 197.4 KB (added by Brian Ober, 4 years ago)

Working Drivedb

Line 
1/*
2 * drivedb.h - smartmontools drive database file
3 *
4 * Home page of code is: http://www.smartmontools.org
5 *
6 * Copyright (C) 2003-11 Philip Williams, Bruce Allen
7 * Copyright (C) 2008-19 Christian Franke
8 *
9 * SPDX-License-Identifier: GPL-2.0-or-later
10 */
11
12/*
13 * Structure used to store drive database entries:
14 *
15 * struct drive_settings {
16 *   const char * modelfamily;
17 *   const char * modelregexp;
18 *   const char * firmwareregexp;
19 *   const char * warningmsg;
20 *   const char * presets;
21 * };
22 *
23 * The elements are used in the following ways:
24 *
25 *  modelfamily     Informal string about the model family/series of a
26 *                  device. Set to "" if no info (apart from device id)
27 *                  known.  The entry is ignored if this string starts with
28 *                  a dollar sign.  Must not start with "USB:", see below.
29 *  modelregexp     POSIX extended regular expression to match the model of
30 *                  a device.  This should never be "".
31 *  firmwareregexp  POSIX extended regular expression to match a devices's
32 *                  firmware.  This is optional and should be "" if it is not
33 *                  to be used.  If it is nonempty then it will be used to
34 *                  narrow the set of devices matched by modelregexp.
35 *  warningmsg      A message that may be displayed for matching drives.  For
36 *                  example, to inform the user that they may need to apply a
37 *                  firmware patch.
38 *  presets         String with vendor-specific attribute ('-v') and firmware
39 *                  bug fix ('-F') options.  Same syntax as in smartctl command
40 *                  line.  The user's own settings override these.
41 *
42 * The regular expressions for drive model and firmware must match the full
43 * string.  The effect of "^FULLSTRING$" is identical to "FULLSTRING".
44 * The form ".*SUBSTRING.*" can be used if substring match is desired.
45 *
46 * The table will be searched from the start to end or until the first match,
47 * so the order in the table is important for distinct entries that could match
48 * the same drive.
49 *
50 *
51 * Format for USB ID entries:
52 *
53 *  modelfamily     String with format "USB: DEVICE; BRIDGE" where
54 *                  DEVICE is the name of the device and BRIDGE is
55 *                  the name of the USB bridge.  Both may be empty
56 *                  if no info known.
57 *  modelregexp     POSIX extended regular expression to match the USB
58 *                  vendor:product ID in hex notation ("0x1234:0xabcd").
59 *                  This should never be "".
60 *  firmwareregexp  POSIX extended regular expression to match the USB
61 *                  bcdDevice info.  Only compared during search if other
62 *                  entries with same USB vendor:product ID exist.
63 *  warningmsg      Not used yet.
64 *  presets         String with one device type ('-d') option.
65 *
66 */
67
68/*
69const drive_settings builtin_knowndrives[] = {
70 */
71  { "$Id: drivedb.h 4909 2019-04-22 15:13:40Z chrfranke $",
72    "-", "-",
73    "This is a dummy entry to hold the SVN-Id of drivedb.h",
74    ""
75  },
76  { "DEFAULT",
77    "-", "-",
78    "Default settings",
79    "-v 1,raw48,Raw_Read_Error_Rate "
80    "-v 2,raw48,Throughput_Performance "
81    "-v 3,raw16(avg16),Spin_Up_Time "
82    "-v 4,raw48,Start_Stop_Count "
83    "-v 5,raw16(raw16),Reallocated_Sector_Ct "
84    "-v 6,raw48,Read_Channel_Margin,HDD "
85    "-v 7,raw48,Seek_Error_Rate,HDD "
86    "-v 8,raw48,Seek_Time_Performance,HDD "
87    "-v 9,raw24(raw8),Power_On_Hours "
88    "-v 10,raw48,Spin_Retry_Count,HDD "
89    "-v 11,raw48,Calibration_Retry_Count,HDD "
90    "-v 12,raw48,Power_Cycle_Count "
91    "-v 13,raw48,Read_Soft_Error_Rate "
92    //  14-174 Unknown_Attribute
93    "-v 175,raw48,Program_Fail_Count_Chip,SSD "
94    "-v 176,raw48,Erase_Fail_Count_Chip,SSD "
95    "-v 177,raw48,Wear_Leveling_Count,SSD "
96    "-v 178,raw48,Used_Rsvd_Blk_Cnt_Chip,SSD "
97    "-v 179,raw48,Used_Rsvd_Blk_Cnt_Tot,SSD "
98    "-v 180,raw48,Unused_Rsvd_Blk_Cnt_Tot,SSD "
99    "-v 181,raw48,Program_Fail_Cnt_Total "
100    "-v 182,raw48,Erase_Fail_Count_Total,SSD "
101    "-v 183,raw48,Runtime_Bad_Block "
102    "-v 184,raw48,End-to-End_Error "
103    //  185-186 Unknown_Attribute
104    "-v 187,raw48,Reported_Uncorrect "
105    "-v 188,raw48,Command_Timeout "
106    "-v 189,raw48,High_Fly_Writes,HDD "
107    "-v 190,tempminmax,Airflow_Temperature_Cel "
108    "-v 191,raw48,G-Sense_Error_Rate,HDD "
109    "-v 192,raw48,Power-Off_Retract_Count "
110    "-v 193,raw48,Load_Cycle_Count,HDD "
111    "-v 194,tempminmax,Temperature_Celsius "
112    "-v 195,raw48,Hardware_ECC_Recovered "
113    "-v 196,raw16(raw16),Reallocated_Event_Count "
114    "-v 197,raw48,Current_Pending_Sector "
115    "-v 198,raw48,Offline_Uncorrectable "
116    "-v 199,raw48,UDMA_CRC_Error_Count "
117    "-v 200,raw48,Multi_Zone_Error_Rate,HDD "
118    "-v 201,raw48,Soft_Read_Error_Rate,HDD "
119    "-v 202,raw48,Data_Address_Mark_Errs,HDD "
120    "-v 203,raw48,Run_Out_Cancel "
121    "-v 204,raw48,Soft_ECC_Correction "
122    "-v 205,raw48,Thermal_Asperity_Rate "
123    "-v 206,raw48,Flying_Height,HDD "
124    "-v 207,raw48,Spin_High_Current,HDD "
125    "-v 208,raw48,Spin_Buzz,HDD "
126    "-v 209,raw48,Offline_Seek_Performnce,HDD "
127    //  210-219 Unknown_Attribute
128    "-v 220,raw48,Disk_Shift,HDD "
129    "-v 221,raw48,G-Sense_Error_Rate,HDD "
130    "-v 222,raw48,Loaded_Hours,HDD "
131    "-v 223,raw48,Load_Retry_Count,HDD "
132    "-v 224,raw48,Load_Friction,HDD "
133    "-v 225,raw48,Load_Cycle_Count,HDD "
134    "-v 226,raw48,Load-in_Time,HDD "
135    "-v 227,raw48,Torq-amp_Count,HDD "
136    "-v 228,raw48,Power-off_Retract_Count "
137    //  229 Unknown_Attribute
138    "-v 230,raw48,Head_Amplitude,HDD "
139    "-v 231,raw48,Temperature_Celsius "
140    "-v 232,raw48,Available_Reservd_Space "
141    "-v 233,raw48,Media_Wearout_Indicator,SSD "
142    //  234-239 Unknown_Attribute
143    "-v 240,raw24(raw8),Head_Flying_Hours,HDD "
144    "-v 241,raw48,Total_LBAs_Written "
145    "-v 242,raw48,Total_LBAs_Read "
146    //  243-249 Unknown_Attribute
147    "-v 250,raw48,Read_Error_Retry_Rate "
148    //  251-253 Unknown_Attribute
149    "-v 254,raw48,Free_Fall_Sensor,HDD"
150  },
151  { "Advantech 128GB MLC 2.5 Industrial SSD (630 Series)", // Product info found at https://buy.advantech.com/Peripherals-Modules/Industrial-Storage-Solutions-2-5-SATA-SSD-MLC-Temp-40-85-C/model-SQF-S25M4-128G-S9E.htm
152    "SQF-SMSM4-(32|64|128|256)G-S9E",
153     "", "",
154    "-v 1,raw48,Raw_Read_Error_rate "
155    "-v 9,raw48,Power_On_Hours "
156    "-v 12,raw48,Power_Cycle_Cnt "
157    "-v 14,raw48,Device_Capacity "
158    "-v 15,raw48,User_Capacity "
159    "-v 16,raw48,Initial_Spare_Blocks "
160    "-v 17,raw48,Spare_Blocks_Remaining "
161    "-v 100,raw48,Total_Erase_Cnt "
162    "-v 168,raw48,SATA_Phy_Error_Cnt "
163    "-v 170,raw48,Bad_Block_Cnt "
164    "-v 173,raw48,Erase_Cnt "
165    "-v 174,raw48,Powerloss_Cnt "
166    "-v 192,raw48,Power-Off_Retract_Count "
167    "-v 194,raw48,Temperature_Celsius "
168    "-v 218,raw48,CRC_Error "
169    "-v 231,raw48,Life_Remaining "
170    "-v 234,raw48,Total_NAN_Read "
171    "-v 235,raw48,Total_NAN_Written "
172    "-v 241,raw48,Total_Host_Written "
173    "-v 242,raw48,Total_Host_Read "
174  },
175  { "Advantech 128GB MLC 2.5 Industrial SSD (830/910/640 Series)", // Product info found at https://www.advantech.com/products/c092ee32-e070-4609-8020-d3fff67719f0/sqf-s25-640/mod_a09c939f-d944-4273-8c72-af37255771ff
176    "SQF-S25(M1|M2|M4|U2|U4|V1|V2|V4)-(16G|32G|64G|128G|256G|1T)-(SBC|SBE)",
177    "", "",
178    "-v 1,raw48,Raw_Read_Error_rate "
179    "-v 9,raw48,Power_On_Hours "
180    "-v 12,raw48,Power_Cycle_Cnt "
181    "-v 14,raw48,Device_Capacity "
182    "-v 15,raw48,User_Capacity "
183    "-v 16,raw48,Initial_Spare_Blocks "
184    "-v 17,raw48,Spare_Blocks_Remaining "
185    "-v 100,raw48,Total_Erase_Cnt "
186    "-v 168,raw48,SATA_Phy_Error_Cnt "
187    "-v 170,raw48,Bad_Block_Cnt "
188    "-v 173,raw48,Erase_Cnt "
189    "-v 174,raw48,Powerloss_Cnt "
190    "-v 175,raw48,Power_Failure_Protection "
191    "-v 192,raw48,Power-Off_Retract_Count "
192    "-v 194,raw48,Temperature_Celsius "
193    "-v 218,raw48,CRC_Error "
194    "-v 231,raw48,Life_Remaining "
195    "-v 234,raw48,Total_NAN_Read "
196    "-v 235,raw48,Total_NAN_Written "
197    "-v 241,raw48,Total_Host_Written "
198    "-v 242,raw48,Total_Host_Read "
199  },
200  { "Swissbit C440 Industrial CompactFlash Card",
201    // spec v1.23 found at http://www.farnell.com/datasheets/1821167.pdf
202    // tested with SFCF4096H2BU4TO-I-MS-527-STD
203    "SFCF(2048|4096|8192|16GB|32GB|64GB)H[0-9]BU[24]TO-(C|I)-(MS|QT|NU)-5[0-9]7-STD",
204    "", "",
205    "-v 196,raw24/raw24,Spare_Blocks "
206    "-v 213,raw24/raw24,Spare_Blocks_Worst_Chip "
207    "-v 229,raw48,Erase_Count "
208    "-v 203,raw48,Total_ECC_Errors "
209    "-v 232,raw48,Total_Number_of_Reads "
210    "-v 214,raw48,Reserved_Attribute " // Spec says "to be determined"
211    "-v 215,raw48,Current_TRIM_Percent "
212  },
213  { "Swissbit X-600m Series Industrial mSATA SSD",
214    // spec v1.06 found at https://www.mouser.com/pdfdocs/Swissbit_X-600m_Datasheet.pdf
215    // tested with SFSA016GU1AA2TO-I-DB-216-STD
216    "SFSA(008|016|032|064|128)GU[0-9]AA[124]TO-(C|I)-(DB|QC|NC)-2[0-9]6-STD",
217    "", "",
218  //"-v 1,raw48,Raw_Read_Error_Rate "
219  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
220  //"-v 9,raw24(raw8),Power_On_Hours "
221  //"-v 12,raw48,Power_Cycle_Count "
222    "-v 160,raw48,Uncorrectable_Error_Cnt "
223    "-v 161,raw48,Spare_Blocks_Remaining "
224    "-v 163,raw48,Initial_Bad_Block_Count "
225    "-v 164,raw48,Total_Erase_Count "
226    "-v 165,raw48,Max_Erase_Count "
227    "-v 166,raw48,Min_Erase_Count "
228    "-v 167,raw48,Average_Erase_Count "
229    "-v 168,raw48,Max_Erase_Count_of_Spec "
230    "-v 169,raw48,Power_On_Uncorr_Err_Cnt "
231    "-v 192,raw48,Init_Spare_Blocks_Avail "
232    "-v 193,raw48,Dynamic_Remaps "
233  //"-v 194,tempminmax,Temperature_Celsius "
234  //"-v 195,raw48,Hardware_ECC_Recovered "
235  //"-v 196,raw16(raw16),Reallocated_Event_Count "
236  //"-v 198,raw48,Offline_Uncorrectable "
237    "-v 199,raw48,SATA_CRC_Error_Count "
238    "-v 215,raw48,TRIM_Count "
239    "-v 235,hex56,Flash_Writes_LBAs_Low "
240    "-v 237,hex48,Flash_Writes_LBAs_High "
241    "-v 241,hex56,Total_LBAs_Written_Low "
242    "-v 242,hex56,Total_LBAs_Read_Low "
243    "-v 243,hex48,Total_LBAs_Written_High "
244    "-v 244,hex48,Total_LBAs_Read_High "
245    "-v 248,raw48,Perc_Rated_Life_Remain "
246    "-v 249,raw48,Spares_Remaining_Perc "
247  },
248  { "Apacer SDM4 Series SSD Module",
249    "(2|4|8|16|32|64)GB SATA Flash Drive", // tested with APSDM002G15AN-CT/SFDDA01C and SFI2101D
250    "SF(DDA01C|I2101D)",
251    "",
252    "-v 160,raw48,Initial_Bad_Block_Count "
253    "-v 161,raw48,Bad_Block_Count "
254    "-v 162,raw48,Spare_Block_Count "
255    "-v 163,raw48,Max_Erase_Count "
256    "-v 164,raw48,Average_Erase_Count "
257    "-v 165,raw48,Average_Erase_Count " // could be wrong
258  },
259  { "Apacer SDM5/5A/5A-M Series SSD Module",
260    "(1|2|4|8|16|32|64)GB SATA Flash Drive", // tested with APSDM016GA2AN-PTM1/SFDK004A,
261      // APSDM016GA3AN-ATM/SFDE001A, APSDM004G13AN-AT/SFDE001A
262    "SF(DK004A|DE001A)",
263    "",
264  //"-v 9,raw24(raw8),Power_On_Hours "
265  //"-v 12,raw48,Power_Cycle_Count "
266    "-v 163,raw48,Max_Erase_Count "
267    "-v 164,raw48,Average_Erase_Count "
268    "-v 166,raw48,Grown_Bad_Block_Count "
269    "-v 167,raw48,SSD_Write_Protect_Mode "
270    "-v 168,raw48,SATA_PHY_Err_Ct "
271    "-v 175,raw48,Bad_Cluster_Table_Count "
272    "-v 192,raw48,Unexpect_Power_Loss_Ct "
273  //"-v 194,tempminmax,Temperature_Celsius "
274  //"-v 241,raw48,Total_LBAs_Written "
275  },
276  { "Apple MacBook Air SSD", // probably Toshiba
277    "APPLE SSD TS(064|128)E", // tested with APPLE SSD TS064E/TQAABBF0
278    "", "",
279    "-v 173,raw48,Wear_Leveling_Count " //  ]
280    "-v 241,raw48,Host_Writes_GiB "     //  ]  guessed (ticket #655)
281    "-v 242,raw48,Host_Reades_GiB "     //  ]
282  },
283  { "Apple SD/SM/TS...E/F/G SSDs", // SanDisk/Samsung/Toshiba?
284    "APPLE SSD (S[DM]|TS)0?(128|256|512|768|1024)[EFG]", // tested with APPLE SSD SD256E/1021AP, SD0128F/A223321
285     // APPLE SSD SM768E/CXM90A1Q, SM0512F/UXM2JA1Q, TS0256F/109L0704, SM0512G/BXW1SA0Q, SM1024G/BXW1SA0Q
286    "", "",
287  //"-v 1,raw48,Raw_Read_Error_Rate "
288  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
289  //"-v 9,raw24(raw8),Power_On_Hours "
290  //"-v 12,raw48,Power_Cycle_Count "
291    "-v 169,raw48,Unknown_Apple_Attrib "
292    "-v 173,raw48,Wear_Leveling_Count " // ]
293    "-v 174,raw48,Host_Reads_MiB "      // ] guessed (ticket #342), S[DM]*F only
294    "-v 175,raw48,Host_Writes_MiB "     // ]
295  //"-v 192,raw48,Power-Off_Retract_Count "
296  //"-v 194,tempminmax,Temperature_Celsius "
297  //"-v 197,raw48,Current_Pending_Sector "
298  //"-v 199,raw48,UDMA_CRC_Error_Count "
299  //"-v 240,raw48,Unknown_SSD_Attribute "
300  },
301  { "Crucial/Micron RealSSD C300/P300", // Marvell 88SS9174
302    "C300-CTFDDA[AC](064|128|256)MAG|" // tested with C300-CTFDDAC128MAG/0002,
303      // C300-CTFDDAC064MAG/0006
304    "P300-MTFDDAC(050|100|200)SAL", // tested with P300-MTFDDAC100SAL/0003
305    "", "",
306  //"-v 1,raw48,Raw_Read_Error_Rate "
307  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
308  //"-v 9,raw24(raw8),Power_On_Hours "
309  //"-v 12,raw48,Power_Cycle_Count "
310    "-v 170,raw48,Grown_Failing_Block_Ct "
311    "-v 171,raw48,Program_Fail_Count "
312    "-v 172,raw48,Erase_Fail_Count "
313    "-v 173,raw48,Wear_Leveling_Count "
314    "-v 174,raw48,Unexpect_Power_Loss_Ct "
315    "-v 181,raw16,Non4k_Aligned_Access "
316    "-v 183,raw48,SATA_Iface_Downshift "
317  //"-v 184,raw48,End-to-End_Error "
318  //"-v 187,raw48,Reported_Uncorrect "
319  //"-v 188,raw48,Command_Timeout "
320    "-v 189,raw48,Factory_Bad_Block_Ct "
321  //"-v 194,tempminmax,Temperature_Celsius "
322  //"-v 195,raw48,Hardware_ECC_Recovered "
323  //"-v 196,raw16(raw16),Reallocated_Event_Count "
324  //"-v 197,raw48,Current_Pending_Sector "
325  //"-v 198,raw48,Offline_Uncorrectable "
326  //"-v 199,raw48,UDMA_CRC_Error_Count "
327    "-v 202,raw48,Percent_Lifetime_Used "
328    "-v 206,raw48,Write_Error_Rate "
329  },
330  { "Crucial/Micron RealSSD m4/C400/P400", // Marvell 9176, fixed firmware
331    "C400-MTFDDA[ACK](064|128|256|512)MAM|"
332    // M4-CT032M4SSD3/04MH
333    "M4-CT(032|064|128|256|512)M4SSD[123]|" // tested with M4-CT512M4SSD2/0309
334    "MTFDDA[AK](064|128|256|512|050|100|200|400)MA[MNR]-1[JKS]1.*", // tested with
335       // MTFDDAK256MAR-1K1AA/MA52, MTFDDAK256MAM-1K12/08TH,
336       // MTFDDAA064MAR-1J1AB  49Y5835 49Y5838IBM/MA49 (P400e)
337    "030[9-Z]|03[1-Z].|0[4-Z]..|[1-Z]....*", // >= "0309"
338    "",
339  //"-v 1,raw48,Raw_Read_Error_Rate "
340  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
341  //"-v 9,raw24(raw8),Power_On_Hours "
342  //"-v 12,raw48,Power_Cycle_Count "
343    "-v 170,raw48,Grown_Failing_Block_Ct "
344    "-v 171,raw48,Program_Fail_Count "
345    "-v 172,raw48,Erase_Fail_Count "
346    "-v 173,raw48,Wear_Leveling_Count "
347    "-v 174,raw48,Unexpect_Power_Loss_Ct "
348    "-v 181,raw16,Non4k_Aligned_Access "
349    "-v 183,raw48,SATA_Iface_Downshift "
350  //"-v 184,raw48,End-to-End_Error "
351  //"-v 187,raw48,Reported_Uncorrect "
352  //"-v 188,raw48,Command_Timeout "
353    "-v 189,raw48,Factory_Bad_Block_Ct "
354  //"-v 194,tempminmax,Temperature_Celsius "
355  //"-v 195,raw48,Hardware_ECC_Recovered "
356  //"-v 196,raw16(raw16),Reallocated_Event_Count "
357  //"-v 197,raw48,Current_Pending_Sector "
358  //"-v 198,raw48,Offline_Uncorrectable "
359  //"-v 199,raw48,UDMA_CRC_Error_Count "
360    "-v 202,raw48,Perc_Rated_Life_Used "
361    "-v 206,raw48,Write_Error_Rate "
362    "-v 225,raw48,Unknown_Marvell_Attr " // P400e
363    "-v 231,raw48,Unknown_Marvell_Attr " // P400e
364    "-v 242,raw48,Host_Reads" // P400e: 2MiB?
365  },
366  { "Crucial/Micron RealSSD m4/C400", // Marvell 9176, buggy or unknown firmware
367    "C400-MTFDDA[ACK](064|128|256|512)MAM|" // tested with C400-MTFDDAC256MAM/0002
368    "M4-CT(032|064|128|256|512)M4SSD[123]", // tested with M4-CT064M4SSD2/0002,
369      // M4-CT064M4SSD2/0009, M4-CT256M4SSD3/000F
370    "",
371    "This drive may hang after 5184 hours of power-on time:\n"
372    "https://www.tomshardware.com/news/Crucial-m4-Firmware-BSOD,14544.html\n"
373    "See the following web page for firmware updates:\n"
374    "http://www.crucial.com/usa/en/support-ssd",
375    "-v 170,raw48,Grown_Failing_Block_Ct "
376    "-v 171,raw48,Program_Fail_Count "
377    "-v 172,raw48,Erase_Fail_Count "
378    "-v 173,raw48,Wear_Leveling_Count "
379    "-v 174,raw48,Unexpect_Power_Loss_Ct "
380    "-v 181,raw16,Non4k_Aligned_Access "
381    "-v 183,raw48,SATA_Iface_Downshift "
382    "-v 189,raw48,Factory_Bad_Block_Ct "
383    "-v 202,raw48,Perc_Rated_Life_Used "
384    "-v 206,raw48,Write_Error_Rate"
385  },
386  { "Crucial/Micron BX/MX1/2/3/500, M5/600, 1100 SSDs",
387    "Crucial_CT(128|256|512)MX100SSD1|"// Marvell 88SS9189, tested with Crucial_CT256MX100SSD1/MU01
388    "Crucial_CT(200|250|256|500|512|1000|1024)MX200SSD[1346]|" // Marvell 88SS9189, tested with
389      // Crucial_CT500MX200SSD1/MU01, Crucial_CT1024MX200SSD1/MU01, Crucial_CT250MX200SSD3/MU01,
390      // Crucial_CT250MX200SSD1/MU03
391    "Crucial_CT(275|525|750|1050|2050)MX300SSD[14]|" // Marvell 88SS1074, tested with
392      // Crucial_CT275MX300SSD1/M0CR040, Crucial_CT525MX300SSD1/M0CR021, Crucial_CT750MX300SSD1/M0CR011,
393      // Crucial_CT2050MX300SSD1/M0CR031
394    "Crucial_CT(120|240|480|960)M500SSD[134]|" // Marvell 88SS9187, tested with
395      // Crucial_CT120M500SSD1/MU02, Crucial_CT120M500SSD3/MU02, Crucial_CT240M500SSD1/MU03,
396      // Crucial_CT480M500SSD1/MU03, Crucial_CT960M500SSD1/MU03, Crucial_CT240M500SSD4/MU05
397    "Crucial_CT(128|256|512|1024)M550SSD[134]|" // tested with Crucial_CT512M550SSD3/MU01,
398      // Crucial_CT1024M550SSD1/MU01, Crucial_CT128M550SSD4/MU02
399    "CT(120|240|480)BX300SSD1|" // Silicon Motion SM2258, same attributes as Marvell-based Crucial SSDs,
400      // tested with CT240BX300SSD1/M2CR010
401    "CT(120|240|480|960)BX500SSD1|" // Silicon Motion SM2258XT, tested with CT120BX500SSD1/M6CR013
402    "CT(250|500|1000|2000)MX500SSD[14]|" // Silicon Motion SM2258, tested with CT250MX500SSD1/M3CR010
403      // CT500MX500SSD1/M3CR010, CT1000MX500SSD1/M3CR010, CT2000MX500SSD1/M3CR010, CT250MX500SSD4/M3CR022
404    "Micron_M500_MTFDDA[KTV](120|240|480|960)MAV|"// tested with Micron_M500_MTFDDAK960MAV/MU05
405    "Micron_M500DC_(EE|MT)FDDA[AK](120|240|480|800)MBB|" // tested with Micron_M500DC_EEFDDAA120MBB/129,
406      // Micron_M500DC_MTFDDAK800MBB/0129
407    "(Micron[_ ])?M500IT[_ ]MTFDDA[KTY](032|050|060|064|120|128|240|256)[MS]BD|" // tested with M500IT_MTFDDAK240MBD/MG02
408    "(Micron_)?M510[_-]MTFDDA[KTV](128|256)MAZ|" // tested with M510-MTFDDAK256MAZ/MU01
409    "MICRON_M510DC_(EE|MT)FDDAK(120|240|480|800|960)MBP|" // tested with Micron_M510DC_MTFDDAK240MBP/0005
410    "(Micron_)?M550[_-]MTFDDA[KTV](064|128|256|512|1T0)MAY|" // tested with M550-MTFDDAK256MAY/MU01
411    "Micron_M600_(EE|MT)FDDA[KTV](128|256|512|1T0)MBF[25Z]?|" // tested with Micron_M600_MTFDDAK1T0MBF/MU01
412    "(Micron_1100_)?MTFDDA[KV](256|512|1T0|2T0)TBN|" // Marvell 88SS1074, tested with
413      // Micron_1100_MTFDDAK256TBN/M0MU020, MTFDDAK256TBN/M0MA020 (OEM)
414    "Micron 1100 SATA (256G|512G|1T|2T)B", // tested with Micron 1100 SATA 256GB/M0DL022
415    "", "",
416  //"-v 1,raw48,Raw_Read_Error_Rate "
417    "-v 5,raw48,Reallocate_NAND_Blk_Cnt "
418  //"-v 9,raw24(raw8),Power_On_Hours "
419  //"-v 12,raw48,Power_Cycle_Count "
420    "-v 170,raw48,Reserved_Block_Count "
421    "-v 171,raw48,Program_Fail_Count "
422    "-v 172,raw48,Erase_Fail_Count "
423    "-v 173,raw48,Ave_Block-Erase_Count "
424    "-v 174,raw48,Unexpect_Power_Loss_Ct "
425    "-v 180,raw48,Unused_Reserve_NAND_Blk "
426    "-v 183,raw48,SATA_Interfac_Downshift "
427    "-v 184,raw48,Error_Correction_Count "
428  //"-v 187,raw48,Reported_Uncorrect "
429  //"-v 194,tempminmax,Temperature_Celsius "
430    "-v 195,raw48,Cumulativ_Corrected_ECC "
431  //"-v 196,raw16(raw16),Reallocated_Event_Count "
432  //"-v 197,raw48,Current_Pending_Sector "
433  //"-v 198,raw48,Offline_Uncorrectable "
434  //"-v 199,raw48,UDMA_CRC_Error_Count "
435    "-v 202,raw48,Percent_Lifetime_Remain "
436    "-v 206,raw48,Write_Error_Rate "
437    "-v 210,raw48,Success_RAIN_Recov_Cnt "
438    "-v 246,raw48,Total_Host_Sector_Write "
439    "-v 247,raw48,Host_Program_Page_Count "
440    "-v 248,raw48,FTL_Program_Page_Count"
441  },
442  // Reference: https://www.micron.com/resource-details/feec878a-265e-49a7-8086-15137c5f9011
443  // TN-FD-34: 5100 SSD SMART Implementation
444  {
445    "Micron 5100 Pro / 5200 SSDs",
446    "(Micron_5100_)?(EE|MT)FDDA[KV](240|480|960|1T9|3T8|7T6)T(BY|CB|CC)|" // Matches both stock and Dell OEM
447      // tested with Micron_5100_MTFDDAK3T8TCB/D0MU410, MTFDDAK3T8TCB/D0MU410
448    "(Micron_5200_)?MTFDDAK(480|960|1T9|3T8|7T6)TD(C|D|N)", // tested with Micron_5200_MTFDDAK3T8TDD/D1MU505
449    "", "",
450  //"-v 1,raw48,Raw_Read_Error_Rate "
451  //"-v 5,raw48,Reallocated_Block_Count "
452  //"-v 9,raw24(raw8),Power_On_Hours "  // raw24(raw8)??
453  //"-v 12,raw48,Power_Cycle_Count "
454    "-v 170,raw48,Reserved_Block_Pct " // Percentage of remaining reserved blocks available
455    "-v 171,raw48,Program_Fail_Count "
456    "-v 172,raw48,Erase_Fail_Count "
457    "-v 173,raw48,Avg_Block-Erase_Count "
458    "-v 174,raw48,Unexpect_Power_Loss_Ct "
459  //"-v 180,raw48,Reserved_Block_Count " // absolute count of remaining reserved blocks available
460    "-v 183,raw48,SATA_Int_Downshift_Ct " // SATA speed downshift count
461  //"-v 184,raw48,Error_Correction_Count "
462  //"-v 187,raw48,Reported_Uncorrect " // Number of UECC correction failures
463  //"-v 188,raw48,Command_Timeouts "
464  //"-v 194,tempminmax,Temperature_Celsius " // 100 - degrees C, wraps: 101 reported as 255
465  //"-v 195,raw48,Cumulativ_Corrected_ECC "
466  //"-v 196,raw48,Reallocation_Event_Ct "
467  //"-v 197,raw48,Current_Pending_Sector " // Use the raw value
468  //"-v 198,raw48,Offline_Uncorrectable "  // Use the raw value
469  //"-v 199,raw48,UDMA_CRC_Error_Count "   // Use the raw value
470    "-v 202,raw48,Percent_Lifetime_Remain " // Remaining endurance, trips at 10%
471    "-v 206,raw48,Write_Error_Rate "
472    "-v 210,raw48,RAIN_Success_Recovered "  // Total number of NAND pages recovered by RAIN
473    "-v 247,raw48,Host_Program_Page_Count "
474    "-v 248,raw48,Bckgnd_Program_Page_Cnt"
475  },
476  { "Micron M500DC/M510DC Enterprise SSDs",
477    "Micron_M500DC_(EE|MT)FDDA[AK](120|240|480|800)MBB|" // tested with
478      // Micron_M500DC_EEFDDAA120MBB/129, Micron_M500DC_MTFDDAK800MBB/0129
479    "MICRON_M510DC_(EE|MT)FDDAK(120|240|480|800|960)MBP", // tested with
480      // Micron_M510DC_MTFDDAK240MBP/0005
481    "", "",
482  //"-v 1,raw48,Raw_Read_Error_Rate "
483    "-v 5,raw48,Reallocated_Block_Count "
484  //"-v 9,raw24(raw8),Power_On_Hours "
485  //"-v 12,raw48,Power_Cycle_Count "
486    "-v 170,raw48,Reserved_Block_Count "
487    "-v 171,raw48,Program_Fail_Count "
488    "-v 172,raw48,Erase_Fail_Count "
489    "-v 173,raw48,Ave_Block-Erase_Count "
490    "-v 174,raw48,Unexpect_Power_Loss_Ct "
491    "-v 184,raw48,Error_Correction_Count "
492  //"-v 187,raw48,Reported_Uncorrect "
493    "-v 188,raw48,Command_Timeouts "
494  //"-v 194,tempminmax,Temperature_Celsius "
495    "-v 195,raw48,Cumulativ_Corrected_ECC "
496  //"-v 197,raw48,Current_Pending_Sector "
497  //"-v 198,raw48,Offline_Uncorrectable "
498  //"-v 199,raw48,UDMA_CRC_Error_Count "
499    "-v 202,raw48,Percent_Lifetime_Remain "
500    "-v 206,raw48,Write_Error_Rate "
501    "-v 247,raw48,Host_Program_Page_Count "
502    "-v 248,raw48,Bckgnd_Program_Page_Cnt"
503  },
504  { "SandForce Driven SSDs", // Corsair Force LS with buggy firmware only
505    "Corsair Force LS SSD", // tested with Corsair Force LS SSD/S9FM01.8
506    "S9FM01\\.8",
507    "A firmware update is available for this drive.\n"
508    "It is HIGHLY RECOMMENDED for drives with specific serial numbers.\n"
509    "See the following web pages for details:\n"
510    "https://www.corsair.com/en-us/force-series-ls-60gb-sata-3-6gb-s-ssd\n"
511    "https://www.smartmontools.org/ticket/628",
512    "-v 1,raw24/raw32,Raw_Read_Error_Rate "
513    "-v 5,raw48,Retired_Block_Count "
514    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
515  //"-v 12,raw48,Power_Cycle_Count "
516    "-v 162,raw48,Unknown_SandForce_Attr "
517    "-v 170,raw48,Reserve_Block_Count "
518    "-v 172,raw48,Erase_Fail_Count "
519    "-v 173,raw48,Unknown_SandForce_Attr "
520    "-v 174,raw48,Unexpect_Power_Loss_Ct "
521    "-v 181,raw48,Program_Fail_Count "
522  //"-v 187,raw48,Reported_Uncorrect "
523  //"-v 192,raw48,Power-Off_Retract_Count "
524  //"-v 194,tempminmax,Temperature_Celsius "
525  //"-v 196,raw16(raw16),Reallocated_Event_Count "
526    "-v 218,raw48,Unknown_SandForce_Attr "
527    "-v 231,raw48,SSD_Life_Left "
528    "-v 241,raw48,Lifetime_Writes_GiB "
529    "-v 242,raw48,Lifetime_Reads_GiB"
530  },
531  { "SandForce Driven SSDs",
532    "SandForce 1st Ed\\.|" // Demo Drive, tested with firmware 320A13F0
533    "ADATA SSD S(396|510|599) .?..GB|" // tested with ADATA SSD S510 60GB/320ABBF0,
534      // ADATA SSD S599 256GB/3.1.0, 64GB/3.4.6
535    "ADATA SP[389]00|" // tested with ADATA SP300/5.0.2d, SP800/5.0.6c,
536      // ADATA SP900/5.0.6 (Premier Pro, SF-2281)
537    "ADATA SSD S[PX]900 (64|128|256|512)GB-DL2|" // tested with ADATA SSD SP900 256GB-DL2/5.0.6,
538      // ADATA SSD SX900 512GB-DL2/5.8.2
539    "ADATA XM11 (128|256)GB|" // tested with ADATA XM11 128GB/5.0.1
540    "ATP Velocity MIV (60|120|240|480)GB|" // tested with ATP Velocity MIV 480GB/110719
541    "Comay BladeDrive E28 (800|1600|3200)GB|" // LSI SF-2581, tested with Comay BladeDrive E28 800GB/2.71
542    "Corsair CSSD-F(40|60|80|115|120|160|240)GBP?2.*|" // Corsair Force, tested with
543      // Corsair CSSD-F40GB2/1.1, Corsair CSSD-F115GB2-A/2.1a
544    "Corsair Voyager GTX|" // Corsair Voyager GTX/S9FM02J6
545    "Corsair Force ((3 |LS )?SSD|GS|GT)|" // SF-2281, tested with
546      // Corsair Force SSD/5.05, 3 SSD/1.3.2, GT/1.3.3, GS/5.03,
547      // Corsair Force LS SSD/S8FM06.5, S9FM01.8, S9FM02.0
548    "FM-25S2S-(60|120|240)GBP2|" // G.SKILL Phoenix Pro, SF-1200, tested with
549      // FM-25S2S-240GBP2/4.2
550    "FTM(06|12|24|48)CT25H|" // Supertalent TeraDrive CT, tested with
551      // FTM24CT25H/STTMP2P1
552    "KINGSTON SE50S37?(100|240|480)G|" // tested with KINGSTON SE50S3100G/KE1ABBF0,
553      // KINGSTON SE50S37100G/61AABBF0 (E50)
554    "KINGSTON SH10[03]S3(90|120|240|480)G|" // HyperX (3K), SF-2281, tested with
555      // SH100S3240G/320ABBF0, SH103S3120G/505ABBF0
556    "KINGSTON SKC(300S37A|380S3)(60|120|180|240|480)G|" // KC300, SF-2281, tested with
557      // SKC300S37A120G/KC4ABBF0, SKC380S3120G/507ABBF0
558    "KINGSTON SVP200S3(7A)?(60|90|120|240|480)G|" // V+ 200, SF-2281, tested with
559      // SVP200S37A480G/502ABBF0, SVP200S390G/332ABBF0
560    "KINGSTON SMS200S3(30|60|120)G|" // mSATA, SF-2241, tested with SMS200S3120G/KC3ABBF0
561    "KINGSTON SMS450S3(32|64|128)G|" // mSATA, SF-2281, tested with SMS450S3128G/503ABBF0
562    "KINGSTON (SV300|SKC100|SE100)S3.*G|" // other SF-2281
563    "KINGSTON SHFS37A(120|240|480)G|" // HyperX Fury, SF-2281, tested with KINGSTON SHFS37A240G/608ABBF0
564    "KINGSTON SNS4151S316GD|" // KINGSTON SNS4151S316GD/S9FM01.6
565    "MKNSSDCR(45|60|90|120|180|240|360|480)GB(-(7|DX7?|MX|G2))?|" // Mushkin Chronos (7mm/Deluxe/MX/G2),
566      // SF-2281, tested with MKNSSDCR120GB, MKNSSDCR120GB-MX/560ABBF0, MKNSSDCR480GB-DX7/603ABBF0
567    "MKNSSDEC(60|120|240|480|512)GB|" // Mushkin Enhanced ECO2, tested with MKNSSDEC120GB/604ABBF0
568    "MKNSSDAT(30|40|60|120|180|240|480)GB(-(DX|V))?|" // Mushkin Atlas (Deluxe/Value), mSATA, SF-2281,
569      // tested with MKNSSDAT120GB-V/540ABBF0
570    "Mushkin MKNSSDCL(40|60|80|90|115|120|180|240|480)GB-DX2?|" // Mushkin Callisto deluxe,
571      // SF-1200/1222, Mushkin MKNSSDCL60GB-DX/361A13F0
572    "MXSSD3MDSF-(60|120)G|" // MX-DS FUSION, tested with MXSSD3MDSF-60G/2.32
573    "OCZ[ -](AGILITY2([ -]EX)?|COLOSSUS2|ONYX2|VERTEX(2|-LE))( [123]\\..*)?|" // SF-1200,
574      // tested with OCZ-VERTEX2/1.11, OCZ-VERTEX2 3.5/1.11
575    "OCZ-NOCTI|" // mSATA, SF-2100, tested with OCZ-NOCTI/2.15
576    "OCZ-REVODRIVE3?( X2)?|" // PCIe, SF-1200/2281, tested with
577      // OCZ-REVODRIVE( X2)?/1.20, OCZ-REVODRIVE3 X2/2.11
578    "OCZ-REVODRIVE350|"
579    "OCZ[ -](VELO|VERTEX2[ -](EX|PRO))( [123]\\..*)?|" // SF-1500, tested with
580      // OCZ VERTEX2-PRO/1.10 (Bogus thresholds for attribute 232 and 235)
581    "D2[CR]STK251...-....(\\.C)?|" // OCZ Deneva 2 C/R, SF-22xx/25xx,
582      // tested with D2CSTK251M11-0240/2.08, D2CSTK251A10-0240/2.15, D2RSTK251M11-0100.C/3.22
583    "OCZ-(AGILITY3|SOLID3|VERTEX3( LT| MI)?)|"  // SF-2200, tested with OCZ-VERTEX3/2.02,
584      // OCZ-AGILITY3/2.11, OCZ-SOLID3/2.15, OCZ-VERTEX3 MI/2.15, OCZ-VERTEX3 LT/2.22
585    "OCZ Z-DRIVE R4 [CR]M8[48]|" // PCIe, SF-2282/2582, tested with OCZ Z-DRIVE R4 CM84/2.13
586      // (Bogus attributes under Linux)
587    "OCZ Z-DRIVE 4500|"
588    "OCZ-VELO DRIVE|" // VeloDrive R, PCIe, tested with OCZ-VELO DRIVE/1.33
589    "TALOS2|" // OCZ Talos 2 C/R, SAS (works with -d sat), 2*SF-2282, tested with TALOS2/3.20E
590    "(APOC|DENC|DENEVA|FTNC|GFGC|MANG|MMOC|NIMC|TMSC).*|" // other OCZ SF-1200,
591      // tested with DENCSTE251M11-0120/1.33, DENEVA PCI-E/1.33
592    "(DENR|DRSAK|EC188|NIMR|PSIR|TRSAK).*|" // other OCZ SF-1500
593    "OWC Aura Pro( 6G SSD)?|" // tested with OWC Aura Pro 6G SSD/507ABBF0, OWC Aura Pro/603ABBF0
594    "OWC Mercury Electra (Pro )?[36]G SSD|" // tested with
595      // OWC Mercury Electra 6G SSD/502ABBF0, OWC Mercury Electra Pro 3G SSD/541ABBF0
596    "OWC Mercury E(xtreme|XTREME) Pro (6G |RE )?SSD|" // tested with
597      // OWC Mercury Extreme Pro SSD/360A13F0, OWC Mercury EXTREME Pro 6G SSD/507ABBF0
598    "Patriot Pyro|" // tested with Patriot Pyro/332ABBF0
599    "SanDisk SDSSDX(60|120|240|480)GG25|" // SanDisk Extreme, SF-2281, tested with
600      // SDSSDX240GG25/R201
601    "SanDisk SDSSDA(120|240|480)G|" // SanDisk SSD Plus, tested with SanDisk SDSSDA240G/U21010RL
602    "SuperSSpeed S301 [0-9]*GB|" // SF-2281, tested with SuperSSpeed S301 128GB/503
603    "SG9XCS2D(0?50|100|200|400)GESLT|" // Smart Storage Systems XceedIOPS2, tested with
604      // SG9XCS2D200GESLT/SA03L370
605    "SSD9SC(120|240|480)GED[EA]|" // PNY Prevail Elite, tested with SSD9SC120GEDA/334ABBF0
606    "(TX32|TX31C1|VN0.?..GCNMK).*|" // Smart Storage Systems XceedSTOR
607    "(TX22D1|TX21B1).*|" // Smart Storage Systems XceedIOPS2
608    "TX52D1.*|" // Smart Storage Systems Xcel-200
609    "TS(64|128|256|512)GSSD[37]20|" // Transcend SSD320/720, SF-2281, tested with
610      // TS128GSSD320, TS256GSSD720/5.2.0
611    "UGB(88P|99S)GC...H[BF].|" // Unigen, tested with
612      // UGB88PGC100HF2/MP Rev2, UGB99SGC100HB3/RC Rev3
613    "SG9XCS(1F|2D)(50|100|200|400)GE01|" // XceedIOPS, tested with SG9XCS2D50GE01/SA03F34V
614    "VisionTek GoDrive (60|120|240|480)GB", // tested with VisionTek GoDrive 480GB/506ABBF0
615    "", "",
616    "-v 1,raw24/raw32,Raw_Read_Error_Rate "
617    "-v 5,raw48,Retired_Block_Count "
618    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
619  //"-v 12,raw48,Power_Cycle_Count "
620    "-v 13,raw24/raw32,Soft_Read_Error_Rate "
621    "-v 100,raw48,Gigabytes_Erased "
622    "-v 162,raw48,Unknown_SandForce_Attr " // Corsair Force LS SSD/S9FM01.8, *2.0
623    "-v 170,raw48,Reserve_Block_Count "
624    "-v 171,raw48,Program_Fail_Count "
625    "-v 172,raw48,Erase_Fail_Count "
626    "-v 173,raw48,Unknown_SandForce_Attr " // Corsair Force LS SSD/S9FM01.8, *2.0
627    "-v 174,raw48,Unexpect_Power_Loss_Ct "
628    "-v 177,raw48,Wear_Range_Delta "
629    "-v 181,raw48,Program_Fail_Count "
630    "-v 182,raw48,Erase_Fail_Count "
631    "-v 184,raw48,IO_Error_Detect_Code_Ct "
632  //"-v 187,raw48,Reported_Uncorrect "
633    "-v 189,tempminmax,Airflow_Temperature_Cel "
634  //"-v 192,raw48,Power-Off_Retract_Count "
635  //"-v 194,tempminmax,Temperature_Celsius "
636    "-v 195,raw24/raw32,ECC_Uncorr_Error_Count "
637  //"-v 196,raw16(raw16),Reallocated_Event_Count "
638    "-v 198,raw24/raw32:210zr54,Uncorrectable_Sector_Ct " // KINGSTON SE100S3100G/510ABBF0
639    "-v 199,raw48,SATA_CRC_Error_Count "
640    "-v 201,raw24/raw32,Unc_Soft_Read_Err_Rate "
641    "-v 204,raw24/raw32,Soft_ECC_Correct_Rate "
642    "-v 218,raw48,Unknown_SandForce_Attr " // Corsair Force LS SSD/S9FM01.8, *2.0
643    "-v 230,raw48,Life_Curve_Status "
644    "-v 231,raw48,SSD_Life_Left "
645  //"-v 232,raw48,Available_Reservd_Space "
646    "-v 233,raw48,SandForce_Internal "
647    "-v 234,raw48,SandForce_Internal "
648    "-v 235,raw48,SuperCap_Health "
649    "-v 241,raw48,Lifetime_Writes_GiB "
650    "-v 242,raw48,Lifetime_Reads_GiB"
651  },
652  {
653    "StorFly CFast SATA 6Gbps SSDs",
654    // http://datasheet.octopart.com/VSFCS2CC060G-100-Virtium-datasheet-82287733.pdf
655    // tested with StorFly VSFCS2CC060G-100/0409-000
656    "StorFly VSFCS2C[CI](016|030|060|120|240)G-...",
657    // C - commercial, I industrial
658    "", "",
659    "-v 192,raw48,Unsafe_Shutdown_Count "
660    "-v 160,raw48,Uncorrectable_Error_Cnt "
661    // 0729 - remaining in block life. In 0828  remaining is normalized to 100% then decreases
662    "-v 161,raw48,Spares_Remaining " 
663    "-v 241,raw48,Host_Writes_32MiB "
664    "-v 242,raw48,Host_Reads_32MiB "
665    "-v 169,raw48,Lifetime_Remaining% "
666    "-v 248,raw48,Lifetime_Remaining% " //  later then 0409 FW.
667    "-v 249,raw48,Spares_Remaining_Perc " //  later then 0409 FW.
668  },
669  { "Phison Driven SSDs", // see MKP_521_Phison_SMART_attribute.pdf
670    "KINGSTON SEDC400S37(400|480|800|960|1600|1800)G|" // DC400, tested with
671      // KINGSTON SEDC400S37480G/SAFM02.[GH], KINGSTON SEDC400S37960G/SAFM32.I
672    "KINGSTON SUV300S37A(120|240|480)G|" // UV300 SSD, tested with KINGSTON SUV300S37A120G/SAFM11.K
673    "KINGSTON SKC310S3B?7A960G|" // SSDNow KC310, KINGSTON SKC310S37A960G/SAFM00.r
674    "KINGSTON SKC400S37(128G|256G|512G|1T)|" // SSDNow KC400, KINGSTON SKC400S37128G
675    "KINGSTON SV310S3(7A|D7|N7A|B7A)960G|" // SSDNow V310
676    "PNY CS(13|22)11 (120|240|480|960)GB SSD|" // tested with PNY CS1311 120GB SSD/CS131122,
677      // PNY CS2211 240GB SSD/CS221016
678    "SSD Smartbuy (60|120|240)GB|" // SSD Smartbuy 240GB/SBFM91.1
679    "KINGSTON SHSS3B?7A(120|240|480|960)G|" // HyperX Savage
680    "KINGSTON  ?SA400S37(120|240|480|960)G", // Kingston A400 SSD, Phison S11 or
681      // Silicon Motion controller (see ticket #801), tested with
682      // KINGSTON SA400S37240G/SBFK10D7, KINGSTON SA400S37120G/SBFK71E0, */SBFKB1D1
683      // KINGSTON  SA400S37480G/SBFK10D7 (two spaces)
684    "", "",
685  //"-v 1,raw48,Raw_Read_Error_Rate "
686    "-v 2,raw48,Not_In_Use "
687    "-v 3,raw48,Not_In_Use "
688    "-v 5,raw48,Not_In_Use "
689    "-v 7,raw48,Not_In_Use "
690    "-v 8,raw48,Not_In_Use "
691  //"-v 9,raw24(raw8),Power_On_Hours "
692    "-v 5,raw48,Retired_Block_Count "
693  //"-v 9,raw24(raw8),Power_On_Hours "
694    "-v 10,raw48,Not_In_Use "
695  //"-v 12,raw48,Power_Cycle_Count "
696    "-v 168,raw48,SATA_Phy_Error_Count "
697    "-v 170,raw24/raw24:z54z10,Bad_Blk_Ct_Erl/Lat " // Early bad block/Later bad block
698    "-v 173,raw16(avg16),MaxAvgErase_Ct "
699    "-v 175,raw48,Not_In_Use "
700    "-v 183,raw48,Unknown_Attribute "
701  //"-v 187,raw48,Reported_Uncorrect "
702    "-v 192,raw48,Unsafe_Shutdown_Count "
703  //"-v 194,tempminmax,Temperature_Celsius "
704    "-v 196,raw48,Not_In_Use "
705    "-v 197,raw48,Not_In_Use "
706    "-v 199,raw48,CRC_Error_Count "
707    "-v 218,raw48,CRC_Error_Count "
708    "-v 231,raw48,SSD_Life_Left "
709    "-v 233,raw48,Flash_Writes_GiB "
710    "-v 240,raw48,Not_In_Use "
711    "-v 241,raw48,Lifetime_Writes_GiB "
712    "-v 242,raw48,Lifetime_Reads_GiB "
713    "-v 244,raw48,Average_Erase_Count "
714    "-v 245,raw48,Max_Erase_Count "
715    "-v 246,raw48,Total_Erase_Count "
716  },
717  // this is a copy of the Phison bases record for the OEM drives with a very
718  // weak information in the model. Detection is based on Firmware.
719  { "Phison Driven OEM SSDs", // see MKP_521_Phison_SMART_attribute.pdf
720    "GOODRAM|" // tested with GOODRAM CX200 (GOODRAM/SAFM12.2)
721    "INTENSO|" // tested with Intenso SSD SATA III Top (INTENSO/S9FM02.6, .../SAFM01.6)
722    "SATA SSD", // tested with Supermicro SSD-DM032-PHI (SATA SSD/S9FM02.1),
723      // PC Engines msata16d (SATA SSD/S9FM02.3), FoxLine flssd240x4s(SATA SSD/SBFM10.5)
724    "S9FM02\\.[136]|SAFM01\\.6|SAFM12\\.2|SBFM10\\.5|SBFM91\\.2",
725    "",
726  //"-v 1,raw48,Raw_Read_Error_Rate "
727    "-v 2,raw48,Not_In_Use "
728    "-v 3,raw48,Not_In_Use "
729    "-v 5,raw48,Not_In_Use "
730    "-v 7,raw48,Not_In_Use "
731    "-v 8,raw48,Not_In_Use "
732  //"-v 9,raw24(raw8),Power_On_Hours "
733    "-v 5,raw48,Retired_Block_Count "
734  //"-v 9,raw24(raw8),Power_On_Hours "
735    "-v 10,raw48,Not_In_Use "
736  //"-v 12,raw48,Power_Cycle_Count "
737    "-v 168,raw48,SATA_Phy_Error_Count "
738    "-v 170,raw24/raw24:z54z10,Bad_Blk_Ct_Erl/Lat " // Early bad block/Later bad block
739    "-v 173,raw16(avg16),MaxAvgErase_Ct "
740    "-v 175,raw48,Not_In_Use "
741    "-v 183,raw48,Unknown_Attribute "
742  //"-v 187,raw48,Reported_Uncorrect "
743    "-v 192,raw48,Unsafe_Shutdown_Count "
744  //"-v 194,tempminmax,Temperature_Celsius "
745    "-v 196,raw48,Not_In_Use "
746    "-v 197,raw48,Not_In_Use "
747    "-v 199,raw48,CRC_Error_Count "
748    "-v 218,raw48,CRC_Error_Count "
749    "-v 231,raw48,SSD_Life_Left "
750    "-v 233,raw48,Flash_Writes_GiB "
751    "-v 240,raw48,Not_In_Use "
752    "-v 241,raw48,Lifetime_Writes_GiB "
753    "-v 242,raw48,Lifetime_Reads_GiB "
754    "-v 244,raw48,Average_Erase_Count "
755    "-v 245,raw48,Max_Erase_Count "
756    "-v 246,raw48,Total_Erase_Count "
757  },
758  { "Indilinx Barefoot based SSDs",
759    "Corsair CSSD-V(32|60|64|128|256)GB2|" // Corsair Nova, tested with Corsair CSSD-V32GB2/2.2
760    "Corsair CMFSSD-(32|64|128|256)D1|" // Corsair Extreme, tested with Corsair CMFSSD-128D1/1.0
761    "CRUCIAL_CT(64|128|256)M225|" // tested with CRUCIAL_CT64M225/1571
762    "G.SKILL FALCON (64|128|256)GB SSD|" // tested with G.SKILL FALCON 128GB SSD/2030
763    "OCZ[ -](AGILITY|ONYX|VERTEX( 1199|-TURBO| v1\\.10)?)|" // tested with
764      // OCZ-ONYX/1.6, OCZ-VERTEX 1199/00.P97, OCZ-VERTEX/1.30, OCZ VERTEX-TURBO/1.5, OCZ-VERTEX v1.10/1370
765    "Patriot[ -]Torqx.*|"
766    "RENICE Z2|" // tested with RENICE Z2/2030
767    "STT_FT[MD](28|32|56|64)GX25H|" // Super Talent Ultradrive GX, tested with STT_FTM64GX25H/1916
768    "TS(18|25)M(64|128)MLC(16|32|64|128|256|512)GSSD|" // ASAX Leopard Hunt II, tested with TS25M64MLC64GSSD/0.1
769    "FM-25S2I-(64|128)GBFII|" // G.Skill FALCON II, tested with FM-25S2I-64GBFII
770    "TS(60|120)GSSD25D-M", // Transcend Ultra SSD (SATA II), see also Ticket #80
771    "", "",
772    "-v 1,raw64 " // Raw_Read_Error_Rate
773    "-v 9,raw64 " // Power_On_Hours
774    "-v 12,raw64 " // Power_Cycle_Count
775    "-v 184,raw64,Initial_Bad_Block_Count "
776    "-v 195,raw64,Program_Failure_Blk_Ct "
777    "-v 196,raw64,Erase_Failure_Blk_Ct "
778    "-v 197,raw64,Read_Failure_Blk_Ct "
779    "-v 198,raw64,Read_Sectors_Tot_Ct "
780    "-v 199,raw64,Write_Sectors_Tot_Ct "
781    "-v 200,raw64,Read_Commands_Tot_Ct "
782    "-v 201,raw64,Write_Commands_Tot_Ct "
783    "-v 202,raw64,Error_Bits_Flash_Tot_Ct "
784    "-v 203,raw64,Corr_Read_Errors_Tot_Ct "
785    "-v 204,raw64,Bad_Block_Full_Flag "
786    "-v 205,raw64,Max_PE_Count_Spec "
787    "-v 206,raw64,Min_Erase_Count "
788    "-v 207,raw64,Max_Erase_Count "
789    "-v 208,raw64,Average_Erase_Count "
790    "-v 209,raw64,Remaining_Lifetime_Perc "
791    "-v 210,raw64,Indilinx_Internal "
792    "-v 211,raw64,SATA_Error_Ct_CRC "
793    "-v 212,raw64,SATA_Error_Ct_Handshake "
794    "-v 213,raw64,Indilinx_Internal"
795  },
796  { "Indilinx Barefoot_2/Everest/Martini based SSDs",
797    "OCZ VERTEX[ -]PLUS|" // tested with OCZ VERTEX-PLUS/3.55, OCZ VERTEX PLUS/3.55
798    "OCZ-VERTEX PLUS R2|" // Barefoot 2, tested with OCZ-VERTEX PLUS R2/1.2
799    "OCZ-PETROL|" // Everest 1, tested with OCZ-PETROL/3.12
800    "OCZ-AGILITY4|" // Everest 2, tested with OCZ-AGILITY4/1.5.2
801    "OCZ-VERTEX4", // Everest 2, tested with OCZ-VERTEX4/1.5
802    "", "",
803  //"-v 1,raw48,Raw_Read_Error_Rate "
804  //"-v 3,raw16(avg16),Spin_Up_Time "
805  //"-v 4,raw48,Start_Stop_Count "
806  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
807  //"-v 9,raw24(raw8),Power_On_Hours "
808  //"-v 12,raw48,Power_Cycle_Count "
809    "-v 232,raw48,Lifetime_Writes " // LBA?
810  //"-v 233,raw48,Media_Wearout_Indicator"
811  },
812  { "Indilinx Barefoot 3 based SSDs",
813    "OCZ-VECTOR(1[58]0)?|" // tested with OCZ-VECTOR/1.03, OCZ-VECTOR150/1.2, OCZ-VECTOR180
814    "OCZ-VERTEX4[56]0A?|" // Barefoot 3 M10, tested with OCZ-VERTEX450/1.0, OCZ-VERTEX460/1.0, VERTEX460A
815    "OCZ-SABER1000|"
816    "OCZ-ARC100|"
817    "Radeon R7", // Barefoot 3 M00, tested with Radeon R7/1.00
818    "", "",
819    "-v 5,raw48,Runtime_Bad_Block "
820  //"-v 9,raw24(raw8),Power_On_Hours "
821  //"-v 12,raw48,Power_Cycle_Count "
822    "-v 171,raw48,Avail_OP_Block_Count "
823    "-v 174,raw48,Pwr_Cycle_Ct_Unplanned "
824    "-v 187,raw48,Total_Unc_NAND_Reads "
825    "-v 195,raw48,Total_Prog_Failures "
826    "-v 196,raw48,Total_Erase_Failures "
827    "-v 197,raw48,Total_Unc_Read_Failures "
828    "-v 198,raw48,Host_Reads_GiB "
829    "-v 199,raw48,Host_Writes_GiB "
830    "-v 205,raw48,Max_Rated_PE_Count "
831    "-v 206,raw48,Min_Erase_Count "
832    "-v 207,raw48,Max_Erase_Count "
833    "-v 208,raw48,Average_Erase_Count "
834    "-v 210,raw48,SATA_CRC_Error_Count "
835    "-v 212,raw48,Pages_Requiring_Rd_Rtry "
836    "-v 213,raw48,Snmple_Retry_Attempts "
837    "-v 214,raw48,Adaptive_Retry_Attempts "
838    "-v 222,raw48,RAID_Recovery_Count "
839    "-v 224,raw48,In_Warranty "
840    "-v 225,raw48,DAS_Polarity "
841    "-v 226,raw48,Partial_Pfail "
842    "-v 230,raw48,Write_Throttling "
843    "-v 233,raw48,Remaining_Lifetime_Perc "
844    "-v 241,raw48,Host_Writes_GiB " // M00/M10
845    "-v 242,raw48,Host_Reads_GiB "  // M00/M10
846    "-v 249,raw48,Total_NAND_Prog_Ct_GiB "
847    "-v 251,raw48,Total_NAND_Read_Ct_GiB"
848  },
849  { "OCZ Intrepid 3000 SSDs", // tested with OCZ INTREPID 3600/1.4.3.6, 3800/1.4.3.0, 3700/1.5.0.4
850    "OCZ INTREPID 3[678]00",
851    "", "",
852    "-v 5,raw48,Runtime_Bad_Block "
853  //"-v 9,raw24(raw8),Power_On_Hours "
854  //"-v 12,raw48,Power_Cycle_Count "
855    "-v 100,raw48,Total_Blocks_Erased "
856    "-v 171,raw48,Avail_OP_Block_Count "
857    "-v 174,raw48,Pwr_Cycle_Ct_Unplanned "
858    "-v 184,raw48,Factory_Bad_Block_Count "
859    "-v 187,raw48,Total_Unc_NAND_Reads "
860    "-v 190,tempminmax,Temperature_Celsius "
861    "-v 195,raw48,Total_Prog_Failures "
862    "-v 196,raw48,Total_Erase_Failures "
863    "-v 197,raw48,Total_Unc_Read_Failures "
864    "-v 198,raw48,Host_Reads_GiB "
865    "-v 199,raw48,Host_Writes_GiB "
866    "-v 202,raw48,Total_Read_Bits_Corr_Ct "
867    "-v 205,raw48,Max_Rated_PE_Count "
868    "-v 206,raw48,Min_Erase_Count "
869    "-v 207,raw48,Max_Erase_Count "
870    "-v 208,raw48,Average_Erase_Count "
871    "-v 210,raw48,SATA_CRC_Error_Count "
872    "-v 211,raw48,SATA_UNC_Count "
873    "-v 212,raw48,NAND_Reads_with_Retry "
874    "-v 213,raw48,Simple_Rd_Rtry_Attempts "
875    "-v 214,raw48,Adaptv_Rd_Rtry_Attempts "
876    "-v 221,raw48,Int_Data_Path_Prot_Unc "
877    "-v 222,raw48,RAID_Recovery_Count "
878    "-v 230,raw48,SuperCap_Charge_Status " // 0=not charged, 1=fully charged, 2=unknown
879    "-v 233,raw48,Remaining_Lifetime_Perc "
880    "-v 249,raw48,Total_NAND_Prog_Ct_GiB "
881    "-v 251,raw48,Total_NAND_Read_Ct_GiB"
882  },
883  {
884    "OCZ/Toshiba Trion SSDs",
885    "OCZ-TRION1[05]0|" // tested with OCZ-TRION100/SAFM11.2A, TRION150/SAFZ72.2
886    "TOSHIBA-TR150|" // tested with TOSHIBA-TR150/SAFZ12.3
887    "TOSHIBA Q300( Pro\\.)?", // tested with TOSHIBA Q300 Pro./JYRA0101
888    "", "",
889  //"-v 9,raw24(raw8),Power_On_Hours "
890  //"-v 12,raw48,Power_Cycle_Count "
891    "-v 167,raw48,SSD_Protect_Mode "
892    "-v 168,raw48,SATA_PHY_Error_Count "
893    "-v 169,raw48,Bad_Block_Count "
894    "-v 173,raw48,Erase_Count "
895    "-v 192,raw48,Unexpect_Power_Loss_Ct "
896  //"-v 194,tempminmax,Temperature_Celsius "
897    "-v 241,raw48,Host_Writes"
898  },
899  { "InnoDisk InnoLite SATADOM D150QV SSDs", // tested with InnoLite SATADOM D150QV-L/120319
900                                             // InnoLite SATADOM D150QV/120319
901    "InnoLite SATADOM D150QV.*",
902    "", "",
903  //"-v 1,raw48,Raw_Read_Error_Rate "
904  //"-v 2,raw48,Throughput_Performance "
905  //"-v 3,raw16(avg16),Spin_Up_Time "
906  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
907  //"-v 7,raw48,Seek_Error_Rate " // from InnoDisk iSMART Linux tool, useless for SSD
908  //"-v 8,raw48,Seek_Time_Performance "
909  //"-v 9,raw48,Power_On_Hours "
910  //"-v 10,raw48,Spin_Retry_Count "
911  //"-v 12,raw48,Power_Cycle_Count "
912    "-v 168,raw48,SATA_PHY_Error_Count "
913    "-v 170,raw16,Bad_Block_Count_New/Tot "
914    "-v 173,raw16,Erase_Count_Max/Avg "
915    "-v 175,raw48,Bad_Cluster_Table_Count "
916    "-v 192,raw48,Unexpect_Power_Loss_Ct "
917  //"-v 194,tempminmax,Temperature_Celsius "
918  //"-v 197,raw48,Current_Pending_Sector "
919    "-v 229,hex48,Flash_ID "
920    "-v 235,raw16,Lat_Bad_Blk_Era/Wri/Rea "
921    "-v 236,raw48,Unstable_Power_Count "
922    "-v 240,raw48,Write_Head"
923  },
924  { "Innodisk 1ME3/3ME/3SE SSDs", // tested with 2.5" SATA SSD 3ME/S140714,
925      // Mini PCIeDOM 1ME3/S15604, InnoDisk Corp. - mSATA 3SE/S130710
926    "((1\\.8|2\\.5)\"? SATA SSD|InnoDisk Corp\\. - mSATA|Mini PCIeDOM|SATA Slim) (1ME3|3[MS]E)",
927    "", "",
928  //"-v 1,raw48,Raw_Read_Error_Rate "
929  //"-v 2,raw48,Throughput_Performance "
930  //"-v 3,raw16(avg16),Spin_Up_Time "
931  //"-v 5,raw48,Reallocated_Sector_Count "
932    "-v 7,raw48,Seek_Error_Rate "       // ?
933    "-v 8,raw48,Seek_Time_Performance " // ?
934  //"-v 9,raw24(raw8),Power_On_Hours "
935    "-v 10,raw48,Spin_Retry_Count "     // ?
936  //"-v 12,raw48,Power_Cycle_Count "
937    "-v 168,raw48,SATA_PHY_Error_Count "
938    "-v 169,hex48,Unknown_Innodisk_Attr "
939    "-v 170,raw16,Bad_Block_Count "
940    "-v 173,raw16,Erase_Count "
941    "-v 175,raw48,Bad_Cluster_Table_Count "
942    "-v 176,raw48,Uncorr_RECORD_Count "
943  //"-v 192,raw48,Power-Off_Retract_Count "
944  //"-v 194,tempminmax,Temperature_Celsius " // ] only in spec
945  //"-v 197,raw48,Current_Pending_Sector "
946    "-v 225,raw48,Unknown_Innodisk_Attr "
947    "-v 229,hex48,Flash_ID "
948    "-v 235,raw48,Later_Bad_Block "
949    "-v 236,raw48,Unstable_Power_Count "
950    "-v 240,raw48,Write_Head"
951  },
952  { "Innodisk 3IE2/3ME2/3MG2/3SE2 SSDs", // tested with 2.5" SATA SSD 3MG2-P/M140402,
953      // 1.8 SATA SSD 3IE2-P/M150821, 2.5" SATA SSD 3IE2-P/M150821,
954      // SATA Slim 3MG2-P/M141114, M.2 (S80) 3MG2-P/M141114, M.2 (S42) 3SE2-P/M150821,
955      // M.2 (S42) 3ME2/M151013
956    "((1\\.8|2\\.5)\"? SATA SSD|SATA Slim|M\\.2 \\(S(42|80)\\)) 3(IE|ME|MG|SE)2(-P)?",
957    "", "",
958  //"-v 1,raw48,Raw_Read_Error_Rate "
959  //"-v 2,raw48,Throughput_Performance "
960  //"-v 9,raw24(raw8),Power_On_Hours "
961  //"-v 12,raw48,Power_Cycle_Count "
962    "-v 160,raw48,Uncorrectable_Error_Cnt "
963    "-v 161,raw48,Number_of_Pure_Spare "
964    "-v 163,raw48,Initial_Bad_Block_Count "
965    "-v 164,raw48,Total_Erase_Count "
966    "-v 165,raw48,Max_Erase_Count "
967    "-v 166,raw48,Min_Erase_Count "
968    "-v 167,raw48,Average_Erase_Count "
969    "-v 168,raw48,Max_Erase_Count_of_Spec "
970    "-v 169,raw48,Remaining_Lifetime_Perc "
971  //"-v 175,raw48,Program_Fail_Count_Chip "
972  //"-v 176,raw48,Erase_Fail_Count_Chip "
973  //"-v 177,raw48,Wear_Leveling_Count "
974    "-v 178,raw48,Runtime_Invalid_Blk_Cnt "
975  //"-v 181,raw48,Program_Fail_Cnt_Total "
976  //"-v 182,raw48,Erase_Fail_Count_Total "
977  //"-v 187,raw48,Reported_Uncorrect " // ] only in spec
978  //"-v 192,raw48,Power-Off_Retract_Count "
979  //"-v 194,tempminmax,Temperature_Celsius "
980  //"-v 195,raw48,Hardware_ECC_Recovered "
981  //"-v 196,raw16(raw16),Reallocated_Event_Count "
982  //"-v 197,raw48,Current_Pending_Sector "
983  //"-v 198,raw48,Offline_Uncorrectable "
984  //"-v 199,raw48,UDMA_CRC_Error_Count "
985    "-v 225,raw48,Host_Writes_32MiB "  // ]
986  //"-v 232,raw48,Available_Reservd_Space "
987    "-v 233,raw48,Flash_Writes_32MiB " // ]
988    "-v 234,raw48,Flash_Reads_32MiB "  // ]
989    "-v 241,raw48,Host_Writes_32MiB "
990    "-v 242,raw48,Host_Reads_32MiB "
991    "-v 245,raw48,Flash_Writes_32MiB"
992  },
993  { "Innodisk 3IE3/3ME3/3ME4 SSDs", // tested with 2.5" SATA SSD 3ME3/S15A19, CFast 3ME3/S15A19
994      // InnoDisk Corp. - mSATA 3ME3/S15A19, mSATA mini 3ME3/S15A19, M.2 (S42) 3ME3,
995      // SATA Slim 3ME3/S15A19, SATADOM-MH 3ME3/S15A19, SATADOM-ML 3ME3/S15A19,
996      // SATADOM-MV 3ME3/S15A19, SATADOM-SL 3ME3/S15A19, SATADOM-SV 3ME3/S15A19,
997      // SATADOM-SL 3IE3/S151019N, 2.5" SATA SSD 3IE3/S15C14i, CFast 3IE3/S15C14i,
998      // InnoDisk Corp. - mSATA 3IE3/S15C14i, Mini PCIeDOM 1IE3/S15C14i,
999      // mSATA mini 3IE3/S15C14i, M.2 (S42) 3IE3/S15C14i, SATA Slim 3IE3/S15C14i,
1000      // SATADOM-SH 3IE3 V2/S15C14i, SATADOM-SL 3IE3 V2/S15A19i, SATADOM-SV 3IE3 V2/S15C14i
1001      // mSATA 3ME4/L16711, M.2 (S42) 3ME4/L16711, SATADOM-MH 3ME4/L16B01,
1002      // SATADOM-SH 3ME4/L16B01, SATADOM-SH Type C 3ME4/L16B01, SATADOM-SH Type D 3ME4/L16B01
1003    "(2.5\" SATA SSD|CFast|InnoDisk Corp\\. - mSATA|Mini PCIeDOM|mSATA( mini)?|"
1004    "M\\.2 \\(S42\\)|SATA Slim|SATADOM-[MS][HLV]( Type [CD])?) 3([IM]E3|ME4)( V2)?",
1005    "", "",
1006  //"-v 1,raw48,Raw_Read_Error_Rate "
1007  //"-v 2,raw48,Throughput_Performance "
1008  //"-v 3,raw16(avg16),Spin_Up_Time "
1009    "-v 5,raw48,Later_Bad_Block "
1010    "-v 7,raw48,Seek_Error_Rate "       // ?
1011    "-v 8,raw48,Seek_Time_Performance " // ?
1012  //"-v 9,raw24(raw8),Power_On_Hours "
1013    "-v 10,raw48,Spin_Retry_Count "     // ?
1014  //"-v 12,raw48,Power_Cycle_Count "
1015    "-v 163,raw48,Total_Bad_Block_Count "
1016    "-v 165,raw48,Max_Erase_Count "
1017    "-v 167,raw48,Average_Erase_Count "
1018    "-v 168,raw48,SATA_PHY_Error_Count "
1019    "-v 169,raw48,Remaining_Lifetime_Perc "
1020    "-v 170,raw48,Spare_Block_Count "
1021    "-v 171,raw48,Program_Fail_Count "
1022    "-v 172,raw48,Erase_Fail_Count "
1023    "-v 175,raw48,Bad_Cluster_Table_Count "
1024    "-v 176,raw48,RANGE_RECORD_Count "
1025  //"-v 187,raw48,Reported_Uncorrect "
1026  //"-v 192,raw48,Power-Off_Retract_Count "
1027  //"-v 194,tempminmax,Temperature_Celsius "
1028  //"-v 197,raw48,Current_Pending_Sector "
1029    "-v 225,raw48,Data_Log_Write_Count "
1030    "-v 229,hex48,Flash_ID "
1031    "-v 232,raw48,Spares_Remaining_Perc "
1032    "-v 235,raw16,Later_Bad_Blk_Inf_R/W/E " // Read/Write/Erase
1033    "-v 240,raw48,Write_Head "
1034    "-v 241,raw48,Host_Writes_32MiB "
1035    "-v 242,raw48,Host_Reads_32MiB"
1036  },
1037  { "InnoDisk iCF 9000 CompactFlash Cards", // tested with InnoDisk Corp. - iCF9000 1GB/140808,
1038       // ..., InnoDisk Corp. - iCF9000 64GB/140808
1039    "InnoDisk Corp\\. - iCF9000 (1|2|4|8|16|32|64)GB",
1040    "", "",
1041  //"-v 1,raw48,Raw_Read_Error_Rate "
1042  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1043  //"-v 12,raw48,Power_Cycle_Count "
1044    "-v 160,raw48,Uncorrectable_Error_Cnt "
1045    "-v 161,raw48,Valid_Spare_Block_Cnt "
1046    "-v 162,raw48,Child_Pair_Count "
1047    "-v 163,raw48,Initial_Bad_Block_Count "
1048    "-v 164,raw48,Total_Erase_Count "
1049    "-v 165,raw48,Max_Erase_Count "
1050    "-v 166,raw48,Min_Erase_Count "
1051    "-v 167,raw48,Average_Erase_Count "
1052  //"-v 192,raw48,Power-Off_Retract_Count "
1053  //"-v 194,tempminmax,Temperature_Celsius "
1054  //"-v 195,raw48,Hardware_ECC_Recovered "
1055  //"-v 196,raw16(raw16),Reallocated_Event_Count "
1056  //"-v 198,raw48,Offline_Uncorrectable "
1057  //"-v 199,raw48,UDMA_CRC_Error_Count "
1058  //"-v 229,raw48,Flash_ID " // only in spec
1059    "-v 241,raw48,Host_Writes_32MiB "
1060    "-v 242,raw48,Host_Reads_32MiB"
1061  },
1062  { "Intel X25-E SSDs",
1063    "SSDSA2SH(032|064)G1.* INTEL",  // G1 = first generation
1064    "", "",
1065  //"-v 3,raw16(avg16),Spin_Up_Time "
1066  //"-v 4,raw48,Start_Stop_Count "
1067  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1068  //"-v 9,raw24(raw8),Power_On_Hours "
1069  //"-v 12,raw48,Power_Cycle_Count "
1070    "-v 192,raw48,Unsafe_Shutdown_Count "
1071    "-v 225,raw48,Host_Writes_32MiB "
1072    "-v 226,raw48,Intel_Internal "
1073    "-v 227,raw48,Intel_Internal "
1074    "-v 228,raw48,Intel_Internal "
1075  //"-v 232,raw48,Available_Reservd_Space "
1076  //"-v 233,raw48,Media_Wearout_Indicator"
1077  },
1078  { "Intel X18-M/X25-M G1 SSDs",
1079    "INTEL SSDSA[12]MH(080|160)G1.*",  // G1 = first generation, 50nm
1080    "", "",
1081  //"-v 3,raw16(avg16),Spin_Up_Time "
1082  //"-v 4,raw48,Start_Stop_Count "
1083  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1084  //"-v 9,raw24(raw8),Power_On_Hours "
1085  //"-v 12,raw48,Power_Cycle_Count "
1086    "-v 192,raw48,Unsafe_Shutdown_Count "
1087    "-v 225,raw48,Host_Writes_32MiB "
1088    "-v 226,raw48,Intel_Internal "
1089    "-v 227,raw48,Intel_Internal "
1090    "-v 228,raw48,Intel_Internal "
1091  //"-v 232,raw48,Available_Reservd_Space "
1092  //"-v 233,raw48,Media_Wearout_Indicator"
1093  },
1094  { "Intel X18-M/X25-M/X25-V G2 SSDs", // fixed firmware
1095      // tested with INTEL SSDSA2M(080|160)G2GC/2CV102J8 (X25-M)
1096    "INTEL SSDSA[12]M(040|080|120|160)G2.*",  // G2 = second generation, 34nm
1097    "2CV102(J[89A-Z]|[K-Z].)", // >= "2CV102J8"
1098    "",
1099  //"-v 3,raw16(avg16),Spin_Up_Time "
1100  //"-v 4,raw48,Start_Stop_Count "
1101  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1102  //"-v 9,raw24(raw8),Power_On_Hours "
1103  //"-v 12,raw48,Power_Cycle_Count "
1104  //"-v 184,raw48,End-to-End_Error " // G2 only
1105    "-v 192,raw48,Unsafe_Shutdown_Count "
1106    "-v 225,raw48,Host_Writes_32MiB "
1107    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1108    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1109    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1110  //"-v 232,raw48,Available_Reservd_Space "
1111  //"-v 233,raw48,Media_Wearout_Indicator"
1112  },
1113  { "Intel X18-M/X25-M/X25-V G2 SSDs", // buggy or unknown firmware
1114      // tested with INTEL SSDSA2M040G2GC/2CV102HD (X25-V)
1115    "INTEL SSDSA[12]M(040|080|120|160)G2.*",
1116    "",
1117    "This drive may require a firmware update to\n"
1118    "fix possible drive hangs when reading SMART self-test log:\n"
1119    "https://downloadcenter.intel.com/download/26491",
1120    "-v 192,raw48,Unsafe_Shutdown_Count "
1121    "-v 225,raw48,Host_Writes_32MiB "
1122    "-v 226,raw48,Workld_Media_Wear_Indic "
1123    "-v 227,raw48,Workld_Host_Reads_Perc "
1124    "-v 228,raw48,Workload_Minutes"
1125  },
1126  { "Intel 311/313 Series SSDs", // tested with INTEL SSDSA2VP020G2/2CV102M5,
1127      // INTEL SSDSA2VP020G3/9CV10379, INTEL SSDMAEXC024G3H/9CV10379
1128    "INTEL SSD(SA2VP|MAEXC)(020|024)G[23]H?",
1129      // SA2VP = 2.5", MAEXC = mSATA, G2 = 311, G3 = 313
1130    "", "",
1131  //"-v 3,raw16(avg16),Spin_Up_Time "
1132  //"-v 4,raw48,Start_Stop_Count "
1133  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1134  //"-v 9,raw24(raw8),Power_On_Hours "
1135  //"-v 12,raw48,Power_Cycle_Count "
1136    "-v 170,raw48,Reserve_Block_Count "
1137    "-v 171,raw48,Program_Fail_Count "
1138    "-v 172,raw48,Erase_Fail_Count "
1139    "-v 183,raw48,SATA_Downshift_Count "
1140  //"-v 184,raw48,End-to-End_Error "
1141  //"-v 187,raw48,Reported_Uncorrect "
1142    "-v 192,raw48,Unsafe_Shutdown_Count "
1143    "-v 225,raw48,Host_Writes_32MiB "
1144    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1145    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1146    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1147  //"-v 232,raw48,Available_Reservd_Space "
1148  //"-v 233,raw48,Media_Wearout_Indicator "
1149    "-v 241,raw48,Host_Writes_32MiB "
1150    "-v 242,raw48,Host_Reads_32MiB"
1151  },
1152  { "Intel 320 Series SSDs", // tested with INTEL SSDSA2CT040G3/4PC10362,
1153      // INTEL SSDSA2CW160G3/4PC10362, SSDSA2BT040G3/4PC10362, SSDSA2BW120G3A/4PC10362,
1154      // INTEL SSDSA2BW300G3D/4PC10362, SSDSA2BW160G3L/4PC1LE04, SSDSA1NW160G3/4PC10362
1155    "INTEL SSDSA[12][BCN][WT](040|080|120|160|300|600)G3[ADL]?",
1156      // 2B = 2.5" 7mm, 2C = 2.5" 9.5mm, 1N = 1.8" microSATA
1157    "", "",
1158    "-F nologdir "
1159  //"-v 3,raw16(avg16),Spin_Up_Time "
1160  //"-v 4,raw48,Start_Stop_Count "
1161  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1162  //"-v 9,raw24(raw8),Power_On_Hours "
1163  //"-v 12,raw48,Power_Cycle_Count "
1164    "-v 170,raw48,Reserve_Block_Count "
1165    "-v 171,raw48,Program_Fail_Count "
1166    "-v 172,raw48,Erase_Fail_Count "
1167    "-v 183,raw48,SATA_Downshift_Count " // FW >= 4Px10362
1168  //"-v 184,raw48,End-to-End_Error "
1169  //"-v 187,raw48,Reported_Uncorrect "
1170    "-v 199,raw48,CRC_Error_Count "      // FW >= 4Px10362
1171    "-v 192,raw48,Unsafe_Shutdown_Count "
1172    "-v 225,raw48,Host_Writes_32MiB "
1173    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1174    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1175    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1176  //"-v 232,raw48,Available_Reservd_Space "
1177  //"-v 233,raw48,Media_Wearout_Indicator "
1178    "-v 241,raw48,Host_Writes_32MiB "
1179    "-v 242,raw48,Host_Reads_32MiB"
1180  },
1181  { "Intel 710 Series SSDs", // tested with INTEL SSDSA2BZ[12]00G3/6PB10362
1182    "INTEL SSDSA2BZ(100|200|300)G3",
1183    "", "",
1184    "-F nologdir "
1185  //"-v 3,raw16(avg16),Spin_Up_Time "
1186  //"-v 4,raw48,Start_Stop_Count "
1187  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1188  //"-v 9,raw24(raw8),Power_On_Hours "
1189  //"-v 12,raw48,Power_Cycle_Count "
1190    "-v 170,raw48,Reserve_Block_Count "
1191    "-v 171,raw48,Program_Fail_Count "
1192    "-v 172,raw48,Erase_Fail_Count "
1193    "-v 174,raw48,Unexpect_Power_Loss_Ct " // Missing in 710 specification from September 2011
1194    "-v 183,raw48,SATA_Downshift_Count "
1195  //"-v 184,raw48,End-to-End_Error "
1196  //"-v 187,raw48,Reported_Uncorrect "
1197  //"-v 190,tempminmax,Airflow_Temperature_Cel "
1198    "-v 192,raw48,Unsafe_Shutdown_Count "
1199    "-v 225,raw48,Host_Writes_32MiB "
1200    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1201    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1202    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1203  //"-v 232,raw48,Available_Reservd_Space "
1204  //"-v 233,raw48,Media_Wearout_Indicator "
1205    "-v 241,raw48,Host_Writes_32MiB "
1206    "-v 242,raw48,Host_Reads_32MiB"
1207  },
1208  { "Intel 510 Series SSDs",
1209    "INTEL SSDSC2MH(120|250)A2",
1210    "", "",
1211  //"-v 3,raw16(avg16),Spin_Up_Time "
1212  //"-v 4,raw48,Start_Stop_Count "
1213  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1214  //"-v 9,raw24(raw8),Power_On_Hours "
1215  //"-v 12,raw48,Power_Cycle_Count "
1216    "-v 192,raw48,Unsafe_Shutdown_Count "
1217    "-v 225,raw48,Host_Writes_32MiB "
1218  //"-v 232,raw48,Available_Reservd_Space "
1219  //"-v 233,raw48,Media_Wearout_Indicator"
1220  },
1221  { "Intel 520 Series SSDs", // tested with INTEL SSDSC2CW120A3/400i, SSDSC2BW480A3F/400i,
1222      // INTEL SSDSC2BW180A3L/LB3i
1223    "INTEL SSDSC2[BC]W(060|120|180|240|480)A3[FL]?",
1224    "", "",
1225  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1226    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
1227  //"-v 12,raw48,Power_Cycle_Count "
1228    "-v 170,raw48,Available_Reservd_Space "
1229    "-v 171,raw48,Program_Fail_Count "
1230    "-v 172,raw48,Erase_Fail_Count "
1231    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1232  //"-v 184,raw48,End-to-End_Error "
1233    "-v 187,raw48,Uncorrectable_Error_Cnt "
1234  //"-v 192,raw48,Power-Off_Retract_Count "
1235    "-v 225,raw48,Host_Writes_32MiB "
1236    "-v 226,raw48,Workld_Media_Wear_Indic "
1237    "-v 227,raw48,Workld_Host_Reads_Perc "
1238    "-v 228,raw48,Workload_Minutes "
1239  //"-v 232,raw48,Available_Reservd_Space "
1240  //"-v 233,raw48,Media_Wearout_Indicator "
1241    "-v 241,raw48,Host_Writes_32MiB "
1242    "-v 242,raw48,Host_Reads_32MiB "
1243    "-v 249,raw48,NAND_Writes_1GiB"
1244  },
1245  { "Intel 525 Series SSDs", // mSATA, tested with SSDMCEAC120B3/LLLi
1246    "INTEL SSDMCEAC(030|060|090|120|180|240)B3",
1247    "", "",
1248  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1249    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
1250  //"-v 12,raw48,Power_Cycle_Count "
1251    "-v 170,raw48,Available_Reservd_Space "
1252    "-v 171,raw48,Program_Fail_Count "
1253    "-v 172,raw48,Erase_Fail_Count "
1254    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1255    "-v 183,raw48,SATA_Downshift_Count "
1256  //"-v 184,raw48,End-to-End_Error "
1257    "-v 187,raw48,Uncorrectable_Error_Cnt "
1258  //"-v 190,tempminmax,Airflow_Temperature_Cel "
1259  //"-v 192,raw48,Power-Off_Retract_Count "
1260  //"-v 199,raw48,UDMA_CRC_Error_Count "
1261    "-v 225,raw48,Host_Writes_32MiB "
1262    "-v 226,raw48,Workld_Media_Wear_Indic "
1263    "-v 227,raw48,Workld_Host_Reads_Perc "
1264    "-v 228,raw48,Workload_Minutes "
1265  //"-v 232,raw48,Available_Reservd_Space "
1266  //"-v 233,raw48,Media_Wearout_Indicator "
1267    "-v 241,raw48,Host_Writes_32MiB "
1268    "-v 242,raw48,Host_Reads_32MiB "
1269    "-v 249,raw48,NAND_Writes_1GiB"
1270  },
1271  { "Intel 53x and Pro 2500 Series SSDs", // SandForce SF-2281, tested with
1272      // INTEL SSDSC2BW180A4/DC12, SSDSC2BW240A4/DC12, SSDMCEAW120A4/DC33
1273      // INTEL SSDMCEAW240A4/DC33, SSDSC2BF480A5/TG26, SSDSC2BW240H6/RG21
1274    "INTEL SSD(MCEA|SC2B|SCKJ)[WF](056|080|120|180|240|360|480)(A4|A5|H6)",
1275      // SC2B = 2.5", MCEA = mSATA, SCKJ = M.2; A4 = 530, A5 = Pro 2500, H6 = 535
1276    "", "",
1277  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1278    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
1279  //"-v 12,raw48,Power_Cycle_Count "
1280    "-v 170,raw48,Available_Reservd_Space "
1281    "-v 171,raw48,Program_Fail_Count "
1282    "-v 172,raw48,Erase_Fail_Count "
1283    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1284    "-v 183,raw48,SATA_Downshift_Count "
1285  //"-v 184,raw48,End-to-End_Error "
1286    "-v 187,raw48,Uncorrectable_Error_Cnt "
1287  //"-v 190,tempminmax,Airflow_Temperature_Cel "
1288  //"-v 192,raw48,Power-Off_Retract_Count "
1289  //"-v 199,raw48,UDMA_CRC_Error_Count "
1290    "-v 225,raw48,Host_Writes_32MiB "
1291    "-v 226,raw48,Workld_Media_Wear_Indic "
1292    "-v 227,raw48,Workld_Host_Reads_Perc "
1293    "-v 228,raw48,Workload_Minutes "
1294  //"-v 232,raw48,Available_Reservd_Space "
1295  //"-v 233,raw48,Media_Wearout_Indicator "
1296    "-v 241,raw48,Host_Writes_32MiB "
1297    "-v 242,raw48,Host_Reads_32MiB "
1298    "-v 249,raw48,NAND_Writes_1GiB"
1299  },
1300  { "Intel 330/335 Series SSDs", // tested with INTEL SSDSC2CT180A3/300i, SSDSC2CT240A3/300i,
1301      // INTEL SSDSC2CT240A4/335t
1302    "INTEL SSDSC2CT(060|120|180|240)A[34]", // A4 = 335 Series
1303    "", "",
1304  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1305    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
1306  //"-v 12,raw48,Power_Cycle_Count "
1307  //"-v 181,raw48,Program_Fail_Cnt_Total " // ] Missing in 330 specification from April 2012
1308  //"-v 182,raw48,Erase_Fail_Count_Total " // ]
1309  //"-v 192,raw48,Power-Off_Retract_Count "
1310    "-v 225,raw48,Host_Writes_32MiB "
1311  //"-v 232,raw48,Available_Reservd_Space "
1312  //"-v 233,raw48,Media_Wearout_Indicator "
1313    "-v 241,raw48,Host_Writes_32MiB "
1314    "-v 242,raw48,Host_Reads_32MiB "
1315    "-v 249,raw48,NAND_Writes_1GiB"
1316  },
1317  // https://www.intel.com/content/www/us/en/solid-state-drives/ssd-540s-series-spec.html
1318  // https://www.intel.com/content/www/us/en/solid-state-drives/ssd-540s-series-m2-spec.html
1319  { "Intel 540 Series SSDs", // INTEL SSDSC2KW120H6/LSF036C, INTEL SSDSC2KW480H6/LSF036C
1320    "INTEL SSDSC[K2]KW(120H|180H|240H|360H|480H|010X)6", 
1321    "", "",
1322    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
1323    "-v 170,raw48,Available_Reservd_Space "
1324    "-v 171,raw48,Program_Fail_Count "
1325    "-v 172,raw48,Erase_Fail_Count "
1326    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1327    "-v 183,raw48,SATA_Downshift_Count "
1328    "-v 187,raw48,Uncorrectable_Error_Cnt "
1329    "-v 225,raw48,Host_Writes_32MiB "
1330    "-v 226,raw48,Workld_Media_Wear_Indic "
1331    "-v 227,raw48,Workld_Host_Reads_Perc "
1332    "-v 228,raw48,Workload_Minutes "
1333    "-v 249,raw48,NAND_Writes_1GiB"
1334  },
1335  { "Intel 545s Series SSDs", // tested with INTEL SSDSCKKW512G8, INTEL SSDSC2KW512G8/LHF002C
1336      // SSDSCKKW128G8X1, SSDSCKKW256G8X1, SSDSCKKW512G8X1, SSDSCKKW010T8X1
1337    "INTEL SSDSC[2K]KW(128G|256G|512G|010T)8.*",
1338    "", "",
1339  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1340  //"-v 9,raw24(raw8),Power_On_Hours "
1341  //"-v 12,raw48,Power_Cycle_Count "
1342  //"-v 170,raw48,Available_Reservd_Space "
1343    "-v 171,raw48,Program_Fail_Count "
1344    "-v 172,raw48,Erase_Fail_Count "
1345  //"-v 173 is missing in official Intel doc"
1346    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1347    "-v 183,raw48,SATA_Downshift_Count "
1348  //"-v 184,raw48,End-to-End_Error "
1349  //"-v 187,raw48,Reported_Uncorrect "
1350    "-v 190,tempminmax,Temperature_Case "
1351    "-v 192,raw48,Unsafe_Shutdown_Count "
1352    "-v 199,raw48,CRC_Error_Count "
1353    "-v 225,raw48,Host_Writes_32MiB "
1354    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1355    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1356    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1357  //"-v 232,raw48,Available_Reservd_Space "
1358  //"-v 233,raw48,Media_Wearout_Indicator "
1359  //"-v 236 is missing in official Intel doc"
1360    "-v 241,raw48,Host_Writes_32MiB "
1361    "-v 242,raw48,Host_Reads_32MiB "
1362    "-v 249,raw48,NAND_Writes_1GiB "
1363  //"-v 252 is missing in official intel doc"
1364  },
1365  { "Intel 730 and DC S35x0/3610/3700 Series SSDs", // tested with INTEL SSDSC2BP480G4, SSDSC2BB120G4/D2010355,
1366      // INTEL SSDSC2BB800G4T, SSDSC2BA200G3/5DV10250, SSDSC2BB080G6/G2010130,  SSDSC2BX200G4/G2010110,
1367      // INTEL SSDSC2BB016T6/G2010140, SSDSC2BX016T4/G2010140, SSDSC2BB150G7/N2010101
1368    "INTEL SSDSC(1N|2B)[ABPX]((080|100|120|150|160|200|240|300|400|480|600|800)G[3467][RT]?|(012|016)T[46])",
1369      // A = S3700, B*4 = S3500, B*6 = S3510, P = 730, X = S3610
1370      // Dell ships drives with model of the form SSDSC2BB120G4R
1371    "", "",
1372  //"-v 3,raw16(avg16),Spin_Up_Time "
1373  //"-v 4,raw48,Start_Stop_Count "
1374  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1375  //"-v 9,raw24(raw8),Power_On_Hours "
1376  //"-v 12,raw48,Power_Cycle_Count "
1377    "-v 170,raw48,Available_Reservd_Space "
1378    "-v 171,raw48,Program_Fail_Count "
1379    "-v 172,raw48,Erase_Fail_Count "
1380    "-v 174,raw48,Unsafe_Shutdown_Count "
1381    "-v 175,raw16(raw16),Power_Loss_Cap_Test "
1382    "-v 183,raw48,SATA_Downshift_Count "
1383  //"-v 184,raw48,End-to-End_Error "
1384  //"-v 187,raw48,Reported_Uncorrect "
1385    "-v 190,tempminmax,Temperature_Case "
1386    "-v 192,raw48,Unsafe_Shutdown_Count "
1387    "-v 194,tempminmax,Temperature_Internal "
1388  //"-v 197,raw48,Current_Pending_Sector "
1389    "-v 199,raw48,CRC_Error_Count "
1390    "-v 225,raw48,Host_Writes_32MiB "
1391    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1392    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1393    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1394  //"-v 232,raw48,Available_Reservd_Space "
1395  //"-v 233,raw48,Media_Wearout_Indicator "
1396    "-v 234,raw24/raw32:04321,Thermal_Throttle "
1397    "-v 241,raw48,Host_Writes_32MiB "
1398    "-v 242,raw48,Host_Reads_32MiB "
1399    "-v 243,raw48,NAND_Writes_32MiB " // S3510/3610
1400    "-F xerrorlba" // tested with SSDSC2BB600G4/D2010355
1401  },
1402  // https://www.intel.com/content/www/us/en/solid-state-drives/ssd-pro-5400s-series-spec.html
1403  // https://www.intel.com/content/www/us/en/solid-state-drives/ssd-pro-5400s-series-m2-spec.html
1404  { "Intel SSD Pro 5400s Series", // Tested with SSDSC2KF480H6/LSF036P
1405    "INTEL SSDSC[2K]KF(120H|180H|240H|360H|480H|010X)6",
1406    "", "",
1407    "-v 170,raw48,Available_Reservd_Space "
1408    "-v 171,raw48,Program_Fail_Count "
1409    "-v 172,raw48,Erase_Fail_Count "
1410    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1411    "-v 183,raw48,SATA_Downshift_Count "
1412    "-v 187,raw48,Uncorrectable_Error_Cnt "
1413    "-v 225,raw48,Host_Writes_32MiB "
1414    "-v 226,raw48,Workld_Media_Wear_Indic "
1415    "-v 227,raw48,Workld_Host_Reads_Perc "
1416    "-v 228,raw48,Workload_Minutes "
1417    "-v 249,raw48,NAND_Writes_1GiB "
1418  },
1419  { "Intel 3710 Series SSDs", // INTEL SSDSC2BA200G4R/G201DL2B (dell)
1420    "INTEL SSDSC2BA(200G|400G|800G|012T)4.?",
1421    "", "",
1422    "-v 9,msec24hour32,Power_On_Hours_and_Msec "
1423    "-v 170,raw48,Available_Reservd_Space "
1424    "-v 171,raw48,Program_Fail_Count "
1425    "-v 172,raw48,Erase_Fail_Count "
1426    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1427    "-v 183,raw48,SATA_Downshift_Count "
1428    "-v 187,raw48,Uncorrectable_Error_Cnt "
1429    "-v 225,raw48,Host_Writes_32MiB "
1430    "-v 226,raw48,Workld_Media_Wear_Indic "
1431    "-v 227,raw48,Workld_Host_Reads_Perc "
1432    "-v 228,raw48,Workload_Minutes "
1433    "-v 234,raw24/raw32:04321,Thermal_Throttle "
1434    "-v 243,raw48,NAND_Writes_32MiB "
1435  },
1436  { "Intel S3520 Series SSDs", // INTEL SSDSC2BB960G7/N2010112, INTEL SSDSC2BB016T7/N2010112
1437    "INTEL SSDSC(2|K)(J|B)B(240G|480G|960G|150G|760G|800G|012T|016T)7.?",
1438    "", "",
1439  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1440  //"-v 9,raw24(raw8),Power_On_Hours "
1441  //"-v 12,raw48,Power_Cycle_Count "
1442    "-v 170,raw48,Available_Reservd_Space "
1443    "-v 171,raw48,Program_Fail_Count "
1444    "-v 172,raw48,Erase_Fail_Count "
1445    "-v 174,raw48,Unsafe_Shutdown_Count "
1446    "-v 175,raw16(raw16),Power_Loss_Cap_Test "
1447    "-v 183,raw48,SATA_Downshift_Count "
1448    "-v 184,raw48,End-to-End_Error_Count "
1449    "-v 187,raw48,Uncorrectable_Error_Cnt "
1450    "-v 190,tempminmax,Case_Temperature "
1451    "-v 192,raw48,Unsafe_Shutdown_Count "
1452    "-v 194,tempminmax,Drive_Temperature "
1453    "-v 197,raw48,Pending_Sector_Count "
1454    "-v 199,raw48,CRC_Error_Count "
1455    "-v 225,raw48,Host_Writes_32MiB "
1456    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1457    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1458    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1459  //"-v 232,raw48,Available_Reservd_Space "
1460  //"-v 233,raw48,Media_Wearout_Indicator "
1461    "-v 234,raw24/raw32:04321,Thermal_Throttle_Status "
1462    "-v 241,raw48,Host_Writes_32MiB "
1463    "-v 242,raw48,Host_Reads_32MiB "
1464    "-v 243,raw48,NAND_Writes_32MiB"
1465  },
1466  { "Dell Certified Intel S3520 Series SSDs",
1467    "SSDSC(2|K)(J|B)B(240G|480G|960G|120G|760G|800G|012T|016T)7R.?",
1468    "", "",
1469    "-v 170,raw48,Available_Reservd_Space "
1470    "-v 174,raw48,Unsafe_Shutdown_Count "
1471    "-v 195,raw48,Uncorrectable_Error_Cnt "
1472    "-v 199,raw48,CRC_Error_Count "
1473    "-v 201,raw16(raw16),Power_Loss_Cap_Test "
1474    "-v 202,raw48,End_of_Life "
1475    "-v 225,raw48,Host_Writes_32MiB "
1476    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1477    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1478    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1479    "-v 233,raw48,Total_LBAs_Written "
1480    "-v 234,raw24/raw32:04321,Thermal_Throttle_Status "
1481    "-v 245,raw48,Percent_Life_Remaining"
1482  },
1483  { "Intel S4510/S4610/S4500/S4600 Series SSDs", // INTEL SSDSC2KB480G7/SCV10100,
1484      // INTEL SSDSC2KB960G7/SCV10100, INTEL SSDSC2KB038T7/SCV10100,
1485      // INTEL SSDSC2KB038T7/SCV10121, INTEL SSDSC2KG240G7/SCV10100
1486    "INTEL SSDSC(2K|KK)(B|G)(240G|480G|960G|019T|038T)(7|8).?",
1487    "", "",
1488  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1489  //"-v 9,raw24(raw8),Power_On_Hours "
1490  //"-v 12,raw48,Power_Cycle_Count "
1491    "-v 170,raw48,Available_Reservd_Space "
1492    "-v 171,raw48,Program_Fail_Count "
1493    "-v 172,raw48,Erase_Fail_Count "
1494    "-v 174,raw48,Unsafe_Shutdown_Count "
1495    "-v 175,raw16(raw16),Power_Loss_Cap_Test "
1496    "-v 183,raw48,SATA_Downshift_Count "
1497    "-v 184,raw48,End-to-End_Error_Count "
1498    "-v 187,raw48,Uncorrectable_Error_Cnt "
1499    "-v 190,tempminmax,Drive_Temperature "
1500    "-v 192,raw48,Unsafe_Shutdown_Count "
1501    "-v 197,raw48,Pending_Sector_Count "
1502    "-v 199,raw48,CRC_Error_Count "
1503    "-v 225,raw48,Host_Writes_32MiB "
1504    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1505    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1506    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1507  //"-v 232,raw48,Available_Reservd_Space "
1508  //"-v 233,raw48,Media_Wearout_Indicator "
1509    "-v 234,raw24/raw32:04321,Thermal_Throttle_Status "
1510    "-v 235,raw16(raw16),Power_Loss_Cap_Test "
1511    "-v 241,raw48,Host_Writes_32MiB "
1512    "-v 242,raw48,Host_Reads_32MiB "
1513    "-v 243,raw48,NAND_Writes_32MiB"
1514  },
1515  { "Dell Certified Intel S4x00/D3-S4x10 Series SSDs", // INTEL SSDSC2KB480G7R/SCV1DL58,
1516      // INTEL SSDSC2KB960G7R/SCV1DL58, INTEL SSDSC2KB038T7R/SCV1DL58,
1517      // INTEL SSDSC2KB038T7R/SCV1DL58, INTEL SSDSC2KG240G7R/SCV1DL58
1518    "SSDSC(2K|KK)(B|G)(240G|480G|960G|019T|038T)(7R|8R).?",
1519    "", "",
1520    "-v 170,raw48,Available_Reservd_Space "
1521    "-v 174,raw48,Unsafe_Shutdown_Count "
1522    "-v 195,raw48,Uncorrectable_Error_Cnt "
1523    "-v 199,raw48,CRC_Error_Count "
1524    "-v 201,raw16(raw16),Power_Loss_Cap_Test "
1525    "-v 202,raw48,End_of_Life "
1526    "-v 225,raw48,Host_Writes_32MiB "
1527    "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
1528    "-v 227,raw48,Workld_Host_Reads_Perc "  // Timed Workload Host Reads Percentage
1529    "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
1530    "-v 233,raw48,Total_LBAs_Written "
1531    "-v 234,raw24/raw32:04321,Thermal_Throttle_Status "
1532    "-v 245,raw48,Percent_Life_Remaining"
1533  },
1534  { "Kingston branded X25-V SSDs", // fixed firmware
1535    "KINGSTON SSDNow 40GB",
1536    "2CV102(J[89A-Z]|[K-Z].)", // >= "2CV102J8"
1537    "",
1538    "-v 192,raw48,Unsafe_Shutdown_Count "
1539    "-v 225,raw48,Host_Writes_32MiB "
1540    "-v 226,raw48,Workld_Media_Wear_Indic "
1541    "-v 227,raw48,Workld_Host_Reads_Perc "
1542    "-v 228,raw48,Workload_Minutes"
1543  },
1544  { "Kingston branded X25-V SSDs", // buggy or unknown firmware
1545    "KINGSTON SSDNow 40GB",
1546    "",
1547    "This drive may require a firmware update to\n"
1548    "fix possible drive hangs when reading SMART self-test log.\n"
1549    "To update Kingston branded drives, a modified Intel update\n"
1550    "tool must be used. Search for \"kingston 40gb firmware\".",
1551    "-v 192,raw48,Unsafe_Shutdown_Count "
1552    "-v 225,raw48,Host_Writes_32MiB "
1553    "-v 226,raw48,Workld_Media_Wear_Indic "
1554    "-v 227,raw48,Workld_Host_Reads_Perc "
1555    "-v 228,raw48,Workload_Minutes"
1556  },
1557  { "JMicron based SSDs", // JMicron JMF60x
1558    "Kingston SSDNow V Series [0-9]*GB|" // tested with Kingston SSDNow V Series 64GB/B090522a
1559    "TS(2|4|8|16|32|64|128|192)GSSD(18|25)[MS]?-[MS]", // Transcend IDE and SATA, tested with
1560      // TS32GSSD25-M/V090331, TS32GSSD18M-M/v090331
1561    "[BVv].*", // other Transcend SSD versions will be caught by subsequent entry
1562    "",
1563  //"-v 9,raw24(raw8),Power_On_Hours " // raw value always 0?
1564  //"-v 12,raw48,Power_Cycle_Count "
1565  //"-v 194,tempminmax,Temperature_Celsius " // raw value always 0?
1566    "-v 229,hex64:w012345r,Halt_System/Flash_ID " // Halt, Flash[7]
1567    "-v 232,hex64:w012345r,Firmware_Version_Info " // "YYMMDD", #Channels, #Banks
1568    "-v 233,hex48:w01234,ECC_Fail_Record " // Fail number, Row[3], Channel, Bank
1569    "-v 234,raw24/raw24:w01234,Avg/Max_Erase_Count "
1570    "-v 235,raw24/raw24:w01z23,Good/Sys_Block_Count"
1571  },
1572  { "JMicron based SSDs", // JMicron JMF61x, JMF66x, JMF670
1573    "ADATA S596 Turbo|"  // tested with ADATA S596 Turbo 256GB SATA SSD (JMicron JMF616)
1574    "ADATA SP600|"  // tested with ADATA SP600/2.4 (JMicron JMF661)
1575    "ADATA SP310|"  // Premier Pro SP310 mSATA, JMF667, tested with ADATA SP310/3.04
1576    "ADATA SX930|"  // tested with ADATA SX930/6.8SE
1577    "APPLE SSD TS(064|128|256|512)C|"  // Toshiba?, tested with APPLE SSD TS064C/CJAA0201
1578    "KingSpec KDM-SA\\.51-008GMJ|" // tested with KingSpec KDM-SA.51-008GMJ/1.092.37 (JMF605?)
1579    "KINGSTON SNV425S2(64|128)GB|"  // SSDNow V Series (2. Generation, JMF618),
1580                                    // tested with KINGSTON SNV425S264GB/C091126a
1581    "KINGSTON SSDNOW 30GB|" // tested with KINGSTON SSDNOW 30GB/AJXA0202
1582    "KINGSTON SS100S2(8|16)G|"  // SSDNow S100 Series, tested with KINGSTON SS100S28G/D100309a
1583    "KINGSTON SNVP325S2(64|128|256|512)GB|" // SSDNow V+ Series, tested with KINGSTON SNVP325S2128GB/AGYA0201
1584    "KINGSTON SVP?100S2B?(64|96|128|256|512)G|"  // SSDNow V100/V+100 Series,
1585      // tested with KINGSTON SVP100S296G/CJR10202, KINGSTON SV100S2256G/D110225a
1586    "KINGSTON SV200S3(64|128|256)G|" // SSDNow V200 Series, tested with KINGSTON SV200S3128G/E120506a
1587    "TOSHIBA THNS128GG4BBAA|"  // Toshiba / Super Talent UltraDrive DX,
1588                               // tested with Toshiba 128GB 2.5" SSD (built in MacBooks)
1589    "TOSHIBA THNSNC128GMLJ|" // tested with THNSNC128GMLJ/CJTA0202 (built in Toshiba Protege/Dynabook)
1590    "TS(8|16|32|64|128|192|256|512)GSSD25S?-(MD?|S)|" // Transcend IDE and SATA, JMF612, tested with
1591      // TS256GSSD25S-M/101028, TS32GSSD25-M/20101227
1592    "TS(32|64|128|256)G(SSD|MSA)340", // Transcend SSD340 SATA/mSATA, JMF667/670, tested with
1593      // TS256GSSD340/SVN263, TS256GSSD340/SVN423b, TS256GMSA340/SVN263
1594    "", "",
1595  //"-v 1,raw48,Raw_Read_Error_Rate "
1596  //"-v 2,raw48,Throughput_Performance "
1597    "-v 3,raw48,Unknown_JMF_Attribute "
1598  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1599    "-v 7,raw48,Unknown_JMF_Attribute "
1600    "-v 8,raw48,Unknown_JMF_Attribute "
1601  //"-v 9,raw24(raw8),Power_On_Hours "
1602    "-v 10,raw48,Unknown_JMF_Attribute "
1603  //"-v 12,raw48,Power_Cycle_Count "
1604    "-v 167,raw48,Unknown_JMF_Attribute "
1605    "-v 168,raw48,SATA_Phy_Error_Count "
1606    "-v 169,raw48,Unknown_JMF_Attribute "
1607    "-v 170,raw16,Bad_Block_Count "
1608    "-v 173,raw16,Erase_Count " // JMF661: different?
1609    "-v 175,raw48,Bad_Cluster_Table_Count "
1610    "-v 192,raw48,Unexpect_Power_Loss_Ct "
1611  //"-v 194,tempminmax,Temperature_Celsius "
1612  //"-v 197,raw48,Current_Pending_Sector "
1613    "-v 233,raw48,Unknown_JMF_Attribute " // FW SVN423b
1614    "-v 234,raw48,Unknown_JMF_Attribute " // FW SVN423b
1615    "-v 240,raw48,Unknown_JMF_Attribute "
1616  //"-v 241,raw48,Total_LBAs_Written "    // FW SVN423b
1617  //"-v 242,raw48,Total_LBAs_Read "       // FW SVN423b
1618  },
1619  { "Plextor M3/M5/M6 Series SSDs", // Marvell 88SS9174 (M3, M5S), 88SS9187 (M5P, M5Pro), 88SS9188 (M6M/S),
1620      // tested with PLEXTOR PX-128M3/1.01, PX-128M3P/1.04, PX-256M3/1.05, PX-128M5S/1.02, PX-256M5S/1.03,
1621      // PX-128M5M/1.05, PX-128M5S/1.05, PX-128M5Pro/1.05, PX-512M5Pro/1.06, PX-256M5P/1.01, PX-128M6S/1.03
1622      // (1.04/5 Firmware self-test log lifetime unit is bogus, possibly 1/256 hours)
1623      // PLEXTOR PX-256M6S+/1.00
1624    "PLEXTOR PX-(64|128|256|512|768)M(3P?|5[MPS]|5Pro|6[MS])\\+?",
1625    "", "",
1626  //"-v 1,raw48,Raw_Read_Error_Rate "
1627  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1628  //"-v 9,raw24(raw8),Power_On_Hours "
1629  //"-v 12,raw48,Power_Cycle_Count "
1630    "-v 170,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
1631    "-v 171,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
1632    "-v 172,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
1633    "-v 173,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
1634    "-v 174,raw48,Unknown_Plextor_Attrib "  // M6S/1.03
1635  //"-v 175,raw48,Program_Fail_Count_Chip " // M6S/1.03
1636  //"-v 176,raw48,Erase_Fail_Count_Chip "   // M6S/1.03
1637  //"-v 177,raw48,Wear_Leveling_Count "
1638  //"-v 178,raw48,Used_Rsvd_Blk_Cnt_Chip "
1639  //"-v 179,raw48,Used_Rsvd_Blk_Cnt_Tot "   // M6S/1.03
1640  //"-v 180,raw48,Unused_Rsvd_Blk_Cnt_Tot " // M6S/1.03
1641  //"-v 181,raw48,Program_Fail_Cnt_Total "
1642  //"-v 182,raw48,Erase_Fail_Count_Total "
1643  //"-v 183,raw48,Runtime_Bad_Block "       // M6S/1.03
1644  //"-v 184,raw48,End-to-End_Error "        // M6S/1.03
1645  //"-v 187,raw48,Reported_Uncorrect "
1646  //"-v 188,raw48,Command_Timeout "         // M6S/1.03
1647  //"-v 192,raw48,Power-Off_Retract_Count "
1648  //"-v 195,raw48,Hardware_ECC_Recovered "  // MS6/1.03
1649  //"-v 196,raw16(raw16),Reallocated_Event_Count "
1650  //"-v 198,raw48,Offline_Uncorrectable "
1651  //"-v 199,raw48,UDMA_CRC_Error_Count "
1652  //"-v 232,raw48,Available_Reservd_Space "
1653  //"-v 233,raw48,Media_Wearout_Indicator " // MS6/1.03
1654    "-v 241,raw48,Host_Writes_32MiB "
1655    "-v 242,raw48,Host_Reads_32MiB"
1656  },
1657  { "Samsung based SSDs",
1658    "SAMSUNG SSD PM800 .*GB|"  // SAMSUNG PM800 SSDs, tested with SAMSUNG SSD PM800 TH 64GB/VBM25D1Q
1659    "SAMSUNG SSD PM810 .*GB|"  // SAMSUNG PM810 (470 series) SSDs, tested with
1660      // SAMSUNG SSD PM810 2.5" 128GB/AXM06D1Q
1661    "SAMSUNG SSD SM841N? (2\\.5\"? 7mm |mSATA )?(128|256|512)GB( SED)?|" // tested with
1662      // SAMSUNG SSD SM841 2.5" 7mm 256GB/DXM02D0Q, SAMSUNG SSD SM841 mSATA 512GB/DXM44D0Q,
1663      // SAMSUNG SSD SM841N 2.5 7mm 128GB/DXM03D0Q, SAMSUNG SSD SM841N mSATA 256GB SED/DXM45D6Q
1664    "SAMSUNG SSD PM851 (mSATA |M\\.2 )?(2280 )?(128|256|512)GB|" // tested with SAMSUNG SSD PM851 mSATA 128GB,
1665      // SAMSUNG SSD PM851 M.2 2280 256GB/EXT25D0Q
1666    "SAMSUNG 470 Series SSD|"  // tested with SAMSUNG 470 Series SSD 64GB/AXM09B1Q
1667    "Samsung SSD 750 EVO (120|250|500)GB|" // tested with Samsung SSD 750 EVO 250GB/MAT01B6Q
1668    "SAMSUNG SSD 830 Series|"  // tested with SAMSUNG SSD 830 Series 64GB/CXM03B1Q
1669    "SAMSUNG SSD PM830 .*|" // SAMSUNG SSD PM830 2.5" 7mm 128GB/CXM03D1Q
1670    "MZ7PC(512|256|128|064)HA(GH|FU|DR)-000.*|" // probably PM830, tested with SAMSUNG MZ7PC128HAFU-000L1/CXM04L1Q
1671    "Samsung SSD 840 (PRO )?Series|" // tested with Samsung SSD 840 PRO Series 128GB/DXM04B0Q,
1672      // Samsung SSD 840 Series/DXT06B0Q
1673    "Samsung SSD 8[456]0 EVO (mSATA |M\\.2 )?((120|250|500|750)G|[12]T)B|" // tested with
1674      // Samsung SSD 840 EVO (120|250|500|750)GB/EXT0AB0Q,
1675      // Samsung SSD 840 EVO (120|250)GB/EXT0BB6Q, 1TB/EXT0BB0Q, 120GB mSATA/EXT41B6Q,
1676      // Samsung SSD 850 EVO 250GB/EMT01B6Q, Samsung SSD 850 EVO M.2 250GB/EMT21B6Q,
1677      // Samsung SSD 850 EVO mSATA 120GB/EMT41B6Q, Samsung SSD 850 EVO 2TB/EMT02B6Q,
1678      // Samsung SSD 860 EVO 250GB/RVT01B6Q, Samsung SSD 860 EVO mSATA 250GB/RVT41B6Q,
1679      // Samsung SSD 860 EVO 500GB/RVT01B6Q, Samsung SSD 860 EVO mSATA 500GB/RVT41B6Q,
1680      // Samsung SSD 860 EVO mSATA 1TB/RVT41B6Q, Samsung SSD 860 EVO 2TB/RVT01B6Q
1681    "Samsung SSD 8[56]0 PRO ((128|256|512)G|1T)B|" // tested with Samsung SSD 850 PRO 128GB/EXM01B6Q,
1682      // Samsung SSD 850 PRO 1TB/EXM01B6Q, Samsung SSD 860 PRO 256GB/RVM01B6Q,
1683      // Samsung SSD 860 PRO 512GB/RVM01B6Q, Samsung SSD 860 PRO 1TB/RVM01B6Q
1684    "SAMSUNG MZ7PA256HMDR-.*|" // PM810 (470 Series), tested with SAMSUNG MZ7PA256HMDR-010H1/AXM07H1Q
1685    "Samsung SSD 845DC EVO .*|" // Samsung SSD 845DC EVO 960GB/EXT03X3Q
1686    "SAMSUNG MZ[7M]PC(032|064|128|256|512)HBCD-.*|" // PM830, tested with SAMSUNG MZMPC032HBCD-000L1/CXM12L1Q
1687    "SAMSUNG MZ7TD(128|256)HAFV-.*|" // 840 Series, tested with SAMSUNG MZ7TD256HAFV-000L7/DXT06L6Q
1688    "SAMSUNG MZMTD(128|256|512)HAGL-.*|" // PM841, tested with SAMSUNG MZMTD512HAGL-00000/DXT4200Q
1689    "SAMSUNG MZ7WD((120|240)H[AC]FV|480HAGM|960HAGP)-00003|" // SM843T Series, tested with
1690      // SAMSUNG MZ7WD120HAFV-00003/DXM85W3Q, SAMSUNG MZ7WD120HCFV-00003/DXM9203Q
1691    "SAMSUNG MZ[7N]TE(128|256|512)HMHP-.*|" // PM851, tested with SAMSUNG MZ7TE256HMHP-000L7/EXT09L6Q,
1692      // SAMSUNG MZNTE256HMHP-000H1/EXT22H0Q
1693    "SAMSUNG MZMPF(032|064)HCFV-.*|" // CM851 mSATA, tested with SAMSUNG MZMPF032HCFV-000H1/FXM42H2Q
1694    "SAMSUNG MZ7GE(240HMGR|(480|960)HMHP)-00003|" // SM853T Series, tested with
1695      // SAMSUNG MZ7GE240HMGR-00003/EXT0303Q
1696    "SAMSUNG MZ7LM(120|240|480|960|1T9|3T8)HC(JM|HP|GR|FD)-.*|" // PM863 Series, tested with
1697      // SAMSUNG MZ7LM960HCHP-0E003/GXT3003Q
1698    "SAMSUNG MZ7LM(240|480|960|1T9|3T8)HM(JP|HQ|LP)-.*|" // PM863a Series, tested with
1699      // SAMSUNG MZ7LM3T8HMLP-00005/GXT5104Q
1700    "(SAMSUNG )?MZ7KM(120|240|480|960|1T9)H[AM](FD|GR|H[PQ]|J[MP])(-.*|0D3)|" // SM863(a), tested with
1701      // SAMSUNG MZ7KM480HAHP-0E005/GXM1003Q, SAMSUNG MZ7KM480HMHQ-00005/GXM5104Q,
1702      // SAMSUNG MZ7KM960HMJP-00005/GXM5304Q, MZ7KM960HMJP0D3/GD53 (Dell)
1703    "SAMSUNG MZ7LH(240|480|960|1T9|3T8|7T6)H[AM](HQ|JR|LT|LA)-.*|" //PM883, tested with SAMSUNG MZ7LH960HAJR-00005
1704    "SAMSUNG MZ7KH(240|480|960|1T9|3T8)HA(HQ|JR|LS)-.*|" //SM883
1705    "SAMSUNG MZN(LF|TY)(128|256)H[CD]HP-.*|" // CM871/871a, tested with SAMSUNG MZNLF128HCHP-000H1/FXT21H1Q,
1706      // SAMSUNG MZNTY256HDHP-000/MAT21K0Q
1707    "SAMSUNG MZ[7N]LN(128|256|512|1T0)H[ACM](GR|HP|HQ|J[HPQ]|LR)-.*|" // PM871/871a/b, tested with
1708      // SAMSUNG MZ7LN128HCHP-00000/EMT0100Q, SAMSUNG MZ7LN256HAHQ-000H1/MVT03H6Q,
1709      // SAMSUNG MZNLN256HMHQ-000H1/MAV21H3Q
1710    "SAMSUNG SSD PM871 .*|" // SAMSUNG SSD PM871 2.5 7mm 256GB/EMT02D0Q
1711      // SAMSUNG MZ7LN256HMJP-00000/MAV0100Q, SAMSUNG MZ7LN512HMJP-00000/MAV0100Q
1712    "SAMSUNG MZHPV(128|256|512)HDG(L|M)-.*|" // SM951, tested with SAMSUNG MZHPV512HDGL-00000/BXW2500Q,
1713      // SAMSUNG MZHPV128HDGM-00000 (BXW2500Q)
1714    "Samsung Portable SSD T5", // tested with Samsung Portable SSD T5 (0x04e8:0x61f5)
1715    "", "",
1716  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1717  //"-v 9,raw24(raw8),Power_On_Hours "
1718  //"-v 12,raw48,Power_Cycle_Count "
1719    "-v 170,raw48,Unused_Rsvd_Blk_Ct_Chip " // CM871
1720    "-v 171,raw48,Program_Fail_Count_Chip " // CM871
1721    "-v 172,raw48,Erase_Fail_Count_Chip " // CM871
1722    "-v 173,raw48,Wear_Leveling_Count " // CM871
1723    "-v 174,raw48,Unexpect_Power_Loss_Ct " // CM871
1724  //"-v 175,raw48,Program_Fail_Count_Chip "
1725  //"-v 176,raw48,Erase_Fail_Count_Chip "
1726  //"-v 177,raw48,Wear_Leveling_Count "
1727  //"-v 178,raw48,Used_Rsvd_Blk_Cnt_Chip "
1728  //"-v 179,raw48,Used_Rsvd_Blk_Cnt_Tot "
1729  //"-v 180,raw48,Unused_Rsvd_Blk_Cnt_Tot "
1730  //"-v 181,raw48,Program_Fail_Cnt_Total "
1731  //"-v 182,raw48,Erase_Fail_Count_Total "
1732  //"-v 183,raw48,Runtime_Bad_Block "
1733  //"-v 184,raw48,End-to-End_Error " // SM843T Series
1734    "-v 187,raw48,Uncorrectable_Error_Cnt "
1735  //"-v 190,tempminmax,Airflow_Temperature_Cel "  // seems to be some sort of temperature value for 470 Series?
1736    "-v 191,raw48,Unknown_Samsung_Attr " // PM810
1737  //"-v 194,tempminmax,Temperature_Celsius "
1738    "-v 195,raw48,ECC_Error_Rate "
1739  //"-v 196,raw16(raw16),Reallocated_Event_Count "
1740  //"-v 198,raw48,Offline_Uncorrectable "
1741    "-v 199,raw48,CRC_Error_Count "
1742    "-v 201,raw48,Supercap_Status "
1743    "-v 202,raw48,Exception_Mode_Status "
1744  //"-v 233,raw48,Media_Wearout_Indicator // PM851, 840
1745    "-v 234,raw48,Unknown_Samsung_Attr " // PM851, 840
1746    "-v 235,raw48,POR_Recovery_Count " // PM851, 830/840/850
1747    "-v 236,raw48,Unknown_Samsung_Attr " // PM851, 840
1748    "-v 237,raw48,Unknown_Samsung_Attr " // PM851, 840
1749    "-v 238,raw48,Unknown_Samsung_Attr " // PM851, 840
1750  //"-v 241,raw48,Total_LBAs_Written "
1751  //"-v 242,raw48,Total_LBAs_Read " // PM851, SM841N
1752    "-v 243,raw48,SATA_Downshift_Ct " // PM863
1753    "-v 244,raw48,Thermal_Throttle_St " // PM863
1754    "-v 245,raw48,Timed_Workld_Media_Wear " // PM863
1755    "-v 246,raw48,Timed_Workld_RdWr_Ratio " // PM863
1756    "-v 247,raw48,Timed_Workld_Timer " // PM863
1757    "-v 249,raw48,Unknown_Samsung_Attr " // CM871a
1758    "-v 250,raw48,SATA_Iface_Downshift " // from the spec
1759    "-v 251,raw48,NAND_Writes" // PM863
1760  },
1761  { "Marvell based SanDisk SSDs",
1762    "SanDisk SD5SG2[0-9]*G1052E|" // X100 (88SS9174), tested with SanDisk SD5SG2256G1052E/10.04.01
1763    "SanDisk SD6S[BF][12]M[0-9]*G(1022I?)?|" // X110/X210 (88SS9175/187?), tested with SanDisk SD6SB1M064G1022I/X231600,
1764      // SanDisk SD6SB1M256G1022I/X231600, SanDisk SD6SF1M128G1022/X231200, SanDisk SD6SB2M512G1022I/X210400
1765    "SanDisk SD7S[BN]6S-?(128|256|512)G(1122|-1006)|" // X300 (88SS9189?), tested with
1766      // SanDisk SD7SB6S128G1122/X3310000, SanDisk SD7SN6S-512G-1006/X3511006
1767    "SanDisk SD8S[BN]8U-?((128|256|512)G|1T00)(1122|-1006)|" // X400 (88SS1074), tested with SanDisk SD8SB8U128G1122/X4120000
1768    "SanDisk SDSSDHP[0-9]*G|" // Ultra Plus (88SS9175), tested with SanDisk SDSSDHP128G/X23[01]6RL
1769    "SanDisk (SDSSDHII|Ultra II )[0-9]*GB?|" // Ultra II (88SS9190/88SS9189), tested with
1770      // SanDisk SDSSDHII120G/X31200RL, SanDisk Ultra II 960GB/X41100RL
1771    "SanDisk SDSSDH2(128|256)G|" // SanDisk SDSSDH2128G/X211200
1772    "SanDisk SDSSDH3(250|500|[12]000)G|" // Ultra 3D, tested with SanDisk SDSSDH3250G/X61170RL, SanDisk SDSSDH3500G/X61110RL
1773    "SanDisk SDSSDXPS?[0-9]*G|" // Extreme II/Pro (88SS9187), tested with SanDisk SDSSDXP480G/R1311,
1774      // SanDisk SDSSDXPS480G/X21200RL
1775    "SSD SATAIII 16GB", // SSD SATAIII 16GB/i221100 (see #923)
1776    "", "",
1777  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1778  //"-v 9,raw24(raw8),Power_On_Hours "
1779  //"-v 12,raw48,Power_Cycle_Count "
1780    "-v 165,raw48,Total_Write/Erase_Count "
1781    "-v 166,raw48,Min_W/E_Cycle "
1782    "-v 167,raw48,Min_Bad_Block/Die "
1783    "-v 168,raw48,Maximum_Erase_Cycle "
1784    "-v 169,raw48,Total_Bad_Block "
1785    "-v 171,raw48,Program_Fail_Count "
1786    "-v 172,raw48,Erase_Fail_Count "
1787    "-v 173,raw48,Avg_Write/Erase_Count "
1788    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1789  //"-v 184,raw48,End-to-End_Error "
1790  //"-v 187,raw48,Reported_Uncorrect "
1791  //"-v 188,raw48,Command_Timeout "
1792  //"-v 194,tempminmax,Temperature_Celsius "
1793    "-v 199,raw48,SATA_CRC_Error "
1794    "-v 201,raw48,Lifetime_Remaining% "
1795    "-v 212,raw48,SATA_PHY_Error "
1796    "-v 230,raw16,Perc_Write/Erase_Count "
1797    "-v 232,raw48,Perc_Avail_Resrvd_Space "
1798    "-v 233,raw48,Total_NAND_Writes_GiB "
1799    "-v 234,raw48,Perc_Write/Erase_Ct_BC "
1800    "-v 241,raw48,Total_Writes_GiB "
1801    "-v 242,raw48,Total_Reads_GiB "
1802  //"-v 243,raw48,Unknown_Attribute "
1803    "-v 244,raw48,Thermal_Throttle "
1804    "-v 249,raw48,TLC_NAND_GB_Writes"
1805  },
1806  { "SanDisk based SSDs", // see also #463 for the vendor attribute description
1807    "SanDisk iSSD P4 [0-9]*GB|" // tested with SanDisk iSSD P4 16GB/SSD 9.14
1808    "SanDisk pSSD|" // tested with SandDisk pSSD/3 (62.7 GB, SanDisk Extreme USB3.0 SDCZ80-064G-J57, 0x0781:0x5580)
1809    "SanDisk SDSSDP[0-9]*G|" // tested with SanDisk SDSSDP064G/1.0.0, SDSSDP128G/2.0.0
1810    "SanDisk SDSSDRC032G|" // tested with SanDisk SanDisk SDSSDRC032G/3.1.0
1811    "SanDisk SSD i100 [0-9]*GB|" // tested with SanDisk SSD i100 8GB/11.56.04, 24GB/11.56.04
1812    "SanDisk SSD U100 ([0-9]*GB|SMG2)|" // tested with SanDisk SSD U100 8GB/10.56.00, 256GB/10.01.02, SMG2/10.56.04
1813    "SanDisk SSD U110 (8|16|24|32|64|128)GB|" // tested with SanDisk SSD U110 32GB/U221000
1814    "SanDisk SDSA6MM-.*|" // tested with SanDisk SDSA6MM-016G-1006/U221006
1815    "SanDisk SD7[SU]B[23]Q(064|128|256|512)G.*", // tested with SD7SB3Q064G1122/SD7UB3Q256G1122/SD7SB3Q128G/SD7UB2Q512G1122
1816    "", "",
1817  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1818  //"-v 9,raw24(raw8),Power_On_Hours "
1819  //"-v 12,raw48,Power_Cycle_Count "
1820    "-v 165,raw48,Total_Write/Erase_Count "
1821    "-v 171,raw48,Program_Fail_Count "
1822    "-v 172,raw48,Erase_Fail_Count "
1823    "-v 173,raw48,Avg_Write/Erase_Count "
1824    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1825  //"-v 187,raw48,Reported_Uncorrect "
1826    "-v 212,raw48,SATA_PHY_Error "
1827    "-v 230,raw48,Perc_Write/Erase_Count "
1828    "-v 232,raw48,Perc_Avail_Resrvd_Space "
1829    "-v 234,raw48,Perc_Write/Erase_Ct_BC "
1830  //"-v 241,raw48,Total_LBAs_Written "
1831  //"-v 242,raw48,Total_LBAs_Read "
1832    "-v 244,raw48,Thermal_Throttle "
1833  },
1834  //  SDLF1DAR-480G-1HAW/ZR07RE41
1835  // SDLF1DAR-480G-1JA1/RP41ZH06
1836  { "Sandisk SATA Cloudspeed Max and GEN2 ESS SSDs",
1837   "SD[A-Z0-9]{2}[1-3][A-Z]{3}-?[0-9]{3}[GT]-?1[A-Z0-9]{3}",
1838   "","",
1839   "-v 13,raw48,Lifetime_UECC_Ct "
1840   "-v 32,raw48,Lifetime_Write_AmpFctr "
1841   "-v 33,raw48,Write_AmpFctr "
1842   "-v 170,raw48,Reserve_Erase_BlkCt "
1843   "-v 171,raw48,Program_Fail_Ct "
1844   "-v 172,raw48,Erase_Fail_Ct "
1845   "-v 173,raw48,Percent_Life_Used "
1846   "-v 174,raw48,Unexpect_Power_Loss "
1847   "-v 175,raw48,Lifetime_Die_Failure_Ct "
1848   "-v 177,raw48,Lifetime_Remaining% "
1849   "-v 178,raw48,SSD_LifeLeft(0.01%) "
1850   "-v 180,raw48,Undetected_Data_Err_Ct "
1851   "-v 183,raw48,LT_Link_Rate_DwnGrd_Ct "
1852   "-v 191,raw48,Clean_Shutdown_Ct "
1853   "-v 192,raw48,Unclean_Shutdown_Ct "
1854   "-v 196,raw48,Lifetime_Retried_Blk_Ct "
1855   "-v 204,raw48,Average_Block-Erase_Ct "
1856   "-v 205,raw48,Read_Retry_Enable_Ct "
1857   "-v 206,raw48,Successful_RaidRecov_Ct "
1858   "-v 207,raw48,Trimmed_Sector_Ct "
1859   "-v 211,raw48,Read_Disturb_ReallocEvt "
1860   "-v 233,raw48,Lifetime_Nand_Writes "
1861   "-v 235,raw48,Capacitor_Health "
1862   "-v 244,raw48,Therm_Throt_Activation "
1863   "-v 245,raw48,Drive_Life_Remaining% "
1864   "-v 253,raw48,SPI_Test_Remaining "
1865 },
1866 { "Sandisk SATA CS1K GEN1 ESS SSDs",
1867   "SD[A-Z0-9]{2}[NO][A-Z0-9]{3}-?[0-9]{3}[GT]-?1[A-Z0-9]{3}",
1868   "","",
1869   "-v 1,raw48,UECC_Ct "
1870   "-v 2,raw48,Internal_File_Check "
1871   "-v 5,raw16(raw16),Retried_Blk_Ct "
1872   "-v 32,raw48,Write_Ampflication "
1873   "-v 170,raw48,Reserve_Blk_Remaining "
1874   "-v 171,raw48,Program_Fail_Ct "
1875   "-v 172,raw48,Erase_Fail_Ct "
1876   "-v 173,raw48,Drive_Life_Used% "
1877   "-v 174,raw48,Unexpect_PwrLoss_Ct "
1878   "-v 175,raw48,PwrLoss_ProtectionFail "
1879   "-v 177,raw48,DriveLife_Remaining% "
1880   "-v 178,raw48,SSD_Life_Left "
1881   "-v 180,raw48,End_to_End_Err_Detect "
1882   "-v 190,raw48,Drive_Temp_Warning "
1883   "-v 195,raw48,Uncorrectable_Err_Ct "
1884   "-v 202,raw48,Exception_Mode_Status "
1885   "-v 233,raw48,Number_Of_Write_Ct "
1886   "-v 245,raw48,DriveLife_Used% "
1887 },
1888  { "SiliconMotion based SSDs", // SM2246EN (Transcend TS6500)
1889    "R3SL(120|240|480|960)G|" // AMD Radeon Solid State Drives,
1890    "CT(120|250|500|1000)BX100SSD1|" // Crucial BX100, tested with CT250BX100SSD1/MU02,
1891      // CT500BX100SSD1/MU02, CT1000BX100SSD1/MU02
1892    "CT(240|480|960)BX200SSD1|" // Crucial BX200 Solid State Drive, tested with CT480BX200SSD1/MU02.6
1893    "KingDian S400 (120|240|480)GB|" // SM2256EN, tested with KingDian S400 120GB/Q0607A
1894    "KingSpec KSD-[PS]A25\\.[1-9]-(016|032|064|128)(MS|SJ)|" // tested with KingSpec KSD-PA25.6-064MS/20140803
1895    "T60|" // KingSpec T60, tested with T60/20151120
1896    "TEAML5Lite3D(120G|240G|480G|1T)|" // Team Group L5Lite 3D, tested with TEAML5Lite3D240G/R0302A0
1897    "TS((16|32|64|128|256|512)G|1T)(SSD|MSA)(370S?|420[IK]?)|" // Transcend SSD370/420 SATA/mSATA, TS6500,
1898      // tested with TS32GMSA370/20140402, TS16GMSA370/20140516, TS64GSSD370/20140516,
1899      // TS256GSSD370/N0815B, TS256GSSD370S/N1114H, TS512GSSD370S/N1114H, TS32GSSD420I/N1114H,
1900      // TS32GSSD420K/P1225CE
1901    "TS(16|32|64|128|512|256)GMTS400S?|" // TS256GMTS400
1902    "TS(120|240)GMTS420|" // Transcend MTS420
1903    "TS(128G|256G|512G|1T)SSD230S|" // TS128GSSD230S/P1025F8
1904    "TS(120|240|480|960)GSSD220S|" // TS480GSSD220S/P0520AA
1905    "TS(16G|32G|64G|128G|256G|512G|1T)MTS800S?|" // MTS800, tested with TS1TMTS800/O1225H1
1906    "TS(16|32|64)GMSA630|" // MSA630 mSATA SSD, tested with TS32GMSA630/N0113E1
1907    "TS(32|64|128)GPSD330|" // Transcend PSD SSD, tested with TS64GPSD330/20140121
1908    "TS(16|32|64|96|128|256)GSSD630|" // Transcend 630, tested with TS16GSSD630/N0113E1
1909    "TS(128G|256G|512G|1T)ESD400K|" // Transcend ESD400 Portable, tested with
1910      // TS256GESD400K/R0605AS (0x2174:0x2000)
1911    "MKNSSDRE(1TB|2TB|512GB|500GB|256GB|250GB)|" // MKNSSDRE256GB/N1007C
1912    "MKNSSDTR(240|500|250|120|480|240)GB(-LT)?|" // MKNSSDTR500GB/O1126A
1913    "LITEON LMH-(128|256|512)V2M-.*|" // LITEON LMH-256V2M-11 MSATA 256GB/FM8110C
1914    "ADATA SP550", // ADATA SP550/O0803B5a
1915    "", "",
1916  //"-v 1,raw48,Raw_Read_Error_Rate "
1917  //"-v 2,raw48,Throughput_Performance "
1918  //"-v 9,raw24(raw8),Power_On_Hours "
1919  //"-v 12,raw48,Power_Cycle_Count "
1920    "-v 148,raw48,Total_SLC_Erase_Ct "
1921    "-v 149,raw48,Max_SLC_Erase_Ct "
1922    "-v 150,raw48,Min_SLC_Erase_Ct "
1923    "-v 151,raw48,Average_SLC_Erase_Ct "
1924    "-v 160,raw48,Uncorrectable_Error_Cnt "
1925    "-v 161,raw48,Valid_Spare_Block_Cnt "
1926    "-v 163,raw48,Initial_Bad_Block_Count "
1927    "-v 164,raw48,Total_Erase_Count "
1928    "-v 165,raw48,Max_Erase_Count "
1929    "-v 166,raw48,Min_Erase_Count "
1930    "-v 167,raw48,Average_Erase_Count "
1931    "-v 168,raw48,Max_Erase_Count_of_Spec "
1932    "-v 169,raw48,Remaining_Lifetime_Perc "
1933  //"-v 175,raw48,Program_Fail_Count_Chip "
1934  //"-v 176,raw48,Erase_Fail_Count_Chip "
1935  //"-v 177,raw48,Wear_Leveling_Count "
1936    "-v 178,raw48,Runtime_Invalid_Blk_Cnt "
1937  //"-v 181,raw48,Program_Fail_Cnt_Total "
1938  //"-v 182,raw48,Erase_Fail_Count_Total "
1939  //"-v 187,raw48,Reported_Uncorrect "
1940  //"-v 192,raw48,Power-Off_Retract_Count "
1941  //"-v 194,tempminmax,Temperature_Celsius "
1942  //"-v 195,raw48,Hardware_ECC_Recovered "
1943  //"-v 196,raw16(raw16),Reallocated_Event_Count "
1944  //"-v 197,raw48,Current_Pending_Sector "
1945  //"-v 198,raw48,Offline_Uncorrectable "
1946  //"-v 199,raw48,UDMA_CRC_Error_Count "
1947    "-v 225,raw48,Host_Writes_32MiB " // FW 20140402
1948  //"-v 232,raw48,Available_Reservd_Space "
1949    "-v 241,raw48,Host_Writes_32MiB "
1950    "-v 242,raw48,Host_Reads_32MiB "
1951    "-v 245,raw48,TLC_Writes_32MiB " // FW N0815B, N1114H
1952    "-v 246,raw48,SLC_Writes_32MiB "
1953    "-v 247,raw48,Raid_Recoverty_Ct"
1954  },
1955  { "SMART Modular Technologies mSATA XL+ SLC SSDs", // tested with SH9MST6D16GJSI01
1956    "SH9MST6D[0-9]*GJSI?[0-9]*", // based on http://www.smartm.com/salesLiterature/embedded/mSATA_overview.pdf
1957    "", "", // attributes info from http://www.mouser.com/ds/2/723/smartmodular_09302015_SH9MST6DxxxGJSxxx_rA[1]-770719.pdf
1958    "-v 1,raw48,Uncorrectable_ECC_Cnt "
1959  //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
1960    "-v 9,raw48,Power_On_Hours " // override default raw24(raw8) format
1961  //"-v 12,raw48,Power_Cycle_Count "
1962    "-v 14,raw48,Device_Capacity_LBAs "
1963    "-v 15,raw48,User_Capacity_LBAs " // spec DecID is wrong, HexID is right
1964    "-v 16,raw48,Init_Spare_Blocks_Avail " // spec DecID is wrong, HexID is right
1965    "-v 17,raw48,Spare_Blocks_Remaining " // spec DecID is wrong, HexID is right
1966    "-v 100,raw48,Total_Erase_Count "
1967    "-v 168,raw48,SATA_PHY_Err_Ct "
1968    "-v 170,raw48,Initial_Bad_Block_Count "
1969    "-v 172,raw48,Erase_Fail_Count "
1970    "-v 173,raw48,Max_Erase_Count "
1971    "-v 174,raw48,Unexpect_Power_Loss_Ct "
1972    "-v 175,raw48,Average_Erase_Count "
1973  //"-v 181,raw48,Program_Fail_Cnt_Total "
1974  //"-v 187,raw48,Reported_Uncorrect "
1975  //"-v 194,tempminmax,Temperature_Celsius "
1976    "-v 197,raw48,Not_In_Use "
1977    "-v 198,raw48,Not_In_Use "
1978    "-v 199,raw48,SATA_CRC_Error_Count "
1979    "-v 202,raw48,Perc_Rated_Life_Used "
1980    "-v 231,raw48,Perc_Rated_Life_Remain "
1981    "-v 232,raw48,Read_Fail_Count "
1982    "-v 234,raw48,Flash_Reads_LBAs "
1983    "-v 235,raw48,Flash_Writes_LBAs "
1984    "-v 241,raw48,Host_Writes_LBAs "
1985    "-v 242,raw48,Host_Reads_LBAs"
1986    //  247-248 Missing in specification from April 2015
1987  },
1988  { "Smart Storage Systems Xcel-10 SSDs",  // based on http://www.smartm.com/files/salesLiterature/storage/xcel10.pdf
1989    "SMART A25FD-(32|64|128)GI32N", // tested with SMART A25FD-128GI32N/B9F23D4K
1990    "",
1991    "", // attributes info from http://www.adtron.com/pdf/SMART_Attributes_Xcel-10_810800014_RevB.pdf
1992    "-v 1,raw48,Not_Supported "
1993    "-v 2,raw48,Not_Supported "
1994  //"-v 9,raw24(raw8),Power_On_Hours "
1995  //"-v 12,raw48,Power_Cycle_Count "
1996    "-v 191,raw48,Not_Supported "
1997  //"-v 192,raw48,Power-Off_Retract_Count "
1998    "-v 197,raw48,ECC_Error_Count "
1999  //"-v 198,raw48,Offline_Uncorrectable "
2000  //"-v 199,raw48,UDMA_CRC_Error_Count "
2001    "-v 251,raw48,Min_Spares_Remain_Perc " // percentage of the total number of spare blocks available
2002    "-v 252,raw48,Added_Bad_Flash_Blk_Ct " // number of bad flash blocks
2003    "-v 254,raw48,Total_Erase_Blocks_Ct" // number of times the drive has erased any erase block
2004  },
2005  { "Smart Storage Systems XceedSecure2 SSDs",
2006    "(SMART|Adtron) ([AIS]25FBS|S35FCS).*",
2007    "", "",
2008    "-v 9,sec2hour,Power_On_Hours "
2009    "-v 194,hex64,Proprietary_194"
2010  },
2011  { "Smart Storage Systems XceedUltraX/Adtron A25FBX SSDs",
2012    "(SMART|Adtron) (A|I)25FBX.*",
2013    "", "",
2014    "-v 9,hex64,Proprietary_9 "
2015    "-v 194,hex48,Proprietary_194"
2016  },
2017  { "Smart Storage Systems Adtron A25FB 2xN SSDs",
2018    "(SMART|Adtron) A25FB.*2.N",
2019    "", "",
2020    "-v 110,hex64,Proprietary_HWC "
2021    "-v 111,hex64,Proprietary_MP "
2022    "-v 112,hex64,Proprietary_RtR "
2023    "-v 113,hex64,Proprietary_RR "
2024    "-v 120,hex64,Proprietary_HFAll "
2025    "-v 121,hex64,Proprietary_HF1st "
2026    "-v 122,hex64,Proprietary_HF2nd "
2027    "-v 123,hex64,Proprietary_HF3rd "
2028    "-v 125,hex64,Proprietary_SFAll "
2029    "-v 126,hex64,Proprietary_SF1st "
2030    "-v 127,hex64,Proprietary_SF2nd "
2031    "-v 128,hex64,Proprietary_SF3rd "
2032    "-v 194,raw24/raw32:zvzzzw,Fractional_Temperature"
2033  },
2034  { "Smart Storage Systems Adtron A25FB 3xN SSDs",
2035    "(SMART|Adtron) A25FB-.*3.N",
2036    "", "",
2037    "-v 9,sec2hour,Power_On_Hours "
2038    "-v 113,hex48,Proprietary_RR "
2039    "-v 130,raw48:54321,Minimum_Spares_All_Zs"
2040  //"-v 194,tempminmax,Temperature_Celsius"
2041  },
2042  { "STEC Mach2 CompactFlash Cards", // tested with STEC M2P CF 1.0.0/K1385MS
2043    "STEC M2P CF 1.0.0",
2044    "", "",
2045    "-v 100,raw48,Erase_Program_Cycles "
2046    "-v 103,raw48,Remaining_Energy_Storg "
2047    "-v 170,raw48,Reserved_Block_Count "
2048    "-v 171,raw48,Program_Fail_Count "
2049    "-v 172,raw48,Erase_Fail_Count "
2050    "-v 173,raw48,Wear_Leveling_Count "
2051    "-v 174,raw48,Unexpect_Power_Loss_Ct "
2052    "-v 211,raw48,Unknown_Attribute " // ] Missing in specification
2053    "-v 212,raw48,Unknown_Attribute"  // ] from September 2012
2054  },
2055  { "Transcend CompactFlash Cards", // tested with TRANSCEND/20080820,
2056      // TS4GCF133/20100709, TS16GCF133/20100709, TS16GCF150/20110407
2057    "TRANSCEND|TS(4|8|16)GCF(133|150)",
2058    "", "",
2059    "-v 7,raw48,Unknown_Attribute "
2060    "-v 8,raw48,Unknown_Attribute"
2061  },
2062  { "Marvell SSD SD88SA024BA0 (SUN branded)",
2063    "MARVELL SD88SA024BA0 SUN24G 0902M0054V",
2064    "", "", ""
2065  },
2066  { "HP 1TB SATA disk GB1000EAFJL",
2067    "GB1000EAFJL",
2068    "", "", ""
2069  },
2070  { "HP 500GB SATA disk MM0500EANCR",
2071    "MM0500EANCR",
2072    "", "", ""
2073  },
2074  { "HP 250GB SATA disk VB0250EAVER",
2075    "VB0250EAVER",
2076    "", "", ""
2077  },
2078  { "IBM Deskstar 60GXP",  // ER60A46A firmware
2079    "(IBM-|Hitachi )?IC35L0[12346]0AVER07.*",
2080    "ER60A46A",
2081    "", ""
2082  },
2083  { "IBM Deskstar 60GXP",  // All other firmware
2084    "(IBM-|Hitachi )?IC35L0[12346]0AVER07.*",
2085    "",
2086    "IBM Deskstar 60GXP drives may need upgraded SMART firmware.\n"
2087    "Please see http://haque.net/dtla_update/",
2088    ""
2089  },
2090  { "IBM Deskstar 40GV & 75GXP (A5AA/A6AA firmware)",
2091    "(IBM-)?DTLA-30[57]0[123467][05].*",
2092    "T[WX][123468AG][OF]A[56]AA",
2093    "", ""
2094  },
2095  { "IBM Deskstar 40GV & 75GXP (all other firmware)",
2096    "(IBM-)?DTLA-30[57]0[123467][05].*",
2097    "",
2098    "IBM Deskstar 40GV and 75GXP drives may need upgraded SMART firmware.\n"
2099    "Please see http://haque.net/dtla_update/",
2100    ""
2101  },
2102  { "", // ExcelStor J240, J340, J360, J680, J880 and J8160
2103    "ExcelStor Technology J(24|34|36|68|88|816)0",
2104    "", "", ""
2105  },
2106  { "", // Fujitsu M1623TAU
2107    "FUJITSU M1623TAU",
2108    "",
2109    "",
2110    "-v 9,seconds"
2111  },
2112  { "Fujitsu MHG",
2113    "FUJITSU MHG2...ATU?.*",
2114    "",
2115    "",
2116    "-v 9,seconds"
2117  },
2118  { "Fujitsu MHH",
2119    "FUJITSU MHH2...ATU?.*",
2120    "",
2121    "",
2122    "-v 9,seconds"
2123  },
2124  { "Fujitsu MHJ",
2125    "FUJITSU MHJ2...ATU?.*",
2126    "",
2127    "",
2128    "-v 9,seconds"
2129  },
2130  { "Fujitsu MHK",
2131    "FUJITSU MHK2...ATU?.*",
2132    "",
2133    "",
2134    "-v 9,seconds"
2135  },
2136  { "",  // Fujitsu MHL2300AT
2137    "FUJITSU MHL2300AT",
2138    "",
2139    "This drive's firmware has a harmless Drive Identity Structure\n"
2140      "checksum error bug.",
2141    "-v 9,seconds"
2142  },
2143  { "",  // MHM2200AT, MHM2150AT, MHM2100AT, MHM2060AT
2144    "FUJITSU MHM2(20|15|10|06)0AT",
2145    "",
2146    "This drive's firmware has a harmless Drive Identity Structure\n"
2147      "checksum error bug.",
2148    "-v 9,seconds"
2149  },
2150  { "Fujitsu MHN",
2151    "FUJITSU MHN2...AT",
2152    "",
2153    "",
2154    "-v 9,seconds"
2155  },
2156  { "", // Fujitsu MHR2020AT
2157    "FUJITSU MHR2020AT",
2158    "",
2159    "",
2160    "-v 9,seconds"
2161  },
2162  { "", // Fujitsu MHR2040AT
2163    "FUJITSU MHR2040AT",
2164    "",    // Tested on 40BA
2165    "",
2166    "-v 9,seconds -v 192,emergencyretractcyclect "
2167    "-v 198,offlinescanuncsectorct -v 200,writeerrorcount"
2168  },
2169  { "Fujitsu MHS AT",
2170    "FUJITSU MHS20[6432]0AT(  .)?",
2171    "",
2172    "",
2173    "-v 9,seconds -v 192,emergencyretractcyclect "
2174    "-v 198,offlinescanuncsectorct -v 200,writeerrorcount "
2175    "-v 201,detectedtacount"
2176  },
2177  { "Fujitsu MHT", // tested with FUJITSU MHT2030AC/909B
2178    "FUJITSU MHT2...(AC|AH|AS|AT|BH)U?.*",
2179    "",
2180    "",
2181    "-v 9,seconds"
2182  },
2183  { "Fujitsu MHU",
2184    "FUJITSU MHU2...ATU?.*",
2185    "",
2186    "",
2187    "-v 9,seconds"
2188  },
2189  { "Fujitsu MHV",
2190    "FUJITSU MHV2...(AH|AS|AT|BH|BS|BT).*",
2191    "",
2192    "",
2193    "-v 9,seconds"
2194  },
2195  { "Fujitsu MPA..MPG",
2196    "FUJITSU MP[A-G]3...A[HTEV]U?.*",
2197    "",
2198    "",
2199    "-v 9,seconds"
2200  },
2201  { "Fujitsu MHY BH",
2202    "FUJITSU MHY2(04|06|08|10|12|16|20|25)0BH.*",
2203    "", "",
2204    "-v 240,raw48,Transfer_Error_Rate"
2205  },
2206  { "Fujitsu MHW AC", // tested with FUJITSU MHW2060AC/00900004
2207    "FUJITSU MHW20(40|60)AC",
2208    "", "", ""
2209  },
2210  { "Fujitsu MHW BH",
2211    "FUJITSU MHW2(04|06|08|10|12|16)0BH.*",
2212    "", "", ""
2213  },
2214  { "Fujitsu MHW BJ",
2215    "FUJITSU MHW2(08|12|16)0BJ.*",
2216    "", "", ""
2217  },
2218  { "Fujitsu MHZ BH",
2219    "FUJITSU MHZ2(04|08|12|16|20|25|32)0BH.*",
2220    "", "", ""
2221  },
2222  { "Fujitsu MHZ BJ",
2223    "FUJITSU MHZ2(08|12|16|20|25|32)0BJ.*",
2224    "",
2225    "",
2226    "-v 9,minutes"
2227  },
2228  { "Fujitsu MHZ BS",
2229    "FUJITSU MHZ2(12|25)0BS.*",
2230    "", "", ""
2231  },
2232  { "Fujitsu MHZ BK",
2233    "FUJITSU MHZ2(08|12|16|25)0BK.*",
2234    "", "", ""
2235  },
2236  { "Fujitsu MJA BH",
2237    "FUJITSU MJA2(08|12|16|25|32|40|50)0BH.*",
2238    "", "", ""
2239  },
2240  { "", // Samsung SV4012H (known firmware)
2241    "SAMSUNG SV4012H",
2242    "RM100-08",
2243    "",
2244    "-v 9,halfminutes -F samsung"
2245  },
2246  { "", // Samsung SV4012H (all other firmware)
2247    "SAMSUNG SV4012H",
2248    "",
2249    "May need -F samsung disabled; see manual for details.",
2250    "-v 9,halfminutes -F samsung"
2251  },
2252  { "", // Samsung SV0412H (known firmware)
2253    "SAMSUNG SV0412H",
2254    "SK100-01",
2255    "",
2256    "-v 9,halfminutes -v 194,10xCelsius -F samsung"
2257  },
2258  { "", // Samsung SV0412H (all other firmware)
2259    "SAMSUNG SV0412H",
2260    "",
2261    "May need -F samsung disabled; see manual for details.",
2262    "-v 9,halfminutes -v 194,10xCelsius -F samsung"
2263  },
2264  { "", // Samsung SV1204H (known firmware)
2265    "SAMSUNG SV1204H",
2266    "RK100-1[3-5]",
2267    "",
2268    "-v 9,halfminutes -v 194,10xCelsius -F samsung"
2269  },
2270  { "", // Samsung SV1204H (all other firmware)
2271    "SAMSUNG SV1204H",
2272    "",
2273    "May need -F samsung disabled; see manual for details.",
2274    "-v 9,halfminutes -v 194,10xCelsius -F samsung"
2275  },
2276  { "", // SAMSUNG SV0322A tested with FW JK200-35
2277    "SAMSUNG SV0322A",
2278    "", "", ""
2279  },
2280  { "SAMSUNG SpinPoint V80", // tested with SV1604N/TR100-23
2281    "SAMSUNG SV(0211|0401|0612|0802|1203|1604)N",
2282    "",
2283    "",
2284    "-v 9,halfminutes -F samsung2"
2285  },
2286  { "", // SAMSUNG SP40A2H with RR100-07 firmware
2287    "SAMSUNG SP40A2H",
2288    "RR100-07",
2289    "",
2290    "-v 9,halfminutes -F samsung"
2291  },
2292  { "", // SAMSUNG SP80A4H with RT100-06 firmware
2293    "SAMSUNG SP80A4H",
2294    "RT100-06",
2295    "",
2296    "-v 9,halfminutes -F samsung"
2297  },
2298  { "", // SAMSUNG SP8004H with QW100-61 firmware
2299    "SAMSUNG SP8004H",
2300    "QW100-61",
2301    "",
2302    "-v 9,halfminutes -F samsung"
2303  },
2304  { "SAMSUNG SpinPoint F1 DT", // tested with HD103UJ/1AA01113
2305    "SAMSUNG HD(083G|16[12]G|25[12]H|32[12]H|50[12]I|642J|75[23]L|10[23]U)J",
2306    "", "", ""
2307  },
2308  { "SAMSUNG SpinPoint F1 EG", // tested with HD103UI/1AA01113
2309    "SAMSUNG HD(252H|322H|502I|642J|753L|103U)I",
2310    "", "", ""
2311  },
2312  { "SAMSUNG SpinPoint F1 RE", // tested with HE103UJ/1AA01113
2313    "SAMSUNG HE(252H|322H|502I|642J|753L|103U)J",
2314    "", "", ""
2315  },
2316  { "SAMSUNG SpinPoint F2 EG", // tested with HD154UI/1AG01118
2317    "SAMSUNG HD(502H|10[23]S|15[34]U)I",
2318    "", "", ""
2319  },
2320  { "SAMSUNG SpinPoint F3", // tested with HD502HJ/1AJ100E4
2321    "SAMSUNG HD(502H|754J|103S)J",
2322    "", "", ""
2323  },
2324  { "Seagate Barracuda SpinPoint F3", // tested with ST1000DM005 HD103SJ/1AJ100E5
2325    "ST[0-9DM]* HD(502H|754J|103S)J",
2326    "", "", ""
2327  },
2328  { "SAMSUNG SpinPoint F3 EG", // tested with HD503HI/1AJ100E4, HD153WI/1AN10002
2329    "SAMSUNG HD(253G|(324|503)H|754J|105S|(153|203)W)I",
2330    "", "", ""
2331  },
2332  { "SAMSUNG SpinPoint F3 RE", // tested with HE103SJ/1AJ30001
2333    "SAMSUNG HE(502H|754J|103S)J",
2334    "", "", ""
2335  },
2336  { "Seagate Samsung Spinpoint F4", // tested with ST250DM001 HD256GJ/1AR10001
2337    "ST(250|320)DM001 HD(256G|322G|323H)J",
2338    "", "", ""
2339  },
2340  { "SAMSUNG SpinPoint F4 EG (AF)",// tested with HD204UI/1AQ10001(buggy|fixed)
2341    "SAMSUNG HD(155|204)UI",
2342    "", // 1AQ10001
2343    "Using smartmontools or hdparm with this\n"
2344    "drive may result in data loss due to a firmware bug.\n"
2345    "****** THIS DRIVE MAY OR MAY NOT BE AFFECTED! ******\n"
2346    "Buggy and fixed firmware report same version number!\n"
2347    "See the following web pages for details:\n"
2348    "http://knowledge.seagate.com/articles/en_US/FAQ/223571en\n"
2349    "https://www.smartmontools.org/wiki/SamsungF4EGBadBlocks",
2350    ""
2351  },
2352  { "Seagate Samsung SpinPoint F4 EG (AF)", // later sold as Barracuda Green,
2353       // tested with ST2000DL004 HD204UI/1AQ10001
2354    "ST2000DL004 HD204UI",
2355    "", "", ""
2356  },
2357  { "SAMSUNG SpinPoint S250", // tested with HD200HJ/KF100-06
2358    "SAMSUNG HD(162|200|250)HJ",
2359    "", "", ""
2360  },
2361  { "SAMSUNG SpinPoint T133", // tested with HD300LJ/ZT100-12, HD400LJ/ZZ100-14, HD401LJ/ZZ100-15
2362    "SAMSUNG HD(250KD|(30[01]|320|40[01])L[DJ])",
2363    "", "", ""
2364  },
2365  { "SAMSUNG SpinPoint T166", // tested with HD252KJ/CM100-11, HD501LJ/CR100-1[01]
2366    "SAMSUNG HD(080G|160H|252K|32[01]K|403L|50[01]L)J",
2367    "", "",
2368    "-v 197,increasing" // at least HD501LJ/CR100-11
2369  },
2370  { "SAMSUNG SpinPoint P120", // VF100-37 firmware, tested with SP2514N/VF100-37
2371    "SAMSUNG SP(16[01]3|2[05][01]4)[CN]",
2372    "VF100-37",
2373    "",
2374    "-F samsung3"
2375  },
2376  { "SAMSUNG SpinPoint P120", // other firmware, tested with SP2504C/VT100-33
2377    "SAMSUNG SP(16[01]3|2[05][01]4)[CN]",
2378    "",
2379    "May need -F samsung3 enabled; see manual for details.",
2380    ""
2381  },
2382  { "SAMSUNG SpinPoint P80 SD", // tested with HD160JJ/ZM100-33, SAMSUNG HD080HJ/P/ZH100-34
2383    "SAMSUNG HD(080H|120I|160J)J(/P)?",
2384    "", "", ""
2385  },
2386  { "SAMSUNG SpinPoint P80", // BH100-35 firmware, tested with SP0842N/BH100-35
2387    "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
2388    "BH100-35",
2389    "",
2390    "-F samsung3"
2391  },
2392  { "SAMSUNG SpinPoint P80", // firmware *-35 or later
2393    "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
2394    ".*-3[5-9]",
2395    "May need -F samsung3 enabled; see manual for details.",
2396    ""
2397  },
2398  { "SAMSUNG SpinPoint P80", // firmware *-25...34, tested with
2399      // SP0401N/TJ100-30, SP1614C/SW100-25 and -34
2400    "SAMSUNG SP(04[05]1|08[0124]2|12[0145]3|16[0145]4)[CN]",
2401    ".*-(2[5-9]|3[0-4])",
2402    "",
2403    "-v 9,halfminutes -v 198,increasing"
2404  },
2405  { "SAMSUNG SpinPoint P80", // firmware *-23...24, tested with
2406    // SP0802N/TK100-23,
2407    // SP1213N/TL100-23,
2408    // SP1604N/TM100-23 and -24
2409    "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
2410    ".*-2[34]",
2411    "",
2412    "-v 9,halfminutes -F samsung2"
2413  },
2414  { "SAMSUNG SpinPoint P80", // unknown firmware
2415    "SAMSUNG SP(0451|08[0124]2|12[0145]3|16[0145]4)[CN]",
2416    "",
2417    "May need -F samsung2 or -F samsung3 enabled; see manual for details.",
2418    ""
2419  },
2420  { "SAMSUNG SpinPoint M40/60/80", // tested with HM120IC/AN100-16, HM160JI/AD100-16
2421    "SAMSUNG HM(0[468]0H|120I|1[026]0J)[CI]",
2422    "",
2423    "",
2424    "-v 9,halfminutes"
2425  },
2426  { "SAMSUNG SpinPoint M5", // tested with HM160HI/HH100-12
2427    "SAMSUNG HM(((061|080)G|(121|160)H|250J)I|160HC)",
2428    "", "", ""
2429  },
2430  { "SAMSUNG SpinPoint M6", // tested with HM320JI/2SS00_01 M6
2431    "SAMSUNG HM(251J|320[HJ]|[45]00L)I",
2432    "", "", ""
2433  },
2434  { "SAMSUNG SpinPoint M7", // tested with HM500JI/2AC101C4
2435    "SAMSUNG HM(250H|320I|[45]00J)I",
2436    "", "", ""
2437  },
2438  { "SAMSUNG SpinPoint M7E (AF)", // tested with HM321HI/2AJ10001, HM641JI/2AJ10001
2439    "SAMSUNG HM(161G|(251|321)H|501I|641J)I",
2440    "", "", ""
2441  },
2442  { "Seagate Samsung SpinPoint M7E", // tested with ST640LM000 HM641JI/2AJ10001
2443    "ST(160|250|320|500|640)LM00[01] HM[0-9]*[GHIJ]I",
2444    "", "", ""
2445  },
2446  { "SAMSUNG SpinPoint M7U (USB)", // tested with HM252HX/2AC101C4
2447    "SAMSUNG HM(162H|252H|322I|502J)X",
2448    "", "", ""
2449  },
2450  { "SAMSUNG SpinPoint M8 (AF)", // tested with HN-M101MBB/2AR10001
2451    "SAMSUNG HN-M(250|320|500|640|750|101)MBB",
2452    "", "", ""
2453  },
2454  { "Seagate Samsung SpinPoint M8 (AF)", // tested with
2455      // ST750LM022 HN-M750MBB/2AR10001, ST320LM001 HN-M320MBB/2AR10002,
2456      // APPLE HDD ST500LM012/2BA30003
2457    "ST(250|320|500|640|750|1000)LM0[012][124] HN-M[0-9]*MBB|"
2458    "APPLE HDD ST500LM012",
2459    "", "", ""
2460  },
2461  { "SAMSUNG SpinPoint M8U (USB)", // tested with HN-M500XBB/2AR10001
2462    "SAMSUNG HN-M(320|500|750|101)XBB",
2463    "", "", ""
2464  },
2465  { "Seagate Samsung SpinPoint M8U (USB)", // tested with ST1000LM025 HN-M101ABB/2AR10001,
2466      // ST1000LM025 HN-M101ABB/2BA30003 (0x04e8:0x61b6)
2467    "ST(250|320|500|640|750|1000)LM0[012][3459] HN-M[0-9]*ABB",
2468    "", "", ""
2469  },
2470  { "Seagate Samsung SpinPoint M9T", // tested with ST2000LM003 HN-M201RAD/2BC10003
2471      // (Seagate Expansion Portable)
2472    "ST(1500|2000)LM0(03|04|06|07|10) HN-M[0-9]*RAD",
2473    "", "", ""
2474  },
2475  // Flash accelerated, no SMART info in the specs
2476  // ST1000LX015-1U7172/SDM1
2477  { "Seagate FireCuda 2.5", //
2478    "ST(500|1000|2000)LX0(01|15|25)-.*",
2479    "", "", "-v 240,msec24hour32 "
2480  },
2481  // ST1000DX002/CC41
2482  { "Seagate FireCuda 3.5", // ST2000DX002-2DV164/CC41
2483    "ST[12]000DX002-.*",
2484    "", "", "-v 240,msec24hour32 "
2485  },
2486  { "Seagate Samsung SpinPoint M9TU (USB)", // tested with ST1500LM008 HN-M151AAD/2BC10001
2487       // (0x04e8:0x61b5), ST2000LM005 HN-M201AAD2BC10001 (0x04e8:0x61b4)
2488    "ST(1500|2000)LM00[58] HN-M[0-9]*AAD",
2489    "", "", ""
2490  },
2491  { "SAMSUNG SpinPoint MP5", // tested with HM250HJ/2AK10001
2492    "SAMSUNG HM(250H|320H|500J|640J)J",
2493    "", "", ""
2494  },
2495  { "SAMSUNG SpinPoint MT2", // tested with HM100UI/2AM10001
2496    "SAMSUNG HM100UI",
2497    "", "", ""
2498  },
2499  { "SAMSUNG HM100UX (S2 Portable)", // tested with HM100UX/2AM10001
2500    "SAMSUNG HM100UX",
2501    "", "", ""
2502  },
2503  { "SAMSUNG SpinPoint M", // tested with MP0402H/UC100-11
2504    "SAMSUNG MP0(302|402|603|804)H",
2505    "",
2506    "",
2507    "-v 9,halfminutes"
2508  },
2509  { "SAMSUNG SpinPoint N3U-3 (USB, 4KiB LLS)", // tested with HS25YJZ/3AU10-01
2510    "SAMSUNG HS(122H|2[05]YJ)Z",
2511    "", "", ""
2512  },
2513  { "SK hynix SATA SSDs",
2514    "SK ?hynix SC(210|300|308|313).*|" // tested with
2515      // SK hynix SC210 mSATA 256GB/20002L00,
2516      // SKhynix SC300 HFS256G32MND-3210A/20131P00,
2517      // SK hynix SC308 SATA 128GB/30001P10,
2518      // SK hynix SC313 HFS256G32TNF-N3A0A/70000P10
2519    "HFS(128|256|512)G3[29]MND-(2200|3[23]10)A|" // HFS128G32MND-2200A/20200L00,
2520      // HFS512G32MND-3210A/20100P00, HFS512G39MND-3310A/20002P00
2521    "HFS(120|250|500)G32TND-N1A2A|" // SL308, tested with HFS500G32TND-N1A2A/30000P10
2522    "HFS(128|256|512)G39TND-N210A", // SC308, tested with HFS128G39TND-N210A/30001P10
2523    "", "",
2524  //"-v 1,raw48,Raw_Read_Error_Rate "
2525    "-v 5,raw48,Retired_Block_Count "
2526  //"-v 9,raw24(raw8),Power_On_Hours "
2527  //"-v 12,raw48,Power_Cycle_Count "
2528    "-v 100,raw48,Total_Erase_Count "
2529    "-v 168,raw48,Min_Erase_Count "
2530    "-v 169,raw48,Max_Erase_Count "
2531    "-v 171,raw48,Program_Fail_Count "
2532    "-v 172,raw48,Erase_Fail_Count "
2533    "-v 173,raw48,Wear_Leveling_Count "
2534    "-v 174,raw48,Unexpect_Power_Loss_Ct "
2535  //"-v 175,raw48,Program_Fail_Count_Chip "
2536    "-v 176,raw48,Unused_Rsvd_Blk_Cnt_Tot "
2537  //"-v 177,raw48,Wear_Leveling_Count "
2538  //"-v 178,raw48,Used_Rsvd_Blk_Cnt_Chip "
2539  //"-v 179,raw48,Used_Rsvd_Blk_Cnt_Tot "
2540    "-v 180,raw48,Erase_Fail_Count "
2541    "-v 181,raw48,Non4k_Aligned_Access "
2542    "-v 183,raw48,SATA_Downshift_Count "
2543  //"-v 184,raw48,End-to-End_Error "
2544  //"-v 187,raw48,Reported_Uncorrect "
2545  //"-v 188,raw48,Command_Timeout "
2546  //"-v 194,tempminmax,Temperature_Celsius "
2547  //"-v 195,raw48,Hardware_ECC_Recovered "
2548  //"-v 196,raw16(raw16),Reallocated_Event_Count "
2549  //"-v 198,raw48,Offline_Uncorrectable "
2550  //"-v 199,raw48,UDMA_CRC_Error_Count "
2551    "-v 201,raw48,Percent_Lifetime_Remain "
2552  //"-v 204,raw48,Soft_ECC_Correction "
2553    "-v 212,raw48,Phy_Error_Count "
2554    "-v 231,raw48,SSD_Life_Left "
2555    "-v 234,raw48,Unknown_SK_hynix_Attrib "
2556    "-v 241,raw48,Total_Writes_GiB "
2557    "-v 242,raw48,Total_Reads_GiB "
2558    "-v 243,raw48,Total_Media_Writes "
2559    "-v 250,raw48,Read_Retry_Count "
2560  },
2561  { "SK hynix SATA SSDs",
2562    "HFS(480|960|1T9|3T8)G3[2E]FEH-7[4A]10A", // tested with HFS480G32FEH-7410A/90037Q00
2563    "", "",
2564  //"-v 1,raw48,Raw_Read_Error_Rate "
2565    "-v 5,raw48,Retired_Block_Count "
2566  //"-v 9,raw24(raw8),Power_On_Hours "
2567    "-v 12,raw48,Device_Power_Cycle_Cnt "
2568    "-v 171,raw48,Program_Fail_Cnt "
2569    "-v 172,raw48,Erase_Fail_Cnt "
2570    "-v 174,raw48,Unexpected_Pwr_Loss_Cnt "
2571    "-v 175,raw48,Program_Fail_Cnt "
2572    "-v 176,raw48,Erase_Fail_Cnt "
2573    "-v 177,raw48,Endurance_Limit_Met "
2574    "-v 178,raw48,Used_Rsrvd_Blk_Cnt_Wrst "
2575    "-v 179,raw48,Used_Rsrvd_Blk_Cnt_Tot "
2576    "-v 180,raw48,E2E_Error_Det_Corr_Rate "
2577    "-v 181,raw48,Program_Fail_Cnt "
2578    "-v 182,raw48,Erase_Fail_Cnt "
2579    "-v 183,raw48,SATA_Downshift_Cnt "
2580  //"-v 184,raw48,End-to-End_Error "
2581  //"-v 187,raw48,Reported_Uncorrect "
2582  //"-v 188,raw48,Command_Timeout "
2583  //"-v 194,tempminmax,Temperature_Celsius "
2584    "-v 195,raw48,ECC_on_the_Fly_Rate "
2585  //"-v 199,raw48,UDMA_CRC_Error_Count "
2586    "-v 201,raw48,Uncorr_Soft_Read_Err_Rt "
2587    "-v 204,raw48,Soft_ECC_Correction_Rt "
2588    "-v 231,raw48,SSD_Life_Left "
2589    "-v 234,raw48,Lifetime_NAND_Prg_GiB "
2590    "-v 241,raw48,Lifetime_Writes_GiB "
2591    "-v 242,raw48,Lifetime_Reads_GiB "
2592    "-v 245,raw48,SSD_Life_Left "
2593    "-v 250,raw48,Read_Retry_Count "
2594  },
2595  { "Maxtor Fireball 541DX",
2596    "Maxtor 2B0(0[468]|1[05]|20)H1",
2597    "",
2598    "",
2599    "-v 9,minutes -v 194,unknown"
2600  },
2601  { "Maxtor Fireball 3",
2602    "Maxtor 2F0[234]0[JL]0",
2603    "",
2604    "",
2605    "-v 9,minutes"
2606  },
2607  { "Maxtor DiamondMax 1280 ATA",  // no self-test log, ATA2-Fast
2608    "Maxtor 8(1280A2|2160A4|2560A4|3840A6|4000A6|5120A8)",
2609    "",
2610    "",
2611    "-v 9,minutes"
2612  },
2613  { "Maxtor DiamondMax 2160 Ultra ATA",
2614    "Maxtor 8(2160D2|3228D3|3240D3|4320D4|6480D6|8400D8|8455D8)",
2615    "",
2616    "",
2617    "-v 9,minutes"
2618  },
2619  { "Maxtor DiamondMax 2880 Ultra ATA",
2620    "Maxtor 9(0510D4|0576D4|0648D5|0720D5|0840D6|0845D6|0864D6|1008D7|1080D8|1152D8)",
2621    "",
2622    "",
2623    "-v 9,minutes"
2624  },
2625  { "Maxtor DiamondMax 3400 Ultra ATA",
2626    "Maxtor 9(1(360|350|202)D8|1190D7|10[12]0D6|0840D5|06[48]0D4|0510D3|1(350|202)E8|1010E6|0840E5|0640E4)",
2627    "",
2628    "",
2629    "-v 9,minutes"
2630  },
2631  { "Maxtor DiamondMax D540X-4G",
2632    "Maxtor 4G(120J6|160J[68])",
2633    "",
2634    "",
2635    "-v 9,minutes -v 194,unknown"
2636  },
2637  { "Maxtor DiamondMax D540X-4K",
2638    "MAXTOR 4K(020H1|040H2|060H3|080H4)",
2639    "", "", ""
2640  },
2641  { "Maxtor DiamondMax Plus D740X",
2642    "MAXTOR 6L0(20[JL]1|40[JL]2|60[JL]3|80[JL]4)",
2643    "", "", ""
2644  },
2645  { "Maxtor DiamondMax Plus 5120 Ultra ATA 33",
2646    "Maxtor 9(0512D2|0680D3|0750D3|0913D4|1024D4|1360D6|1536D6|1792D7|2048D8)",
2647    "",
2648    "",
2649    "-v 9,minutes"
2650  },
2651  { "Maxtor DiamondMax Plus 6800 Ultra ATA 66",
2652    "Maxtor 9(2732U8|2390U7|204[09]U6|1707U5|1366U4|1024U3|0845U3|0683U2)",
2653    "",
2654    "",
2655    "-v 9,minutes"
2656  },
2657  { "Maxtor DiamondMax D540X-4D",
2658    "Maxtor 4D0(20H1|40H2|60H3|80H4)",
2659    "",
2660    "",
2661    "-v 9,minutes -v 194,unknown"
2662  },
2663  { "Maxtor DiamondMax 16",
2664    "Maxtor 4(R0[68]0[JL]0|R1[26]0L0|A160J0|R120L4)",
2665    "",
2666    "",
2667    "-v 9,minutes"
2668  },
2669  { "Maxtor DiamondMax 4320 Ultra ATA",
2670    "Maxtor (91728D8|91512D7|91303D6|91080D5|90845D4|90645D3|90648D[34]|90432D2)",
2671    "",
2672    "",
2673    "-v 9,minutes"
2674  },
2675  { "Maxtor DiamondMax 17 VL",
2676    "Maxtor 9(0431U1|0641U2|0871U2|1301U3|1741U4)",
2677    "",
2678    "",
2679    "-v 9,minutes"
2680  },
2681  { "Maxtor DiamondMax 20 VL",
2682    "Maxtor (94091U8|93071U6|92561U5|92041U4|91731U4|91531U3|91361U3|91021U2|90841U2|90651U2)",
2683    "",
2684    "",
2685    "-v 9,minutes"
2686  },
2687  { "Maxtor DiamondMax VL 30",  // U: ATA66, H: ATA100
2688    "Maxtor (33073U4|32049U3|31536U2|30768U1|33073H4|32305H3|31536H2|30768H1)",
2689    "",
2690    "",
2691    "-v 9,minutes"
2692  },
2693  { "Maxtor DiamondMax 36",
2694    "Maxtor (93652U8|92739U6|91826U4|91369U3|90913U2|90845U2|90435U1)",
2695    "",
2696    "",
2697    "-v 9,minutes"
2698  },
2699  { "Maxtor DiamondMax 40 ATA 66",
2700    "Maxtor 9(0684U2|1024U2|1362U3|1536U3|2049U4|2562U5|3073U6|4098U8)",
2701    "",
2702    "",
2703    "-v 9,minutes"
2704  },
2705  { "Maxtor DiamondMax Plus 40 (Ultra ATA 66 and Ultra ATA 100)",
2706    "Maxtor (54098[UH]8|53073[UH]6|52732[UH]6|52049[UH]4|51536[UH]3|51369[UH]3|51024[UH]2)",
2707    "",
2708    "",
2709    "-v 9,minutes"
2710  },
2711  { "Maxtor DiamondMax 40 VL Ultra ATA 100",
2712    "Maxtor 3(1024H1|1535H2|2049H2|3073H3|4098H4)( B)?",
2713    "",
2714    "",
2715    "-v 9,minutes"
2716  },
2717  { "Maxtor DiamondMax Plus 45 Ulta ATA 100",
2718    "Maxtor 5(4610H6|4098H6|3073H4|2049H3|1536H2|1369H2|1023H2)",
2719    "",
2720    "",
2721    "-v 9,minutes"
2722  },
2723  { "Maxtor DiamondMax 60 ATA 66",
2724    "Maxtor 9(1023U2|1536U2|2049U3|2305U3|3073U4|4610U6|6147U8)",
2725    "",
2726    "",
2727    "-v 9,minutes"
2728  },
2729  { "Maxtor DiamondMax 60 ATA 100",
2730    "Maxtor 9(1023H2|1536H2|2049H3|2305H3|3073H4|4098H6|4610H6|6147H8)",
2731    "",
2732    "",
2733    "-v 9,minutes"
2734  },
2735  { "Maxtor DiamondMax Plus 60",
2736    "Maxtor 5T0(60H6|40H4|30H3|20H2|10H1)",
2737    "",
2738    "",
2739    "-v 9,minutes"
2740  },
2741  { "Maxtor DiamondMax 80",
2742    "Maxtor (98196H8|96147H6)",
2743    "",
2744    "",
2745    "-v 9,minutes"
2746  },
2747  { "Maxtor DiamondMax 536DX",
2748    "Maxtor 4W(100H6|080H6|060H4|040H3|030H2)",
2749    "",
2750    "",
2751    "-v 9,minutes"
2752  },
2753  { "Maxtor DiamondMax Plus 8",
2754    "Maxtor 6(E0[234]|K04)0L0",
2755    "",
2756    "",
2757    "-v 9,minutes"
2758  },
2759  { "Maxtor DiamondMax 10 (ATA/133 and SATA/150)",
2760    "Maxtor 6(B(30|25|20|16|12|10|08)0[MPRS]|L(080[MLP]|(100|120)[MP]|160[MP]|200[MPRS]|250[RS]|300[RS]))0",
2761    "",
2762    "",
2763    "-v 9,minutes"
2764  },
2765  { "Maxtor DiamondMax 10 (SATA/300)",
2766    "Maxtor 6V(080E|160E|200E|250F|300F|320F)0",
2767    "", "", ""
2768  },
2769  { "Maxtor DiamondMax Plus 9",
2770    "Maxtor 6Y((060|080|120|160)L0|(060|080|120|160|200|250)P0|(060|080|120|160|200|250)M0)",
2771    "",
2772    "",
2773    "-v 9,minutes"
2774  },
2775  { "Maxtor DiamondMax 11",
2776    "Maxtor 6H[45]00[FR]0",
2777    "", "", ""
2778  },
2779  { "Maxtor DiamondMax 17",
2780    "Maxtor 6G(080L|160[PE])0",
2781    "", "", ""
2782  },
2783  { "Seagate Maxtor DiamondMax 20",
2784    "MAXTOR STM3(40|80|160)[28]1[12]0?AS?",
2785    "", "", ""
2786  },
2787  { "Seagate Maxtor DiamondMax 21", // tested with MAXTOR STM3250310AS/3.AAF
2788    "MAXTOR STM3(80[28]15|160215|250310|(250|320)820|320620|500630)AS?",
2789    "", "", ""
2790  },
2791  { "Seagate Maxtor DiamondMax 22", // fixed firmware
2792    "(MAXTOR )?STM3(500320|750330|1000340)AS?",
2793    "MX1A", // http://knowledge.seagate.com/articles/en_US/FAQ/207969en
2794    "", ""
2795  },
2796  { "Seagate Maxtor DiamondMax 22", // fixed firmware
2797    "(MAXTOR )?STM3(160813|320614|640323|1000334)AS?",
2798    "MX1B", // http://knowledge.seagate.com/articles/en_US/FAQ/207975en
2799    "", ""
2800  },
2801  { "Seagate Maxtor DiamondMax 22", // buggy firmware
2802    "(MAXTOR )?STM3(500320|750330|1000340)AS?",
2803    "MX15",
2804    "There are known problems with these drives,\n"
2805    "AND THIS FIRMWARE VERSION IS AFFECTED,\n"
2806    "see the following Seagate web pages:\n"
2807    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
2808    "http://knowledge.seagate.com/articles/en_US/FAQ/207969en",
2809    ""
2810  },
2811  { "Seagate Maxtor DiamondMax 22", // unknown firmware
2812    "(MAXTOR )?STM3(160813|32061[34]|500320|640323|750330|10003(34|40))AS?",
2813    "",
2814    "There are known problems with these drives,\n"
2815    "see the following Seagate web pages:\n"
2816    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
2817    "http://knowledge.seagate.com/articles/en_US/FAQ/207969en\n"
2818    "http://knowledge.seagate.com/articles/en_US/FAQ/207975en",
2819    ""
2820  },
2821  { "Seagate Maxtor DiamondMax 23", // new firmware
2822    "STM3((160|250)31|(320|500)41|(750|1000)52)8AS?",
2823    "CC3[D-Z]",
2824    "", ""
2825  },
2826  { "Seagate Maxtor DiamondMax 23", // unknown firmware
2827    "STM3((160|250)31|(320|500)41|(750|1000)52)8AS?",
2828    "",
2829    "A firmware update for this drive may be available,\n"
2830    "see the following Seagate web pages:\n"
2831    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
2832    "http://knowledge.seagate.com/articles/en_US/FAQ/213911en",
2833    ""
2834  },
2835  { "Maxtor MaXLine Plus II",
2836    "Maxtor 7Y250[PM]0",
2837    "",
2838    "",
2839    "-v 9,minutes"
2840  },
2841  { "Maxtor MaXLine II",
2842    "Maxtor [45]A(25|30|32)0[JN]0",
2843    "",
2844    "",
2845    "-v 9,minutes"
2846  },
2847  { "Maxtor MaXLine III (ATA/133 and SATA/150)",
2848    "Maxtor 7L(25|30)0[SR]0",
2849    "",
2850    "",
2851    "-v 9,minutes"
2852  },
2853  { "Maxtor MaXLine III (SATA/300)",
2854    "Maxtor 7V(25|30)0F0",
2855    "", "", ""
2856  },
2857  { "Maxtor MaXLine Pro 500",  // There is also a 7H500R0 model, but I
2858    "Maxtor 7H500F0",               // haven't added it because I suspect
2859    "",                               // it might need vendoropts_9_minutes
2860    "", ""                            // and nobody has submitted a report yet
2861  },
2862  { "", // HITACHI_DK14FA-20B
2863    "HITACHI_DK14FA-20B",
2864    "",
2865    "",
2866    "-v 9,minutes -v 193,loadunload"
2867  },
2868  { "HITACHI Travelstar DK23XX/DK23XXB",
2869    "HITACHI_DK23..-..B?",
2870    "",
2871    "",
2872    "-v 9,minutes -v 193,loadunload"
2873  },
2874  { "Hitachi Endurastar J4K20/N4K20 (formerly DK23FA-20J)",
2875    "(HITACHI_DK23FA-20J|HTA422020F9AT[JN]0)",
2876    "",
2877    "",
2878    "-v 9,minutes -v 193,loadunload"
2879  },
2880  { "Hitachi Endurastar J4K30/N4K30",
2881    "HE[JN]4230[23]0F9AT00",
2882    "",
2883    "",
2884    "-v 9,minutes -v 193,loadunload"
2885  },
2886  { "Hitachi Travelstar C4K60",  // 1.8" slim drive
2887    "HTC4260[23]0G5CE00|HTC4260[56]0G8CE00",
2888    "",
2889    "",
2890    "-v 9,minutes -v 193,loadunload"
2891  },
2892  { "IBM Travelstar 4GT",
2893    "IBM-DTCA-2(324|409)0",
2894    "", "", ""
2895  },
2896  { "IBM Travelstar 6GN",
2897    "IBM-DBCA-20(324|486|648)0",
2898    "", "", ""
2899  },
2900  { "IBM Travelstar 25GS, 18GT, and 12GN",
2901    "IBM-DARA-2(25|18|15|12|09|06)000",
2902    "", "", ""
2903  },
2904  { "IBM Travelstar 14GS",
2905    "IBM-DCYA-214000",
2906    "", "", ""
2907  },
2908  { "IBM Travelstar 4LP",
2909    "IBM-DTNA-2(180|216)0",
2910    "", "", ""
2911  },
2912  { "IBM Travelstar 48GH, 30GN, and 15GN",
2913    "(IBM-|Hitachi )?IC25(T048ATDA05|N0(30|20|15|12|10|07|06|05)ATDA04)-.",
2914    "", "", ""
2915  },
2916  { "IBM Travelstar 32GH, 30GT, and 20GN",
2917    "IBM-DJSA-2(32|30|20|10|05)",
2918    "", "", ""
2919  },
2920  { "IBM Travelstar 4GN",
2921    "IBM-DKLA-2(216|324|432)0",
2922    "", "", ""
2923  },
2924  { "IBM/Hitachi Travelstar 60GH and 40GN",
2925    "(IBM-|Hitachi )?IC25(T060ATC[SX]05|N0[4321]0ATC[SX]04)-.",
2926    "", "", ""
2927  },
2928  { "IBM/Hitachi Travelstar 40GNX",
2929    "(IBM-|Hitachi )?IC25N0[42]0ATC[SX]05-.",
2930    "", "", ""
2931  },
2932  { "Hitachi Travelstar 80GN",
2933    "(Hitachi )?IC25N0[23468]0ATMR04-.",
2934    "", "", ""
2935  },
2936  { "Hitachi Travelstar 4K40",
2937    "(Hitachi )?HTS4240[234]0M9AT00",
2938    "", "", ""
2939  },
2940  { "Hitachi Travelstar 4K120",
2941    "(Hitachi )?(HTS4212(60|80|10|12)H9AT00|HTS421260G9AT00)",
2942    "", "", ""
2943  },
2944  { "Hitachi Travelstar 5K80",
2945    "(Hitachi )?HTS5480[8642]0M9AT00",
2946    "", "", ""
2947  },
2948  { "Hitachi Travelstar 5K100",
2949    "(Hitachi )?HTS5410[1864]0G9(AT|SA)00",
2950    "", "", ""
2951  },
2952  { "Hitachi Travelstar E5K100",
2953    "(Hitachi )?HTE541040G9(AT|SA)00",
2954    "", "", ""
2955  },
2956  { "Hitachi Travelstar 5K120",
2957    "(Hitachi )?HTS5412(60|80|10|12)H9(AT|SA)00",
2958    "", "", ""
2959  },
2960  { "Hitachi Travelstar 5K160",
2961    "(Hitachi |HITACHI )?HTS5416([468]0|1[26])J9(AT|SA)00",
2962    "", "", ""
2963  },
2964  { "Hitachi Travelstar E5K160",
2965    "(Hitachi )?HTE5416(12|16|60|80)J9(AT|SA)00",
2966    "", "", ""
2967  },
2968  { "Hitachi Travelstar 5K250",
2969    "(Hitachi |HITACHI )?HTS5425(80|12|16|20|25)K9(A3|SA)00",
2970    "", "", ""
2971  },
2972  { "Hitachi Travelstar 5K320", // tested with HITACHI HTS543232L9SA00/FB4ZC4EC,
2973    // Hitachi HTS543212L9SA02/FBBAC52F
2974    "(Hitachi |HITACHI )?HT(S|E)5432(80|12|16|25|32)L9(A3(00)?|SA0[012])",
2975    "", "", ""
2976  },
2977  { "Hitachi/HGST Travelstar Z5K320", // tested with Hitachi HTS543232A7A384/ES2OA70K
2978    "(Hitachi|HGST) HT[ES]5432(16|25|32)A7A38[145]",
2979    "", "", ""
2980  },
2981  { "Hitachi Travelstar 5K500.B", // tested with Hitachi HTS545050B9SA00/PB4OC60X
2982    "(Hitachi )?HT[ES]5450(12|16|25|32|40|50)B9(A30[01]|SA00)",
2983    "", "", ""
2984  },
2985  { "Hitachi/HGST Travelstar Z5K500", // tested with HGST HTS545050A7E380/GG2OAC90,
2986      // Hitachi HTS545032A7E380/GGBOA7A0, HGST HTS545050A7E680/GR2OA230,
2987      // APPLE HDD HTS545050A7E362/GG2AB990
2988    "(Hitachi|HGST|APPLE HDD) HT[ES]5450(25|32|50)A7E(362|38[01]|680)",
2989    "", "", ""
2990  },
2991  { "Hitachi/HGST Travelstar 5K750", // tested with Hitachi HTS547575A9E384/JE4OA60A,
2992       // APPLE HDD HTS547550A9E384/JE3AD70F
2993    "(Hitachi|APPLE HDD) HT[ES]5475(50|64|75)A9E38[14]",
2994    "", "", ""
2995  },
2996  { "HGST Travelstar 5K1000", // tested with HGST HTS541010A9E680/JA0OA560,
2997      // HGST HTS541075A9E680/JA2OA560
2998    "HGST HT[ES]5410(64|75|10)A9E68[01]",
2999    "", "", ""
3000  },
3001  { "HGST Travelstar Z5K1000", // tested with HGST HTS541010A7E630/SE0OA4A0
3002    "HGST HTS5410(75|10)A7E63[015]",
3003    "", "", ""
3004  },
3005  { "HGST Travelstar 5K1500", // tested with HGST HTS541515A9E630/KA0OA500
3006    "HGST HT[ES]541515A9E63[015]",
3007    "", "", ""
3008  },
3009  { "Hitachi Travelstar 7K60",
3010    "(Hitachi )?HTS726060M9AT00",
3011    "", "", ""
3012  },
3013  { "Hitachi Travelstar E7K60",
3014    "(Hitachi )?HTE7260[46]0M9AT00",
3015    "", "", ""
3016  },
3017  { "Hitachi Travelstar 7K100",
3018    "(Hitachi )?HTS7210[168]0G9(AT|SA)00",
3019    "", "", ""
3020  },
3021  { "Hitachi Travelstar E7K100",
3022    "(Hitachi )?HTE7210[168]0G9(AT|SA)00",
3023    "", "", ""
3024  },
3025  { "Hitachi Travelstar 7K200", // tested with HITACHI HTS722016K9SA00/DCDZC75A
3026    "(Hitachi |HITACHI )?HTS7220(80|10|12|16|20)K9(A3|SA)00",
3027    "", "", ""
3028  },
3029  { "Hitachi Travelstar 7K320", // tested with
3030    // HTS723225L9A360/FCDOC30F, HTS723216L9A362/FC2OC39F
3031    "(Hitachi )?HT[ES]7232(80|12|16|25|32)L9(A300|A36[02]|SA61)",
3032    "", "", ""
3033  },
3034  { "Hitachi Travelstar Z7K320", // tested with HITACHI HTS723232A7A364/EC2ZB70B
3035    "(HITACHI )?HT[ES]7232(16|25|32)A7A36[145]",
3036    "", "", ""
3037  },
3038  { "Hitachi Travelstar 7K500", // tested with Hitachi HTS725050A9A360/PC4OC70D,
3039    // HITACHI HTS725032A9A364/PC3ZC70F
3040    "(Hitachi |HITACHI )?HT[ES]7250(12|16|25|32|50)A9A36[02-5]",
3041    "", "", ""
3042  },
3043  { "Hitachi/HGST Travelstar Z7K500", // tested with HITACHI HTS725050A7E630/GH2ZB390,
3044      // HGST HTS725050A7E630/GH2OA420, HGST HTS725050A7E630/GH2OA530
3045    "(HITACHI|HGST) HT[ES]7250(25|32|50)A7E63[015]",
3046    "", "", ""
3047  },
3048  { "Hitachi/HGST Travelstar 7K750", // tested with Hitachi HTS727550A9E364/JF3OA0E0,
3049      // Hitachi HTS727575A9E364/JF4OA0D0
3050    "(Hitachi|HGST) HT[ES]7275(50|64|75)A9E36[14]",
3051    "", "", ""
3052  },
3053  { "HGST Travelstar 7K1000", // tested with HGST HTS721010A9E630/JB0OA3B0
3054    // HGST HTS721075A9E630/JB2OA3J0
3055    "HGST HT[ES]7210(10|75)A9E63[01]",
3056    "", "", ""
3057  },
3058  { "IBM Deskstar 14GXP and 16GP",
3059    "IBM-DTTA-3(7101|7129|7144|5032|5043|5064|5084|5101|5129|5168)0",
3060    "", "", ""
3061  },
3062  { "IBM Deskstar 25GP and 22GXP",
3063    "IBM-DJNA-3(5(101|152|203|250)|7(091|135|180|220))0",
3064    "", "", ""
3065  },
3066  { "IBM Deskstar 37GP and 34GXP",
3067    "IBM-DPTA-3(5(375|300|225|150)|7(342|273|205|136))0",
3068    "", "", ""
3069  },
3070  { "IBM/Hitachi Deskstar 120GXP",
3071    "(IBM-)?IC35L((020|040|060|080|120)AVVA|0[24]0AVVN)07-[01]",
3072    "", "", ""
3073  },
3074  { "IBM/Hitachi Deskstar GXP-180",
3075    "(IBM-)?IC35L(030|060|090|120|180)AVV207-[01]",
3076    "", "", ""
3077  },
3078  { "Hitachi CinemaStar 5K320", // tested with Hitachi HCS5C3225SLA380/STBOA37H
3079    "Hitachi HCS5C32(25|32)SLA380",
3080    "", "", ""
3081  },
3082  { "Hitachi CinemaStar 5K1000", // Hitachi HCS5C1010CLA382/JC4OA3EA
3083    "Hitachi HCS5C10(10|75|50|32|25|16)CLA382",
3084    "", "", ""
3085  },
3086  { "Hitachi Deskstar 5K3000", // tested with HDS5C3030ALA630/MEAOA5C0,
3087       // Hitachi HDS5C3020BLE630/MZ4OAAB0 (OEM, Toshiba Canvio Desktop)
3088    "(Hitachi )?HDS5C30(15|20|30)(ALA|BLE)63[02].*",
3089    "", "", ""
3090  },
3091  { "Hitachi Deskstar 5K4000", // tested with HDS5C4040ALE630/MPAOA250
3092    "(Hitachi )?HDS5C40(30|40)ALE63[01].*",
3093    "", "", ""
3094  },
3095  { "Hitachi Deskstar 7K80",
3096    "(Hitachi )?HDS7280([48]0PLAT20|(40)?PLA320|80PLA380).*",
3097    "", "", ""
3098  },
3099  { "Hitachi Deskstar 7K160",
3100    "(Hitachi )?HDS7216(80|16)PLA[3T]80.*",
3101    "", "", ""
3102  },
3103  { "Hitachi Deskstar 7K250",
3104    "(Hitachi )?HDS7225((40|80|12|16)VLAT20|(12|16|25)VLAT80|(80|12|16|25)VLSA80)",
3105    "", "", ""
3106  },
3107  { "Hitachi Deskstar 7K250 (SUN branded)",
3108    "HITACHI HDS7225SBSUN250G.*",
3109    "", "", ""
3110  },
3111  { "Hitachi Deskstar T7K250",
3112    "(Hitachi )?HDT7225((25|20|16)DLA(T80|380))",
3113    "", "", ""
3114  },
3115  { "Hitachi Deskstar 7K400",
3116    "(Hitachi )?HDS724040KL(AT|SA)80",
3117    "", "", ""
3118  },
3119  { "Hitachi Deskstar 7K500",
3120    "(Hitachi )?HDS725050KLA(360|T80)",
3121    "", "", ""
3122  },
3123  { "Hitachi Deskstar P7K500",
3124    "(Hitachi )?HDP7250(16|25|32|40|50)GLA(36|38|T8)0",
3125    "", "", ""
3126  },
3127  { "Hitachi Deskstar T7K500",
3128    "(Hitachi )?HDT7250(25|32|40|50)VLA(360|380|T80)",
3129    "", "", ""
3130  },
3131  { "Hitachi Deskstar 7K1000",
3132    "(Hitachi )?HDS7210(50|75|10)KLA330",
3133    "", "", ""
3134  },
3135  { "Hitachi Deskstar 7K1000.B",
3136    "(Hitachi )?HDT7210((16|25)SLA380|(32|50|64|75|10)SLA360)",
3137    "", "", ""
3138  },
3139  { "Hitachi Deskstar 7K1000.C", // tested with Hitachi HDS721010CLA330/JP4OA3MA,
3140      // Hitachi HDS721025CLA682/JP1OA41A
3141    "(Hitachi )?HDS7210((16|25)CLA[36]82|(32|50)CLA[36]62|(64|75|10)CLA[36]3[02])",
3142    "", "", ""
3143  },
3144  { "Hitachi Deskstar 7K1000.D", // tested with HDS721010DLE630/MS2OA5Q0
3145    "Hitachi HDS7210(25|32|50|75|10)DLE630",
3146    "", "", ""
3147  },
3148  { "Hitachi Deskstar E7K1000", // tested with HDE721010SLA330/ST6OA31B
3149    "Hitachi HDE7210(50|75|10)SLA330",
3150    "", "", ""
3151  },
3152  { "Hitachi Deskstar 7K2000",
3153    "Hitachi HDS722020ALA330",
3154    "", "", ""
3155  },
3156  { "Hitachi Deskstar 7K3000", // tested with Hitachi HDS723030ALA640/MKAOA3B0,
3157      // Hitachi HDS723030BLE640/MX6OAAB0
3158    "Hitachi HDS7230((15|20)BLA642|30ALA640|30BLE640)",
3159    "", "", ""
3160  },
3161  { "Hitachi/HGST Deskstar 7K4000", // tested with Hitachi HDS724040ALE640/MJAOA250,
3162      // HGST HDS724040ALE640/MJAOA580
3163    "(Hitachi|HGST) HDS724040ALE640",
3164    "", "", ""
3165  },
3166  { "HGST Deskstar NAS", // tested with HGST HDN724040ALE640/MJAOA5E0,
3167       // HGST HDN726050ALE610/APGNT517, HGST HDN726060ALE610/APGNT517
3168       // HGST HDN726040ALE614/APGNW7JH, HGST HDN726060ALE614/K1HE594D
3169    "HGST HDN72(4030|4040|6040|6050|6060)ALE6(10|14|40|04)",
3170    "", "", ""
3171  },
3172  { "Hitachi Ultrastar A7K1000", // tested with
3173    // HUA721010KLA330      44X2459 42C0424IBM/GKAOAB4A
3174    "(Hitachi )?HUA7210(50|75|10)KLA330.*",
3175    "", "", ""
3176  },
3177  { "Hitachi Ultrastar A7K2000", // tested with
3178    // HUA722010CLA330      43W7629 42C0401IBM
3179    "(Hitachi )?HUA7220(50|10|20)[AC]LA33[01].*",
3180    "", "", ""
3181  },
3182  { "Hitachi Ultrastar 7K3000", // tested with Hitachi HUA723030ALA640/MKAOA580,
3183      // Hitachi HUA723020ALA641/MK7OA840
3184    "Hitachi HUA7230(20|30)ALA64[01]",
3185    "", "", ""
3186  },
3187  { "Hitachi/HGST Ultrastar 7K4000", // tested with Hitachi HUS724040ALE640/MJAOA3B0,
3188      // HGST HUS724040ALE640/MJAOA580, HGST HUS724020ALA640/MF6OAA70
3189    "(Hitachi|HGST) HUS7240(20|30|40)AL[AE]64[01]",
3190    "", "", ""
3191  },
3192  { "Hitachi/HGST Ultrastar 7K2", //
3193    "(Hitachi|HGST) HUS722T[12]TALA604",
3194    "", "",
3195    "-v 16,raw48,Gas_Gauge"
3196  },
3197  { "HGST Ultrastar 7K6000", // tested with HGST HUS726060ALE614/APGNW517
3198    "HGST HUS7260[2456]0AL[AEN]61[014]",
3199    "", "", ""
3200  },
3201  { "HGST Ultrastar He6", // tested with HGST HUS726060ALA640/AHGNT1E2
3202    "HGST HUS726060ALA64[01]",
3203    "", "",
3204    "-v 22,raw48,Helium_Level"
3205  },
3206  { "HGST Ultrastar He8", // tested with HGST HUH728060ALE600/GR2OA230
3207    "HGST HUH7280(60|80)AL[EN]60[014]",
3208    "", "",
3209    "-v 22,raw48,Helium_Level"
3210  },
3211  { "HGST Ultrastar He10", // tested with HGST HUH7210100ALE600/0F27452
3212    "HGST HUH7210(08|10)AL[EN]60[014]",
3213    "", "",
3214    "-v 22,raw48,Helium_Level"
3215  },
3216  { "WDC HGST Ultrastar He10", // WD white label, tested with
3217      // WDC WD80EMAZ-00WJTA0/83.H0A83, WDC WD80EZAZ-11TDBA0/83.H0A83,
3218      // WDC WD100EMAZ-00WJTA0/83.H0A83, WDC WD100EZAZ-11TDBA0/83.H0A83
3219    "WDC WD(80|100)E[MZ]AZ-.*",
3220    "", "",
3221    "-v 22,raw48,Helium_Level"
3222  },
3223  { "HGST Ultrastar DC HC520 (He12)", // tested with HGST HUH721212ALE600/LEGNT3D0
3224    "HGST HUH721212AL[EN]60[014]",
3225    "", "",
3226    "-v 22,raw48,Helium_Level"
3227  },
3228  { "HGST MegaScale 4000", // tested with HGST HMS5C4040ALE640/MPAOA580
3229    "HGST HMS5C4040[AB]LE64[01]", // B = DC 4000.B
3230    "", "", ""
3231  },
3232  { "Toshiba 2.5\" HDD (10-20 GB)",
3233    "TOSHIBA MK(101[67]GAP|15[67]GAP|20(1[678]GAP|(18|23)GAS))",
3234    "", "", ""
3235  },
3236  { "Toshiba 2.5\" HDD (30-60 GB)",
3237    "TOSHIBA MK((6034|4032)GSX|(6034|4032)GAX|(6026|4026|4019|3019)GAXB?|(6025|6021|4025|4021|4018|3025|3021|3018)GAS|(4036|3029)GACE?|(4018|3017)GAP)",
3238    "", "", ""
3239  },
3240  { "Toshiba 2.5\" HDD (80 GB and above)",
3241    "TOSHIBA MK(80(25GAS|26GAX|32GAX|32GSX)|10(31GAS|32GAX)|12(33GAS|34G[AS]X)|2035GSS)",
3242    "", "", ""
3243  },
3244  { "Toshiba 2.5\" HDD MK..37GSX", // tested with TOSHIBA MK1637GSX/DL032C
3245    "TOSHIBA MK(12|16)37GSX",
3246    "", "", ""
3247  },
3248  { "Toshiba 2.5\" HDD MK..46GSX", // tested with TOSHIBA MK1246GSX/LB213M
3249    "TOSHIBA MK(80|12|16|25)46GSX",
3250    "", "", ""
3251  },
3252  { "Toshiba 2.5\" HDD MK..50GACY", // tested with TOSHIBA MK8050GACY/TF105A
3253    "TOSHIBA MK8050GACY",
3254    "", "", ""
3255  },
3256  { "Toshiba 2.5\" HDD MK..34GSX", // tested with TOSHIBA MK8034GSX/AH301E
3257    "TOSHIBA MK(80|12|10)34GSX",
3258    "", "", ""
3259  },
3260  //
3261  { "Toshiba 2.5\" HDD MK..32GSX", // tested with TOSHIBA MK1032GSX/AS021G
3262    "TOSHIBA MK(10|80|60|40)32GSX",
3263    "", "", ""
3264  },
3265  { "Toshiba 2.5\" HDD MK..51GSY", // tested with TOSHIBA MK1251GSY/LD101D
3266    "TOSHIBA MK(80|12|16|25)51GSY",
3267    "",
3268    "",
3269    "-v 9,minutes"
3270  },
3271  { "Toshiba 2.5\" HDD MK..52GSX",
3272    "TOSHIBA MK(80|12|16|25|32)52GSX",
3273    "", "", ""
3274  },
3275  { "Toshiba 2.5\" HDD MK..55GSX", // tested with TOSHIBA MK5055GSX/FG001A, MK3255GSXF/FH115B
3276    "TOSHIBA MK(12|16|25|32|40|50)55GSXF?",
3277    "", "", ""
3278  },
3279  { "Toshiba 2.5\" HDD MK..56GSY", // tested with TOSHIBA MK2556GSYF/LJ001D
3280    "TOSHIBA MK(16|25|32|50)56GSYF?",
3281    "",
3282    "",
3283    "-v 9,minutes"
3284  },
3285  { "Toshiba 2.5\" HDD MK..59GSXP (AF)",
3286    "TOSHIBA MK(32|50|64|75)59GSXP?",
3287    "", "", ""
3288  },
3289  { "Toshiba 2.5\" HDD MK..59GSM (AF)",
3290    "TOSHIBA MK(75|10)59GSM",
3291    "", "", ""
3292  },
3293  { "Toshiba 2.5\" HDD MK..61GSY[N]", // tested with TOSHIBA MK5061GSY/MC102E, MK5061GSYN/MH000A,
3294      // TOSHIBA MK2561GSYN/MH000D
3295    "TOSHIBA MK(16|25|32|50|64)61GSYN?",
3296    "",
3297    "",
3298    "-v 9,minutes" // TOSHIBA MK2561GSYN/MH000D
3299  },
3300  { "Toshiba 2.5\" HDD MK..61GSYB", // tested with TOSHIBA MK5061GSYB/ME0A
3301    "TOSHIBA MK(16|25|32|50|64)61GSYB",
3302    "", "", ""
3303  },
3304  { "Toshiba 2.5\" HDD MK..65GSX", // tested with TOSHIBA MK5065GSX/GJ003A, MK3265GSXN/GH012H,
3305      // MK5065GSXF/GP006B, MK2565GSX H/GJ003A
3306    "TOSHIBA MK(16|25|32|50|64)65GSX[FN]?( H)?", // "... H" = USB ?
3307    "", "", ""
3308  },
3309  { "Toshiba 2.5\" HDD MK..75GSX", // tested with TOSHIBA MK7575GSX/GT001C
3310    "TOSHIBA MK(32|50|64|75)75GSX",
3311    "", "", ""
3312  },
3313  { "Toshiba 2.5\" HDD MK..76GSX", // tested with TOSHIBA MK3276GSX/GS002D
3314    "TOSHIBA MK(16|25|32|50|64)76GSX",
3315    "",
3316    "",
3317    "-v 9,minutes"
3318  },
3319  { "Toshiba 2.5\" HDD MQ01ABB...", // tested with TOSHIBA MQ01ABB200/AY000U
3320    "TOSHIBA MQ01ABB(100|150|200)",
3321    "", "", ""
3322  },
3323  { "Toshiba 2.5\" HDD MQ01ABC...", // tested with TOSHIBA MQ01ABC150/AQ001U
3324    "TOSHIBA MQ01ABC(100|150|200)",
3325    "", "", ""
3326  },
3327  { "Toshiba 2.5\" HDD MQ01ABD...", // tested with TOSHIBA MQ01ABD100/AX001U,
3328      // TOSHIBA MQ01ABD100V/AX001Q
3329    "TOSHIBA MQ01ABD(025|032|050|064|075|100)V?",
3330    "", "", ""
3331  },
3332  { "Toshiba 2.5\" HDD MQ01ABF...", // tested with TOSHIBA MQ01ABF050/AM001J
3333    "TOSHIBA MQ01ABF(050|075|100)",
3334    "", "", ""
3335  },
3336  { "Toshiba 2.5\" HDD MQ01UBB... (USB 3.0)", // tested with TOSHIBA MQ01UBB200/AY000U (0x0480:0xa100),
3337      // TOSHIBA MQ01UBB200/34MATMZ5T (0x05ac:0x8406)
3338    "TOSHIBA MQ01UBB200",
3339    "", "", ""
3340  },
3341  { "Toshiba 2.5\" HDD MQ01UBD... (USB 3.0)", // tested with TOSHIBA MQ01UBD050/AX001U (0x0480:0xa007),
3342      // TOSHIBA MQ01UBD100/AX001U (0x0480:0x0201, 0x0480:0xa200),
3343      // TOSHIBA MQ01UBD050/AX101U (0x0480:0xa202)
3344    "TOSHIBA MQ01UBD(050|075|100)",
3345    "", "", ""
3346  },
3347  { "Toshiba 2.5\" HDD MQ04UBF... (USB 3.0)", // tested with TOSHIBA MQ04UBF100/JU000U (0x0480:0xa202)
3348    "TOSHIBA MQ04UBF100",
3349    "", "", ""
3350  },
3351  { "Toshiba 2.5\" HDD MQ03ABB...", // tested with TOSHIBA MQ03ABB300
3352    "TOSHIBA MQ03ABB[23]00",
3353    "", "", ""
3354  },
3355  { "Toshiba 2.5\" HDD MQ03UBB...", // tested with TOSHIBA MQ03UBB200/37I7T0NJT
3356    "TOSHIBA MQ03UBB(300|200|250)",
3357    "", "", ""
3358  },
3359  { "Toshiba 3.5\" HDD MK.002TSKB", // tested with TOSHIBA MK1002TSKB/MT1A
3360    "TOSHIBA MK(10|20)02TSKB",
3361    "", "", ""
3362  },
3363  { "Toshiba 3.5\" MG03ACAxxx(Y) Enterprise HDD", // tested with TOSHIBA MG03ACA100/FL1A
3364    "TOSHIBA MG03ACA[1234]00Y?",
3365    "", "", ""
3366  },
3367  { "Toshiba 3.5\" MD04ACA... Enterprise HDD", // tested with TOSHIBA MD04ACA500/FP1A
3368    "TOSHIBA MD04ACA[2345]00",
3369    "", "", ""
3370  },
3371  { "Toshiba 3.5\" MG04ACA... Enterprise HDD", // tested with TOSHIBA MG04ACA600A/FS2B
3372    "TOSHIBA MG04ACA[23456]00[AE].?",
3373    "", "", ""
3374  },
3375  { "Toshiba 3.5\" DT01ABA... Desktop HDD", // tested with TOSHIBA DT01ABA300/MZ6OABB0
3376    "TOSHIBA DT01ABA(100|150|200|300)",
3377    "", "", ""
3378  },
3379  { "Toshiba 3.5\" DT01ACA... Desktop HDD", // tested with TOSHIBA DT01ACA100/MS2OA750,
3380      // TOSHIBA DT01ACA200/MX4OABB0, TOSHIBA DT01ACA300/MX6OABB0
3381    "TOSHIBA DT01ACA(025|032|050|075|100|150|200|300)",
3382    "", "", ""
3383  },
3384  { "Toshiba X300", // tested with TOSHIBA HDWE160/FS2A
3385    "TOSHIBA HDWE1[456]0",
3386    "", "", ""
3387  },
3388  { "Toshiba P300", // tested with TOSHIBA HDWD120/MX4OACF0
3389    "TOSHIBA HDWD1(30|20|10|05)",
3390    "", "", ""
3391  },
3392  { "Toshiba 1.8\" HDD",
3393    "TOSHIBA MK[23468]00[4-9]GA[HL]",
3394    "", "", ""
3395  },
3396  { "Toshiba 1.8\" HDD MK..29GSG",
3397    "TOSHIBA MK(12|16|25)29GSG",
3398    "", "", ""
3399  },
3400  { "", // TOSHIBA MK6022GAX
3401    "TOSHIBA MK6022GAX",
3402    "", "", ""
3403  },
3404  { "Toshiba HK4R Series SSD", // TOSHIBA THNSN8960PCSE/8EET6101
3405    "TOSHIBA THNSN8(120P|240P|480P|960P|1Q92)CSE",
3406    "", "", 
3407    "-v 167,raw48,SSD_Protect_Mode "
3408    "-v 168,raw48,SATA_PHY_Error_Count "
3409    "-v 169,raw48,Bad_Block_Count "
3410    "-v 173,raw48,Erase_Count "
3411  },
3412  { "Toshiba HG6 Series SSD", // TOSHIBA THNSNJ512GCST/JTRA0102
3413    // http://www.farnell.com/datasheets/1852757.pdf
3414    // TOSHIBA THNSFJ256GCSU/JULA1102
3415    // TOSHIBA THNSFJ256GDNU A/JYLA1102
3416    "TOSHIBA THNS[NF]J(060|128|256|512)G[BCAM8VD][SCN][TU].*",
3417    "", "", 
3418    "-v 167,raw48,SSD_Protect_Mode "
3419    "-v 168,raw48,SATA_PHY_Error_Count "
3420    "-v 169,raw48,Bad_Block_Count "
3421    "-v 173,raw48,Erase_Count "
3422  },
3423  { "", // TOSHIBA MK6409MAV
3424    "TOSHIBA MK6409MAV",
3425    "", "", ""
3426  },
3427  { "Toshiba MKx019GAXB (SUN branded)",
3428    "TOS MK[34]019GAXB SUN[34]0G",
3429    "", "", ""
3430  },
3431  { "Seagate Momentus",
3432    "ST9(20|28|40|48)11A",
3433    "", "", ""
3434  },
3435  { "Seagate Momentus 42",
3436    "ST9(2014|3015|4019)A",
3437    "", "", ""
3438  },
3439  { "Seagate Momentus 4200.2", // tested with ST960812A/3.05
3440    "ST9(100822|808210|60812|50212|402113|30219)A",
3441    "", "", ""
3442  },
3443  { "Seagate Momentus 5400.2",
3444    "ST9(808211|6082[12]|408114|308110|120821|10082[34]|8823|6812|4813|3811)AS?",
3445    "", "", ""
3446  },
3447  { "Seagate Momentus 5400.3",
3448    "ST9(4081[45]|6081[35]|8081[15]|100828|120822|160821)AS?",
3449    "", "", ""
3450  },
3451  { "Seagate Momentus 5400.3 ED",
3452    "ST9(4081[45]|6081[35]|8081[15]|100828|120822|160821)AB",
3453    "", "", ""
3454  },
3455  { "Seagate Momentus 5400.4",
3456    "ST9(120817|(160|200|250)827)AS",
3457    "", "", ""
3458  },
3459  { "Seagate Momentus 5400.5",
3460    "ST9((80|120|160)310|(250|320)320)AS",
3461    "", "", ""
3462  },
3463  { "Seagate Momentus 5400.6",
3464    "ST9(80313|160(301|314)|(12|25)0315|250317|(320|500)325|500327|640320)ASG?",
3465    "", "",
3466    "-F xerrorlba" // ST9500325AS/0002SDM1 (ticket #1094)
3467  },
3468  { "Seagate Momentus 5400.7",
3469    "ST9(160316|(250|320)310|(500|640)320)AS",
3470    "", "", ""
3471  },
3472  { "Seagate Momentus 5400.7 (AF)", // tested with ST9640322AS/0001BSM2
3473      // (device reports 4KiB LPS with 1 sector offset)
3474    "ST9(320312|400321|640322|750423)AS",
3475    "", "", ""
3476  },
3477  { "Seagate Momentus 5400 PSD", // Hybrid drives
3478    "ST9(808212|(120|160)8220)AS",
3479    "", "", ""
3480  },
3481  { "Seagate Momentus 7200.1",
3482    "ST9(10021|80825|6023|4015)AS?",
3483    "", "", ""
3484  },
3485  { "Seagate Momentus 7200.2",
3486    "ST9(80813|100821|120823|160823|200420)ASG?",
3487    "", "", ""
3488  },
3489  { "Seagate Momentus 7200.3",
3490    "ST9((80|120|160)411|(250|320)421)ASG?",
3491    "", "", ""
3492  },
3493  { "Seagate Momentus 7200.4",
3494    "ST9(160412|250410|320423|500420)ASG?",
3495    "", "", ""
3496  },
3497  { "Seagate Momentus 7200 FDE.2",
3498    "ST9((160413|25041[12]|320426|50042[12])AS|(16041[489]|2504[16]4|32042[67]|500426)ASG)",
3499    "", "", ""
3500  },
3501  { "Seagate Momentus 7200.5", // tested with ST9750420AS/0001SDM5, ST9750420AS/0002SDM1
3502    "ST9(50042[34]|64042[012]|75042[02])ASG?",
3503    "", "", ""
3504  },
3505  { "Seagate Momentus XT", // fixed firmware
3506    "ST9(2505610|3205620|5005620)AS",
3507    "SD2[68]", // http://knowledge.seagate.com/articles/en_US/FAQ/215451en
3508    "", ""
3509  },
3510  { "Seagate Momentus XT", // buggy firmware, tested with ST92505610AS/SD24
3511    "ST9(2505610|3205620|5005620)AS",
3512    "SD2[45]",
3513    "These drives may corrupt large files,\n"
3514    "AND THIS FIRMWARE VERSION IS AFFECTED,\n"
3515    "see the following web pages for details:\n"
3516    "http://knowledge.seagate.com/articles/en_US/FAQ/215451en\n"
3517    "https://superuser.com/questions/313447/seagate-momentus-xt-corrupting-files-linux-and-mac",
3518    ""
3519  },
3520  { "Seagate Momentus XT", // unknown firmware
3521    "ST9(2505610|3205620|5005620)AS",
3522    "",
3523    "These drives may corrupt large files,\n"
3524    "see the following web pages for details:\n"
3525    "http://knowledge.seagate.com/articles/en_US/FAQ/215451en\n"
3526    "https://superuser.com/questions/313447/seagate-momentus-xt-corrupting-files-linux-and-mac",
3527    ""
3528  },
3529  { "Seagate Momentus XT (AF)", // tested with ST750LX003-1AC154/SM12
3530    "ST750LX003-.*",
3531    "", "", ""
3532  },
3533  { "Seagate Momentus Thin", // tested with ST320LT007-9ZV142/0004LVM1
3534    "ST(160|250|320)LT0(07|09|11|14)-.*",
3535    "", "", ""
3536  },
3537  { "Seagate Laptop HDD", // tested with ST500LT012-9WS142/0001SDM1,
3538      // ST500LM021-1KJ152/0002LIM1, ST4000LM016-1N2170/0003
3539    "ST((25|32|50)0LT0(12|15|25)|(32|50)0LM0(10|21)|[34]000LM016)-.*",
3540    "", "", ""
3541  },
3542  { "Seagate Laptop SSHD", // tested with ST500LM000-1EJ162/SM11
3543    "ST(500|1000)LM0(00|14)-.*",
3544    "", "", ""
3545  },
3546  { "Seagate Medalist 1010, 1720, 1721, 2120, 3230 and 4340",  // ATA2, with -t permissive
3547    "ST3(1010|1720|1721|2120|3230|4340)A",
3548    "", "", ""
3549  },
3550  { "Seagate Medalist 2110, 3221, 4321, 6531, and 8641",
3551    "ST3(2110|3221|4321|6531|8641)A",
3552    "", "", ""
3553  },
3554  { "Seagate U4",
3555    "ST3(2112|4311|6421|8421)A",
3556    "", "", ""
3557  },
3558  { "Seagate U5",
3559    "ST3(40823|30621|20413|15311|10211)A",
3560    "", "", ""
3561  },
3562  { "Seagate U6",
3563    "ST3(8002|6002|4081|3061|2041)0A",
3564    "", "", ""
3565  },
3566  { "Seagate U7",
3567    "ST3(30012|40012|60012|80022|120020)A",
3568    "", "", ""
3569  },
3570  { "Seagate U8",
3571    "ST3(4313|6811|8410|4313|13021|17221)A",
3572    "", "", ""
3573  },
3574  { "Seagate U9", // tested with ST3160022ACE/9.51
3575    "ST3(80012|120025|160022)A(CE)?",
3576    "", "", ""
3577  },
3578  { "Seagate U10",
3579    "ST3(20423|15323|10212)A",
3580    "", "", ""
3581  },
3582  { "Seagate UX",
3583    "ST3(10014A(CE)?|20014A)",
3584    "", "", ""
3585  },
3586  { "Seagate Barracuda ATA",
3587    "ST3(2804|2724|2043|1362|1022|681)0A",
3588    "", "", ""
3589  },
3590  { "Seagate Barracuda ATA II",
3591    "ST3(3063|2042|1532|1021)0A",
3592    "", "", ""
3593  },
3594  { "Seagate Barracuda ATA III",
3595    "ST3(40824|30620|20414|15310|10215)A",
3596    "", "", ""
3597  },
3598  { "Seagate Barracuda ATA IV",
3599    "ST3(20011|30011|40016|60021|80021)A",
3600    "", "", ""
3601  },
3602  { "Seagate Barracuda ATA V",
3603    "ST3(12002(3A|4A|9A|3AS)|800(23A|15A|23AS)|60(015A|210A)|40017A)",
3604    "", "", ""
3605  },
3606  { "Seagate Barracuda 5400.1",
3607    "ST340015A",
3608    "", "", ""
3609  },
3610  { "Seagate Barracuda 7200.7 and 7200.7 Plus", // tested with "ST380819AS          39M3701 39M0171 IBM"/3.03
3611    "ST3(200021A|200822AS?|16002[13]AS?|12002[26]AS?|1[26]082[78]AS|8001[13]AS?|8081[79]AS|60014A|40111AS|40014AS?)( .* IBM)?",
3612    "", "", ""
3613  },
3614  { "Seagate Barracuda 7200.8",
3615    "ST3(400[68]32|300[68]31|250[68]23|200826)AS?",
3616    "", "", ""
3617  },
3618  { "Seagate Barracuda 7200.9",
3619    "ST3(402111?|80[28]110?|120[28]1[0134]|160[28]1[012]|200827|250[68]24|300[68]22|(320|400)[68]33|500[68](32|41))AS?.*",
3620    "", "", ""
3621  },
3622  { "Seagate Barracuda 7200.10", // tested with GB0160EAFJE/HPG0
3623    "ST3((80|160)[28]15|200820|250[34]10|(250|300|320|400)[68]20|360320|500[68]30|750[68]40)AS?|"
3624    "GB0160EAFJE", // HP OEM
3625    "", "", ""
3626  },
3627  { "Seagate Barracuda 7200.11", // unaffected firmware
3628    "ST3(160813|320[68]13|500[368]20|640[36]23|640[35]30|750[36]30|1000(333|[36]40)|1500341)AS?",
3629    "CC.?.?", // http://knowledge.seagate.com/articles/en_US/FAQ/207957en
3630    "", ""
3631  },
3632  { "Seagate Barracuda 7200.11", // fixed firmware
3633    "ST3(500[368]20|750[36]30|1000340)AS?",
3634    "SD1A", // http://knowledge.seagate.com/articles/en_US/FAQ/207951en
3635    "", ""
3636  },
3637  { "Seagate Barracuda 7200.11", // fixed firmware
3638    "ST3(160813|320[68]13|640[36]23|1000333|1500341)AS?",
3639    "SD[12]B", // http://knowledge.seagate.com/articles/en_US/FAQ/207957en
3640    "", ""
3641  },
3642  { "Seagate Barracuda 7200.11", // buggy or fixed firmware
3643    "ST3(500[368]20|640[35]30|750[36]30|1000340)AS?",
3644    "(AD14|SD1[5-9]|SD81)",
3645    "There are known problems with these drives,\n"
3646    "THIS DRIVE MAY OR MAY NOT BE AFFECTED,\n"
3647    "see the following web pages for details:\n"
3648    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
3649    "http://knowledge.seagate.com/articles/en_US/FAQ/207951en\n"
3650    "https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632758",
3651    ""
3652  },
3653  { "Seagate Barracuda 7200.11", // unknown firmware
3654    "ST3(160813|320[68]13|500[368]20|640[36]23|640[35]30|750[36]30|1000(333|[36]40)|1500341)AS?",
3655    "",
3656    "There are known problems with these drives,\n"
3657    "see the following Seagate web pages:\n"
3658    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
3659    "http://knowledge.seagate.com/articles/en_US/FAQ/207951en\n"
3660    "http://knowledge.seagate.com/articles/en_US/FAQ/207957en",
3661    ""
3662  },
3663  { "Seagate Barracuda 7200.12", // new firmware
3664    "ST3(160318|250318|320418|50041[08]|750528|1000528)AS",
3665    "CC4[9A-Z]",
3666    "", ""
3667  },
3668  { "Seagate Barracuda 7200.12", // unknown firmware
3669    "ST3(160318|250318|320418|50041[08]|750528|1000528)AS",
3670    "",
3671    "A firmware update for this drive may be available,\n"
3672    "see the following Seagate web pages:\n"
3673    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
3674    "http://knowledge.seagate.com/articles/en_US/FAQ/213891en",
3675    ""
3676  },
3677  { "Seagate Barracuda 7200.12", // tested with ST3250312AS/JC45, ST31000524AS/JC45,
3678      // ST3500413AS/JC4B, ST3750525AS/JC4B
3679      // ST3160316AS/JC45
3680      // Possible options: ST31000524AS, ST3500413AS, ST3250312AS ,
3681      // ST3750525AS, ST3320413AS, ST3160316AS
3682    "ST3(160318|25031[128]|320418|50041[038]|750(518|52[358])|100052[348]|320413|160316)AS",
3683    "", "", ""
3684  },
3685  { "Seagate Barracuda XT", // tested with ST32000641AS/CC13,
3686      // ST4000DX000-1C5160/CC42
3687    "ST(3(2000641|3000651)AS|4000DX000-.*)",
3688    "", "", ""
3689  },
3690  { "Seagate Barracuda 7200.14 (AF)", // new firmware, tested with
3691      // ST3000DM001-9YN166/CC4H, ST3000DM001-9YN166/CC9E
3692    "ST(1000|1500|2000|2500|3000)DM00[1-3]-9YN16.",
3693    "CC(4[H-Z]|[5-9A-Z]..*)", // >= "CC4H"
3694    "",
3695    "-v 188,raw16 -v 240,msec24hour32" // tested with ST3000DM001-9YN166/CC4H
3696  },
3697  { "Seagate Barracuda 7200.14 (AF)", // old firmware, tested with
3698      // ST1000DM003-9YN162/CC46
3699    "ST(1000|1500|2000|2500|3000)DM00[1-3]-9YN16.",
3700    "CC4[679CG]",
3701    "A firmware update for this drive is available,\n"
3702    "see the following Seagate web pages:\n"
3703    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
3704    "http://knowledge.seagate.com/articles/en_US/FAQ/223651en",
3705    "-v 188,raw16 -v 240,msec24hour32"
3706  },
3707  { "Seagate Barracuda 7200.14 (AF)", // unknown firmware
3708    "ST(1000|1500|2000|2500|3000)DM00[1-3]-9YN16.",
3709    "",
3710    "A firmware update for this drive may be available,\n"
3711    "see the following Seagate web pages:\n"
3712    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
3713    "http://knowledge.seagate.com/articles/en_US/FAQ/223651en",
3714    "-v 188,raw16 -v 240,msec24hour32"
3715  },
3716  { "Seagate Barracuda 7200.14 (AF)", // different part number, tested with
3717      // ST1000DM003-1CH162/CC47, ST1000DM003-1CH162/CC49, ST2000DM001-1CH164/CC24,
3718      // ST1000DM000-9TS15E/CC92, APPLE HDD ST3000DM001/AP15 (no attr 240)
3719    "ST(1000|1500|2000|2500|3000)DM00[0-3]-.*|"
3720    "APPLE HDD ST3000DM001",
3721    "", "",
3722    "-v 188,raw16 -v 240,msec24hour32"
3723  },
3724  // should be ST4000DM005, ST3000DM008,ST3000DM009,ST2000DM006,ST2000DM007
3725  // ST1000DM010, ST500DM009
3726  // tested: ST3000DM008-2DM166/CC26
3727  { "Seagate Barracuda 3.5", // tested on ST1000DM010-2EP102/Z9ACZM97
3728    "ST(4000DM00[45]|3000DM008|3000DM009|2000DM006|2000DM007|1000DM010|500DM009)-.*",
3729    "", "",
3730    "-v 188,raw16 -v 240,msec24hour32"
3731  },
3732  // ST8000DM004, ST6000DM003, ST4000DM004, ST3000DM007, ST2000DM005
3733  { "Seagate Barracuda Compute", // tested on ST8000DM004-2CX188/0001
3734    "ST(8000DM004|6000DM003|4000DM004|3000DM007|2000DM005)-.*",
3735    "", "",
3736    ""
3737  },
3738  { "Seagate Barracuda Pro", // tested on ST8000DM004-2CX188/0001
3739    "ST(8000DM005|6000DM004|4000DM006|2000DM009)-.*",
3740    "", "",
3741    "-v 188,raw16 -v 240,msec24hour32"
3742  },
3743  { "Seagate Barracuda 7200.14 (AF)", // < 1TB, tested with ST250DM000-1BC141
3744    "ST(250|320|500|750)DM00[0-3]-.*",
3745    "", "",
3746    "-v 188,raw16 -v 240,msec24hour32"
3747  },
3748  { "Seagate Desktop HDD.15", // tested with ST4000DM000-1CD168/CC43, ST5000DM000-1FK178/CC44,
3749      // ST6000DM001-1XY17Z/CC48
3750    "ST[4568]000DM00[012]-.*",
3751    "", "",
3752    "-v 188,raw16 -v 240,msec24hour32"
3753  },
3754  { "Seagate Desktop SSHD", // tested with ST2000DX001-1CM164/CC43
3755    "ST[124]000DX001-.*",
3756    "", "",
3757    "-v 188,raw16 -v 240,msec24hour32"
3758  },
3759  { "Seagate Barracuda LP", // new firmware
3760    "ST3(500412|1000520|1500541|2000542)AS",
3761    "CC3[5-9A-Z]",
3762    "",
3763    "" // -F xerrorlba ?
3764  },
3765  { "Seagate Barracuda LP", // unknown firmware
3766    "ST3(500412|1000520|1500541|2000542)AS",
3767    "",
3768    "A firmware update for this drive may be available,\n"
3769    "see the following Seagate web pages:\n"
3770    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
3771    "http://knowledge.seagate.com/articles/en_US/FAQ/213915en",
3772    "-F xerrorlba" // tested with ST31000520AS/CC32
3773  },
3774  { "Seagate Barracuda Green (AF)", // new firmware
3775    "ST((10|15|20)00DL00[123])-.*",
3776    "CC(3[2-9A-Z]|[4-9A-Z]..*)", // >= "CC32"
3777    "", ""
3778  },
3779  { "Seagate Barracuda Green (AF)", // unknown firmware
3780    "ST((10|15|20)00DL00[123])-.*",
3781    "",
3782    "A firmware update for this drive may be available,\n"
3783    "see the following Seagate web pages:\n"
3784    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
3785    "http://knowledge.seagate.com/articles/en_US/FAQ/218171en",
3786    ""
3787  },
3788  { "Seagate Barracuda ES",
3789    "ST3(250[68]2|32062|40062|50063|75064)0NS",
3790    "", "", ""
3791  },
3792  // ST5000LM000, ST4000LM024, ST3000LM024, ST2000LM015, ST1000LM048, ST500LM030
3793  { "Seagate Barracuda 2.5 5400", // ST2000LM015-2E8174/SDM1, ST4000LM024-2AN17V/0001
3794    "ST(5000LM000|[34]000LM024|2000LM015|1000LM048|500LM030)-.*",
3795    "",
3796    "",
3797    "-v 183,raw48,SATA_Downshift_Count "
3798  },
3799  { "Seagate Barracuda ES.2", // fixed firmware
3800    "ST3(25031|50032|75033|100034)0NS",
3801    "SN[01]6|"         // http://knowledge.seagate.com/articles/en_US/FAQ/207963en
3802    "MA(0[^7]|[^0].)", // http://dellfirmware.seagate.com/dell_firmware/DellFirmwareRequest.jsp
3803    "",                //        ^^^^^^^^^^^^ down (no DNS A record)
3804    "-F xerrorlba" // tested with ST31000340NS/SN06
3805  },
3806  { "Seagate Barracuda ES.2", // buggy firmware (Dell)
3807    "ST3(25031|50032|75033|100034)0NS",
3808    "MA07",
3809    "There are known problems with these drives,\n"
3810    "AND THIS FIRMWARE VERSION IS AFFECTED,\n"
3811    "contact Dell support for a firmware update.",
3812    ""
3813  },
3814  { "Seagate Barracuda ES.2", // unknown firmware
3815    "ST3(25031|50032|75033|100034)0NS",
3816    "",
3817    "There are known problems with these drives,\n"
3818    "see the following Seagate web pages:\n"
3819    "http://knowledge.seagate.com/articles/en_US/FAQ/207931en\n"
3820    "http://knowledge.seagate.com/articles/en_US/FAQ/207963en",
3821    ""
3822  },
3823  { "Seagate Constellation (SATA)", // tested with ST9500530NS/SN03
3824    "ST9(160511|500530)NS",
3825    "", "", ""
3826  },
3827  { "Seagate Constellation ES (SATA)", // tested with ST31000524NS/SN11,
3828      // MB0500EAMZD/HPG1
3829    "ST3(50051|100052|200064)4NS|"
3830    "MB0500EAMZD", // HP OEM
3831    "", "", ""
3832  },
3833  { "Seagate Constellation ES (SATA 6Gb/s)", // tested with ST1000NM0011/SN02,
3834      // MB1000GCEEK/HPG1
3835    "ST(5|10|20)00NM0011|"
3836    "MB1000GCEEK", // HP OEM
3837    "", "", ""
3838  },
3839  { "Seagate Constellation ES.2 (SATA 6Gb/s)", // tested with ST32000645NS/0004, ST33000650NS,
3840      // MB3000EBKAB/HPG6
3841    "ST3(2000645|300065[012])NS|"
3842    "MB3000EBKAB", // HP OEM
3843    "", "", ""
3844  },
3845  { "Seagate Constellation ES.3", // tested with ST1000NM0033-9ZM173/0001,
3846      // ST4000NM0033-9ZM170/SN03, MB1000GCWCV/HPGC, MB4000GCWDC/HPGE
3847    "ST[1234]000NM00[35]3-.*|"
3848    "MB[14]000GCW(CV|DC)", // HP OEM
3849    "", "", ""
3850  },
3851  { "Seagate Constellation CS", // tested with ST3000NC000/CE02, ST3000NC002-1DY166/CN02
3852    "ST(1000|2000|3000)NC00[0-3](-.*)?",
3853    "", "", ""
3854  },
3855  { "Seagate Constellation.2 (SATA)", // 2.5", tested with ST91000640NS/SN02, MM1000GBKAL/HPGB
3856    "ST9(25061|50062|100064)[012]NS|" // *SS = SAS
3857    "MM1000GBKAL", // HP OEM
3858    "", "", ""
3859  },
3860  // ST6000NM0004, ST6000NM0024, ST6000NM0044, ST6000NM0084, ST5000NM0024,
3861  // ST5000NM0044, ST4000NM0024, ST4000NM0044, ST2000NM0024, ST2000NM0044
3862  // ST4000NM0035, ST3000NM0005, ST2000NM0055, ST1000NM0055, ST4000NM0045,
3863  // ST3000NM0015, ST2000NM0065, ST1000NM0065, ST4000NM0105, ST3000NM0055
3864  { "Seagate Enterprise Capacity 3.5 HDD", // tested with ST6000NM0024-1HT17Z/SN02,
3865      // ST10000NM0016-1TT101/SNB0
3866      // ST4000NM0085-1YY107/ZC11SXPH
3867      // ST8000NM0045-1RL112/NN02
3868      // ST6000NM0004-1FT17Z/NN01
3869      // ST4000NM0035-1V4107/TNC3
3870      // ST1000NM0055-1V410C/TN02
3871      // ST8000NM0055-1RM112/SN04
3872    "ST([1234568]|10)000NM0[01][0-68][456]-.*", // *[069]4 = 4Kn
3873    "", "", 
3874    "-v 188,raw16 -v 240,msec24hour32"
3875  },
3876  { "Seagate Enterprise Capacity 3.5 HDD", // V5.1, ms in attribute 9
3877    "ST[12]000NM0008-.*", // tested with ST1000NM0008-2F2100/SN01
3878    "", "",
3879    "-v 9,msec24hour32 -v 188,raw16 -v 240,msec24hour32"
3880  },
3881  { "Seagate Exos 5E8", // tested with ST8000AS0003-2HH188/0003
3882    "ST8000AS0003-.*",
3883    "", "",
3884    "-v 9,msec24hour32 -v 240,msec24hour32"
3885  },
3886  { "Seagate Exos X12", // tested with ST12000NM0007-2A1101/SN02
3887    "ST12000NM00[01]7-.*", // *17 = SED
3888    "", "",
3889    "-v 240,msec24hour32"
3890  },
3891  // new models: ST8000VN0002, ST6000VN0021, ST4000VN000
3892  //             ST8000VN0012, ST6000VN0031, ST4000VN003
3893  // tested with ST8000VN0002-1Z8112/ZA13YGNF
3894  { "Seagate NAS HDD", // tested with ST2000VN000-1H3164/SC42, ST3000VN000-1H4167/SC43
3895    "ST([234]000VN000|[468]000VN00(02|21|12|31|3))-.*",
3896    "", "", ""
3897  },
3898  // ST8000NE0001, ST8000NE0011, ST6000VN0001, ST6000VN0011, ST5000VN0001,
3899  // ST5000VN0011, ST4000VN0001, ST4000VN0011, ST3000VN0001, ST3000VN0011,
3900  // ST2000VN0001, ST2000VN0011
3901  // tested with ST8000NE0001-1WN112/PNA2
3902  { "Seagate Enterprise NAS HDD",
3903    "ST(8000NE|[65432]000VN)00[01]1-.*",
3904    "", "", ""
3905  },
3906  // ST10000VN0004, ST8000VN0022, ST6000VN0041, ST4000VN008, ST3000VN007,
3907  // ST2000VN004, ST1000VN002
3908  { "Seagate IronWolf", // tested with ST6000VN0041-2EL11C/SC61,
3909      // ST12000VN0007-2GS116/SC60
3910    "ST(12|10|8|6|4|3|2|1)000VN00(04|07|22|41|8|7|2|4)-.*",
3911    "", "", ""
3912  },
3913  { "Seagate IronWolf Pro", // tested with ST4000NE0025-2EW107/EN02,
3914      // ST8000NE0004-1ZF11G/EN01, ST8000NE0021-2EN112/EN02
3915    "ST([24]000NE0025|6000NE0023|8000NE00(04|08|21)|(10|12|14)000NE000[478])-.*",
3916    "", "", ""
3917  },
3918  { "Seagate Archive HDD", // tested with ST8000AS0002-1NA17Z/AR13
3919    "ST[568]000AS00[01][12]-.*",
3920    "", "", ""
3921  },
3922  { "Seagate Pipeline HD 5900.1",
3923    "ST3(160310|320[34]10|500(321|422))CS",
3924    "", "", ""
3925  },
3926  { "Seagate Pipeline HD 5900.2", // tested with ST31000322CS/SC13
3927    "ST3(160316|250[34]12|320(311|413)|500(312|414)|1000(322|424))CS",
3928    "", "", ""
3929  },
3930  { "Seagate Video 3.5 HDD", // tested with ST4000VM000-1F3168/SC23, SC25
3931    "ST(10|15|20|30|40)00VM00[023]-.*",
3932    "", "", ""
3933  },
3934  { "Seagate Medalist 17240, 13030, 10231, 8420, and 4310",
3935    "ST3(17240|13030|10231|8420|4310)A",
3936    "", "", ""
3937  },
3938  { "Seagate Medalist 17242, 13032, 10232, 8422, and 4312",
3939    "ST3(1724|1303|1023|842|431)2A",
3940    "", "", ""
3941  },
3942  { "Seagate NL35",
3943    "ST3(250623|250823|400632|400832|250824|250624|400633|400833|500641|500841)NS",
3944    "", "", ""
3945  },
3946  { "Seagate SV35.2",
3947    "ST3(160815|250820|320620|500630|750640)[AS]V",
3948    "", "", ""
3949  },
3950  { "Seagate SV35.3", // tested with ST3500320SV/SV16
3951    "ST3(500320|750330|1000340)SV",
3952    "", "", ""
3953  },
3954  { "Seagate SV35.5", // tested with ST31000525SV/CV12
3955    "ST3(250311|500410|1000525)SV",
3956    "", "", ""
3957  },
3958  // ST6000VX0001,ST6000VX0011,ST5000VX0001,ST5000VX0011,ST4000VX000
3959  // ST4000VX002, ST3000VX002, ST2000VX003, ST1000VX001, ST1000VX002
3960  // ST3000VX000, ST3000VX004, ST2000VX000, ST2000VX004, ST1000VX000
3961  { "Seagate Surveillance", // tested with ST1000VX001-1HH162/CV11, ST2000VX000-9YW164/CV12,
3962      // ST4000VX000-1F4168/CV14, ST2000VX003-1HH164/CV12
3963    "ST([1-6]000VX00[01234]1?|31000526SV|3500411SV)(-.*)?",
3964    "", "", ""
3965  },
3966  { "Seagate DB35", // tested with ST3250823ACE/3.03, ST3300831SCE/3.03
3967    "ST3(200826|250823|300831|400832)[AS]CE",
3968    "", "", ""
3969  },
3970  { "Seagate DB35.2", // tested with ST3160212SCE/3.ACB
3971    "ST3(802110|120213|160212|200827|250824|300822|400833|500841)[AS]CE",
3972    "", "", ""
3973  },
3974  { "Seagate DB35.3",
3975    "ST3(750640SCE|((80|160)215|(250|320|400)820|500830|750840)[AS]CE)",
3976    "", "", ""
3977  },
3978  { "Seagate LD25.2", // tested with ST940210AS/3.ALC
3979    "ST9(40|80)210AS?",
3980    "", "", ""
3981  },
3982  { "Seagate ST1.2 CompactFlash", // tested with ST68022CF/3.01
3983    "ST6[468]022CF",
3984    "", "", ""
3985  },
3986  { "Seagate Nytro XF1230 SATA SSD", // tested with XF1230-1A0480/ST200354
3987    "XF1230-1A(0240|0480|0960|1920)",
3988    "", "", 
3989    "-v 174,raw48,Unexpect_Power_Loss_Ct "
3990    "-v 180,raw48,End_to_End_Err_Detect "
3991    "-v 183,raw48,SATA_Downshift_Count "
3992    "-v 189,raw48,SSD_Health_Flags "
3993    "-v 190,raw48,SATA_Error_Ct "
3994    "-v 201,raw48,Read_Error_Rate "
3995    "-v 231,raw48,SSD_Life_Left_Perc "
3996    "-v 234,raw48,Lifetime_Nand_Gb "
3997    "-v 241,raw48,Total_Writes_GiB "
3998    "-v 242,raw48,Total_Reads_GiB "
3999    "-v 245,raw48,Read_Error_Rate "
4000  },
4001  { "Seagate IronWolf 110 SATA SSD", //Written to Seagate documentation
4002    "ZA(240|480|960|1920|3840)NM10001",
4003    "", "",
4004    //"-v 1,raw48,Raw_Read_Error_Rate "
4005    //"-v 5,raw48,Reallocated_Sector_Ct "
4006    //"-v 9,raw48,Power_On_Hours "
4007    //"-v 12,raw48,Drive_Power_Cycle_Ct "
4008    "-v 100,raw48,Flash_GB_Erased "
4009    "-v 102,raw48,Lifetime_PS4_Entry_Ct "
4010    "-v 103,raw48,Lifetime_PS3_Exit_Ct "
4011    "-v 170,raw48,Grown_Bad_Block_Ct "
4012    "-v 171,raw48,Program_Fail_Count "
4013    "-v 172,raw48,Erase_Fail_Count "
4014    "-v 173,raw48,Avg_Program/Erase_Ct "
4015    "-v 174,raw48,Unexpected_Pwr_Loss_Ct "
4016    "-v 177,raw16,Wear_Range_Delta "
4017    "-v 183,hex56,SATA_Downshift_Count "
4018    "-v 187,raw48,Uncorrectable_ECC_Ct "
4019    //"-v 194,tempminmax,Primary_Temperature "
4020    "-v 195,raw16(raw16),RAISE_ECC_Cor_Ct "
4021    "-v 198,raw48,Uncor_Read_Error_Ct "
4022    //"-v 199,raw48,SATA_R-Err_(CRC)_Err_Ct "
4023    "-v 230,raw56,Drv_Life_Protect_Status "
4024    "-v 231,hex56,SSD_Life_Left "
4025    //"-v 232,raw48,Available_Rsrvd_Space "
4026    "-v 233,raw48,Lifetime_Wts_To_Flsh_GB "
4027    "-v 241,raw48,Lifetime_Wts_Frm_Hst_GB "
4028    "-v 242,raw48,Lifetime_Rds_Frm_Hst_GB "
4029    "-v 243,hex56,Free_Space "
4030  },
4031  { "Seagate Nytro SATA SSD", //Written to Seagate documentation
4032    // tested with XA960LE10063, XA960LE10063
4033    "XA(240|480|960|1920|3840)[LM]E10(00|02|04|06|08|10)3",
4034    "", "",
4035    //"-v 1,raw48,Raw_Read_Error_Rate "
4036    //"-v 5,raw48,Reallocated_Sector_Ct "
4037    //"-v 9,raw48,Power_On_Hours "
4038    //"-v 12,raw48,Drive_Power_Cycle_Ct "
4039    "-v 100,raw48,Flash_GB_Erased "
4040    "-v 102,raw48,Lifetime_PS4_Entry_Ct "
4041    "-v 103,raw48,Lifetime_PS3_Exit_Ct "
4042    "-v 170,raw48,Grown_Bad_Block_Ct "
4043    "-v 171,raw48,Program_Fail_Count "
4044    "-v 172,raw48,Erase_Fail_Count "
4045    "-v 173,raw48,Avg_Program/Erase_Ct "
4046    "-v 174,raw48,Unexpected_Pwr_Loss_Ct "
4047    "-v 177,raw16,Wear_Range_Delta "
4048    "-v 183,hex56,SATA_Downshift_Count "
4049    "-v 187,raw48,Uncorrectable_ECC_Ct "
4050    //"-v 194,tempminmax,Primary_Temperature "
4051    "-v 195,raw16(raw16),RAISE_ECC_Cor_Ct "
4052    "-v 198,raw48,Uncor_Read_Error_Ct "
4053    //"-v 199,raw48,SATA_R-Err_(CRC)_Err_Ct "
4054    "-v 230,raw56,Drv_Life_Protect_Status "
4055    "-v 231,hex56,SSD_Life_Left "
4056    //"-v 232,raw48,Available_Rsrvd_Space "
4057    "-v 233,raw48,Lifetime_Wts_To_Flsh_GB "
4058    "-v 241,raw48,Lifetime_Wts_Frm_Hst_GB "
4059    "-v 242,raw48,Lifetime_Rds_Frm_Hst_GB "
4060    "-v 243,hex56,Free_Space "
4061  },
4062  { "WD Blue and Green SSDs", // tested with WDC WDS250G1B0A-00H9H0/X41000WD,
4063      // WDC WDS250G1B0A-00H9H0/X41100WD, WDC WDS100T1B0A-00H9H0,
4064      // WDC WDS120G2G0A-00JH30/UE360000, WDC WDS240G2G0A-00JH30/UF300000,
4065      // WDC WDS500G2B0A-00SM50/X61130WD, WDC WDS200T2B0A-00SM50/X61130WD
4066    "WDC WDS((120|240|250|480|500)G|[12]00T)(1B|2B|2G)0[AB]-.*", // *1B* = Blue, *2G* = Green, *2B* = Blue 3D NAND
4067    "", "",
4068  //"-v 5,raw48,Reallocated_Sector_Ct " // Reassigned Block Count
4069  //"-v 9,raw48,Power_On_Hours "
4070  //"-v 12,raw48,Power_Cycle_Count "
4071    "-v 165,raw48,Block_Erase_Count "
4072    "-v 166,raw48,Minimum_PE_Cycles_TLC "
4073    "-v 167,raw48,Max_Bad_Blocks_per_Die "
4074    "-v 168,raw48,Maximum_PE_Cycles_TLC "
4075    "-v 169,raw48,Total_Bad_Blocks "
4076    "-v 170,raw48,Grown_Bad_Blocks "
4077    "-v 171,raw48,Program_Fail_Count "
4078    "-v 172,raw48,Erase_Fail_Count "
4079    "-v 173,raw48,Average_PE_Cycles_TLC "
4080    "-v 174,raw48,Unexpected_Power_Loss "
4081  //"-v 184,raw48,End-to-end_Error " // Detection/Correction Count
4082  //"-v 187,raw48,Reported_Uncorrect " // Uncorrectable Errors
4083  //"-v 188,raw48,Command_Timeout
4084  //"-v 194,tempminmax,Temperature_Celsius "
4085  //"-v 199,raw48,UDMA_CRC_Error_Count  // SATA CRC Errors
4086    "-v 230,hex48,Media_Wearout_Indicator " // Maybe hex16
4087  //"-v 232,raw48,Available_Reserve_Space"
4088    "-v 233,raw48,NAND_GB_Written_TLC "
4089    "-v 234,raw48,NAND_GB_Written_SLC "
4090    "-v 241,raw48,Total_Host_GB_Written "
4091    "-v 242,raw48,Total_Host_GB_Read "
4092    "-v 244,raw48,Temp_Throttle_Status "
4093  },
4094  { "Western Digital Protege",
4095  /* Western Digital drives with this comment all appear to use Attribute 9 in
4096   * a  non-standard manner.  These entries may need to be updated when it
4097   * is understood exactly how Attribute 9 should be interpreted.
4098   * UPDATE: this is probably explained by the WD firmware bug described in the
4099   * smartmontools FAQ */
4100    "WDC WD([2468]00E|1[26]00A)B-.*",
4101    "", "", ""
4102  },
4103  { "Western Digital Caviar",
4104  /* Western Digital drives with this comment all appear to use Attribute 9 in
4105   * a  non-standard manner.  These entries may need to be updated when it
4106   * is understood exactly how Attribute 9 should be interpreted.
4107   * UPDATE: this is probably explained by the WD firmware bug described in the
4108   * smartmontools FAQ */
4109    "WDC WD(2|3|4|6|8|10|12|16|18|20|25)00BB-.*",
4110    "", "", ""
4111  },
4112  { "Western Digital Caviar WDxxxAB",
4113  /* Western Digital drives with this comment all appear to use Attribute 9 in
4114   * a  non-standard manner.  These entries may need to be updated when it
4115   * is understood exactly how Attribute 9 should be interpreted.
4116   * UPDATE: this is probably explained by the WD firmware bug described in the
4117   * smartmontools FAQ */
4118    "WDC WD(3|4|6|8|25)00AB-.*",
4119    "", "", ""
4120  },
4121  { "Western Digital Caviar WDxxxAA",
4122  /* Western Digital drives with this comment all appear to use Attribute 9 in
4123   * a  non-standard manner.  These entries may need to be updated when it
4124   * is understood exactly how Attribute 9 should be interpreted.
4125   * UPDATE: this is probably explained by the WD firmware bug described in the
4126   * smartmontools FAQ */
4127    "WDC WD...?AA(-.*)?",
4128    "", "", ""
4129  },
4130  { "Western Digital Caviar WDxxxBA",
4131  /* Western Digital drives with this comment all appear to use Attribute 9 in
4132   * a  non-standard manner.  These entries may need to be updated when it
4133   * is understood exactly how Attribute 9 should be interpreted.
4134   * UPDATE: this is probably explained by the WD firmware bug described in the
4135   * smartmontools FAQ */
4136    "WDC WD...BA",
4137    "", "", ""
4138  },
4139  { "Western Digital Caviar AC", // add only 5400rpm/7200rpm (ata33 and faster)
4140    "WDC AC((116|121|125|225|132|232)|([1-4][4-9][0-9])|([1-4][0-9][0-9][0-9]))00[A-Z]?.*",
4141    "", "", ""
4142  },
4143  { "Western Digital Caviar SE",
4144  /* Western Digital drives with this comment all appear to use Attribute 9 in
4145   * a  non-standard manner.  These entries may need to be updated when it
4146   * is understood exactly how Attribute 9 should be interpreted.
4147   * UPDATE: this is probably explained by the WD firmware bug described in the
4148   * smartmontools FAQ
4149   * UPDATE 2: this does not apply to more recent models, at least WD3200AAJB */
4150    "WDC WD(4|6|8|10|12|16|18|20|25|30|32|40|50)00(JB|PB)-.*",
4151    "", "", ""
4152  },
4153  { "Western Digital Caviar Blue EIDE",  // WD Caviar SE EIDE
4154    /* not completely accurate: at least also WD800JB, WD(4|8|20|25)00BB sold as Caviar Blue */
4155    "WDC WD(16|25|32|40|50)00AAJB-.*",
4156    "", "", ""
4157  },
4158  { "Western Digital Caviar Blue EIDE",  // WD Caviar SE16 EIDE
4159    "WDC WD(25|32|40|50)00AAKB-.*",
4160    "", "", ""
4161  },
4162  { "Western Digital RE EIDE",
4163    "WDC WD(12|16|25|32)00SB-.*",
4164    "", "", ""
4165  },
4166  { "Western Digital Caviar Serial ATA",
4167    "WDC WD(4|8|20|32)00BD-.*",
4168    "", "", ""
4169  },
4170  { "Western Digital Caviar SE Serial ATA", // tested with WDC WD3000JD-98KLB0/08.05J08
4171    "WDC WD(4|8|12|16|20|25|30|32|40)00(JD|KD|PD)-.*",
4172    "", "", ""
4173  },
4174  { "Western Digital Caviar SE Serial ATA",
4175    "WDC WD(8|12|16|20|25|30|32|40|50)00JS-.*",
4176    "", "", ""
4177  },
4178  { "Western Digital Caviar SE16 Serial ATA",
4179    "WDC WD(16|20|25|32|40|50|75)00KS-.*",
4180    "", "", ""
4181  },
4182  { "Western Digital Caviar Blue Serial ATA",  // WD Caviar SE Serial ATA
4183    /* not completely accurate: at least also WD800BD, (4|8)00JD sold as Caviar Blue */
4184    "WDC WD((8|12|16|25|32)00AABS|(8|12|16|25|32|40|50)00AAJS)-.*",
4185    "", "", ""
4186  },
4187  { "Western Digital Caviar Blue (SATA)",  // WD Caviar SE16 Serial ATA
4188      // tested with WD1602ABKS-18N8A0/DELL/02.03B04
4189    "WDC WD((16|20|25|32|40|50|64|75)00AAKS|1602ABKS|10EALS)-.*",
4190    "", "", ""
4191  },
4192  { "Western Digital Blue", // tested with WDC WD5000AZLX-00K4KA0/80.00A80,
4193      // WDC WD10EZEX-00RKKA0/80.00A80, WDC WD10EZEX-75M2NA0/01.01A01, WDC WD40EZRZ-00WN9B0/80.00A80
4194    "WDC WD((25|32|50)00AAKX|5000AZ(LX|RZ)|7500A(AL|ZE)X|10E(AL|ZE)X|[1-6]0EZRZ)-.*",
4195    "", "", ""
4196  },
4197  { "Western Digital RE Serial ATA",
4198    "WDC WD(12|16|25|32)00(SD|YD|YS)-.*",
4199    "", "", ""
4200  },
4201  { "Western Digital RE2 Serial ATA",
4202    "WDC WD((40|50|75)00(YR|YS|AYYS)|(16|32|40|50)0[01]ABYS)-.*",
4203    "", "", ""
4204  },
4205  { "Western Digital RE2-GP",
4206    "WDC WD(5000AB|7500AY|1000FY)PS-.*",
4207    "", "", ""
4208  },
4209  { "Western Digital RE3 Serial ATA", // tested with WDC WD7502ABYS-02A6B0/03.00C06
4210    "WDC WD((25|32|50|75)02A|(75|10)02F)BYS-.*",
4211    "", "", ""
4212  },
4213  { "Western Digital RE4", // tested with WDC WD2003FYYS-18W0B0/01.01D02,
4214      // WDC WD1003FBYZ-010FB0/01.01V03
4215      // WDC WD5003ABYZ-011FA0/01.01S03
4216    "WDC WD((25|50)03ABY[XZ]|1003FBY[XZ]|(15|20)03FYYS)-.*",
4217    "", "", ""
4218  },
4219  { "Western Digital RE4-GP", // tested with WDC WD2002FYPS-02W3B0/04.01G01,
4220      // WD2003FYPS-27W9B0/01.01D02
4221    "(WDC )?WD200[23]FYPS-.*",
4222    "", "", ""
4223  },
4224  { "Western Digital Re", // tested with WDC WD1004FBYZ-01YCBB0/RR02,
4225      // WDC WD2000FYYZ-01UL1B0/01.01K01, WDC WD2000FYYZ-01UL1B1/01.01K02,
4226      // WDC WD4000FYYZ-01UL1B2/01.01K03, WD2000FYYX/00.0D1K2,
4227      // WDC WD1004FBYZ-01YCBB1/RR04
4228      // WD4000FYYZ, WD4000FDYZ, WD3000FYYZ, WD3000FDYZ, WD2000FYYZ, WD2000FDYZ
4229      // WD2004FBYZ, WD1004FBYZ
4230    "WDC WD((1004|2004)FBYZ|([234]000)FDYZ|[234]000FYYZ|2000FYYX)-.*",
4231    "", "",
4232    "-v 16,raw48,Total_LBAs_Read" // WDC WD1004FBYZ-01YCBB1/RR04
4233  },
4234  { "Western Digital Se", // tested with WDC WD2000F9YZ-09N20L0/01.01A01
4235    // WD6001F9YZ, WD5001F9YZ, WD4000F9YZ, WD3000F9YZ, WD2000F9YZ, WD1002F9YZ
4236    "WDC WD(1002|2000|3000|4000|5001|6001)F9YZ-.*",
4237    "", "", ""
4238  },
4239  { "Western Digital Caviar Green", // tested with WDC WD7500AADS-00M2B0/01.00A01,
4240       // WDC WD10EADX/77.04D77
4241    "WDC WD((50|64|75)00AA[CV]S|(50|64|75)00AADS|10EA[CV]S|(10|15|20)EAD[SX])-.*",
4242    "",
4243    "",
4244    "-F xerrorlba" // tested with WDC WD7500AADS-00M2B0/01.00A01
4245  },
4246  { "Western Digital Caviar Green (AF)",
4247    "WDC WD(((64|75|80)00AA|(10|15|20)EA|(25|30)EZ)R|20EAC)S-.*",
4248    "", "", ""
4249  },
4250  { "Western Digital Green", // tested with
4251      // WDC WD10EZRX-00A8LB0/01.01A01, WDC WD20EZRX-00DC0B0/80.00A80,
4252      // WDC WD30EZRX-00MMMB0/80.00A80, WDC WD40EZRX-00SPEB0/80.00A80,
4253      // WDC WD60EZRX-00MVLB1/80.00A80
4254    "WDC WD(7500AA|(10|15|20)EA|(10|20|25|30|40|50|60)EZ)RX-.*",
4255    "", "", ""
4256  },
4257  { "Western Digital Caviar Black", // tested with WDC WD7501AAES/06.01D06
4258    "WDC WD((500|640)1AAL|7501AA[EL]|1001FA[EL]|2001FAS)S-.*|"
4259    "WDC WD(2002|7502|1502|5003|1002|5002)(FAE|AAE|AZE|AAL)X-.*", // could be
4260    // WD2002FAEX, WD7502AAEX, WD1502FAEX, WD5003AZEX, WD1002FAEX, WD5002AALX
4261    "", "", ""
4262  },
4263  { "Western Digital Black", // tested with
4264      // WDC WD1003FZEX-00MK2A0/01.01A01, WDC WD3001FAEX-00MJRA0/01.01L01,
4265      // WDC WD3003FZEX-00Z4SA0/01.01A01, WDC WD4001FAEX-00MJRA0/01.01L01
4266      // WDC WD4003FZEX-00Z4SA0/01.01A01, WDC WD5003AZEX-00RKKA0/80.00A80,
4267      // WDC WD4004FZWX-00GBGB0/81.H0A81
4268    "WDC WD(6001|2003|5001|1003|4003|4004|5003|3003|3001)(FZW|FZE|AZE)X-.*|" // could be
4269    // new series  WD6001FZWX WD2003FZEX WD5001FZWX WD1003FZEX
4270    //             WD4003FZEX WD5003AZEX WD3003FZEX WD4004FZWX
4271    "WDC WD(4001|3001|2002|1002|5003|7500|5000|3200|2500|1600)(FAE|AZE)X-.*",
4272    // old series: WD4001FAEX WD3001FAEX WD2002FAEX WD1002FAEX  WD5003AZEX
4273    "", "", ""
4274  },
4275  { "Western Digital AV ATA", // tested with WDC WD3200AVJB-63J5A0/01.03E01
4276    "WDC WD(8|16|25|32|50)00AV[BJ]B-.*",
4277    "", "", ""
4278  },
4279  { "Western Digital AV SATA",
4280    "WDC WD(16|25|32)00AVJS-.*",
4281    "", "", ""
4282  },
4283  { "Western Digital AV-GP",
4284    "WDC WD((16|25|32|50|64|75)00AV[CDV]S|(10|15|20)EV[CDV]S)-.*",
4285    "", "", ""
4286  },
4287  { "Western Digital AV-GP (AF)", // tested with WDC WD10EURS-630AB1/80.00A80,
4288      // WDC WD10EUCX-63YZ1Y0/51.0AB52, WDC WD20EURX-64HYZY0/80.00A80
4289    "WDC WD(5000AUDX|7500AURS|10EUCX|(10|15|20|25|30)EUR[SX])-.*",
4290    "", "", ""
4291  },
4292  { "Western Digital AV", // tested with DC WD10JUCT-63CYNY0/01.01A01
4293    "WDC WD((16|25|32|50)00BU[CD]|5000LUC|10JUC)T-.*",
4294    "", "", ""
4295  },
4296  { "Western Digital Raptor",
4297    "WDC WD((360|740|800)GD|(360|740|800|1500)ADF[DS])-.*",
4298    "", "", ""
4299  },
4300  { "Western Digital Raptor X",
4301    "WDC WD1500AHFD-.*",
4302    "", "", ""
4303  },
4304  { "Western Digital VelociRaptor", // tested with WDC WD1500HLHX-01JJPV0/04.05G04
4305    "WDC WD(((800H|(1500|3000)[BH]|1600H|3000G)LFS)|((1500|3000|4500|6000)[BH]LHX))-.*",
4306    "", "", ""
4307  },
4308  { "Western Digital VelociRaptor (AF)", // tested with WDC WD1000DHTZ-04N21V0/04.06A00
4309    "WDC WD(2500H|5000B|5000H|1000D)HTZ-.*",
4310    "", "", ""
4311  },
4312  { "Western Digital Scorpio EIDE",
4313    "WDC WD(4|6|8|10|12|16)00(UE|VE)-.*",
4314    "", "", ""
4315  },
4316  { "Western Digital Scorpio Blue EIDE", // tested with WDC WD3200BEVE-00A0HT0/11.01A11
4317    "WDC WD(4|6|8|10|12|16|25|32)00BEVE-.*",
4318    "", "", ""
4319  },
4320  { "Western Digital Scorpio Serial ATA",
4321    "WDC WD(4|6|8|10|12|16|25)00BEAS-.*",
4322    "", "", ""
4323  },
4324  { "Western Digital Scorpio Blue Serial ATA",
4325    "WDC WD((4|6|8|10|12|16|25)00BEVS|(8|12|16|25|32|40|50|64)00BEVT|7500KEVT|10TEVT)-.*",
4326    "", "", ""
4327  },
4328  { "Western Digital Scorpio Blue Serial ATA (AF)", // tested with
4329      // WDC WD10JPVT-00A1YT0/01.01A01
4330    "WDC WD((16|25|32|50|64|75)00BPVT|10[JT]PVT)-.*",
4331    "", "", ""
4332  },
4333  { "Western Digital Scorpio Black", // tested with WDC WD5000BEKT-00KA9T0/01.01A01
4334    "WDC WD(8|12|16|25|32|50)00B[EJ]KT-.*",
4335    "", "", ""
4336  },
4337  { "Western Digital Scorpio Black (AF)",
4338    "WDC WD(50|75)00BPKT-.*",
4339    "", "", ""
4340  },
4341  { "Western Digital Red", // tested with WDC WD10EFRX-68JCSN0/01.01A01,
4342      // WDC WD10JFCX-68N6GN0/01.01A01, WDC WD30EFRX-68EUZN0/82.00A82,
4343      // WDC WD40EFRX-68WT0N0/80.00A80, WDC WD60EFRX-68MYMN1/82.00A82,
4344      // WDC WD80EFAX-68LHPN0/83.H0A83, WDC WD80EFZX-68UW8N0/83.H0A83,
4345      // WDC WD80EZZX-11CSGA0/83.H0A03 (My Book 0x1058:0x25ee)
4346    "WDC WD(7500BFC|10JFC|[1-6]0EFR|80E[FZ][AZ])X-.*",
4347    "", "",
4348    "-v 22,raw48,Helium_Level" // WD80EFZX
4349  },
4350  { "Western Digital Red Pro", // tested with WDC WD2001FFSX-68JNUN0/81.00A81,
4351      // WDC WD6002FFWX-68TZ4N0/83.H0A83
4352    "WDC WD([2-68]00[12])FF[SW]X-.*",
4353    "", "", ""
4354  },
4355  { "Western Digital Purple", // tested with WDC WD40PURX-64GVNY0/80.00A80
4356    "WDC WD[123456]0PURX-.*",
4357    "", "", ""
4358  },
4359  { "Western Digital Gold", // tested with WDC WD1005FBYZ-01YCBB2/RR07,
4360      // WDC WD2005FBYZ-01YCBB2/RR07, WDC WD4002FYYZ-01B7CB0/01.01M02,
4361      // WDC WD8003FRYZ-01JPDB1/01.01H02, WDC WD121KRYZ-01W0RB0/01.01H01
4362    "WDC WD([12]005FB|4002FY|6002FR|800[23]FR|1[02]1KR)YZ-.*",
4363    "", "",
4364    "-v 22,raw48,Helium_Level" // WD121KRYZ
4365  },
4366  { "Western Digital Blue Mobile", // tested with WDC WD5000LPVX-08V0TT2/03.01A03,
4367      // WDC WD20NPVZ-00WFZT0/01.01A01
4368    "WDC WD((25|32|50|75)00[BLM]|10[JS]|20N)P[CV][TXZ]-.*",
4369    "", "", ""
4370  },
4371  { "Western Digital Green Mobile", // tested with WDC WD20NPVX-00EA4T0/01.01A01
4372    "WDC WD(15|20)NPV[TX]-.*",
4373    "", "", ""
4374  },
4375  { "Western Digital Black Mobile", // tested with WDC WD7500BPKX-22HPJT0/01.01A01,
4376      // WDC WD10JPLX-00MBPT0/01.01H01
4377    "WDC WD((16|25|32)00BEK[TX]|(25|32|50|75)00(BPK|LPL)X|10JPLX)-.*",
4378    "", "", ""
4379  },
4380  { "Western Digital Elements / My Passport (USB)", // tested with WDC WD5000BMVW-11AMCS0/01.01A01
4381    "WDC WD(25|32|40|50)00BMV[UVW]-.*",  // *W-* = USB 3.0
4382    "", "", ""
4383  },
4384  { "Western Digital Elements / My Passport (USB, AF)", // tested with
4385      // WDC WD5000KMVV-11TK7S1/01.01A01,
4386      // WDC WD5000LMVW-11CKRS0/01.01A01 (0x1058:0x07ae),
4387      // WDC WD5000LMVW-11VEDS0/01.01A01 (0x1058:0x0816),
4388      // WDC WD7500BMVW-11AJGS2/01.01A01,
4389      // WDC WD10JMVW-11AJGS2/01.01A01 (0x1058:0x10b8),
4390      // WDC WD10JMVW-11AJGS4/01.01A01 (0x1058:0x25a0/25a2),
4391      // WDC WD10JMVW-11S5XS1/01.01A01,
4392      // WDC WD10TMVW-11ZSMS5/01.01A01,
4393      // WDC WD20NMVW-11AV3S2/01.01A01 (0x1058:0x0822),
4394      // WDC WD20NMVW-11AV3S3/01.01A01 (0x1058:0x0837),
4395      // WDC WD20NMVW-11EDZS6/01.01A01 (0x1058-0x259f),
4396      // WDC WD20NMVW-11EDZS7/01.01A01 (0x1058:0x259d/25a1),
4397      // WDC WD20NMVW-11W68S0/01.01A01,
4398      // WDC WD20NMVW-59AV3S3/01.01A01 (0x1058:0x107d),
4399      // WDC WD30NMVW-11C3NS4/01.01A01,
4400      // WDC WD40NMZW-11GX6S1/01.01A01 (0x1058:0x2599/25e2/25fa)
4401    "WDC WD(5000[LK]|7500[BK]|10[JT]|[234]0N)M[VZ][VW]-.*", // *W-* = USB 3.0
4402    "", "", ""
4403  },
4404  { "Quantum Bigfoot", // tested with TS10.0A/A21.0G00, TS12.7A/A21.0F00
4405    "QUANTUM BIGFOOT TS(10\\.0|12\\.7)A",
4406    "", "", ""
4407  },
4408  { "Quantum Fireball lct15",
4409    "QUANTUM FIREBALLlct15 ([123]0|22)",
4410    "", "", ""
4411  },
4412  { "Quantum Fireball lct20",
4413    "QUANTUM FIREBALLlct20 [1234]0",
4414    "", "", ""
4415  },
4416  { "Quantum Fireball CX",
4417    "QUANTUM FIREBALL CX10.2A",
4418    "", "", ""
4419  },
4420  { "Quantum Fireball CR",
4421    "QUANTUM FIREBALL CR(4.3|6.4|8.4|13.0)A",
4422    "", "", ""
4423  },
4424  { "Quantum Fireball EX", // tested with QUANTUM FIREBALL EX10.2A/A0A.0D00
4425    "QUANTUM FIREBALL EX(3\\.2|6\\.4|10\\.2)A",
4426    "", "", ""
4427  },
4428  { "Quantum Fireball ST",
4429    "QUANTUM FIREBALL ST(3.2|4.3|4300)A",
4430    "", "", ""
4431  },
4432  { "Quantum Fireball SE",
4433    "QUANTUM FIREBALL SE4.3A",
4434    "", "", ""
4435  },
4436  { "Quantum Fireball Plus LM",
4437    "QUANTUM FIREBALLP LM(10.2|15|20.[45]|30)",
4438    "", "", ""
4439  },
4440  { "Quantum Fireball Plus AS",
4441    "QUANTUM FIREBALLP AS(10.2|20.5|30.0|40.0|60.0)",
4442    "", "", ""
4443  },
4444  { "Quantum Fireball Plus KX",
4445    "QUANTUM FIREBALLP KX27.3",
4446    "", "", ""
4447  },
4448  { "Quantum Fireball Plus KA",
4449    "QUANTUM FIREBALLP KA(9|10).1",
4450    "", "", ""
4451  },
4452
4453  ////////////////////////////////////////////////////
4454  // USB ID entries
4455  ////////////////////////////////////////////////////
4456
4457  // 0x0080 (JMicron/Toshiba ?)
4458  { "USB: ; JMicron JMS578",
4459    "0x0080:0x0578",
4460    "", // 0x0104
4461    "",
4462    "-d sat"
4463  },
4464  { "USB: ; ",
4465    "0x0080:0xa001",
4466    "", // ORICO 2588US3: 0x0101, 0x0203
4467    "",
4468    "-d sat"
4469  },
4470  // 0x0350 (?)
4471  { "USB: ViPowER USB3.0 Storage; ",
4472    "0x0350:0x0038",
4473    "", // 0x1905
4474    "",
4475    "-d sat,12" // ATA output registers missing
4476  },
4477  // Hewlett-Packard
4478  { "USB: HP Desktop HD BD07; ", // 2TB
4479    "0x03f0:0xbd07",
4480    "",
4481    "",
4482    "-d sat"
4483  },
4484  // ALi
4485  { "USB: ; ALi M5621", // USB->PATA
4486    "0x0402:0x5621",
4487    "",
4488    "",
4489    "" // unsupported
4490  },
4491  // VIA
4492  { "USB: Connectland BE-USB2-35BP-LCM; VIA VT6204",
4493    "0x040d:0x6204",
4494    "",
4495    "",
4496    "" // unsupported
4497  },
4498  // Buffalo / Melco
4499  { "USB: Buffalo JustStore Portable HD-PVU2; ",
4500    "0x0411:0x0181",
4501    "",
4502    "",
4503    "-d sat"
4504  },
4505  { "USB: Buffalo Drivestation Duo; ",
4506    "0x0411:0x01ce",
4507    "",
4508    "",
4509    "-d sat"
4510  },
4511  { "USB: Buffalo DriveStation HD-LBU2 ; Medialogic MLDU11",
4512    "0x0411:0x01ea",
4513    "",
4514    "",
4515    "-d sat"
4516  },
4517  { "USB: Buffalo; ",
4518    "0x0411:0x0(1[df]9|1e7|240|251|27e)", // 0x01d9: HD-PCTU2 (0x0108), 0x01e7: HD-PNTU3,
4519      // 0x01f9: HD-PZU3 (0x0100), 0x0240: HD-PCFU3, 0x0251: HD-PNFU3, 0x027e: HD-LC3
4520    "",
4521    "",
4522    "-d sat"
4523  },
4524  // LG Electronics
4525  { "USB: LG Mini HXD5; JMicron",
4526    "0x043e:0x70f1",
4527    "", // 0x0100
4528    "",
4529    "-d usbjmicron"
4530  },
4531  // Hitachi (?)
4532  { "USB: ; Renesas uPD720231A", // USB2/3->SATA
4533    // 0x0229: Pi-102 Raspberry Pi USB to mSATA Converter Board
4534    // 0x022a: DeLock 62652 converter SATA 6GB/s > USB 3.0
4535    "0x045b:0x022[9a]",
4536    "",
4537    "",
4538    "-d sat"
4539  },
4540  // Philips
4541  { "USB: Philips; ", // SDE3273FC/97 2.5" SATA HDD enclosure
4542    "0x0471:0x2021",
4543    "", // 0x0103
4544    "",
4545    "-d sat"
4546  },
4547  // Toshiba
4548  { "USB: Toshiba Canvio 500GB; SunPlus",
4549    "0x0480:0xa004",
4550    "",
4551    "",
4552    "-d usbsunplus"
4553  },
4554  { "USB: Toshiba; ",
4555    "0x0480:0x....",
4556    "",
4557    "",
4558    "-d sat"
4559  },
4560  // Cypress
4561  { "USB: ; Cypress CY7C68300A (AT2)",
4562    "0x04b4:0x6830",
4563    "0x0001",
4564    "",
4565    "" // unsupported
4566  },
4567  { "USB: ; Cypress CY7C68300B/C (AT2LP)",
4568    "0x04b4:0x6830",
4569    "0x0240",
4570    "",
4571    "-d usbcypress"
4572  },
4573  // Fujitsu
4574  { "USB: Fujitsu/Zalman ZM-VE300; ", // USB 3.0
4575    "0x04c5:0x2028",
4576    "", // 0x0001
4577    "",
4578    "-d sat"
4579  },
4580  { "USB: ; Fujitsu", // DeLock 42475, USB 3.0
4581    "0x04c5:0x201d",
4582    "", // 0x0001
4583    "",
4584    "-d sat"
4585  },
4586  // Myson Century
4587  { "USB: ; Myson Century CS8818",
4588    "0x04cf:0x8818",
4589    "", // 0xb007
4590    "",
4591    "" // unsupported
4592  },
4593  // Samsung
4594  { "USB: Samsung S2 Portable; JMicron",
4595    "0x04e8:0x1f0[568a]", // 0x1f0a: SAMSUNG HN-M101XBB
4596    "",
4597    "",
4598    "-d usbjmicron" // 0x1f0a: works also with "-d sat"
4599  },
4600  { "USB: Samsung S1 Portable; JMicron",
4601    "0x04e8:0x2f03",
4602    "",
4603    "",
4604    "-d usbjmicron"
4605  },
4606  { "USB: Samsung Story Station; ",
4607    "0x04e8:0x5f0[56]",
4608    "",
4609    "",
4610    "-d sat"
4611  },
4612  { "USB: Samsung G2 Portable; JMicron",
4613    "0x04e8:0x6032",
4614    "0x0000",
4615    "",
4616    "-d usbjmicron" // ticket #132
4617  },
4618  { "USB: Samsung G2 Portable; ",
4619    "0x04e8:0x6032",
4620    "0x...[1-9]", // >= 0x0001
4621    "",
4622    "-d sat"
4623  },
4624  { "USB: Samsung Story Station 3.0; ",
4625    "0x04e8:0x6052",
4626    "",
4627    "",
4628    "-d sat"
4629  },
4630  { "USB: Samsung Story Station 3.0; ",
4631    "0x04e8:0x6054",
4632    "",
4633    "",
4634    "-d sat"
4635  },
4636  { "USB: Samsung M2 Portable 3.0; ",
4637    "0x04e8:0x60c5",
4638    "",
4639    "",
4640    "-d sat"
4641  },
4642  { "USB: Samsung D3 Station; ",
4643    "0x04e8:0x612[45]", // 3TB, 4TB
4644    "", // 0x200, 0x202
4645    "",
4646    "-d sat"
4647  },
4648  { "USB: Samsung M3 Portable USB 3.0; ", // 1.5/2TB: SpinPoint M9TU
4649    "0x04e8:0x61b[3456]", // 500MB, 2TB, 1.5TB, 1TB
4650    "", // 0x0e00
4651    "",
4652    "-d sat"
4653  },
4654  { "USB: Samsung S3 Portable; ",
4655    "0x04e8:0x61c8", // ST1000LM025 HN-M101ABB
4656    "", // 0x1301
4657    "",
4658    "-d sat"
4659  },
4660  { "USB: Samsung Portable SSD T5; ",
4661    "0x04e8:0x61f5",
4662    "", // 0x0100
4663    "",
4664    "-d sat"
4665  },
4666  // Sunplus
4667  { "USB: ; SunPlus",
4668    "0x04fc:0x0c05",
4669    "",
4670    "",
4671    "-d usbsunplus"
4672  },
4673  { "USB: ; SunPlus SPDIF215",
4674    "0x04fc:0x0c15",
4675    "", // 0xf615
4676    "",
4677    "-d usbsunplus"
4678  },
4679  { "USB: ; SunPlus SPDIF225", // USB+SATA->SATA
4680    "0x04fc:0x0c25",
4681    "", // 0x0103
4682    "",
4683    "-d usbsunplus"
4684  },
4685  // Iomega
4686  { "USB: Iomega Prestige Desktop USB 3.0; ",
4687    "0x059b:0x0070",
4688    "", // 0x0004
4689    "",
4690    "-d sat" // ATA output registers missing
4691  },
4692  { "USB: Iomega LPHD080-0; ",
4693    "0x059b:0x0272",
4694    "",
4695    "",
4696    "-d usbcypress"
4697  },
4698  { "USB: Iomega MDHD500-U; JMicron",
4699    "0x059b:0x0274",
4700    "", // 0x0000
4701    "",
4702    "-d usbjmicron,0"
4703  },
4704  { "USB: Iomega MDHD500-U; ",
4705    "0x059b:0x0275",
4706    "", // 0x0001
4707    "",
4708    "" // unsupported
4709  },
4710  { "USB: Iomega; JMicron",
4711    "0x059b:0x027[78]",  // 0x0277: MDHD-UE, 0x0278: LDHD-UPS
4712    "", // 0x0000
4713    "",
4714    "-d usbjmicron"
4715  },
4716  { "USB: Iomega LDHD-UP; Sunplus",
4717    "0x059b:0x0370",
4718    "",
4719    "",
4720    "-d usbsunplus"
4721  },
4722  { "USB: Iomega; JMicron",
4723    "0x059b:0x0(47[05]|57[15])", // 0x0470: LPHD-UP, 0x0475: GDHDU2 (0x0100),
4724      // 0x0575: LDHD-UP
4725    "",
4726    "",
4727    "-d usbjmicron"
4728  },
4729  { "USB: Iomega; JMicron",
4730    "0x059b:0x047a",
4731    "", // 0x0100
4732    "",
4733    "-d sat" // works also with "-d usbjmicron"
4734  },
4735  // LaCie
4736  { "USB: LaCie hard disk (FA Porsche design);",
4737    "0x059f:0x0651",
4738    "",
4739    "",
4740    "" // unsupported
4741  },
4742  { "USB: LaCie d2 Quadra; Oxford OXUF934SSA-LQAG ", // USB+IEEE1394+eSATA->SATA
4743    "0x059f:0x0828",
4744    "",
4745    "",
4746    "-d sat"
4747  },
4748  { "USB: LaCie hard disk; JMicron",
4749    "0x059f:0x0951",
4750    "",
4751    "",
4752    "-d usbjmicron"
4753  },
4754  { "USB: LaCie Rugged Triple Interface; ",
4755    "0x059f:0x100c",
4756    "", // 0x0001
4757    "",
4758    "-d sat"
4759  },
4760  { "USB: LaCie Desktop Hard Drive;",
4761    "0x059f:0x1010",
4762    "",
4763    "",
4764    "-d usbsunplus"
4765  },
4766  { "USB: LaCie Desktop Hard Drive; ",
4767    "0x059f:0x101[68]", // 0x1016: SAMSUNG HD103UJ
4768    "", // 0x0001
4769    "",
4770    "-d sat"
4771  },
4772  { "USB: LaCie Desktop Hard Drive; JMicron",
4773    "0x059f:0x1019",
4774    "",
4775    "",
4776    "-d usbjmicron"
4777  },
4778  { "USB: LaCie Rugged Hard Drive; JMicron",
4779    "0x059f:0x101d",
4780    "", // 0x0001
4781    "",
4782    "-d usbjmicron,x"
4783  },
4784  { "USB: LaCie Little Disk USB2; JMicron",
4785    "0x059f:0x1021",
4786    "",
4787    "",
4788    "-d usbjmicron"
4789  },
4790  { "USB: LaCie hard disk; ",
4791    "0x059f:0x1029",
4792    "", // 0x0100
4793    "",
4794    "-d sat"
4795  },
4796  { "USB: Lacie rikiki; JMicron",
4797    "0x059f:0x102a",
4798    "",
4799    "",
4800    "-d usbjmicron,x"
4801  },
4802  { "USB: LaCie D2 USB3; LucidPort USB300 ",
4803    "0x059f:0x103d",
4804    "",
4805    "",
4806    "-d sat"
4807  },
4808  { "USB: LaCie rikiki USB 3.0; ",
4809    "0x059f:0x10(49|57)",
4810    "",
4811    "",
4812    "-d sat"
4813  },
4814  { "USB: LaCie minimus USB 3.0; ",
4815    "0x059f:0x104a",
4816    "",
4817    "",
4818    "-d sat"
4819  },
4820  { "USB: LaCie Rugged Mini USB 3.0; ",
4821    "0x059f:0x1051",
4822    "", // 0x0000
4823    "",
4824    "-d sat"
4825  },
4826  { "USB: LaCie Rugged Mini HDD; ",
4827    "0x059f:0x106b",
4828    "",
4829    "",
4830    "-d sat"
4831  },
4832  { "USB: LaCie; ", // 0x1070: ASMedia 1053 ?
4833    "0x059f:0x10(6f|7[05])",
4834    "", // 6f/70=0x0001, 75=0x0000
4835    "",
4836    "-d sat"
4837  },
4838  // In-System Design
4839  { "USB: ; In-System/Cypress ISD-300A1",
4840    "0x05ab:0x0060",
4841    "", // 0x1101
4842    "",
4843    "-d usbcypress"
4844  },
4845  // Apple
4846  { "USB: Apple; ",
4847    "0x05ac:0x8406", // TOSHIBA MQ01UBB200
4848    "",
4849    "",
4850    "-d sat"
4851  },
4852  // Genesys Logic
4853  { "USB: ; Genesys Logic GL881E",
4854    "0x05e3:0x0702",
4855    "",
4856    "",
4857    "" // unsupported
4858  },
4859  { "USB: ; Genesys Logic", // TODO: requires '-T permissive'
4860    "0x05e3:0x0718",
4861    "", // 0x0041
4862    "",
4863    "-d sat"
4864  },
4865  { "USB: ; Genesys Logic GL3310",
4866    "0x05e3:0x0731", // Chieftec USB 3.0 2.5" case
4867    "",
4868    "",
4869    "-d sat"
4870  },
4871  { "USB: ; Genesys Logic",
4872    "0x05e3:0x0735",
4873    "", // 0x1003
4874    "",
4875    "-d sat"
4876  },
4877  // Micron
4878  { "USB: Micron USB SSD; ",
4879    "0x0634:0x0655",
4880    "",
4881    "",
4882    "" // unsupported
4883  },
4884  // Prolific
4885  { "USB: ; Prolific PL2507", // USB->PATA
4886    "0x067b:0x2507",
4887    "",
4888    "",
4889    "-d usbjmicron,0" // Port number is required
4890  },
4891  { "USB: ; Prolific PL2571/2771/2773/2775", // USB->SATA, USB3->SATA,
4892    "0x067b:0x(2571|277[135])",              // USB3+eSATA->SATA, USB3->2xSATA
4893    "",
4894    "",
4895    "-d usbprolific"
4896  },
4897  { "USB: ; Prolific PL3507", // USB+IEEE1394->PATA
4898    "0x067b:0x3507",
4899    "", // 0x0001
4900    "",
4901    "-d usbjmicron,p"
4902  },
4903  // Imation
4904  { "USB: Imation ; ", // Imation Odyssey external USB dock
4905    "0x0718:0x1000",
4906    "", // 0x5104
4907    "",
4908    "-d sat"
4909  },
4910  // SanDisk
4911  { "USB: SanDisk SDCZ80 Flash Drive; Fujitsu", // ATA ID: SanDisk pSSD
4912    "0x0781:0x558[08]",
4913    "",
4914    "",
4915    "-d sat"
4916  },
4917  // Freecom
4918  { "USB: ; Innostor IS631", // No Name USB3->SATA Enclosure
4919    "0x07ab:0x0621",
4920    "",
4921    "",
4922    "-d sat"
4923  },
4924  { "USB: Freecom; ",
4925    "0x07ab:0xfc17",
4926    "", // 0x0100
4927    "",
4928    "-d sat"
4929  },
4930  { "USB: Freecom Quattro 3.0; ", // USB3.0+IEEE1394+eSATA->SATA
4931    "0x07ab:0xfc77",
4932    "",
4933    "",
4934    "-d sat"
4935  },
4936  { "USB: Freecom Mobile Drive XXS; JMicron",
4937    "0x07ab:0xfc88",
4938    "", // 0x0101
4939    "",
4940    "-d usbjmicron,x"
4941  },
4942  { "USB: Freecom Hard Drive XS; Sunplus",
4943    "0x07ab:0xfc8e",
4944    "", // 0x010f
4945    "",
4946    "-d usbsunplus"
4947  },
4948  { "USB: Freecom; ", // Intel labeled
4949    "0x07ab:0xfc8f",
4950    "", // 0x0000
4951    "",
4952    "-d sat"
4953  },
4954  { "USB: Freecom Classic HD 120GB; ",
4955    "0x07ab:0xfccd",
4956    "",
4957    "",
4958    "" // unsupported
4959  },
4960  { "USB: Freecom HD; JMicron", // 500GB
4961    "0x07ab:0xfcd[6a]",
4962    "",
4963    "",
4964    "-d usbjmicron"
4965  },
4966  // Oxford Semiconductor, Ltd
4967  { "USB: ; Oxford",
4968    "0x0928:0x0000",
4969    "",
4970    "",
4971    "" // unsupported
4972  },
4973  { "USB: ; Oxford OXU921DS",
4974    "0x0928:0x0002",
4975    "",
4976    "",
4977    "" // unsupported
4978  },
4979  { "USB: ; Oxford", // Zalman ZM-VE200
4980    "0x0928:0x0010",
4981    "", // 0x0304
4982    "",
4983    "-d sat"
4984  },
4985  // Toshiba
4986  { "USB: Toshiba PX1270E-1G16; Sunplus",
4987    "0x0930:0x0b03",
4988    "",
4989    "",
4990    "-d usbsunplus"
4991  },
4992  { "USB: Toshiba PX1396E-3T01; Sunplus", // similar to Dura Micro 501
4993    "0x0930:0x0b09",
4994    "",
4995    "",
4996    "-d usbsunplus"
4997  },
4998  { "USB: Toshiba Stor.E Steel; Sunplus",
4999    "0x0930:0x0b11",
5000    "",
5001    "",
5002    "-d usbsunplus"
5003  },
5004  { "USB: Toshiba Stor.E; ",
5005    "0x0930:0x0b1[9ab]",
5006    "", // 0x0001
5007    "",
5008    "-d sat"
5009  },
5010  // Lumberg, Inc.
5011  { "USB: Toshiba Stor.E; Sunplus",
5012    "0x0939:0x0b1[56]",
5013    "",
5014    "",
5015    "-d usbsunplus"
5016  },
5017  // Apricorn
5018  { "USB: Apricorn SATA Wire; ",
5019    "0x0984:0x0040",
5020    "",
5021    "",
5022    "-d sat"
5023  },
5024  // Neodio Technologies
5025  { "USB: Neodio; Initio INIC-1810PL",
5026    "0x0aec:0x3050",
5027    "", // 0x0100
5028    "",
5029    "-d sat"
5030  },
5031  // Seagate
5032  { "USB: Seagate External Drive; Cypress",
5033    "0x0bc2:0x0503",
5034    "", // 0x0240
5035    "",
5036    "-d usbcypress"
5037  },
5038  { "USB: Seagate FreeAgent; ",
5039    "0x0bc2:0x(3008|50(31|a1))",
5040    "",
5041    "",
5042    "-d sat,12" // 0x50a1: "-d sat" does not work (ticket #151)
5043  },
5044  { "USB: Seagate; ",
5045    "0x0bc2:0x....",
5046    "",
5047    "",
5048    "-d sat"
5049  },
5050  // Addonics
5051  { "USB: Addonics HDMU3; ", // (ticket #609)
5052    "0x0bf6:0x1001",
5053    "", // 0x0100
5054    "",
5055    ""
5056  },
5057  // Dura Micro
5058  { "USB: Dura Micro; Cypress",
5059    "0x0c0b:0xb001",
5060    "", // 0x1110
5061    "",
5062    "-d usbcypress"
5063  },
5064  { "USB: Dura Micro; Initio",
5065    "0x0c0b:0xb136",
5066    "", // 0x0108
5067    "",
5068    "-d sat"
5069  },
5070  { "USB: Dura Micro 509; Sunplus",
5071    "0x0c0b:0xb159",
5072    "", // 0x0103
5073    "",
5074    "-d usbsunplus"
5075  },
5076  // Maxtor
5077  { "USB: Maxtor OneTouch 200GB; ",
5078    "0x0d49:0x7010",
5079    "",
5080    "",
5081    "" // unsupported
5082  },
5083  { "USB: Maxtor OneTouch; ",
5084    "0x0d49:0x7300",
5085    "", // 0x0121
5086    "",
5087    "-d sat"
5088  },
5089  { "USB: Maxtor OneTouch 4; ",
5090    "0x0d49:0x7310",
5091    "", // 0x0125
5092    "",
5093    "-d sat"
5094  },
5095  { "USB: Maxtor OneTouch 4 Mini; ",
5096    "0x0d49:0x7350",
5097    "", // 0x0125
5098    "",
5099    "-d sat"
5100  },
5101  { "USB: Maxtor BlackArmor Portable; ",
5102    "0x0d49:0x7550",
5103    "",
5104    "",
5105    "-d sat"
5106  },
5107  { "USB: Maxtor Basics Desktop; ",
5108    "0x0d49:0x7410",
5109    "", // 0x0122
5110    "",
5111    "-d sat"
5112  },
5113  { "USB: Maxtor Basics Portable; ",
5114    "0x0d49:0x7450",
5115    "", // 0x0122
5116    "",
5117    "-d sat"
5118  },
5119  // Jess-Link International
5120  { "USB: ; Cypress", // Medion HDDrive2Go
5121    "0x0dbf:0x9001",
5122    "", // 0x0240
5123    "",
5124    "-d usbcypress"
5125  },
5126  // Oyen Digital
5127  { "USB: Oyen Digital MiniPro USB 3.0; ",
5128    "0x0dc4:0x020a",
5129    "",
5130    "",
5131    "-d sat"
5132  },
5133  // Cowon Systems, Inc.
5134  { "USB: Cowon iAudio X5; ",
5135    "0x0e21:0x0510",
5136    "",
5137    "",
5138    "-d usbcypress"
5139  },
5140  // iRiver
5141  { "USB: iRiver iHP-120/140 MP3 Player; Cypress",
5142    "0x1006:0x3002",
5143    "", // 0x0100
5144    "",
5145    "-d usbcypress"
5146  },
5147  // Western Digital
5148  { "USB: WD My Passport (IDE); Cypress",
5149    "0x1058:0x0701",
5150    "", // 0x0240
5151    "",
5152    "-d usbcypress"
5153  },
5154  { "USB: Western Digital; ",
5155    "0x1058:0x....",
5156    "",
5157    "",
5158    "-d sat"
5159  },
5160  // Atech Flash Technology
5161  { "USB: ; Atech", // Enclosure from Kingston SSDNow notebook upgrade kit
5162    "0x11b0:0x6298",
5163    "", // 0x0108
5164    "",
5165    "-d sat"
5166  },
5167  // ADATA
5168  { "USB: ADATA; ",
5169    "0x125f:0xa(11|13|15|31|35|75)a", // 0xa11a: Classic CH11 1TB, 0xa13a: NH13 1TB,
5170    "", // 0xa15a: HD710 1TB, 0xa31a: HV620 2TB (0x0100), 0xa35a: HD650 2TB (0x6503),
5171    "", // 0xa75a: HD710P 4TB
5172    "-d sat"
5173  },
5174  { "USB: ADATA; Cypress",
5175    "0x125f:0xa9[34]a", // 0xa93a: SH93 (0x0150)
5176    "",
5177    "",
5178    "-d usbcypress"
5179  },
5180  // Initio
5181  { "USB: ; Initio",
5182    "0x13fd:0x(054|1(04|15))0", // 0x0540: Initio 316000
5183    "", // 0x1040 (0x0106): USB->SATA+PATA, Chieftec CEB-25I
5184    "", // 0x1150: Initio 6Y120L0, CoolerMaster XCraft RX-3HU
5185    "" // unsupported
5186  },
5187  { "USB: ; Initio",
5188    "0x13fd:0x16[45]0",
5189    "", // 0x1640: 0x0864, 0x1650: 0x0436
5190    "",
5191    "-d sat,12" // some SMART commands fail, see ticket #295
5192  },
5193  { "USB: ; Initio",
5194    "0x13fd:0x....",
5195    "",
5196    "",
5197    "-d sat"
5198  },
5199  // Super Top
5200  { "USB: Super Top generic enclosure; ",
5201    "0x14cd:0x6116",
5202    "", // 0x0150, older report suggests -d usbcypress
5203    "", // 0x0160 also reported as unsupported
5204    "-d sat"
5205  },
5206  // JMicron
5207  { "USB: ; JMicron JMS539", // USB2/3->SATA (old firmware)
5208    "0x152d:0x0539",
5209    "0x0100",      // 1.00, various devices support -d usbjmicron
5210    "",            // 1.00, SSI SI-1359RUS3 supports -d sat,
5211    ""             //       -d usbjmicron may disconnect drive (ticket #552)
5212  },
5213  { "USB: ; JMicron JMS539", // USB2/3->SATA (new firmware)
5214    "0x152d:0x0539",
5215    "0x020[56]|"   //  2.05, ZTC USB 3.0 enclosure (ticket #338)
5216    "0x28(01|03|12)", // 28.01, DATOptic U3eSATA (USB3.0 bridge with port multiplier)
5217    "",               // 28.03, Mediasonic ProBox HF2-SU3S2 Rev 2 (port multiplier, ticket #504)
5218    "-d sat"          // 28.12, Mediasonic ProBox H82-SU3S2 (port multiplier)
5219  },
5220  { "USB: ; JMicron ", // USB->SATA->4xSATA (port multiplier)
5221    "0x152d:0x0551",   // JMS539? (old firmware may use 0x152d:0x0539, ticket #552)
5222    "", // 0x0100
5223    "",
5224    "-d usbjmicron,x"
5225  },
5226  { "USB: ; JMicron",
5227    "0x152d:0x0561",
5228    "", // 0x0003, ODROID CloudShell 2
5229    "",
5230    "-d sat"
5231  },
5232  { "USB: ; JMicron JM562", // USB2/3+eSATA->2xSATA, USB2/3->3xSATA (RAID0/1)
5233    "0x152d:0x0562",
5234    "", // 0x0106, Fantec QB-X2US3R (ticket #966)
5235    "", // only ATA IDENTIFY works, SMART commands don't work
5236    "-d sat"
5237  },
5238  { "USB: ; JMicron", // USB2/3->2xSATA
5239    "0x152d:0x0565",
5240    "", // 0x9114, Akasa DuoDock X (ticket #607)
5241    "",
5242    "-d sat"
5243  },
5244  { "USB: ; JMicron JMS567", // USB2/3->SATA
5245    "0x152d:0x0567",
5246    "", // 0x0114
5247    "", // 0x0205, 2.05, Mediasonic ProBox HF2-SU3S2 Rev 3 (port multiplier, ticket #504)
5248    "-d sat"
5249  },
5250  { "USB: ; JMicron JMS578", // USB->SATA
5251    "0x152d:0x0578",
5252    "", // 0x0100
5253    "",
5254    "-d sat"
5255  },
5256  { "USB: ; JMicron",
5257    "0x152d:0x0579", // Intenso External
5258    "", // 0x0100
5259    "",
5260    "-d sat"
5261  },
5262  { "USB: ; JMicron JMS583", // USB->PCIe (NVMe)
5263    "0x152d:0x0583",
5264    "",
5265    "",
5266    "-d sntjmicron#please_try" // TODO: Remove '#please_try' when no longer EXPERIMENTAL
5267  },
5268  { "USB: OCZ THROTTLE OCZESATATHR8G; JMicron JMF601",
5269    "0x152d:0x0602",
5270    "",
5271    "",
5272    "" // unsupported
5273  },
5274  { "USB: ; JMicron JMS561", // USB2/3->2xSATA
5275    "0x152d:0x[19]561", // 0x1561(0x0106), Sabrent USB 3.0 Dual Bay SATA Dock
5276    "",  // 0x9561(0x0105), Orico 6629US3-C USB 3.0 Dual Bay SATA Dock
5277    "",
5278    "-d sat"
5279  },
5280  { "USB: ; JMicron JM20329", // USB->SATA
5281    "0x152d:0x2329",
5282    "", // 0x0100
5283    "",
5284    "-d usbjmicron"
5285  },
5286  { "USB: ; JMicron JM20336", // USB+SATA->SATA, USB->2xSATA
5287    "0x152d:0x2336",
5288    "", // 0x0100
5289    "",
5290    "-d usbjmicron,x"
5291  },
5292  { "USB: Generic JMicron adapter; JMicron",
5293    "0x152d:0x2337",
5294    "",
5295    "",
5296    "-d usbjmicron"
5297  },
5298  { "USB: ; JMicron JM20337/8", // USB->SATA+PATA, USB+SATA->PATA
5299    "0x152d:0x2338",
5300    "", // 0x0100
5301    "",
5302    "-d usbjmicron"
5303  },
5304  { "USB: ; JMicron JM20339", // USB->SATA
5305    "0x152d:0x2339",
5306    "", // 0x0100
5307    "",
5308    "-d usbjmicron,x"
5309  },
5310  { "USB: ; JMicron", // USB+SATA->SATA
5311    "0x152d:0x2351",  // e.g. Verbatim Portable Hard Drive 500Gb
5312    "", // 0x0100
5313    "",
5314    "-d sat"
5315  },
5316  { "USB: ; JMicron", // USB->SATA
5317    "0x152d:0x2352",
5318    "", // 0x0100
5319    "",
5320    "-d usbjmicron,x"
5321  },
5322  { "USB: ; JMicron", // USB->SATA
5323    "0x152d:0x2509",
5324    "", // 0x0100
5325    "",
5326    "-d usbjmicron,x"
5327  },
5328  { "USB: ; JMicron JMS566", // USB3->SATA
5329    "0x152d:0x2566", // e.g. Chieftec CEB-7035S
5330    "", // 0x0114
5331    "",
5332    "-d usbjmicron,x"
5333  },
5334  { "USB: ; JMicron JMS567", // USB3->SATA
5335    "0x152d:0x2567",
5336    "", // 0x0117, Chieftec CEB-7053S
5337    "",
5338    "-d sat"
5339  },
5340  { "USB: ; JMicron",
5341    "0x152d:0x2590",
5342    "", // 0x0x8105 (ticket #550)
5343    "",
5344    "-d sat"
5345  },
5346  { "USB: ; JMicron JMS567", // USB2/3->SATA
5347    "0x152d:0x3562",
5348    "", // 0x0310, StarTech S358BU33ERM (port multiplier, ticket #508)
5349    "",
5350    "-d sat"
5351  },
5352  { "USB: ; JMicron", // USB3->SATA
5353    "0x152d:0x3569",
5354    "", // 0x0203
5355    "",
5356    "-d sat"
5357  },
5358  { "USB: ; JMicron",
5359    "0x152d:0x578e",
5360    "", // 0x1402, Intenso Memory Center
5361    "",
5362    "-d sat"
5363  },
5364  { "USB: ; JMicron JMS561U", // USB3->2xSATA
5365    "0x152d:0x8561",
5366    "", // 0x0107
5367    "",
5368    "-d sat"
5369  },
5370  // ASMedia
5371  { "USB: ; ASMedia",
5372    "0x174c:0x....",
5373    "",
5374    "",
5375    "-d sat"
5376  },
5377  // LucidPort
5378  { "USB: ; LucidPORT USB300", // RaidSonic ICY BOX IB-110StU3-B, Sharkoon SATA QuickPort H3
5379    "0x1759:0x500[02]", // 0x5000: USB 2.0, 0x5002: USB 3.0
5380    "",
5381    "",
5382    "-d sat"
5383  },
5384  { "USB: ; LucidPort", // Fuj:tech SATA-USB3 dock
5385    "0x1759:0x5100",
5386    "", // 0x2580
5387    "",
5388    "-d sat"
5389  },
5390  // Verbatim
5391  { "USB: Verbatim Portable Hard Drive; Sunplus",
5392    "0x18a5:0x0214",
5393    "", // 0x0112
5394    "",
5395    "-d usbsunplus"
5396  },
5397  { "USB: Verbatim FW/USB160; Oxford OXUF934SSA-LQAG", // USB+IEEE1394->SATA
5398    "0x18a5:0x0215",
5399    "", // 0x0001
5400    "",
5401    "-d sat"
5402  },
5403  { "USB: Verbatim External Hard Drive 47519; Sunplus", // USB->SATA
5404    "0x18a5:0x0216",
5405    "",
5406    "",
5407    "-d usbsunplus"
5408  },
5409  { "USB: Verbatim Pocket Hard Drive; JMicron", // SAMSUNG SpinPoint N3U-3 (USB, 4KiB LLS)
5410    "0x18a5:0x0227",
5411    "",
5412    "",
5413    "-d usbjmicron" // "-d usbjmicron,x" does not work
5414  },
5415  { "USB: Verbatim External Hard Drive; JMicron", // 2TB
5416    "0x18a5:0x022a",
5417    "",
5418    "",
5419    "-d usbjmicron"
5420  },
5421  { "USB: Verbatim Store'n'Go; JMicron", // USB->SATA
5422    "0x18a5:0x022b",
5423    "", // 0x0100
5424    "",
5425    "-d usbjmicron"
5426  },
5427  { "USB: Verbatim Pocket Hard Drive; ", // 1TB USB 3.0
5428    "0x18a5:0x0237",
5429    "",
5430    "",
5431    "-d sat,12"
5432  },
5433  { "USB: Verbatim External Hard Drive; ", // USB 3.0
5434    "0x18a5:0x040[08]", // 0=3TB, 8=1TB
5435    "",
5436    "",
5437    "-d sat"
5438  },
5439  // Silicon Image
5440  { "USB: Vantec NST-400MX-SR; Silicon Image 5744",
5441    "0x1a4a:0x1670",
5442    "",
5443    "",
5444    "" // unsupported
5445  },
5446  // Corsair
5447  { "USB: Voyager GTX; ",
5448    "0x1b1c:0x1a0e",
5449    "",
5450    "",
5451    "-d sat"
5452  },
5453  // SunplusIT
5454  { "USB: ; SunplusIT",
5455    "0x1bcf:0x0c31",
5456    "",
5457    "",
5458    "-d usbsunplus"
5459  },
5460  // TrekStor
5461  { "USB: TrekStor DataStation; ", // DataStation maxi light (USB 3.0)
5462    "0x1e68:0x0050",
5463    "", // 0x0100
5464    "",
5465    "-d sat"
5466  },
5467  // Innostor
5468  { "USB: ; Innostor IS611", // USB3->SATA+PATA
5469    "0x1f75:0x0611", // SMART access via PATA does not work
5470    "",
5471    "",
5472    "-d sat"
5473  },
5474  { "USB: ; Innostor IS621", // USB3->SATA
5475    "0x1f75:0x0621", // Dynex 2.5" USB 3.0 Exclosure DX-HD302513
5476    "",
5477    "",
5478    "-d sat"
5479  },
5480  { "USB: ; Innostor IS888", // USB3->SATA
5481    "0x1f75:0x0888",
5482    "", // 0x0034, Sharkoon SATA QuickDeck Pro USB 3.0 (unsupported)
5483    "", // 0x0036, works with -d sat (ticket #827)
5484    "-d sat"
5485  },
5486  // VIA Labs
5487  { "USB: ; VIA VL701", // USB2/3->SATA
5488    "0x2109:0x0701", // Intenso 2,5" 1TB USB3
5489    "", // 0x0107
5490    "",
5491    "-d sat" // ATA output registers missing
5492  },
5493  { "USB: ; VIA VL711", // USB2/3->SATA
5494    "0x2109:0x0711",
5495    "", // 0x0114, Mediasonic ProBox K32-SU3 (ticket #594)
5496    "", // 0x0507, Intenso 2,5" Memory Case 2TB USB3
5497    "-d sat"
5498  },
5499  { "USB: ; VIA VL715/6", // USB2/3->SATA, USB-C->SATA
5500    "0x2109:0x071[56]",
5501    "", // 0x0336/0x0000
5502    "",
5503    "-d sat"
5504  },
5505  // Transcend (?)
5506  { "USB: Transcend ESD400; ",
5507    "0x2174:0x2000", // TS256GESD400K
5508    "", // 0x1000
5509    "",
5510    "-d sat"
5511  },
5512  // 0x2537 (?)
5513  { "USB: ; ", // USB 3.0
5514    "0x2537:0x106[68]", // 0x1066: Orico 2599US3, 0x1068: Fantec ER-35U3
5515    "", // 0x0100
5516    "",
5517    "-d sat"
5518  },
5519  // Power Quotient International
5520  { "USB: PQI H560; ",
5521    "0x3538:0x0902",
5522    "", // 0x0000
5523    "",
5524    "-d sat"
5525  },
5526  // Power Quotient International
5527  { "USB: PQI bridge; ",
5528    "0x3538:0x0064",
5529    "",
5530    "",
5531    "-d usbsunplus"
5532  },
5533  // Sharkoon
5534  { "USB: Sharkoon QuickPort XT USB 3.0; ",
5535     "0x357d:0x7788",
5536     "",
5537     "",
5538     "-d sat"
5539  },
5540  // Hitachi/SimpleTech
5541  { "USB: Hitachi Touro Desk; JMicron", // 3TB
5542    "0x4971:0x1011",
5543    "",
5544    "",
5545    "-d usbjmicron"
5546  },
5547  { "USB: Hitachi Touro; ",
5548    "0x4971:0x101[45]", // 14=1TB, 15=2TB
5549    "", // 0x0000
5550    "",
5551    "-d sat" // ATA output registers missing
5552  },
5553  { "USB: Hitachi Touro Mobile; ", // 1TB
5554    "0x4971:0x102[034]",
5555    "", // 0x0100
5556    "",
5557    "-d sat"
5558  },
5559  { "USB: SimpleTech;", // USB 3.0 HDD BOX Agestar,  Rock External HDD 3,5" UASP
5560    "0x4971:0x8017",
5561    "",
5562    "",
5563    "-d sat"
5564  },
5565  { "USB: Hitachi/SimpleTech; JMicron", // 1TB
5566    "0x4971:0xce17",
5567    "",
5568    "",
5569    "-d usbjmicron,x"
5570  },
5571  // OnSpec
5572  { "USB: ; OnSpec", // USB->PATA
5573    "0x55aa:0x2b00",
5574    "", // 0x0100
5575    "",
5576    "" // unsupported
5577  },
5578  // 0x6795 (?)
5579  { "USB: Sharkoon 2-Bay RAID Box; ", // USB 3.0
5580    "0x6795:0x2756",
5581    "", // 0x0100
5582    "",
5583    "-d sat"
5584  },
5585  // JMicron II
5586  { "USB: ; JMicron JMS566",
5587    "0xa152:0xb566",
5588    "", // 0x0223
5589    "",
5590    "-d sat"
5591  },
5592  // 0xabcd (?)
5593  { "USB: ; ",
5594    "0xabcd:0x610[34]", // 0x6103: LogiLink AU0028A V1.0 USB 3.0 to IDE & SATA Adapter
5595      // 0x6104: LogiLink PCCloneEX Lite
5596    "",
5597    "",
5598    "-d sat"
5599  },
5600/*
5601}; // builtin_knowndrives[]
5602 */