Mobile device with a MMU for faster firmware updates in a wireless network
First Claim
1. A generator capable of generating an update package for a mobile electronic device by processing a first binary code version and a second binary code version, the generator comprising:
- a server comprising machine-readable storage;
predictor software resident in the machine-readable storage, the predictor software executable to cause the server to perform on-the-fly prediction of at least one shift of code components in the second binary code version with respect to the first binary code version;
wherein the predictor software generates code shift information;
wherein the generator produces difference information based on the first binary code version, the second binary code version, and the generated code shift information;
wherein the produced difference information is used by a set of executable instructions in the update package to converting the first binary code version to the second binary code version; and
wherein the generator produces memory mapping information which comprises a mapping between physical memory addresses and logical memory references associated with code components in the second binary code version for use during an update of the first binary code version to the second binary code version, in non-volatile memory of the mobile electronic device.
5 Assignments
0 Petitions
Accused Products
Abstract
A mobile electronic device with NOR and/or NAND flash memory may be updated using an update agent able to perform fault tolerant updates. The efficiency of an update of the memory of the device may be significantly improved by employing memory management information provided by a generator used to produce update information for updating the memory. Erasures and writes to blocks of flash memory may be reduced by mapping a logical block layout to a physical block layout that helps avoid moves of memory blocks to be updated. Fault tolerance of the update process is maintained.
105 Citations
16 Claims
-
1. A generator capable of generating an update package for a mobile electronic device by processing a first binary code version and a second binary code version, the generator comprising:
-
a server comprising machine-readable storage; predictor software resident in the machine-readable storage, the predictor software executable to cause the server to perform on-the-fly prediction of at least one shift of code components in the second binary code version with respect to the first binary code version; wherein the predictor software generates code shift information; wherein the generator produces difference information based on the first binary code version, the second binary code version, and the generated code shift information; wherein the produced difference information is used by a set of executable instructions in the update package to converting the first binary code version to the second binary code version; and wherein the generator produces memory mapping information which comprises a mapping between physical memory addresses and logical memory references associated with code components in the second binary code version for use during an update of the first binary code version to the second binary code version, in non-volatile memory of the mobile electronic device. - View Dependent Claims (2, 3)
-
-
4. A mobile electronic device having a memory management unit (MMU), the mobile electronic device capable of updating at least one of the following:
- firmware and software in memory of the mobile electronic device, using resident update agent code, the mobile electronic device comprising;
a controller capable of accessing machine-readable storage containing the update agent code; update information comprising memory mapping information; wherein the memory mapping information comprises a mapping of logical memory references to corresponding physical memory address for only those of a plurality of code components having different physical memory addressed in the first code version and second code version; wherein the update agent code updates a first code version to a second code version, using the update information; wherein the update agent code provides memory mapping information to a memory management unit (MMU) following an updating activity; and wherein the memory management unit (MMU) employs the memory mapping information to conduct normal operation of the mobile electronic device. - View Dependent Claims (5, 6, 7, 8, 9)
- firmware and software in memory of the mobile electronic device, using resident update agent code, the mobile electronic device comprising;
-
10. A method of upgrading an electronic device comprising update agent code, the method comprising:
-
receiving update information for updating a first code version to a second code version in the electronic device, the update information comprising memory management information; wherein the memory management information comprises replacement information for at least a portion of contents of a memory management unit (MMU) table in the electronic device; updating the first code version to the second code version, in the electronic device according to the received update information; modifying the memory management unit (MMU) table in the electronic device in order to reduce a number of writes to non-volatile memory during the updating, using the memory management information; and rebooting the electronic device. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
Specification