the ATmega328P features three memory spaces.
AVR microcontrollers are built using a modified Harvard Architecture.
Two address buses, one for Flash Program Memory space and one for Static Random Access Memory (SRAM)
Two data buses, one can access all data and the other In/Out data bus with limited access to a small section of memory.
https://cookierobotics.com/043/
https://www.arnabkumardas.com/arduino-tutorial/avr-memory-architecture/