Browse Prior Art Database

Multi-Extent Control Block Addressing in Multiple Virtual Spaces

IP.com Disclosure Number: IPCOM000118357D
Original Publication Date: 1996-Dec-01
Included in the Prior Art Database: 2005-Apr-01
Document File: 4 page(s) / 118K

Publishing Venue

IBM

Related People

Fitzpatrick, MG: AUTHOR [+5]

Abstract

Disclosed is a technique for accessing multi-extent control blocks (data areas) in the memory of a computer, such that said data areas may exist in multiple address spaces and be presented through various virtual views which share real (central) storage for their realization. This technique is available to heritage or legacy programs through the use of the basing function in languages, such as PL/X and PL/I.

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

Multi-Extent Control Block Addressing in Multiple Virtual Spaces

      Disclosed is a technique for accessing multi-extent control
blocks (data areas) in the memory of a computer, such that said data
areas may exist in multiple address spaces and be presented through
various virtual views which share real (central) storage for their
realization.  This technique is available to heritage or legacy
programs through the use of the basing function in languages, such as
PL/X and PL/I.

      The introduction of shared storage in MVS/ESA* SP 5.2.0
provides the ability to create multiple views of data.  When this
data consists of a multi-extent control block in which the extent is
accessed via pointers, problems occur since the data will contain an
extent address which is valid in only a single view.  The invention
disclosed here addresses this issue when such pointers are not of
sufficient size to provide addressability to an extent in all views.
Specifically, the pointer is 24 bits and the view resides in above
16MB storage.  Any mechanism that provides a way to properly address
the extents from any view must also be backwards compatible with
prior methods of addressing the extents.

      The technique described will work equally well on two simpler
subsets of the problem.  The first of these being the case when the
pointer to the extent is sufficiently large to contain its address,
but there may be multiple views of the data.  The second of these
being the case in which the pointer is not sufficiently large to
contain the address of the extent, there is only one view of the
data, and the control block can be built either above or below 16MB.

The following is a list of the characteristics which the invention
embodies:
  o  Allows a 3-byte pointer field to be used to address above
      16MB storage when the multi-extent control block is moved
      above 16MB.
  o  Allows such addressability to be attained by no more than
      a simple recompile of the source with no code changes.
  o  Works when the multi-extent control block resides below
      16MB, above 16MB, or is being accessed by multiple views
      with either residency.
  o  Allows the extent to grow with no further recompiles or
      source code changes.
  o  Is backward compatible with the heritage addressing
      expression.

Two constraints related to the creation of a multi-extent control
block must be observed:
  o  The control block and its extents must not span a page
      boundary when multiple views are used to access the data.
  o  The control block and its extents must be within a page
      from one another (within a span of 4096 bytes).

      The solution takes the form of a high level language basing
expression.  The statement which appears below represents PL/X
syntax.  However, the concept is also applicable to PL/I which
supplies a basing function as well.  The basing expression is...