次のようにフォーマットされたUSBサムドライブがあります。BTFS滞在。ところで、1GBファイルをディスクにコピーすると、ファイルが破損することがわかりました。報告btrfs scrub
によると多いという修正できない間違い。しかし、ディスクにさらにファイルをコピーすると、ファイルは問題ないようです。そのため、ディスクの連続ブロックのごく一部しか破損していないと思います。
btrfs scrub
ドライブ全体をクリーンアップし、破損したブロックを覚えて、後で再使用しないことが可能かどうか疑問に思います。
答え1
おそらく効果があるでしょう。しかし、フラッシュメディアの仕組みのために役に立ちません。
個々のビットを書き込んだり消去したりできるハードドライブとは異なり、フラッシュメディアは個々のビットを書き込むことができますが、すべて消去できます。ブロックをクリア一度。消去ブロックのサイズは変えることができるが、一般に約128kである。単一の「セクタ」(ハードドライブとオペレーティングシステムが処理するサイズ単位)を変更するには、多くの内容を消去して書き換える必要があるため、サムドライブは削除ブロックをセクタサイズ単位で分割します。何かを変更すると、変更したばかりのセクタが「廃止されました」とマークされ、変更されたバージョンが別の場所に記録されます。しばらくすると、消去されたブロックにアクティブなセクタがなくなったことを確認し、そのブロックを消去します。
つまり、セクタが破損している場合は、次にそのセクタに書き込むときに別のセクタになるため、これ以上破損しません。
さらに、フラッシュメモリは多くの書き込みサイクル後に磨耗する傾向があり、この時点で失敗します(正確な数はフラッシュチップの品質によって異なりますが、100,000個未満の場合はほとんどありません)。サムドライブには、この目的とブロックコンテンツを消去するために必要な追加スペースのために発表されていない追加容量があります。たとえば、4gのサムドライブには4000Mが公開される可能性がありますが、内部的には4096Mまたは4200Mなどがあります。あまりにも多くの書き込み/削除サイクルの後に特定の消去ブロックが失敗し始めると、サムドライブはそれを表示し、使用しなくなります。しばらくの間これを行うことができますが、最終的には余分なスペースを使い果たし、要求された変更を適用するためにセクタをコピーしようとすると空のセクタが見つからず、書き込みエラーのみが生成される可能性があります。
あなたの場合のように、サムドライブがこのポイントに達したときに交換する必要があります(まだ発生していない場合)。まもなくデータ損失が始まります。