ポータブル フラッシュ メモリ デバイス (サム ドライブなど) の障害の兆候を検出するプログラムを作成しようとしています。
過去に、従来の機械式ハード ドライブの不良セクタやその他の種類のトラブルを検出できるツールを見たことがありますが、フラッシュ メモリには、ハードウェアへの同様の予測可能な低レベル アクセスがないのではないかと心配しています。収納の仕組み。ウェアレベリングやその他のブロック再マッピング技術 (「デッド」セクターをスキップするため?) のようなものにより、フラッシュドライブが故障しているかどうかを判断することは、不可能ではないにしても、せいぜい困難であると私は信じています (絶え間ない読み取り障害とデバイスがアンマウントされます)。
寿命が尽きたフラッシュ ドライブは、簡単に検出できるはずです (読み取り中の一定の CRC の不一致と完全な障害)。しかし、早い段階で故障している可能性のあるドライブについてはどうでしょうか? スループット速度の低下など、フラッシュ ドライブが通常よりも早く故障することを示す兆候はありますか?
潜在的に不良なブロックを検出する方法に沿って、ボリューム全体のサイズに近い、または正確にそのサイズのファイルへのランダムな読み取り/書き込みを試みることを検討しましたが、その場合でも、ドライブが最大容量を下回るサイズを報告する可能性があります。 「死んだ」ブロック?
要するに、フラッシュメモリのブロックリマッピングまたはその他の寿命延長技術の使用を回避するか、少なくとも(アルゴリズム的またはその他の方法で)検出する方法はありますか?
これが serverfault.com に属しているかどうかについての私の不確実性を表明して、この質問を締めくくります。これは間違いなくハードウェア関連の質問ですが、ソフトウェア ソリューション、できれば自分でプログラムできるソフトウェア ソリューションも必要です。この質問が間違っている場合は、喜んで serverfault に移行しますが、プログラミング ソリューションが必要です。説明が必要な場合はお知らせください:)
ありがとう!