Opened 5 years ago

Closed 5 years ago

#337 closed enhancement (fixed)

Add support for SanDisk SSD U100 series

Reported by: PSzlubecki Owned by: Christian Franke
Priority: major Milestone: Release 6.3
Component: drivedb Version: 6.2
Keywords: Cc:

Description

The device isn't recognized and some impotent attributes are unknown or has wrong name.

smartctl -q noserial -x /dev/sda :

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     SanDisk SSD U100 8GB
Firmware Version: 10.56.00
User Capacity:    8,012,390,400 bytes [8,01 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Jul  1 12:31:52 2014 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
AAM feature is:   Unavailable
APM level is:     254 (maximum performance)
Rd look-ahead is: Enabled
Write cache is:   Enabled
ATA Security is:  Disabled, frozen [SEC2]
Wt Cache Reorder: Unavailable

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                (  120) seconds.
Offline data collection
capabilities:                    (0x51) SMART execute Offline immediate.
                                        No Auto Offline data collection support.
                                        Suspend Offline collection upon new
                                        command.
                                        No Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        General Purpose Logging supported.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (   2) minutes.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAGS    VALUE WORST THRESH FAIL RAW_VALUE
  5 Reallocated_Sector_Ct   -O----   100   100   000    -    0
  9 Power_On_Hours          -O----   100   100   000    -    329
 12 Power_Cycle_Count       -O----   100   100   000    -    31
171 Unknown_Attribute       -O----   100   100   000    -    0
172 Unknown_Attribute       -O----   100   100   000    -    0
173 Unknown_Attribute       -O----   100   100   000    -    0
174 Unknown_Attribute       -O----   100   100   000    -    21
187 Reported_Uncorrect      -O----   100   100   000    -    0
230 Unknown_SSD_Attribute   -O----   100   100   000    -    0
232 Available_Reservd_Space PO----   100   100   005    -    0
234 Unknown_Attribute       -O----   100   100   000    -    3
241 Total_LBAs_Written      -O----   100   100   000    -    8955010
242 Total_LBAs_Read         -O----   100   100   000    -    8066998
                            ||||||_ K auto-keep
                            |||||__ C event count
                            ||||___ R error rate
                            |||____ S speed/performance
                            ||_____ O updated online
                            |______ P prefailure warning

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

Warning! SMART Extended Comprehensive Error Log Structure (16/16) error: invalid SMART checksum.
SMART Extended Comprehensive Error Log Version: 1 (16 sectors)
No Errors Logged

SMART Extended Self-test Log (GP Log 0x07) not supported

Warning! SMART Self-Test Log Structure error: invalid SMART checksum.
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       10%       307         -
# 2  Short offline       Aborted by host               80%       307         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

SCT Commands not supported

Device Statistics (GP Log 0x04)
Page Offset Size         Value  Description
  5  =====  =                =  == Temperature Statistics (rev 1) ==
  5  0x008  1               31  Current Temperature
  5  0x010  1               30  Average Short Term Temperature
  5  0x018  1                -  Average Long Term Temperature
  5  0x020  1               37  Highest Temperature
  5  0x028  1               26  Lowest Temperature
  5  0x030  1               34  Highest Average Short Term Temperature
  5  0x038  1               34  Lowest Average Short Term Temperature
  5  0x040  1                -  Highest Average Long Term Temperature
  5  0x048  1                -  Lowest Average Long Term Temperature
  5  0x050  4                0  Time in Over-Temperature
  5  0x058  1               95  Specified Maximum Operating Temperature
  5  0x060  4                0  Time in Under-Temperature
  5  0x068  1                0  Specified Minimum Operating Temperature
  7  =====  =                =  == Solid State Device Statistics (rev 1) ==
  7  0x008  1                0~ Percentage Used Endurance Indicator
                              |_ ~ normalized value

SATA Phy Event Counters (GP Log 0x11)
ID      Size     Value  Description
0x0003  2            0  R_ERR response for device-to-host data FIS
0x0004  2            0  R_ERR response for host-to-device data FIS
0x0006  2            0  R_ERR response for device-to-host non-data FIS
0x0007  2            0  R_ERR response for host-to-device non-data FIS
0x0009  2            5  Transition from drive PhyRdy to drive PhyNRdy
0x000a  2            6  Device-to-host register FISes sent due to a COMRESET
0x000f  2            0  R_ERR response for host-to-device data FIS, CRC
0x0012  2            0  R_ERR response for host-to-device non-data FIS, CRC
0x0001  2            0  Command failed due to ICRC error


Meaning of attributes grabbed from original SanDisk? tools for windows

	<SmartDataDefinition Name="SanDisk P-Series" Priority="1102" Inherits="SuppressAll" DefaultDataFormat="Worst[1],Raw[4]">

		<DeviceClassificationRule>
			<Model Regex="SanDisk SDSSD[PR].*" CaseSensitive="false"/>
			<Serial Regex=".*" CaseSensitive="false"/>
			<Firmware Regex=".*" CaseSensitive="false"/>
		</DeviceClassificationRule>
		
		<!-- P series -->
		<DeviceClassificationRule>
			<Model Regex="SanDisk SSD U100 .*" CaseSensitive="false"/>
			<Serial Regex=".*" CaseSensitive="false"/>
			<Firmware Regex=".*" CaseSensitive="false"/>
		</DeviceClassificationRule>

		<Attribute ID="5" Name="ReallocatedSectorCount" Display="true"/>
		<Attribute ID="9" Name="PowerOnHours" Display="true"/>
		<Attribute ID="12" Name="PowerCycleCount" Display="true"/>
		<Attribute ID="171" Name="ProgramFailCount" Display="true"/>
		<Attribute ID="172" Name="EraseFailCount" Display="true"/>
		<Attribute ID="173" Name="AverageWriteEraseCount" Display="true"/>
		<Attribute ID="174" Name="UnexpectedPowerLossCount" Display="true"/>
		<Attribute ID="187" Name="ReportedUncorrectableErrors" Display="true"/>
		<Attribute ID="230" DataFormat="Worst[1],Raw[4]" Name="PercentWriteEraseCount" Display="true"/>
		<Attribute ID="232" DataFormat="" Name="PercentageReserveSpaceAvailable" Display="true"/>
		<Attribute ID="234" DataFormat="Worst[1],Raw[4]" Name="PercentWriteEraseCountBC" Display="true"/>
		<Attribute ID="241" DataFormat="Worst[1],Raw[7]" Name="LBASectorsWritten" Display="true"/>
		<Attribute ID="242" DataFormat="Worst[1],Raw[7]" Name="LBASectorsRead" Display="true"/>
	</SmartDataDefinition>

Created by my drverdb record for test purpose

  {
    "SanDisk SSD U100 Series",
    "SanDisk SSD U100 .*",
    "", "",
    "-v 5,raw48,Reallocated_Sector_Ct "
    "-v 9,raw48,Power_On_Hours "
    "-v 12,raw48,Power_Cycle_Count "
    "-v 171,raw48,Program_Fail_Count "
    "-v 172,raw48,Erase_Fail_Count "
    "-v 173,raw48,Avg_Write_Erase_Ct "
    "-v 174,raw48,Unexpect_Power_Loss_Ct "
    "-v 187,raw48,Reported_Uncorrect "
    "-v 230,raw48,Perc_Write_Erase_Count "
    "-v 232,raw48,Perc_Reserve_Space_Avai "
    "-v 234,raw48,Perc_Write_Erase_Ct_BC "
    "-v 241,raw48,LBA_Sectors_Written "
    "-v 242,raw48,LBA_Sectors_Read "
  }

smartctl -q noserial -A /dev/sda after modify drivedb by hand

smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-30-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       329
 12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       31
171 Program_Fail_Count      0x0002   100   100   000    Old_age   Always       -       0
172 Erase_Fail_Count        0x0002   100   100   000    Old_age   Always       -       0
173 Avg_Write_Erase_Ct      0x0002   100   100   000    Old_age   Always       -       0
174 Unexpect_Power_Loss_Ct  0x0002   100   100   000    Old_age   Always       -       21
187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
230 Perc_Write_Erase_Count  0x0002   100   100   000    Old_age   Always       -       0
232 Perc_Reserve_Space_Avai 0x0003   100   100   005    Pre-fail  Always       -       0
234 Perc_Write_Erase_Ct_BC  0x0002   100   100   000    Old_age   Always       -       3
241 LBA_Sectors_Written     0x0002   100   100   000    Old_age   Always       -       8956330
242 LBA_Sectors_Read        0x0002   100   100   000    Old_age   Always       -       8066998

Change History (3)

comment:1 Changed 5 years ago by Christian Franke

Keywords: SanDisk U100 removed
Milestone: Release 6.3
Owner: set to Christian Franke
Status: newassigned

comment:2 Changed 5 years ago by Christian Franke

Status: assignedaccepted

comment:3 Changed 5 years ago by Christian Franke

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