US6938198B1 - Method and system for accelerating ethernet checksums - Google Patents

Method and system for accelerating ethernet checksums Download PDF

Info

Publication number
US6938198B1
US6938198B1 US09/972,007 US97200701A US6938198B1 US 6938198 B1 US6938198 B1 US 6938198B1 US 97200701 A US97200701 A US 97200701A US 6938198 B1 US6938198 B1 US 6938198B1
Authority
US
United States
Prior art keywords
crc
data
input
combination
bits
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.)
Expired - Lifetime, expires
Application number
US09/972,007
Inventor
Stephen C. Purcell
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Enterprises LLC
Original Assignee
Broadband Royalty Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to US09/972,007 priority Critical patent/US6938198B1/en
Assigned to LANTERN COMMUNICATIONS reassignment LANTERN COMMUNICATIONS ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PURCELL, STEPHEN C.
Application filed by Broadband Royalty Corp filed Critical Broadband Royalty Corp
Assigned to BROADBAND ROYALTY CORPORATION reassignment BROADBAND ROYALTY CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Lantern Communications, Inc.
Application granted granted Critical
Publication of US6938198B1 publication Critical patent/US6938198B1/en
Assigned to ARRIS SOLUTIONS, INC. reassignment ARRIS SOLUTIONS, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: BROADBAND ROYALTY CORPORATION
Assigned to BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT reassignment BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT SECURITY AGREEMENT Assignors: 4HOME, INC., ACADIA AIC, INC., AEROCAST, INC., ARRIS ENTERPRISES, INC., ARRIS GROUP, INC., ARRIS HOLDINGS CORP. OF ILLINOIS, ARRIS KOREA, INC., ARRIS SOLUTIONS, INC., BIGBAND NETWORKS, INC., BROADBUS TECHNOLOGIES, INC., CCE SOFTWARE LLC, GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., GENERAL INSTRUMENT CORPORATION, GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., GIC INTERNATIONAL CAPITAL LLC, GIC INTERNATIONAL HOLDCO LLC, IMEDIA CORPORATION, JERROLD DC RADIO, INC., LEAPSTONE SYSTEMS, INC., MODULUS VIDEO, INC., MOTOROLA WIRELINE NETWORKS, INC., NETOPIA, INC., NEXTLEVEL SYSTEMS (PUERTO RICO), INC., POWER GUARD, INC., QUANTUM BRIDGE COMMUNICATIONS, INC., SETJAM, INC., SUNUP DESIGN SYSTEMS, INC., TEXSCAN CORPORATION, THE GI REALTY TRUST 1996, UCENTRIC SYSTEMS, INC.
Assigned to ARRIS ENTERPRISES, INC. reassignment ARRIS ENTERPRISES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARRIS SOLUTIONS, INC.
Assigned to ARRIS ENTERPRISES LLC reassignment ARRIS ENTERPRISES LLC CHANGE OF NAME Assignors: ARRIS ENTERPRISES INC
Assigned to BROADBUS TECHNOLOGIES, INC., SETJAM, INC., QUANTUM BRIDGE COMMUNICATIONS, INC., ARRIS SOLUTIONS, INC., POWER GUARD, INC., IMEDIA CORPORATION, GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., ARRIS GROUP, INC., JERROLD DC RADIO, INC., GIC INTERNATIONAL HOLDCO LLC, SUNUP DESIGN SYSTEMS, INC., MODULUS VIDEO, INC., ARRIS KOREA, INC., CCE SOFTWARE LLC, TEXSCAN CORPORATION, UCENTRIC SYSTEMS, INC., GIC INTERNATIONAL CAPITAL LLC, GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., GENERAL INSTRUMENT CORPORATION, ARRIS ENTERPRISES, INC., MOTOROLA WIRELINE NETWORKS, INC., ARRIS HOLDINGS CORP. OF ILLINOIS, INC., LEAPSTONE SYSTEMS, INC., THE GI REALTY TRUST 1996, BIG BAND NETWORKS, INC., AEROCAST, INC., NETOPIA, INC., NEXTLEVEL SYSTEMS (PUERTO RICO), INC., ACADIA AIC, INC., 4HOME, INC. reassignment BROADBUS TECHNOLOGIES, INC. TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Assignors: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Assigned to ARRIS ENTERPRISES LLC reassignment ARRIS ENTERPRISES LLC CHANGE OF NAME Assignors: ARRIS ENTERPRISES, INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT PATENT SECURITY AGREEMENT Assignors: ARRIS ENTERPRISES LLC
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. ABL SECURITY AGREEMENT Assignors: ARRIS ENTERPRISES LLC, ARRIS SOLUTIONS, INC., ARRIS TECHNOLOGY, INC., COMMSCOPE TECHNOLOGIES LLC, COMMSCOPE, INC. OF NORTH CAROLINA, RUCKUS WIRELESS, INC.
Assigned to JPMORGAN CHASE BANK, N.A. reassignment JPMORGAN CHASE BANK, N.A. TERM LOAN SECURITY AGREEMENT Assignors: ARRIS ENTERPRISES LLC, ARRIS SOLUTIONS, INC., ARRIS TECHNOLOGY, INC., COMMSCOPE TECHNOLOGIES LLC, COMMSCOPE, INC. OF NORTH CAROLINA, RUCKUS WIRELESS, INC.
Assigned to WILMINGTON TRUST reassignment WILMINGTON TRUST SECURITY INTEREST Assignors: ARRIS ENTERPRISES LLC, ARRIS SOLUTIONS, INC., COMMSCOPE TECHNOLOGIES LLC, COMMSCOPE, INC. OF NORTH CAROLINA, RUCKUS WIRELESS, INC.
Adjusted expiration legal-status Critical
Assigned to COMMSCOPE, INC. OF NORTH CAROLINA, ARRIS TECHNOLOGY, INC., RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.), COMMSCOPE TECHNOLOGIES LLC, ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.), ARRIS SOLUTIONS, INC. reassignment COMMSCOPE, INC. OF NORTH CAROLINA RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Assignors: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation

