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

NVRAM Dynamic Data Area

IP.com Disclosure Number: IPCOM000100450D
Original Publication Date: 1990-Apr-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 3 page(s) / 97K

Publishing Venue

IBM

Related People

Lehman, CT: AUTHOR [+3]

Abstract

This article describes a technique for allocation of non-volatile RAM (NVRAM) device data as separate variable sized blocks of contiguous storage linked together.

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

NVRAM Dynamic Data Area

       This article describes a technique for allocation of
non-volatile RAM (NVRAM) device data as separate variable sized
blocks of contiguous storage linked together.

      The purpose of the NVRAM dynamic data area is to manage the
allocation of NVRAM in such a way that the size of a block of NVRAM
locations being allocated is limited to the current needs of the
NVRAM block owner.  This alleviates having to allocate a static area
of NVRAM that would have to be at least as big as the maximum
possible needs.  In many cases allocating a static area of NVRAM
locations will result in a large waste because the majority of the
time the needs of an owner of a NVRAM area may only be a small
fraction of the maximum possible needs.

      The NVRAM dynamic data area is a contiguous block of NVRAM
locations that consists of one or more sub-blocks each of which has a
pointer to the next sub-block, a unique identification word used to
indicate the owner of the sub-block, and a data area allocated to the
owner.  The beginning of the NVRAM dynamic data area is at a fixed
location and can be any length up to the end of the physical NVRAM.

      Fig. 1 illustrates a definition of the NVRAM dynamic data area.
 Length equals a 2-byte value which contains the length of the entire
table including the checksum byte and the 2 bytes representing the
end of the list, but not including the 2 length bytes.  If this value
is 0, no data blocks are in the list.  Setup will set this value to
0 after a dead battery error, new processor card error, a bad cyclic
redundancy check (CRC) error, or if the checksum byte for the data
area is not valid.

      Checksum equals a 1-byte value which, when added with all bytes
in the table after the check...