![Infineon Technologies XC2200 Скачать руководство пользователя страница 111](http://html1.mh-extra.com/html/infineon-technologies/xc2200/xc2200_user-manual_2055439111.webp)
XC2200 Derivatives
System Units (Vol. 1 of 2)
Memory Organization
User’s Manual
3-50
V2.1, 2008-08
MemoryX2K, V1.3
•
Program the sector with data. A common protection against software crashes is to fill
the unused part of the sector with trap codes.
•
Change the read level to hard margin 0.
•
Verify the programmed data, note comparison errors and double-bit ECC errors and
count single-bit ECC errors. Take care to evaluate the ECC error flags only once per
128-bit data block and clear them afterwards.
•
Repeat this check with hard margin 1.
•
After programming all sectors:
– Erase and re-program all sectors with comparison or double-bit ECC errors.
– If a flash module contained more than a certain number (e.g. 10) of single-bit ECC
errors it is recommended to erase and re-program the affected sectors (i.e. those
containing at least one single-bit error).
– Attention: a high number of single-bit errors indicates usually a violation of
operating conditions.
The threshold of allowed single-bit errors could be increased for in-service updates in
order to reduce the risk of false negatives.
3.9.10.2 EEPROM Emulation
For EEPROM emulation the goal is usually not readability over device life-time but
highest possible robustness (against violated operating conditions, power failures, even
failing flash pages e.g. due to over-cycling). The risk of false negatives should be
minimized.
A good robustness is achieved with the following approach:
•
Verify data after programming with the normal read level. Single-bit ECC errors
should be ignored.
•
In case of comparison error or double-bit ECC error the data should be programmed
again to the next flash range (e.g. next page or sector).
•
The number of re-programming trials should be limited (e.g. to 3) to protect against
violated operating conditions.
Obviously this jumping over failed pages can be only used optimally when the algorithm
does not expect data on fixed addresses.
Failing pages can prevent “Erase Sector” from erasing any data in the affected sector.
The “Erase Page” command however could still erase all other pages. These other
pages stay readable and programmable.