Definitions

  • the field of the present invention pertains to error correction codes for use in digital systems. More particularly, the present invention pertains to implementing efficient error correction processes for an Ethernet based communications network.
  • the Internet is a general purpose, public computer network which allows millions of computers all over the world, connected to the Internet, to communicate and exchange digital data with other computers also coupled to the Internet.
  • New Internet enabled applications include realtime, two-way teleconferencing and videoconferencing, streaming audio and video, peer-to-peer file sharing, etc.
  • video-on-demand, HDTV, IP telephony, video teleconferencing, and other types of bandwidth intensive applications will become widespread.
  • Virtually all of these new technologies are digitally based, with their constituent information being delivered over digital communications networks.
  • Ethernet based networks have become the most prevalent communications standard.
  • Ethernet based networking is the most widely-used local area network (LAN) access method, defined by the IEEE as the 802.3 standard.
  • LAN local area network
  • 802.3 802.3
  • Ethernet has become so widespread that a specification for “LAN connection” or “network card” generally implies an Ethernet based LAN connection or network card without explicitly saying so.
  • Many desktop PCs come with 10/100 Ethernet ports for either home or business/corporate use.
  • Ethernet based components are used not only to create a small home networks, but to connect to the Internet via a DSL or cable modem, which requires it.
  • a 10/100 port means that it supports both 10BaseT at 10 megabits per second (Mbps) and 100BaseT at 100 Mbps.
  • Ethernet has evolved over time from twisted pair Ethernet (10/100BaseT), which uses economical telephone wiring and standard RJ-45 connectors, to Fiber-optic Ethernet (10BaseF and 100BaseFX), which uses optical fiber as the transmission media. More modern, high performance networks are expected to use a complete fiber-optic network architecture, spanning from individual buildings (or perhaps homes) to the network backbone.
  • Ethernet transmits variable length frames from 72 to 1518 bytes in length, each containing a header with the addresses of the source and destination stations and a trailer that contains error correction data.
  • the control and correction of errors in an Ethernet based network is primarily implemented through error control coding schemes.
  • Error control coding as implemented in an Ethernet frame, incorporates a certain amount of redundant information into the frame that allows the receiver (e.g., a gigabit Ethernet router) to detect and/or correct bit errors occurring in transmission.
  • error-control coding techniques are used to detect and/or correct errors that occur in the message transmission in a digital communications system.
  • the transmitting side of the error-control coding adds redundant bits or symbols to the original signal sequence and the receiving side uses these bits or symbols to detect and/or correct any errors that occurred during transmission.
  • Ethernet uses a Cyclic Redundancy Check (CRC) method of error control coding.
  • CRC Cyclic Redundancy Check
  • FIG. 1 shows a basic diagram of the operation of a typical prior art CRC checksum processing system 100 .
  • system 100 includes a data register 101 and a CRC register 102 .
  • the data register 101 and CRC register 102 are both coupled to an exclusive-or logic function 103 .
  • System 100 shows the basic characteristic of CRC checksums, being the fact that each bit of the CRC checksum is a function of each of the data bits of data register 101 and the CRC “history” bits of the CRC register 102 .
  • the exclusive-or logic function 103 is used to generate the CRC checksum, referred to simply as the CRC, within the CRC register 102 .
  • the exclusive-or logic function is typically implemented using a “tree” of multiple exclusive-or gates.
  • line 110 individual bits of the data register 101 are shifted out to external circuits (e.g., output data). Each of these bits are combined with CRC bits from CRC register 102 via line 111 .
  • Line 115 shows a feed back function of the CRC register 102 , whereby each bit of the output of the exclusive-or logic function 103 is “exclusive-or'ed” back into the CRC register 102 .
  • FIG. 2 shows a basic diagram 200 depicting the relationship between the CRC history bits, the data, and the newly computed CRC.
  • each bit of data 201 and previous CRC 202 are combined using an exclusive-or function, shown here as a plurality of exclusive-or gates 203 a – 203 d , to obtain the new CRC 205 .
  • an exclusive-or function shown here as a plurality of exclusive-or gates 203 a – 203 d .
  • each bit of data influences the final state of the CRC register.
  • the contents of the data register 201 is shifted out to the external circuits (e.g., as output data)
  • the contents of the new CRC register 205 is also shifted out and appended to the end of the data.
  • An added complication is the fact that the output CRC needs to accurately reflect the number of valid data bytes in the input data word being processed. For example, in the case of a 64 bit input data word where only data in the first 56 bits is valid, the output CRC needs to reflect only the 56 valid bits. Thus, the CRC processing circuit needs to recognize and properly compute the output CRC for the 56 bit sub-portion of the input data word. These complications are very difficult to handle using the prior art “massively parallel” approach. Typical prior art solutions to this problem involve implementing different processing circuits to handle different cases of valid input data (e.g., 56 bits, 48 bits, 40 bits, etc.).
  • the present invention provides a solution for implementing ECC processing within high performance digital transmission networks.
  • the present invention implements an efficient algorithm for computing the CRC checksums that are used with Ethernet frames.
  • the present invention is implemented as an algorithm for computing Ethernet checksums for implementing ECC processing within high performance digital transmission networks.
  • the algorithm includes the step of receiving an input data word and receiving an input CRC.
  • the input data word typically can be 64 bits.
  • the input CRC typically can be 32 bits.
  • the input data word and the input CRC are combined using an exclusive-or function to obtain a data-CRC combination.
  • the data-CRC combination is then positioned with respect to a time line reference.
  • the data-CRC combination is positioned by extending the data-CRC combination with a number of future bits and shifting the extended data-CRC combination with respect to the time line reference.
  • An output CRC is then computed for the extended data-CRC combination.
  • the output CRC can be computed without regard to a number of valid data bits of the input data word.
  • a common CRC processing circuit can be implemented that processes input data words having different combinations of valid data bytes. Instead of implementing a number of respective circuits for handling the different cases of valid input data bytes (e.g., 56 bits, 48 bits, 40 bits, etc.), the common CRC processing circuit can handle the different cases. Thus a common CRC circuit can be implemented having sufficient parallelism to process multiple byte input data words at high speed without causing wasteful redundancy of large numbers of logic gates.
  • FIG. 1 shows a basic diagram of the operation of a typical prior art CRC checksum processing system.
  • FIG. 2 shows a basic diagram depicting the relationship between the CRC history bits, the data, and the newly computed CRC.
  • FIG. 3 shows a flow chart of the steps of a CRC checksum processing method for implementing ECC processing within a high speed digital transmission network.
  • FIG. 4 shows a diagram depicting the operation of the time line reference of the ECC processing circuit with respect to the data-CRC combination in accordance with one embodiment of the present invention.
  • FIG. 5 shows an HDL (hardware description language) representation of an ECC processing system in accordance with one embodiment of the present invention is shown.
  • Embodiments of the present invention are directed to a method and system for implementing ECC processing within high performance digital transmission networks.
  • the present invention implements an efficient algorithm for computing the CRC checksums that are used with Ethernet frames. The present invention and its benefits are further described below.
  • FIG. 3 shows a flow chart of the steps of a CRC checksum processing method 300 for implementing ECC processing within a high speed digital transmission network.
  • the method 300 comprises an algorithm implemented by a high speed ECC processing system for receiving an input data word and an input CRC checksum and generating an output CRC checksum therefrom.
  • the system can be implemented, for example, on an integrated circuit within a high performance digital communications switch or router.
  • Method 300 begins in step 301 where an input data word and an input CRC is received by an ECC processing system in accordance with one embodiment.
  • the input data word is 64 bits, or 8 bytes, and the CRC is 32 bits.
  • the input data word and the CRC are received by the ECC processing system, for example, from a high performance multi-gigabit Ethernet communications network.
  • the variable length Ethernet frames e.g., varying from 72 to 1518 bytes in length
  • the ECC processing system initializes itself for accepting the incoming input data word and CRC.
  • the input data word and CRC are received at respective registers.
  • the register for the input data word is initialized by clearing unused data bits from the register (e.g., clearing the unused bit positions with zeros).
  • step 303 the input data word and the CRC are combined using a logical exclusive-or operation.
  • This step takes advantage of the fact that each bit of the CRC output is affected by “earlier” bits of CRC input and data input (which can be immediately combined).
  • each bit of the CRC output is affected by “earlier” bits of CRC input and data input (which can be immediately combined).
  • up to 64 “earlier” bits of CRC input and data input can be immediately combined through the logical exclusive-or operation.
  • step 304 the resulting data-CRC combination is positioned with respect to a time line reference of the ECC processing system.
  • this step shifts the data-CRC combination with respect to the 64 earlier bits of data input described in step 303 .
  • the 64 earlier bits that influence the CRC output are computed by shifting the data-CRC combination by up to 24 bits left or 32 bits right.
  • the resulting 88 bit span can encompass each of the eight cases of input that depend on the number of valid bits in the input data word (e.g., see FIG. 4 below).
  • the ECC processing system can be implemented to function with this 88 bit span, and thereby provide a single circuit that can function with any of the eight cases.
  • the CRC output bits are computed for the data-CRC combination.
  • the ECC processing system is configured to function with the data-CRC combination that has been positioned with respect to the time line reference as described in step 304 .
  • Each output bit of the output CRC traverses a signal path of no more than 7 logic gates (e.g., exclusive-or gates), and thus, the output CRC is computed within the time limits of the required high speed operation of the switch/router.
  • each output bit of the output CRC is the exclusive-or of certain earlier positions of the data-CRC combination and can be implemented using a fixed tree of exclusive-or gates of a depth no greater than 7.
  • step 306 the computed output CRC is shifted out, appended to the data word, and transmitted along, for example, to the next components within the switch/router or out onto the network.
  • method 300 allows the output CRC to be computed without regard to a number of valid data bits of the input data word.
  • a common CRC processing circuit can be implemented that processes input data words having different combinations of valid data bytes. Instead of implementing a number of respective circuits for handling the different cases of valid input data bytes (e.g., 56 bits, 48 bits, 40 bits, etc.), the common CRC processing circuit can handle the different cases.
  • a common CRC circuit can be implemented having sufficient parallelism to process multiple byte input data words at high speed without causing wasteful redundancy of large numbers of logic gates.
  • FIG. 4 shows a diagram 400 depicting the operation of the time line reference of the ECC processing circuit with respect to the data-CRC combination in accordance with one embodiment of the present invention.
  • FIG. 4 shows the 8 different cases 401 – 408 of possible valid data within the input data word.
  • Each of the cases 401 – 408 shows a 4 byte input CRC and an 8 byte input data word combination.
  • case 401 shows a data word having valid data in all 8 bytes (invalid bytes are shown as zeroes).
  • Case 402 shows a data word having valid data in the first 7 bytes, and so on, to case 408 where valid data is in only the first byte.
  • the data-CRC combinations (cases 401 – 408 ) are positioned with respect to a time line reference 410 of the CRC processing system.
  • the 64 earlier bits that influence the CRC output are computed by shifting the data-CRC combination by 24 bits. This is shown by line 415 .
  • the resulting 88 bit span 420 encompasses each of the eight possible cases 401 – 408 .
  • the ECC processing system can be implemented with a logic function tree configured to evaluate this 88 bit span, and thereby provide a single circuit that can function with any of the eight cases 401 .
  • Each of the cases 401 – 408 use at most 64 bit positions of the 88 bit span.
  • an HDL (hardware description language) representation of an ECC processing system in accordance with one embodiment of the present invention is shown.
  • an HDL representation of a 64 bit ECC processing system (Module crc — 64) is shown.
  • the input data word is 64 bits (datain) and the input CRC is 32 bits (crc — in).
  • a mode select variable (sel) is used to indicate the number of valid data bits within the 64 bit input data word.
  • the output of the ECC processing system is a 32-bit output CRC (crc — out).
  • the ECC processing system in accordance with a preferred embodiment will combine between 1 and 8 bytes per cycle using a CRC accumulator register.
  • the present invention provides a solution for implementing ECC processing within high performance digital transmission networks.
  • the present invention implements an efficient algorithm for computing the CRC checksums that are used with Ethernet frames.
  • a common CRC processing circuit can be implemented that processes input data words having different combinations of valid data bytes.
  • the common CRC processing circuit can handle the different cases.
  • a common CRC circuit can be implemented having sufficient parallelism to process multiple byte input data words at high speed without causing wasteful redundancy of large numbers of logic gates.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

