US20060184698A1 - Reduced hardware network adapter and communication method - Google Patents
Reduced hardware network adapter and communication method Download PDFInfo
- Publication number
- US20060184698A1 US20060184698A1 US11/399,628 US39962806A US2006184698A1 US 20060184698 A1 US20060184698 A1 US 20060184698A1 US 39962806 A US39962806 A US 39962806A US 2006184698 A1 US2006184698 A1 US 2006184698A1
- Authority
- US
- United States
- Prior art keywords
- processor
- software
- executed
- data
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000004891 communication Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims description 9
- 230000015654 memory Effects 0.000 claims abstract description 29
- 230000006870 function Effects 0.000 claims description 31
- 239000000872 buffer Substances 0.000 claims description 29
- 238000012546 transfer Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 2
- 238000011010 flushing procedure Methods 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 abstract description 5
- USSIQXCVUWKGNF-UHFFFAOYSA-N 6-(dimethylamino)-4,4-diphenylheptan-3-one Chemical compound C=1C=CC=CC=1C(CC(C)N(C)C)(C(=O)CC)C1=CC=CC=C1 USSIQXCVUWKGNF-UHFFFAOYSA-N 0.000 description 22
- 230000005540 biological transmission Effects 0.000 description 10
- 101100172132 Mus musculus Eif3a gene Proteins 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- -1 preferably Chemical compound 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/413—Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40032—Details regarding a bus interface enhancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
- H04L49/9073—Early interruption upon arrival of a fraction of a packet
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to adapters, interfaces and connections between a computer and a network.
- the present invention is described in terms of an adapter and a communication method between a computer and a computer network that functions in accordance with an industry standard protocol such as IEEE 802.3 or one of its extensions.
- the present invention generally relates to an adapter for use in connecting a computer, referred to here as a client computer, to a network.
- a client computer referred to here as a client computer
- the invention will be described and explained with reference to a particular implementation designed for one of the most common network configurations presently in use, commonly known as an EthernetTM network.
- This type of network more generally includes those networks that implement the IEEE 802.3 standard, or one of the variations, modifications or improvements on that standard. For simplicity, all of these networks are referenced together as an IEEE 802.3 network, although that designation is not necessarily precise.
- the networks referenced here provide a framework for understanding the present invention, as do the adapters or network interface controllers that have been developed for those networks.
- Client computers of a local area network are often connected together over a common physical link such as coaxial cable, unshielded twisted pairs of wires or shielded twisted pairs of wires.
- Information is transmitted by client computers onto the physical link in units of frames having one of a number of protocol-defined data structures and a quantity of data ranging from that of a minimum frame length and that of a maximum frame length.
- the IEEE 802.3 protocol in its simplest form allows only one client computer to transmit information over any distinct physical link at one time. If two client computers provide data to the physical link at the same time, or sufficiently close in time as to create interference between two message signals, the data are corrupted and must be discarded. Such an event is referred to as a collision and must be detected by the client computers.
- IEEE 802.3 networks use carrier sense multiple access/collision detection (CSMA/CD) to govern access to the physical link.
- CSMA/CD carrier sense multiple access/collision detection
- the client computer transmits the message to the physical link and onto the network.
- the client computer monitors the physical link to detect any collision that might occur while it transmits the message over the physical link.
- the transmitting computer continues to monitor for collisions after transmission during a subsequent message in progress period of time in which the transmitting computer is waiting for the message to reach its destination. Should the client computer detect a collision, the client computer continues transmitting a signal, sometimes referred to as a jam sequence, until the transmission continues for at least a period of time corresponding to a minimum frame length.
- the client computer then pauses for a predetermined, random amount of time and attempts to gain access to the physical link to once again transmit the data.
- Each of the client computers attempting to access the physical link executes a similar backoff algorithm, but with different, randomly assigned waiting times so that a single client computer gains access to the physical link, with others of the waiting computers gaining access to the network successively.
- FIG. 1 shows the organization of a frame of data for an EthernetTM frame
- FIG. 2 shows the organization for a frame defined in accordance with the standard IEEE 802.3. Both types of networks use a preamble consisting of an alternating pattern of ones and zeros to inform a receiving station that a frame is coming.
- the EthernetTM preamble ( FIG. 1 ) further includes an additional byte that is the equivalent of the start of frame byte field defined in the IEEE 802.3 network.
- the start of frame byte (SOF in FIG. 2 ) ends with two consecutive “1” bits and is used to synchronize the frame reception of the station connected to the physical link.
- the framing of information for these networks includes both the destination address and the source address for the message.
- the destination address may be a single target computer (unicast), a group of computers (multicast) or all computers on the network (broadcast).
- the source address is the particular transmitting computer.
- EthernetTM frames include a type field identifying the protocol of an upper layer application to receive the message. This field is not present in frames for the IEEE 802.3 network and is replaced by a length field that specifies the number of bytes of data in the message.
- Both frame structures provide a data field of arbitrary length within a range of possible lengths, followed by a frame check sequence (FCS), which is a four-byte cyclic redundancy check value.
- FCS is created by the sending computer and is recalculated by the receiving device to check for damaged frames.
- Client computers communicating frames of data over a CSMA/CD network use a network interface controller to perform carrier sense, collision detection, and other aspects of data transmission and receive control.
- Control of data transmission includes generating the frame format and calculating the FCS byte.
- Data receive control includes the detection of a frame, examining the destination address to determine if the message is intended for that computer, and performing a CRC or other frame check procedure to determine if the frame is valid.
- Other forms of analysis may be performed on the frame or may have to be performed when there is an error in the frame of data or in the receive operation. For example, information may have to be retransmitted if an error is detected during transmission. All of this processing is conventionally known and performed in typical adapters or controllers that link client computers to a local area CSMA/CD network.
- the network interface controller is implemented as an integrated circuit, such as an application specific integrated circuit (ASIC).
- ASIC application specific integrated circuit
- FIG. 3 An example of one configuration of Ethernet controller in an ASIC, described in U.S. Pat. No. 5,872,920, is illustrated schematically in FIG. 3 .
- the network controller ASIC 10 interfaces with a bus 20 of a host computer system and with the twisted pairs or coaxial cable that are part of the physical link 30 of the network.
- Information is transmitted to and received from the physical interface by a transceiver 40 or through an attachment unit interface 42 .
- Information to be transmitted over the physical link 30 is encoded by encoder 44 and decoder 46 decodes information received from the physical link.
- Manchester encoding and decoding are used for IEEE 802.3 networks.
- a controller 50 which may be a microcontroller or other type of processor, is typically provided as a core within the ASIC 10 to control the transmit and receive operations using appropriate transmit control 52 and receive control 54 programs or state machines. These programs handle the various data control operations required for transmitting and receiving data from a CSMA/CD network including, for example, handling error conditions for a collision on the physical medium and retransmitting corrupted data as necessary. Most all of the functionality desired to implement applicable standards, such as IEEE 802.3, is implemented within the controller 50 . Data coming in and out of the controller 50 are buffered by a transmit FIFO 56 and a receive FIFO 58 . Communications with the host computer, including the provision of data to the bus 20 of the host computer, are managed by the host interface 60 .
- the network interface controller of FIG. 3 is implemented as a single ASIC other configurations are also common.
- the physical implementations for a particular network can vary greatly, it is often desirable to provide the encoder, decoder, transceiver and other aspects of the interface to the physical link in a dedicated chip.
- This architecture may be implemented as a distinct PHY chip, allowing a greater level of flexibility that is often more cost-effective than a more integrated, single-chip network interface controller solution.
- a media access controller (MAC) chip In implementations that provide a distinct PHY chip, it is typical to provide other aspects of the network controller on a second chip, a media access controller (MAC) chip.
- the MAC of the network controller shown in FIG. 3 includes the controller or processor 50 with its programs, the buffering memory and, in most cases, the host-interface 60 .
- Preferred embodiments of the present invention provide a simplified controller that is better adapted to a low-cost, network-compatible computer.
- a simplified controller that is better adapted to a low-cost, network-compatible computer.
- An aspect of the present invention provides a computer communications system having a transmit buffer coupled to at least one transmit data line.
- the transmit buffer receives data from a host computer and temporarily store the data before transmitting the data over the transmit data line to a physical link of a data network.
- a receive buffer is coupled to at least one receive data line, the receive buffer adapted to receive data from a physical link of a data network over the receive data line and temporarily store the data before providing the data to a computer.
- An array of communication registers is also provided. The array includes a data register coupled to the receive buffer, wherein repeated reads from the data register causes data to be read from the receive buffer.
- the array further includes a status register for storing data identifying a collision of data on the physical link of the network, where the status register is readable from the host computer.
- the status register also includes at least one bit signifying an interrupt state in at least one of a read and a write operation.
- a computer communications system comprising a media access controller including a receive buffer coupled to receive data from a data network and temporarily store the data before providing the data to a host computer.
- the media access controller has communication registers including a data register coupled to the receive buffer, wherein repeated reads from the data register reads data from the receive buffer.
- the communication registers provide a status register storing at least one interrupt bit. The interrupt bit is set to indicate the presence of data received from the data network and destined for the host computer and the interrupt bit is readable by the host computer to indicate the presence of data to be read.
- Still another aspect of the invention provides a computer communications system comprising a media access controller including a plurality of communication registers.
- the communication registers preferably include a data register coupled to the receive buffer, wherein repeated reads from the data register read data received from the data network.
- a status register stores at least one interrupt bit, the interrupt bit set to indicate the presence of data received from the data network and destined for the host computer, the interrupt bit readable by the host computer.
- a media independent interface register stores at least one signal for controlling operation of PHY circuitry coupled to the media access controller, wherein signals from the host computer are passed from the media independent interface register to control PHY circuitry as data are read from the data network.
- a byte-count register stores a value indicative of the number of bytes stored in the media access controller for transfer to the host computer, where the byte count register is decremented as data are read from the media access controller.
- FIG. 1 illustrates a frame structure for an Ethernet network.
- FIG. 2 illustrates a frame structure for a network in accordance with the IEEE 802.3 standard.
- FIG. 3 illustrates a network interface control chip that provides a high level of functionality on the chip.
- FIG. 4 illustrates an architectural overview of an aspect of the present invention.
- FIG. 5 illustrates a particularly preferred implementation of a network controller in accordance with the present invention.
- FIG. 6 illustrates the network interface controller of FIG. 5 coupling a client computer to a network.
- FIG. 7 shows the addresses and functions for registers within a preferred register set provided within the controller of FIG. 5 .
- FIG. 8 illustrates the structure and functions of the Ethernet data register of the FIG. 7 register set.
- FIG. 9 illustrates the structure and functions of the byte count register of the FIG. 7 register set.
- FIG. 10 illustrates the structure and functions of the command/status register of the FIG. 7 register set for write operations.
- FIG. 11 illustrates the structure and functions of the command/status register of the FIG. 7 register set for read operations.
- FIG. 12 illustrates the structure and functions of the MII (media independent interface) register of the FIG. 7 register set.
- NIC network interface controller
- Preferred embodiments of the present invention provide a reduced hardware implementation of a network interface controller.
- Implementations of preferred aspects of an adapter in accordance with the invention may provide computers with network interface connections that are lower in cost and consume less power than conventional controllers.
- Aspects of the present invention make it possible to implement adapters in a manner that is far easier to modify to accommodate changes in technology or to provide solutions for unusual or specialized applications.
- Particularly preferred embodiments of the present invention provide a reduced hardware MAC with a significant portion of the MAC functionality implemented as software within the host client computer.
- the MAC functionality embodied within the client computer is implemented as software within a processor of the client computer and most preferably the MAC functionality is implemented within the main processor of a personal computer type of architecture.
- the hardware portion of the preferred MAC implementation provides memory for buffering communications between the PHY and the client computer.
- the preferred hardware aspects of a MAC in accordance with the present invention also includes a register interface for register-driven communications between the hardware portion of the MAC and the software portions of the MAC implemented within the client computer.
- aspects of the present invention can provide an interface between a client or other computer and a network such as a local area network functioning in accordance with any of the defined IEEE 802.3 protocols.
- Other related aspects of the present invention provide a method of communicating information to, from or between a computer and one or more other computers through an IEEE 802.3 network.
- IEEE 802.3 is used broadly here to generally encompass CSMA/CD networks including presently planned variations including gigabit EthernetTM and other variations that might be developed later.
- Aspects of the invention are believed to have advantages in interfacing to and communicating with other types of networks using other types of protocols. Many of the examples and explanations provided here are set forth in terms of communicating with an IEEE 802.3 network, both because of the familiarity of these networks and because of the present prominence of IEEE 802.3 and EthernetTM networks. The specific applications used to illustrate the invention are not, however, intended to limit the scope of the invention.
- illustrations of the present invention are made within the framework of presently available and used IEEE 802.3 protocols. More advanced implementations of IEEE 802.3 and successors to IEEE 802.3 will be developed and brought to market in the future. Many aspects of the present invention are expected to have advantages when applied to such networks, as well.
- FIG. 4 illustrates, from a schematic architectural point of view, aspects of a client computer 70 that are involved in communicating information to and from a network.
- the data network includes a physical link such as wire pairs or coaxial cabling that carries the actual data signals to and from the client computer.
- the client computer 72 connects to this physical link through the physical layer of the network model indicated as PHY 72 in FIG. 4 .
- the PHY might include the magnetic circuitry for placing signals onto and deriving signals from the physical link.
- PHY 72 also includes appropriate support circuitry such as analog to digital converters, digital to analog converters, and phase lock loop detection circuitry for recovering signals from the physical link according to a received or derived clock signal.
- the PHY 72 also includes encoding and decoding circuitry such as that illustrated in FIG. 3 .
- the PHY 72 is generally adapted to a particular network protocol or definition. As such, aspects of the PHY 72 may vary significantly, but in a well-known and understood manner, between different applications of the architecture of FIG. 4 . PHY 72 is commercially available in a number of forms in different network environments, whether as a distinct chip or as a core to be provided within an ASIC.
- the next higher level of the network model illustrated in FIG. 4 is the media access control or MAC 74 .
- the MAC 74 may embody a range of functionality, but generally serves the purpose of initially analyzing and formatting the stream of data bits provided by PHY 72 so that the data are in a form immediately usable by the upper levels of the network model.
- MAC 74 interfaces with the operating system 76 of the client computer 70 for the storage of data received from the network.
- MAC 74 is generally responsive to application programs 78 within the client computer that communicate through the operating system 76 to generate messages for transmittal or requests for information.
- MAC functionality may include a number of different aspects of communications.
- data from the network might be provided by PHY 72 in 4-bit parallel format.
- the MAC preferably reformats that 4-bit parallel data into bytes or words appropriate for the client computer, for example, 8-bit bytes or 32-bit words.
- Other aspects of communication that might be included in the MAC are address recognition, frame recognition, frame analysis, and detection of and management of collisions or other forms of network errors.
- conventional implementations of MAC 74 include a variety of functions on a single integrated circuit. Such conventional implementations of a MAC provide a processor or other form of logic capable of executing a state machine or program that performs these functions.
- Preferred implementations of the present invention provide a simplified MAC, at least from a circuitry point of view.
- embodiments of the present invention will include a simplified hardware MAC and a complementary software MAC preferably within a host processor that will, in combination, provide much if not more of the functionality performed by the MAC illustrated in FIG. 3 .
- implementations of a MAC in accordance with an embodiment of the present invention might provide less of the MAC functionality and still practice aspects of the present invention.
- a MAC in accordance with preferred aspects of the present invention provides a minimal set of circuitry and implements most aspects of MAC functionality within a processor on the client computer 70 .
- a MAC in accordance with the invention might include buffering memory and a communication register set with other aspects of MAC functionality implemented as software to be executed by the microprocessor of a personal computer or similar type of client computer.
- FIG. 5 illustrates particularly preferred hardware aspects of a network interface adapter 79 in accordance with the present invention.
- the adapter includes a PHY 72 appropriate to the target network physical link and a reduced hardware MAC.
- the reduced hardware MAC includes memory for buffering data as it is transferred to or received from the PHY 72 including, preferably, a latch for storing a receive error signal that may occur only for a period of the total time required to receive a frame of data.
- the remaining hardware aspects of the illustrated and particularly preferred MAC is a set of registers for handling the communication of instructions, status and error information and for facilitating data transfer between the adapter and the client computer.
- the illustrated bus register interface 80 preferably includes a complete but relatively minimal set of communication and data registers so that most of the communication functions are performed within the client computer and preferably in the processor of the client computer.
- the top two lines are signals for communicating with the media independent interface (MII) within PHY 72 .
- the signal line MDCK provides a data clock signal from the interface 80 to the PHY 72 and is used for both reading and writing data to the MII of PHY 72 .
- MDIO is a serial data line for MII communications between the bus register interface 80 and the PHY 72 .
- the type of instructions and other information provided over the MDIO line are in accordance with the requirements of the media independent interface, which is a known protocol and standardized within the industry.
- the next two lines illustrated in FIG. 5 communicate network conditions from the PHY 72 to the bus register interface 80 .
- the line COL is a signal transmitted when a collision is detected on the physical link during the transmission of data from the PHY 72 onto the physical link.
- the line CRS carries a signal identifying the presence of a carrier signal (carrier sense) on the physical link while a message is being received: Signals on either of the COL and CRS lines are stored within a command/status register within the interface 80 so that the host client computer can detect the error conditions and perform the appropriate error handling functions.
- the next line illustrated in FIG. 5 represents information provided by the PHY 72 to the bus register interface indicative of the validity of data received from the physical link.
- the line RXER carries a signal indicative of an error during the reception of data.
- the signal provided over line RXER might be a relatively short-lived signal at least as compared to the amount of time taken to transmit a frame of data. Consequently, it is preferred that a latch 82 be provided along this line so that an error signal generated by the PHY 72 is held within the latch to ensure it is available for storage in the bus register interface 80 after transmission of the frame of data is complete.
- the line TXER performs a similar function for the transmission of data to the physical link.
- the interface 80 causes a signal to be provided over line TXER when an error is known to have occurred in the transmission of data to the PHY 72 and the physical link beyond.
- the line TXER may be used to indicate that an underflow error has occurred for the transmit buffer 88 of the MAC.
- the bus register interface 80 stores data in units of 8-bit bytes. Data provided to and from the PHY 72 are organized as four parallel bits. It is consequently desirable to reformat the 4-bit data from the PHY into 8-bit data within an appropriately configured register 84 .
- Register 84 is shown as a 4 - 8 bit parallel shift register. The output from register 84 is provided to a receive buffer 86 , which buffers data received from the physical link before it is read out into the client computer through the bus register interface 80 .
- Data from the client computer are provided in 8-bit bytes to a transmit buffer 88 that buffers the data before providing it to register 90 , which formats the 8-bit data into successive 4-bit data items and provides the data items to the PHY 72 .
- the receive buffer 86 and transmit buffer 88 are preferably FIFOs (first in, first out memories) of a size appropriate to accommodate latency within the client computer. Because servicing of the adapter illustrated in FIG. 5 is but one of the tasks to be performed by the preferred microprocessor of the client computer there may be occasions where the processor is not ready to handle the data being transmitted to or received from the physical link. It is consequently desirable that the receive and transmit FIFOs be of sufficient size to accommodate typical latency delays. In practice, it is believed that an appropriate buffer size is approximately the size of one packet or on the order of about two thousand bytes. The appropriate size of the buffer can be chosen according to the design of the system. Since the rate at which data either will be received or needs to be transmitted will depend on the particular network being serviced by the adapter, the size of the buffer may vary significantly in different applications.
- FIG. 6 illustrates an installation of the adapter 79 to couple a client computer 100 to a network 102 through a set of twisted wire pairs 104 .
- the illustrated adapter 79 preferably has the structure illustrated in FIG. 5 and, in particular, provides a reduced hardware MAC 106 including the buffer memory and bus register interface 80 shown in FIG. 5 .
- the reduced hardware MAC 106 is preferably coupled to the main processor 108 of the client computer 100 through a bus 1 10 .
- the bus 1 10 is preferably a thirty-two bit or larger bus operating at a sufficient speed to move data in and out of the MAC 106 at a desired speed to minimize latency.
- An appropriate bus speed is facilitated by coupling the MAC 106 to an appropriate bus, such as a PCI bus or, in a particularly preferred embodiment, a PC Bus, Card Bus or other bus appropriate to coupling a PCMCIA card to a computer such as a notebook or other portable computer.
- an appropriate bus such as a PCI bus or, in a particularly preferred embodiment, a PC Bus, Card Bus or other bus appropriate to coupling a PCMCIA card to a computer such as a notebook or other portable computer.
- Typical implementations of these buses are sufficiently fast as to allow the implementation of significant portions of the MAC functionality as software running on the processor 108 .
- the reduced size and reduced power consumption of preferred implementations of the adapter 79 are particularly desirable for a portable computer implementation of the present invention.
- At least portions of the client computer's operating system 114 and portions of the software aspects 116 of the MAC are expected to be available in memory 112 as information is transmitted to and received from the physical link of the network 102 .
- the illustrated memory 112 may be partially within the processor 108 and partially within an array of DRAM or other, less volatile memory including, for example, on a disk drive or in flash or other solid state memory. In other implementations, the illustrated memory 112 might be entirely inside or outside of the processor 108 .
- the software aspects of the MAC 116 preferably communicate through the operating system 114 within the processor 108 to the hardware aspects of the MAC by addressing the communication registers 80 within the MAC 106 .
- the communication registers within the bus register interface 80 are addressed using a preferred register address scheme.
- a three-bit address signal can be used to address a minimal register implementation including a total of eight registers.
- four data registers are provided in the four lowest addresses, with the next two registers and addresses preferably dedicated to byte count registers storing the number of bytes available to be read from the receive FIFO 86 .
- the data registers are illustrated in greater detail in FIG. 8 . Repeated reads from the data registers read data out of the receive FIFO 86 and repeated writes to the data registers will fill the transmit FIFO 88 with data to be sent to the network 102 .
- the byte-count register is illustrated in greater detail in FIG.
- These byte-count registers are used in read operations to indicate whether and how many data remain to be received from the network 102 . As data are written into receive buffer, the value stored in the byte-count register is incremented and, as data are read from the receive buffer 86 , the value stored in the byte-count register is decremented.
- the data received from the network might include erroneous data or might include proper frame data. As such, it is generally undesirable to rely on the transferred data itself to indicate whether additional data remains to be received from the network.
- FIGS. 10 and 11 illustrate the command/status register for write and read operations, respectively, both of which have the same address but different definitions for the write and read operations.
- Bit 0 is defined for enabling interrupts from the adapter to the operating system of the client computer during write operations.
- Bit 7 of the command/status register is set by the client computer to reset the adapter. This bit clears automatically with the reset of the adapter.
- the command/status register uses bit 0 as an interrupt pending bit to notify the host client computer of an interrupt pending to be read.
- the MAC software 116 reads the command/status register to determine what action is required by the interrupt, whether there is data to be read (BC) or if there is an error (COL, CRS) to be handled. Once the interrupt bit is read, it is reset.
- the remaining bits 1 - 3 provides carrier sense, collision sense and receive data valid signals from the PHY.
- the byte count bit BC is not zero, the MAC software begins reading the data registers to read data out of the receive buffer 86 .
- the MAC software 116 When either of the COL or CRS bits is valid, the MAC software 116 is called on to handle the error condition, either by performing a backoff algorithm (COL) or by discarding the received, erroneous data (CRS) by flushing the receive buffer of the erroneous data.
- COL backoff algorithm
- CRS erroneous data
- FIG. 12 shows definitions of bits within the MII register, which occupies the final position within the preferred bus register interface 80 .
- the MII or a reduced media independent interface (RMII) is used by the MAC software 116 to control and monitor the operation of the PHY. Communications of MII information is conducted serially through the MD bit of the MII register, through the MDIO line ( FIG. 5 ) and through the MDIO pin of the PHY.
- the MAC software 116 controls much of the operation of the adapter 79 .
- the MAC software can be viewed as including a lower level piece that handles interrupts and data transfer and an upper level piece that performs more sophisticated, but less immediate operations. Receive operations are interrupt driven and the interrupts are handled by the lower level facility of the MAC software 116 .
- the operating system 114 receives an interrupt from the adapter 79 , the operating system calls the lower level facility of the MAC software.
- the lower level facility reads the command/status register to clear the interrupt pending bit. If there are data present, the lower level facility begins a loop to first check the byte count in the byte count register ( FIG. 9 ). If the byte count is zero, the lower level facility exits the loop and returns to a standby state and if the byte count is non-zero, then the data are read from the data register ( FIG. 8 ). The loop continues until the byte count reaches zero and then lower level facility exits the loop and returns to a standby state until another interrupt is detected.
- processing of the data packet for an IEEE 802.3 network might include the processor 108 detecting a frame preamble, checking the frame length to determine if the frame is of a valid length.
- the processor evaluates the frame using the FCS data to evaluate whether the frame is valid. For example, if the FCS data is CRC data, then a polynomial division is performed on the data using the protocol defined check polynomial to determine if the data are valid. All of these functions are performed by an upper level facility of the MAC software 116 .
- the MAC software also may perform filtering to detect whether the address of the packet is relevant to the host client computer.
- the MAC software further tracks the network statistics in accordance with network protocols. Statistics include the number of frames successfully transmitted and the frequencies with which erroneous frames are transmitted. These statistics are made available to network management software, such as software in accordance with a simple network management protocol.
- the operation of writing data to the network is also a cooperation between the MAC software 116 and the adapter 79 .
- Data to be provided to the network is formatted by the upper level facility of the MAC software into appropriate frames and the upper level facility calculates the FCS data, such as appropriate cyclic redundancy check (CRC) data, and appends the FCS data to the frame.
- FCS data such as appropriate cyclic redundancy check (CRC) data
- CRC cyclic redundancy check
- the frames of data are passed to the lower level facility of the MAC software, which writes the data to the data register and thus to the transmit FIFO 88 of the adapter.
- the low-level portion of the MAC software 116 monitors the adapter during to ensure that data are transferred safely from the buffer FIFO 88 to the network.
- the low-level facility checks the FIFO to see if the FIFO is full and cannot receive additional data or if the FIFO has been completely emptied (an underflow condition).
- the low-level facility further monitors the COL bit of the command/status register to determine if there has been a collision.
- the upper levels of the MAC software 116 perform the well-known functions of an EthernetTM or IEEE 802.3 network. These functions are conventionally implemented as software or state machines within the processor of a conventional network interface controller. As such, it is well within the ordinary skill in this art to implement these functions in the microprocessor or other processor of the host client computer. These aspects of the invention will therefore not be further described here.
- Installation of an adapter in accordance with the present invention would proceed by installing the reduced hardware MAC, for example within a PCMCIA card that also includes PHY circuitry appropriate to the target network.
- Driver software is installed to the host computer in a manner that the MAC software is available to be accessed by the operating system of the host computer.
- the reduced hardware MAC illustrated in FIG. 5 is readily implemented as a core to be implemented in an ASIC or within the PHY. It is possible that the reduced hardware MAC could be implemented as a distinct core within a system on a chip, with the software aspects of the MAC implemented within the system on a chip's processor.
- Preferred aspects of the present invention provide a flexible architecture for a network interface adapter. As such, the inventors expect that adapters in accordance with the present invention will find application in a variety of yet to be completed network protocols.
- the bus register interface might include different combinations of registers to effect the reduced hardware MAC of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
Abstract
The present invention provides a network interface adapter for connecting a client computer to a computer network that includes a reduced hardware media access controller (MAC) coupled through a physical interface (PHY) to the network physical link. A significant portion of the MAC functionality is implemented as software within the processor of the host client computer. The hardware portion of the preferred MAC implementation provides memory for buffering communications between the PHY and the client computer. The preferred hardware aspects of a MAC in accordance with the present invention also includes a register interface for register-driven communications between the hardware portion of the MAC and the software portions of the MAC implemented within the client computer. By implementing most of the MAC functionality in software within the host computer, the preferred MAC provides lower cost, lower power consumption, and generally greater flexibility.
Description
- 1. Field of the Invention
- The present invention relates to adapters, interfaces and connections between a computer and a network. As a specific example, the present invention is described in terms of an adapter and a communication method between a computer and a computer network that functions in accordance with an industry standard protocol such as IEEE 802.3 or one of its extensions.
- 2. Description of the Related Art
- The present invention generally relates to an adapter for use in connecting a computer, referred to here as a client computer, to a network. The invention will be described and explained with reference to a particular implementation designed for one of the most common network configurations presently in use, commonly known as an Ethernet™ network. This type of network more generally includes those networks that implement the IEEE 802.3 standard, or one of the variations, modifications or improvements on that standard. For simplicity, all of these networks are referenced together as an IEEE 802.3 network, although that designation is not necessarily precise. The networks referenced here provide a framework for understanding the present invention, as do the adapters or network interface controllers that have been developed for those networks.
- Client computers of a local area network are often connected together over a common physical link such as coaxial cable, unshielded twisted pairs of wires or shielded twisted pairs of wires. Information is transmitted by client computers onto the physical link in units of frames having one of a number of protocol-defined data structures and a quantity of data ranging from that of a minimum frame length and that of a maximum frame length. The IEEE 802.3 protocol in its simplest form allows only one client computer to transmit information over any distinct physical link at one time. If two client computers provide data to the physical link at the same time, or sufficiently close in time as to create interference between two message signals, the data are corrupted and must be discarded. Such an event is referred to as a collision and must be detected by the client computers. IEEE 802.3 networks use carrier sense multiple access/collision detection (CSMA/CD) to govern access to the physical link. Before a client computer transmits a message to the physical link, it detects whether a carrier signal is present on the physical link. If a carrier signal is present on the physical link, the client computer waits before transmitting the message until no carrier signal is present and the physical link is available.
- Once a client computer determines that the physical link is available, the client computer transmits the message to the physical link and onto the network. The client computer monitors the physical link to detect any collision that might occur while it transmits the message over the physical link. The transmitting computer continues to monitor for collisions after transmission during a subsequent message in progress period of time in which the transmitting computer is waiting for the message to reach its destination. Should the client computer detect a collision, the client computer continues transmitting a signal, sometimes referred to as a jam sequence, until the transmission continues for at least a period of time corresponding to a minimum frame length. The client computer then pauses for a predetermined, random amount of time and attempts to gain access to the physical link to once again transmit the data. Each of the client computers attempting to access the physical link executes a similar backoff algorithm, but with different, randomly assigned waiting times so that a single client computer gains access to the physical link, with others of the waiting computers gaining access to the network successively.
- Information is typically organized into frames for transmission over an Ethernet™ or other type of CSMA/CD network.
FIG. 1 shows the organization of a frame of data for an Ethernet™ frame andFIG. 2 shows the organization for a frame defined in accordance with the standard IEEE 802.3. Both types of networks use a preamble consisting of an alternating pattern of ones and zeros to inform a receiving station that a frame is coming. The Ethernet™ preamble (FIG. 1 ) further includes an additional byte that is the equivalent of the start of frame byte field defined in the IEEE 802.3 network. The start of frame byte (SOF inFIG. 2 ) ends with two consecutive “1” bits and is used to synchronize the frame reception of the station connected to the physical link. - The framing of information for these networks includes both the destination address and the source address for the message. The destination address may be a single target computer (unicast), a group of computers (multicast) or all computers on the network (broadcast). The source address is the particular transmitting computer. Ethernet™ frames include a type field identifying the protocol of an upper layer application to receive the message. This field is not present in frames for the IEEE 802.3 network and is replaced by a length field that specifies the number of bytes of data in the message. Both frame structures provide a data field of arbitrary length within a range of possible lengths, followed by a frame check sequence (FCS), which is a four-byte cyclic redundancy check value. The FCS is created by the sending computer and is recalculated by the receiving device to check for damaged frames.
- Client computers communicating frames of data over a CSMA/CD network use a network interface controller to perform carrier sense, collision detection, and other aspects of data transmission and receive control. Control of data transmission includes generating the frame format and calculating the FCS byte. Data receive control includes the detection of a frame, examining the destination address to determine if the message is intended for that computer, and performing a CRC or other frame check procedure to determine if the frame is valid. Other forms of analysis may be performed on the frame or may have to be performed when there is an error in the frame of data or in the receive operation. For example, information may have to be retransmitted if an error is detected during transmission. All of this processing is conventionally known and performed in typical adapters or controllers that link client computers to a local area CSMA/CD network.
- The network interface controller is implemented as an integrated circuit, such as an application specific integrated circuit (ASIC). An example of one configuration of Ethernet controller in an ASIC, described in U.S. Pat. No. 5,872,920, is illustrated schematically in
FIG. 3 . The network controller ASIC 10 interfaces with abus 20 of a host computer system and with the twisted pairs or coaxial cable that are part of thephysical link 30 of the network. Information is transmitted to and received from the physical interface by atransceiver 40 or through anattachment unit interface 42. Information to be transmitted over thephysical link 30 is encoded byencoder 44 anddecoder 46 decodes information received from the physical link. Typically, Manchester encoding and decoding are used for IEEE 802.3 networks. - A
controller 50, which may be a microcontroller or other type of processor, is typically provided as a core within the ASIC 10 to control the transmit and receive operations usingappropriate transmit control 52 and receivecontrol 54 programs or state machines. These programs handle the various data control operations required for transmitting and receiving data from a CSMA/CD network including, for example, handling error conditions for a collision on the physical medium and retransmitting corrupted data as necessary. Most all of the functionality desired to implement applicable standards, such as IEEE 802.3, is implemented within thecontroller 50. Data coming in and out of thecontroller 50 are buffered by a transmit FIFO 56 and a receiveFIFO 58. Communications with the host computer, including the provision of data to thebus 20 of the host computer, are managed by thehost interface 60. Provisions are made to update thehost interface 60 by rewriting or updating a data set or program stored within the EEPROM 62. Further details of these circuits and the functionality they implement are described in U.S. Pat. No. 5,872,920, which is hereby incorporated by reference. - It should be appreciated that, while the network interface controller of
FIG. 3 is implemented as a single ASIC other configurations are also common. For example, because the physical implementations for a particular network (including driving magnetics, digital to analog circuitry and analog to digital circuitry) can vary greatly, it is often desirable to provide the encoder, decoder, transceiver and other aspects of the interface to the physical link in a dedicated chip. This architecture may be implemented as a distinct PHY chip, allowing a greater level of flexibility that is often more cost-effective than a more integrated, single-chip network interface controller solution. In implementations that provide a distinct PHY chip, it is typical to provide other aspects of the network controller on a second chip, a media access controller (MAC) chip. The MAC of the network controller shown inFIG. 3 includes the controller orprocessor 50 with its programs, the buffering memory and, in most cases, the host-interface 60. - Considerable effort has been made to increase the functionality provided within integrated circuit network interface controllers such as the ASIC 10 illustrated in
FIG. 3 . For example, additional functionality and flexibility has been built into network interface controller chips to accommodate improvements or modifications in network communications standards. Particular attention has been paid to higher speed variations of the basic IEEE 802.3 technology. - Preferred embodiments of the present invention provide a simplified controller that is better adapted to a low-cost, network-compatible computer. By providing a relatively simple interface structure and by implementing more of the network interface control functionality within a processor on the host computer, such preferred embodiments of the invention provide a low cost, highly flexible solution for a network interface.
- An aspect of the present invention provides a computer communications system having a transmit buffer coupled to at least one transmit data line. The transmit buffer receives data from a host computer and temporarily store the data before transmitting the data over the transmit data line to a physical link of a data network. A receive buffer is coupled to at least one receive data line, the receive buffer adapted to receive data from a physical link of a data network over the receive data line and temporarily store the data before providing the data to a computer. An array of communication registers is also provided. The array includes a data register coupled to the receive buffer, wherein repeated reads from the data register causes data to be read from the receive buffer. The array further includes a status register for storing data identifying a collision of data on the physical link of the network, where the status register is readable from the host computer. The status register also includes at least one bit signifying an interrupt state in at least one of a read and a write operation.
- Another aspect of the invention provides a computer communications system comprising a media access controller including a receive buffer coupled to receive data from a data network and temporarily store the data before providing the data to a host computer. The media access controller has communication registers including a data register coupled to the receive buffer, wherein repeated reads from the data register reads data from the receive buffer. The communication registers provide a status register storing at least one interrupt bit. The interrupt bit is set to indicate the presence of data received from the data network and destined for the host computer and the interrupt bit is readable by the host computer to indicate the presence of data to be read.
- Still another aspect of the invention provides a computer communications system comprising a media access controller including a plurality of communication registers. The communication registers preferably include a data register coupled to the receive buffer, wherein repeated reads from the data register read data received from the data network. A status register stores at least one interrupt bit, the interrupt bit set to indicate the presence of data received from the data network and destined for the host computer, the interrupt bit readable by the host computer. A media independent interface register stores at least one signal for controlling operation of PHY circuitry coupled to the media access controller, wherein signals from the host computer are passed from the media independent interface register to control PHY circuitry as data are read from the data network. A byte-count register stores a value indicative of the number of bytes stored in the media access controller for transfer to the host computer, where the byte count register is decremented as data are read from the media access controller.
- These and other aspects of the present invention are better understood by reference to the following description that references and includes the following figures.
-
FIG. 1 illustrates a frame structure for an Ethernet network. -
FIG. 2 illustrates a frame structure for a network in accordance with the IEEE 802.3 standard. -
FIG. 3 illustrates a network interface control chip that provides a high level of functionality on the chip. -
FIG. 4 illustrates an architectural overview of an aspect of the present invention. -
FIG. 5 illustrates a particularly preferred implementation of a network controller in accordance with the present invention. -
FIG. 6 illustrates the network interface controller ofFIG. 5 coupling a client computer to a network. -
FIG. 7 shows the addresses and functions for registers within a preferred register set provided within the controller ofFIG. 5 . -
FIG. 8 illustrates the structure and functions of the Ethernet data register of theFIG. 7 register set. -
FIG. 9 illustrates the structure and functions of the byte count register of theFIG. 7 register set. -
FIG. 10 illustrates the structure and functions of the command/status register of theFIG. 7 register set for write operations. -
FIG. 11 illustrates the structure and functions of the command/status register of theFIG. 7 register set for read operations. -
FIG. 12 illustrates the structure and functions of the MII (media independent interface) register of theFIG. 7 register set. - Communication between a computer and a network is conventionally conducted through a network interface controller (NIC) or adapter. Preferred embodiments of the present invention provide a reduced hardware implementation of a network interface controller. Implementations of preferred aspects of an adapter in accordance with the invention may provide computers with network interface connections that are lower in cost and consume less power than conventional controllers. Aspects of the present invention make it possible to implement adapters in a manner that is far easier to modify to accommodate changes in technology or to provide solutions for unusual or specialized applications.
- Particularly preferred embodiments of the present invention provide a reduced hardware MAC with a significant portion of the MAC functionality implemented as software within the host client computer. Most preferably, the MAC functionality embodied within the client computer is implemented as software within a processor of the client computer and most preferably the MAC functionality is implemented within the main processor of a personal computer type of architecture. The hardware portion of the preferred MAC implementation provides memory for buffering communications between the PHY and the client computer. The preferred hardware aspects of a MAC in accordance with the present invention also includes a register interface for register-driven communications between the hardware portion of the MAC and the software portions of the MAC implemented within the client computer. By implementing most of the MAC functionality in software within the host computer, the preferred MAC provides lower cost, lower power consumption, and generally greater flexibility.
- Aspects of the present invention can provide an interface between a client or other computer and a network such as a local area network functioning in accordance with any of the defined IEEE 802.3 protocols. Other related aspects of the present invention provide a method of communicating information to, from or between a computer and one or more other computers through an IEEE 802.3 network. The term IEEE 802.3 is used broadly here to generally encompass CSMA/CD networks including presently planned variations including gigabit Ethernet™ and other variations that might be developed later. Aspects of the invention are believed to have advantages in interfacing to and communicating with other types of networks using other types of protocols. Many of the examples and explanations provided here are set forth in terms of communicating with an IEEE 802.3 network, both because of the familiarity of these networks and because of the present prominence of IEEE 802.3 and Ethernet™ networks. The specific applications used to illustrate the invention are not, however, intended to limit the scope of the invention.
- Similarly, illustrations of the present invention are made within the framework of presently available and used IEEE 802.3 protocols. More advanced implementations of IEEE 802.3 and successors to IEEE 802.3 will be developed and brought to market in the future. Many aspects of the present invention are expected to have advantages when applied to such networks, as well.
-
FIG. 4 illustrates, from a schematic architectural point of view, aspects of aclient computer 70 that are involved in communicating information to and from a network. The data network includes a physical link such as wire pairs or coaxial cabling that carries the actual data signals to and from the client computer. Theclient computer 72 connects to this physical link through the physical layer of the network model indicated asPHY 72 inFIG. 4 . The PHY might include the magnetic circuitry for placing signals onto and deriving signals from the physical link.PHY 72 also includes appropriate support circuitry such as analog to digital converters, digital to analog converters, and phase lock loop detection circuitry for recovering signals from the physical link according to a received or derived clock signal. Generally, thePHY 72 also includes encoding and decoding circuitry such as that illustrated inFIG. 3 . - The
PHY 72 is generally adapted to a particular network protocol or definition. As such, aspects of thePHY 72 may vary significantly, but in a well-known and understood manner, between different applications of the architecture ofFIG. 4 .PHY 72 is commercially available in a number of forms in different network environments, whether as a distinct chip or as a core to be provided within an ASIC. - The next higher level of the network model illustrated in
FIG. 4 is the media access control orMAC 74. TheMAC 74 may embody a range of functionality, but generally serves the purpose of initially analyzing and formatting the stream of data bits provided byPHY 72 so that the data are in a form immediately usable by the upper levels of the network model.MAC 74 interfaces with theoperating system 76 of theclient computer 70 for the storage of data received from the network.MAC 74 is generally responsive toapplication programs 78 within the client computer that communicate through theoperating system 76 to generate messages for transmittal or requests for information. - MAC functionality may include a number of different aspects of communications. For example, data from the network might be provided by
PHY 72 in 4-bit parallel format. The MAC preferably reformats that 4-bit parallel data into bytes or words appropriate for the client computer, for example, 8-bit bytes or 32-bit words. Other aspects of communication that might be included in the MAC are address recognition, frame recognition, frame analysis, and detection of and management of collisions or other forms of network errors. As discussed in the background and illustrated inFIG. 3 , conventional implementations ofMAC 74 include a variety of functions on a single integrated circuit. Such conventional implementations of a MAC provide a processor or other form of logic capable of executing a state machine or program that performs these functions. - Preferred implementations of the present invention provide a simplified MAC, at least from a circuitry point of view. In most implementations, embodiments of the present invention will include a simplified hardware MAC and a complementary software MAC preferably within a host processor that will, in combination, provide much if not more of the functionality performed by the MAC illustrated in
FIG. 3 . Of course, implementations of a MAC in accordance with an embodiment of the present invention might provide less of the MAC functionality and still practice aspects of the present invention. In contrast to the MAC ofFIG. 3 , a MAC in accordance with preferred aspects of the present invention provides a minimal set of circuitry and implements most aspects of MAC functionality within a processor on theclient computer 70. In a present implementation, a MAC in accordance with the invention might include buffering memory and a communication register set with other aspects of MAC functionality implemented as software to be executed by the microprocessor of a personal computer or similar type of client computer. -
FIG. 5 illustrates particularly preferred hardware aspects of anetwork interface adapter 79 in accordance with the present invention. As illustrated, the adapter includes aPHY 72 appropriate to the target network physical link and a reduced hardware MAC. The reduced hardware MAC includes memory for buffering data as it is transferred to or received from thePHY 72 including, preferably, a latch for storing a receive error signal that may occur only for a period of the total time required to receive a frame of data. The remaining hardware aspects of the illustrated and particularly preferred MAC is a set of registers for handling the communication of instructions, status and error information and for facilitating data transfer between the adapter and the client computer. Thus, the illustratedbus register interface 80 preferably includes a complete but relatively minimal set of communication and data registers so that most of the communication functions are performed within the client computer and preferably in the processor of the client computer. - Still referring to
FIG. 5 , the top two lines are signals for communicating with the media independent interface (MII) withinPHY 72. The signal line MDCK provides a data clock signal from theinterface 80 to thePHY 72 and is used for both reading and writing data to the MII ofPHY 72. MDIO is a serial data line for MII communications between thebus register interface 80 and thePHY 72. The type of instructions and other information provided over the MDIO line are in accordance with the requirements of the media independent interface, which is a known protocol and standardized within the industry. - The next two lines illustrated in
FIG. 5 communicate network conditions from thePHY 72 to thebus register interface 80. The line COL is a signal transmitted when a collision is detected on the physical link during the transmission of data from thePHY 72 onto the physical link. The line CRS carries a signal identifying the presence of a carrier signal (carrier sense) on the physical link while a message is being received: Signals on either of the COL and CRS lines are stored within a command/status register within theinterface 80 so that the host client computer can detect the error conditions and perform the appropriate error handling functions. - The next line illustrated in
FIG. 5 represents information provided by thePHY 72 to the bus register interface indicative of the validity of data received from the physical link. The line RXER carries a signal indicative of an error during the reception of data. The signal provided over line RXER might be a relatively short-lived signal at least as compared to the amount of time taken to transmit a frame of data. Consequently, it is preferred that alatch 82 be provided along this line so that an error signal generated by thePHY 72 is held within the latch to ensure it is available for storage in thebus register interface 80 after transmission of the frame of data is complete. The line TXER performs a similar function for the transmission of data to the physical link. Theinterface 80 causes a signal to be provided over line TXER when an error is known to have occurred in the transmission of data to thePHY 72 and the physical link beyond. For example, the line TXER may be used to indicate that an underflow error has occurred for the transmitbuffer 88 of the MAC. - In the illustrated embodiment, the
bus register interface 80 stores data in units of 8-bit bytes. Data provided to and from thePHY 72 are organized as four parallel bits. It is consequently desirable to reformat the 4-bit data from the PHY into 8-bit data within an appropriately configuredregister 84.Register 84 is shown as a 4-8 bit parallel shift register. The output fromregister 84 is provided to a receivebuffer 86, which buffers data received from the physical link before it is read out into the client computer through thebus register interface 80. Data from the client computer are provided in 8-bit bytes to a transmitbuffer 88 that buffers the data before providing it to register 90, which formats the 8-bit data into successive 4-bit data items and provides the data items to thePHY 72. - The receive
buffer 86 and transmitbuffer 88 are preferably FIFOs (first in, first out memories) of a size appropriate to accommodate latency within the client computer. Because servicing of the adapter illustrated inFIG. 5 is but one of the tasks to be performed by the preferred microprocessor of the client computer there may be occasions where the processor is not ready to handle the data being transmitted to or received from the physical link. It is consequently desirable that the receive and transmit FIFOs be of sufficient size to accommodate typical latency delays. In practice, it is believed that an appropriate buffer size is approximately the size of one packet or on the order of about two thousand bytes. The appropriate size of the buffer can be chosen according to the design of the system. Since the rate at which data either will be received or needs to be transmitted will depend on the particular network being serviced by the adapter, the size of the buffer may vary significantly in different applications. -
FIG. 6 illustrates an installation of theadapter 79 to couple aclient computer 100 to anetwork 102 through a set of twisted wire pairs 104. The illustratedadapter 79 preferably has the structure illustrated inFIG. 5 and, in particular, provides a reducedhardware MAC 106 including the buffer memory andbus register interface 80 shown inFIG. 5 . The reducedhardware MAC 106 is preferably coupled to themain processor 108 of theclient computer 100 through abus 1 10. Thebus 1 10 is preferably a thirty-two bit or larger bus operating at a sufficient speed to move data in and out of theMAC 106 at a desired speed to minimize latency. An appropriate bus speed is facilitated by coupling theMAC 106 to an appropriate bus, such as a PCI bus or, in a particularly preferred embodiment, a PC Bus, Card Bus or other bus appropriate to coupling a PCMCIA card to a computer such as a notebook or other portable computer. Typical implementations of these buses are sufficiently fast as to allow the implementation of significant portions of the MAC functionality as software running on theprocessor 108. The reduced size and reduced power consumption of preferred implementations of theadapter 79 are particularly desirable for a portable computer implementation of the present invention. - At least portions of the client computer's
operating system 114 and portions of thesoftware aspects 116 of the MAC are expected to be available inmemory 112 as information is transmitted to and received from the physical link of thenetwork 102. The illustratedmemory 112 may be partially within theprocessor 108 and partially within an array of DRAM or other, less volatile memory including, for example, on a disk drive or in flash or other solid state memory. In other implementations, the illustratedmemory 112 might be entirely inside or outside of theprocessor 108. Regardless of the particular memory implementation, the software aspects of theMAC 116 preferably communicate through theoperating system 114 within theprocessor 108 to the hardware aspects of the MAC by addressing the communication registers 80 within theMAC 106. - The communication registers within the
bus register interface 80 are addressed using a preferred register address scheme. In the embodiment illustrated in part inFIG. 7 , a three-bit address signal can be used to address a minimal register implementation including a total of eight registers. As shown, four data registers are provided in the four lowest addresses, with the next two registers and addresses preferably dedicated to byte count registers storing the number of bytes available to be read from the receiveFIFO 86. The data registers are illustrated in greater detail inFIG. 8 . Repeated reads from the data registers read data out of the receiveFIFO 86 and repeated writes to the data registers will fill the transmitFIFO 88 with data to be sent to thenetwork 102. The byte-count register is illustrated in greater detail inFIG. 9 . These byte-count registers are used in read operations to indicate whether and how many data remain to be received from thenetwork 102. As data are written into receive buffer, the value stored in the byte-count register is incremented and, as data are read from the receivebuffer 86, the value stored in the byte-count register is decremented. - It should be noted that the data received from the network might include erroneous data or might include proper frame data. As such, it is generally undesirable to rely on the transferred data itself to indicate whether additional data remains to be received from the network.
-
FIGS. 10 and 11 illustrate the command/status register for write and read operations, respectively, both of which have the same address but different definitions for the write and read operations.Bit 0 is defined for enabling interrupts from the adapter to the operating system of the client computer during write operations.Bit 7 of the command/status register is set by the client computer to reset the adapter. This bit clears automatically with the reset of the adapter. - When the
MAC software 116 is reading the adapter, the command/status register (FIG. 11 ) usesbit 0 as an interrupt pending bit to notify the host client computer of an interrupt pending to be read. TheMAC software 116 reads the command/status register to determine what action is required by the interrupt, whether there is data to be read (BC) or if there is an error (COL, CRS) to be handled. Once the interrupt bit is read, it is reset. The remaining bits 1-3 provides carrier sense, collision sense and receive data valid signals from the PHY. When the byte count bit BC is not zero, the MAC software begins reading the data registers to read data out of the receivebuffer 86. When either of the COL or CRS bits is valid, theMAC software 116 is called on to handle the error condition, either by performing a backoff algorithm (COL) or by discarding the received, erroneous data (CRS) by flushing the receive buffer of the erroneous data. -
FIG. 12 shows definitions of bits within the MII register, which occupies the final position within the preferredbus register interface 80. The MII or a reduced media independent interface (RMII) is used by theMAC software 116 to control and monitor the operation of the PHY. Communications of MII information is conducted serially through the MD bit of the MII register, through the MDIO line (FIG. 5 ) and through the MDIO pin of the PHY. - The
MAC software 116 controls much of the operation of theadapter 79. Generally, the MAC software can be viewed as including a lower level piece that handles interrupts and data transfer and an upper level piece that performs more sophisticated, but less immediate operations. Receive operations are interrupt driven and the interrupts are handled by the lower level facility of theMAC software 116. When theoperating system 114 receives an interrupt from theadapter 79, the operating system calls the lower level facility of the MAC software. - The lower level facility reads the command/status register to clear the interrupt pending bit. If there are data present, the lower level facility begins a loop to first check the byte count in the byte count register (
FIG. 9 ). If the byte count is zero, the lower level facility exits the loop and returns to a standby state and if the byte count is non-zero, then the data are read from the data register (FIG. 8 ). The loop continues until the byte count reaches zero and then lower level facility exits the loop and returns to a standby state until another interrupt is detected. - The data read out by the lower level facility is stored in a buffer within the processor or in DRAM. Further processing is necessary in accordance with the frame definition and other processing relevant to the IEEE 802.3 or other protocol by which the network is organized and communications proceed. For example, processing of the data packet for an IEEE 802.3 network might include the
processor 108 detecting a frame preamble, checking the frame length to determine if the frame is of a valid length. The processor evaluates the frame using the FCS data to evaluate whether the frame is valid. For example, if the FCS data is CRC data, then a polynomial division is performed on the data using the protocol defined check polynomial to determine if the data are valid. All of these functions are performed by an upper level facility of theMAC software 116. The MAC software also may perform filtering to detect whether the address of the packet is relevant to the host client computer. - The MAC software further tracks the network statistics in accordance with network protocols. Statistics include the number of frames successfully transmitted and the frequencies with which erroneous frames are transmitted. These statistics are made available to network management software, such as software in accordance with a simple network management protocol.
- The operation of writing data to the network is also a cooperation between the
MAC software 116 and theadapter 79. Data to be provided to the network is formatted by the upper level facility of the MAC software into appropriate frames and the upper level facility calculates the FCS data, such as appropriate cyclic redundancy check (CRC) data, and appends the FCS data to the frame. The frames of data are passed to the lower level facility of the MAC software, which writes the data to the data register and thus to the transmitFIFO 88 of the adapter. The low-level portion of theMAC software 116 monitors the adapter during to ensure that data are transferred safely from thebuffer FIFO 88 to the network. For example, the low-level facility checks the FIFO to see if the FIFO is full and cannot receive additional data or if the FIFO has been completely emptied (an underflow condition). The low-level facility further monitors the COL bit of the command/status register to determine if there has been a collision. - The upper levels of the
MAC software 116 perform the well-known functions of an Ethernet™ or IEEE 802.3 network. These functions are conventionally implemented as software or state machines within the processor of a conventional network interface controller. As such, it is well within the ordinary skill in this art to implement these functions in the microprocessor or other processor of the host client computer. These aspects of the invention will therefore not be further described here. - Installation of an adapter in accordance with the present invention would proceed by installing the reduced hardware MAC, for example within a PCMCIA card that also includes PHY circuitry appropriate to the target network. Driver software is installed to the host computer in a manner that the MAC software is available to be accessed by the operating system of the host computer.
- Certain variations of the design discussed here will be apparent to those of ordinary skill in the art. For example, the reduced hardware MAC illustrated in
FIG. 5 is readily implemented as a core to be implemented in an ASIC or within the PHY. It is possible that the reduced hardware MAC could be implemented as a distinct core within a system on a chip, with the software aspects of the MAC implemented within the system on a chip's processor. Preferred aspects of the present invention provide a flexible architecture for a network interface adapter. As such, the inventors expect that adapters in accordance with the present invention will find application in a variety of yet to be completed network protocols. Moreover, the bus register interface might include different combinations of registers to effect the reduced hardware MAC of the present invention. - Those of ordinary skill in the art will appreciate that a number of variations and modifications might be made to the particular embodiments described herein without varying from the basic teachings of the present invention. As such, the scope of the present invention is not to be limited to the particular embodiments described herein. Rather, the scope of the invention is to be determined from the claims, which follow.
Claims (29)
1-17. (canceled)
18. A system comprising:
a hardware media access controller, the hardware media access controller including a memory to buffer data transferred between a physical interface to a network and a computer, and the hardware media access controller including a register interface; and
a memory storing media access control software that if executed by a processor of the computer causes the processor to perform one or more media access control communications functions.
19. The system of claim 18 , wherein the software comprises software that if executed by the processor causes the processor to perform one or more IEEE 802.3 functions.
20. The system of claim 18 , wherein the software comprises software that if executed by the processor causes the processor to perform one or more network interface control functions.
21. The system of claim 18 , wherein the software comprises software that if executed by the processor causes the processor to detect an error condition.
22. The system of claim 18 , wherein the software comprises software that if executed by the processor causes the processor to perform an error handling function.
23. The system of claim 22 , wherein the software comprises software that if executed by the processor causes the processor to perform the error handling function by performing a backoff algorithm.
24. The system of claim 22 , wherein the software comprises software that if executed by the processor causes the processor to perform the error handling function by flushing the memory of the hardware media access controller of data.
25. The system of claim 18 , wherein the software comprises software that if executed by the processor causes the processor to handle interrupts and data transfer.
26. The system of claim 18 , wherein the software comprises software that if executed by the processor causes the processor to process a data packet including detecting a frame preamble, and checking a length of a frame.
27. The system of claim 18 , wherein the software comprises software that if executed by the processor causes the processor to evaluate a frame using frame check sequence data.
28. The system of claim 27 , wherein the software comprises software that if executed by the processor causes the processor to evaluate the frame using the frame check sequence data by performing a polynomial division using a protocol defined check polynomial.
29. The system of claim 18 , wherein the software comprises software that if executed by the processor causes the processor to perform filtering to detect whether an address of a packet is relevant to the computer.
30. The system of claim 18 , wherein the memory comprises a memory of the computer.
31. The system of claim 18 , wherein a size of the memory is based on a typical latency delay of the computer.
32. A system comprising:
a computer including a processor, a DRAM memory, and a bus;
an adapter including,
a physical interface to couple to a network, and
a hardware media access controller coupled to the physical interface and to the bus, the hardware media access controller including a memory to buffer data that is transferred between the physical interface and the computer, and the hardware media access controller including a register interface; and
media access control software stored within the DRAM memory that if executed by the processor of the computer causes the processor to perform one or more media access control communications functions.
33. The system of claim 32 , wherein the software comprises software that if executed by the processor causes the processor to perform one or more IEEE 802.3 functions.
34. The system of claim 32 , wherein the software comprises software that if executed by the processor causes the processor to perform one or more network interface control functions.
35. The system of claim 32 , wherein the software comprises software that if executed by the processor causes the processor to detect an error condition and perform an error handling function.
36. The system of claim 32 , wherein the software comprises software that if executed by the processor causes the processor to process a data packet including detecting a frame preamble, and checking a length of a frame.
37. The system of claim 32 , wherein the software comprises software that if executed by the processor causes the processor to evaluate a frame using frame check sequence data.
38. A memory storing media access control software that if executed by a processor of a computer causes the processor to:
perform one or more media access control communications functions.
39. The memory of claim 38 , wherein the software comprises software that if executed by the processor causes the processor to perform one or more IEEE 802.3 functions.
40. The memory of claim 38 , wherein the software comprises software that if executed by the processor causes the processor to perform one or more network interface control functions.
41. The memory of claim 38 , wherein the software comprises software that if executed by the processor causes the processor to detect an error condition and perform an error handling function.
42. The memory of claim 38 , wherein the software comprises software that if executed by the processor causes the processor to process a data packet including detecting a frame preamble, and checking a length of a frame.
43. The memory of claim 38 , wherein the software comprises software that if executed by the processor causes the processor to evaluate a frame using frame check sequence data.
44. A method comprising:
installing a card in a computer, the card including a physical interface to a network and a hardware media access controller; and
installing media access control software within a memory of the computer, the media access control software including software that if executed results in a processor of the computer performing one or more media access control communications functions.
45. The method of claim 44 , wherein said installing the software comprises installing software that if executed results in the processor evaluating a frame using frame check sequence data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/399,628 US20060184698A1 (en) | 1999-09-21 | 2006-04-06 | Reduced hardware network adapter and communication method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/401,005 US6651107B1 (en) | 1999-09-21 | 1999-09-21 | Reduced hardware network adapter and communication |
US10/682,572 US7080162B2 (en) | 1999-09-21 | 2003-10-08 | Reduced hardware network adapter and communication method |
US11/399,628 US20060184698A1 (en) | 1999-09-21 | 2006-04-06 | Reduced hardware network adapter and communication method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/682,572 Continuation US7080162B2 (en) | 1999-09-21 | 2003-10-08 | Reduced hardware network adapter and communication method |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060184698A1 true US20060184698A1 (en) | 2006-08-17 |
Family
ID=23585878
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/401,005 Expired - Lifetime US6651107B1 (en) | 1999-09-21 | 1999-09-21 | Reduced hardware network adapter and communication |
US10/682,572 Expired - Fee Related US7080162B2 (en) | 1999-09-21 | 2003-10-08 | Reduced hardware network adapter and communication method |
US11/399,628 Abandoned US20060184698A1 (en) | 1999-09-21 | 2006-04-06 | Reduced hardware network adapter and communication method |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/401,005 Expired - Lifetime US6651107B1 (en) | 1999-09-21 | 1999-09-21 | Reduced hardware network adapter and communication |
US10/682,572 Expired - Fee Related US7080162B2 (en) | 1999-09-21 | 2003-10-08 | Reduced hardware network adapter and communication method |
Country Status (7)
Country | Link |
---|---|
US (3) | US6651107B1 (en) |
EP (1) | EP1216564A1 (en) |
JP (1) | JP4554863B2 (en) |
CN (1) | CN100473066C (en) |
AU (1) | AU8036500A (en) |
GB (1) | GB2369757B (en) |
WO (1) | WO2001022690A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050128977A1 (en) * | 2003-07-23 | 2005-06-16 | Interdigital Technology Corporation | Method and apparatus for determining and managing congestion in a wireless communications system |
US20050157676A1 (en) * | 2003-07-23 | 2005-07-21 | Interdigital Technology Corporation | Method and apparatus for determining and managing congestion in a wireless communications system |
US7373421B1 (en) * | 2003-06-12 | 2008-05-13 | Cisco Technology, Inc. | Method and apparatus of preventing physical layer from establishing unsupported links |
US7424553B1 (en) * | 2004-04-15 | 2008-09-09 | Xilinx, Inc. | Method and apparatus for communicating data between a network transceiver and memory circuitry |
US20160119402A1 (en) * | 2014-10-27 | 2016-04-28 | Citrix Systems, Inc. | Input devices in high latency networks |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651107B1 (en) | 1999-09-21 | 2003-11-18 | Intel Corporation | Reduced hardware network adapter and communication |
US7143294B1 (en) * | 1999-10-29 | 2006-11-28 | Broadcom Corporation | Apparatus and method for secure field upgradability with unpredictable ciphertext |
US6980563B2 (en) * | 2000-04-13 | 2005-12-27 | International Business Machines Corporation | Method and system for fast ethernet serial port multiplexing to reduce I/O pin count |
US6963535B2 (en) * | 2000-12-28 | 2005-11-08 | Intel Corporation | MAC bus interface |
US7039690B2 (en) * | 2001-08-01 | 2006-05-02 | Lucent Technologies Inc. | System and method for accessing registers of PHY device in network |
US6865622B2 (en) * | 2002-05-13 | 2005-03-08 | Intel Corporation | System including real-time data communication features |
CN1293739C (en) * | 2002-06-15 | 2007-01-03 | 华为技术有限公司 | High speed link control protocol transmission processing/module and data processing/method |
CN100401731C (en) * | 2002-06-15 | 2008-07-09 | 华为技术有限公司 | High speed data link control protocol receiving processing module and data processing/method |
US20040004974A1 (en) * | 2002-07-02 | 2004-01-08 | Harand Gaspar | Method and system for optimizing the design of a network controller |
US7162564B2 (en) * | 2002-07-09 | 2007-01-09 | Intel Corporation | Configurable multi-port multi-protocol network interface to support packet processing |
US7373561B2 (en) * | 2002-10-29 | 2008-05-13 | Broadcom Corporation | Integrated packet bit error rate tester for 10G SERDES |
KR100481873B1 (en) * | 2003-02-04 | 2005-04-11 | 삼성전자주식회사 | Media access controller with power-save mode |
JP2004289561A (en) * | 2003-03-24 | 2004-10-14 | Sony Corp | Management method of network connection, and electronic equipment |
KR100489618B1 (en) * | 2003-04-08 | 2005-05-17 | 엘지전자 주식회사 | Apparatus And Method For Management Of Ethernet Link State |
JP2005012526A (en) * | 2003-06-19 | 2005-01-13 | Mitsumi Electric Co Ltd | Communication method, communication device, game system using the same, and game controller |
CN100338910C (en) * | 2003-07-15 | 2007-09-19 | 中兴通讯股份有限公司 | Method of multi-port received and transmitted packet number statistic in network information exchange |
KR20060127143A (en) * | 2004-02-19 | 2006-12-11 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | Methods and apparatuses for wireless packet handling using medium access control action tables |
US20050213500A1 (en) * | 2004-03-29 | 2005-09-29 | Dan Gaur | Techniques to adaptively control flow thresholds |
JP2006054853A (en) * | 2004-07-14 | 2006-02-23 | Iwatsu Electric Co Ltd | Packet transmission method and device in wireless lan |
KR100738339B1 (en) * | 2005-12-01 | 2007-07-12 | 한국전자통신연구원 | Packet Transmission on IP Offload |
US20070260910A1 (en) * | 2006-04-04 | 2007-11-08 | Vinit Jain | Method and apparatus for propagating physical device link status to virtual devices |
US8553720B2 (en) * | 2006-04-19 | 2013-10-08 | Marvell World Trade Ltd. | Adaptive speed control for MAC-PHY interfaces |
US8346974B2 (en) | 2007-07-27 | 2013-01-01 | Microsoft Corporation | Hardware control interface for IEEE standard 802.11 |
US8392637B2 (en) * | 2008-07-25 | 2013-03-05 | Broadcom Corporation | System and method for enabling legacy medium access control to do energy efficent ethernet |
US8289961B2 (en) * | 2009-08-20 | 2012-10-16 | Telefonaktiebolaget L M Ericsson (Publ) | Link state identifier collision handling |
WO2011022577A1 (en) * | 2009-08-20 | 2011-02-24 | Purdue Research Foundation | Predictive duty cycle adaptation scheme for event-driven wireless sensor networks |
TWI416336B (en) | 2009-11-10 | 2013-11-21 | Realtek Semiconductor Corp | Nic with sharing buffer and method thereof |
CN102195783B (en) * | 2010-03-11 | 2015-04-08 | 瑞昱半导体股份有限公司 | Network interface card capable of sharing buffer and buffer sharing method |
US8665895B2 (en) * | 2010-12-30 | 2014-03-04 | Broadcom Corporation | Advanced and dynamic physical layer device capabilities utilizing a link interruption signal |
US9197584B2 (en) * | 2013-08-05 | 2015-11-24 | Globalfoundries Inc. | Increasing efficiency of data payloads to data arrays accessed through registers in a distributed virtual bridge |
US9337993B1 (en) | 2013-12-27 | 2016-05-10 | Clariphy Communications, Inc. | Timing recovery in a high speed link |
US10007634B2 (en) * | 2015-12-07 | 2018-06-26 | Intel Corporation | Method to enable intel mini-mezz open compute project (OCP) plug-and-play network phy cards |
US20170251488A1 (en) * | 2016-02-26 | 2017-08-31 | Comcast Cable Communications, Llc | Network Scheduling For Improved Reliability |
CN108234252B (en) * | 2016-12-22 | 2021-05-28 | 重庆川仪自动化股份有限公司 | Multi-path Ethernet communication system |
CN108958453B (en) * | 2018-07-03 | 2020-06-05 | 中国人民解放军国防科技大学 | Low-power-consumption access method and device for register file |
CN110247750B (en) * | 2018-09-27 | 2022-07-08 | 浙江大华技术股份有限公司 | Network transmission device and state synchronization method thereof |
US11805173B2 (en) | 2021-05-05 | 2023-10-31 | Fluence Bioengineering, Inc. | Wireless network for horticultural systems |
CN113572673A (en) * | 2021-09-23 | 2021-10-29 | 深圳市迪壹六电子有限公司 | Bus-based non-inductive switching redundant communication implementation method and system |
TWI817914B (en) * | 2023-03-29 | 2023-10-01 | 智原科技股份有限公司 | Physical layer module and network module |
Citations (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4672570A (en) * | 1986-09-05 | 1987-06-09 | The United States Of America As Represented By The Secretary Of The Air Force | Network interface module and method |
US5103446A (en) * | 1990-11-09 | 1992-04-07 | Moses Computers, Inc. | Local area network adaptive throughput control for instantaneously matching data transfer rates between personal computer nodes |
US5115432A (en) * | 1989-12-12 | 1992-05-19 | At&T Bell Laboratories | Communication architecture for high speed networking |
US5265094A (en) * | 1989-09-11 | 1993-11-23 | Leonhard Schmickler | Channel accessing process for a local transmission network configured as a bus system |
US5299314A (en) * | 1990-03-22 | 1994-03-29 | Xircom, Inc. | Network adapter using status inlines and data lines for bi-directionally transferring data between lan and standard p.c. parallel port |
US5321819A (en) * | 1992-02-28 | 1994-06-14 | Texas Instruments Incorporated | Interface for coupling a host device having a network interface to a computer network having a predetermined communications medium and a predetermined communications physical layer |
US5485584A (en) * | 1992-07-02 | 1996-01-16 | 3Com Corporation | Apparatus for simulating a stack structure using a single register and a counter to provide transmit status in a programmed I/O ethernet adapter with early interrupts |
US5630061A (en) * | 1993-04-19 | 1997-05-13 | International Business Machines Corporation | System for enabling first computer to communicate over switched network with second computer located within LAN by using media access control driver in different modes |
US5671355A (en) * | 1992-06-26 | 1997-09-23 | Predacomm, Inc. | Reconfigurable network interface apparatus and method |
US5742603A (en) * | 1995-09-14 | 1998-04-21 | Level One Communications, Inc. | Method and apparatus for integrating repeater management, media access control, and bridging functions |
US5764896A (en) * | 1996-06-28 | 1998-06-09 | Compaq Computer Corporation | Method and system for reducing transfer latency when transferring data from a network to a computer system |
US5784573A (en) * | 1994-11-04 | 1998-07-21 | Texas Instruments Incorporated | Multi-protocol local area network controller |
US5802285A (en) * | 1992-05-29 | 1998-09-01 | Icl Personal Systems Oy | Wide area network (WAN) interface for a transmission control protocol/internet protocol (TCP/IP) in a local area network (LAN) |
US5845152A (en) * | 1997-03-19 | 1998-12-01 | Apple Computer, Inc. | Method for transmission of isochronous data with two cycle look ahead |
US5940459A (en) * | 1996-07-09 | 1999-08-17 | Pc-Tel, Inc. | Host signal processor modem and telephone |
US5970069A (en) * | 1997-04-21 | 1999-10-19 | Lsi Logic Corporation | Single chip remote access processor |
US6011799A (en) * | 1997-02-14 | 2000-01-04 | Advanced Micro Devices, Inc. | Method and apparatus for managing external physical layer devices |
US6012099A (en) * | 1995-01-11 | 2000-01-04 | Sony Corporation | Method and integrated circuit for high-bandwidth network server interfacing to a local area network |
US6047001A (en) * | 1997-12-18 | 2000-04-04 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for storing a data frame and corresponding tracking information in a buffer memory |
US6061767A (en) * | 1997-12-18 | 2000-05-09 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for storing status information contiguous with a corresponding data frame in a buffer memory |
US6065073A (en) * | 1998-08-17 | 2000-05-16 | Jato Technologies, Inc. | Auto-polling unit for interrupt generation in a network interface device |
US6076115A (en) * | 1997-02-11 | 2000-06-13 | Xaqti Corporation | Media access control receiver and network management system |
US6115776A (en) * | 1996-12-05 | 2000-09-05 | 3Com Corporation | Network and adaptor with time-based and packet number based interrupt combinations |
US6122670A (en) * | 1997-10-30 | 2000-09-19 | Tsi Telsys, Inc. | Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently |
US6154796A (en) * | 1998-09-03 | 2000-11-28 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for storing receiving frame status in a holding register |
US6172984B1 (en) * | 1997-06-19 | 2001-01-09 | Siemens Information And Communication Networks, Inc. | System and method for reducing the latency for time sensitive data over CSMA/CD networks |
US6215764B1 (en) * | 1998-06-04 | 2001-04-10 | Silicon Integrated Systems Corp. | Method and apparatus for detecting the network link status of computer systems |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US6252854B1 (en) * | 1996-06-17 | 2001-06-26 | International Business Machines Corporation | Rate selection in adaptive data rate systems |
US6275501B1 (en) * | 1998-04-21 | 2001-08-14 | Hewlett-Packard Company | Media access controller capable of connecting to a serial physical layer device and a media independent interface (MII) physical layer device |
US20010039600A1 (en) * | 2000-02-17 | 2001-11-08 | Brooks John M. | Cable modem having a programmable media access controller |
US6345310B1 (en) * | 1998-07-28 | 2002-02-05 | International Business Machines Corporation | Architecture for a multiple port adapter having a single media access control (MAC) with a single I/O port |
US6349331B1 (en) * | 1998-06-05 | 2002-02-19 | Lsi Logic Corporation | Multiple channel communication system with shared autonegotiation controller |
US6356942B1 (en) * | 1998-05-13 | 2002-03-12 | Axis Ab | Integrated circuit and method for bringing an integrated circuit to execute instructions |
US6373848B1 (en) * | 1998-07-28 | 2002-04-16 | International Business Machines Corporation | Architecture for a multi-port adapter with a single media access control (MAC) |
US6377998B2 (en) * | 1997-08-22 | 2002-04-23 | Nortel Networks Limited | Method and apparatus for performing frame processing for a network |
US6385208B1 (en) * | 1998-06-02 | 2002-05-07 | Cisco Technology, Inc. | Serial media independent interface |
US6393457B1 (en) * | 1998-07-13 | 2002-05-21 | International Business Machines Corporation | Architecture and apparatus for implementing 100 Mbps and GBPS Ethernet adapters |
US6400715B1 (en) * | 1996-09-18 | 2002-06-04 | Texas Instruments Incorporated | Network address matching circuit and method |
US6408347B1 (en) * | 1998-12-10 | 2002-06-18 | Cisco Technology, Inc. | Integrated multi-function adapters using standard interfaces through single a access point |
US20020077995A1 (en) * | 1998-04-28 | 2002-06-20 | Samuel Steven Allison | Pattern matching in communications network |
US6434165B1 (en) * | 1998-08-19 | 2002-08-13 | 3Com Corporation | Method and system to abort data communication traffic in a communication network |
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US6473414B1 (en) * | 1995-12-29 | 2002-10-29 | International Business Machines Corporation | Carrier sense collision avoidance with auto abort |
US6483846B1 (en) * | 1998-07-10 | 2002-11-19 | Honeywell Inc. | Middleware-based real-time communication system |
US6597683B1 (en) * | 1999-09-10 | 2003-07-22 | Pulse-Link, Inc. | Medium access control protocol for centralized wireless network communication management |
US7046625B1 (en) * | 1998-09-30 | 2006-05-16 | Stmicroelectronics, Inc. | Method and system for routing network-based data using frame address notification |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4852088A (en) * | 1987-04-03 | 1989-07-25 | Advanced Micro Devices, Inc. | Packet-at-a-time reporting in a data link controller |
US4965641A (en) * | 1989-02-21 | 1990-10-23 | Motorola, Inc. | Processor modem |
US5255187A (en) * | 1990-04-03 | 1993-10-19 | Sorensen Mark C | Computer aided medical diagnostic method and apparatus |
US5414694A (en) * | 1993-02-19 | 1995-05-09 | Advanced Micro Devices, Inc. | Address tracking over repeater based networks |
JP3503832B2 (en) * | 1993-03-01 | 2004-03-08 | エスエス製薬株式会社 | Method for producing optically active triazole derivative |
WO1995000914A1 (en) * | 1993-06-28 | 1995-01-05 | Scott & White Memorial Hospital And Scott, Sherwood And Brindley Foundation | Electronic medical record using text database |
US5660176A (en) * | 1993-12-29 | 1997-08-26 | First Opinion Corporation | Computerized medical diagnostic and treatment advice system |
US5935060A (en) * | 1996-07-12 | 1999-08-10 | First Opinion Corporation | Computerized medical diagnostic and treatment advice system including list based processing |
US5678059A (en) * | 1994-02-18 | 1997-10-14 | Lucent Technologies Inc. | Technique for time-sharing a microprocessor between a computer and a modem |
JPH07262152A (en) * | 1994-03-24 | 1995-10-13 | Hitachi Ltd | Computer system |
JP2801530B2 (en) | 1994-08-17 | 1998-09-21 | 株式会社フジキカイ | Horizontal bag making and filling machine and its control method |
US5812983A (en) * | 1995-08-03 | 1998-09-22 | Kumagai; Yasuo | Computed medical file and chart system |
US5721830A (en) * | 1995-09-12 | 1998-02-24 | Pc-Tel, Inc. | Host signal processing communication system that compensates for missed execution of signal maintenance procedures |
US6064671A (en) * | 1995-12-08 | 2000-05-16 | Killian; Michael G. | Multi-homed end system for increasing computers network bandwidth |
US5974389A (en) * | 1996-03-01 | 1999-10-26 | Clark; Melanie Ann | Medical record management system and process with improved workflow features |
ATE217105T1 (en) * | 1996-03-01 | 2002-05-15 | Medicomp Systems Inc | METHOD AND APPARATUS FOR ASSISTING A USER IN GENERATING A MEDICAL PROTOCOL |
US5704371A (en) * | 1996-03-06 | 1998-01-06 | Shepard; Franziska | Medical history documentation system and method |
US5812984A (en) * | 1996-05-13 | 1998-09-22 | Goltra; Peter S. | Method for entering information into an electronic patient chart, and protocol auto-negative capabilities |
JP3688822B2 (en) * | 1996-09-03 | 2005-08-31 | 株式会社東芝 | Electronic medical record system |
US5924074A (en) * | 1996-09-27 | 1999-07-13 | Azron Incorporated | Electronic medical records system |
US5950168A (en) * | 1996-12-18 | 1999-09-07 | Knowmed Systems | Collapsible flowsheet for displaying patient information in an electronic medical record |
US6154750A (en) * | 1998-04-01 | 2000-11-28 | Cyberpulse Llc | Method and system for navigation and data entry in heirarchically-organized database views |
US6335938B1 (en) * | 1999-05-05 | 2002-01-01 | Advanced Micro Devices, Inc. | Multiport communication switch having gigaport and expansion ports sharing the same time slot in internal rules checker |
US6725270B1 (en) * | 1999-05-21 | 2004-04-20 | Advanced Micro Devices, Inc. | Apparatus and method for programmably modifying a limit of a retry counter in a network switch port in response to exerting backpressure |
US6338039B1 (en) * | 1999-07-20 | 2002-01-08 | Michael Lonski | Method for automated collection of psychotherapy patient information and generating reports and treatment plans |
US6651107B1 (en) | 1999-09-21 | 2003-11-18 | Intel Corporation | Reduced hardware network adapter and communication |
-
1999
- 1999-09-21 US US09/401,005 patent/US6651107B1/en not_active Expired - Lifetime
-
2000
- 2000-08-30 CN CNB008157006A patent/CN100473066C/en not_active Expired - Fee Related
- 2000-08-30 WO PCT/US2000/040775 patent/WO2001022690A1/en not_active Application Discontinuation
- 2000-08-30 EP EP00971075A patent/EP1216564A1/en not_active Withdrawn
- 2000-08-30 JP JP2001525928A patent/JP4554863B2/en not_active Expired - Fee Related
- 2000-08-30 GB GB0206629A patent/GB2369757B/en not_active Expired - Fee Related
- 2000-08-30 AU AU80365/00A patent/AU8036500A/en not_active Abandoned
-
2003
- 2003-10-08 US US10/682,572 patent/US7080162B2/en not_active Expired - Fee Related
-
2006
- 2006-04-06 US US11/399,628 patent/US20060184698A1/en not_active Abandoned
Patent Citations (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4672570A (en) * | 1986-09-05 | 1987-06-09 | The United States Of America As Represented By The Secretary Of The Air Force | Network interface module and method |
US5265094A (en) * | 1989-09-11 | 1993-11-23 | Leonhard Schmickler | Channel accessing process for a local transmission network configured as a bus system |
US5115432A (en) * | 1989-12-12 | 1992-05-19 | At&T Bell Laboratories | Communication architecture for high speed networking |
US5299314A (en) * | 1990-03-22 | 1994-03-29 | Xircom, Inc. | Network adapter using status inlines and data lines for bi-directionally transferring data between lan and standard p.c. parallel port |
US5103446A (en) * | 1990-11-09 | 1992-04-07 | Moses Computers, Inc. | Local area network adaptive throughput control for instantaneously matching data transfer rates between personal computer nodes |
US5321819A (en) * | 1992-02-28 | 1994-06-14 | Texas Instruments Incorporated | Interface for coupling a host device having a network interface to a computer network having a predetermined communications medium and a predetermined communications physical layer |
US5802285A (en) * | 1992-05-29 | 1998-09-01 | Icl Personal Systems Oy | Wide area network (WAN) interface for a transmission control protocol/internet protocol (TCP/IP) in a local area network (LAN) |
US5671355A (en) * | 1992-06-26 | 1997-09-23 | Predacomm, Inc. | Reconfigurable network interface apparatus and method |
US5485584A (en) * | 1992-07-02 | 1996-01-16 | 3Com Corporation | Apparatus for simulating a stack structure using a single register and a counter to provide transmit status in a programmed I/O ethernet adapter with early interrupts |
US5872920A (en) * | 1992-07-02 | 1999-02-16 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5630061A (en) * | 1993-04-19 | 1997-05-13 | International Business Machines Corporation | System for enabling first computer to communicate over switched network with second computer located within LAN by using media access control driver in different modes |
US5784573A (en) * | 1994-11-04 | 1998-07-21 | Texas Instruments Incorporated | Multi-protocol local area network controller |
US6012099A (en) * | 1995-01-11 | 2000-01-04 | Sony Corporation | Method and integrated circuit for high-bandwidth network server interfacing to a local area network |
US5742603A (en) * | 1995-09-14 | 1998-04-21 | Level One Communications, Inc. | Method and apparatus for integrating repeater management, media access control, and bridging functions |
US6473414B1 (en) * | 1995-12-29 | 2002-10-29 | International Business Machines Corporation | Carrier sense collision avoidance with auto abort |
US6252854B1 (en) * | 1996-06-17 | 2001-06-26 | International Business Machines Corporation | Rate selection in adaptive data rate systems |
US5764896A (en) * | 1996-06-28 | 1998-06-09 | Compaq Computer Corporation | Method and system for reducing transfer latency when transferring data from a network to a computer system |
US5940459A (en) * | 1996-07-09 | 1999-08-17 | Pc-Tel, Inc. | Host signal processor modem and telephone |
US6400715B1 (en) * | 1996-09-18 | 2002-06-04 | Texas Instruments Incorporated | Network address matching circuit and method |
US6115776A (en) * | 1996-12-05 | 2000-09-05 | 3Com Corporation | Network and adaptor with time-based and packet number based interrupt combinations |
US6076115A (en) * | 1997-02-11 | 2000-06-13 | Xaqti Corporation | Media access control receiver and network management system |
US6011799A (en) * | 1997-02-14 | 2000-01-04 | Advanced Micro Devices, Inc. | Method and apparatus for managing external physical layer devices |
US5845152A (en) * | 1997-03-19 | 1998-12-01 | Apple Computer, Inc. | Method for transmission of isochronous data with two cycle look ahead |
US5970069A (en) * | 1997-04-21 | 1999-10-19 | Lsi Logic Corporation | Single chip remote access processor |
US6172984B1 (en) * | 1997-06-19 | 2001-01-09 | Siemens Information And Communication Networks, Inc. | System and method for reducing the latency for time sensitive data over CSMA/CD networks |
US6377998B2 (en) * | 1997-08-22 | 2002-04-23 | Nortel Networks Limited | Method and apparatus for performing frame processing for a network |
US6226680B1 (en) * | 1997-10-14 | 2001-05-01 | Alacritech, Inc. | Intelligent network interface system method for protocol processing |
US6122670A (en) * | 1997-10-30 | 2000-09-19 | Tsi Telsys, Inc. | Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently |
US6061767A (en) * | 1997-12-18 | 2000-05-09 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for storing status information contiguous with a corresponding data frame in a buffer memory |
US6047001A (en) * | 1997-12-18 | 2000-04-04 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for storing a data frame and corresponding tracking information in a buffer memory |
US6275501B1 (en) * | 1998-04-21 | 2001-08-14 | Hewlett-Packard Company | Media access controller capable of connecting to a serial physical layer device and a media independent interface (MII) physical layer device |
US20020077995A1 (en) * | 1998-04-28 | 2002-06-20 | Samuel Steven Allison | Pattern matching in communications network |
US6356942B1 (en) * | 1998-05-13 | 2002-03-12 | Axis Ab | Integrated circuit and method for bringing an integrated circuit to execute instructions |
US6385208B1 (en) * | 1998-06-02 | 2002-05-07 | Cisco Technology, Inc. | Serial media independent interface |
US6215764B1 (en) * | 1998-06-04 | 2001-04-10 | Silicon Integrated Systems Corp. | Method and apparatus for detecting the network link status of computer systems |
US6349331B1 (en) * | 1998-06-05 | 2002-02-19 | Lsi Logic Corporation | Multiple channel communication system with shared autonegotiation controller |
US6483846B1 (en) * | 1998-07-10 | 2002-11-19 | Honeywell Inc. | Middleware-based real-time communication system |
US6393457B1 (en) * | 1998-07-13 | 2002-05-21 | International Business Machines Corporation | Architecture and apparatus for implementing 100 Mbps and GBPS Ethernet adapters |
US6345310B1 (en) * | 1998-07-28 | 2002-02-05 | International Business Machines Corporation | Architecture for a multiple port adapter having a single media access control (MAC) with a single I/O port |
US6373848B1 (en) * | 1998-07-28 | 2002-04-16 | International Business Machines Corporation | Architecture for a multi-port adapter with a single media access control (MAC) |
US6065073A (en) * | 1998-08-17 | 2000-05-16 | Jato Technologies, Inc. | Auto-polling unit for interrupt generation in a network interface device |
US6434165B1 (en) * | 1998-08-19 | 2002-08-13 | 3Com Corporation | Method and system to abort data communication traffic in a communication network |
US6434620B1 (en) * | 1998-08-27 | 2002-08-13 | Alacritech, Inc. | TCP/IP offload network interface device |
US6154796A (en) * | 1998-09-03 | 2000-11-28 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for storing receiving frame status in a holding register |
US7046625B1 (en) * | 1998-09-30 | 2006-05-16 | Stmicroelectronics, Inc. | Method and system for routing network-based data using frame address notification |
US6408347B1 (en) * | 1998-12-10 | 2002-06-18 | Cisco Technology, Inc. | Integrated multi-function adapters using standard interfaces through single a access point |
US6597683B1 (en) * | 1999-09-10 | 2003-07-22 | Pulse-Link, Inc. | Medium access control protocol for centralized wireless network communication management |
US20010039600A1 (en) * | 2000-02-17 | 2001-11-08 | Brooks John M. | Cable modem having a programmable media access controller |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373421B1 (en) * | 2003-06-12 | 2008-05-13 | Cisco Technology, Inc. | Method and apparatus of preventing physical layer from establishing unsupported links |
US20080192743A1 (en) * | 2003-06-12 | 2008-08-14 | Cisco Technology, Inc. | Method and apparatus of preventing physical layer from establishing unsupported links |
US7889757B2 (en) | 2003-06-12 | 2011-02-15 | Cisco Technology, Inc. | Method and apparatus of preventing physical layer from establishing unsupported links |
US20050128977A1 (en) * | 2003-07-23 | 2005-06-16 | Interdigital Technology Corporation | Method and apparatus for determining and managing congestion in a wireless communications system |
US20050157676A1 (en) * | 2003-07-23 | 2005-07-21 | Interdigital Technology Corporation | Method and apparatus for determining and managing congestion in a wireless communications system |
US8005055B2 (en) | 2003-07-23 | 2011-08-23 | Interdigital Technology Corporation | Method and apparatus for determining and managing congestion in a wireless communications system |
US8953573B2 (en) | 2003-07-23 | 2015-02-10 | Interdigital Technology Corporation | Method and apparatus for determining and managing congestion in a wireless communications system |
US9743313B2 (en) | 2003-07-23 | 2017-08-22 | Interdigital Technology Corporation | Method and apparatus for determining and managing congestion in a wireless communications system |
US7424553B1 (en) * | 2004-04-15 | 2008-09-09 | Xilinx, Inc. | Method and apparatus for communicating data between a network transceiver and memory circuitry |
US20160119402A1 (en) * | 2014-10-27 | 2016-04-28 | Citrix Systems, Inc. | Input devices in high latency networks |
US9826019B2 (en) * | 2014-10-27 | 2017-11-21 | Citrix Systems, Inc. | Input devices in high latency networks |
US10637907B2 (en) | 2014-10-27 | 2020-04-28 | Citrix Systems, Inc. | Input devices in high latency networks |
Also Published As
Publication number | Publication date |
---|---|
CN1390417A (en) | 2003-01-08 |
GB2369757A (en) | 2002-06-05 |
US20040139220A1 (en) | 2004-07-15 |
JP4554863B2 (en) | 2010-09-29 |
EP1216564A1 (en) | 2002-06-26 |
GB0206629D0 (en) | 2002-05-01 |
US6651107B1 (en) | 2003-11-18 |
JP2003510905A (en) | 2003-03-18 |
US7080162B2 (en) | 2006-07-18 |
WO2001022690A1 (en) | 2001-03-29 |
CN100473066C (en) | 2009-03-25 |
AU8036500A (en) | 2001-04-24 |
GB2369757B (en) | 2004-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6651107B1 (en) | Reduced hardware network adapter and communication | |
JP3340738B2 (en) | Method and apparatus for a parallel packet bus | |
US6839345B2 (en) | MAC/PHY interface | |
US5153884A (en) | Intelligent network interface circuit | |
US5321819A (en) | Interface for coupling a host device having a network interface to a computer network having a predetermined communications medium and a predetermined communications physical layer | |
US6985969B1 (en) | Receiving data on a networked computer in a reduced power state | |
US5299193A (en) | Signal interface for coupling a network front end circuit to a network adapter circuit | |
US6697366B1 (en) | Ethernet memory management system and methods for operation thereof | |
US6105079A (en) | Apparatus and method in a network interface device for selectively supplying long bit information related to a data frame to a buffer memory and a read controller for initiation of data transfers | |
US6047001A (en) | Apparatus and method in a network interface device for storing a data frame and corresponding tracking information in a buffer memory | |
US5978865A (en) | System for performing DMA transfers where an interrupt request signal is generated based on the value of the last of a plurality of data bits transmitted | |
US20080209089A1 (en) | Packet-Based Parallel Interface Protocol For A Serial Buffer Having A Parallel Processor Port | |
US6229817B1 (en) | System and method for programming late collision slot time | |
US7680944B1 (en) | Rapid transport service in a network to peripheral device servers | |
EP1035682A1 (en) | Method and bus interface employing a memory in an integrated circuit for linking a bus with an application device | |
US6385671B1 (en) | Method/apparatus for flushing DMA transmit packet in FIFO when self-ID code generated by counter after bus reset is different than FIFO message self-ID field | |
JP2009502072A (en) | FlexRay communication module, FlexRay communication control device, and method for transmitting a message between a FlexRay communication connection and a FlexRay subscriber device | |
US6643716B2 (en) | Method and apparatus for processing serial data using a single receive fifo | |
US6516371B1 (en) | Network interface device for accessing data stored in buffer memory locations defined by programmable read pointer information | |
US6760781B1 (en) | Intelligent packet transmission engine | |
US20030028658A1 (en) | System and method for accessing registers of PHY device in network | |
US7054962B2 (en) | Embedded system having broadcast data storing controller | |
JPH1028150A (en) | Communication system | |
US6578080B1 (en) | Mechanism for run time programming of hardware resources with least interference with continued operation | |
US6473818B1 (en) | Apparatus and method in a network interface device for asynchronously generating SRAM full and empty flags using coded read and write pointer values |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |