9. Command Definitions
Writing specific address and data commands or sequences into the command register initiates device
operations. Table 10.1 on page 30 defines the valid register command sequences. Writing incorrect
address and data values or writing them in the improper sequence resets the device to reading array data.
All addresses are latched on the falling edge of WE# or CE#, whichever happens later. All data is latched on
the rising edge of WE# or CE#, whichever happens first. Refer to the appropriate timing diagrams in AC
Characteristics on page 40.
Reading Array Data
The device is automatically set to reading array data after device power-up. No commands are required to
retrieve data. The device is also ready to read array data after completing an Embedded Program or
Embedded Erase algorithm.
After the device accepts an Erase Suspend command, the device enters the Erase Suspend mode. The
system can read array data using the standard read timings, except that if it reads at an address within erase-
suspended sectors, the device outputs status data. After completing a programming operation in the Erase
Suspend mode, the system may once again read array data with the same exception. See Erase Suspend/
Erase Resume Commands on page 28 for more information on this mode.
The system must issue the reset command to re-enable the device for reading array data if DQ5 goes high, or
while in the autoselect mode. See Reset Command on page 25.
See also Requirements for Reading Array Data on page 15 for more information. The Read Operations
on page 40 provides the read parameters, and Figure 17.1 on page 40 shows the timing diagram.
Writing the reset command to the device resets the device to reading array data. Address bits are don’t care
for this command.
The reset command may be written between the sequence cycles in an erase command sequence before
erasing begins. This resets the device to reading array data. Once erasure begins, however, the device
ignores reset commands until the operation is complete.
The reset command may be written between the sequence cycles in a program command sequence before
programming begins. This resets the device to reading array data (also applies to programming in Erase
Suspend mode). Once programming begins, however, the device ignores reset commands until the operation
The reset command may be written between the sequence cycles in an autoselect command sequence.
Once in the autoselect mode, the reset command must be written to return to reading array data (also applies
to autoselect during Erase Suspend).
If DQ5 goes high during a program or erase operation, writing the reset command returns the device to
reading array data (also applies during Erase Suspend).
Autoselect Command Sequence
The autoselect command sequence allows the host system to access the manufacturer and devices codes,
and determine whether or not a sector is protected. Table 10.1 on page 30 shows the address and data
requirements. This method is an alternative to that shown in Table 7.4 on page 19, which is intended for
PROM programmers and requires VID on address bit A9.
The autoselect command sequence is initiated by writing two unlock cycles, followed by the autoselect
command. The device then enters the autoselect mode, and the system may read at any address any
number of times, without initiating another command sequence.
A read cycle at address XX00h retrieves the manufacturer code. A read cycle at address XX01h returns the
device code. A read cycle containing a sector address (SA) and the address 02h in word mode (or 04h in byte
mode) returns 01h if that sector is protected, or 00h if it is unprotected. Refer to Table 7.2 on page 17 and
Table 7.3 on page 18 for valid sector addresses.
The system must write the reset command to exit the autoselect mode and return to reading array data.
February 27, 2009 S29AL016D_00_A8