
November 8, 2007 S29GL-P_00_A7
S29GL-P MirrorBit
 Flash Family
33
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 t
SEA
 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
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           */
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 */
Table 7.10  
Erase Suspend
(LLD Function = lld_EraseSuspendCmd)
Cycle
Operation
Byte Address
Word Address
Data
1
Write
Base + XXXh
Base + XXXh
00B0h
Table 7.11  
Erase Resume
(LLD Function = lld_EraseResumeCmd)
Cycle
Operation
Byte Address
Word Address
Data
1
Write
Sector Address
Sector Address
0030h