MPC563XM Reference Manual, Rev. 1
Freescale Semiconductor
217
Preliminary—Subject to Change Without Notice
10.3.5
C90FL Flash EEPROM Functional Description
10.3.5.1
C90FL
User Mode
In user mode the C90FL module can be read and written (register writes and interlock writes), programmed
or erased. The following subsections define all actions that can be performed in user mode
10.3.5.2
C90FL Read and Write
The default state of the C90FL module is read. The main and shadow address space can be read only in
the read state. The Module Configuration Register (MCR) is always available for read. The C90FL module
enters the read state on reset. The C90FL module is in the read state under four sets of conditions:
•
The read state is active when STOP=0 in the MCR (User mode read)
•
The read state is active when PGM=1 or ERS=1 in the MCR (Read While Write)
NOTE
Reads done to the partition(s) being operated on (either erased or
programmed) will result in an error and the RWE bit in the MCR will be set.
•
The read state is active when PGM=1 and PSUS=1 in the MCR. (Program suspend)
•
The read state is active when ERS=1 and ESUS=1 and PGM=0 in the MCR. (Erase suspend)
NOTE
FC reads are done through the BIU. In many cases the BIU will do “page
buffering” to allow sequential reads to be done with higher performance.
This can create a Data Coherency issue that must be handled with software.
Data Coherency can be an issue after a program or erase operation, as well
as shadow row operations.
In C90FL user mode, registers can be written. Array can be written to do interlock writes.
Reads attempted to invalid locations will result in indeterminate data. Invalid locations occur when
addressing is done to blocks that do not exist in non 2
n
array sizes.
Interlock writes attempted to invalid locations (due to blocks that do not exist in non 2
n
array sizes), will
result in an interlock occurring, but attempts to program or erase these blocks will not occur since they are
forced to be locked.
10.3.5.3
Read While Write (RWW)
The Flash Core is divided into partitions. Partitions always comprise two or more blocks. Partitions are
used to determine Read While Write (RWW) groupings. While a write (program or erase) is being done
within a given partition, a read can be simultaneously executed to any other partition. Partitions are listed
in
. Each partition in high address space comprises two 128 KB blocks. Note that the shadow
block has unique Read While Write restrictions described in
Section 10.3.5.9, “C90FL Shadow Block
.”
The FC is also divided into blocks to implement independent erase or program protection. The shadow
block exists outside the normal address space and is programmed, erased and read independently of the