February 20, 2007 S29NS-P_00_A1
S29NS-P MirrorBit
TM
Flash Family
43
D a t a
S h e e t
( A d v a n c e
I n f o r m a t i o n )
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
(
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
(
www.spansion.com
) for general information on Spansion Flash memory software
development guidelines.
/* Example: Erase resume command */
*( (UINT16 *)bank_addr + 0x000 ) = 0x0030;
/* The flash needs adequate time in the resume state */
/* write resume command
*/
6.5.6
Program Suspend/Program Resume Commands
The Program Suspend command allows the system to interrupt an embedded programming operation or a
Write to Buffer
programming operation so that data can read from any non-suspended sector. When the
Program Suspend command is written during a programming process, the device halts the programming
operation within t
PSL
(program suspend latency) and updates the status bits. Addresses are
don't-cares
when
writing the Program Suspend command.
After the programming operation has been suspended, the system can read array data from any non-
suspended sector. The Program Suspend command may also be issued during a programming operation
while an erase is suspended. In this case, data may be read from any addresses not in Erase Suspend or
Program Suspend. If a read is needed from the Secured Silicon Sector area, then user must use the proper
command sequences to enter and exit this region.
The system may also write the Autoselect command sequence when the device is in Program Suspend
mode. The device allows reading Autoselect codes in the suspended sectors, since the codes are not stored
in the memory array. When the device exits the Autoselect mode, the device reverts to Program Suspend
mode, and is ready for another valid operation. See the
Autoselect
section for more information.
After the Program Resume command is written, the device reverts to programming. The system can
determine the status of the program operation using the DQ7 or DQ6 status bits, just as in the standard
program operation. See the
Write Operation Status
section for more information.
The system must write the Program Resume command (address bits are
don't care
) to exit the Program
Suspend mode and continue the programming operation. Further writes of the Program Resume command
are ignored. Another Program Suspend command can be written after the device has resumed programming.
Note:
While a program operation can be suspended and resumed multiple times, a minimum delay of t
PRS
(Program Resume to Suspend) is required from resume to the next suspend.
Software Functions and Sample Code
Table 6.19
Erase Suspend
(LLD Function = lld_EraseSuspendCmd)
Cycle
Operation
Byte Address
Word Address
Data
1
Write
Bank Address
Bank Address
00B0h
Table 6.20
Erase Resume
(LLD Function = lld_EraseResumeCmd)
Cycle
Operation
Byte Address
Word Address
Data
1
Write
Bank Address
Bank Address
0030h
Table 6.21
Program Suspend
(LLD Function = lld_ProgramSuspendCmd)
Cycle
Operation
Byte Address
Word Address
Data
1
Write
Bank Address
Bank Address
00B0h