ログ ファイルとして NAND ファイルシステムに書き込む永続的な辞書 (文字列 -> 文字列マップ) があります。私のバイナリ形式は次のとおりです。
1 byte - key size
<key size> bytes - key without the terminating nul-character
2 bytes - value size and flags
<value size> bytes - value without terminating nul-character
通常、辞書を変更するたびに 20 ~ 100 バイトを書き込みます。しかし、これは NAND に永続化されているため、この設計では毎回新しいページが割り当てられ、使用可能な NAND スペースが反復ごとに 2k 減少します。
このデータを失うことができないため、書き込みをキャッシュできません。POS端末を実行し、取引データを保存しています。私のアルゴリズムは効果的にフラッシュを書き込んで呼び出すので、これは起こりません。
さて、この問題を解決するためのデファクトまたは標準のアルゴリズムはありますか? ターゲット プラットフォームでのパワーダウン トリガーを確認しましたが、SDK は NAND を永続レイヤーとして使用することを提案しています。