A method for computing Ethernet checksums for implementing ECC processing within high performance digital transmission networks. The method includes the step of receiving an input data word and receiving an input CRC. The input data word can be 64 bits. The input CRC can be 32 bits. The input data word and the input CRC are combined using an exclusive-or function to obtain a data-CRC combination. The data-CRC combination is then positioned with respect to a time line reference. The data-CRC combination is positioned by extending the data-CRC combination with a number of future bits and shifting the extended data-CRC combination with respect to the time line reference. An output CRC is then computed for the extended data-CRC combination. The output CRC can be computed without regard to a number of valid data bits of the input data word.

Description

This application claims the benefit of commonly assigned U.S. Provisional Application Ser. No. 60/283,665, “METHOD AND APPARATUS FOR ACCELERATING ETHERNET CHECKSUMS”, by Stephen C. Purcell, filed Apr. 12, 2001, which is incorporated herein in its entirely.
FIELD OF THE INVENTION
The field of the present invention pertains to error correction codes for use in digital systems. More particularly, the present invention pertains to implementing efficient error correction processes for an Ethernet based communications network.
BACKGROUND ART
One of the most important societal changes of recent times has been the emergence of the Internet and the World Wide Web (e.g., the Web) as a predominant communications medium. The Internet is a general purpose, public computer network which allows millions of computers all over the world, connected to the Internet, to communicate and exchange digital data with other computers also coupled to the Internet. As new technologies emerge, the speed at which one can connect onto the Internet is ever increasing. New Internet enabled applications include realtime, two-way teleconferencing and videoconferencing, streaming audio and video, peer-to-peer file sharing, etc. With the increasing availability of data transfer bandwidth and the proliferation of broadband connections to the Internet, video-on-demand, HDTV, IP telephony, video teleconferencing, and other types of bandwidth intensive applications will become widespread. Virtually all of these new technologies are digitally based, with their constituent information being delivered over digital communications networks.
Ethernet based networks have become the most prevalent communications standard. Ethernet based networking is the most widely-used local area network (LAN) access method, defined by the IEEE as the 802.3 standard. For example, Ethernet has become so widespread that a specification for “LAN connection” or “network card” generally implies an Ethernet based LAN connection or network card without explicitly saying so. Many desktop PCs come with 10/100 Ethernet ports for either home or business/corporate use. For example, Ethernet based components are used not only to create a small home networks, but to connect to the Internet via a DSL or cable modem, which requires it. A 10/100 port means that it supports both 10BaseT at 10 megabits per second (Mbps) and 100BaseT at 100 Mbps.
Ethernet has evolved over time from twisted pair Ethernet (10/100BaseT), which uses economical telephone wiring and standard RJ-45 connectors, to Fiber-optic Ethernet (10BaseF and 100BaseFX), which uses optical fiber as the transmission media. More modern, high performance networks are expected to use a complete fiber-optic network architecture, spanning from individual buildings (or perhaps homes) to the network backbone.
Ethernet transmits variable length frames from 72 to 1518 bytes in length, each containing a header with the addresses of the source and destination stations and a trailer that contains error correction data. The control and correction of errors in an Ethernet based network is primarily implemented through error control coding schemes. Error control coding, as implemented in an Ethernet frame, incorporates a certain amount of redundant information into the frame that allows the receiver (e.g., a gigabit Ethernet router) to detect and/or correct bit errors occurring in transmission.
Generally, error-control coding techniques are used to detect and/or correct errors that occur in the message transmission in a digital communications system. The transmitting side of the error-control coding adds redundant bits or symbols to the original signal sequence and the receiving side uses these bits or symbols to detect and/or correct any errors that occurred during transmission. Ethernet uses a Cyclic Redundancy Check (CRC) method of error control coding.
Recent advances in fiber optic technology and the use of advanced, high speed fiber optic networks has greatly increased the speed and performance of digital transmission methods. A limiting factor in the efficiency of high performance, fiber optic based Ethernet networks is the successful implementation of high speed ECC digital signal processing. For example, newly emerging 10 Gigabit Ethernet is being adopted to handle the most bandwidth intensive applications. 10 Gigabit Ethernet enables a familiar network technology to be used in LAN, MAN and WAN architectures. For improved efficiency, the well known CSMA/CD method for gaining access to the physical medium is not employed. Only full duplex operation is supported. 10 Gigabit Ethernet uses multimode optical fiber up to 300 meters and singlemode fiber up to 40 kilometers.
A problem exists however, where the high speeds of Gigabit Ethernet networks greatly limit the time available for implementing ECC processing. The Ethernet frames are arriving so fast, the processing time for examining and processing the error control coding portions of the arriving frames is significantly limited. This trend is greatly increasing the cost of the ECC processing hardware that is incorporated into the nodes of the Gigabit Ethernet network (e.g., the switches, routers, add-drop multiplexers, etc.).
Prior art FIG. 1 shows a basic diagram of the operation of a typical prior art CRC checksum processing system 100. As depicted in FIG. 1, system 100 includes a data register 101 and a CRC register 102. The data register 101 and CRC register 102 are both coupled to an exclusive-or logic function 103.
System 100 shows the basic characteristic of CRC checksums, being the fact that each bit of the CRC checksum is a function of each of the data bits of data register 101 and the CRC “history” bits of the CRC register 102. The exclusive-or logic function 103 is used to generate the CRC checksum, referred to simply as the CRC, within the CRC register 102. The exclusive-or logic function is typically implemented using a “tree” of multiple exclusive-or gates. As shown by line 110, individual bits of the data register 101 are shifted out to external circuits (e.g., output data). Each of these bits are combined with CRC bits from CRC register 102 via line 111. Line 115 shows a feed back function of the CRC register 102, whereby each bit of the output of the exclusive-or logic function 103 is “exclusive-or'ed” back into the CRC register 102.
Prior art FIG. 2 shows a basic diagram 200 depicting the relationship between the CRC history bits, the data, and the newly computed CRC. As described above, each bit of data 201 and previous CRC 202 are combined using an exclusive-or function, shown here as a plurality of exclusive-or gates 203 a203 d, to obtain the new CRC 205. Thus, even though the data register may be much larger than the CRC register, each bit of data influences the final state of the CRC register. Once the contents of the data register 201 is shifted out to the external circuits (e.g., as output data), the contents of the new CRC register 205 is also shifted out and appended to the end of the data.
The problem for such prior art systems is the high speed processing of the CRC checksums. As described above, a problem exists where the high speeds of Multi-Gigabit Ethernet networks greatly limit the time available for implementing ECC processing. Ethernet frames can be many bytes long. Accordingly, prior art high speed CRC processing systems are designed to process multiple bytes of data at a time. Logic functions, such as the exclusive-or function 103, need to be executed for each bit of the multiple bytes of data that are processed per cycle.
The number of logic operations possible per clock cycle is limited. To perform the large number of logic operations required for multiple byte CRC processing units, prior art implementations use large “trees” of logic gates. For example, in multi-gigabit implementations, the number of successive logic operations possible per clock cycle is typically 8 logic operations or less. The time it takes for a signal to cascade through an exclusive-or gate allows only 8 or less of such gates to be linked (e.g., in a tree). Thus, typical prior art implementations seek to perform as many logic operations in parallel as possible. This leads to very large, wasteful circuit designs having a large number of logic gates dedicated to performing CRC logic functions.
An added complication is the fact that the output CRC needs to accurately reflect the number of valid data bytes in the input data word being processed. For example, in the case of a 64 bit input data word where only data in the first 56 bits is valid, the output CRC needs to reflect only the 56 valid bits. Thus, the CRC processing circuit needs to recognize and properly compute the output CRC for the 56 bit sub-portion of the input data word. These complications are very difficult to handle using the prior art “massively parallel” approach. Typical prior art solutions to this problem involve implementing different processing circuits to handle different cases of valid input data (e.g., 56 bits, 48 bits, 40 bits, etc.).
Additional descriptions of error control coding and CRC processing in particular can be found in “Error Control Coding: Fundamentals and Applications” by Shu Lin and Daniel J. Costello, Jr., ISBN 0-13-283796-X, which is incorporated herein.
Thus what is required is a specific solution for implementing ECC processing within high performance digital transmission networks. What is required is a solution that implements an efficient algorithm for computing the CRC checksums that are used with Ethernet frames. The present invention provides a novel solution to the above requirements.
SUMMARY OF THE INVENTION
The present invention provides a solution for implementing ECC processing within high performance digital transmission networks. The present invention implements an efficient algorithm for computing the CRC checksums that are used with Ethernet frames.
In one embodiment, the present invention is implemented as an algorithm for computing Ethernet checksums for implementing ECC processing within high performance digital transmission networks. The algorithm includes the step of receiving an input data word and receiving an input CRC. The input data word typically can be 64 bits. The input CRC typically can be 32 bits. The input data word and the input CRC are combined using an exclusive-or function to obtain a data-CRC combination. The data-CRC combination is then positioned with respect to a time line reference. The data-CRC combination is positioned by extending the data-CRC combination with a number of future bits and shifting the extended data-CRC combination with respect to the time line reference. An output CRC is then computed for the extended data-CRC combination. The output CRC can be computed without regard to a number of valid data bits of the input data word.
In so doing, a common CRC processing circuit can be implemented that processes input data words having different combinations of valid data bytes. Instead of implementing a number of respective circuits for handling the different cases of valid input data bytes (e.g., 56 bits, 48 bits, 40 bits, etc.), the common CRC processing circuit can handle the different cases. Thus a common CRC circuit can be implemented having sufficient parallelism to process multiple byte input data words at high speed without causing wasteful redundancy of large numbers of logic gates.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
Prior art FIG. 1 shows a basic diagram of the operation of a typical prior art CRC checksum processing system.
Prior art FIG. 2 shows a basic diagram depicting the relationship between the CRC history bits, the data, and the newly computed CRC.
FIG. 3 shows a flow chart of the steps of a CRC checksum processing method for implementing ECC processing within a high speed digital transmission network.
FIG. 4 shows a diagram depicting the operation of the time line reference of the ECC processing circuit with respect to the data-CRC combination in accordance with one embodiment of the present invention.
FIG. 5 shows an HDL (hardware description language) representation of an ECC processing system in accordance with one embodiment of the present invention is shown.
DETAILED DESCRIPTION OF THE INVENTION
Reference will now be made in detail to the embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be obvious to one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Embodiments of the present invention are directed to a method and system for implementing ECC processing within high performance digital transmission networks. The present invention implements an efficient algorithm for computing the CRC checksums that are used with Ethernet frames. The present invention and its benefits are further described below.
FIG. 3 shows a flow chart of the steps of a CRC checksum processing method 300 for implementing ECC processing within a high speed digital transmission network.
In this embodiment, the method 300 comprises an algorithm implemented by a high speed ECC processing system for receiving an input data word and an input CRC checksum and generating an output CRC checksum therefrom. The system can be implemented, for example, on an integrated circuit within a high performance digital communications switch or router.
Method 300 begins in step 301 where an input data word and an input CRC is received by an ECC processing system in accordance with one embodiment. In a typical implementation, the input data word is 64 bits, or 8 bytes, and the CRC is 32 bits. The input data word and the CRC are received by the ECC processing system, for example, from a high performance multi-gigabit Ethernet communications network. In an Ethernet implementation, the variable length Ethernet frames (e.g., varying from 72 to 1518 bytes in length) are segmented into a series of constituent 64 bit input data words and a 32 bit CRC checksum for the entire Ethernet frame.
In step 302, the ECC processing system initializes itself for accepting the incoming input data word and CRC. In one embodiment, the input data word and CRC are received at respective registers. The register for the input data word is initialized by clearing unused data bits from the register (e.g., clearing the unused bit positions with zeros).
In step 303, the input data word and the CRC are combined using a logical exclusive-or operation. This step takes advantage of the fact that each bit of the CRC output is affected by “earlier” bits of CRC input and data input (which can be immediately combined). Thus, in a 64 bit data word and 32 bit CRC embodiment, up to 64 “earlier” bits of CRC input and data input can be immediately combined through the logical exclusive-or operation.
In step 304, the resulting data-CRC combination is positioned with respect to a time line reference of the ECC processing system. In a 64 bit data word and 32 bit CRC embodiment, this step shifts the data-CRC combination with respect to the 64 earlier bits of data input described in step 303. The 64 earlier bits that influence the CRC output are computed by shifting the data-CRC combination by up to 24 bits left or 32 bits right. The resulting 88 bit span can encompass each of the eight cases of input that depend on the number of valid bits in the input data word (e.g., see FIG. 4 below). Thus, the ECC processing system can be implemented to function with this 88 bit span, and thereby provide a single circuit that can function with any of the eight cases.
In step 305, the CRC output bits are computed for the data-CRC combination. The ECC processing system is configured to function with the data-CRC combination that has been positioned with respect to the time line reference as described in step 304. Each output bit of the output CRC traverses a signal path of no more than 7 logic gates (e.g., exclusive-or gates), and thus, the output CRC is computed within the time limits of the required high speed operation of the switch/router. In other words, each output bit of the output CRC is the exclusive-or of certain earlier positions of the data-CRC combination and can be implemented using a fixed tree of exclusive-or gates of a depth no greater than 7.
Subsequently, in step 306, the computed output CRC is shifted out, appended to the data word, and transmitted along, for example, to the next components within the switch/router or out onto the network.
Thus, method 300 allows the output CRC to be computed without regard to a number of valid data bits of the input data word. In so doing, a common CRC processing circuit can be implemented that processes input data words having different combinations of valid data bytes. Instead of implementing a number of respective circuits for handling the different cases of valid input data bytes (e.g., 56 bits, 48 bits, 40 bits, etc.), the common CRC processing circuit can handle the different cases. Thus a common CRC circuit can be implemented having sufficient parallelism to process multiple byte input data words at high speed without causing wasteful redundancy of large numbers of logic gates.
FIG. 4 shows a diagram 400 depicting the operation of the time line reference of the ECC processing circuit with respect to the data-CRC combination in accordance with one embodiment of the present invention. FIG. 4 shows the 8 different cases 401408 of possible valid data within the input data word. Each of the cases 401408 shows a 4 byte input CRC and an 8 byte input data word combination.
As shown in FIG. 4, the case 401 shows a data word having valid data in all 8 bytes (invalid bytes are shown as zeroes). Case 402 shows a data word having valid data in the first 7 bytes, and so on, to case 408 where valid data is in only the first byte. As described above in step 304, the data-CRC combinations (cases 401408) are positioned with respect to a time line reference 410 of the CRC processing system. Thus, in this 64 bit data word and 32 bit CRC embodiment, the 64 earlier bits that influence the CRC output are computed by shifting the data-CRC combination by 24 bits. This is shown by line 415. The resulting 88 bit span 420 encompasses each of the eight possible cases 401408. Thus, the ECC processing system can be implemented with a logic function tree configured to evaluate this 88 bit span, and thereby provide a single circuit that can function with any of the eight cases 401. Each of the cases 401408 use at most 64 bit positions of the 88 bit span.
Referring now to FIG. 5, an HDL (hardware description language) representation of an ECC processing system in accordance with one embodiment of the present invention is shown. As depicted in FIG. 5, an HDL representation of a 64 bit ECC processing system (Module crc64) is shown.
In this embodiment, the input data word is 64 bits (datain) and the input CRC is 32 bits (crcin). A mode select variable (sel) is used to indicate the number of valid data bits within the 64 bit input data word. In other words, the mode select variable is used to indicate which case of input data word is being operated upon (e.g., which of cases 401408). For example, datain[63:56] is valid and sel=1000000, datain[63:48] is valid and sel=01000000, and the like, or datain[63:0] is valid and sel=00000001. The output of the ECC processing system is a 32-bit output CRC (crcout).
It should be noted that in order to facilitate high speed operation, the ECC processing system in accordance with a preferred embodiment will combine between 1 and 8 bytes per cycle using a CRC accumulator register.
Thus, the present invention provides a solution for implementing ECC processing within high performance digital transmission networks. The present invention implements an efficient algorithm for computing the CRC checksums that are used with Ethernet frames. In so doing, a common CRC processing circuit can be implemented that processes input data words having different combinations of valid data bytes. Instead of implementing a number of respective circuits for handling the different cases of valid input data bytes (e.g., 56 bits, 48 bits, 40 bits, etc.), the common CRC processing circuit can handle the different cases. Thus a common CRC circuit can be implemented having sufficient parallelism to process multiple byte input data words at high speed without causing wasteful redundancy of large numbers of logic gates.
Additional descriptions of implementations of an ECC processing system in accordance with the present invention can be found in U.S. patent application “A METHOD AND SYSTEM FOR HIGH SPEED ERROR CONTROL PROCESSING IN A DIGITAL COMMUNICATIONS NETWORK”, filed on Jul. 6, 2001, Ser. No. 09/900,609, assigned to the assignee of the present invention which is incorporated herein in its entirety.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order best to explain the principles of the invention and its practical application, thereby to enable others skilled in the art best to utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.

