Module updating device
First Claim
1. A method for updating an old file stored within a memory of a module included within an automobile, the module being operable to facilitate an automobile related operation based at least in part on a first plurality of computer-readable instructions included within the old file, the method comprising:
- determining a new file to be stored within the memory of the module in order to facilitate the automobile related operation, the new file including a second plurality of computer-readable instructions different in at least content and/or form than the first plurality of computer-readable instructions, the second plurality of computer-readable instructions being partitioned into a plurality of blocks;
transmitting a first set of instructions for commanding the module to begin a replacement operation for replacing at least part of the old file stored within the memory with the new file such that the module thereafter facilitates the automobile related operation at least based in part on the second plurality of computer-readable instructions;
logging progress of the replacement operation, including identifying a first block of the plurality of blocks being successfully written to the memory in place of a corresponding first portion of the old file and a second block of the plurality of blocks being unsuccessfully written to the memory in place of a corresponding second portion of the old filedetermining whether the memory of the module is one of symmetrical and asymmetrical;
generating a second set of instructions to command the module to begin a re-replacement operation sufficient for at least replacing the second portion of the old file with the second block of the new file, the second set of instructions commanding the module to;
i). complete the re-replacement operation without replacing or re-writing the first block to the memory if the memory is symmetrical; and
ii). complete the re-replacement operation with replacement and re-writing of the first block to the memory if the memory is asymmetrical.
1 Assignment
0 Petitions
Accused Products
Abstract
An automobile, vehicle, vessel or other device may include a plurality of modules, software applications, computer program products, controllers or other logically executing entities to facilitate controlling, implementing or otherwise enabling various operations according to computer-readable instructions, code or other information stored within a memory, such as within a file or other memory construct. A controller having capabilities sufficient to facilitate updating, modifying, creating or otherwise manipulating such stored files and/or corresponding instructions is contemplated.
-
Citations
17 Claims
-
1. A method for updating an old file stored within a memory of a module included within an automobile, the module being operable to facilitate an automobile related operation based at least in part on a first plurality of computer-readable instructions included within the old file, the method comprising:
-
determining a new file to be stored within the memory of the module in order to facilitate the automobile related operation, the new file including a second plurality of computer-readable instructions different in at least content and/or form than the first plurality of computer-readable instructions, the second plurality of computer-readable instructions being partitioned into a plurality of blocks; transmitting a first set of instructions for commanding the module to begin a replacement operation for replacing at least part of the old file stored within the memory with the new file such that the module thereafter facilitates the automobile related operation at least based in part on the second plurality of computer-readable instructions; logging progress of the replacement operation, including identifying a first block of the plurality of blocks being successfully written to the memory in place of a corresponding first portion of the old file and a second block of the plurality of blocks being unsuccessfully written to the memory in place of a corresponding second portion of the old file determining whether the memory of the module is one of symmetrical and asymmetrical; generating a second set of instructions to command the module to begin a re-replacement operation sufficient for at least replacing the second portion of the old file with the second block of the new file, the second set of instructions commanding the module to; i). complete the re-replacement operation without replacing or re-writing the first block to the memory if the memory is symmetrical; and ii). complete the re-replacement operation with replacement and re-writing of the first block to the memory if the memory is asymmetrical. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable medium having a plurality of instructions operable with a controller included on a vehicle to facilitate updating an old file stored within a memory of a vehicle module, the vehicle module being operable to facilitate a vehicle related operation based at least in part on a first plurality of computer-readable instructions included within the old file, the non-transitory computer-readable medium comprising instructions sufficient for:
-
determining a new file to be added to the memory in place of or in addition to at least part of the old file, the new file including a second plurality of computer-readable instructions to facilitate the vehicle related operation, the second plurality of computer-readable instructions being distributed across a plurality of blocks; determining a plurality of operations to be performed in order to add each of the plurality of blocks to the memory, including determining one or more portions of the memory to be erased for each of the plurality of blocks prior to writing the plurality of blocks thereto, each portion being identified according to a length of the memory to be erased relative a beginning address; logging performance of the plurality of operations while the new file is being added to the memory; determining an interruption after successfully performing each of the erasing operations and a first plurality of the writing operations, and thereafter; i). attempting to perform a second plurality of the writing operations without attempting to re-perform any of the erasing operations if the erasing and writing operations are symmetrical, the second plurality of the writing operations corresponding with the plurality of writing operations remaining after successful completion of the first plurality of the writing operations; and ii). attempting to perform a third plurality of the writing operations if the erasing and writing operations are asymmetrical, the third plurality of the writing operations corresponding with attempting to re-perform each of the erasing and writing operations. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system for over-the-air (OTA) update of software included within a vehicle module comprising:
-
a controller configured to update the software of the vehicle module by facilitating erasing of a first plurality of memory blocks from a module memory of the vehicle module and thereafter programming of a second plurality of memory blocks to the module memory; and a server configured to; i) keep an agenda as the vehicle module attempts to erase the first plurality of memory blocks and to program the second plurality of memory blocks, the agenda indicating an erased status for each of the first plurality of memory blocks and a programmed status for each of the second plurality of memory blocks; and ii) determine an interruption while the module attempts to erase one of the first plurality of memory blocks after successfully erasing another one or more of the first plurality of memory blocks, and in response thereto, to instruct the controller to; (1) begin erasing the first plurality of memory blocks other than those successfully erased prior to the interruption as a function of updates made to the agenda after each one or more the first plurality of memory blocks were successfully erased if the agenda is symmetrical, and thereafter attempt to program the second plurality of memory blocks; and (2) begin erasing each of the first plurality of memory blocks, including those successfully erased prior to the interruption, if the agenda is asymmetrical, and thereafter attempt to program the second plurality of memory blocks. - View Dependent Claims (17)
-
Specification