不揮発性フラッシュ メモリに格納するアラーム履歴構造を開発しようとしています。フラッシュ メモリの書き込みサイクル数は限られているため、毎回構造内のすべてのフラッシュ ページを書き換えたり、更新されたポインタをキューの先頭/末尾に書き込んだりせずに、構造にレコードを追加する方法が必要です。
さらに、使用可能なフラッシュ メモリ領域が使用されたら、先入れ先出しで追加された最初のレコードから始めて、以前にフラッシュに保存されたレコードの上書きを開始したいと考えています。これにより、アイテムを追加するには循環バッファーが最適だと思います。ただし、レコードを表示するときは、構造をスタックのように機能させたいと考えています。例: レコードは、後入れ先出しの新しい順に表示されます。
構造体のサイズ、ヘッド、テール、インデックスは、レコード自体に格納されない限り格納できません。これは、それらが毎回固定位置に書き出されると、それらが格納されたページの最大書き込みサイクルを超えるためです。
では、スタック、キュー、またはハイブリッド構造を使用する必要がありますか? 電源投入後に再初期化できるように、ヘッド、テール、サイズの情報をフラッシュに保存するにはどうすればよいですか?