Electronic device initialization with dynamic selection of...

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S047300, C711S167000, C713S002000

Reexamination Certificate

active

06519716

ABSTRACT:

FIELD OF THE INVENTION
The invention is generally related to the initialization of an electronic device such as an adaptor or other electronically controlled component in a data processing system, and in particular, to control over the retrieval of initialization code for execution by such an electronic device during initialization.
BACKGROUND OF THE INVENTION
Programmable electronic devices often require some degree of initialization upon power up, or in response to reset operations initiated on such devices, so that the devices can assume a known operational state. For example, one example of a programmable electronic device is a network adaptor card, used in a computer to interface the computer with an external network.
A network adaptor card in a computer needs to be initialized whenever the computer is first powered up. Also, if the computer supports power management functions, the network adaptor card may be shut down periodically when not in use, and may need to be initialized when brought out of its “sleeping” state. Some computers also support “hot swapping”, whereby a network adaptor card may be removed and replaced while the computer is powered up, requiring the replacement card to be initialized upon installation in the computer.
Typically, a network adaptor card includes an embedded microcontroller that executes initialization program code during the initialization process. The initialization program code is stored in a non-volatile memory device, e.g., various types of read-only memory (ROM) solid state storage devices such as programmable read-only memories (PROM's), electrically programmable read-only memories (EPROM's), electrically erasable programmable read-only memories (EEPROM's), etc. During initialization, the microcontroller retrieves and executes the initialization program code to perform the various operations necessary to initialize the adaptor.
Given the ongoing need for greater performance, it is often desirable to minimize the amount of time it takes to initialize an electronic device. In particular, the time that a particular electronic device takes during initialization can impact the overall performance of other electronic components, e.g., a computer in which the device is installed. As an example, a multi-user computer such as an AS/400 midrange computer (available from International Business Machines Corporation) often includes a number of network adaptor cards, as well as other input/output adaptors such as workstation controllers, storage controllers, display adaptors, etc., all of which require initialization. Initialization of each device, as well as of the overall computer, may take as long as several minutes or more, and as a consequence, it is often desirable to minimize the amount of time it takes to initialize each programmable electronic device.
One factor affecting the initialization time for a programmable electronic device is the access time of the non-volatile memory within which the initialization program code for the device is stored. Any memory device will have a minimum access time at which the device can be reliably operated without error, and maximum performance is obtained when the control logic that accesses the memory operates using this minimum access time.
It may be desirable in some circumstances to replace the non-volatile memories used in some programmable devices, e.g., to repair a defective part, or to upgrade the initialization program code stored therein to correct programming errors or to introduce new functionality. Given that the performance of non-volatile memories, like many electronic components, continues to improve, a replacement non-volatile memory may be capable of faster operation than the part being replaced. However, if the control logic in an electronic device is specifically programmed to operate solely with the original, slower memory, the faster capability of the replacement device is essentially wasted.
Some conventional control logic designs are capable of being specifically configured to operate with different access times to accommodate different speeds of non-volatile memories. Such designs typically utilize programmable configuration bits to select an operational access time at which to access a non-volatile memory. However, programming of configuration bits typically requires changes to the microcode, thus necessitating a recompile, and increasing the difficulty and effort required to replace a non-volatile memory.
Therefore, a significant need continues to exist in the art for a manner of controlling an operational access time for a non-volatile memory to minimize initialization time in an electronic device.
SUMMARY
The invention addresses these and other problems associated with the prior art by providing a circuit arrangement and method of initializing an electronic device in which a non-volatile memory is dynamically tested prior to retrieving initialization program code to select an operational access time at which the initialization program code can be reliably retrieved from the non-volatile memory. Specifically, at least one test access is performed with the non-volatile memory to determine a satisfactory access time at which the non-volatile memory correctly processes the test access. Thereafter, initialization program code is retrieved from the non-volatile memory using an operational access time selected based upon the determined satisfactory access time. As such, through judicious selection of an appropriate operational access time, non-volatile memory devices having differing performance capabilities can be accessed in an optimal manner using the same memory control logic design, and without the need for specific customization or program code modifications.
These and other advantages and features, which characterize the invention, are set forth in the claims annexed hereto and forming a further part hereof. However, for a better understanding of the invention, and of the advantages and objectives attained through its use, reference should be made to the Drawings, and to the accompanying descriptive matter, in which there is described exemplary embodiments of the invention.


REFERENCES:
patent: 4063308 (1977-12-01), Collins et al.
patent: 5276858 (1994-01-01), Oak et al.
patent: 5504877 (1996-04-01), Dornier
patent: 5809340 (1998-09-01), Bertone et al.
patent: 6088774 (2000-07-01), Gillingham
patent: 6154428 (2000-11-01), Lee
patent: 6173345 (2001-01-01), Stevens
patent: 6266749 (2001-07-01), Hashimoto et al.
patent: 6285621 (2001-09-01), Beer
patent: 6334174 (2001-12-01), Delp et al.
patent: 6438670 (2002-08-01), McClannahan
patent: 0 339 224 (1989-11-01), None
patent: WO 97/10538 (1997-03-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

Electronic device initialization with dynamic selection of... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Electronic device initialization with dynamic selection of..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Electronic device initialization with dynamic selection of... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3162719

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