Datasheet

Table Of Contents
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.
25.6.6.5 Page Buffer
The page buffer is automatically cleared to all-ones after any page write operation (WP or WQW
command). If a partial page has been written and it is desired to clear the contents of the page buffer, the
Page Buffer Clear (PBC) command can be used. The status of the page buffer is given by
STATUS.LOAD. This bit indicates that the NVM page buffer has been loaded with one or more words.
Immediately after an NVM load has been performed, this flag is set, and it remains set until a WP or
WQW or a PBC command is given.
The Page Buffer cannot be written while a write command is executing in the NVM. Trying to do so stalls
the AHB bus. To avoid stalling the AHB bus, STATUS.READY can by polled prior to issue a write
command.
Clearing the page buffer also clears to all ones the PBLDATA0 and PBLDATA1.
25.6.6.6 Erase
Before a page can be written, it must be erased. The erase granularity depend on the address space
(block or page). The Erase Block/Page command can be used to erase the desired block or page in the
NVM main address space. Erasing the block/page sets all bits to ‘1’. If the block/page resides in a region
that is locked, the erase will not be performed and the Lock Error bit in the INTFLAG register
(INTFLAG.LOCKE) will be set. INTFLAG.PROGE will also be set since the command didn’t complete.
The Erase Page command can be issued on the USER page in the auxiliary space.
The procedure for an Erase Block/Page command is as follows:
Write the address of the block/page to erase to ADDR. Any address within the block/page can be
used.
Issue an Erase Block/Page command.
The page buffer can be written while an erase page or erase block is being performed.
25.6.6.7 Lock and Unlock Region
The commands LR and UR are used to lock and unlock regions. These commands only update the
RUNLOCK register but not the corresponding field in the user page.
Related Links
25.6.5 Region Lock Bits
25.8.2 CTRLB
SAM D5x/E5x Family Data Sheet
NVMCTRL – Nonvolatile Memory Controller
© 2019 Microchip Technology Inc.
Datasheet
DS60001507E-page 650