I just got some OCZ Vertex 2 SSD's (240 gig) today and I went looking for a way to monitor how quickly I will exhaust the write lifetime of the drive under our workload.

I tried running the version of smartctl that is available by default in CentOS 5.5, but many of the attributes do not make sense (see below).

I then downloaded 5.39.1 along with the latest drivedb.h (from SVN) but I still am having issues making heads or tails of many of the attributes (see way below).

I am going to make the wild and crazy assumption that all of the disks that I got are not simultaneously getting millions of read errors.  ;-)

Please let me know if I can run any more tests or provide other output in order to get this device recognized in the database properly.

Thanks in advance!

[root@qa01 ~]# smartctl -A /dev/sdb
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   117   110   050    Pre-fail  Always       -       162733300
  5 Reallocated_Sector_Ct   0x0033   094   094   003    Pre-fail  Always       -       2304
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       17815524343817
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       3
171 Unknown_Attribute       0x0000   000   000   000    Old_age   Offline  FAILING_NOW 0
172 Unknown_Attribute       0x0000   000   000   000    Old_age   Offline  FAILING_NOW 0
174 Unknown_Attribute       0x0030   000   000   000    Old_age   Offline  FAILING_NOW 1
177 Unknown_Attribute       0x0000   000   000   000    Old_age   Offline  FAILING_NOW 0
177 Unknown_Attribute       <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
181 Unknown_Attribute       <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
181 Unknown_Attribute       0x0000   000   000   000    Old_age   Offline  FAILING_NOW 0
181 Unknown_Attribute       <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
182 Unknown_Attribute       <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
182 Unknown_Attribute       0x0000   000   000   000    Old_age   Offline  FAILING_NOW 0
182 Unknown_Attribute       <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
187 Reported_Uncorrect      <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
187 Reported_Uncorrect      <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
194 Temperature_Celsius     <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
194 Temperature_Celsius     0x0022   000   000   000    Old_age   Always   FAILING_NOW 0
194 Temperature_Celsius     <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
195 Hardware_ECC_Recovered  <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
195 Hardware_ECC_Recovered  0x001c   117   110   003    Old_age   Offline      -       162733300
195 Hardware_ECC_Recovered  <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
196 Reallocated_Event_Count <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
196 Reallocated_Event_Count 0x0033   100   100   010    Pre-fail  Always       -       0
196 Reallocated_Event_Count <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
231 Temperature_Celsius     <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
231 Temperature_Celsius     0x0013   090   090   000    Pre-fail  Always       -       1
231 Temperature_Celsius     <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
233 Unknown_Attribute       <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
233 Unknown_Attribute       0x0000   000   000   000    Old_age   Offline  FAILING_NOW 128
233 Unknown_Attribute       <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
234 Unknown_Attribute       <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
234 Unknown_Attribute       0x0000   000   000   000    Old_age   Offline  FAILING_NOW 640
234 Unknown_Attribute       <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
241 Unknown_Attribute       <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
241 Unknown_Attribute       0x0032   000   000   000    Old_age   Always   FAILING_NOW 640
241 Unknown_Attribute       <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
242 Unknown_Attribute       <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
242 Unknown_Attribute       0x0032   000   000   000    Old_age   Always   FAILING_NOW 320
242 Unknown_Attribute       <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
  0 Unknown_Attribute       <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA





[root@qa01 smartmontools-5.39.1]# ./smartctl --all -B drivedb.h /dev/sdb
smartctl 5.39.1 2010-01-28 r3054 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     OCZ-VERTEX2 3.5
Serial Number:    OCZ-<removed>
Firmware Version: 1.11
User Capacity:    240,057,409,536 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 6
Local Time is:    Thu Aug 26 00:21:25 2010 PDT
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: (   0) seconds.
Offline data collection
capabilities: (0x7f) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Abort Offline collection upon new
command.
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: (  48) minutes.
Conveyance self-test routine
recommended polling time: (   2) minutes.
SCT capabilities:       (0x003d) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   117   110   050    Pre-fail  Always       -       169450146
  5 Reallocated_Sector_Ct   0x0033   094   094   003    Pre-fail  Always       -       2304
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       171601123344395
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       3
171 Unknown_Attribute       0x0000   000   000   000    Old_age   Offline      -       0
172 Unknown_Attribute       0x0000   000   000   000    Old_age   Offline      -       0
174 Unknown_Attribute       0x0030   000   000   000    Old_age   Offline      -       1
177 Wear_Leveling_Count     0x0000   000   000   ---    Old_age   Offline      -       0
177 Wear_Leveling_Count     <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
181 Program_Fail_Cnt_Total  <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
181 Program_Fail_Cnt_Total  0x0000   000   000   ---    Old_age   Offline      -       0
181 Program_Fail_Cnt_Total  <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
182 Erase_Fail_Count_Total  <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
182 Erase_Fail_Count_Total  0x0000   000   000   ---    Old_age   Offline      -       0
182 Erase_Fail_Count_Total  <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
187 Reported_Uncorrect      <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
187 Reported_Uncorrect      0x0032   100   100   ---    Old_age   Always       -       0
187 Reported_Uncorrect      <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
194 Temperature_Celsius     <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
194 Temperature_Celsius     0x0022   000   000   ---    Old_age   Always       -       0
194 Temperature_Celsius     <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
195 Hardware_ECC_Recovered  <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
195 Hardware_ECC_Recovered  0x001c   117   110   ---    Old_age   Offline      -       169450146
195 Hardware_ECC_Recovered  <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
196 Reallocated_Event_Count <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
196 Reallocated_Event_Count 0x0033   100   100   ---    Pre-fail  Always       -       0
196 Reallocated_Event_Count <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
231 Temperature_Celsius     <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
231 Temperature_Celsius     0x0013   090   090   ---    Pre-fail  Always       -       1
231 Temperature_Celsius     <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
233 Media_Wearout_Indicator <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
233 Media_Wearout_Indicator 0x0000   000   000   ---    Old_age   Offline      -       128
233 Media_Wearout_Indicator <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
234 Unknown_Attribute       <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
234 Unknown_Attribute       0x0000   000   000   ---    Old_age   Offline      -       640
234 Unknown_Attribute       <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
241 Total_LBAs_Written      <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
241 Total_LBAs_Written      0x0032   000   000   ---    Old_age   Always       -       640
241 Total_LBAs_Written      <== Data Page      |  WARNING: PREVIOUS ATTRIBUTE HAS TWO
242 Total_LBAs_Read         <== Threshold Page |  INCONSISTENT IDENTITIES IN THE DATA
242 Total_LBAs_Read         0x0032   000   000   ---    Old_age   Always       -       320

Error SMART Error Log Read failed: Input/output error
Smartctl: SMART Error Log Read Failed
Error SMART Error Self-Test Log Read failed: Input/output error
Smartctl: SMART Self Test Log Read Failed
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.

[root@qa01 smartmontools-5.39.1]# 



-Eric