Coded data generation or conversion – Digital code to digital code converters – Byte length changed
Reexamination Certificate
2003-09-11
2004-11-02
Young, Brian (Department: 2819)
Coded data generation or conversion
Digital code to digital code converters
Byte length changed
C341S058000
Reexamination Certificate
active
06812870
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Technical Field of the Invention
This invention relates generally to communication systems and more particularly to encoding/decoding of data within such communication systems.
2. Description of Related Art
Communication systems are known to transport large amounts of data between a plurality of end user devices. Such end user devices include telephones, facsimile machines, computers, television sets, cellular phones, personal digital assistants, et cetera. As is also known, such communication systems may be local area networks (LAN) and/or wide area networks (WAN). A local area network is generally understood to be a network that interconnects a plurality of end user devices distributed over a localized area (e.g., up to a radius of 10 kilometers). For example, a local area network may be used to interconnect workstations distributed within an office of a single building or a group of buildings, to interconnect Internet computer based equipment distributed around a factory or hospital, et cetera.
A wide area network is generally understood to be a network that covers a wide geographic area. Wide area networks include both public data networks and enterprise wide private data networks. A public data network is established and operated by a national network administrator specifically for data transmission. Such public data networks facilitate the interworkings of equipment from different manufacturers. Accordingly, standards by the ITU-T have been established for conveying data within public data networks. Currently, there are two main types of public data networks: packet switched public data networks and circuit switched public data networks. For example, the public switched telephone network is a circuit switched public data network while the Internet is a packet switched public data network. Other examples of wide area networks include integrated service digital networks (ISDN) and, broadband multi-service networks.
As is further known, communication systems may be networked together to yield larger communication systems, where such networking is typically referred to as internetworking. Internetworking is achieved via internetworking units that allow communication networks using the same or different protocols to be linked together. The internetworking units may be routers, gateways, protocol converters, bridges, and/or switches.
Regardless of the type of communication system (e.g., LAN, WAN, internetworking LAN and/or WAN), each communication system employs a data conveyance protocol to ensure that data is accurately conveyed within the system. All such data conveyance protocols are based on layers
1
,
2
,
3
, and/or
4
of the open system interconnection (OSI) seven layer reference model. As is known, the layers include a physical layer (layer
1
), a data link layer (layer
2
), a network layer (layer
3
), a transport layer (layer
4
), a session layer, (layer
5
), a presentation layer (layer
6
), and an application layer (layer
7
).
In general, a protocol is a formal set of rules and conventions that govern how each end user device and/or data terminal equipment (i.e., the infrastructure equipment of the communication system) exchanges information within the communication system. A wide variety of protocols exist, but can generally be categorized in the one of four types of protocols: a local area network protocol, a wide area network protocol, a routing protocol, or a network protocol. Local area network protocols operate at the physical and data link layers and define communication over various local area network and media. Wide area network protocols operate at the lowest three layers of the OSI model and define communication over the various wide area media. Routing protocols are network layer protocols that are responsible for path determination and traffic switching. Network protocols are the various upper layer protocols that exist in a given protocol suite. Examples of such protocols include asynchronous transfer mode (ATM), frame relay, TCP/IP, Ethernet, et cetera. Typically, such protocols include an encoding/decoding and/or scrambling/descrambling scheme. As is known, an encoding/decoding scheme enhances the reliability of data conveyances by encoding and/or scrambling data to include extra bits with the data to produce a code word. When the code word is received by the corresponding decoder and/or descrambler, it utilizes the extra bits to determine if the data was received without error. If the data was received without error, the decoder and/or descrambler uses the extra bits to determine and subsequently correct the error.
One such coding scheme is 8b/10b encoding, which, in general, takes 8-bits of input data and encodes it into a 10-bit code word. The basic concepts of 8b/10b encoding are disclosed in U.S. Pat. No. 4,486,739 (hereinafter referred to as the “739 Patent”). As taught in the 739 Patent, 8b/10b encoding is done in 2 parts: a 5-bit-to-6-bit part and a 3-bit-to-4-bit part. The 5-bit-to-6-bit part receives 5-bits of the 8-bit input data and a running disparity value. The 5-bit-to-6-bit part converts the 5-bits of input into a 6-bit code word based on the value of the 5-bits of input, the received running disparity, and an expected running disparity. In addition, the 5-bit-to-6-bit part generates an output running disparity for the 6-bit code word based on the value of the 5-bits of input and the received running disparity.
For example, as shown in Table I of the 739 Patent, the 5-bits of input are in the column labeled A, B, C, D & E, the expected running disparity is in the column labeled D-1, the 6-bit output is in the column labeled a, b, c, d, e, & i or the alternate column a, b, c, d, e & i, and the outputted running disparity is in the column labeled D0. For certain values of the 5-bits of input, the expected running disparity column includes an X, indicating a logical don't-care, such that the 5-bits is always converted into the 6-bit code word of column a-i. Further, for such values of the 5-bits of input, the outputted running disparity equals the received running disparity. For instance, a 5-bit input of 10100 is encoded into 101001 and the outputted running disparity equals the received running disparity.
For the remainder of the values of the 5-bits of input, the 6-bit code word is from the lower case a-i column when the received running disparity equals the expected running disparity and the outputted running disparity is positive when the number of 1's is greater than the number of 0's in the 6-bit code word, is negative when the number of 1's is less than the number of 0's in the 6-bit code word, and equals the received running disparity when the number of 1's equals the number of 0's. If, however, the received running disparity does not equal the expected running disparity, the 6-bit code word is selected from the alternate lower case a-i column and the outputted running disparity is inverted. For example, if the 5-bits of input is equal to 00000, and the received running disparity equals the expected running disparity, then the 6-bit code word is 011000 and the outputted running disparity is negative. If, however, for the 5-bits of input equal to 00000, the received running disparity does not equal the expected running disparity, the 6-bit code word is 100111 and the outputted running disparity is positive.
The encoding of the 3-bits of input into a 4-bit code word is shown in Table II and functions in a similar way as the encoding of 5-bits into 6-bits. The received running disparity for the 3-bit-to-4-bit section is the outputted running disparity from the 5-bit-to-6-bit section and the outputted running disparity for the 8b/10b encoder corresponds to the running disparity outputted by the 3-bit-to-4-bit section. The decoding of a 10-bit code word, which is the combination of a 6-bit code word and a 4-bit code word, is shown in Tables IV and V and is essentially the same process as 8b/10b encoding but in reverse.
By utilizing the circuitry illustrated
Boecker Charles W.
Kryzak Joseph Neil
Liu Justin
Markison Timothy
Xilinx , Inc.
Young Brian
LandOfFree
Enhanced 8b/10b encoding/decoding and applications thereof does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Enhanced 8b/10b encoding/decoding and applications thereof, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Enhanced 8b/10b encoding/decoding and applications thereof will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3350480