XC886/888CLM
Flash Memory
User’s Manual
4-5
V1.3, 2010-02
Flash Memory, V 1.0
For example, the user’s program can implement a buffer mechanism for each sector.
Double copies of each data set can be stored in separate sectors of similar size to ensure
that a backup copy of the data set is available in the event the actual data set is corrupted
or erased.
Alternatively, the user can implement an algorithm for EEPROM emulation, which uses
the D-Flash bank like a circular stack memory; the latest data updates are always
programmed on top of the actual region. When the top of the sector is reached, all actual
data (representing the EEPROM data) is copied to the bottom area of the next sector
and the last sector is then erased. This round robin procedure, using multifold
replications of the emulated EEPROM size, significantly increases the Flash endurance.
To speed up data search, the RAM can be used to contain the pointer to the valid data
set.
4.3
Parallel Read Access of P-Flash
To enhance system performance, the P-Flash banks are configured for parallel read to
allow two bytes of linear code to be read in 4 x CCLK cycles, compared to 6 x CCLK
cycles if serial read is performed. This is achieved by reading two bytes in parallel from
a P-Flash bank pair within the 3 x CCLK cycles access time and storing them in a cache.
Subsequent read from the cache by the CPU does not require a wait state and can be
completed within 1 x CCLK cycle. The result is the average instruction fetch time from
the P-Flash banks is reduced and thus, the MIPS (Mega Instruction Per Second) of the
system is increased.
However, if the parallel read feature is not desired due to certain timing constraints, it can
be disabled by calling the parallel read disable subroutine (see
).
*