kn
2023年2月17日 15時49分
お世話になっております。
Armadillo-IoT G3に搭載されているeMMCですが、書き込み回数を節約するためにBKOPSを有効にしたいと思います。
セカンドソース品のeMMC(PSE6A0SL-08GE)でもBKOPS制御は可能でしょうか?
https://armadillo.atmark-techno.com/change_notification/2022-006
コメント
回答いただきありがとうございます。疑問点が解決しました。
> 製品寿命を延ばすことが今回の問い合わせの背景でしょうか?
はい、仰る通り製品寿命を延ばすことが背景にあります。
> セカンドソース品のeMMCメーカーが開示している
> P/Eサイクル寿命の参考値は論理アドレスアクセスで、30,000回[※3]となっており、
> 容量が3.8GBですので、トータルで114TB程度は書き込める計算になります。
ありがとうございます。
セカンドソース品として従来のeMMCと同等品質のものを選定されているとは思っていましたが、
書き込み量が数字として示されている資料が見つからなかったので助かります。
at_koseki
2023年2月27日 17時55分
古関です。
■ BKOPSの有効化について
セカンドソース品でもBKOPSをサポートしています。
mmc-utils[※1]等から設定が可能ですのでご確認ください。
■ BKOPSで書き込み抑制できるか
> 書き込み回数を節約するためにBKOPSを有効にしたいと思います。
デバイス内部の管理のための処理[※2]を、空き時間を利用してeMMC内部でバックグラウンド実行するもので、
これによって直接、書き込み回数自体が抑制されるような動きはしないと考えております。
eMMC内部のキャッシュの振る舞いは多少変わるかもしれませんが、
寿命に関わるような書き込み回数の変化は起きないと考えます。
■ eMMCの書き込み寿命に関して
製品寿命を延ばすことが今回の問い合わせの背景でしょうか?
以下、参考になれば幸いです。
eMMCでは、内部のコントローラーでウェアレベリングされており、
Linuxからの書き込み(寿命を左右するErase)要求によって
特定の物理アドレスのNANDメモリセルのみが
劣化していくような動きはせず、eMMC内部の代替NANDメモリセル含めて
全体的に使用され・全体的に劣化していくような動きをします。
また、ホストからは論理アドレスでのアクセスとなり、
eMMC内部の物理アドレスは知ることはできません。
セカンドソース品のeMMCメーカーが開示している
P/Eサイクル寿命の参考値は論理アドレスアクセスで、30,000回[※3]となっており、
容量が3.8GBですので、トータルで114TB程度は書き込める計算になります。
eMMCのP/Eサイクル寿命を把握したうえで、
以下のようなアプローチをすべきなのかな、と考えています。
・「1日にXXバイト書き込むから、XX年程度は運用できる」
・「XX年間運用したいため、1日に書き込んでよいデータ量はXXバイト程度」
例えば、114TB書き込めるeMMCで、10年稼働するシステムを設計する場合、
1日に書き込めるデータ量は30GB程度となります。
お客様の開発するシステムの要求や設計はわかりませんが、
目安として余裕のある数値ではないかと推測しています。
■ eMMCの故障予測について
以下のフォーラムが参考になります。
https://armadillo.atmark-techno.com/forum/armadillo/3208
--------------------------------------
[※1]
root@armadillo:~# apt-get install mmc-utils
root@armadillo:~# mmc extcsd read /dev/mmcblk2 | grep BKOPS
Background operations support [BKOPS_SUPPORT: 0x01]
Background operations status [BKOPS_STATUS: 0x00]
Enable background operations handshake [BKOPS_EN]: 0x00
root@armadillo:~# mmc bkops enable /dev/mmcblk2
[※2]
例えば、データリテンション(電荷抜け)対策として
セルの電荷をリチャージする処理などがバッググラウンドで実施されるものもあるようです。
[※3]
弊社では、採用したeMMCに対して10万回のP/Eサイクル試験(長期エージング)を実施しておりますが
Read/Write/Comapreでデータ化けやエラーは発生していません。
メーカーが提示している参考値は、かなりマージンのある値となっていると考えています。