Method and apparatus of remotely updating firmware of a...

Data processing: software development – installation – and managem – Software upgrading or updating – Network

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S169000, C717S172000, C717S173000, C717S175000, C717S176000, C717S177000, C717S178000

Reexamination Certificate

active

06640334

ABSTRACT:

TECHNICAL FIELD
The present invention relates to data communication devices, and in particular to a method of remotely downloading firmware to a communication device (e.g. a modem) through a communication network.
BACKGROUND OF THE INVENTION
The provision of data communication services (e.g. Internet, XDSL etc.) necessarily requires the installation of a communication device (e.g. a modem connected to a host personal computer—PC) at an end-user site. Typically, the end-user is provided with a communications application (e.g. a browser) running on the host PC to control data communication sessions using a graphical user interface (GUI). The communications application interacts with the installed communication device using a high level Application Program Interface (API) to access firmware governing the low-level functionality of the communication device. Such firmware is commonly saved in a FLASH memory during manufacture of the communication device, and is run from the FLASH memory.
As in other areas of the software industry, firmware applications are not static. Rather, development is an on-going process of improving algorithms and code to enhance the reliability and functionality of the communication device. However, while updated firmware applications can easily be loaded into new communication devices at the factory, it is difficult to provide upgrade loads to communication devices which have been already sold and delivered to the customer.
U.S. Pat. No. 5,268,928 (Herh, et. al.) teaches a data modem with remote firmware update capabilities. According to Herh et al., the data modem is provided with a read only memory (ROM), and a battery-backed random access memory (RAM). The firmware is divided into a boot-logic which is saved in the ROM, and application logic which is stored in the battery-backed RAM. Update loads of the application logic can be downloaded to the modem during normal operation of the device and stored in the battery-backed RAM. Herh et al. require that the modem be provided with two separate memories, and further require that the data modem have additional circuitry (including a built-in battery) to ensure that the application logic is not lost when the modem is turned off. This increases the cost and complexity of the data modem. Another disadvantage of the data modem taught by Herh et al. is that the boot logic (which enables the data modem to perform its basic functions) are stored in the ROM, and thus cannot be updated during the life of the data modem.
It is preferable to store the firmware (both boot and application logic) in a FLASH memory, which is a non-volatile form of programmable memory. One of the advantages of saving the firmware in FLASH memory is that no special equipment is required to write data to the FLASH memory. The circuitry already provided on the device for normal read/write operations is sufficient. Because the FLASH memory can be used for both read and write operations, is it convenient to run the firmware from the FLASH-memory, which minimizes the requirement for RAM. Furthermore, the FLASH memory retains its information after loss of power, so battery-backup circuits are not required.
FLASH memory is readily available in standard sizes (e.g. 128 kb), and, depending on the addressing limitations of the microprocessor of the communication device, may be logically divided into frames or pages (e.g. of 32 kb each). Typically, each page can be enabled (i.e. accessed for reading or writing data) individually by the microprocessor by means of an appropriate page-select signal applied to one or more page-select input pins on the FLASH memory chip. Each page is further subdivided into individually accessible blocks, which can be accessed by the microprocessor by applying appropriate address-select signals to address-select input pins on the FLASH memory chip. Conveniently, corresponding blocks of every page can be accessed using a common address-select signal, so that any desired block on any page of the FLASH memory can be uniquely accessed by applying appropriate page-select and address-select signals (in combination) to the page-select and address-select input pins of the FLASH memory chip.
During operation of the communication device, the microprocessor holds one page in enabled condition (by holding the page select signal constant), and then reads firmware application logic from blocks of the enabled page by changing the address-select signal (either incrementally or in response to jump commands embedded in application logic). Since a single address-select signal can access a corresponding block of memory on each page, changing the page-select signal (thereby enabling another page) during execution of the application logic will very likely cause erroneous operation of the communication device as the microprocessor attempts to execute the contents of a block of FLASH memory which is located on a page other than the page containing the application logic. As a safety measure to prevent this occurrence, firmware applications are typically written in such a way as to prevent the microprocessor from enabling any other page of the FLASH memory while any portion of the application logic is being run.
It is not possible to write information to a portion of the FLASH memory, while reading information from that same portion of FLASH memory. Thus when the modem is in operating mode, the firmware application is being run (therefore also read) from the FLASH memory, and it is not possible to write an updated firmware load to the FLASH memory. Where the FLASH memory is divided into pages, then during operation of the modem the page which contains the firmware application (or that part of it which is running at that time) is necessarily being held in enabled condition, which precludes saving an updated firmware load to any other page of the FLASH memory.
As a result of the above-noted problems, the method of Herh et al. cannot be used in a data modem in which the firmware is stored in a FLASH memory.
Two other methods are known for updating modem firmware. The first of these is exemplified by U.S. Pat. No. 5,781,921 (Nichols), wherein the updated software is distributed in a removable memory device (e.g. a floppy diskette, or a memory cartridge adapted to connect to the modem). Once the removable memory device has been coupled to the modem, the updated firmware is installed under software control. The second method, which is commonly used in the software industry, requires the end user to download the updated firmware load over the communication network, and then subsequently install the updated load under software control.
Both of these methods have certain drawbacks. The use of a removable memory device is expensive, because copies of the device must be either distributed to each user (and used only once), or service technicians must be hired to perform the upgrade. Downloading updated software (e.g. through the Internet) is commonly used as a means of distributing software updates, but requires intervention by the user. Each of these methods is undesirable because each creates inconvenience for the user. Because of the inconvenience, many users will not attempt to upgrade the firmware unless forced to do so because of problems using the modem, which means that the user is already experiencing dissatisfaction with the modem. Additionally, the manufacturer of the modem is forced to rely on others to distribute and install the update loads, and thus cannot be confident that all customers' modems are operating with the latest firmware.
There therefore remains a need for a method of updating firmware of a communication device, under remote control and with minimum disruption to the user.
SUMMARY OF THE INVENTION
It is an object of the invention to provide a method of remotely updating firmware saved in FLASH memory, with minimum user-perceivable disruption in the operation of the communication device.
It is a further object of the present invention to provide a method of remotely updating firmware saved in FLASH memory, in which operation of

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus of remotely updating firmware of a... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus of remotely updating firmware of a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus of remotely updating firmware of a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3125952

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.