Browse Prior Art Database

Method of Updating Microcode in a Peripheral System

IP.com Disclosure Number: IPCOM000111731D
Original Publication Date: 1994-Mar-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 2 page(s) / 59K

Publishing Venue

IBM

Related People

Goodman, BG: AUTHOR [+4]

Abstract

This article describes a method of updating microcode in a peripheral system that has only one PROM device. The microcode update process attempts to minimize the risk of a programming error that would render the peripheral system useless.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Method of Updating Microcode in a Peripheral System

      This article describes a method of updating microcode in a
peripheral system that has only one PROM device.  The microcode
update process attempts to minimize the risk of a programming error
that would render the peripheral system useless.

      In this publication PROM shall refer to any non-volatile
electronic memory that is capable of being upgraded automatically,
and ROM shall refer to any non-volatile electronic memory that cannot
be upgraded automatically.

      Peripheral devices that are capable of having microcode
upgraded through non-volatile electronic memory usually have a second
non-volatile device, such as a ROM or another PROM, memory which
serves to provide the download (microcode update) function.  This
provides a means of recovering from a failure that incorrectly
programs the main device.

      When a request is sent to upgrade the peripheral device
microcode, the data is read into a large data buffer that is capable
of holding the entire microcode image.  A checksum is performed on
the data (the new microcode) to ensure that the data is correct and
error-free.  The programming routines from the new incoming microcode
are used for the re-programming step of the PROM rather than the old
routines that reside in the PROM.

This approach has three main advantages:

1.  The ability to easily upgrade the programming routines.  If
    changes are made to the programming routines, then they are
    automatica...