umaiboy
2021年4月2日 15時20分
Armadillo-X1ユーザです
新たな用途でArmadilloを使いたいのですが、その用途では下記の制限があります
・OverlayFSが使えない(readonlyにできない)
・外付けSDも差せない
このため、想定される利用の仕方で本体ストレージのeMMCがどの程度書き込めるか、どの程度の期間持ちそうか試算が
必要なのですが、試算に必要な基礎値(eMMC ブロックサイズ)が不明です。
eMMCのデータシート(下記)は参照しているのですが記載がなく、情報をお持ちでしたらご教示をお願いします。
https://media-www.micron.com/-/media/client/global/documents/products/d…
以上
コメント
at_mizo
溝渕です。
> >上記機能を無効にした場合は、eMMC(内部のキャッシュを経由してNAND Flash Memory)に書き込みます。
> 私は、eMMC内部に、「NAND Flash Memory」と「NAND Flash Memory以外」という2つ領域があると思っておりますが、そうではないですね。
あります(キャッシュ等に利用するRAMがあります)が、eMMCの外部(SoC)からどちらに書いているか判断できません。なので、最大書き込み回数を議論する上では考える必要は無いかと思います。
> 溝渕さんの回答によりますと、eMMCへ書き込むならNAND Flash Memoryへ書き込むという認識であってますでしょうか?
実質的にそう考えていただいて問題ありません。
> マニュアルを確認しますと、eMMCの種類は「SLCでの数値です。出荷時SLCに設定しています。」となるので、10万回書き込み(PE)を限定すると思いますが、
> それはあってますでしょうか?
以下の通り、4万回です。
https://armadillo.atmark-techno.com/forum/armadillo/8834
> Armadillo-X1(RAM 2GB製品を除く)のeMMCの場合
> 約4万回の書き込みが上限となります。
> また、NAND Flash Memoryも10万かい書き込みとおもったら良いでしょうか?
「eMMCへの書き込み」と、「NAND Flash Memoryへの書き込み」と認識していただいて構いません。
at_mizo
at_ohsawa
2021年4月9日 14時32分
eMMCは実際にはその内部に表記している容量以上の
NANDフラッシュメモリを内包し、書き込みを分散して
平均化しつつ、耐性に問題が発生した箇所をマスク
しながら内部のコントローラーが駆動しています。
従ってスペック上の容量をブロックサイズで割って
も寿命を推定することはできません。
更にArmadilloは高寿命化のためeMMCを容量を半分に
してSLCモードで駆動しているので、それも影響します。
eMMCの寿命と呼ばれるものは、この上の処理を通じて
余分な領域が尽きるまでの期間を示します。
ここで、上記の処理を全ておこなった上で、Linuxを
使っている側から見える見かけの寿命は
Armadillo-X1(RAM 2GB製品を除く)のeMMCの場合
約4万回の書き込みが上限となります。
(全容量に対して4万回書込むと考えてください)
なお、LinuxもeMMCの内部コントローラーもともに
書き込みをキャッシュするので、たとえば1byte
のfwriteを繰り返しても実際には纏めて書き込まれ
ているので、あまり小さい単位で書き込む前提で
積算すると、短めに寿命が計算されます。
また、この値は保証値ではありませんが、少なくと
もこの値の数倍以上動作できてしまうので、動作中
の寿命(をパーセンテージで示した値)を確認する
レジスタがあります。その確認手法について、
次のスレッドとそのリンクでも説明しています。
https://armadillo.atmark-techno.com/forum/armadillo/7515