Can a READ be initiated while in the middle of writing commands to the pNOR FLASH?
Yes, you may read data from the flash memory array before a command sequence is complete; any command cycles already written to the flash (program or erase) are lost as soon as the read cycle is initiated. While this use case is possible, it is not the best practice. Insofar as flash commands are messages that are composed of a series of write cycles, it is best practice to treat each command (message) as an atomic (indivisible) operation.
The worst-case turnaround time for any flash command that does not involve the busy state is < 1 microsecond, so there is not much need to interrupt this class of command for reading.
There are also commands that involve flash busy time – for the GL-S family this includes the blank check command, programming commands, and erasing commands.
- There is no way to suspend the blank check command, which takes milliseconds to complete. However, this command is normally used before production programming, so latency to the next read is not an issue.
- On the other hand, program and erase may be used during normal system operation, in which case suspending a program operation (hundreds of microseconds) or an erase operation (hundreds of milliseconds) may be useful to enable quick read access. The GL-S, among others, can suspend program and erase commands – the system only needs to send a suspend command and wait the suspend time (tens of microseconds) until reading is possible.
Check your datasheet for more details about commands for programming, erasing, suspending and resuming.