Browse Prior Art Database

Integrated Data Link Controller Implements Hardware Assisted V(s) Variable to Eliminate Classical 'End of Transmit Frame' Interrupts Used in ISDN Primary Rate and T1 Adapters

IP.com Disclosure Number: IPCOM000121731D
Original Publication Date: 1991-Sep-01
Included in the Prior Art Database: 2005-Apr-03
Document File: 3 page(s) / 130K

Publishing Venue

IBM

Related People

Farrell, JK: AUTHOR [+5]

Abstract

The IDLC integrated direct memory access (DMA) manages a unique V(s) variable for each of the 32 transmit channels. This V(s) variable is presented in the interrupt status word for both 'end of receive frame' and 'end of transmit chain' events. The use of the V(s) variable allows elimination of the pathlength associated with classical 'end of transmit frame' interrupts while still providing the needed high-level data link control (HDLC) protocol integrity of knowing the transmit frame count on all received frames. This elimination of transmit interrupts increases the overall performance of the subsystem which becomes almost a requirement when running data link protocol on 32 channels using a Motorola 68020 microprocessor with expected primary integrated service digital network (ISDN) line utilizations of 70% or greater.

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

Integrated Data Link Controller Implements Hardware Assisted V(s)
Variable to Eliminate Classical 'End of Transmit Frame' Interrupts
Used in ISDN Primary Rate and T1 Adapters

      The IDLC integrated direct memory access (DMA) manages a
unique V(s) variable for each of the 32 transmit channels. This V(s)
variable is presented in the interrupt status word for both 'end of
receive frame' and 'end of transmit chain' events. The use of the
V(s) variable allows elimination of the pathlength associated with
classical 'end of transmit frame' interrupts while still providing
the needed high-level data link control (HDLC) protocol integrity of
knowing the transmit frame count on all received frames. This
elimination of transmit interrupts increases the overall performance
of the subsystem which becomes almost a requirement when running data
link protocol on 32 channels using a Motorola 68020 microprocessor
with expected primary integrated service digital network (ISDN) line
utilizations of 70% or greater.

      Although other data link controllers have implemented the V(s)
variable in hardware, the IDLC implementation of capturing the
current V(s) variable and storing the value in the interrupt status
word queue, is unique.  Capturing the V(s) transmit variable in this
manner allows the following list of subsystem benefits to be realized
beyond the obvious benefits of hardware assist and increment of the
V(s) variable without microcode intervention.
  o Allows elimination of classical 'End of Transmit Frame'
interrupts.
  o Allows microcode to free transmit buffers prior to receiving a
frame acknowledgment from the peer station for re-use.
  o Insures the required integrity of HDLC protocol between
transmitter and receiver for cases in which a peer sends a frame
acknowledgment for a frame the transmitter has not sent.

      The IDLC manages the V(s) variable for 32 full duplex channels
which can each run at a maximum data rate of 64Kbits/sec or for
hyper- channels which run at multiples of 64kbits/sec up to 2.048
Mbits/sec.  The IDLC although specifically designed for ISDN primary
rate adapters, is not limited to ISDN Layer 1 elements and can
provide this HDLC V(s) protocol assist for non-ISDN adapters also.

      The elimination of the 'end of transmit frame' interrupt and
HDLC protocol integrity is preserved by the IDLC's use of the V(s)
variable.  The V(s) 'Send Frame Variable' indicates the sequence
number of the next I frame to be transmitted on either a synchronous
data link control (SDLC), LAP-D, or LAP-B frame protocols. V(s) is
incremented by 1 for each I frame transmitted. It still remains the
responsibility of the microcode to check the V(s) variable against
the N(r) variable in either an I or S frame which is received.  N(r)
is the 'Receive Sequence Number'.  At the time an I or S frame is
designated for transmission, the value of N(r) is set equal to the
frame number of the next frame expected by the station. ...