Method and system for programming a peripheral flash memory...

Electrical computers and digital data processing systems: input/ – Intrasystem connection – Bus access regulation

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C710S005000, C710S014000, C710S120000, C712S039000, C712S043000, C712S229000, C713S100000, C717S168000, C717S173000, C717S174000, C717S178000

Reexamination Certificate

active

06507881

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to a computer control system, and more particularly to a method used in a system for programming a peripheral flash read-only memory (ROM) via an integrated device electronics (IDE) interface.
2. Description of Related Art
Recently, computer industry has been rapidly developed. Its various periphery hardware devices are also accordingly developed. As the computer system is continuously developing, in order to satisfy some new developed specifications or protocols or improve the compatibility with other devices, various related firmware codes are necessary to be updated. This results in that a lot of firmware data/code to control the periphery devices are necessary to be frequently read or updated. The firmware code generally is stored in a flash ROM. The computer system needs a method to be able to rapidly and conveniently program the flash ROM so as to update the firmware code/data.
Currently, several methods are used by a computer system to read the firmware code stored in the flash ROM. In a system disclosed by U.S. Pat. No. 5,603,056, a control program for controlling a hard disk drive (HDD) and a rewrite program for rewriting the control program are stored together in an electrically erasable programmable ROM (EEPROM). Upon entering the rewrite mode, a central processing unit (CPU) in the HDD saves the control program in the flash EEPROM into a random access memory (RAM). The CPU erases the flash EEPROM and restores the rewrite program of the RAM in to the flash EEPROM. The CPU receives a new control program from a host computer and loads it in the flash EEPROM. The erasing of the flash EEPROM and the loading of the new control program are performed by the CPU in accordance with the rewrite program saved in the RAM. In this conventional manner, a small computer system interface (SCSI) connector or an AT attachment (ATA) connector are used to serve as an input/output (I/O) interface and perform a serial communication with the host computer by using unassigned pins of the connectors. Since the used interface is not a general interface, this method cannot generally applied in various types of computer mother boards. Other methods are also disclosed by U.S. Pat. Nos. 5,408,624 and 5,729,683 but they are complicate and also depends on different system type.
Another conventional system using the IDE interface to update firmware code stored in a flash ROM is also proposed. Since the IDE interface is generally used in various periphery devices, the method can have loose restriction. A compact-disk (CD) read-only-memory (ROM), or called CDROM, is an essential periphery device of the computer. A peripheral device, such as a CDROM, is used for descriptions as shown in FIG.
1
. In
FIG. 1
, the system includes a microprocessor
100
, which serving as a controller is used to command all components, such as a servo
102
and a decoder
104
of a CDROM. The servo
102
is coupled to a CD
106
to read data stored in the CD
106
. The firmware code including, for example, a control program and other information is stored in a flash ROM
108
. The firmware code provides instructions for the microprocessor
100
to execute. The CDROM communicates with a host computer
110
through an IDE interface/bus. When the Firmware stored in Flash ROM needs to be updated. In the traditional method, the Flash ROM should be firstly disconnected from the peripheral, then is put into the programming equipment to be re-programmed. After the new Firmware has been successfully written into Flash ROM, it can be plugged into the peripheral again. Due to these complicate process, the traditional method is very inconvenient. Moreover, after products have been shipped to end-users, the traditional method is un-reasonable since most users have no programming equipment.
SUMMARY OF THE INVENTION
It is at least an objective of the present invention to provide a method for a computer system to program a flash ROM, which is usually used to store a firmware code, through redefining an ATA task files with respect to an IDE interface. The flash ROM can be directly programmed by a host computer without going through the programming equipment.
It is at least another objective of the present invention to provide a flash controller, which can directly communicate with a host computer through an IDE interface and directly program the flash ROM. The flash controller is independent to device hardware type.
In accordance with the foregoing and other objectives of the present invention, a method for programming a periphery flash ROM is provided. The method includes disabling other access to a flash ROM as a host computer requests to program or update a firmware code in the flash ROM. Several ATA task files in the host computer are redefined, in which the ATA task files usually are defined in ATA specification and are used as register-level communication interface between the host computer and an IDE periphery device. The firmware code from the host is transported through an IDE interface and then is written into the flash ROM through a programming control means, such as a flash controller. The flash controller interprets all IDE interface activities and issues a read/write flash ROM cycle. The flash controller provides a software method, a hardware method, or even a mixed method of software and hardware, to program the flash ROM. For the software method the firmware code is directly written into the flash ROM through the flash controller. For the hardware method, the method uses a buffer, such as a RAM, to store the firmware code if more than one flash ROM cycles are needed in one request. Then, the firmware code stored in the buffer is sequentially written into the flash ROM through the flash controller.
In accordance with the foregoing and other objectives of the present invention, a system for programming a periphery flash ROM is provided. The system includes a host computer, an IDE interface, a flash controller, a flash ROM, and a microprocessor. The flash controller is coupled to the host computer through the IDE interface. The flash ROM and the microprocessor are also coupled to the flash controller. When the system enters a flash ROM programming mode, task files used in the IDE interface are redefined Subsequently, all activities to read/write task files by the host computer will be interpreted with new definitions by the flash controller so that a firmware code from the host computer is written into the flash ROM through the flash controller. After the flash ROM is completely programmed, the task files return to their original definition. The microprocessor will be disabled to access to the flash ROM during the flash ROM programming mode. If several flash ROM programming cycles are needed in one host request, the firmware can be temporarily stored into a buffer, such as a RAM and then sequentially written into the flash ROM through the flash controller. Since the software method may occupy too much time of the IDE interface, resulting in a delay for the other subsequent activities, the hardware method may be a better way to update the firmware code, particularly to a large firmware code.


REFERENCES:
patent: 5408624 (1995-04-01), Raasch et al.
patent: 5457651 (1995-10-01), Rouy
patent: 5459850 (1995-10-01), Clay et al.
patent: 5603056 (1997-02-01), Totani
patent: 5661848 (1997-08-01), Bonke et al.
patent: 5664156 (1997-09-01), Wang et al.
patent: 5675761 (1997-10-01), Paul et al.
patent: 5696931 (1997-12-01), Lum et al.
patent: 5701450 (1997-12-01), Duncan
patent: 5729683 (1998-03-01), Le et al.
patent: 5761460 (1998-06-01), Santos et al.
patent: 5784390 (1998-07-01), Masiewicz et al.
patent: 5805882 (1998-09-01), Cooper et al.
patent: 5920884 (1999-07-01), Jennings, III et al.
patent: 5968141 (1999-10-01), Tsai
patent: 6170043 (2001-01-01), Hu
patent: 6289397 (2001-09-01), Tsuyuguchi et al.
patent: 6304925 (2001-10-01), Liu et al.
patent: 6418501 (2002-07-01), Gama et al.
patent: 6434034 (2002-08-01), Wallace et al.
Messmer, “The Indispensable

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

Rate now

     

Profile ID: LFUS-PAI-O-3058748

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