このSSDドライブが不良セクタで失敗するのはなぜですか?


15

注:この質問は、トピック外として以前閉じられていました。あなたは議論を読むことができます。ここで質問する理由は次のとおりです。

  • このドライブは、ザンビアの田舎の学校のオフラインコンテンツキャッシュサーバーにあります。
  • サーバーはディスクイメージから作成され、すべてのコンテンツは交換可能です。
  • ザンビアの学校は予算が限られているため、安くなければなりません。
  • また、悪い道路では片道8時間かかる可能性があるため、信頼できるものでなければなりません。
  • ここでは、どのドライブが「超格安」ではないのかを尋ねることはできません。
  • そのため、これらの基準を満たすドライブの独自の研究と実験を行っています。
  • 不良セクタを上書き(自動再割り当て)して修復することができないため、仮定を無視し、その理由を知りたかったのです。
  • おそらくセキュリティの消去が不良セクタを修正するかもしれないと思っていましたが、ドライブを破壊する前に他の人の意見を求めていました。
  • SMARTデータで、失敗を予測できたはずの何かを見逃したのではないかと思った。

これはKingston 240GB SSDディスクで、約3か月間サイトで正常に機能していましたが、突然不良セクターが発生しました。

smartctl 5.41 2011-06-09 r3365 [i686-linux-3.2.20-net6501-121115-1cw] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model:     KINGSTON SVP200S3240G
Serial Number:    50026B7228010E5C
LU WWN Device Id: 5 0026b7 228010e5c
Firmware Version: 502ABBF0
User Capacity:    240,057,409,536 bytes [240 GB]
Sector Size:      512 bytes logical/physical
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  ACS-2 revision 3
Local Time is:    Tue Mar  5 17:10:24 2013 CAT
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:  (0x02) Offline data collection activity
                    was completed without error.
                    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:            (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:    (   1) minutes.
Extended self-test routine
recommended polling time:    (  48) minutes.
Conveyance self-test routine
recommended polling time:    (   2) minutes.
SCT capabilities:          (0x0021) SCT Status 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   084   084   050    Pre-fail  Always       -       10965286670575
  5 Reallocated_Sector_Ct   0x0033   100   100   003    Pre-fail  Always       -       16
  9 Power_On_Hours          0x0032   000   000   000    Old_age   Always       -       46823733462185
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       127
171 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
174 Unknown_Attribute       0x0030   000   000   000    Old_age   Offline      -       131
177 Wear_Leveling_Count     0x0000   000   000   000    Old_age   Offline      -       1
181 Program_Fail_Cnt_Total  0x0032   000   000   000    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   000   000   000    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   000   000   000    Old_age   Always       -       49900
194 Temperature_Celsius     0x0022   033   078   000    Old_age   Always       -       33 (Min/Max 21/78)
195 Hardware_ECC_Recovered  0x001c   120   120   000    Old_age   Offline      -       235163887
196 Reallocated_Event_Count 0x0033   100   100   003    Pre-fail  Always       -       16
201 Soft_Read_Error_Rate    0x001c   120   120   000    Old_age   Offline      -       235163887
204 Soft_ECC_Correction     0x001c   120   120   000    Old_age   Offline      -       235163887
230 Head_Amplitude          0x0013   100   100   000    Pre-fail  Always       -       100
231 Temperature_Celsius     0x0013   100   100   010    Pre-fail  Always       -       0
233 Media_Wearout_Indicator 0x0000   000   000   000    Old_age   Offline      -       363
234 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       208
241 Total_LBAs_Written      0x0032   000   000   000    Old_age   Always       -       208
242 Total_LBAs_Read         0x0032   000   000   000    Old_age   Always       -       1001

SMART Error Log not supported
SMART Self-test Log not supported
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@iPad2:~# badblocks /dev/sda -v
Checking blocks 0 to 234431063
Checking for bad blocks (read-only test): 8394752 done, 1:15 elapsed
8394756 done, 1:21 elapsed
8394757 done, 1:23 elapsed
8394758 done, 1:24 elapsed
8394759 done, 1:27 elapsed
...
190882871one, 29:49 elapsed
190882888one, 29:53 elapsed
190882889one, 29:54 elapsed
190882890one, 29:56 elapsed
190882891one, 29:58 elapsed
done                                
Pass completed, 80 bad blocks found.

それらは反復可能であるように見え、自動再割り当ては失敗するため、それらに書き込むことで修正することはできません。

root@iPad2:~# badblocks /dev/sda -wvf 8394756 8394756
/dev/sda is apparently in use by the system; badblocks forced anyway.
Checking for bad blocks in read-write mode
From block 8394756 to 8394756
Testing with pattern 0xaa: 8394756
done                                
Reading and comparing: done                                
Testing with pattern 0x55: done                                
Reading and comparing: done                                
Testing with pattern 0xff: done                                
Reading and comparing: done                                
Testing with pattern 0x00: done                                
Reading and comparing: done                                
Pass completed, 1 bad blocks found.

そして、システムログに次のようなエラーが表示されます:

ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
ata1.00: irq_stat 0x40000000
ata1.00: failed command: READ FPDMA QUEUED
ata1.00: cmd 60/08:00:08:30:00/00:00:01:00:00/40 tag 0 ncq 4096 in
         res 51/40:08:08:30:00/00:00:01:00:00/40 Emask 0x409 (media error) <F>
ata1.00: status: { DRDY ERR }
ata1.00: error: { UNC }
ata1.00: configured for UDMA/133
sd 0:0:0:0: [sda] Unhandled sense code
sd 0:0:0:0: [sda]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
sd 0:0:0:0: [sda]  Sense Key : Medium Error [current] [descriptor]
Descriptor sense data with sense descriptors (in hex):
        72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
        01 00 30 08 
sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed
sd 0:0:0:0: [sda] CDB: Read(10): 28 00 01 00 30 08 00 00 08 00
end_request: I/O error, dev sda, sector 16789512
Buffer I/O error on device sda, logical block 2098689
ata1: EH complete

このディスクで自動再割り当てが失敗する理由がわかりません。smartctl出力はすべて私には罰金を探します。再割り当てされたセクターは16のみで、それほど多くはありません。このドライブがセクターの再割り当てを拒否する正当な理由はわかりません。SSDのこのモデルは壊れているか、または設計が不十分ですか?

ノート:

  • キングストンのドキュメントによると、属性174は「予期しない電力損失」です。
  • 131の予期しない電力損失は非常に悪いです。
  • 属性187(Reported_Uncorrect)は、可能な最大65535のうち49900です
  • 最高気温は78°Cと非常に高い

最も興味深いSMARTカウンターは、このドライブのキングストンによって隠されています。ただし、属性196からスペアセクターの数を推測できます。Reallocated_Event_Countには、正規化された値について次の式があります。

100 -(100* RBC / MRC)
RBC = Retired Block Count (Grown)
MRE = Maximum reallocation count

正規化された値は100であるため、これはRBC << MREであることを意味するため、再割り当てに使用可能なすべてのセクターを使い果たしたことにはほど遠い状態です。


3
SMARTデータは、重大な問題を示すものではありません。ハードウェアの問題の他の可能性を排除するために、別のケーブルを使用して別のコントローラーでこのディスクをテストしましたか?
マイケルハンプトン

1
一部のセクターは繰り返し正常に読み取りを行い、他のセクターは繰り返しエラーを発生させるため、別のコントローラー/ケーブルをまだ試していません。これから、コントローラまたはケーブルではなく、ドライブに障害があると推測しています。
-qris

1
間違ったコントローラーやケーブルでもまったく同じことが起こる可能性があるため、あなたの演ductionは間違っています(ただし、ケーブルは少し不安定になるはずですが、とにかく試してみる価値があります)。
ペアレント

3
@gparent控除は必ずしも間違っているわけではありません。結論をもたらした論理だけです。ドライブが犯人かもしれませんが、彼の思考の理由はあまり根拠がありません。いずれにせよ、彼は提案されているように別のコントローラー/ケーブルでテストする必要があります。
クリスS

はい、それは私がちょうど言ったと思ったものです。私はあなたのコメントに完全に同意しているので、言語の障壁の一部として違いを安全に考慮することができると思います。
-gparent

回答:


2

安価なSSDには深刻な品質問題があるようです。特定のドライブに問題がある多くのユーザーが見つかります。しかし、ベンダーは同じラベルの下で異なるドライブ(他のNANDチップ/コントローラーなど)も販売していると思います。そのため、各ドライブの動作が異なる場合があります。

SMART値は、ドライブがすぐに故障することを示すものではありません。私の経験でも同じです。突然ドライブエラーが発生し、ディスクが故障します。

SSDを使用する理由は何ですか?SSDには、機械部品がなく、防塵で発熱も少ないという利点があります。ただし、多くの欠点もあります。

たとえば、ジャーナリングでファイルシステムを使用している場合など、ビジー状態のボリュームでウェアレベリングでもすぐに到達する可能性のある単一メモリセルへの書き込み回数。

また、電子機器も高湿度または高温の影響を受けます。これは従来のハードドライブと同じです。

代わりに安価な従来のハードドライブを使用し、(RAIDが不要な場合)交換用として必要になるまで接続されていないスペアドライブをサーバーに同梱します(サーバーケースにすでに存在するか、ホットスワップケージに取り付けられているディスクは別のサーバーで使用できます)。その後、フィールドでスクリプトを使用するか、リモートから(可能であれば)準備を整えることができます。

従来のハードドライブの電源が入っていない限り、目的地への輸送は荒いことがあります...

複数の学校サーバー/常設クライアントと信頼性/冗長ネットワークがある場合、分散ファイルシステムもフェイルセーフキャッシュサーバーの作成に役立つ可能性があります(たとえば、glusterfsを使用)。


ブライアンに感謝します。これ以上良いものはないので、この答えを受け入れます。ハードディスクに関する私の経験では、セクターを再割り当てできるため、リカバリーが可能です。SSDを使用する理由については正しいです。防塵はザンビアにとって大きな問題です。ドライブは頻繁には書き込まれず、ほとんどのコンテンツは静的です。固体電子機器は、回転する錆よりも熱と湿度の影響を受けません。ハードディスクのRAID化が行われましたが、SSDの信頼性が向上し、コストを節約できることを期待していました。おそらく間違っていた。また、学校の接続性は非常に悪いため、glusterfsは公開されていません。
qris
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.