Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Optimized Use of Code Patch Storage

IP.com Disclosure Number: IPCOM000104712D
Original Publication Date: 1993-May-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 78K

Publishing Venue

IBM

Related People

Furtney, DA: AUTHOR [+4]

Abstract

Alterable EEPROM is commonly used to contain code updates or patches for unalterable ROM. To reduce cost, it is desirable to reduce the size of EEPROM module required in a system. Disclosed is how usage of EEPROM as patch storage may be optimized.

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

Optimized Use of Code Patch Storage

      Alterable EEPROM is commonly used to contain code updates or
patches for unalterable ROM.  To reduce cost, it is desirable to
reduce the size of EEPROM module required in a system.  Disclosed is
how usage of EEPROM as patch storage may be optimized.

      Three techniques are described to optimize the use of EEPROM as
a patch space for unalterable ROM.  These techniques can be applied
to any alterable patch storage for unalterable code.  These
techniques are:

o   Liberally placing patch calls in ROM
o   Dividing routines into small segments
o   Decoupling ROM subroutine addresses

      It is necessary to describe the basic patch call mechanism to
understand the optimization techniques.

      The basic patch call mechanism consists of 4 parts:

o   a patch entry vector in EEPROM
    The patch entry vector is stored at a fixed location in EEPROM.
    It is used to decouple the actual location of patch code in
    EEPROM from ROM so that many EEPROM patch versions may be used
    with a single ROM release.  If the patch is null, the patch entry
    vector contains a return instruction to return to ROM.
    Otherwise, it contains a jump instruction to the patch code.

o   a symbol definition in ROM
    The symbol definition binds the address of the patch vector to
    the patch name.  li.a patch call
    The patch call is placed at the beginning of an unalterable ROM
    segment to allow it to be updated by an EEPROM patch.  The call
    mechanism pushes the patch call address to allow the patch to
    return immediately following the patch call.
o   The patch code
    This code updates the function of ROM code by inserting
    additional function or replacing existing ROM function.

      Code insertion is accomplished by coding the patch routine to
use a return instruction to return control to ROM.

      Code replacement is accomplished by coding the patch routine to
pop the patch call return address off the stack before using the
return instruction to return t...