産業用SDカードのすすめ
エンジニアのtnishinagaです。
Ideinではお客様の手元で動作するデバイス上で不具合が起きないよう、デバイスに関わるハードウェア(USBカメラ、SDカード、ルーター等)の品質や推奨設定の調査、動作試験等を行っています。
今回はこの業務の一環として調べた内容の一部を共有します。
はじめに
Raspberry Pi等の安価な組み込みLinuxボードには、ストレージとしてSDカードを採用しているものが多く見受けられます。
これらのデバイスは基本的に動作に必要なデータをすべてSDカード内に保存しているため、データの破損がデバイスの故障につながってしまいます。
よって、可能な限りSDカードのデータ破損は避けたいです。
一方、残念なことに一般的なSDカード上のデータは様々な理由で破損することが知られています。
実際に検証された方の記事によると、10,000回の電源切断テストを行った結果、平均20-30回程度の電源切断でSDカード上のデータが破損したようです(参考: Raspberry Piは本当に壊れやすいのか)。加えて、私たちが行った簡易検証(後述)でも同様の結論が得られています。
Raspberry Piは本当に壊れやすいのか ではこの問題の解決方法の一つとして工業用(産業用)SDカードの利用をおすすめされています。
ここでおすすめされている産業用SDカードは普通のSDカード(以降、民生用SDカード)と何が違うのでしょうか? 産業用SDカードを使うと本当に故障しにくくなるのでしょうか?
本記事ではこれらの疑問の解決を目的にして、調べた結果を紹介します。
産業用SDカードは民生用SDカードと何が違うのか
私たちが普段利用している民生用SDカードに比べ、産業用SDカードには様々な故障を防ぐための機能が搭載されています。そのため、産業用SDカードは民生用SDカードと比べると故障しづらいメリットがあります。
一方、産業用SDカードは同容量の民生用SDカードに比べ非常に高価(同一店舗・メーカ・容量で約3倍の値段差)というデメリットもあります。
今回は急な電源切断対策に注目して、産業用SDカードのもつ機能を一つ紹介します。
電源遮断耐性
電源遮断耐性についての説明を引用します。
SDカードにデータを書き込んでいる途中に電源が遮断されると、書き込みが中断されてデータが壊れてしまいます。
そのため、産業用SDカードはこのような電源遮断による故障を防ぐ機能を持っています。
この機能があれば、シャットダウンせず急に電源を抜かれてもデバイスが故障しづらくなります。
簡易調査: 産業用SDカードは民生用SDカードより故障しづらいのか
産業用SDカードが民生用SDカードより本当に故障しづらいのかを確認するため、簡単な調査を行いました。
調査方法
A社の民生用SDカード(16GB)を搭載したRaspberry Piを3台、B社の産業用SDカード(16GB)を搭載したRaspberry Piを3台、計6台用意する
OSにはActcastOS(Raspberry Pi OSをベースにした弊社サービス用OS)を利用
スマートコンセントを用いて各デバイスの電源を入れ、1分程度稼働させる
スマートコンセントを用いて各デバイスの電源を落とす
再度デバイスの電源を入れ、OSが立ち上がってくるか、アプリケーションが正常に動作するかを確認する
正常動作しない場合は故障疑いとして調査する。正常な場合は手順2から繰り返す。
結果
運用開始から約1ヶ月後、民生用SDカードを搭載したデバイス3台のうち2台がほぼ同時期に故障しました。原因はデータ破損です。
一方、産業用SDカードを搭載したデバイスは3台とも元気に稼働していました。
以下に再起動回数のデータを記載します。
感想
検証台数が少なく再起動回数も一定でないため十分厳密な調査とは言えませんが、民生用SDカードのほうが早く故障する確認が取れました。
故障してほしくないデバイスには産業用SDカードの導入を考えると良さそうです。
まとめ
Q. 産業用SDカードは普通のSDカード(以降、民生用SDカード)と何が違うのでしょうか?
A. 産業用SDカードは故障を防ぐための機能を複数搭載しているので壊れにくい
Q. 産業用SDカードを使うと本当に故障しにくくなるのでしょうか?
(簡易調査の結果的には)Yes
参考資料
以下は調査の際に参考にさせていただいたページです。
ありがとうございました。
産業用SDカードの全体像と機能を把握する際に参考にした資料
全体
SLC, MLC, TLCの違い等
電源遮断耐性機能
ウェアレベリング方式の違いについて
リフレッシュ機能