ブログ

eMMCの予備領域を確認する方法

at_shinya.matsumoto
2022年5月25日 14時04分

本ブログはArmadillo製品に使用しているeMMC(ストレージ)の予備領域の確認方法について、eMMCの前提情報を
交えつつご紹介します。予備領域が残っているかどうかで寿命予測に活用できます。

eMMCについて

eMMCとは”embedded Multi Media Cardの頭文字を取った略称でNAND型のフラッシュメモリを利用した
内蔵ストレージです。当社で使用しているものは長期間運用を前提としている為、使用する容量を半分以下
にしてSLCモードで使用しています。

eMMCは耐性に問題が発生した個所を内部コントローラがマスクし、予備領域を割り当てて調整しています。
この予備領域がなくなると書き込みが出来なくなる可能性があります。

eMMCの予備領域の見方

mmc-utilsというパッケージをインストールし、下記コマンドを実行するとeMMCの予備領域の使用率が
分かります。eMMCのメーカーが違ってもEXT_CSD_PRE_EOL_INFOという情報は共通仕様の為、他社の
eMMCでも確認は出来ると思います。
(Armadillo-IoT G4ではデフォルトでmmc-utilsがインストールされています)

armadillo:~# mmc extcsd read /dev/mmcblk2 | grep EXT_CSD_PRE_EOL_INFO
eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x01

結果については下記になります。
 0x01:定常状態(問題無し)
 0x02:予備領域80%以上使用
 0x03:予備領域90%以上使用

eMMCの書き換え可能回数について

何回書き込みすると寿命になるのか?という疑問を抱かれることがあると思いますが、一概にお答えが出来ません。
その理由として、当社のケースで言えば下記の事象が絡む為です。
・使用領域を半分以下にしてSLCモードで動作
・eMMC内部でウェアレベリングを実施
・低容量の書き込みは一時的にキャッシュに保存し、纏めて書き込む

今後採用するeMMCによっては同じ回答となるかは未定ですが、例えば使用可能な容量が10GBであれば、10GBの全容量に
対して25000回程度はエラー無く書き込みが出来るとお考え下さい。

参考情報

eMMCの書き換え可能回数の上限が気になる場合は、overlayFSでRAM上に保存し、書き込みを頻度を減らす事が出来ます。
overlayFSについては各マニュアルに記載しておりますのでご参考にして頂ければと思います。