SSDの寿命やメディアの摩耗レベルを確認する方法は?


31

私たちは皆、SSDの寿命があらかじめ決められていることを知っています。LinuxでSSDの現在のヘルスステータスを確認するにはどうすればよいですか?

ほとんどのGoogle検索結果では、Media_Wearout_Indicatorと呼ばれるパーセンテージフィールドのSMART情報、またはLongterm Data Enduranceのような他の専門用語インジケータ(存在しない)を検索するよう求められます-はい、2つのSSDをチェックしましたが、両方ともこれらのフィールドがありません。3番目のSSDを見つけることもできますが、フィールドは標準化されていないと感じています。

ここに問題を示すための2つの例があります。


最初のSSDでは、どのフィールドが摩耗レベルを示しているかは明確ではありません。ただし、RAW VALUEが1〜100のUnknown_Attributeが1つしかないため、探しているのはそれだけだと想定できます。

    $ sudo smartctl -A /dev/sda                                             
    smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-14-generic] (local build)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===                                 
    SMART Attributes Data Structure revision number: 1                       
    Vendor Specific SMART Attributes with Thresholds:                        
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      5 Reallocated_Sector_Ct   0x0002   100   100   000    Old_age   Always       -       0
      9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       6568
     12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       1555
    171 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    172 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       0
    173 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       57
    174 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       296
    187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
    230 Unknown_SSD_Attribute   0x0002   100   100   000    Old_age   Always       -       190
    232 Available_Reservd_Space 0x0003   100   100   005    Pre-fail  Always       -       0
    234 Unknown_Attribute       0x0002   100   100   000    Old_age   Always       -       350
    241 Total_LBAs_Written      0x0002   100   100   000    Old_age   Always       -       742687258
    242 Total_LBAs_Read         0x0002   100   100   000    Old_age   Always       -       1240775277

このSSDは書き換え寿命の57%を使用していますが、正しいですか?


もう一方のディスクでは、SSD_Life_Left ATTRIBUTEが際立っていますが、危険な状態にある(数日後に表示される)場合を除き、明らかに健全なSSDのRaw値は0で、残りの寿命は0%です。 「寿命が0%使用されました」と表示されている場合、摩耗したハードディスクでは不可能です(摩耗= 1年以上使用されています)。

    > sudo /usr/sbin/smartctl -A /dev/sda
    smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.11.6-4-desktop] (SUSE RPM)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === 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   104   100   050    Pre-fail  Always       -       0/8415644
      5 Retired_Block_Count     0x0033   100   100   003    Pre-fail  Always       -       0
      9 Power_On_Hours_and_Msec 0x0032   100   100   000    Old_age   Always       -       4757h+02m+17.130s
     12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1371
    171 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    172 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    174 Unexpect_Power_Loss_Ct  0x0030   000   000   000    Old_age   Offline      -       52
    177 Wear_Range_Delta        0x0000   000   000   000    Old_age   Offline      -       2
    181 Program_Fail_Count      0x0032   000   000   000    Old_age   Always       -       0
    182 Erase_Fail_Count        0x0032   000   000   000    Old_age   Always       -       0
    187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
    194 Temperature_Celsius     0x0022   030   030   000    Old_age   Always       -       30 (Min/Max 30/30)
    195 ECC_Uncorr_Error_Count  0x001c   104   100   000    Old_age   Offline      -       0/8415644
    196 Reallocated_Event_Count 0x0033   100   100   000    Pre-fail  Always       -       0
    231 SSD_Life_Left           0x0013   100   100   010    Pre-fail  Always       -       0
    233 SandForce_Internal      0x0000   000   000   000    Old_age   Offline      -       3712
    234 SandForce_Internal      0x0032   000   000   000    Old_age   Always       -       1152
    241 Lifetime_Writes_GiB     0x0032   000   000   000    Old_age   Always       -       1152
    242 Lifetime_Reads_GiB      0x0032   000   000   000    Old_age   Always       -       3072

SMART属性では、値がしきい値より低い(または等しい?わからない)場合、ドライブは常に警告を発するため、値が低いほど悪化します。そうは言っても、摩耗インジケータを持っていることは非常に良いことですが、貴重なデータを1つのストレージデバイスに信頼していないことを願っています。RAID配置で複数のストレージデバイスを実行する必要があります。
アレクシオス

私のデータが「貴重」であることをどのように知っていますか?これは、会社のknowledgabaseをラップトップにオフラインでコピーしたものです。私は、人々が頻繁にシスオペのシナリオを想定していると指摘するためにコメントします。とにかくコメントありがとうございます。
タンクマン六四

すべてのデータは貴重です。:)私たちはその原則に基づいて、次に、より貴重なデータ(たとえば、写真家のデジタル写真)とあまり重要ではないデータ(OS-交換は簡単ですが、ダウンタイムと時間/収益の損失が必要な場合)に進みます。交換してください)。
Alexios 14年

両方のドライブは耐久限度内にあります。最初のドライブには350 GiBしかなく、2番目のドライブには1.1 TiBしかありません。ここで何が起こっているのか
わかり

回答:


19

最初の例で、私が言及していると思うのは、Intelドライブの「Media Wearout Indicator」です。これは属性233です。 0は完全に使い古されています。あなたの出力によると、このフィールドは存在しないようです。

2番目の例では、SSD_Life_Leftに関する公式ドキュメントをお読みくださいそのページごと:

この属性のRAW値は常に0であり、意味はありません。代わりに、正規化されたVALUEを確認してください。100から始まり、SDD寿命の残りのおよその割合を示します。通常、Flashブロックが不良としてマークされると減少します。Retired_Block_CountのRAW値を参照してください

