年中アイス

いろいろつらつら

古いSDカードに書き込めなくなった

結論を先に書くと、SDカードも寿命はくるし、そうなった時に書き込みはできなくするけど既存データの読み込みはできるようなセーフガードが動くようだということ。さらに同じメーカーのSDカードを2枚同時に購入していて、同じタイミングでダメになった可能性が高いので、冗長構成ならメーカーや製品自体を分けるか購入時期を年単位ぐらいでは変えておくのが重要です。

何が起きたか

先日、久しぶりに一眼レフを動かして写真を撮っていたら、実はSDカードに記録されていなかったという問題が発生しました。前回は6月に写真を撮っていて、それから4ヶ月ぶりに動かしました。画面上何も問題なく写真が撮れている風だったんですが、後からプレビューすると少し前の写真が出てくる。

この時点で写真を撮ってもプレビューに出てこないので記録されていない可能性が高いことがわかりました。SDカードはもう一枚あったので、それで試してみると今度は「このカードには記録できません」という明示的なエラー表示になり、同様に過去の写真のプレビューは表示される。念のためSDカードの物理書き込みLockを確認するもそれはかかっていませんでした。

可能性は2つ。

  • SDカードが2枚とも壊れた。
  • 一眼レフの書き込み機構が壊れた。

調査

Macでも同様に読み込めるが書き込めないことと、一眼レフでフォーマットをかけてもデータが残ったままの状態なので、Readonlyな状態になっている。少し調べると、microSDカードですが構造上そうなるという話が出てきたので、おそらく壊れそうな状態。

www.phileweb.com

書き込みエラーが頻発するようになった場合、microSDカードに内蔵されているフラッシュメモリコントローラが以降の書き込みを禁止するのです。こうなると、ファイルの追加はもちろん削除や変更、microSDカード全体の初期化(フォーマット)もできなくなります。

壊れると言っても、買ったの割と最近じゃなかったっけ?と思いamazonの購入履歴*1を確認すると、なんと8年前の2013年に同時に2枚*2。それはSDカードも耐用年数そこまで高くないだろうという感じで、SDカード自体の寿命の可能性が高くなりました。しかし、一眼レフ本体の故障によってSDカードを破壊している可能性も否定はできないので、サクッと届くamazonでまたSDカードを購入しました。

それを試すとあっさり写真は撮れたので、一眼レフ本体ではなくSDカードの寿命ということで確定しました。

まとめ

  • SDカードも寿命は来るので、多分3-5年単位では買い替えないしローテが必要。
  • 同じメーカーの同じ型番を複数買うなら冗長構成用に別のメーカーや購入時期を変えること。
  • SDカードは壊れたら読み書きできなくなるのではなく、読み込み専用になる*3。その際明示的にエラーになるか、しれっと書き込まれていないかは運

エンジニアとしては、冗長化に同じメーカー型番ロットのディスクでRAIDを組んで、同時に故障して死んでしまうというのと全く同じことを引いてしまったので、なかなか貴重な体験となりました。8年越しの爆弾。

ちなみにメーカーはTransendを使っていて、他は別に問題なかったので新しいSDカードは継続してTransendと冗長構成用にKIOXIAに分けました。ただ、一眼レフも8年前に買っているので、年数的には次はそっちが寿命を迎える可能性も。

*1:こういう時ほんと便利、購入履歴

*2:この時は冗長構成ではなく、単に写真を多く撮っている時期だったので容量不足回避のために2枚購入していました。

*3:全メーカーそうかは不明