Opened 8 years ago

Closed 8 years ago

#171 closed enhancement (fixed)

Kingston SSDNow V Series SSD attributes

Reported by: wintrmute Owned by: Christian Franke
Priority: minor Milestone: Release 5.41
Component: drivedb Version: 5.40
Keywords: Cc:

Description

Hi,
Here is some info on decoding some extra attributes reported by some SSD drives.

Attribute 234 (0xEA):
Average erase count, max erase count.
Decoded as:
byte 0-1-2 = average erase count (big endian)
byte 3-4-5 = max erase count (big endian)

Attribute 235 (0xEB):
Good block count, system(free) block count
decoded as:
byte 0-1-2 = good block count (big endian)
byte 3-4 = system(free) block count.

Attachments (3)

smartctl_x.txt (3.5 KB) - added by wintrmute 8 years ago.
smartctl -x
smartctl_iav.txt (1.7 KB) - added by wintrmute 8 years ago.
smartctl -i -A -v N,hex64
smart_drivedb.h (685 bytes) - added by Christian Franke 8 years ago.
Kingston SSDNow V Series drivedb.h entry

Download all attachments as: .zip

Change History (13)

comment:2 Changed 8 years ago by Christian Franke

Component: alldrivedb
Owner: changed from somebody to Christian Franke
Priority: majorminor
Status: newaccepted

Please provide "smartctl -x" and "smartctl -i -A -v N,hex64" outputs from such a drive.

Changed 8 years ago by wintrmute

Attachment: smartctl_x.txt added

smartctl -x

Changed 8 years ago by wintrmute

Attachment: smartctl_iav.txt added

smartctl -i -A -v N,hex64

comment:3 Changed 8 years ago by wintrmute

I'm not 100% sure if that description of the attributes applies to my SSD drive or not; it *has* unknown attributes in those positions, but I don't know enough to verify if they make sense.

See attached for the requested logs.

Changed 8 years ago by Christian Franke

Attachment: smart_drivedb.h added

Kingston SSDNow V Series drivedb.h entry

comment:4 Changed 8 years ago by Christian Franke

Milestone: Release 5.41
Summary: SSD attributes - some infoKingston SSDNow V Series SSD attributes

Please test attached smart_drivedb.h: "smartctl -A -B smart_drivedb.h"
and big endian hexdump of raw values: "smartctl -A -v N,hex64:w012345r"

comment:5 Changed 8 years ago by wintrmute

$ smartctl -A -B smart_drivedb.h /dev/sda
'mart_drivedb.h(1): Syntax error, invalid char '
'mart_drivedb.h(2): Syntax error, invalid char '
'mart_drivedb.h(3): Syntax error, invalid char '
'mart_drivedb.h(10): Syntax error, invalid char '
'mart_drivedb.h(11): Syntax error, invalid char '
'mart_drivedb.h(13): Syntax error, invalid char '

comment:6 Changed 8 years ago by wintrmute

OK, I converted the file from DOS line-endings to UNIX line-endings and ran it again:

$ sudo smartctl -A -B smart_drivedb.h /dev/sda
[sudo] password for tjc:
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

START OF READ SMART DATA SECTION

SMART Attributes Data Structure revision number: 1280
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE

12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 27

9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 0

194 Temperature_Celsius 0x0007 032 100 000 Pre-fail Always - 0
229 Halt_System/Flash_ID 0x0002 100 --- 000 Old_age Always - 0x0098d594baf41343
232 Firmware_Version_Info 0x0002 100 --- 000 Old_age Always - 0x3039303532320804
233 ECC_Fail_Record 0x0002 100 --- 000 Old_age Always - 0x000000000000
234 Avg/Max_Erase_Ct 0x0002 100 --- 000 Old_age Always - 62982/14855
235 Good/Sys_Block_Ct 0x0002 100 --- 000 Old_age Always - 196671/88

Do those values look right to you? They look wrong to me :(

Here is the other dump with the raw values:

$ sudo smartctl -A -v N,hex64:w012345r /dev/sda
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

START OF READ SMART DATA SECTION

SMART Attributes Data Structure revision number: 1280
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE

12 Power_Cycle_Count 0x0032 100 --- 000 Old_age Always - 0x641b000000000000

9 Power_On_Hours 0x0032 100 --- 000 Old_age Always - 0x6400000000000000

194 Temperature_Celsius 0x0007 032 --- 000 Pre-fail Always - 0x6400000000000000
229 Unknown_Attribute 0x0002 100 --- 000 Old_age Always - 0x0098d594baf41343
232 Available_Reservd_Space 0x0002 100 --- 000 Old_age Always - 0x3039303532320804
233 Media_Wearout_Indicator 0x0002 100 --- 000 Old_age Always - 0x0000000000000000
234 Unknown_Attribute 0x0002 100 --- 000 Old_age Always - 0x0006f600073a0000
235 Unknown_Attribute 0x0002 100 --- 000 Old_age Always - 0x003f000358000000

comment:7 in reply to:  6 Changed 8 years ago by Christian Franke

 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       27

Spec says: "Supported". Is raw value 27 hours incorrect?

  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0007   032   100   000    Pre-fail  Always       -       0

Spec says: "Not Support". Raw value 0 is normal then.

229 Halt_System/Flash_ID    0x0002   100   ---   000    Old_age   Always       -       0x0098d594baf41343

Halt System ID: 0x00, Flash ID: 0x98d594baf41343

232 Firmware_Version_Info   0x0002   100   ---   000    Old_age   Always       -       0x3039303532320804

Firmware Version: 0x303930353232 = "090522", #Channels=0x08, #Banks=0x04

233 ECC_Fail_Record         0x0002   100   ---   000    Old_age   Always       -       0x000000000000

No Fail, no record.

234 Avg/Max_Erase_Ct        0x0002   100   ---   000    Old_age   Always       -       62982/14855
235 Good/Sys_Block_Ct       0x0002   100   ---   000    Old_age   Always       -       196671/88

0x0006f600073a0000
        ^^^^^^ Max Erase Count = 1850
  ^^^^^^ Average Erase Count   = 1782

0x003f000358000000
        ^^^^ Sys Block Count = 856
  ^^^^^^ Good Block Count  = 16128

The raw values are not printed correctly because "raw24/raw24" format did not support byteorder specifications in your version of smartmontools. This was fixed in r3133 and included in 5.40 final. Please update or use "hex48" format for 234 and 235.

comment:8 Changed 8 years ago by wintrmute

The power cycle count of 27 seems reasonable.. the machine containing the SSD is a server that is rarely rebooted.
You wrote "raw value 27 hours" though - did you really mean hours? In terms of power-on-hours, that disk should read more like ~10,000 hours.

I can't confirm or deny the flash ID.

The firmware version looks reasonable though if you take it to be a date (20)09-05-22.. That fits with the era of this hardware.

The other erase/block values look reasonable now you've decoded them correctly.

comment:9 in reply to:  8 Changed 8 years ago by Christian Franke

You wrote "raw value 27 hours" though - did you really mean hours?

No, it should be "27 power cycles". Interestingly this device returns attributes 12 and 9 unsorted.

I can't confirm or deny the flash ID.

Probably only the vendor could do that - it is not documented.

Thanks for testing.

comment:10 Changed 8 years ago by Christian Franke

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