Claims (8)

1. A method for computing CRC (cyclic redundancy check) checksums, the method comprising the steps of:
a) receiving an input data word;
b) receiving an input CRC;
c) combining the input data word and the input CRC using an exclusive or function to obtain a data-CRC combination;
d) positioning the data-CRC combination with respect to a time line reference within an extended bit span by shifting the data-CRC combination to create an extended data-CRC combination; and
e) computing an output CRC from the extended data-CRC combination.
2. The method of claim 1 wherein step d) comprises:
extending the data-CRC combination with 24 future bits.
3. The method of claim 1 further including the step of:
using a mode select input to indicate a number of valid data bits of the input data word for computing the output CRC.
4. The method of claim 1 further including the step of:
combining between 1 and 8 bytes of the input data word per clock cycle by using a CRC accumulator.
5. A system for computing CRC (cyclic redundancy check) Ethernet checksums, comprising:
a data register for receiving a 64 bit input data word;
a CRC accumulator for receiving a 32 bit input CRC; and
logic for combining the input data word and the input CRC using an exclusive-or function to obtain a data-CRC combination,
the logic further configured to position the data-CRC combination with respect to a time line reference within an extended bit span by shifting the data-CRC combination to create an extended data-CRC combination and to compute a 32 bit output CRC from the extended data-CRC combination.
6. The system of claim 5 wherein the logic is configured to extend the data-CRC combination with 24 future bits.
7. The system of claim 5 wherein the logic is further configured to use a mode select input to indicate a number of valid data bits of the input data word for computing the output CRC.
8. The system of claim 5 wherein the logic is further configured to combine between 1 and 8 bytes of the input data word per clock cycle by using the CRC accumulator.
US09/972,007 2001-04-12 2001-10-05 Method and system for accelerating ethernet checksums Expired - Lifetime US6938198B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/972,007 US6938198B1 (en) 2001-04-12 2001-10-05 Method and system for accelerating ethernet checksums

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US28366501P 2001-04-12 2001-04-12
US09/972,007 US6938198B1 (en) 2001-04-12 2001-10-05 Method and system for accelerating ethernet checksums

