web-dev-qa-db-ja.com

コンパクトフラッシュデバイスの読み取り/書き込みの整合性を確認するにはどうすればよいですか?

私はプロの写真やビデオの容量で頻繁に使用したコンパクトフラッシュカードをたくさん持っています。

ファイル(ほとんどの場合ビデオですが、場合によっては写真)が予測しにくいために破損しているので、そのうちの1つが悪くなっているのではないかと心配しています。これは、カードを取り外す前にカードをアンマウントすることとは関係がないことを絶対に確信しています。カメラからカードを正しく取り外した直後に破損が見られます。

問題は、どのカードに問題があるのか​​わからず、問題が断続的に発生しているように見えるため、それらを完全に撮影して不良ファイルを探すことはできません(そして、それでも破損が常に明らかになるとは限りません-不良ビットがファイルのデータ部分にあるため、明らかでない場合があります)。この問題は非常にまれであるため、確実に再現することはできません(ただし、絶対に確実に失われることのないファイルを使用するジョブを持つクライアントがある場合を除きます。そうすれば、必ず発生します)。

それらすべてを保証期間内にRMAすることはできますが(すべてSandiskで生涯保証付き)、したくないです(5枚のカードをまとめて送信することを正当化するにはどうすればよいですか?それらがなくなった月に何を使用しますか? ?)。

それらを修正するツールを探しています。具体的には、カード全体に対して書き込み/読み取り/書き込み/読み取りのサイクルを実行し、理想的にはフルフォーマットを実行して不良ビットを削除し、ステータスを通知するものが必要です(1枚のカードは特に不良ですか?他のすべては完全に問題ありませんか?一般的にどのレベルのエラーが表示されていますか?).

私はbadblocksツールを知っていますが、CFに合わせて調整されたものを見つけたいと思っていました(そして、それがほんの数ビットであれば、悪い領域を使用しないようにマップできることを願っています)。可能であれば、Windows以外のツールを使用したいと思います。

他の誰かがあなたのデバイスを単に盲目的に交換することなくこの問題を解決しましたか?疑わしいカードのいくつかはかなり新しいです。

4
Paul McMillan

おそらくもっと良いツールがありますが、シンプルで無料が必要な場合は、ddが必要です。

Windows以外がLinuxまたはUnixのフレーバーであり、カードに保持したいデータがない場合は、次のことを試してください。

cFカードをリーダーにマウントし、そのデバイス名を取得します。この回答では、/ dev/CFであると想定します。 rootとしてログインします。

ランダムデータでいっぱいのカードを書くには

dd if=/dev/random of=/dev/CF bs=1k

これを数回行うことができ(何回かはあなた次第です)、カード全体を終了する前にエラーが発生した場合は、カードに問題があります。

カードの読み取り機能は次の方法で確認できます。

dd if=/dev/CF of=/dev/null bs=1k

カード全体をエラーなしで読み取る必要があります。

終了したら、カードを再フォーマットする必要があります。まず、ゼロでいっぱいのカードを書き込んで、カメラでフォーマットできるようにします。

dd if=/dev/zero of=/dev/CF bs=1k   

これにより、カード全体がエラーなしで書き込まれます。

私の個人的な意見では、エラーが発生した場合は、カードをRMAします。不良ブロックを再マッピングして再利用しようとはしません。

カードが上記のテストに合格したとしても、それらが良好であることが保証されているわけではないことに注意してください。それはあなたがそれ自身を示すと思ったより少し長くかかる断続的なエラーを意味するかもしれません。一方、失敗した場合は、RMAの決定の基礎となるデータと、RMAを正当化するためにSandiskに提供するサポートドキュメントがあります。

2
hotei

Windowsマシンにアクセスできる場合は、 フラッシュの確認 を試すことができます。このリンクは、素敵なスクリーンショットを付けたレビューへのリンクです(実際のWebサイトはロシア語です)

私は個人的には使用していませんが、スクリーンショット/レビューが正当であると仮定すると、フラッシュドライブをテストするための賢明な方法のようです。

1
drfrogsplat