組込アプリ開発において、情報の保存先としてSDカードが使われることが
多くなりましたが、書き込みにおいて回数制限があることを知らないエンジニアが
結構多いです。
市販されている多くのSDカードはブロック毎に1000回の制限があります。
(高耐久と記載されているMLCタイプは1万回ですが若干お高い。更に業務用のSLCなんてのもありますが超高いです)
これを知らずにfopen(“hogehoge”, “a”)なんかで既存ファイルの更新なんかやると
すぐにダメになります。
客先アプリで実際にあった話で、周期タイマの取りこぼしを発生させたり
更新後の読み込みでありえない値になっていたりと悲惨なことになってました。
こういう場合、新規ファイルを作成し旧ファイルと入れ替えるのが一般的です。
新規で書き込みを行う限り、SDチップ側でウェアレベリングが実施されるため
書き込みエリアが平準化されます。