Hardware/HDD/SmartNames.cs
author moel.mich
Tue, 14 Feb 2012 23:07:55 +0000
changeset 340 600962f8a298
parent 328 f837f9f0973e
child 344 3145aadca3d2
permissions -rw-r--r--
Added a new sensor type "Factor" for dimensionless values (and similar) that are not to be shown as percent ("Level" type). Changed the write amplification sensor to use the new "Factor" sensor type. Added the temperature SMART attribute for Sandforce SSDs as hidden sensor (as it may show fake results on some hardware).
moel@328
     1
/*
moel@328
     2
  
moel@328
     3
  Version: MPL 1.1/GPL 2.0/LGPL 2.1
moel@328
     4
moel@328
     5
  The contents of this file are subject to the Mozilla Public License Version
moel@328
     6
  1.1 (the "License"); you may not use this file except in compliance with
moel@328
     7
  the License. You may obtain a copy of the License at
moel@328
     8
 
moel@328
     9
  http://www.mozilla.org/MPL/
moel@328
    10
moel@328
    11
  Software distributed under the License is distributed on an "AS IS" basis,
moel@328
    12
  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
moel@328
    13
  for the specific language governing rights and limitations under the License.
moel@328
    14
moel@328
    15
  The Original Code is the Open Hardware Monitor code.
moel@328
    16
moel@328
    17
  The Initial Developer of the Original Code is 
moel@328
    18
  Roland Reinl <roland-reinl@gmx.de>.
moel@328
    19
  Portions created by the Initial Developer are Copyright (C) 2011
moel@328
    20
  the Initial Developer. All Rights Reserved.
moel@328
    21
moel@328
    22
  Contributor(s):
moel@328
    23
    Michael Möller <m.moeller@gmx.ch>
moel@328
    24
 
moel@328
    25
  Alternatively, the contents of this file may be used under the terms of
moel@328
    26
  either the GNU General Public License Version 2 or later (the "GPL"), or
moel@328
    27
  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
moel@328
    28
  in which case the provisions of the GPL or the LGPL are applicable instead
moel@328
    29
  of those above. If you wish to allow use of your version of this file only
moel@328
    30
  under the terms of either the GPL or the LGPL, and not to allow others to
moel@328
    31
  use your version of this file under the terms of the MPL, indicate your
moel@328
    32
  decision by deleting the provisions above and replace them with the notice
moel@328
    33
  and other provisions required by the GPL or the LGPL. If you do not delete
moel@328
    34
  the provisions above, a recipient may use your version of this file under
moel@328
    35
  the terms of any one of the MPL, the GPL or the LGPL.
moel@328
    36
 
moel@328
    37
*/
moel@328
    38
moel@328
    39
