Apparatus and method for performing a fail-safe over-the-air software update in a mobile station
First Claim
1. A wireless communication device capable of downloading a software update file from a wireless network, said wireless communication device comprising:
- a non-volatile memory capable of being re-programmed by sectors, wherein said non-volatile memory stores;
1) a target file to be updated,
2) said downloaded software update file, and
3) a journal comprising a plurality of entries, each of said plurality of entries containing status information associated with a re-programmed sector of said non-volatile memory;
a random access memory; and
a main processor capable of replacing target code in said target file with replacement code from said downloaded software update file, wherein said main processor creates a first block of replacement code in said random access memory and re-programs a first target sector of said non-volatile memory by storing said first block of replacement code into said first target sector, and wherein said main processor updates first status information in a first entry in said journal associated with said first target sector.
1 Assignment
0 Petitions
Accused Products
Abstract
A wireless communication device capable of downloading a software update file from a wireless network. The wireless communication device comprises a non-volatile memory that is re-programmed by sectors. The non-volatile memory stores: i) a target file to be updated, ii) the downloaded software update file, and iii) a journal comprising a plurality of entries, each of the entries containing status information associated with a re-programmed sector of the non-volatile memory. The wireless communication device also comprises a random access memory and a main processor that replaces target code in the target file with replacement code from the downloaded software update file. The main processor creates a first block of replacement code in the random access memory and re-programs a first target sector of the non-volatile memory by storing the first block of replacement code into the first target sector. The main processor updates first status information in a first entry in the journal associated with the first target sector.
67 Citations
30 Claims
-
1. A wireless communication device capable of downloading a software update file from a wireless network, said wireless communication device comprising:
-
a non-volatile memory capable of being re-programmed by sectors, wherein said non-volatile memory stores;
1) a target file to be updated,
2) said downloaded software update file, and
3) a journal comprising a plurality of entries, each of said plurality of entries containing status information associated with a re-programmed sector of said non-volatile memory;
a random access memory; and
a main processor capable of replacing target code in said target file with replacement code from said downloaded software update file, wherein said main processor creates a first block of replacement code in said random access memory and re-programs a first target sector of said non-volatile memory by storing said first block of replacement code into said first target sector, and wherein said main processor updates first status information in a first entry in said journal associated with said first target sector. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of upgrading software in a wireless communication device capable of downloading a software update file from a wireless network, the wireless communication device comprising a non-volatile memory that is re-programmed by sectors and stores:
- 1) a target file to be updated,
2) the downloaded software update file, and
3) a journal comprising a plurality of entries, each of the plurality of entries containing status-information associated with a re-programmed sector of the non-volatile memory, the method of upgrading software comprising the steps of;
creating a first block of replacement code in a random access memory of the wireless communication device using replacement code from the downloaded software update file;
re-programming a first target sector of the non-volatile memory by storing the first block of replacement code into the first target sector; and
updating first status information in a first entry in the journal associated with the first target sector. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
- 1) a target file to be updated,
-
21. A wireless communication device capable of receiving an incoming software update file transmitted by a wireless network, said wireless communication device comprising:
-
a non-volatile memory capable of being re-programmed by sectors, wherein said non-volatile memory stores;
1) a downloaded software update file, and
2) a journal comprising a plurality of entries, each of said plurality of entries containing status information associated with a re-programmed sector of said non-volatile memory;
a random access memory; and
a main processor capable of storing replacement code from said incoming software update file in said downloaded software update file, wherein said main processor stores a first block of replacement code from said incoming software update file in said random access memory and re-programs a first target sector of said downloaded software update file in said non-volatile memory by storing said first block of replacement code into said first target sector, and wherein said main processor updates first status information in a first entry in said journal associated with said first target sector. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A method of downloading software in a wireless communication device capable of receiving an incoming software update file transmitted by a wireless network, the wireless communication device comprising a non-volatile memory that is re-programmed by sectors and stores:
- 1) a downloaded software update file, and
2) a journal comprising a plurality of entries, each of the plurality of entries containing status information associated with a re-programmed sector of the non-volatile memory, the method of upgrading software comprising the steps of;
storing a first block of replacement code from the incoming software update file in the random access memory;
re-programming a first target sector of the downloaded software update file in the non-volatile memory by storing the first block of replacement code into the first target sector; and
updating first status information in a first entry in the journal associated with the first target sector. - View Dependent Claims (27, 28, 29, 30)
- 1) a downloaded software update file, and
Specification