Datasheet
22. NVMCTRL – Nonvolatile Memory Controller
22.1 Overview
Nonvolatile Memory (NVM) is a reprogrammable Flash memory that retains program and data storage
even with power off. It embeds a main array and a separate smaller array intended for EEPROM
emulation (RWWEE) that can be programmed while reading the main array. The NVM Controller
(NVMCTRL) connects to the AHB and APB bus interfaces for system access to the NVM block. The AHB
interface is used for reads and writes to the NVM block, while the APB interface is used for commands
and configuration.
22.2 Features
• 32-bit AHB interface for reads and writes
• Read-While-Write DATA Flash
• All NVM sections are memory mapped to the AHB, including calibration and system configuration
• 32-bit APB interface for commands and control
• Programmable wait states for read optimization
• 16 regions can be individually protected or unprotected
• Additional protection for bootloader
• Supports device protection through a security bit
• Interface to Power Manager for power-down of Flash blocks in sleep modes
• Can optionally wake up on exit from sleep or on first access
• Direct-mapped cache
Note: A register with property "Enable-Protected" may contain bits that are not enable-protected.
22.3 Block Diagram
Figure 22-1. Block Diagram
Command and
Control
NVM Interface
Cache
NVM Block
NVMCTRL
AHB
APB
main array
RWWEE array
SAM D21 Family
NVMCTRL – Nonvolatile Memory Controller
© 2018 Microchip Technology Inc.
Datasheet Complete
DS40001882D-page 383