Hi All,
I am burning in a new Intel 320 SSD on Linux for use with a database, and the write wearing is something I would like to verify and make sure it fits with our write capacity requirements. I am trying to grok the smartctl output here below, but don't know what to look at that would tell me how many writes the MLC has taken and how much is left. Given the docs on the SMART output for the 320 I suspect its in the unknown attributes but not sure.
Regards,
Josh
320 Series SSDSA2CW300G3 MLC Solid State Drive
# smartctl -a /dev/sde
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model: INTEL SSDSA2CW300G3
Serial Number: CVPR111002XL300EGN
Firmware Version: 4PC10302
User Capacity: 300,069,052,416 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Wed Apr 13 17:41:13 2011 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== 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: ( 1) seconds.
Offline data collection
capabilities: (0x71) SMART execute Offline immediate.
No Auto Offline data collection support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
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: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 1) minutes.
Conveyance self-test routine
recommended polling time: ( 1) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
3 Spin_Up_Time 0x0020 100 100 000 Old_age Offline - 0
4 Start_Stop_Count 0x0030 100 100 000 Old_age Offline - 0
5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 117
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 2
170 Unknown_Attribute 0x0033 100 100 010 Pre-fail Always - 0
171 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
172 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
184 Unknown_Attribute 0x0033 100 100 090 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 2
225 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 16048
226 Load-in_Time 0x0032 100 100 000 Old_age Always - 36
227 Torq-amp_Count 0x0032 100 100 000 Old_age Always - 48
228 Power-off_Retract_Count 0x0032 100 100 000 Old_age Always - 269162
232 Unknown_Attribute 0x0033 100 100 010 Pre-fail Always - 0
233 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
241 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 16048
242 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 18807
The version of smartmontools you are using is *significantly* old. It has no knowledge of SSDs, and thats proven by the "Not in drive database" message at the top. It's incredibly important that people using SMART utilities understand in full the data they're looking at, and take the time to read every single line and *understand* those lines. The same advice goes for people who stare at RAW_VALUE and think it's a 1:1 counter; it's not.
Please upgrade to smartmontools 5.40 or (better) 5.41 (development) and then provide the output here. We can talk about the results after you do that.
There are various values you can use for this.
See details in http://download.intel.com/design/flash/nand/325170.pdf (page 7) - the following infos are from this PDF:
Timed Workload Media Wear Indicator — ID E2h (226 in smartctl output):
This attribute tracks the drive wear seen by the device during the last wear timer loop, as a percentage of the maximum rated cycles. The raw value tracks the percentage up to 3 decimal points. This value should be divided by 1024 to get the percentage.
For example: if the raw value is 4450, the percentage is 4450/1024 = 4.345%. The raw value is held at FFFFh until the wear timer (attribute E4h) reaches 60 (minutes). The normalized value is always set to 100 and should be ignored.
Timed Workload Host Reads Percentage — ID E3h (227 in smartctl output):
This attribute shows the percentage of I/O operations that are read operations during the last workload timer loop. The raw value tracks this percentage and is held at FFFFh until the workload timer (attribute E4h) reaches 60 (minutes). The normalized value is always set to 100 and should be ignored.
Workload Timer — ID E4h (228 in smartctl output):
This attribute is used to measure the time elapsed during the current workload. The attribute is reset when a SMART EXECUTE OFFLINE IMMEDIATE (D4h) subcommand 40h is issued to the drive. The raw value tracks the time in minutes and has a maximum value of 232 = 4,294,967,296 minutes (8,171 years). The normalized value is always set to 100 and should be ignored.
In the PDF you find on page 9 details on how to calculate the drive wear.
best regards,
Werner
Just a remark:
226 Load-in_Time 0x0032 100 100 000 Old_age Always - 36 -> 0.03515625 %
227 Torq-amp_Count 0x0032 100 100 000 Old_age Always - 48 -> 48% read percentage
228 Power-off_Retract_Count 0x0032 100 100 000 Old_age Always - 269162 -> in minutes -> 4486 hours 2 minutes -> 186 days 22 hours 2 minutes
For value 228 you maybe have to substract 65535 before (see below). Then it would be 203627 minutes -> 3393.78 hours -> 141.4 days
Not sure if this could be true. To be sure, better update smartctl as mentioned by koitsu
My 320 Series SSD with 160 GB had the following values when it was brand-new (I did not issue a single I/O before querying the SMART values here):
root@ubuntu-10-10:~# smartctl -A /dev/sdb
smartctl 5.40 2010-03-16 r3077 [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: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
3 Spin_Up_Time 0x0020 100 100 000 Old_age Offline - 0
4 Start_Stop_Count 0x0030 100 100 000 Old_age Offline - 0
5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 3
170 Unknown_Attribute 0x0033 100 100 010 Pre-fail Always - 0
171 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
172 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0033 100 100 090 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 1
225 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 5
226 Load-in_Time 0x0032 100 100 000 Old_age Always - 65535
227 Torq-amp_Count 0x0032 100 100 000 Old_age Always - 65535
228 Power-off_Retract_Count 0x0032 100 100 000 Old_age Always - 65535
232 Available_Reservd_Space 0x0033 100 100 010 Pre-fail Always - 0
233 Media_Wearout_Indicator 0x0032 100 100 000 Old_age Always - 0
241 Total_LBAs_Written 0x0032 100 100 000 Old_age Always - 5
242 Total_LBAs_Read 0x0032 100 100 000 Old_age Always - 12
You do not have to subtract 65535; I'm not sure what gives you that idea. :-)
65535 is the default power-on/reset value for the attribute. After about 30 seconds of I/O the attribute should increment to zero (65535 -> 0) and work fine after that. This can be reproduced by resetting attributes 226/227/228 to factory defaults by doing "smartctl -t vendor,0x40 /dev/disk".
To the OP and Werner: smartmontools 5.41 is out (non-development), and has appropriate SSD support for the newer (320, 510, etc.) Intel-series SSDs. Attributes will be properly labelled.
Thanks for your clarification koitsu! I'm currently on a trip, not having access to my 320 Series 160GB SSD - so I thought that 65535 must be substracted, not knowing that after 30 seconds of I/O the value goes to 0.
I'll try smartmontools 5.41 once I'm back.
Thanks and best regards,
Werner
I have now compiled smartmontools 5.41 and the attributes are now labelled correctly:
user@ubuntu-10-10:~$ sudo /usr/local/sbin/smartctl -A /dev/sdb
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-2.6.35-28-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 5
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
3 Spin_Up_Time 0x0020 100 100 000 Old_age Offline - 0
4 Start_Stop_Count 0x0030 100 100 000 Old_age Offline - 0
5 Reallocated_Sector_Ct 0x0032 100 100 000 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 4
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 16
170 Reserve_Block_Count 0x0033 100 100 010 Pre-fail Always - 0
171 Program_Fail_Count 0x0032 100 100 000 Old_age Always - 0
172 Erase_Fail_Count 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0033 100 100 090 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
192 Unsafe_Shutdown_Count 0x0032 100 100 000 Old_age Always - 0
225 Host_Writes_32MiB 0x0032 100 100 000 Old_age Always - 9587
226 Workld_Media_Wear_Indic 0x0032 100 100 000 Old_age Always - 230
227 Workld_Host_Reads_Perc 0x0032 100 100 000 Old_age Always - 0
228 Workload_Minutes 0x0032 100 100 000 Old_age Always - 2832
232 Available_Reservd_Space 0x0033 100 100 010 Pre-fail Always - 0
233 Media_Wearout_Indicator 0x0032 100 100 000 Old_age Always - 0
241 Host_Writes_32MiB 0x0032 100 100 000 Old_age Always - 9587
242 Host_Reads_32MiB 0x0032 100 100 000 Old_age Always - 5755
Thanks for your help!
Hi~
I am not able to get temperature reading out from the smartctl. is there any way i can get them in linux?
as for normal HDD i uses:-
smartctl -a /dev/sda | grep -i Temperature
the above command works for normal disk. and not for SSD.
Please advice.
FYI, using smartmontools version5.37 and I am new to Linux, not sure how to update to 5.41 yet. Looking for rpm file.
Thanks.
Regards,
XX Ong
Hi XX Ong,
not every HDD and SSD must have a temperature sensor inside. I think nearly all HDDs have temperature sensors. Intel 320 Series SSDs don't seem to have a temperature sensor, at least they do not report temperature values via SMART.
The example below shows a SSD with a temperature sensor - in this case a Samsung 470 Series SSD:
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-2.6.38.8-32.fc15.x86_64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: SAMSUNG 470 Series SSD
[...]
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
9 Power_On_Hours 0x0032 099 099 --- Old_age Always - 2
12 Power_Cycle_Count 0x0032 099 099 --- Old_age Always - 8
177 Wear_Leveling_Count 0x0013 100 100 --- Pre-fail Always - 0
178 Used_Rsvd_Blk_Cnt_Chip 0x0013 075 075 --- Pre-fail Always - 490
190 Airflow_Temperature_Cel 0x0022 072 071 --- Old_age Always - 28
235 Unknown_Attribute 0x0012 099 099 --- Old_age Always - 6
Regards,
Werner
No Intel SSD, as of this writing, have thermistors inside of them. So you will not be able to monitor SSD temperature with Intel drives. Many other SSD companies also do not include thermistors, so assuming one exists is a bad assumption.
Thanks Werner,
Thanks for the information. It helps alot.
Regards,
XX Ong

