Browse Prior Art Database

Pre-Allocation of Remote Storage on a Maximum Frame-Size Basis

IP.com Disclosure Number: IPCOM000122275D
Original Publication Date: 1991-Nov-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 3 page(s) / 106K

Publishing Venue

IBM

Related People

Blades, JA: AUTHOR [+3]

Abstract

Many frame-based communication adapters utilize the system memory for frames being received from the communications port in a time-inefficient manner. The system storage is allocated on a system-page-size basis for each frame as it arrives. This causes excessive overhead for the IOPs microprocessor, and thereby reduces the data throughput of the adapter. Pre-allocation of system storage on a maximum frame-size basis can dramatically improve both the throughput and price/performance of frame-based communication IOPs. Pre-allocation of control templates for the use of this storage provides an additional increase. (See Fig. 1.)

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

Pre-Allocation of Remote Storage on a Maximum Frame-Size Basis

      Many frame-based communication adapters utilize the
system memory for frames being received from the communications port
in a time-inefficient manner.  The system storage is allocated on a
system-page-size basis for each frame as it arrives.  This causes
excessive overhead for the IOPs microprocessor, and thereby reduces
the data throughput of the adapter.  Pre-allocation of system storage
on a maximum frame-size basis can dramatically improve both the
throughput and price/performance of frame-based communication IOPs.
Pre-allocation of control templates for the use of this storage
provides an additional increase. (See Fig. 1.)

      System storage can be divided into Maximum Frame-Size blocks
(actually lists of pointers to pages of system storage) when the
adapter is initialized.  These Maximum Frame-Size blocks (and their
associated control blocks) can be re-used, instead of being
re-created for each frame.

      This algorithm uses a Frame Table instead of a System Storage
Page Table.  The algorithm can allocate the system storage on a
maximum frame-size basis instead of a system-page-size basis.

      When the next frame is received from the ring, the algorithm
searches the Frame Table for a free frame-size unit.  When the system
acknowledges receipt of a frame, the frame-size unit is marked as
free, and the control block is reset with a simple operation.

      The control blocks are initialized for each Frame Table Entry
at system initialization.  An efficient algorithm (described below)
is used to restore a control block after the host acknowledges
receipt of the frame.  (See Fig. 2.)

      The System Storage Page Table is used to create a Frame Table.
The Frame Table Entry contains sufficient Data Descriptors to handle
a maximum size data frame and its associated Control Block.  The
associated Control Block is then prepared to receive a frame by
copying the Data Descriptors into the Control Block.  This process is
repeate...