D a t a S h e e t ( P r e l i m i n a r y )
7.7.5
Erase Suspend/Erase Resume Commands
The Erase Suspend command allows the system to interrupt a sector erase operation and then read data
from, or program data to, any sector not selected for erasure. The sector address is required when writing this
command. This command is valid only during the sector erase operation, including the minimum tSEA time-out
period during the sector erase command sequence. The Erase Suspend command is ignored if written during
the chip erase operation.
When the Erase Suspend command is written during the sector erase operation, the device requires a
maximum of 20 µs (5 µs typical) to suspend the erase operation. However, when the Erase Suspend
command is written during the sector erase time-out, the device immediately terminates the time-out period
and suspends the erase operation.
After the erase operation has been suspended, the device enters the erase-suspend-read mode. The system
can read data from or program data to any sector not selected for erasure. (The device “erase suspends” all
sectors selected for erasure.) Reading at any address within erase-suspended sectors produces status
information on DQ7-DQ0. The system can use DQ7, or DQ6, and DQ2 together, to determine if a sector is
actively erasing or is erase-suspended. Refer to Table 7.35 for information on these status bits.
After an erase-suspended program operation is complete, the device returns to the erase-suspend-read
mode. The system can determine the status of the program operation using write operation status bits, just as
in the standard program operation.
In the erase-suspend-read mode, the system can also issue the Autoselect command sequence. Refer to
Write Buffer Programming on page 26 and the Autoselect on page 21 for details.
To resume the sector erase operation, the system must write the Erase Resume command. The address of
the erase-suspended sector is required when writing this command. Further writes of the Resume command
are ignored. Another Erase Suspend command can be written after the chip has resumed erasing.
Software Functions and Sample Code
Table 7.10 Erase Suspend
(LLD Function = lld_EraseSuspendCmd)
Cycle
Operation
Byte Address
Word Address
Data
1
Write
Base + XXXh
Base + XXXh
00B0h
The following is a C source code example of using the erase suspend function. Refer to the Spansion Low
Level Driver User’s Guide (available on www.spansion.com) for general information on Spansion Flash
memory software development guidelines.
/* Example: Erase suspend command */
*( (UINT16 *)base_addr ) = 0x00B0;
/* write suspend command
*/
Table 7.11 Erase Resume
(LLD Function = lld_EraseResumeCmd)
Cycle
Operation
Byte Address
Word Address
Sector Address
Data
1
Write
Sector Address
0030h
The following is a C source code example of using the erase resume function. Refer to the Spansion Low
Level Driver User’s Guide (available on www.spansion.com) for general information on Spansion Flash
memory software development guidelines.
/* Example: Erase resume command */
*( (UINT16 *)sector_addr ) = 0x0030;
/* write resume command
*/
/* The flash needs adequate time in the resume state */
November 8, 2007 S29GL-P_00_A7
S29GL-P MirrorBit® Flash Family
33