Patent ID: 8495282
Filing Date: 2013-07-23
Classification: G06F

Abstract:
1. A system for managing data on a mobile device, the system comprising: a flash memory component in communication with the mobile device and operable to store data; a cache memory component operable to store a copy of at least a portion of the data in temporary storage on the mobile device; a database management component on the mobile device and operable to manage data in pages included in a database; an access component operable to provide access to the data managed in the pages, wherein each of the pages include a logical page number, wherein the access component is further configured to access the cache memory component to determine if a requested page is stored in the cache memory component, and wherein if the requested page is not stored within the cache memory component, then the access component is configured to access the requested page from the database; a virtual page map component operable to maintain mappings of logical page numbers of the pages managed by the database management component with physical page numbers in the flash memory component, wherein updates to the data stored in the cache memory component are made using a logical page number to identify the logical page in the cache memory, and provide the physical page number to be used in updating the physical page stored on the flash memory component after updates to the corresponding logical page in the cache memory are complete; and a pager configured to, when a page is requested to be read, determine if the page requested to be read is inside the database, if the page requested to be read is inside the database, then the pager is configured to consult the virtual page map to locate a physical address for the page including data which is most recent, then, the pager is configured to read a physical page ID location from database and loads the page, wherein when changes occur in the page, a new page is internally allocated by the pager indicating where updated data is to be stored, and the new data is then stored in the database as a new physical location for the logical page, wherein the virtual page map is configured to modify the physical page ID of the logical page according to the newly allocated page ID; wherein when an update occurs more than twice to a logical page, an intermediate page is marked as garbage indicating that the data for the page is outdated, and the physical location of the page is marked as ‘0xFFFF’ to designate that the page is available for the next internal allocation of pages for reuse.