web-dev-qa-db-ja.com

SSDはどのくらい乾杯ですか、そしてその理由は何ですか?

私のSolid State DiskになるSuper Slim Doorstopper

私はこれが長い質問であることを知っていますが、私はそれをできるだけ精巧で有益なものにしようとしました。のために tl;dr質問の前半をスキップするだけですが、そこにある情報は問題に関連している可能性があると思います。

どうした

まず第一に、私は現在、大規模な熱波に苦しんでいる地域に住んでいます。私の部屋の内気温は2〜3週間で30°Cを下回ったことはありません。何日もの間、真夜中であっても、34°Cを下回ることはありませんでした。私はエアコンを持っていません、そして私のファンは実質的に何もしません。私のSSDの温度。センサーが壊れているようです(常に5°Cを報告します)、私のHDDはほとんど常に48°C、54°C、54°Cでした。 GPUは約60°C、CPUは約52°Cです。それは良くありませんが、それでも私には許容できるように聞こえます。

昨夜、すべてがフリーズするときに、64GBSSDで自分のPCであるArchLinuxを使用していました。私はもうマシンにSSHで接続することさえできませんでした。そのため、少なくともSSH接続を取得することを期待して30分待った後、電源をオフにする必要がありました。また、audacityを使用するとPCが非常に遅くなることがあることにも言及したいと思います(audacityはNTFSファイルシステムをサポートしていないようで、SSDは私が持っている唯一の非NTFSファイルシステムであるため、一時データをSSDに書き込みます)。私は this SSDがいっぱいになると遅くなるという質問に出くわしました。大胆な録音がたくさんあるため、SSDは毎日ではないにしても週に数回+ 95%の使用済みスペースになっていると言えます。

そのため、PCの電源を切った後、もう一度電源を入れようとしました。BIOS画面で、すべてのディスクを調べ、SSDにS.M.A.R.T. error。 (別のドライブで)grubを起動し、Arch(別のドライブでもパーティションを起動)で起動しようとすると、次のメッセージが表示されますDevice /dev/mapper/mydisk-root not found、または同様のもの。 mydisk-rootは、LUKS暗号化SSDのボリュームグループ内のルートパーティションである必要があります。そのため、何度か再起動を試みましたが、常に同じ結果が得られました。最終的にあきらめ、PCの電源を切り(PSUで)、スリープ状態になりました。

私が実行した次のアクション

目が覚めた後、ライブLinux USBを起動して、SMARTスキャン、dmesgを確認し、何でも実行したいと思いました。突然、BIOSがS.M.A.R.T. ok再び。私はライブUSBを使い続けましたが、いつものようにSSDのロックを解除してマウントすることができました。私も問題なく完全バックアップを実行することができました。

次に、SMARTテストを行いました。longテストは50%で2回失敗しました。詳細は以下を参照してください。shortテストが完了し、表示されません。最後に行ったSMARTテストは2週間前で、longテスト(テストログを参照)で、すべて問題ありませんでした。

質問1:SSDはどのくらい乾杯ですか?

これはSMART属性テーブルbeforeの出力です。テストを試したので、2週間行ったlongテストの結果であると思います。まだ前に:

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   100   100   001    Old_age   Always       -       23891
 12 Power_Cycle_Count       0x0032   100   100   001    Old_age   Always       -       1063
170 Grown_Failing_Block_Ct  0x0033   100   100   010    Pre-fail  Always       -       0
171 Program_Fail_Count      0x0032   100   100   001    Old_age   Always       -       10
172 Erase_Fail_Count        0x0032   100   100   001    Old_age   Always       -       0
173 Wear_Leveling_Count     0x0033   080   080   010    Pre-fail  Always       -       611
174 Unexpect_Power_Loss_Ct  0x0032   100   100   001    Old_age   Always       -       244
181 Non4k_Aligned_Access    0x0022   100   100   001    Old_age   Always       -       302 89 212
183 SATA_Iface_Downshift    0x0032   100   100   001    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   050    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   001    Old_age   Always       -       2
188 Command_Timeout         0x0032   100   100   001    Old_age   Always       -       0
189 Factory_Bad_Block_Ct    0x000e   100   100   001    Old_age   Always       -       58
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       0
195 Hardware_ECC_Recovered  0x003a   100   100   001    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   100   100   001    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   001    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   001    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   001    Old_age   Always       -       1
202 Perc_Rated_Life_Used    0x0018   080   080   001    Old_age   Offline      -       20
206 Write_Error_Rate        0x000e   100   100   001    Old_age   Always       -       10

これは完全な-a今日試行されたlongテストが失敗した後の結果(テストログを参照):

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x80) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Enabled.
Self-test execution status:      ( 117) The previous self-test completed having
                    the read element of the test failed.
