Hardware/HDD/SmartNames.cs
author moel.mich
Mon, 02 Jan 2012 18:44:19 +0000
changeset 328 f837f9f0973e
child 339 07a6126a4796
permissions -rw-r--r--
Added SMART support for Samsung SSDs.
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@328
   496
  }
moel@328
   497
}