English
Language : 

S29PL-N_07 Datasheet, PDF (30/74 Pages) SPANSION – 256/128/128 Mb (16/8/8 M x 16-Bit) CMOS, 3.0 Volt-only Simultaneous Read/Write, Page-Mode Flash Memory
Data Sheet (Preliminary)
7.4.3
Sector Erase
The sector erase function erases one or more sectors in the memory array. (See Table 12.1 on page 66, and
Figure 7.3 on page 31.) The device does not require the system to preprogram prior to erase. The Embedded
Erase algorithm automatically programs and verifies the entire memory for an all zero data pattern prior to
electrical erase. The system is not required to provide any controls or timings during these operations.
After the command sequence is written, a sector erase time-out of no less than tSEA occurs. During the time-
out period, additional sector addresses and sector erase commands can be written. Loading the sector erase
buffer can be done in any sequence, and the number of sectors can be from one sector to all sectors. The
time between these additional cycles must be less than tSEA. Any sector erase address and command
following the exceeded time-out (tSEA) may or may not be accepted. Any command other than Sector Erase
or Erase Suspend during the time-out period resets that bank to the read mode. The system can monitor DQ3
to determine if the sector erase timer has timed out (see DQ3: Sector Erase Timeout State Indicator
on page 40). The time-out begins from the rising edge of the final WE# pulse in the command sequence.
When the Embedded Erase algorithm is complete, the bank returns to reading array data and addresses are
no longer latched. Note that while the Embedded Erase operation is in progress, the system can read data
from the non-erasing banks. The system can determine the status of the erase operation by reading DQ7 or
DQ6/DQ2 in the erasing bank. See Write Operation Status on page 37 for information on these status bits.
Once the sector erase operation has begun, only the Erase Suspend command is valid. All other commands
are ignored. However, note that a hardware reset immediately terminates the erase operation. If that occurs,
the sector erase command sequence should be reinitiated once that bank has returned to reading array data,
to ensure data integrity.
Figure 7.3 on page 31 illustrates the algorithm for the erase operation. See AC Characteristics on page 59 for
the Erase/Program Operations parameters and timing diagrams.
Software Functions and Sample Code
Table 7.9 Sector Erase
(LLD Function = lld_SectorEraseCmd)
Cycle
Description
Operation
Word Address
Data
1
Unlock
Write
Base + 555h
00AAh
2
Unlock
Write
Base + 2AAh
0055h
3
Setup Command
Write
Base + 555h
0080h
4
Unlock
Write
Base + 555h
00AAh
5
Unlock
Write
Base + 2AAh
0055h
6
Sector Erase Command
Write
Sector Address
0030h
Note
Unlimited additional sectors can be selected for erase; command(s) must be written within tSEA.
The following is a C source code example of using the sector erase 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: Sector Erase Command */
*((UINT16 *)base_addr + 0x555) = 0x00AA;
*((UINT16 *)base_addr + 0x2AA) = 0x0055;
*((UINT16 *)base_addr + 0x555) = 0x0080;
*((UINT16 *)base_addr + 0x555) = 0x00AA;
*((UINT16 *)base_addr + 0x2AA) = 0x0055;
*((UINT16 *)sector_address) = 0x0030;
/* write unlock cycle 1
*/
/* write unlock cycle 2
*/
/* write setup command
*/
/* write additional unlock cycle 1 */
/* write additional unlock cycle 2 */
/* write sector erase command
*/
30
S29PL-N MirrorBit™ Flash Family
S29PL-N_00_A5 June 6, 2007