Browse Prior Art Database

Packetized Peer-to-Peer Bus Transfer

IP.com Disclosure Number: IPCOM000116530D
Original Publication Date: 1995-Sep-01
Included in the Prior Art Database: 2005-Mar-30
Document File: 6 page(s) / 136K

Publishing Venue

IBM

Related People

Doidge, DA: AUTHOR [+6]

Abstract

Packetized Peer-to-Peer Bus Transfer provides an efficient method for transferring data from one bus device to another. Data is transferred directly from one bus device to a data port of another bus device following a prescribed protocol which does not require a unique address for each data transfer (e.g., packet, cell, etc.). This protocol can be used on any bus that has bus master capabilities such as Micro Channel*, PCI, and EISA. The protocol is also scalable to provide an NxN matrix of communication pairs which are implemented as data ports. Each bus device which supports this scheme has a unique data port for each other bus device.

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

Packetized Peer-to-Peer Bus Transfer

      Packetized Peer-to-Peer Bus Transfer provides an efficient
method for transferring data from one bus device to another.  Data is
transferred directly from one bus device to a data port of another
bus device following a prescribed protocol which does not require a
unique address for each data transfer (e.g., packet, cell, etc.).
This protocol can be used on any bus that has bus master capabilities
such as Micro Channel*, PCI, and EISA.  The protocol is also scalable
to provide an NxN matrix of communication pairs which are implemented
as data ports.  Each bus device which supports this scheme has a
unique data port for each other bus device.  For instance, if there
were N=8 devices on a bus which supported Packetized Peer-to-Peer Bus
Transfer, each bus device would require a total of seven ports to
receive data from each of the other devices.  Multiple ports are
required so that a receiving device can interleave multiple data
transfers from different sending devices.  Some initialization is
required for each sending device so that the port addresses of the
receiving devices are known.  Each device can be designed to
concurrently operate as both a sending and receiving device.

      There are three basic types of bus cycles that compose the
Packetized Peer-to-Peer Bus Transfer protocol which are called
primitives.  These primitives are called Read_Status, Write_Parm, and
Write_Data.
  READ_STATUS     The sending device uses this primitive to poll the
                   status of the receiving device.
  WRITE_PARM      The sending device uses this primitive to indicate
                   the beginning, end, or abort of a data transfer
                   (e.g., packet, cell, etc.).
  WRITE_DATA      The sending device uses this primitive to send data
                   to the receiving device.

      The Read_Status primitive is a read bus cycle that polls the
receiving device to determine if the device is enabled and the amount
of buffer space that is available.  The Write_Parm primitive is a
write bus cycle that indicates either the beginning, end, or abort of
a data transfer as well as any parameterized control information.
This primitive indicates the bounds of packetized data (e.g., packet,
cell, block, etc.) and is for control only; no data is transferred
with it.  The third primitive is the Write_Data primitive which
contains a portion of the data to be transferred.  Multiple
Write_Data primitives are used together to completely move the data
from the sending device to the receiving device.  Various bus cycle
modes including streaming data can be used for Write_Data primitives
to achieve performance and alignment requirements.

      Each of the three primitives are issued to separate ports in
the address map of the receiving device.  Each receiving device has a
separate set of t...