Reserved memory in memory management system
AssigneeApple Inc.
InventorsFrancois Barbou-Des-Places, Joseph Sokol, JR., Simon Douglas
Life of this patent
Estimating the term…
Abstract
A memory management system, such as a virtual memory manager that manages a virtual memory space that includes volatile memory (e.g. DRAM) and non-volatile memory (e.g., flash memory) creates a reserved portion of memory in the volatile memory for at least one user application in one embodiment, and that reserved portion can also store content that it restricted to read only permission within the non-volatile memory.
Claims26
(canceled)
A non-transitory machine readable medium storing executable program instructions which when executed by a data processing system cause the data processing system to perform a method comprising:
- storing, in a non-volatile memory on a mobile device, a plurality of applications including a first application that is classified as a predetermined application by an identifier that indicates the first application has a status, relative to other applications in the plurality of applications, that reserves for the first application, but not the other applications, memory in a reserved portion of a volatile memory in the mobile device;
- reserving the reserved portion of the volatile memory, on the mobile device, for use by the first application, and wherein the volatile memory comprises the reserved portion and another portion;
- storing, in the reserved portion before the first application is launched, content that is restricted as read only in a non-volatile memory on the mobile device, the storing comprising reading the content from the non-volatile memory, on the mobile device, and then writing the content into the reserved portion in the volatile memory;
- storing, in response to the first application being launched, one or more of software code or data for the first application in the reserved portion, wherein the storing of the one or more software code or data for the first application comprises reading, from the non-volatile memory, the one or more software code or data for the predetermined application and then writing the one or more software code or data into the reserved portion.
A method implemented by a data processing system, the method comprising:
- storing, in a non-volatile memory on a mobile device, a plurality of applications including a first application that is classified as a predetermined application by an identifier that indicates the first application has a status, relative to other applications in the plurality of applications, that reserves for the first application, but not the other applications, memory in a reserved portion of a volatile memory in the mobile device;
- reserving the reserved portion of the volatile memory, on the mobile device, for use by the first application, and wherein the volatile memory comprises the reserved portion and another portion;
- storing, in the reserved portion before the first application is launched, content that is restricted as read only in a non-volatile memory on the mobile device, the storing comprising reading the content from the non-volatile memory, on the mobile device, and then writing the content into the reserved portion in the volatile memory;
- storing, in response to the first application being launched, one or more of software code or data for the first application in the reserved portion, wherein the storing of the one or more software code or data for the first application comprises reading, from the non-volatile memory, the one or more software code or data for the first application and then writing the one or more software code or data into the reserved portion.
A non-transitory machine readable medium storing executable program instructions which when executed by a data processing system cause the data processing system to perform a method comprising:
- determining from a free page queue, in response to a request for a free page of memory in volatile memory in a mobile device, whether a memory page is available for use by a first application;
- providing to the first application a free page if the free page queue is not empty;
- determining if the first application is classified as a predetermined application based on an identifier that indicates the first application has a status, relative to other applications stored on the mobile device, that reserves for the first application, but not the other applications, a reserved portion of volatile memory in the mobile device;
- providing to the first application, if the free page queue is empty and the first application is classified as the predetermined application, a free page from a reserved page queue for the reserved portion of the volatile memory in the mobile device.
Dependencies are inferred from the claim text.