27.5.6.4 Suspend/Resume

This feature can be enabled by writing a ‘1’ to CTRLA.SUSPEN. Any modify operation, such as write or erase can be suspended even those triggered by the SmartEEPROM.

When enabled, the following commands are suspended by a NVM read request:

  • EB
  • WP

If a read occurs while executing one of the command listed above, the NVMCTRL will follow the following steps:

  1. Send a suspend command to the NVM.
  2. Wait for the NVM to be ready.
  3. Read the NVM. The NVMCTRL will persist in this step when a new read request occurs, or else proceed.
  4. Resume the suspended operation.

A suspend operation will set INTFLAG.SUSP. To clear it write a ‘1’ to INTFLAG.SUSP.

The NVM suspended state is reflected in STATUS.SUSP.

Limitations:

  • Suspend is not possible for a read in the page being programmed.
  • Suspend is not possible for a read in a sector (128KB) containing a block under erase.
  • It is not possible to enter power reduction mode when a command is suspended.