
US Patent No: 5,412,782
Number of patents in Portfolio can not be more than 2000
Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
Stats
-
May 2, 1995
Issued date -
Jul 2, 1992
filing date -
07/907,946
serial no -
In Force
status

Importance
|
US Family Size
|
International Coverage
|
|
Patent Longevity
|
Forward Citations
|
Abstract
In a Local Area Network (LAN) system, an ethernet adapter exchanges data with a host through programmed I/O (PIO) and FIFO buffers. The receive PIO employs a DMA ring buffer backup so incoming packets can be copied directly into host memory when the PIO FIFO buffer is full. The adapter may be programmed to generate early receive interrupts when only a portion of a packet has been received from the network, so as to decrease latency. The adapter may also be programmed to generate a second early interrupt so that the copying of a large packet to the host may overlap reception of the packet end. The adapter may also be programmed to begin packet transmission before the packet is completely transferred from the host to the adapter, which further reduces latency. The minimal latency of the adapter allows it to employ receive and transmit FIFO buffers which are small enough to be contained within RAM internal to an Application Specific Integrated Circuit (ASIC) containing the transceiver, ethernet controller, FIFO control circuitry and the host interface as well.
First Claim
Related Publications
- 15 United States
- 10 France
- 8 Japan
- 7 China
- 5 Korea
- 2 Other
Patent Owner(s)
| Patent Owner | Address | Total Patents |
|---|---|---|
| U.S. ETHERNET INNOVATIONS, LLC | SANTA CLARA, CA | 12 |
International Classification(s)
- [Classification Symbol]
- [Patents Count]
Inventor(s)
| Inventor Name | Address | # of filed Patents | Total Citations |
|---|---|---|---|
| Connery, Glenn W | Sunnyvale, CA | 17 | 486 |
| Hausman, Richard | Soquel, CA | 9 | 270 |
| Reid, Richard S | Mountain View, CA | 10 | 351 |
| Rivers, James P | Saratoga, CA | 22 | 404 |
| Sherer, Paul W | Sunnyvale, CA | 3 | 209 |
| Strohl, Niles E | Tracy, CA | 12 | 416 |
| Zikmund, Cynthia | Boulder Creek, CA | 7 | 250 |
Cited Art
| Patent Info | (Count) | # Cites | Year |
|---|---|---|---|
|
|
|||
| 5,210,749 Configuration of SRAMS as logical FIFOS for transmit and receive of packet data | 75 | 1990 | |
|
|
|||
| 4,754,399 Data transfer control system for controlling data transfer between a buffer memory and input/output devices | 23 | 1984 | |
|
|
|||
| 4,860,193 System for efficiently transferring data between a high speed channel and a low speed I/O device | 109 | 1986 | |
|
|
|||
| 5,210,829 Adjustable threshold for buffer management | 65 | 1990 | |
|
|
|||
| 4,768,190 Packet switching network | 80 | 1986 | |
|
|
|||
| 5,121,479 Early start mode data transfer apparatus | 41 | 1990 | |
Patent Citation Ranking
Forward Cites
| Patent Info | (Count) | # Cites | Year |
|---|---|---|---|
|
|
|||
| 6,434,620 TCP/IP offload network interface device | 258 | 1999 | |
| 6,470,415 Queue system involving SRAM head, SRAM tail and DRAM body | 106 | 1999 | |
| 6,247,060 Passing a communication control block from host to a local device such that a message is processed on the device | 222 | 1999 | |
| 6,427,173 Intelligent network interfaced device and system for accelerated communication | 178 | 1999 | |
| 6,427,171 Protocol processing stack for use with intelligent network interface device | 184 | 2000 | |
| 6,807,581 Intelligent network storage interface system | 174 | 2000 | |
| 6,334,153 Passing a communication control block from host to a local device such that a message is processed on the device | 164 | 2000 | |
| 6,757,746 Obtaining a destination address so that a network interface device can write network data without headers directly into host memory | 116 | 2001 | |
| 6,687,758 Port aggregation for network connections that are offloaded to network interface devices | 121 | 2001 | |
| 7,076,568 Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket | 73 | 2001 | |
| 7,042,898 Reducing delays associated with inserting a checksum into a network message | 70 | 2001 | |
| 6,658,480 Intelligent network interface system and method for accelerated protocol processing | 107 | 2001 | |
| 6,393,487 Passing a communication control block to a local device such that a message is processed on the device | 141 | 2001 | |
| 7,133,940 Network interface device employing a DMA command queue | 50 | 2001 | |
| 7,124,205 Network interface device that fast-path processes solicited session layer read commands | 73 | 2001 | |
| 7,167,926 TCP/IP offload network interface device | 62 | 2001 | |
| 6,965,941 Transmit fast-path processing on TCP/IP offload network interface device | 87 | 2001 | |
| 7,167,927 TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism | 55 | 2002 | |
| 6,591,302 Fast-path apparatus for receiving data corresponding to a TCP connection | 164 | 2002 | |
| 7,174,393 TCP/IP offload network interface device | 59 | 2002 | |
| 7,089,326 Fast-path processing for receiving data on TCP connection offload devices | 64 | 2002 | |
| 6,697,868 Protocol processing stack for use with intelligent network interface device | 141 | 2002 | |
| 6,938,092 TCP offload device that load balances and fails-over between aggregated ports having different MAC addresses | 131 | 2002 | |
| 7,284,070 TCP offload network interface device | 45 | 2002 | |
| 7,337,241 Fast-path apparatus for receiving data corresponding to a TCP connection | 26 | 2002 | |
| 7,237,036 Fast-path apparatus for receiving data corresponding a TCP connection | 61 | 2002 | |
| 7,191,241 Fast-path apparatus for receiving data corresponding to a TCP connection | 58 | 2002 | |
| 8,019,901 Intelligent network storage interface system | 0 | 2002 | |
| 7,185,266 Network interface device for error detection using partial CRCS of variable length message portions | 98 | 2003 | |
| 6,751,665 Providing window updates from a computer to a network interface device | 98 | 2003 | |
| 7,543,087 Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device | 28 | 2003 | |
| 7,496,689 TCP/IP offload device | 12 | 2003 | |
| 7,472,156 Transferring control of a TCP connection between devices | 14 | 2003 | |
| 8,447,803 Method and apparatus for distributing network traffic processing on a multiprocessor computer | 0 | 2003 | |
| 8,131,880 Intelligent network interface device and system for accelerated communication | 1 | 2003 | |
| 6,941,386 Protocol processing stack for use with intelligent network interface device | 98 | 2003 | |
| 7,502,869 Intelligent network interface system and method for accelerated protocol processing | 7 | 2003 | |
| 6,996,070 TCP/IP offload device with reduced sequential processing | 95 | 2003 | |
| 7,461,160 Obtaining a destination address so that a network interface device can write network data without headers directly into host memory | 7 | 2004 | |
| 7,584,260 Method to synchronize and upload an offloaded network stack connection with a network stack | 7 | 2004 | |
| 7,844,743 Protocol stack that offloads a TCP connection from a host computer to a network interface device | 0 | 2004 | |
| 7,809,847 Network interface device that can transfer control of a TCP connection to a host CPU | 0 | 2005 | |
| 7,627,001 Protocol stack that offloads a TCP connection from a host computer to a network interface device | 8 | 2005 | |
| 7,627,684 Network interface device that can offload data transfer processing for a TCP connection from a host CPU | 8 | 2005 | |
| 7,620,726 Zero copy method for receiving data by a network interface | 7 | 2005 | |
| 7,640,364 Port aggregation for network connections that are offloaded to network interface devices | 8 | 2005 | |
| 8,248,939 Transferring control of TCP connections between hierarchy of processing mechanisms | 0 | 2005 | |
| 7,738,500 TCP timestamp synchronization for network connections that are offloaded to network interface devices | 6 | 2005 | |
| 7,664,883 Network interface device that fast-path processes solicited session layer read commands | 16 | 2006 | |
| 7,694,024 TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism | 8 | 2007 | |
| 7,664,868 TCP/IP offload network interface device | 7 | 2007 | |
| 7,853,723 TCP/IP offload network interface device | 1 | 2007 | |
| 7,673,072 Fast-path apparatus for transmitting data corresponding to a TCP connection | 10 | 2007 | |
| 7,945,699 Obtaining a destination address so that a network interface device can write network data without headers directly into host memory | 0 | 2008 | |
| 8,341,286 TCP offload send optimization | 0 | 2009 | |
|
|
|||
| 5,842,033 Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system | 12 | 1995 | |
| 5,768,561 Tokens-based adaptive video processing arrangement | 45 | 1995 | |
| 6,435,737 Data pipeline system and data encoding method | 22 | 1995 | |
| 6,263,422 Pipeline processing machine with interactive stages operable in response to tokens and system and methods relating thereto | 20 | 1995 | |
| 6,035,126 Data pipeline system and data encoding method | 8 | 1995 | |
| 5,878,273 System for microprogrammable state machine in video parser disabling portion of processing stages responsive to sequence.sub.-- end token generating by token generator responsive to received data | 6 | 1995 | |
| 5,907,692 Data pipeline system and data encoding method | 11 | 1997 | |
| 5,956,519 Picture end token in a system comprising a plurality of pipeline stages | 61 | 1997 | |
| 6,038,380 Data pipeline system and data encoding method | 12 | 1997 | |
| 6,079,009 Coding standard token in a system compromising a plurality of pipeline stages | 17 | 1997 | |
| 5,809,270 Inverse quantizer | 11 | 1997 | |
| 5,881,301 Inverse modeller | 10 | 1997 | |
| 6,067,417 Picture start token | 11 | 1997 | |
| 5,978,592 Video decompression and decoding system utilizing control and data tokens | 8 | 1997 | |
| 6,018,776 System for microprogrammable state machine in video parser clearing and resetting processing stages responsive to flush token generating by token generator responsive to received data | 10 | 1997 | |
| 6,112,017 Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus | 18 | 1997 | |
| 6,122,726 Data pipeline system and data encoding method | 5 | 1997 | |
| 6,330,665 Video parser | 15 | 1997 | |
| 7,711,938 Multistandard video decoder and decompression system for processing encoded bit streams including start code detection and methods relating thereto | 13 | 2001 | |
|
|
|||
| 5,898,889 Qualified burst cache for transfer of data between disparate clock domains | 8 | 1996 | |
| 6,016,513 Method of preventing packet loss during transfers of data packets between a network interface card and an operating system of a computer | 56 | 1998 | |
| 6,574,694 Interrupt optimization using time between succeeding peripheral component events | 21 | 1999 | |
| 6,529,986 Interrupt optimization using storage time for peripheral component events | 7 | 1999 | |
| 6,351,785 Interrupt optimization using varying quantity threshold | 12 | 1999 | |
| 6,192,440 System and method for dynamically selecting interrupt storage time threshold parameters | 13 | 1999 | |
| 6,189,066 System and method for dynamically selecting interrupt time interval threshold parameters | 10 | 1999 | |
| 6,189,067 System and method for dynamically selecting interrupt quantity threshold parameters | 9 | 1999 | |
|
|
|||
| 5,995,995 Apparatus and method for scheduling virtual circuit data for DMA from a host memory to a transmit buffer memory | 5 | 1996 | |
| 5,970,229 Apparatus and method for performing look-ahead scheduling of DMA transfers of data from a host memory to a transmit buffer memory | 20 | 1996 | |
| 5,941,952 Apparatus and method for transferring data from a transmit buffer memory at a particular rate | 18 | 1996 | |
| 5,922,046 Method and apparatus for avoiding control reads in a network node | 4 | 1996 | |
| 6,067,563 Method and apparatus for avoiding control reads in a network node | 3 | 1999 | |
| 6,466,997 Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node | 13 | 1999 | |
|
|
|||
| 5,752,078 System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory | 88 | 1995 | |
| 6,072,781 Multi-tasking adapter for parallel network applications | 108 | 1996 | |
| 6,073,181 Multi-buffer error detection for an open data-link interface LAN adapter | 9 | 1997 | |
| 6,938,040 Pattern matching in communications network where first memory stores set of patterns, and second memory stores mask data identifying patterns in the first memory | 0 | 1998 | |
| 6,408,341 Multi-tasking adapter for parallel network applications | 36 | 2000 | |
| 7,707,344 Interrupt mitigation on multiple network adapters | 2 | 2008 | |
|
|
|||
| 5,835,792 Token-based adaptive video processing arrangement | 35 | 1995 | |
| 5,828,907 Token-based adaptive video processing arrangement | 28 | 1995 | |
| 5,768,629 Token-based adaptive video processing arrangement | 71 | 1995 | |
| 5,995,727 Video decompression | 7 | 1997 | |
| 6,799,246 Memory interface for reading/writing data from/to a memory | 145 | 1997 | |
|
|
|||
| 6,351,780 Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated | 14 | 1996 | |
| 5,630,171 Translating from a PIO protocol to DMA protocol with a peripheral interface circuit | 14 | 1996 | |
| 5,822,618 System for automatically switching to DMA data transfer mode to load and unload data frames when there are excessive data frames in memory buffer | 28 | 1997 | |
| 5,878,217 Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available | 18 | 1997 | |
|
|
|||
| 5,903,774 External network network interface device without interim storage connected to high-speed serial bus with low latency and high transmission rate | 7 | 1996 | |
| 6,430,628 Method and apparatus for reducing direct memory access transfers using smart coalescing | 24 | 1998 | |
| 6,765,878 Selective use of transmit complete interrupt delay on small sized packets in an ethernet controller | 21 | 2000 | |
| 7,299,350 Internet protocol security decryption with secondary use speculative interrupts | 2 | 2002 | |
|
|
|||
| 5,999,980 Apparatus and method for setting a congestion indicate bit in an backwards RM cell on an ATM network | 9 | 1996 | |
| 5,966,546 Method and apparatus for performing TX raw cell status report frequency and interrupt frequency mitigation in a network node | 9 | 1996 | |
| 8,327,252 Data receiving apparatus, data receiving method, and computer-readable recording medium | 0 | 2009 | |
|
|
|||
| 5,581,705 Messaging facility with hardware tail pointer and software implemented head pointer message queue for distributed memory massively parallel processing system | 95 | 1993 | |
| 5,864,738 Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller | 91 | 1996 | |
| 5,841,973 Messaging in distributed memory multiprocessing system having shell circuitry for atomic control of message storage queue's tail pointer structure in local memory | 116 | 1996 | |
|
|
|||
| 5,872,920 Programmed I/O ethernet adapter with early interrupts for accelerating data transfer | 45 | 1995 | |
| 7,899,937 Programmed I/O ethernet adapter with early interrupts for accelerating data transfer | 0 | 2000 | |
| 8,239,580 Programmed I/O ethernet adapter with early interrupts for accelerating data transfer | 0 | 2010 | |
|
|
|||
| 6,108,713 Media access control architectures and network management systems | 73 | 1997 | |
| 6,085,248 Media access control transmitter and parallel network management system | 46 | 1997 | |
| 6,076,115 Media access control receiver and network management system | 117 | 1997 | |
|
|
|||
| 6,226,680 Intelligent network interface system method for protocol processing | 290 | 1998 | |
| 6,389,479 Intelligent network interface device and system for accelerated communication | 188 | 1998 | |
|
|
|||
| 6,167,465 System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection | 142 | 1998 | |
| 6,434,645 Methods and apparatuses for managing multiple direct memory access channels | 7 | 2000 | |
|
|
|||
| 6,304,911 Information packet reception indicator for reducing the utilization of a host system processor unit | 14 | 1997 | |
| 6,167,480 Information packet reception indicator for reducing the utilization of a host system processor unit | 9 | 1998 | |
|
|
|||
| 5,754,764 Combination of input output circuitry and local area network systems | 63 | 1994 | |
| 5,548,796 Method of automatic retransmission of frames in a local area network | 10 | 1994 | |
|
|
|||
| 6,393,489 Media access control architectures and network management systems | 33 | 2000 | |
|
|
|||
| 6,216,174 System and method for fast barrier synchronization | 30 | 1998 | |
|
|
|||
| 6,115,747 Computer network interface that merges remote data received from other computers with local data before transmitting the merged data to a network | 24 | 1996 | |
|
|
|||
| 6,151,642 System for DMA data reception capable of confirming the content of a received data even if the received data is less than a preset length | 3 | 1998 | |
|
|
|||
| 5,861,894 Buffer manager | 6 | 1995 | |
|
|
|||
| 7,529,261 Data communications method selection by data communication system | 0 | 2005 | |
|
|
|||
| 5,829,042 Prefetch operation for network peripheral device having shared memory | 7 | 1996 | |
|
|
|||
| 6,038,607 Method and apparatus in a computer system having plural computers which cause the initiation of functions in each other using information contained in packets transferred between the computers | 25 | 1995 | |
|
|
|||
| 5,602,537 Technique for eliminating data transmit memory underruns | 6 | 1996 | |
|
|
|||
| 6,401,146 Device and method for controlling PCI ethernet | 1 | 1998 | |
|
|
|||
| 5,572,676 Network I/O device having fifo for synchronous and asynchronous operation | 7 | 1994 | |
|
|
|||
| 5,935,220 Apparatus and method for high speed data and command transfer over an interface | 31 | 1996 | |
|
|
|||
| 5,913,028 Client/server data traffic delivery system and method | 124 | 1995 | |
|
|
|||
| 6,665,737 Microprocessor chip includes an addressable external communication port which connects to an external computer via an adapter | 16 | 1999 | |
|
|
|||
| 7,937,499 Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card | 0 | 2004 | |
|
|
|||
| 5,832,216 Network adapter having single ported memory which is accessible by network and peripheral bus on a time division multiplexed (TDM) basis | 17 | 1997 | |
|
|
|||
| 5,696,991 Method and device for parallel accessing data with optimal reading start | 6 | 1994 | |
Maintenance Fees
| Fee | Large entity fee | small entity fee | micro entity fee | due date |
|---|
| Fee | Large entity fee | small entity fee | micro entity fee |
|---|---|---|---|
| Surcharge after expiration - Late payment is unavoidable | $700.00 | $350.00 | $175.00 |
| Surcharge after expiration - Late payment is unintentional | $1,640.00 | $820.00 | $410.00 |