Browse Prior Art Database

Sharing a Single Data Store across a Concurrent Code Update

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

Publishing Venue

IBM

Related People

Bailey, SE: AUTHOR [+3]

Abstract

A method to remove memory management constraints when allowing concurrent code updates while sharing a single data store is disclosed.

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

Sharing a Single Data Store across a Concurrent Code Update

      A method to remove memory management constraints when allowing
concurrent code updates while sharing a single data store is
disclosed.

      In many embedded systems applications, a dual program store
implementation allows for concurrent code updates to an alternate
code load.  In these applications, significant differences in data
memory mapping may exist from one code load to the next.  If the
current code load and alternate code load must share a single data
store and the switch from current to new program store must occur
concurrently, serious problems result when both code loads do not
have an identical data memory mapping.

      Our invention allows moving of variables in data store from
code load to code load by combining aspects of two previous unrelated
disclosures, code compatibility checking and unexpected reset
recovery strategy.

      The first part of our invention is to determine if a problem in
data memory mapping exists between two code loads when the code
update occurs.  This requires code compatibility checking.  Both the
current and alternate code loads must check the other's code level.
If both code loads are at the same code level, memory mapping is
guaranteed.  If either finds the other code load to be at a higher
code level, it leaves data memory mapping compatibility determination
up to the higher level.  This is accomplished as follows:

1.  If the current code load level is equal to the alternate code
    load level, simply switch to the alternate code load when the
    code update is complete.  The alternate code load also finds the
    levels to be equal and nothing further is required as the single
    data store is compatible and can be used as is.

2.  If the current code load level is lower than the alternate code
    load level, switch to the alternate code load when the code
    update is complete.  The alternate code load then determines data
    store compatibility (this can be done by simply keeping a list of...