Publications (1)

Publication Number Publication Date
US6938198B1 true US6938198B1 (en) 2005-08-30

Family

ID=34864243

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/972,007 Expired - Lifetime US6938198B1 (en) 2001-04-12 2001-10-05 Method and system for accelerating ethernet checksums

Country Status (1)

Country Link
US (1) US6938198B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188180A1 (en) * 2002-03-28 2003-10-02 Overney Gregor T. Secure file verification station for ensuring data integrity
US20060195759A1 (en) * 2005-02-16 2006-08-31 Bower Kenneth S Method and apparatus for calculating checksums
US7266760B1 (en) * 2004-09-30 2007-09-04 Altera Corporation Method and apparatus for calculating cyclic redundancy checks for variable length packets
US20150363267A1 (en) * 2014-06-17 2015-12-17 Arm Limited Error detection in stored data values
US9529671B2 (en) 2014-06-17 2016-12-27 Arm Limited Error detection in stored data values
US20170024158A1 (en) * 2015-07-21 2017-01-26 Arm Limited Method of and apparatus for generating a signature representative of the content of an array of data
US9891976B2 (en) 2015-02-26 2018-02-13 Arm Limited Error detection circuitry for use with memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3678469A (en) * 1970-12-01 1972-07-18 Ibm Universal cyclic division circuit
US6804257B1 (en) * 1999-11-25 2004-10-12 International Business Machines Corporation System and method for framing and protecting variable-lenght packet streams

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3678469A (en) * 1970-12-01 1972-07-18 Ibm Universal cyclic division circuit
US6804257B1 (en) * 1999-11-25 2004-10-12 International Business Machines Corporation System and method for framing and protecting variable-lenght packet streams

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TDB-ACC-NO: NN72091314,"Parallel CRC Generation for Multilength Characters", Sep. 1972, IBM Technical Disclosure Bulletin, Sep. 1972. *
TDB-ACC-NO: NN930251,"Cyclic Redundancy Code Computation for a Variable Length Data", Feb. 1993, IBM Technical Disclosure Bulletin. *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030188180A1 (en) * 2002-03-28 2003-10-02 Overney Gregor T. Secure file verification station for ensuring data integrity
US7266760B1 (en) * 2004-09-30 2007-09-04 Altera Corporation Method and apparatus for calculating cyclic redundancy checks for variable length packets
US20060195759A1 (en) * 2005-02-16 2006-08-31 Bower Kenneth S Method and apparatus for calculating checksums
US7631251B2 (en) * 2005-02-16 2009-12-08 Hewlett-Packard Development Company, L.P. Method and apparatus for calculating checksums
US20150363267A1 (en) * 2014-06-17 2015-12-17 Arm Limited Error detection in stored data values
US9529671B2 (en) 2014-06-17 2016-12-27 Arm Limited Error detection in stored data values
US9760438B2 (en) * 2014-06-17 2017-09-12 Arm Limited Error detection in stored data values
US9891976B2 (en) 2015-02-26 2018-02-13 Arm Limited Error detection circuitry for use with memory
US20170024158A1 (en) * 2015-07-21 2017-01-26 Arm Limited Method of and apparatus for generating a signature representative of the content of an array of data
US10832639B2 (en) * 2015-07-21 2020-11-10 Arm Limited Method of and apparatus for generating a signature representative of the content of an array of data

