×

Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers

  • US 5,434,976 A
  • Filed: 10/22/1992
  • Issued: 07/18/1995
  • Est. Priority Date: 09/28/1992
  • Status: Expired due to Term
First Claim
Patent Images

1. A data communication controller formed on a single integrated circuit chip, for use in a local area network having a communication medium and a network communication protocol and being interfaceable with an external system bus including an external system data bus and an external system address bus, said external system data bus and said external system address bus being operably associated with a host processor and external buffer memory including a plurality of memory storage elements for buffering data packets including transmit packets and receive packets, and each said transmit packet and said receive packet being composed of one or more data words, said data communication controller comprising:

  • data communication means, operably interfaceable with said communication medium, for transmitting transmit packets over said communication medium and receiving receive packets from over said communication medium, said data communication means further includinga transmit data word queue for buffering the data words associated with one or more said transmit packets to be transmitted over said communication medium, anda receive data word queue for buffering the data words of one or more said receive packets received from over said communication medium;

    system bus interface means for interfacing said data communication controller with said external system bus, and further includingan input data word queue for buffering the data words transferred from said host processor over said external system bus to said data communication controller, andan output data word queue for buffering data words to be transferred from said data communication controller over said external system bus to said external buffer memory;

    first data transfer means for transferring data words along a second data channel defined from said input data word queue to said transmit data word queue;

    second data transfer means for transferring data words along a second data channel defined from said receive data word queue to said output data word queue;

    internal data storage memory for storing external address data specifying the location of predefined memory structures maintained in said external buffer memory;

    third data transfer means for transferring data words along a third data channel defined from said input data word queue to said internal data storage memory;

    fourth data transfer means for transferring data words along a fourth data channel defined from said internal data storage memory to said output data word queue;

    memory access control means for directly controlling access to memory storage elements in said external buffer memory, and further includingfirst means for controlling the transfer of data words from said external data buffer memory to said input data word queue and thence to said transmit data word queue,second means for controlling the transfer of data words from said receive data word queue to said output data word queue and thence to said external data buffer memory,third means for controlling the transfer of data words from said external data buffer memory to said input data word queue and thence to said internal data storage memory,fourth means for controlling the transfer of data words from said internal data storage means to said output data word queue and thence to said external buffer memory,a first external address counter for incrementally generating from a preselected external address, a sequence of external addresses specifying the location of a sequence of data storage elements in said external buffer memory from which data words are to be read and transferred to said input data word queue,a second external address counter for incrementally generating from a preselected external address, a sequence of external addresses specifying the location of a sequence of data storage elements in said output data word queue,a third external address counter for incrementally generating from a preselected external address a sequence of external addresses specifying the location of a sequence of data storage elements in said external buffer memory which data words are to be read and transferred to said input data word queue,a fourth external address counter for incrementally generating from a preselected external address, a sequence of external addresses specifying the location of a sequence of data storage elements in said external buffer memory into which data words are to be written from said output data word queue, andan external address queue for buffering a plurality of said external addresses;

    a first processing means operably associated with said data communication means, and havingmeans for independently accessing said internal data storage memory, andmeans for selectively processing said receive packets so as to perform said network communication protocol at said data communication controller; and

    a second processing means independent of said first processing means, operably connected to said memory access control means, and havingmeans for independently accessing said internal data storage memory,means for managing the transfer of receive packets from said data communication means to said system bus interface means, and from said system bus interface means to said external buffer memory for storage therein, andmeans for managing the transfer of transmit packets from said external buffer memory to said system bus interface means and from said system bus interface means to said data communication means, for transfer to said communication medium.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×