携帯型フラッシュメモリデバイス(サムドライブなど)の故障の兆候を検出するプログラムを作成しようとしています。携帯型フラッシュメモリの不良セクタの特定
従来の機械式ハードドライブでは、不良セクタやその他の種類の問題を検出できるツールが過去にありましたが、フラッシュメモリにはハードウェアへの予測可能な低レベルアクセスがありませんストレージの内部動作のために発生します。ウェアレベリングや他のブロックリマッピング技術(「死んだセクタをスキップする」など)は、フラッシュドライブが故障しているかどうかを判断することが不可能ではないにしても、難しくないと考えています。デバイスがアンマウントする)。
フラッシュドライブの寿命末期は、検出が容易である必要があります(読み取り中および全面的なエラーが発生するとCRCの不一致が続きます)。しかし、早期に故障するドライブについてはどうですか? スループットの速度が遅いなどの兆候が現れています。これは、フラッシュドライブが通常よりもずっと早く失敗する可能性があることを示していますか?
潜在的な不良ブロックを検出する行に沿って、ボリューム全体のサイズまたは正確なサイズにランダムな読み込み/書き込みを試みると考えていましたが、 「死んだ」ブロックを説明する最大容量?
要するに、フラッシュメモリのブロックリマッピングやその他の寿命延長技術の使用を迂回する(少なくともアルゴリズム的にまたはその他の方法で)回避する方法はありますか?
これはserverfault.comに属しているかどうかについて私の不確実性を表明することで終わります。これは間違いなくハードウェアに関連する質問ですが、私は自分でプログラムできるソフトウェアソリューションも望んでいます。 この質問が間違っていると、私はserverfault-に移行することができますが、私はプログラミングソリューションが必要です。明確化が必要な場合はお知らせください:)
ありがとうございました!
ハードウェアでウェアレベリングや他の種類のブロック再マッピングが行われるため、多くの場合、ブロックレベルのアクセスは保証されませんレベル。私はbadblocksがどのように動作するのかわかりませんが、私はそれが最も現代的なフラッシュドライブのこの "機能"に影響を受けやすい問題であると考えています。 –