Temporary RAM would be required, rather than optional, in the following cases:
- Non-volatile storage not being fast enough to handle direct writing of data,
- If a lot of data is going to be written frequently, and not all of it is meant to be stored permanently - in this case, writing everything to flash memory may lead to premature failure.
In fact the first case is almost always true, at least in form of a cache to buffer transfers to the non-volatile memory. The size of this cache will vary with your requirements. You usually can use the embedded RAM of a MCU for that, unless you'd need a huge cache.
Note that if you want some kind of external RAM rather than flash, with a similar interface (QSPI), you can resort to PSRAM. The amount of memory available is always restricted (a few MBytes), but certainly much higher than the embedded RAM of most MCUs.