I already sorted it out, but just consider a following case.
where I want to write only on some particular locations in a single block, but when I want to update them I have to erase the complete 4k/32k block, so it becomes necessory to have a copy of the data at the other locations, and if I am not using External SRAM(in case of E2294 board), my LPC2294’s onchip RAM is only 16k, so how this ould be possible.
Currently I am keeping my data wth a logical seperations which will be match same as the block seperation in the FLash IC.
To work around the lack of RAM you could backup all the data to a different flash block (i.e. erase it, write it with all the data from the target block, erase the target block, copy the data from the backup block to the target block, updating values where necessary).
There’s also a limit on the maximum number of erase cycles - keep that in mind. If your data only needs to be updated once a day then it’s no problem, but if you’re updating the data once a minute then your flash will wear out in 3 months.
About what size of data are we talking here, and how often does it get updated?