Similar Documents

Publication Publication Date Title
US9912442B2 (en) Techniques to perform forward error correction for an electrical backplane
US8370704B2 (en) Cable interconnection techniques
US8787406B2 (en) Method and apparatus for distributing and receiving high-speed ethernet media independent interface blocks
US7249306B2 (en) System and method for generating 128-bit cyclic redundancy check values with 32-bit granularity
US7986622B2 (en) Method and system for physical layer aggregation
US6738935B1 (en) Coding sublayer for multi-channel media with error correction
KR101363541B1 (en) Method and apparatus for encoding and decoding data
US6088827A (en) 1000BASE-T packetized trellis coder
US6701478B1 (en) System and method to generate a CRC (cyclic redundancy check) value using a plurality of CRC generators operating in parallel
US20010002901A1 (en) Sanitizing fibre channel frames
CN1177442C (en) Ethernet Adapter
JP4739332B2 (en) Method and apparatus for delineating data in FEC-encoded Ethernet frames
US20040025105A1 (en) CRC calculation system for a packet arriving on an n-byte wide bus and a method of calculation thereof
US9479277B2 (en) Mechanism for channel synchronization
US6938198B1 (en) Method and system for accelerating ethernet checksums
US5881074A (en) 1000base-t packetized trellis coder
US7734965B1 (en) Methods, architectures, circuits and systems for transmission error determination
CN112543080B (en) Bit error rate detection method and device
US7161937B1 (en) Method and apparatus for routing encoded signals through a network
US7139288B2 (en) Protocol-independent packet delineation for backplane architecture

