Need Help on Data Management on Serial Data flash AT45DB081D

Status
Not open for further replies.

samthesailor

Newbie level 3
Joined
Jan 17, 2012
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
Mumbai
Activity points
1,304
Hi Everyone,

I am using serial data flash AT45DB081D for storing some reports in one of my project. Since the reports are stored or deleted frequently, I am afraid that the flash will wear out quickly.

Can someone share some info or code on Wear leveling algorithm or How do I manage data structure on flash memory to extend memory life?

You help would be appreciated.

Thanks in advance.
 

if your data is not too big, you can put next process to next address (not at static address) and clear (0xFF) last operation address. The next location is stored in uC RAM. And when power on, you have to search to entire memory where the last data is. You also can save the address location to flash memory but i will make more address used. Or may be you have to change the flash memory to battery backup RAM or on your RTC memory if it is enough (Although now your have used that flash that a high speed SPI, you still need to wait the flash about 20 ms to be ready).
 
Last edited:

Thanks for the reply arch zone.

My report size is araound 4K. I have to keep record of such 100 reports which are saved or deleted frequenly. Moreover deletion of report is random. I mean any report can be deleted at any time. So I have to create Link list to save these reports. Inspite of having report size 4K I have chosen AT45DB081D which has page size of 256 Byte because there are some other 100 mini reports of around 200Bytes each which I have to store in a same fashion as other reports.

My concern is how do I manage this link list to extend memory life. How do they perform wear leveling in FLASH Drives? Any Idea?

Changing memory to battery backup RAM would be my last resort.
 

If your project is higher priced and lower quantity, then you might want to consider MRAM, because it has unlimited writes, thus you don't have to worry about wear leveling. One thing that people don't seem to consider is using a bigger flash chip for storage, but keep track of everything in a 2nd chip that is a EEPROM or MRAM.

**broken link removed**
 

Hmmm..at the moment FRAM seems to be a good option. But out of interest, can anybody share a good wear leveling algorithm. I am open to use EEPROM for keeping track of things required for this algorithm.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…