namespace OpenHardwareMonitor.Hardware.HDD {
moel@328
    40
  /// <summary>
moel@328
    41
  /// Localization class for SMART attribute names.
moel@328
    42
  /// </summary>
moel@328
    43
  internal static class SmartNames {
moel@328
    44
moel@328
    45
    public static string AirflowTemperature {
moel@328
    46
      get { return "Airflow Temperature"; }
moel@328
    47
    }
moel@328
    48
moel@328
    49
    public static string Temperature {
moel@328
    50
      get { return "Temperature"; }
moel@328
    51
    }
moel@328
    52
moel@328
    53
    public static string RetiredBlockCount {
moel@328
    54
      get { return "Retired Block Count"; }
moel@328
    55
    }
moel@328
    56
moel@328
    57
    public static string ProgramFailCount {
moel@328
    58
      get { return "Program Fail Count"; }
moel@328
    59
    }
moel@328
    60
moel@328
    61
    public static string EraseFailCount {
moel@328
    62
      get { return "Erase Fail Count"; }
moel@328
    63
    }
moel@328
    64
moel@328
    65
    public static string UnexpectedPowerLossCount {
moel@328
    66
      get { return "Unexpected Power Loss Count"; }
moel@328
    67
    }
moel@328
    68
moel@328
    69
    public static string WearRangeDelta {
moel@328
    70
      get { return "Wear Range Delta"; }
moel@328
    71
    }
moel@328
    72
moel@328
    73
    public static string AlternativeProgramFailCount {
moel@328
    74
      get { return "Alternative Program Fail Count"; }
moel@328
    75
    }
moel@328
    76
moel@328
    77
    public static string AlternativeEraseFailCount {
moel@328
    78
      get { return "Alternative Erase Fail Count"; }
moel@328
    79
    }
moel@328
    80
moel@328
    81
    public static string UnrecoverableEcc {
moel@328
    82
      get { return "Unrecoverable ECC"; }
moel@328
    83
    }
moel@328
    84
moel@328
    85
    public static string ReallocationEventCount {
moel@328
    86
      get { return "Reallocation Event Count"; }
moel@328
    87
    }
moel@328
    88
moel@328
    89
    public static string RemainingLife {
moel@328
    90
      get { return "Remaining Life"; }
moel@328
    91
    }
moel@328
    92
moel@328
    93
    public static string AvailableReservedSpace {
moel@328
    94
      get { return "Available Reserved Space"; }
moel@328
    95
    }
moel@328
    96
moel@328
    97
    public static string CalibrationRetryCount {
moel@328
    98
      get { return "Calibration Retry Count"; }
moel@328
    99
    }
moel@328
   100
moel@328
   101
    public static string CommandTimeout {
moel@328
   102
      get { return "Command Timeout"; }
moel@328
   103
    }
moel@328
   104
moel@328
   105
    public static string CurrentPendingSectorCount {
moel@328
   106
      get { return "Current Pending Sector Count"; }
moel@328
   107
    }
moel@328
   108
moel@328
   109
    public static string DataAddressMarkErrors {
moel@328
   110
      get { return "Data Address Mark errors"; }
moel@328
   111
    }
moel@328
   112
moel@328
   113
    public static string DiskShift {
moel@328
   114
      get { return "Disk Shift"; }
moel@328
   115
    }
moel@328
   116
moel@328
   117
    public static string DriveTemperature {
moel@328
   118
      get { return "Drive Temperature"; }
moel@328
   119
    }
moel@328
   120
moel@328
   121
    public static string EmergencyRetractCycleCount {
moel@328
   122
      get { return "Emergency Retract Cycle Count"; }
moel@328
   123
    }
moel@328
   124
moel@328
   125
    public static string EndToEndError {
moel@328
   126
      get { return "End-to-End error"; }
moel@328
   127
    }
moel@328
   128
moel@328
   129
    public static string EnduranceRemaining {
moel@328
   130
      get { return "Endurance Remaining"; }
moel@328
   131
    }
moel@328
   132
moel@328
   133
    public static string FlyingHeight {
moel@328
   134
      get { return "Flying Height"; }
moel@328
   135
    }
moel@328
   136
moel@328
   137
    public static string FreeFallProtection {
moel@328
   138
      get { return "Free Fall Protection"; }
moel@328
   139
    }
moel@328
   140
moel@328
   141
    public static string GmrHeadAmplitude {
moel@328
   142
      get { return "GMR Head Amplitude"; }
moel@328
   143
    }
moel@328
   144
moel@328
   145
    public static string GSenseErrorRate {
moel@328
   146
      get { return "G-sense Error Rate"; }
moel@328
   147
    }
moel@328
   148
moel@328
   149
    public static string HardwareEccRecovered {
moel@328
   150
      get { return "Hardware ECC Recovered"; }
moel@328
   151
    }
moel@328
   152
moel@328
   153
    public static string HeadFlyingHours {
moel@328
   154
      get { return "Head Flying Hours"; }
moel@328
   155
    }
moel@328
   156
moel@328
   157
    public static string HeadStability {
moel@328
   158
      get { return "Head Stability"; }
moel@328
   159
    }
moel@328
   160
moel@328
   161
    public static string HighFlyWrites {
moel@328
   162
      get { return "High Fly Writes"; }
moel@328
   163
    }
moel@328
   164
moel@328
   165
    public static string InducedOpVibrationDetection {
moel@328
   166
      get { return "Induced Op-Vibration Detection"; }
moel@328
   167
    }
moel@328
   168
moel@328
   169
    public static string LoadedHours {
moel@328
   170
      get { return "Loaded Hours"; }
moel@328
   171
    }
moel@328
   172
moel@328
   173
    public static string LoadFriction {
moel@328
   174
      get { return "Load Friction"; }
moel@328
   175
    }
moel@328
   176
moel@328
   177
    public static string LoadInTime {
moel@328
   178
      get { return "Load 'In'-time"; }
moel@328
   179
    }
moel@328
   180
moel@328
   181
    public static string LoadUnloadCycleCount {
moel@328
   182
      get { return "Load/Unload Cycle Count"; }
moel@328
   183
    }
moel@328
   184
moel@328
   185
    public static string LoadUnloadCycleCountFujitsu {
moel@328
   186
      get { return "Load/Unload Cycle Count (Fujitus)"; }
moel@328
   187
    }
moel@328
   188
moel@328
   189
    public static string LoadUnloadRetryCount {
moel@328
   190
      get { return "Load/Unload Retry Count"; }
moel@328
   191
    }
moel@328
   192
moel@328
   193
    public static string MediaWearoutIndicator {
moel@328
   194
      get { return "Media Wearout Indicator"; }
moel@328
   195
    }
moel@328
   196
moel@328
   197
    public static string MultiZoneErrorRate {
moel@328
   198
      get { return "Multi-Zone Error Rate"; }
moel@328
   199
    }
moel@328
   200
moel@328
   201
    public static string OfflineSeekPerformance {
moel@328
   202
      get { return "Offline Seek Performance"; }
moel@328
   203
    }
moel@328
   204
moel@328
   205
    public static string PowerCycleCount {
moel@328
   206
      get { return "Power Cycle Count"; }
moel@328
   207
    }
moel@328
   208
moel@328
   209
    public static string PowerOffRetractCycle {
moel@328
   210
      get { return "Power-Off Retract Cycle"; }
moel@328
   211
    }
moel@328
   212
moel@328
   213
    public static string PowerOnHours {
moel@328
   214
      get { return "Power-On Hours (POH)"; }
moel@328
   215
    }
moel@328
   216
moel@328
   217
    public static string ReadChannelMargin {
moel@328
   218
      get { return "Read Channel Margin"; }
moel@328
   219
    }
moel@328
   220
moel@328
   221
    public static string ReadErrorRate {
moel@328
   222
      get { return "Read Error Rate"; }
moel@328
   223
    }
moel@328
   224
moel@328
   225
    public static string ReadErrorRetryRate {
moel@328
   226
      get { return "Read Error Retry Rate"; }
moel@328
   227
    }
moel@328
   228
moel@328
   229
    public static string ReallocatedSectorsCount {
moel@328
   230
      get { return "Reallocated Sectors Count"; }
moel@328
   231
    }
moel@328
   232
moel@328
   233
    public static string ReportedUncorrectableErrors {
moel@328
   234
      get { return "Reported Uncorrectable Errors"; }
moel@328
   235
    }
moel@328
   236
moel@328
   237
    public static string RunOutCancel {
moel@328
   238
      get { return "Run Out Cancel"; }
moel@328
   239
    }
moel@328
   240
moel@328
   241
    public static string SataDownshiftErrorCount {
moel@328
   242
      get { return "SATA Downshift Error Count"; }
moel@328
   243
    }
moel@328
   244
moel@328
   245
    public static string SeekErrorRate {
moel@328
   246
      get { return "Seek Error Rate"; }
moel@328
   247
    }
moel@328
   248
moel@328
   249
    public static string SeekTimePerformance {
moel@328
   250
      get { return "Seek Time Performance"; }
moel@328
   251
    }
moel@328
   252
moel@328
   253
    public static string ShockDuringWrite {
moel@328
   254
      get { return "Shock During Write"; }
moel@328
   255
    }
moel@328
   256
moel@328
   257
    public static string SoftEccCorrection {
moel@328
   258
      get { return "Soft ECC Correction"; }
moel@328
   259
    }
moel@328
   260
moel@328
   261
    public static string SoftReadErrorRate {
moel@328
   262
      get { return "Soft Read Error Rate"; }
moel@328
   263
    }
moel@328
   264
moel@328
   265
    public static string SpinBuzz {
moel@328
   266
      get { return "Spin Buzz"; }
moel@328
   267
    }
moel@328
   268
moel@328
   269
    public static string SpinHighCurrent {
moel@328
   270
      get { return "Spin High Current"; }
moel@328
   271
    }
moel@328
   272
moel@328
   273
    public static string SpinRetryCount {
moel@328
   274
      get { return "Spin Retry Count"; }
moel@328
   275
    }
moel@328
   276
moel@328
   277
    public static string SpinUpTime {
moel@328
   278
      get { return "Spin-Up Time"; }
moel@328
   279
    }
moel@328
   280
moel@328
   281
    public static string StartStopCount {
moel@328
   282
      get { return "Start/Stop Count"; }
moel@328
   283
    }
moel@328
   284
moel@328
   285
    public static string TaCounterDetected {
moel@328
   286
      get { return "TA Counter Detected"; }
moel@328
   287
    }
moel@328
   288
moel@328
   289
    public static string TemperatureDifferenceFrom100 {
moel@328
   290
      get { return "Temperature Difference from 100"; }
moel@328
   291
    }
moel@328
   292
moel@328
   293
    public static string ThermalAsperityRate {
moel@328
   294
      get { return "Thermal Asperity Rate (TAR)"; }
moel@328
   295
    }
moel@328
   296
moel@328
   297
    public static string ThroughputPerformance {
moel@328
   298
      get { return "Throughput Performance"; }
moel@328
   299
    }
moel@328
   300
moel@328
   301
    public static string TorqueAmplificationCount {
moel@328
   302
      get { return "Torque Amplification Count"; }
moel@328
   303
    }
moel@328
   304
moel@328
   305
    public static string TotalLbasRead {
moel@328
   306
      get { return "Total LBAs Read"; }
moel@328
   307
    }
moel@328
   308
moel@328
   309
    public static string TotalLbasWritten {
moel@328
   310
      get { return "Total LBAs Written"; }
moel@328
   311
    }
moel@328
   312
moel@328
   313
    public static string TransferErrorRate {
moel@328
   314
      get { return "Transfer Error Rate"; }
moel@328
   315
    }
moel@328
   316
moel@328
   317
    public static string UltraDmaCrcErrorCount {
moel@328
   318
      get { return "UltraDMA CRC Error Count"; }
moel@328
   319
    }
moel@328
   320
moel@328
   321
    public static string UncorrectableSectorCount {
moel@328
   322
      get { return "Uncorrectable Sector Count"; }
moel@328
   323
    }
moel@328
   324
moel@328
   325
    public static string Unknown {
moel@328
   326
      get { return "Unknown"; }
moel@328
   327
    }
moel@328
   328
moel@328
   329
    public static string VibrationDuringWrite {
moel@328
   330
      get { return "Vibration During Write"; }
moel@328
   331
    }
moel@328
   332
moel@328
   333
    public static string WriteErrorRate {
moel@328
   334
      get { return "Write Error Rate"; }
moel@328
   335
    }
moel@328
   336
moel@328
   337
    public static string RecalibrationRetries {
moel@328
   338
      get { return "Recalibration Retries"; }
moel@328
   339
    }
moel@328
   340
moel@328
   341
    public static string LoadCycleCount {
moel@328
   342
      get { return "Load Cycle Count"; }
moel@328
   343
    }
moel@328
   344
moel@328
   345
    public static string AlternativeGSenseErrorRate {
moel@328
   346
      get { return "Alternative G-Sense Error Rate"; }
moel@328
   347
    }
moel@328
   348
moel@328
   349
    public static string InitialBadBlockCount {
moel@328
   350
      get { return "Initial Bad Block Count"; }
moel@328
   351
    }
moel@328
   352
moel@328
   353
    public static string ProgramFailure {
moel@328
   354
      get { return "Program Failure"; }
moel@328
   355
    }
moel@328
   356
moel@328
   357
    public static string EraseFailure {
moel@328
   358
      get { return "Erase Failure"; }
moel@328
   359
    }
moel@328
   360
moel@328
   361
    public static string ReadFailure {
moel@328
   362
      get { return "Read Failure"; }
moel@328
   363
    }
moel@328
   364
moel@328
   365
    public static string SectorsRead {
moel@328
   366
      get { return "Sectors Read"; }
moel@328
   367
    }
moel@328
   368
moel@328
   369
    public static string SectorsWritten {
moel@328
   370
      get { return "Sectors Written"; }
moel@328
   371
    }
moel@328
   372
moel@328
   373
    public static string ReadCommands {
moel@328
   374
      get { return "Read Commands"; }
moel@328
   375
    }
moel@328
   376
moel@328
   377
    public static string WriteCommands {
moel@328
   378
      get { return "Write Commands"; }
moel@328
   379
    }
moel@328
   380
moel@328
   381
    public static string BitErrors {
moel@328
   382
      get { return "Bit Errors"; }
moel@328
   383
    }
moel@328
   384
moel@328
   385
    public static string CorrectedErrors {
moel@328
   386
      get { return "Corrected Errors"; }
moel@328
   387
    }
moel@328
   388
moel@328
   389
    public static string BadBlockFullFlag {
moel@328
   390
      get { return "Bad Block Full Flag"; }
moel@328
   391
    }
moel@328
   392
moel@328
   393
    public static string MaxCellCycles {
moel@328
   394
      get { return "Max Cell Cycles"; }
moel@328
   395
    }
moel@328
   396
moel@328
   397
    public static string MinErase {
moel@328
   398
      get { return "Min Erase"; }
moel@328
   399
    }
moel@328
   400
moel@328
   401
    public static string MaxErase {
moel@328
   402
      get { return "Max Erase"; }
moel@328
   403
    }
moel@328
   404
moel@328
   405
    public static string AverageEraseCount {
moel@328
   406
      get { return "Average Erase Count"; }
moel@328
   407
    }
moel@328
   408
moel@328
   409
    public static string UnknownUnique {
moel@328
   410
      get { return "Unknown Unique"; }
moel@328
   411
    }
moel@328
   412
moel@328
   413
    public static string SataErrorCountCrc {
moel@328
   414
      get { return "SATA Error Count CRC"; }
moel@328
   415
    }
moel@328
   416
moel@328
   417
    public static string SataErrorCountHandshake {
moel@328
   418
      get { return "SATA Error Count Handshake"; }
moel@328
   419
    }
moel@328
   420
moel@328
   421
    public static string UnsafeShutdownCount {
moel@328
   422
      get { return "Unsafe Shutdown Count"; }
moel@328
   423
    }
moel@328
   424
moel@328
   425
    public static string HostWrites {
moel@328
   426
      get { return "Host Writes"; }
moel@328
   427
    }
moel@328
   428
moel@328
   429
    public static string HostReads {
moel@328
   430
      get { return "Host Reads"; }
moel@328
   431
    }
moel@328
   432
moel@328
   433
    public static string MediaWearOutIndicator {
moel@328
   434
      get { return "Media Wear Out Indicator"; }
moel@328
   435
    }    
moel@328
   436
moel@328
   437
    public static string ProgramFailCountChip {
moel@328
   438
      get { return "Program Fail Count (Chip)"; }
moel@328
   439
    }
moel@328
   440
moel@328
   441
    public static string EraseFailCountChip {
moel@328
   442
      get { return "Erase Fail Count (Chip)"; }
moel@328
   443
    }
moel@328
   444
moel@328
   445
    public static string WearLevelingCount {
moel@328
   446
      get { return "Wear Leveling Count"; }
moel@328
   447
    }
moel@328
   448
moel@328
   449
    public static string UsedReservedBlockCountChip {
moel@328
   450
      get { return "Used Reserved Block Count (Chip)"; }
moel@328
   451
    }
moel@328
   452
moel@328
   453
    public static string UsedReservedBlockCountTotal {
moel@328
   454
      get { return "Used Reserved Block Count (Total)"; }
moel@328
   455
    }
moel@328
   456
moel@328
   457
    public static string ProgramFailCountTotal {
moel@328
   458
      get { return "Program Fail Count (Total)"; }
moel@328
   459
    }
moel@328
   460
moel@328
   461
    public static string EraseFailCountTotal {
moel@328
   462
      get { return "Erase Fail Count (Total)"; }
moel@328
   463
    }
moel@328
   464
moel@328
   465
    public static string RuntimeBadBlockTotal {
moel@328
   466
      get { return "Runtime Bad Block Total"; }
moel@328
   467
    }
moel@328
   468
moel@328
   469
    public static string UncorrectableErrorCount {
moel@328
   470
      get { return "Uncorrectable Error Count"; }
moel@328
   471
    }
moel@328
   472
moel@328
   473
    public static string TemperatureExceedCount {
moel@328
   474
      get { return "Temperature Exceed Count"; }
moel@328
   475
    }
moel@328
   476
moel@328
   477
    public static string ECCRate {
moel@328
   478
      get { return "ECC Rate"; }
moel@328
   479
    }
moel@328
   480
moel@328
   481
    public static string OffLineUncorrectableErrorCount {
moel@328
   482
      get { return "Off-Line Uncorrectable Error Count"; }
moel@328
   483
    }
moel@328
   484
moel@328
   485
    public static string CRCErrorCount {
moel@328
   486
      get { return "CRC Error Count"; }
moel@328
   487
    }
moel@328
   488
moel@328
   489
    public static string SupercapStatus {
moel@328
   490
      get { return "Supercap Status"; }
moel@328
   491
    }
moel@328
   492
moel@328
   493
    public static string ExceptionModeStatus {
moel@328
   494
      get { return "Exception Mode Status"; }
moel@328
   495
    }
moel@339
   496
moel@339
   497
    public static string ControllerWritesToNAND {
moel@339
   498
      get { return "Controller Writes to NAND"; }
moel@339
   499
    }
moel@339
   500
moel@339
   501
    public static string HostWritesToController {
moel@339
   502
      get { return "Host Writes to Controller"; }
moel@339
   503
    }
moel@339
   504
moel@339
   505
    public static string RawReadErrorRate {
moel@339
   506
      get { return "Raw Read Error Rate"; }
moel@339
   507
    }
moel@328
   508
  }
moel@328
   509
}