USBメモリーは書き込めても正常に読み出しできるとは限らない。
以前の書き込み実験(新品USBメモリーが壊れるまで書き込んでみた(1))で、ELECOMのMF-MSU2Aは約2,300周で、グリーンハウスのPico Drive L3は約1,000周で壊れた。USBメモリーが正常に認識されなくなった。
そして、それより以前に読み出し速度が低下するという状況が発生していた。書き込みを繰り返しているうちに、ある時点から読み出し速度が徐々に低下していたのである。
読み出し速度が低下するというのは、データを記憶しているセルからデータの見出し時にエラーが発生するとエラー訂正処理が加わり、その分、読み出し時間が長くかかるのだろう。
セルの状態が悪化するとどうなるのだろうか
では、エラー訂正処理で補正できないほどの状態に悪化するとどうなるのだろうか。ELECOMのMF-MSU2Aの新品があと2個残っているので、それらを使って実験してみた。
このUSBメモリーの容量は3.8GBほどで、全領域に対して書き込みを繰り返すと時間がかかるので、128MB程度のファイルと、全容量3.8GBから128MBを差し引いた残りのサイズのファイルを用意し、それらを書き込み、128MBのファイルだけ削除と書き込みを繰り返すことにした。USBメモリーの空き部分に丁度収まる128MBのファイルの書き込みを繰り返すということ。
128MBのファイルは2種類用意し、一つはランダムなデータで構成したファイル(A)、もう片方はバイナリー値「00」で埋め尽くしたファイル(B)である。
ファイル(A)を書き込む → ファイル(A)を削除 → ファイル(B)を書き込む → ファイル(B)を削除
というサイクルを1サイクルとし、書き込み回数は2回とカウントした。
1回目の実験は失敗
このサイクルで書き込みを繰り返したが、なかなかエラーが発生しない。書き込み回数が12,000回になった時点で、読み出しのテストを行ってみたがファイル内のデータは比較用に保存していたファイルのデータと完全に一致した。ひとまずは正常に読み書きできているようだった。
次に、書き込み回数が13,000回になった時点で、読み出しのテストを行ってみたが、今度はファイル内のデータに不整合が見つかった。ここで初めて、実際に読み出した内容を検査しないとファイルが正常なのかそうでないのか判断できないということに気付いた。いつから不整合になっていたのだろうか。実験の失敗を確信しつつもさらに書き込みを続けた。
書き込み回数が14,000回になった時点、読み出しテストを行った。今度はファイル内のデータは正常であった。運よく正常な予備領域にでも保存されていたのだろうか。予備領域なるものが存在するのかどうかもわからんが。
書き込み回数が15,000回になった時点の読み出しテストでも正常だった。
書き込み回数が16,000回になった時点の読み出しテストではデータの不整合が見つかり、以降は20,000回まで1,000回毎に行った読み出しテストではすべて不整合が見つかった。
なんと2回目の実験も失敗だった
ELECOMのUSBメモリーMF-MSU2Aは在庫が残り一つ。もう一つあるはずだったのだが、一連の実験の少し前に知人に譲ってしまったのである。
今回は、序盤から読み出しテストでデータの不整合をチェックしようと、やる気満々で実験を始めた。
んが、しかし、100回の書き込みを終えて、記念すべき最初の読み出しテストでデータの不整合が見つかってしまった。
これって、初期不良?はずれが混ざっていたのか?
最後のMF-MSU2Aだったのに。
このままでは終われない。グリーンハウスのPicoDrive L3は在庫が2個ある。これを使って同じ実験をやるぞ。