Claims
- 1. A programmable automotive computing device programmed with instructions which, when executed by the automotive computing device, cause the computing device to:
copy an object store into device flash memory; and create an object store page table in device SRAM that is configured to track the locations of all of the object store pages in the device.
- 2. The automotive computing device of claim 1, wherein the instructions cause the computing device to initialize the object store page table to indicate that object store pages are located in flash memory and are read only pages.
- 3. The automotive computing device of claim 1, wherein the instructions cause the computing device to:
page object store pages between and among the flash memory, device DRAM and the SRAM; and update the object store page table to reflect new locations of the paged object store pages.
- 4. The automotive computing device of claim 3, wherein the instructions cause the computing device to page object store pages from the flash memory to the DRAM responsive to a read access of the object store page.
- 5. The automotive computing device of claim 4, wherein the instructions cause the computing device to maintain a copy of one or more paged pages in the flash memory in the event of a power loss.
- 6. The automotive computing device of claim 3, wherein the instructions cause the computing device to page object store pages from the DRAM to the SRAM responsive to a write access of the object store page.
- 7. The automotive computing device of claim 3, wherein the instructions cause the computing device to page object store pages from the SRAM to the flash memory in a predetermined manner to make room for additional object store pages.
- 8. The automotive computing device of claim 1, wherein the instructions cause the computing device to use the object store page table to track whether an object store page is dirty.
- 9. The automotive computing device of claim 1, wherein the instructions cause the computing device to use the object store page table to track the number of times an object store page has been written to flash memory.
- 10. The automotive computing device of claim 9, wherein the instructions cause the computing device to use said number to determine when to write a page from the SRAM into the flash memory.
- 11. An automobile embodying the automotive computing device of claim 1.
- 12. In an automotive computing device, a method comprising:
booting the computing device; and responsive to said booting, processing an object store page table that is maintained in battery-backed SRAM, the object store page table being configured to track locations of all object store pages in the device, said processing comprising changing any entries in the object store page table that indicate an object store page is in device DRAM to an entry that indicates that the object store page is in device flash memory.
- 13. An automotive computing device programmed with instructions which, when executed by the device, implement the method of claim 12.
- 14. An automobile embodying an automotive computing device programmed with instructions which, when executed by the device, implement the method of claim 12.
- 15. In an automotive computing device, a method comprising:
maintaining multiple object store pages in device SRAM that is configured to be battery backed in an event of a power loss; periodically flushing one or more object store pages to device non-volatile memory to make room for additional object store pages; tracking the frequency of object store page writes, and flushing object store pages that are least frequently written to, before object store pages that are more frequently written to; and battery-backing the SRAM in the event of a power loss.
- 16. The method of claim 15 further comprising determining when to flush pages as a function of how many free SRAM pages are available.
- 17. The method of claim 16 further comprising assigning multiple threads with different priorities to flush pages in accordance with their priorities.
- 18. The method of claim 17, wherein said assigning comprises assigning threads with low, medium, and high priorities.
RELATED APPLICATION
[0001] This application is a divisional application of and claims priority to U.S. patent application Ser. No. 09/745,894, the disclosure of which is incorporated by reference herein.
Divisions (1)
|
Number |
Date |
Country |
Parent |
09745894 |
Dec 2000 |
US |
Child |
10856081 |
May 2004 |
US |