Document Number: 001-98285 Rev. *R
Page 21 of 108
S29GL01GS/S29GL512S
S29GL256S/S29GL128S
5.2
Program and Erase Summary
Flash data bits are erased in parallel in a large group called a sector. The Erase operation places each data bit in the sector in the
logical 1 state (High). Flash data bits may be individually programmed from the erased 1 state to the programmed logical 0 (low)
state. A data bit of 0 cannot be programmed back to a 1. A succeeding read shows that the data is still 0. Only erase operations can
convert a 0 to a 1. Programming the same word location more than once with different 0 bits will result in the logical AND of the
previous data and the new data being programmed.
The duration of program and erase operations is shown in
Embedded Algorithm Performance Table on page 43
Program and erase operations may be suspended.
An erase operation may be suspended to allow either programming or reading of another sector (not in the erase sector).
No other erase operation can be started during an erase suspend.
A program operation may be suspended to allow reading of another location (not in the Line being programmed).
No other program or erase operation may be started during a suspended program operation - program or erase commands
will be ignored during a suspended program operation.
After an intervening program operation or read access is complete the suspended erase or program operation may be
resumed. The resume can happen at any time after the suspend assuming the device is not in the process of executing
another command.
Program and Erase operations may be interrupted as often as necessary but in order for a program or erase operation to
progress to completion there must be some periods of time between resume and the next suspend commands greater than
or equal to t
PRS
or t
ERS
in
Embedded Algorithm Performance Table on page 43
.
When an Embedded Algorithm (EA) is complete, the EAC returns to the operation state and address space from which the
EA was started (Erase Suspend or EAC Standby).
The system can determine the status of a program or erase operation by reading the Status Register or using Data Polling Status.
Refer to
for information on these status bits. Refer to
Data Polling Status on page 35
for more
information.
Any commands written to the device during the Embedded Program Algorithm are ignored except the Program Suspend, and Status
Read command.
Any commands written to the device during the Embedded Erase Algorithm are ignored except Erase Suspend and Status Read
command.
A hardware reset immediately terminates any in progress program / erase operation and returns to read mode after t
RPH
time. The
terminated operation should be reinitiated once the device has returned to the idle state, to ensure data integrity.
For performance and reliability reasons reading and programming is internally done on full 32-byte Pages.
I
CC3
represents the active current specification for a write (Embedded Algorithm) operation.
5.2.1
Program Granularity
The S29GL-S supports two methods of programming, Word or Write Buffer Programming. Each Page can be programmed by either
method. Pages programmed by different methods may be mixed within a Line for the Industrial Temperature version (–40 °C to
+85 °C). For the In-Cabin version (–40 °C to +105 °C) the device will only support one programming operation on each 32-byte page
between erase operations and Single Word Programming command is not supported.
Word programming examines the data word supplied by the command and programs 0’s in the addressed memory array word to
match the 0’s in the command data word.
Write Buffer Programming examines the write buffer and programs 0’s in the addressed memory array Pages to match the 0’s in the
write buffer. The write buffer does not need to be completely filled with data. It is allowed to program as little as a single bit, several
bits, a single word, a few words, a Page, multiple Pages, or the entire buffer as one programming operation. Use of the write buffer
method reduces host system overhead in writing program commands and reduces memory device internal overhead in
programming operations to make Write Buffer Programming more efficient and thus faster than programming individual words with
the Word Programming command.