Document Number: 002-00886 Rev. *B
S29GL01GP
S29GL512P
S29GL256P
S29GL128P
7.7.3
Sector Erase
The sector erase function erases one or more sectors in the memory array. (See
and
.) The device
does not require the system to preprogram a sector prior to erase. The Embedded Erase algorithm automatically programs and
verifies the entire memory to an all zero data pattern prior to electrical erase. After a successful sector erase, all locations within the
erased sector contain FFFFh. The system is not required to provide any controls or timings during these operations.
After the command sequence is written, the sector erase time-out t
SEA
(50 µs) occurs. During the time-out period, additional sector
addresses may be written. Loading the sector erase buffer may be done in any sequence, and the number of sectors may be from
one sector to all sectors. The time between these additional cycles must be less than 50 µs. Any sector erase address and
command following the exceeded time-out (50 µs) may or may not be accepted. Any command other than Sector Erase or Erase
Suspend during the time-out period resets that sector to the read mode. The system can monitor DQ3 to determine if the sector
erase timer has timed out (See
.) 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 sector returns to reading array data and addresses are no longer latched.
The system can determine the status of the erase operation by reading DQ7 or DQ6/DQ2 in the erasing sector. Refer to
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 sector has returned to reading array data, to ensure the sector is properly erased.
The Unlock Bypass feature allows the host system to send program commands to the Flash device without first writing unlock cycles
within the command sequence. See
for details on the Unlock Bypass function.
illustrates the algorithm for the erase operation. Refer to
for parameters and timing diagrams.
Software Functions and Sample Code
The following is a C source code example of using the sector erase function. Refer to the
Cypress Low Level Driver User’s Guide
www.cypress.com
) for general information on Cypress Flash memory software development guidelines.
/* Example: Sector Erase Command *
/
*( (UINT16 *)bas 0x555 ) = 0x00AA; /* write unlock cycle 1 */
*( (UINT16 *)bas 0x2AA ) = 0x0055; /* write unlock cycle 2 */
*( (UINT16 *)bas 0x555 ) = 0x0080; /* write setup command */
*( (UINT16 *)bas 0x555 ) = 0x00AA; /* write additional unlock cycle 1 */
*( (UINT16 *)bas 0x2AA ) = 0x0055; /* write additional unlock cycle 2 */
*( (UINT16 *)sector_address ) = 0x0030; /* write sector erase command */
Sector Erase
(LLD Function = lld_SectorEraseCmd)
Cycle
Description
Operatio
n
Byte Address
Word Address
Data
1
Unlock
Write
Base + AAAh
Base + 555h
00AAh
2
Unlock
Write
Base + 555h
Base + 2AAh
0055h
3
Setup Command
Write
Base + AAAh
Base + 555h
0080h
4
Unlock
Write
Base + AAAh
Base + 555h
00AAh
5
Unlock
Write
Base + 555h
Base + 2AAh
0055h
6
Sector Erase Command
Write
Sector Address
Sector Address
0030h
Unlimited additional sectors may be selected for erase; command(s) must be written within 50 µs.