June 6, 2007 S29PL-N_00_A5
S29PL-N 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.4.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 bank 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 t
ESL
(erase suspend latency) 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 bank 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.18 on page 40
for information on these status bits.
After an erase-suspended program operation is complete, the bank returns to the erase-suspend-read mode.
The system can determine the status of the program operation using the DQ7 or DQ6 status bits, just as in
the standard program operation.
In the erase-suspend-read mode, the system can also issue the Autoselect command sequence. See
Write
Buffer Programming
on page 27
and
Autoselect
on page 23
for details.
To resume the sector erase operation, the system must write the Erase Resume command. The bank
address of the erase-suspended bank 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 *)bank_addr + 0x000) = 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 *)bank_addr + 0x000) = 0x0030; /* write resume command */
/* The flash needs adequate time in the resume state */
Table 7.11
Erase Suspend
(LLD Function = lld_EraseSuspendCmd)
Cycle
Operation
Word Address
Data
1
Write
Bank Address
00B0h
Table 7.12
Erase Resume
(LLD Function = lld_EraseResumeCmd)
Cycle
Operation
Word Address
Data
1
Write
Bank Address
0030h