
April 30, 2004 S29GLxxxM_00A5
S29GLxxxM MirrorBit
TM
 Flash Family
105
P r e l i m i n a r y
data pairs must fall within the selected-write-buffer-page. The system then 
writes the remaining address/data pairs into the write buffer. Write buffer loca-
tions may be loaded in any order.
The write-buffer-page address must be the same for all address/data pairs loaded 
into the write buffer. (This means Write Buffer Programming cannot be performed 
across multiple write-buffer pages.) This also means that Write Buffer Program-
ming cannot be performed across multiple sectors. If the system attempts to load 
programming data outside of the selected write-buffer page, the operation will 
abort. 
Note that if a Write Buffer address location is loaded multiple times, the address/
data pair counter will be decremented for every data load operation. The host 
system must therefore account for loading a write-buffer location more than 
once. The counter decrements for each data load operation, not for each unique 
write-buffer-address location. Note also that if an address location is loaded more 
than once into the buffer, the final data loaded for that address will be 
programmed. 
Once the specified number of write buffer locations have been loaded, the system 
must then write the Program Buffer to Flash command at the sector address. Any 
other address and data combination aborts the Write Buffer Programming oper-
ation.   The device then begins programming. Data polling should be used while 
monitoring the last address location loaded into the write buffer. DQ7, DQ6, DQ5, 
and DQ1 should be monitored to determine the device status during Write Buffer 
Programming. 
The write-buffer programming operation can be suspended using the standard 
program suspend/resume commands. Upon successful completion of the Write 
Buffer Programming operation, the device is ready to execute the next command.
The Write Buffer Programming Sequence can be aborted in the following ways: 
 Load a value that is greater than the page buffer size during the Number of 
Locations to Program step.
 Write to an address in a sector different than the one specified during the 
Write-Buffer-Load command.
 Write an Address/Data pair to a different write-buffer-page than the one se-
lected by the Starting Address during the write buffer data loading stage of 
the operation.
 Write data other than the Confirm Command after the specified number of 
data load cycles.
The abort condition is indicated by DQ1 = 1, DQ7 = DATA# (for the last address 
location loaded), DQ6 = toggle, and DQ5=0. A Write-to-Buffer-Abort Reset com-
mand sequence must be written to reset the device for the next operation.
Note that the SecSi Sector, autoselect, and CFI functions are unavailable when a 
program operation is in progress.
This flash device is capable of handling multiple 
write buffer programming operations on the same write buffer address range 
without intervening erases. For applications requiring incremental bit program-
ming, a modified programming method is required; please contact your local 
Spansion representative. 
Any bit in a write buffer address range cannot be 
programmed from “0” back to a “1.”
 Attempting to do so may cause the de-
vice to set DQ5=1, of cause the DQ7 and DQ6 status bits to indicate the operation 
was successful. However, a succeeding read will show that the data is still “0.” 
Only erase operations can convert a “0” to a “1.”