Legal Events

Date Code Title Description
AS Assignment

Owner name: LANTERN COMMUNICATIONS, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PURCELL, STEPHEN C.;REEL/FRAME:012239/0381

Effective date: 20011005

AS Assignment

Owner name: BROADBAND ROYALTY CORPORATION, DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LANTERN COMMUNICATIONS, INC.;REEL/FRAME:015191/0408

Effective date: 20040918

STCF Information on status: patent grant

Free format text: PATENTED CASE

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 4

SULP Surcharge for late payment
AS Assignment

Owner name: ARRIS SOLUTIONS, INC., GEORGIA

Free format text: MERGER;ASSIGNOR:BROADBAND ROYALTY CORPORATION;REEL/FRAME:029787/0100

Effective date: 20110101

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, IL

Free format text: SECURITY AGREEMENT;ASSIGNORS:ARRIS GROUP, INC.;ARRIS ENTERPRISES, INC.;ARRIS SOLUTIONS, INC.;AND OTHERS;REEL/FRAME:030498/0023

Effective date: 20130417

Owner name: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT, ILLINOIS

Free format text: SECURITY AGREEMENT;ASSIGNORS:ARRIS GROUP, INC.;ARRIS ENTERPRISES, INC.;ARRIS SOLUTIONS, INC.;AND OTHERS;REEL/FRAME:030498/0023

