Abstract: An apparatus includes a computerized appliance having a processor, persistent storage storing one or more executable programs, and Dynamic Random Access Memory (DRAM) accessible by the processor, and caching software (SW) executing on the processor from a non-transitory medium, the SW providing a process: storing Logical Block Address (LBA) tables associated with individual ones of existing programs executable on the processor, tracking program launch and close, managing caching of data for any program launched according to the associated LBA, tracking data usage during execution of any program launched, on closing a program, removing any unused LBAs from the associated LBA table, adding any LBAs accessed not on the table; and saving the resulting LBA table for the program closed.