Data transfer system between a computer and a host adapter using multiple arrays
First Claim
1. A data transferring system for transferring data between a host computer and a plurality of TTY devices, comprising:
- the host computer comprising;
a system bus,memory coupled to said system bus for storing data, wherein said memory includes;
a data buffer comprising an array of data groups, wherein each said data group comprises a list of data bytes sent from said one of said plurality of TTY devices, or to be sent to said TTY device,a contents array comprising a list of pointers followed by a null value, said null value for terminating said contents array, wherein each said pointer compresses a device identification handle identifying one of the plurality of TTY devices, and a count, wherein each consecutive pointer corresponds to each consecutive data group in said data buffer, and wherein said count determines the number of consecutive data bytes contained in said data group,a receive array comprising a list of input data buffer sizes, each said input data buffer size comprising a device identification handle identifying one of said plurality of TTY devices, and a count representing the maximum number of data bytes said host computer can receive from said TTY device, anda transmit array comprising a list of output data buffer sizes, each said output data buffer size comprising a device identification handle identifying one of said plurality of TTY devices, and a count representing the maximum number of data bytes said TTY device can receive from said host computer; and
a host adapter coupled to the plurality of TTY devices, said host adapter comprising;
a system bus coupled to said host computer system bus,memory coupled to said host adapter system bus and said plurality of TTY devices, for storing data, including;
a contents array corresponding to said host computer contents array, a transmit array corresponding to said host adapter and a receive array corresponding to said host computer receive array, anda plurality of device input buffers, each said device input buffer for accumulating data from a corresponding one of said plurality of TTY devices, anda plurality of device output buffers, each said device output buffer for accumulating data from said host computer to be sent to a corresponding one of said plurality of TYY devices; and
means coupled to said host computer and said host adapter for transferring data between said host adapter memory and said host computer memory,wherein said host adapter updates the corresponding pointer in said contents array, determines the remaining amount of memory left in each said device output buffer and updates the corresponding host adapter transmit array output data buffer size, and for each one of said plurality of device input buffers, said data transfer means transfers a number of data bytes from said device input buffers into a corresponding host computer data buffer data group wherein said number of data bytes is less than or equal to said count in the corresponding receive array output data buffer size, and wherein said data transfer means transfers said host adapter contents array into said host computer contents array, andtransfers said host adapter transmit array into said host computer transmit array, andwherein said host computer transfers a number of output data bytes intended for one of said plurality of TTY devices into a corresponding data group in said data buffer wherein said number of output data bytes is less than or equal to said count in the corresponding output data buffer size in said transmit array, updates a corresponding pointer in said contents array, and updates a corresponding host computer receive array input data buffer size, and wherein said data transfer means transfers said host computer receive array into said host adapter receive array, transfers said host computer contents array into said host adapter contents array, and transfers each data group in said host computer data buffer into a corresponding host adapter device output buffer.
4 Assignments
0 Petitions
Accused Products
Abstract
A communication system including one or more host adapters connected to a host computer, each adapter having multiple serial communication ports for transferring data between the computer and several TTY devices. Several of the adapter'"'"'s serial ports include a high speed serial link for communicating with a data concentrator. The adapter automatically detects the presence of a concentrator connected to a switchable port and switches to the high speed link. Each concentrator includes multiple serial ports for communicating with TTY devices, and a high speed serial link for communicating with the adapter'"'"'s high speed link. The concentrators allow more than one TTY device to share a single adapter serial port. Data from all of the TTY devices is accumulated into an adapter data buffer during a configurable time period or until a certain amount of data is accumulated, at which time the adapter interrupts the computer and transfers the accumulated data to the computer in one transfer operation. Likewise, the computer accumulates data for the TTY devices and transfers this data to the adapter in one transfer operation. Communication between the adapters and concentrators through the high speed serial communication link is implemented using a small fixed-size addressed packet to achieve a low overhead, high performance communications protocol. Each high speed link between an adapter and a concentrator is implemented to provide inherent flow control of data. The concentrators include a fail safe global flow control mechanism to prevent overflow of data from the TTY devices.
-
Citations
2 Claims
-
1. A data transferring system for transferring data between a host computer and a plurality of TTY devices, comprising:
-
the host computer comprising; a system bus, memory coupled to said system bus for storing data, wherein said memory includes; a data buffer comprising an array of data groups, wherein each said data group comprises a list of data bytes sent from said one of said plurality of TTY devices, or to be sent to said TTY device, a contents array comprising a list of pointers followed by a null value, said null value for terminating said contents array, wherein each said pointer compresses a device identification handle identifying one of the plurality of TTY devices, and a count, wherein each consecutive pointer corresponds to each consecutive data group in said data buffer, and wherein said count determines the number of consecutive data bytes contained in said data group, a receive array comprising a list of input data buffer sizes, each said input data buffer size comprising a device identification handle identifying one of said plurality of TTY devices, and a count representing the maximum number of data bytes said host computer can receive from said TTY device, and a transmit array comprising a list of output data buffer sizes, each said output data buffer size comprising a device identification handle identifying one of said plurality of TTY devices, and a count representing the maximum number of data bytes said TTY device can receive from said host computer; and a host adapter coupled to the plurality of TTY devices, said host adapter comprising; a system bus coupled to said host computer system bus, memory coupled to said host adapter system bus and said plurality of TTY devices, for storing data, including; a contents array corresponding to said host computer contents array, a transmit array corresponding to said host adapter and a receive array corresponding to said host computer receive array, and a plurality of device input buffers, each said device input buffer for accumulating data from a corresponding one of said plurality of TTY devices, and a plurality of device output buffers, each said device output buffer for accumulating data from said host computer to be sent to a corresponding one of said plurality of TYY devices; and means coupled to said host computer and said host adapter for transferring data between said host adapter memory and said host computer memory, wherein said host adapter updates the corresponding pointer in said contents array, determines the remaining amount of memory left in each said device output buffer and updates the corresponding host adapter transmit array output data buffer size, and for each one of said plurality of device input buffers, said data transfer means transfers a number of data bytes from said device input buffers into a corresponding host computer data buffer data group wherein said number of data bytes is less than or equal to said count in the corresponding receive array output data buffer size, and wherein said data transfer means transfers said host adapter contents array into said host computer contents array, and transfers said host adapter transmit array into said host computer transmit array, and wherein said host computer transfers a number of output data bytes intended for one of said plurality of TTY devices into a corresponding data group in said data buffer wherein said number of output data bytes is less than or equal to said count in the corresponding output data buffer size in said transmit array, updates a corresponding pointer in said contents array, and updates a corresponding host computer receive array input data buffer size, and wherein said data transfer means transfers said host computer receive array into said host adapter receive array, transfers said host computer contents array into said host adapter contents array, and transfers each data group in said host computer data buffer into a corresponding host adapter device output buffer. - View Dependent Claims (2)
-
Specification