You are reading a single comment by @allObjects and its replies. Click here to read the full conversation.
  • ...or you go for this FRAM/MRAM, which you can virtually not out write: 10^14 read/write cycles guarantee you 3+ years of 1000 writes per second... ;-) --- it is a bit more expensive than a pin compatible (Flash)EEPROM, but you can handle it like RAM - NO WRITE WAITS / DELAYS...

    In deed, you can use large FlashEEPROM and will practically never run out of working memory cells, but you have to write some algorithms to write into different spaces... Writing encoded -which will always flip a bit - you can use binary search to find the next free spot in decent time.

    The algorithm checks the 'byte in the middle of the space'. If it is not written, check the 'byte in the middle of the first half of the space', otherwise in the second half.... and so on, until you find the last written one. The encoding uses a little bit more space, but it is insignificant.

    If can think of fixed length sections, you flip bits in the first or last byte of the sections as used indicator and you go in the algorithm for sectors instead of bytes.The remaining part of the sections is for uncoded storage. You gain space by not encoding and loose some by the used indicator bytes.

    Since you want to write some meta data anyway - such as lengths and indicator for begin, end, and 'middle' block - it will make your day as used-indicator AND navigation / search information for reading back.

About

Avatar for allObjects @allObjects started