Not used it on S7 but on S5 the previous PLC system I have used hard code in startup OB to generate a DB of a length that took up almost all spare ram, once generated it only does it once, reason needed a printer buffer on a critical process so if the printer failed or run out of paper it could buffer the print messages & release them when printer on-line, the sixe of the DB was in the reagion of 40-60 kb depending on the amount of ram that was free, we needed at least enough free ram to load the largest program of FB block for updates, the reason for this is there was no load memory, if the spare ram memory was less than the largest block of code then it could not download would require a delete of all blocks & then a re-load, siemens S5 did not overwrite the blocks but put the modified block in spare ram then replaced the file allocation to the new block, so in effect the memory would fill up, on earlier S5 PLC's you had to compress memory to remove old blocks but later versions the IDE did an automatic compress memory. So in effect, S5 memory was like a typical hard disk i.e. the old block was not deleted but the file allocation was changed to the replacement block.