Total time to complete Offline 
data collection:        (  295) seconds.
Offline data collection
capabilities:            (0x7b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend 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:    (   2) minutes.
Extended self-test routine
recommended polling time:    (   4) minutes.
Conveyance self-test routine
recommended polling time:    (   3) minutes.
SCT capabilities:          (0x003d) SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   100   100   001    Old_age   Always       -       23891
 12 Power_Cycle_Count       0x0032   100   100   001    Old_age   Always       -       1063
170 Grown_Failing_Block_Ct  0x0033   100   100   010    Pre-fail  Always       -       0
171 Program_Fail_Count      0x0032   100   100   001    Old_age   Always       -       10
172 Erase_Fail_Count        0x0032   100   100   001    Old_age   Always       -       0
173 Wear_Leveling_Count     0x0033   080   080   010    Pre-fail  Always       -       611
174 Unexpect_Power_Loss_Ct  0x0032   100   100   001    Old_age   Always       -       244
181 Non4k_Aligned_Access    0x0022   100   100   001    Old_age   Always       -       302 89 212
183 SATA_Iface_Downshift    0x0032   100   100   001    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   050    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   001    Old_age   Always       -       2
188 Command_Timeout         0x0032   100   100   001    Old_age   Always       -       0
189 Factory_Bad_Block_Ct    0x000e   100   100   001    Old_age   Always       -       58
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       0
195 Hardware_ECC_Recovered  0x003a   100   100   001    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   100   100   001    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   001    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   001    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   001    Old_age   Always       -       1
202 Perc_Rated_Life_Used    0x0018   080   080   001    Old_age   Offline      -       20
206 Write_Error_Rate        0x000e   100   100   001    Old_age   Always       -       10

SMART Error Log Version: 1
Warning: ATA error count 0 inconsistent with error log pointer 2

ATA Error Count: 0
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 0 occurred at disk power-on lifetime: 23890 hours (995 days + 10 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 50 00 d0 14 d1 40   at LBA = 0x00d114d0 = 13702352

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 d0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 08 c8 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 03 08 c0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 10 08 b8 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 08 b0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED

Error -1 occurred at disk power-on lifetime: 23890 hours (995 days + 10 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 50 00 d0 14 d1 40   at LBA = 0x00d114d0 = 13702352

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 d5 00 d8 13 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 00 d8 12 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 da 00 d8 11 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 d0 00 d8 10 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 d1 80 58 10 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       50%     23891         66387896
# 2  Extended offline    Completed: read failure       50%     23889         66387896
# 3  Extended offline    Completed without error       00%     23437         -
# 4  Short offline       Completed without error       00%       564         -
# 5  Vendor (0xff)       Completed without error       00%       558         -

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.

これは完全な-a今日試行されたshortテスト後の結果、成功しました:

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x80) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Enabled.
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:        (  295) seconds.
Offline data collection
capabilities:            (0x7b) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend 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:    (   2) minutes.
Extended self-test routine
recommended polling time:    (   4) minutes.
Conveyance self-test routine
recommended polling time:    (   3) minutes.
SCT capabilities:          (0x003d) SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   050    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   100   100   001    Old_age   Always       -       23891
 12 Power_Cycle_Count       0x0032   100   100   001    Old_age   Always       -       1063
170 Grown_Failing_Block_Ct  0x0033   100   100   010    Pre-fail  Always       -       0
171 Program_Fail_Count      0x0032   100   100   001    Old_age   Always       -       10
172 Erase_Fail_Count        0x0032   100   100   001    Old_age   Always       -       0
173 Wear_Leveling_Count     0x0033   080   080   010    Pre-fail  Always       -       611
174 Unexpect_Power_Loss_Ct  0x0032   100   100   001    Old_age   Always       -       244
181 Non4k_Aligned_Access    0x0022   100   100   001    Old_age   Always       -       302 89 212
183 SATA_Iface_Downshift    0x0032   100   100   001    Old_age   Always       -       0
184 End-to-End_Error        0x0033   100   100   050    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0032   100   100   001    Old_age   Always       -       2
188 Command_Timeout         0x0032   100   100   001    Old_age   Always       -       0
189 Factory_Bad_Block_Ct    0x000e   100   100   001    Old_age   Always       -       58
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       0
195 Hardware_ECC_Recovered  0x003a   100   100   001    Old_age   Always       -       0
196 Reallocated_Event_Count 0x0032   100   100   001    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   100   100   001    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   001    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   100   100   001    Old_age   Always       -       1
202 Perc_Rated_Life_Used    0x0018   080   080   001    Old_age   Offline      -       20
206 Write_Error_Rate        0x000e   100   100   001    Old_age   Always       -       10

SMART Error Log Version: 1
Warning: ATA error count 0 inconsistent with error log pointer 2

ATA Error Count: 0
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 0 occurred at disk power-on lifetime: 23890 hours (995 days + 10 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 50 00 d0 14 d1 40   at LBA = 0x00d114d0 = 13702352

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 08 d0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 08 c8 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 03 08 c0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 10 08 b8 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 08 b0 14 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED

Error -1 occurred at disk power-on lifetime: 23890 hours (995 days + 10 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  00 50 00 d0 14 d1 40   at LBA = 0x00d114d0 = 13702352

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 d5 00 d8 13 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 00 00 d8 12 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 da 00 d8 11 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 d0 00 d8 10 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED
  60 d1 80 58 10 d1 40 00   1d+05:22:14.080  READ FPDMA QUEUED

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     23891         -
# 2  Extended offline    Completed: read failure       50%     23891         66387896
# 3  Extended offline    Completed: read failure       50%     23889         66387896
# 4  Extended offline    Completed without error       00%     23437         -
# 5  Short offline       Completed without error       00%       564         -
# 6  Vendor (0xff)       Completed without error       00%       558         -

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.

3つの属性テーブルがすべて同じであるのはとても面白いと思います。それとも私はここで何かが足りないのですか?私はSMARTの専門家ではありませんが、私の知識によれば、これらはすべて3つの完璧な結果です。(?)まだ試していませんが、ファイルとBIOSをマウントして取得してから再びokとして報告しますが、私も再び起動できると思います。

質問2:なぜこれが起こったのですか?

これは単に老朽化したものですか、それともSSDで大胆さを絶えず使用していることが原因ですか?

SSDが常に90〜100%の使用済みスペースに到達していることと関係がありますか?

すべてが正常からにどのように移行できますかSMARTテストはもう実行できませんわずか2週間以内ですか?

これらのスマートテストの結果は何と言っていますか?今日のテスト後の属性テーブルはまだ私には素晴らしいように見えますか、それとも私は間違っていますか?

質問3:これは伝染性ですか?

このSSDが壊れて、新しいSSDを購入した場合、単純にdd if=/old/ssd of=/new/ssdそして大丈夫ですか、それとも問題を引き起こしますか?新しいディスクに移動するための最良のアプローチは何でしょうか?デバイス全体でLUKSをRAWモードで使用しており、ヘッダーを切り離していることに注意してください。これらすべてを新しいディスクに「複製」したいと思います。


編集:そのSSDを再度起動したところ、動作しているようです。これを使用するのは悪い考えだと思うので、できるだけ早く新しいSSDを入手します。以下は、クラッシュ前のsyslosの最新のエントリです。

syslos

2
confetti

SMARTステータスは、多くの古いまたは死にかけている指標を示していますが、「これはそれを殺した!」と特に叫ぶものはありません。

ログには、995日と10時間の電源投入時の寿命が示されています。これは、マシンを永続的にオンのままにしておくことを示唆しています。これは、それ自体が悪いことではありません。システムは簿記と一般的な使用を行います。

私には、SSDは古くて使い古されているように見えます。 Perc_Rated_Life_Usedは驚くほど低く、Erase_Fail_Count

私にとって心配なのは、95%以上のフルヒットの「通常の」ヒットです。これにより、ウェアレベリングアルゴリズムがその仕事をするために利用できる空のブロックのプールが減少します。ドライブ全体の平均がかなり低い一方で、スペースが不足しているときに、ブロックの小さなクラスターに大量の書き込みが発生する場合は、効果的に少量のブロックにストレスをかけることになります。それを繰り返し行うことにより、ウェアレベラーはおそらく最初に書き込む「最良の」(最も書き込まれない)ブロックを選択しますが、100%いっぱいになると、「最悪の」ブロックが残ります。それを一般的なプログラムと組み合わせると、そのタスクを実行しているオペレーティングシステムは、最悪のブロックをはるかに早く使い果たすことになることを意味します。ドライブの最悪の部分にストレスを与え、それを初期の墓に送るのに最適な方法です。

特にSSDがほぼ満杯で、遅かれ早かれ何か悪いことが起こる場合は、キーファイルシステムとSSDの簿記機能がドライブに定期的に書き込まれる可能性があるため、効果的に最悪のセルに強制します。再割り当て可能なブロックが不足し、キー構造を移動できない場合、ドライブ自体がデッドロックする可能性があります。

これが、is無料。

ブロックの小さなグループへの古い時代と重い書き込みがドライブの一部を使い果たした可能性があります。

必要なものを新しいドライブにコピーする可能性は問題ありません。このようなハードウェア障害は伝染しない傾向があります。

3
Mokubai