smartctl(8)が何を言っているかを完全に理解し、仮定を行わないことが本当に重要です。残念ながら、SMARTツールは常に最新のSSDとその属性について最新ではありません。そのため、チップが何回書き込まれたかを常に明確に把握できるとは限りません。あなたができる最善の方法は、「Power_On_Hours」(あなたの場合は「6568」)を見て、ディスクの平均使用率を決定し、それを平均化することです。

ドライブの仕様を調べて、チップの製造に使用するプロセスを決定できるはずです。32nmプロセスチップの書き込み耐久性は、24nmプロセスチップよりも長くなります。ただし、「平均」では、最低でも1,000から6,000までの書き込みで、おそらく約3,000〜4,000の書き込みを期待できるようです。したがって、64GB SSDを使用している場合、ウェアレベリングを想定して、SSDに書き込まれた合計192TBから256TBの付近のどこかを予想する必要があります。

たとえば、ドライブの使用率を約11 KBpsに維持している場合、1時間あたり約40 MBの書き込みが予想されます。電源オンの6568時間で、ディスクに約260 GBを書き込みました。おそらく失敗するまでに合計書き込みの約200 TBを維持できることを知っていれば、チップを使い果たして失敗するまでに約600年かかります。お使いのディスクは、コンデンサの摩耗や電圧調整のために故障する可能性があります。


9
とても明確、ありがとう。この知識は、smartctlまたはそのAPIを利用するGUIツールに最適化されています。結局、コンピューターを入力デバイスとして使用し、その前に人間をプロセッサーとして使用して計算機で計算することは、コンピューターが発明された精神に反します!
タンクマン六四

あなたのリンクは死んでいるようです
Skeleton Bow

15

Samsung SSDの場合、SMART属性177(ウェアレベリングカウント)を確認してください。

ID#177ウェアレベリングカウント

この属性は、メディアプログラムと消去操作の回数(ブロックが消去された回数)を表します。この値は、SSDの寿命に直接関係しています。この属性の生の値は、P / Eサイクルの総数を示します。

出典:http : //www.samsung.com/global/business/semiconductor/minisite/SSD/M2M/download/07_Communicating_With_Your_SSD.pdf

摩耗レベルインジケータは100から始まり、私が知ることができるものから1まで直線的に減少します。1の場合、ドライブは定格p / eサイクルのすべてを超えていますが、実際にはドライブの合計耐久性はその値を大幅に超える可能性があります。

出典:http : //www.anandtech.com/show/7173/samsung-ssd-840-evo-review-120gb-250gb-500gb-750gb-1tb-models-tested/3

私はあなたがその価値を超えることについての最後の声明を一粒の塩を取ることをお勧めします。


リンクはもう死んでいます。
計算の騎士

Wear_Leveling_Countの順序が逆になっていると思います。私は2つのSamsung SSDを持っています。4歳までのものは42のRAW_VALUEを持ち、もう1つは1ヶ月以内のものは0のRAW_VALUEを持っています。
ジョンエイケンベリー

4

IntelブランドのSSDを持っていない場合:注意してください!! Samsung SSDを使用していますが、smartmontools / smartctlによる誤った属性ラベル付けに完全に惑わされました。Intel以外のものがある場合は、https: //askubuntu.com/a/460463/65722で私の(おかしな)痛みの話が 役立つかもしれません。

情報品質と時間を費やした掘り出しの比率が私のものよりも良くなるように!


0

とサーバーを持っている LSI RAIDカード 7つのSamsung SSDをインストールしています。

そのようなことです

  • / dev / sdaは私のオペレーティングシステムSSDで、Raid ControllerによってJBODとしてマークされています。
  • 他の7つのSSDは、RAID 0(またはRAID-?)であるため、/ dev / sdbとしてのみ表示されます。

RAIDコントローラ背後にあるディスクの情報を取得するには、トリックが

smartctl --scan

{output is}
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/bus/0 -d megaraid,8 # /dev/bus/0 [megaraid_disk_08], SCSI device
/dev/bus/0 -d megaraid,9 # /dev/bus/0 [megaraid_disk_09], SCSI device
/dev/bus/0 -d megaraid,10 # /dev/bus/0 [megaraid_disk_10], SCSI device
/dev/bus/0 -d megaraid,11 # /dev/bus/0 [megaraid_disk_11], SCSI device
/dev/bus/0 -d megaraid,12 # /dev/bus/0 [megaraid_disk_12], SCSI device
/dev/bus/0 -d megaraid,13 # /dev/bus/0 [megaraid_disk_13], SCSI device
/dev/bus/0 -d megaraid,14 # /dev/bus/0 [megaraid_disk_14], SCSI device
/dev/bus/0 -d megaraid,15 # /dev/bus/0 [megaraid_disk_15], SCSI device

次に、次のようなsmartctl情報を取得します

  • WEAR_LEVELING_COUNT
  • POWER_ON_HOURS
  • TEMPERATURE_CELCIUS およびその他すべての優れたもの

ディスクごとに

smartctl -d megaraid,8 -all /dev/bus/0
smartctl -d megaraid,9 -all /dev/bus/0
smartctl -d megaraid,10 -all /dev/bus/0
{down to}
smartctl -d megaraid,15 -all /dev/bus/0

smartctlの構文はsmartctl [options] <device>

これは、複数のディスクが/ dev / sdb、/ dev / sdc、/ dev / sddなどの複数のデバイスとして表示されない場合に、RAIDカードにアクセスする方法です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.