ESP32-PICO Flash

I am using the ESP32-PICO In the documentaion it says the board should have 4Mb of Flash.

When I compile my sketch it says

Sketch uses 738126 bytes (56%) of program storage space. Maximum is 1310720 bytes.
Global variables use 37720 bytes (11%) of dynamic memory, leaving 289960 bytes for local variables. Maximum is 327680 bytes.

I read this as I have 1310720 bytes of Flash and 327680 bytes of SRAM.

Flash 1310720 B / 1024 / 1024 = 1.25 MB
SRAM 327680 B / 1024 = 320 KB

From Espressif's documentation I couldn't find out how much SRAM I am supposed to have, but I certainly seem to be coming up short with the Flash.

Is my math right? Are there large portions of Flash being used for something else here or do I need to do something to access the other 2.75 MB?

The espressif forum, its they that support the ESP32 have this thread which has a comment at the bottom which might explain why you ‘only’ have 1310720 bytes of Flash.

https://www.esp32.com/viewtopic.php?t=4086

has a comment at the bottom which might explain why you 'only' have 1310720 bytes of Flash

TLDR: The flash on ESP32 is normally divided into three parts: a file system part, and two application areas (which allows for OTA upgrades.) This is user-changeable.

Thank you both for your responses.

srnet:
...
How much flash memory does my ESP32 really have - ESP32 Forum

Your link took me to quite a bit of useful information. Thank you.

westfw:
TLDR: The flash on ESP32 is normally divided into three parts: a file system part, and two application areas (which allows for OTA upgrades.) This is user-changeable.

Do you know if this is something I can control through an Arduino library?