Hi all,
I am wondering if writing data in E3prom at a given offset can corrupt or lead to data loss at another offset.
Use case: suppose I store some metadata relevant for my application in the first K of E3prom, while the remaining bytes are used for data logging. For the sake of the discussion, let's refer to relative addresses (address 0x0 means FlexRam address + 0x0, etc).
Is it possible that a write at address 0x401 corrupts the data at address 0x0?The same states for contiguous addresses (e.g. write at 0x401 impacts data at 0x400).
I understand that EEEprom/FlexRAM addresses are abstractions of the internal controller that maps the FlexNVM to FlexRAM, just wondering. ù
I need to be confident that flags and data relevant for my application are "safe enough" in EEEprom.
K.R.
Solved! Go to Solution.
Hi,
The EEPROM (FlexRAM) is writable in single bytes.
If the byte at 0x401 is over-witten, it will create a record in the backup flash.
If then the byte at 0x400 is over-written, it creates another records.
Please keep in mind that the EEPROM uses the same amount of backup flash for one 8bit record as for one 16bit (or 32bit) record.
A write to 0x400 will not change (or move) the 0x401 record in the backup flash unless of course the 0x400 byte in FlexRAM is over-written as well.
BR, Daniel.
Hi,
The EEPROM (FlexRAM) is writable in single bytes.
If the byte at 0x401 is over-witten, it will create a record in the backup flash.
If then the byte at 0x400 is over-written, it creates another records.
Please keep in mind that the EEPROM uses the same amount of backup flash for one 8bit record as for one 16bit (or 32bit) record.
A write to 0x400 will not change (or move) the 0x401 record in the backup flash unless of course the 0x400 byte in FlexRAM is over-written as well.
BR, Daniel.