Methods and systems for operating automotive computing devices are
described. In one embodiment, a small amount of static RAM (SRAM) is
incorporated into an automotive computing device. The SRAM is
battery-backed to provide a non-volatile memory space in which critical
data, e.g. the object store, can be maintained in the event of a power
loss. Circuitry is provided to ensure that the SRAM receives back up
power from the battery at appropriate times. Software manages the SRAM
and the other storage assembly components and makes use of virtual paging
or virtual addressing techniques to keep track of where various pages,
including object store pages, are stored in the system. The software
knows where all of the object store pages are located so that in the
event of a power loss, the page locations are known and hence the pages
can be used when power is restored. The SRAM is advantageously used to
maintain so-called "dirty pages" or pages that have been written to so
that these pages are not lost in the event of a power interruption.
Additionally, the software can also provide an orderly means by which
pages in the SRAM can be written out to flash memory thereby avoiding
unnecessary flash write operations which, in turn, increases the lifetime
of the flash memory.