Efficient system and method for updating a memory device
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for updating a binary image stored across a block-structured memory device, such as a flash memory device. From comparison of original and new images, an update package is generated which includes an encoded instruction set comprising COPY and ADD operations instructing the copying of source data from locations in the memory device and adding other data provided in the update package. The instruction set comprises SETBLOCK operations that direct updating of the memory blocks in an order that optimizes the COPY and ADD operations required and resulting update package size. The instruction set further comprises SETCOPYOFFSET operations to toggle between copy-offset modes thereby allowing for improved efficient encoding of COPY operations. The update package further includes an array of status bits corresponding to the memory blocks to be updated, thereby allowing for reliable restarting of the update process following power loss or other interruption.
-
Citations
38 Claims
-
1-18. -18. (canceled)
-
19. A method for updating a first data image stored across multiple memory blocks of a block-structured non-volatile memory device, comprising:
-
creating an instruction set based on comparing the first data image and a second data image, said instruction set forming an update package;
communicating said update package to a client device containing said memory device;
applying said update package by interpreting the instruction set to direct the updating of specific first data image memory blocks in said client device to create the second data image, said applying employing a series of status identifiers configured to track update product status and resume updating the first data image memory blocks in the event of an interruption. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
-
26. A system for updating a first data image on a client device, comprising:
-
an update generator that creates an instruction set based on comparing the first data image and a second data image to create an update package; and
an update decoder resident on the client device, configured to interpret the instruction set to direct the updating of specific first data image memory blocks in said client device to create the second data image, said update encoder employing a series of status identifiers configured to track update product status and resume updating the first data image in the event of a client device interruption. - View Dependent Claims (27, 28, 29, 30, 31, 32)
-
-
33. A method for providing an update package delivery for modifying functionality in a client device, comprising:
-
creating an instruction set in an update package based on comparing a first data image and a second data image;
communicating said update package over-the-air to the client device; and
applying said update package by interpreting the instruction set to direct the updating of specific memory blocks in said mobile client device to replicate the second data image, said applying employing a status array comprising a plurality of switchable status identifiers that enable selectively restarting applying the update package and subsequently continuing to replicate the second data image from a point associated with one switchable status identifier. - View Dependent Claims (34, 35, 36, 37, 38)
-
Specification