Browse Prior Art Database

Write Atomicity With Storage Hardware

IP.com Disclosure Number: IPCOM000101301D
Original Publication Date: 1990-Jul-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 4 page(s) / 157K

Publishing Venue

IBM

Related People

Liu, L: AUTHOR

Abstract

Techniques are disclosed for maintaining atomicity of writes in block- oriented storage using hardware backup facilities.

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

Write Atomicity With Storage Hardware

       Techniques are disclosed for maintaining atomicity of
writes in block-oriented storage using hardware backup facilities.

      Computer storage is often designed for program access with
fixed block granularity.  An example is the Expanded Storage in
current 370 systems.  An expanded storage is accessed by programs via
PAGEIN and PAGEOUT commands for reads and writes at 4K byte page
granularity. In the following we will use such expanded storage to
illustrate the ideas we are proposing, although the techniques may
easily generalize to other types of block-oriented storage.

      One concern that arises for such a storage is the atomicity of
writes. Consider the execution of a PAGEOUT requested by a program.
The storage control may start transferring the page data (from main
storage to expanded storage) after proper initialization.  Due to the
limited bandwidth of data busses, many processor/storage cycles are
needed for completion of data transfer, during which the transferred
data is gradually put away into expanded storage arrays.  If,
however, certain failure occurs during this data transfer process,
the page in the expanded storage may become "obsolete" in the sense
that it neither contains the complete new page image nor covers the
old page image prior to the PAGEOUT.  Such partially updated page
will need to be restored properly upon system recovery, if the
storage is not lost.  Such recovery is usually done by software with
versioning techniques.  We say that an expanded storage supports
"write atomicity" if the above partially updated page can be restored
to the old image (prior to PAGEOUT) by storage hardware without
direct program intervention.

      In order for the storage hardware to restore old page image
upon failure in the middle of a PAGEOUT data transfer, it needs to
retain the old data copy somewhere.  Two strategies are possible: (a)
buffer the page data received from the system and put it into a
storage array after the whole page has been received; and (b)
maintain the old data copy (in hardware buffers) for recovery purpose
whenever a piece of data is put away in storage arrays.

      Consider a card-on-board implementation for expanded storage.
Cards are mounted on each board package, and multiple chips (logic
and arrays) are mounted on the cards. For illustration purpose, we
will consider an expanded storage in which each page access involves
one board.  On each board, other than a few cards for control
functions, there are 16 array cards.  (Note that we are ignoring
error correction bits for simplicity of description.)  Each array
card contains a number of array chips, plus other chips for control
logic and buffers.  There is a data stage buffer DSBUF (e.g., 64-128
bits in size) on each array card serving the purpose of I/0 buffering
between the external busses and the array chips.  Upon an access
(PAGEIN/PAGEOUT), the board can transmi...