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

Non-Volatile Staging Buffer for I/O

IP.com Disclosure Number: IPCOM000119952D
Original Publication Date: 1991-Mar-01
Included in the Prior Art Database: 2005-Apr-02
Document File: 3 page(s) / 114K

Publishing Venue

IBM

Related People

Liu, L: AUTHOR

Abstract

Disclosed is a technique for reducing overhead of data writes to auxiliary storage devices by utilizing special non-volatile I/O staging buffers. Such buffers may be accessed by systems directly using simple protocols.

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

Non-Volatile Staging Buffer for I/O

      Disclosed is a technique for reducing overhead of data
writes to auxiliary storage devices by utilizing special non-volatile
I/O staging buffers.  Such buffers may be accessed by systems
directly using simple protocols.

      Auxiliary storage devices like disks have been used as
permanent data store for computing systems.  Although such devices
are reliable and relatively inexpensive, one major drawback has been
the long delays (e.g., tens of milliseconds) of access.  Another
drawback is the software overhead from protocols (e.g., via
channels).  Although disk write time has been substantially improved
with the use of non-volatile caches at control units, the delay is
still in the order of milliseconds.  As processors become faster,
system performance degradations due to the delay of hardening of data
(e.g., database logs) will be more significant.
Basic Idea of the Invention

      A specialized non-volatile write buffer (NVWB) is proposed.
The NVWB is accessed by the system via simple protocols (vs. complex
channel protocols).  Logically, the NVWB consists of two parts:
directory and arrays.  The directory contains enough information to
identify the name and status of data existing in the arrays.  The
structure and organization of data in the NVWB may vary depending
upon particular applications.  The directory may be as simple as
memory tags in some applications.

      When a block of data needs to be backed up in the NVWB, a
special protocol
   BACKUP         ADDR,DATA,TAG
is issued (e.g., by the computer system) to the NVWB, where ADDR is a
(logical) name or a physical address (in NVWB arrays), DATA
represents the data itself to be written, and TAG represents any
additional information needed for particular implementation.  There
is also a command for clearing certain data blocks from the NVWB:
 B CLEAR          ADDR,TAG
where ADDR is a certain representation identifying the data block,
and TAG includes other information required by particular
implementations.  In certain situations (e.g., system failure) it is
necessary to retrieve data from NVWB. Two protocols are considered.
The first command
   READDIR
reads out the directory contents.  The second command
   READDATA ADDR,TAG
where ADDR identified the data block and TAG includes other command
flags, allows the retrieval of specific data from NVWB.  Execution of
any of these commands should return (e.g., via condition code) proper
completion status.

      Data allocation of the NVWB may be managed in two ways: by the
NVWB control itself, or by external systems.  The choice is up to the
particular application requirement.  If data allocation is managed
externally, the directory of NVWB should still b...