Method and apparatus for controlling data communication operations within stations of a local-area network
First Claim
1. A command and status interface unit for use in a communication controller operably associated with data packet buffer memory having a plurality of data packet storage locations, said command and status interface unit comprising:
- command buffering means havinga plurality of receive command storage locations, into which one or more receive commands can be written by a processor and selectively read out therefrom by a medium access control unit, each said receive command being uniquely associated with one said data packet storage location, anda plurality of transmit command storage locations, into which one or more transmit commands can be written in by said processor and selectively read out therefrom by said medium access control unit, each said transmit command being uniquely associated with one said data packet storage location; and
status buffering means havinga plurality of receive status storage locations, into which a set of receive status bits can be written by said medium access control unit and selectively read out therefrom by said processor, anda plurality of transmit status storage locations, into which a set of transmit status bits can be written in by said medium access control unit and selectively read out therefrom by said processor.said command buffering means and said status buffering means each being operably associatable with said processor and said medium access control unit so as to allow consecutive transmission and reception of said data packets in a manner independent of the operation of said processor.
4 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus are provided for data communication control within the communication controllers of stations within a local area network. In general, the method and apparatus involves maintaining within the command and status control interface unit of the communication controller, receive and transmit command queues as well as receive and transmit status queues. Pluralities of receive and transmit data packet storage locations are provided for storing data packets to be received as well as transmitted. Each receive command is uniquely associated with a data packet storage location. Receive and transmit commands are buffered in a pipeline manner in the receive and transmit command queues, respectively, whereas receive and transmit status bits are buffered in a pipeline manner in the receive and transmit status queues, respectively. The processor interfacing with the communication controller buffers transmit and receive commands in their respective queues and allocates corresponding data packet storage locations for these commands. The media access control unit of the communication controller executes each command when it is ready according to network protocol, and generates status bits which are buffered in respective status bit queues. The status bits are selectively processed to generate interrupts to the host processor, which can be serviced in due course. As a result of the present invention, consecutive transmission and reception of data packets can be achieved in a manner independent of the operation of the host processor. Consequently, the minimum back-to-back separation between two communication events of the same type, is eliminated thereby improving node and network data throughout.
-
Citations
47 Claims
-
1. A command and status interface unit for use in a communication controller operably associated with data packet buffer memory having a plurality of data packet storage locations, said command and status interface unit comprising:
-
command buffering means having a plurality of receive command storage locations, into which one or more receive commands can be written by a processor and selectively read out therefrom by a medium access control unit, each said receive command being uniquely associated with one said data packet storage location, and a plurality of transmit command storage locations, into which one or more transmit commands can be written in by said processor and selectively read out therefrom by said medium access control unit, each said transmit command being uniquely associated with one said data packet storage location; and status buffering means having a plurality of receive status storage locations, into which a set of receive status bits can be written by said medium access control unit and selectively read out therefrom by said processor, and a plurality of transmit status storage locations, into which a set of transmit status bits can be written in by said medium access control unit and selectively read out therefrom by said processor. said command buffering means and said status buffering means each being operably associatable with said processor and said medium access control unit so as to allow consecutive transmission and reception of said data packets in a manner independent of the operation of said processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of buffering receive and transmit commands and status bits within a command and status interface unit of a communication controller having a medium access control unit and being in operable association with a processor, said method comprising the steps of:
-
(a) maintaining in said command and status interface unit, a receive command queue having a plurality of receive command storage locations, said receive command queue having a first insert storage location at which each receive command can be inserted into said receive command queue, and a first removal storage location from which each receive command can be removed from said receive command queue, each said receive command storage location being capable of storing one said receive command; (b) maintaining in said command and status interface unit, a transmit command queue having a second plurality of transmit command storage locations, said transmit command queue having a second insert storage location at which each transmit command can be inserted in said transmit command queue, and a second removal storage location from which each transmit command can be removed from said transmit command queue, each said transmit command storage location being capable of storing one said transmit command; (c) providing a first plurality of receive data packet storage locations for storing at least a first plurality of data packets to be received, each said receive data packet storage location being uniquely associated with one said receive command being stored in said receive command queue; (d) providing a second plurality of transmit data packet storage locations for storing a second plurality of data packets to be transmitted, each said transmit data packet storage location being uniquely associated with one said transmit command being stored in said transmit command queue; (e) maintaining in said command and status interface unit, a receive status queue having a plurality of receive status bit storage locations, said receive status queue having a third insert storage location at which each set of receive status bits can be inserted into said receive status queue, and a third removal storage location from which each said set of receive status bits can be removed from said receive status queue, wherein each said receive status bit storage location is uniquely associated with one said receive command; and (f) maintaining in said command and status interface unit, a transmit status queue having a plurality of transmit status bit storage locations, said transit status queue having a fourth insert storage location at which each set of transmit status bits can be inserted into said transmit status queue, and a fourth removal storage location at which each said set of transmit status bits can be removed from said transmit status queue, wherein each said transmit status bit is uniquely associated with one said transmit command. - View Dependent Claims (21, 22, 25, 26, 27, 28)
-
-
23. The method of claim 23, which further comprises
advancing said third insert storage location of said receive status queue by said medium access control unit writing a set of receive status bits into said receive status queue, and advancing said third removal storage location of said receive status queue by said processor issuing a clear receive command to said receive status queue.
-
29. A data communication controller operably associated with a data packet buffer means having a plurality of data packet storage locations, and a processor having a system bus and desiring access to a communication medium within a local-area network, said data communication controller comprising:
-
a medium access control unit for controlling the access of said data communication controller to said communication medium; a command and status interface unit including command buffering means and status buffering means, said command buffering means having a plurality of receive command storage locations, into which one or more receive commands can be written by a processor and selectively read out therefrom by a medium access control unit, each said receive command being uniquely associated with one said data storage packet location, and a plurality of transmit command storage locations, into which one or more transmit commands can be written in by said processor and selectively read out therefrom by said medium access control unit, each said transmit command being uniquely associated with one said data packet storage location, and said status buffering means having a plurality of receive status storage locations, into which a set of receive status bits can be written by said medium access control unit and selectively read out therefrom by said processor, and a plurality of transmit status storage locations, into which a set of transmit status bits can be written in by said medium access control unit and selectively read out therefrom by said processor, said command buffering means and said status buffering means each being operably associatable with said processor and said medium access control unit so as to allow consecutive transmission and reception of said data packets in a manner independent of the operation of said processor; and a system bus interface unit for interfacing said command and status interface unit with the system bus of said processor. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. The data communication controller of claim 42, wherein said plurality of receive command storage locations of said first FIFO storage unit comprises
a first insert storage location into which each said receive command can be written, and a first removal storage location from which each said receive command can be read out, said first insert storage location being advanced by said processor writing into said first FIFO storage unit and said first removal storage location being advanced by said medium access control unit reading from said first FIFO storage unit.
Specification