Method for updating firmware of a computer peripheral device

Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S103000

Reexamination Certificate

active

06253281

ABSTRACT:

The invention relates to optical disc drives and to a method of updating such disc drives by entering new programming instructions into memory accessed by a microprocessor based system controller within the disc drive.
Such disc drives are usually connected to a host computer, frequently a personal computer (PC), through a standard interface so that data read from the optical disc may be read by the PC. Examples of the optical discs are CD ROM, DVD ROM, and re-writable versions of such discs.
In-System programming of CD ROM drive firmware is a desirable feature which enables the updating of the drive to provide extra functionality or to correct operational errors which have been detected. This may be achieved by downloading new program code to the program memory of the system controller which may typically comprise a FLASH ROM. Thus the user may purchase or be supplied with a floppy disc or other data carrier containing the updated operating program for the drive which is then read by the PC and sent via a standard interface to the disc drive system controller to enable updating of the disc drive firmware. The disc drive includes non-volatile memory, typically a FLASH memory to store the program instructions for the system controller (hereinafter referred to as a microcontroller). The normally accepted technique for programming this FLASH memory is first to copy the programming software from the FLASH memory to the microcontroller RAM space, then to activate a hardware switch to cause the microcontroller to recognise the RAM as the program memory. The microcontroller now executes its program code from the RAM and is enabled to erase the code stored in the FLASH memory and rewrite it with that supplied from the host PC. Once the FLASH memory has been rewritten the microcontroller reverts to using the updated FLASH memory as the program memory.
This approach has the disadvantage that a power failure during this process may be fatal, i.e. if it occurs after the FLASH memory has been erased but before it has been rewritten the contents of both the FLASH memory and the RAM are lost and there is no program for the microcontroller to execute. Thus if power to the disc drive is lost at that critical time the user is left with an inoperative disc drive which has to be returned to the manufacturer or a service operation to have the original or updated program written into the FLASH memory. This is clearly an undesirable situation.
It is an object of the invention to enable the provision of a disc drive whose operating program can be updated by transferring the updated program instructions from the last computer which is more robust to power failures during such transfer.
One approach to solving this problem is to provide an “uninterruptable” power supply, for example a battery backup to the critical parts of the drive, in particular the RAM in which the program code is stored before being transferred into the FLASH memory or other non volatile memory. This approach has been implemented but leads to increased cost for the optical disc drive.
The invention provides a method of updating program code held in a non volatile memory for a microcontroller which controls the operation of an optical disc drive connected to a host computer, the method comprising the steps of;
1). providing in a protected non-erasable area of the non-volatile memory a basic operating program code which enables the micro controller to check the integrity of the program code in the remaining unprotected area of the non-volatile memory and to request and receive program code form the host computer,
2). providing in a read only memory of the microcontroller low level program code which enables the micro processor to erase data from and write data to the unprotected area of the non-volatile memory,
3). requesting the host computer to supply updated program code,
4). writing the updated program code into random access memory (RAM) within the disc drive,
5). erasing program code from at least a selected portion of the unprotected area of the non-volatile memory, and
6). transferring the updated program code from the RAM into the selected portion of the non volatile memory.
The method according to the invention has the advantage that if the transfer of the updated code is not satisfactorily executed, for example because of a power supply interruption at a critical stage, the drive is able to recover and repeat the attempt to transfer the updated code. This is achieved by including enough program code in protected memory to enable a check to be made as to the success in transferring the code, i.e. to perform an integrity check on the stored program code, and to control the writing of program code to the unprotected area of the non-volatile memory.
Thus if the transfer of updated code is not successful a visible or audible warning may be produced which will inform the user that a further attempt to read the program code from the host computer should be made. Although the main purpose of this procedure is to enable recovery of the disc drive if a faulty transfer of updated program code is made it can also be used to recover the correct program code if it should become corrupted for any other reason.
The invention further provides a disc drive comprising a micro controller for controlling the operation of the disc drive in response to program code stored in a non volatile memory, the non volatile memory comprising a first protected area where code is protected from erasure and a second non-protected area where code can be re-written under the control of the micro controller, said first area containing program code to enable the micro controller to verify the integrity of the program code in the second area, means for requesting updated program code from a host computer to which the disc drive is connected, and means for writing the received updated program code into a random access memory (RAM), wherein the micro controller comprises program code stored in read only memory which enables the microcontroller to erase and re-write code into the second area of the non-volatile memory, the micro controller being arranged, in response to a user request and the program code in the first area of the non volatile memory and the read only memory, to transfer the updated program code from the RAM to the second area of the non-volatile memory.
Such a disc drive can be reprogrammed in the field to update its functionality by providing new program code on a floppy disc or other medium which can be read by the host computer and transferred over a standard interface to the non-volatile memory of the microcontroler. It can also be reactivated if a fault resulting in corruption of the program code in the non volatile memory occurs if the appropriate program code is available in or to the host computer.


REFERENCES:
patent: 5327531 (1994-07-01), Bealkowski et al.
patent: 5535355 (1996-07-01), Scales
patent: 5537654 (1996-07-01), Bedingfield et al.
patent: 5579522 (1996-11-01), Christeson et al.
patent: 5630139 (1997-05-01), Ozaki
patent: 5987581 (1999-11-01), Nale
patent: 6012961 (2000-01-01), Sharpe, III et al.
patent: 0376488A2 (1990-07-01), None
patent: 0393631A2 (1990-10-01), None
patent: 2013378A (1979-08-01), None
patent: 08161160A (1996-06-01), None

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 for updating firmware of a computer peripheral device 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 for updating firmware of a computer peripheral device, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for updating firmware of a computer peripheral device will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2539849

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