Hi guys !
I need help regarding organizing data in flash. I use Atmel AT45DB081D serial flash.
Here is datasheet, on page 4 you have Memory Architecture Diagram.
I plan use this flash to store data in wireless applications. For start need to store following data: DI changes, AI values, RTC interrupts, Watch-dog resets and perhaps other.
One information should be 16 bytes long and it looks like this:
0-7 bytes - inf. of what happened (DI changed, RTC interrupt...)
8-15 bytes - [8-14] time when something happened
 inf. if this message was sent (colledted) wirelessly to data sink
Now, the question is how to organize this data in flash.
My first idea is to store similar events in particular sectors e.g. all DI schanges in sector 1, RTC interrupts in sector 2.
I don't know what if sector 1 is full of unsent data, what then?
Should I remember the last page number (in another sector) in which I stored data for every event that happened?
As I said, my messages are 16 bytes long (I hope that's enough for the future) I have last 8 bytes free (unused) per page. One of these 8 bytes is for checksum and other 7 are free.
I also have to implement mechanism to delete data that has been sent.
I should reach unsent data as quick as possible not to spend too much time reading one page after another.
You see that I have a lot of questions/problems and I hope form above text you understand my problem.
First of all, will this falsh satisfy my needs or do I have to look for something else?
Any advice, recommendation or link is very appreciated !