Possible filesystem layouts Splitting metadata and data Metadata could just live within the application binary Data must definitely live on external storage The application needs to host a copy anyways for initial setup This should really be a structure, not a bunch of #define And it must include version and magic number in the data. TLV (type length and value) All addresses are relatives Subdirectories are easy to add (as a special type) A writable file could be allocated to maximum-foreseen-size Really, TLV is to be considered for a filesystem The concept is well known and appreciated The code size to access it is very small The main disadvantage is that access is sequential