All bus write operations to the memory are interpreted by the command interface.
Commands consist of one or more sequential bus write operations. Failure to observe a
valid sequence of bus write operations will result in the memory returning to read mode. The
long command sequences are imposed to maximize data security.
The address used for the commands changes depending on whether the memory is in 16-
bit or 8-bit mode. See either Table 4, or Table 5, depending on the configuration that is being
used, for a summary of the commands.
The Read/Reset command returns the memory to its read mode where it behaves like a
ROM or EPROM, unless otherwise stated. It also resets the errors in the status register.
Either one or three bus write operations can be used to issue the Read/Reset command.
The Read/Reset command can be issued, between bus write cycles before the start of a
program or erase operation, to return the device to read mode. Once the program or erase
operation has started the Read/Reset command is no longer accepted. The Read/Reset
command will not abort an erase operation when issued while in erase suspend.
Auto Select command
The Auto Select command is used to read the manufacturer code, the device code and the
block protection status. Three consecutive bus write operations are required to issue the
Auto Select command. Once the Auto Select command is issued the memory remains in
auto select mode until a Read/Reset command is issued. Read CFI Query and Read/Reset
commands are accepted in auto select mode, all other commands are ignored.
From the auto select mode the manufacturer code can be read using a bus read operation
with A0 = VIL and A1 = VIL. The other address bits may be set to either VIL or VIH. The
manufacturer code for Numonyx is 0020h.
The device code can be read using a bus read operation with A0 = VIH and A1 = VIL. The
other address bits may be set to either VIL or VIH. The device code for the M29W800DT is
22D7h and for the M29W800DB is 225Bh.
The block protection status of each block can be read using a bus read operation with A0 =
VIL, A1 = VIH, and A12-A18 specifying the address of the block. The other address bits may
be set to either VIL or VIH. If the addressed block is protected then 01h is output on data
inputs/outputs DQ0-DQ7, otherwise 00h is output.
The Program command can be used to program a value to one address in the memory array
at a time. The command requires four bus write operations, the final write operation latches
the address and data in the internal state machine and starts the program/erase controller.
If the address falls in a protected block then the Program command is ignored, the data
remains unchanged. The status register is never read and no error condition is given.