microSD cardが壊れたので高耐久モデルのmicroSD cardを入手

Raspbery Pi に使っていた 4GB の microSD が壊れてしまいました.wipefsでパーティション情報を消すのに数分.OSイメージを書き込みしようとしても1日動かしても終わりません.
とりあえずデジタルカメラに使っていた SD card を microSD アダプタ経由でと思いましたがどうもアダプタの制度がいまいちなのかすぐ SD を見失ってしまいちょっとつらい感じです.ということで数年ぶりに microSD を購入しました.

容量としては4GBあればok,しかしそのへんの容量はもう殆ど無いし割高.山の奥とかSanDiskとかも考えましたが,TranscendのMLC高耐久モデルが高耐久の割には安い感じです.ECCも付いています.とりあえずAmazonのカートに入れておいたら100円引きクーポンが現れたのでそのタイミングで購入しました.
1,780円から100円引きで1,680円でした.

カタログスペックはこんな感じ(気になるところの抜粋)

容量	16 GB/32 GB/64 GB/128 GB
フラッシュ種類	MLC NANDフラッシュ
動作環境温度	-25°C (-13°F) ~ 85°C (185°F)
動作電圧	2.7V ~ 3.6V
スピードクラス	UHS-I U1  Class 10
読出し(最大)	90 MB/s
書込み(最大)	50 MB/s
耐久性(最大)	16 GB: 3,000時間
保証	2年保証

耐久性の 3,000時間というのは 製品情報シート(pdf) によると26 Mbpsのときの時間のようです.
26 Mbps を 3000 時間 → ( 26 / 8 ) * ( 3000 * 60 * 60 ) = 35100000 MB → 35.1 TB かな?
全領域を使うドライブレコーダーならこれに近い数字が出そうですが OS 領域として使うならもっとずっと少ない書き込みで壊れそう.
(圧縮すると数倍伸びそう?Btrfs?JFFS2?FuseCompress??ウェアレベリング…据え置きならSSDのほうがいいか)

Transcendの他のMLCモデルのほうが少し安いが,説明では書込み頻度の高い使用環境では高耐久モデルを勧めている.

ドライブレコーダーや監視カメラなどの書込み頻度の高い使用環境では、保証対象外となりますので、高耐久microSDカードをご使用下さい。推奨型番:TS16GUSDHC10V

04日に注文して07日にコンビニに届いたので受け取ってきました.金色!

45780982671 d761eb6c1f45056103954 e34355a8cc44867753465 999996904d

念の為製品照合システムで本物か確認しておきます.
シリアル番号を確認してこのページのフォームに入力することで照合できます.

シリアル番号はパッケージには見当たらず本体の裏面にありました.肉眼では見にくい.

30840856717 61f2c466d2
30841825187 8fa3335f57 m

本物でした :)

44867714815 2f337e8f00

安心したところでPCに挿してとりあえず簡易テストを.

$ dmesg -Tw
   :
[水 11月  7 21:33:42 2018] mmc0: new high speed SDHC card at address 59b4
[水 11月  7 21:33:42 2018] mmcblk0: mmc0:59b4 USDU1 14.6 GiB
[水 11月  7 21:33:43 2018]  mmcblk0: p1
^c
$ sudo wipefs -a /dev/mmcblk0
$ sudo hdparm -vtT /dev/mmcblk0

/dev/mmcblk0:
 HDIO_DRIVE_CMD(identify) failed: Invalid argument
 readonly      =  0 (off)
 readahead     = 256 (on)
 HDIO_DRIVE_CMD(identify) failed: Invalid argument
 geometry      = 478432/4/16, sectors = 30619648, start = 0
 Timing cached reads:   6072 MB in  2.00 seconds = 3039.10 MB/sec
 HDIO_DRIVE_CMD(identify) failed: Invalid argument
 Timing buffered disk reads:  62 MB in  3.07 seconds =  20.20 MB/sec
 $ zcat ./2018-10-09-raspbian-stretch-lite.zip | pv | sudo dd of=/dev/mmcblk0 bs=4M ;sync
 1.74GiB 0:00:14 [ 120MiB/s] [ <=> ]
 0+53380 レコード入力
 0+53380 レコード出力
 1866465280 bytes (1.9 GB, 1.7 GiB) copied, 271.655 s, 6.9 MB/s
$ uname -a
Linux raspberrypi 4.14.71+ #1145 Fri Sep 21 15:06:38 BST 2018 armv6l GNU/Linux

EDIT: eLinux.orgの簡易テストを追記( RPi SD cards – eLinux.org )

$ sync; dd if=/dev/zero of=~/test.tmp bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB, 500 MiB) copied, 74.6846 s, 7.0 MB/s
$ sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
3
$ sync; time dd if=~/test.tmp of=/dev/null bs=500K count=1024
1024+0 records in
1024+0 records out
524288000 bytes (524 MB, 500 MiB) copied, 22.9698 s, 22.8 MB/s

real    0m22.989s
user    0m0.002s
sys     0m2.790s

#ランダムもfioで少し試した → https://gist.github.com/matoken/6e3a4d07e36698470bac6ec75bb2c1d1

大体シーケンシャルリードで 20MB/s.シーケンシャルライトで 6.9MB/sくらいのよう.
カタログの 読出し(最大) 90 MB/s 書込み(最大) 50 MB/s からすると大分遅く感じますね.
といってもこれまで使っていたものの倍以上の速度は出ています.

てことでしばらくはこの card で Raspberry Pi を運用してみようと思います.

#こういう安いやつを買って壊れたら買い換えるほうがいいような気がしなくもない