Dave
Working memory (code & data) and load memory in the S7-400 is battery-backed. If the battery is present and healthy, you power-cycle your PLC and it runs as if nothing had changed.
There are two portions of load memory : the built-in part on every CPU (which is often quite small, say 8Kb or so), plus the add-on portion. If you add a RAM card to the S7-400 to expand the built-in load memory, this is additive, so you get 8KB plus whatever you added. If you add an EEPROM card to the S7-400 to expand the built-in load memory, this is replacement, so the built-in load memory no longer gets used.
If your battery is low or missing when you power cycle the CPU, the o/s then takes the contents of load memory and transfers what it needs to work memory. Of course, if your expansion load memory was RAM as well, then with no battery it gets trashed during the power-cycle and the contents of load and work are identical : zero. Usually the recommendation is to use RAM cards only during the project development phase when lots of changes are being made, and eventually transfer the final (or near-final) project to EEPROM.
If memory serves, the batteries for the S7-400 are actually on the power supply not the CPU itself. However I think there's also a jack socket on the CPU where you can connect in a DC source to take the role of the battery. It's pretty wide-ranging, something like 3-15VDC so if you must stay with RAM there's this as a better alternative to the usual batteries which always get forgotten about until the day it's too late.
Ken.