Effective date: 20130417

AS Assignment

Owner name: ARRIS ENTERPRISES, INC., GEORGIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ARRIS SOLUTIONS, INC.;REEL/FRAME:036601/0162

Effective date: 20150914

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: ARRIS ENTERPRISES LLC, PENNSYLVANIA

Free format text: CHANGE OF NAME;ASSIGNOR:ARRIS ENTERPRISES INC;REEL/FRAME:041995/0031

Effective date: 20151231

AS Assignment

Owner name: CCE SOFTWARE LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: BROADBUS TECHNOLOGIES, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: SETJAM, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: MOTOROLA WIRELINE NETWORKS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: TEXSCAN CORPORATION, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: AEROCAST, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ACADIA AIC, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: UCENTRIC SYSTEMS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: NEXTLEVEL SYSTEMS (PUERTO RICO), INC., PENNSYLVANI

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., P

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: 4HOME, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: JERROLD DC RADIO, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS GROUP, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS KOREA, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: BIG BAND NETWORKS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GIC INTERNATIONAL HOLDCO LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., P

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT CORPORATION, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS ENTERPRISES, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS SOLUTIONS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: NETOPIA, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: POWER GUARD, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: IMEDIA CORPORATION, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: THE GI REALTY TRUST 1996, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS HOLDINGS CORP. OF ILLINOIS, INC., PENNSYLVAN

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GIC INTERNATIONAL CAPITAL LLC, PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: LEAPSTONE SYSTEMS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: QUANTUM BRIDGE COMMUNICATIONS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: SUNUP DESIGN SYSTEMS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: MODULUS VIDEO, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: NEXTLEVEL SYSTEMS (PUERTO RICO), INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

Owner name: ARRIS HOLDINGS CORP. OF ILLINOIS, INC., PENNSYLVANIA

Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:048825/0294

Effective date: 20190404

AS Assignment

Owner name: ARRIS ENTERPRISES LLC, GEORGIA

Free format text: CHANGE OF NAME;ASSIGNOR:ARRIS ENTERPRISES, INC.;REEL/FRAME:049586/0470

Effective date: 20151231

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATE

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:ARRIS ENTERPRISES LLC;REEL/FRAME:049820/0495

Effective date: 20190404

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: ABL SECURITY AGREEMENT;ASSIGNORS:COMMSCOPE, INC. OF NORTH CAROLINA;COMMSCOPE TECHNOLOGIES LLC;ARRIS ENTERPRISES LLC;AND OTHERS;REEL/FRAME:049892/0396

Effective date: 20190404

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: TERM LOAN SECURITY AGREEMENT;ASSIGNORS:COMMSCOPE, INC. OF NORTH CAROLINA;COMMSCOPE TECHNOLOGIES LLC;ARRIS ENTERPRISES LLC;AND OTHERS;REEL/FRAME:049905/0504

Effective date: 20190404

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, CONNECTICUT

Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:ARRIS ENTERPRISES LLC;REEL/FRAME:049820/0495

Effective date: 20190404

AS Assignment

Owner name: WILMINGTON TRUST, DELAWARE

Free format text: SECURITY INTEREST;ASSIGNORS:ARRIS SOLUTIONS, INC.;ARRIS ENTERPRISES LLC;COMMSCOPE TECHNOLOGIES LLC;AND OTHERS;REEL/FRAME:060752/0001

Effective date: 20211115

AS Assignment

Owner name: RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.), NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: COMMSCOPE TECHNOLOGIES LLC, NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: COMMSCOPE, INC. OF NORTH CAROLINA, NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: ARRIS SOLUTIONS, INC., NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: ARRIS TECHNOLOGY, INC., NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217

Owner name: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.), NORTH CAROLINA

Free format text: RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT;REEL/FRAME:071477/0255

Effective date: 20241217