« 続報3: microSD カードの寿命を調べる | トップページ | カメラのファインダーについて考える »

2015年7月27日 (月)

最終回: microSD カードの寿命を調べる

残っていた Transcend と TOSHIBA ブランドの microSD だが、それぞれ6月25日と7月24日に寿命を迎えたようである。どちらも Linux が正常に起動しなくなったのだが、その状況は対照的だ。

なおこれまでの経緯は以下の記事を参照してほしい。

http://mitaka1954.cocolog-nifty.com/blog/2015/01/microsd-34a8.html
http://mitaka1954.cocolog-nifty.com/blog/2015/02/microsd-43a6.html
http://mitaka1954.cocolog-nifty.com/blog/2015/03/microsd-4ee4.html
http://mitaka1954.cocolog-nifty.com/blog/2015/05/microsd-3dd7.html

/*-----------  -----------*/

テストログ

寿命が尽きるまでの経過は、Transcend および TOSHIBA ブランドの製品とも、それ以前に寿命を迎えたサンプルとずいぶん異なっている。

Figure_1

テストプログラムが検出したエラーを丸点で示している。

早く寿命を迎えたサンプルはエラーが多発している。

それに対して Transcend ブランドの製品は割合と早い時期からエラーが散発的に発生しているが、多発することなく寿命を迎えた。また TOSHIBA ブランドの製品は、テストプログラムで一切エラーを検出できなかった。

 

Transcend ブランドの製品が寿命を迎えた状況

Linux が起動しなくなったのだが、その際コンソールに EXT4 ファイルシステムのエラーが記録されていた。

[   29.908439] EXT4-fs error (device mmcblk0p2): __ext4_ext_check_block:480: inode #18155: comm nginx: bad header/extent: invalid magic - magic aacd, entries 57684, max 54277(0), depth 8871(0)
[   29.944698] EXT4-fs error (device mmcblk0p2): __ext4_ext_check_block:480: inode #18155: comm nginx: bad header/extent: invalid magic - magic aacd, entries 57684, max 54277(0), depth 8871(0)
[   29.979697] EXT4-fs error (device mmcblk0p2): __ext4_ext_check_block:480: inode #18155: comm nginx: bad header/extent: invalid magic - magic aacd, entries 57684, max 54277(0), depth 8871(0)
[   30.003743] EXT4-fs error (device mmcblk0p2): __ext4_ext_check_block:480: inode #18155: comm nginx: bad header/extent: invalid magic - magic aacd, entries 57684, max 54277(0), depth 8871(0)

Linux が起動しないので寿命と言う事で良いと判断し、以前行ったのと同じように SDフォーマッター4.0 で初期化して ATTO Disk Benchmark の I/O Comparison を 30 分間連続して行ってみたが全くエラーは発生しなかった。これだとイメージを書き直せばテスト継続できるはずだ。

これは少々困った状況である。まだ完全に寿命を迎えた訳ではないのかもしれない。しかし極めて消極的な理由、これ以上テストを続けるのは疲れたと言う理由で、一旦致命的な状況になった事をもって寿命とすることにした。

逆に厳しい見方をすると最初にエラーを検出した時点で寿命と言うべきかもしれないが、そののちかなりの期間あまり問題なく使えているので、これは少し厳し過ぎるだろうと判断した。

ただし散発的であってもテストプログラムが検出できるエラーが発生するのはこのサンプルの問題である。

 

TOSHIBA ブランドの製品が寿命を迎えた状況

この場合 microSD に対する I/O のタイムアウト・エラーがコンソールに記録されていた。

[    5.390514] mmcblk0: timed out sending r/w cmd command, card status 0x400900
[    6.673604] mmcblk0: timed out sending r/w cmd command, card status 0x400900
[    6.681031] mmcblk0: timed out sending r/w cmd command, card status 0x400900
[    6.688443] mmcblk0: timed out sending r/w cmd command, card status 0x400900

こうなってしまうと SDフォーマッター4.0 による初期化すらできない。完全に寿命を迎えたと迷いなく言える。

 

全サンプルのまとめ

今回はブランド毎に1サンプルしか試していないので、個体差による偶然の影響がある可能性を否定できない。これは統計的な可能性だ。しかしその一方で以下のような結果が得られた事実がある。従って異なる事実が見つかるまでは、今回得られた結果を、仮説として各ブランドの平均的な傾向だとすることに合理性があるはずだ。

ブランド エラー発生開始 寿命 「寿命」の際の状況
磁気研究所 8 10 再フォーマット可
ATTO でエラー有
Silicon Power 18 20 再フォーマット可
ATTO でエラー有
Transcend 11 41 再フォーマット可
ATTO でエラー無し
TOSHIBA なし 61 再フォーマット不可
注:数値は書き込みデータ量概数(単位:1012バイト)

私が次に microSD を買う場合の優先順は以下のように考えている。

  1. TOSHIBA
  2. 今回テストしなかったブランド
  3. Silicon Power
  4. Transcend

磁気研究所ブランドは選択肢にない。「今回テストしかなったブランド」はブランドイメージの良いもの(例えば SanDisk )を選ぶ、と言う事である。

TOSHIBA ブランドは寿命が長いが、寿命を迎えた時の状況にやや不安があるのは事実だ。他のブランドだといくつか読めないファイルが出て異常に気付けば大半のデータは回収可能だと考えられる。それに対して TOSHIBA ブランドの microSD が寿命を迎えた際に必ず今回と同じ状況になるようだとデータの回収は全く望めないからだ。ただこれはハードディスクがクラッシュするのと同じようなことなので、予めそのことを織り込んで運用すれば済むことだと思う。

Transcend の順位が低いのは散発的にエラーが検出されたからだ。これがこのブランドの平均的傾向としてしまうのには若干抵抗を感じるが、氷山の一角かもしれないので、積極的にこのブランドを選ばなくてもよいだろう、と言う意味である。

いずれにせよ microSD はテストを始める前に考えていたよりもはるかに長持ちする、と言うのが一番強い印象である。テストでは microSD はほぼ 100% Busy の状態で使っていた。通常の使用ではおそらく 10% よりも少ないと考えられる。また結果が早く得られるよう小さなカード容量(4GB)の製品を使ったことも考え合わせると、16GB の製品を使えば一番早く寿命を迎えたブランドと同じ条件を想定しても3年程度、一番長持ちしたものの条件だと 20年程度(!?)の稼働期間が期待できるからだ。

|

« 続報3: microSD カードの寿命を調べる | トップページ | カメラのファインダーについて考える »

BeagleBone Black」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 最終回: microSD カードの寿命を調べる:

« 続報3: microSD カードの寿命を調べる | トップページ | カメラのファインダーについて考える »