ttt

getttyent

ハードディスク壊れた ~ 巡回冗長検査(CRC)エラーです

2008-06-19 22:00:11 | デジタル・インターネット

最近、またしても、ハードディスクが壊れました。

絶望した

えぇ~、あのですねぇ、Windowsさん。巡回冗長検査って言ってねぇ、意味がわかるっつう人が、世の中にどれくらいの割合で存在するのかと、思うわけです。

いったい何が起きたのか、わかりやすく言えば、

以前書き込んだはずのデータなんだけどね、今読み出してみたら、書き込んだときとは別のデータに化けちゃってるよ。つまり、ファイルが壊れちゃってて、もう正常に読みだせないんだ。

ていうことなんです。書いたときのデータと、読み出したときのデータが一致していないことを検出するためのテクニックとして、CRCってのがあるんです。

あまり詳しくはないんですが、今のハードディスクって、ぜったいに誤り訂正符号(ECC)を使ってるはずだから、厳密な意味では、CRCエラーではなくて、訂正不可能なほど多くのエラーがおきてる、ってことだと思うんです。
ATAの規格上、CRCエラーしか定義されていない、とかいうことかな、って思ってもみたりして。

今回の場合、まずは、パソコンの電源を入れて、BIOSチェックの段階で、SMARTでのエラーが報告されました。

やばいねぇってことで、Western DigitalのData LifeGuard Diagnosticsというツールで、SMARTのステータスをチェックしてみようとすると・・・

いきなりFAILって言われてるし・・・

200806192

Multi Zone Error Rateってのが、ダメっす!と言われてます。

200806193

Helpを見ると

Multi Zone Error Rate<u5:p></u5:p>

This attribute indicates a rate at which write retries are requested.

と書いてあって、ふ~んそうなの、と思うくらいしかできないわけです。それにしても、writeの問題なのですか?

今、ファイルを別のディスクに移動させているんですが、数個のファイルが、すでに読み出せなくなっています。

読めないもんは、あきらめるしかねぇっす。


こういう「知らないうちにデータが壊れてた!」という事故を防ぐためには、disk scrubっていう処理が必要なんだそうです。
disk scrubというのは、ディスク全体をまんべんなく読み出したり書き込んだりして、ディスクが正常に読み書きできるかチェックすることだそうで、ようするに、読み書きできないセクタに対して、あらかじめ「ダメ出し」をしておく、ってこと。
disk scrubberというジャンルのソフトウェアがあるんだそうです。私は使ったことがないです。

FreeBSDマシンでは、なんとなく、smartmontoolsで、SMARTのdrive self testは毎日実行させてます。

コンピュータに接続しているディスクの総容量がTB(テラバイト)オーダーというのも珍しくなくなってきていますから、disk scrubって重要みたいですよ。



今回壊れたハードディスクは、購入してから1年半ほど経過していたので、購入店での補償期間がもう過ぎているんですが、ハードディスクのメーカー補償が、最近では3年とか5年とかあるので、メーカー補償は効きそうなんです。

が、しかし!! 調べてみたんですが、事前の事務手続きを行ったうえで、ハードディスクドライブを、シンガポールへ国際宅配便などの手段で送付しなくちゃならんそうです。しかも、関税も払え、とか・・・

敷居が高すぎ・・・あきらめました。
たぶん、トータルで3000円とか4000円くらいは、費用がかかりそうな予感。

もうちょっとお金をつめば、もっと大容量の新品が買えちゃう。

補償交換のための手続きを面倒にすることで、ユーザーにあきらめさせて、補償のためのコストを削減しよう、というメーカーの意図があるとしか思えません。