1. Field of the Invention
The present invention relates generally to the field of high speed data transfer, and more specifically to transparent GFP (Generic Framing Procedure) operation over specific interfaces.
2. Description of the Related Art
Data communication networks receive and transmit ever increasing amounts of data. Data is transmitted from an originator or requester through a network to a destination, such as a router, switching platform, other network, or application. Along this path may be multiple transfer points, such as hardware routers, that receive data typically in the form of packets or data frames. At each transfer point data must be routed to the next point in the network in a rapid and efficient manner.
Data transmission over fiber optics networks may conform to the SONET and/or SDH standards. SONET and SDH are a set of related standards for synchronous data transmission over fiber optic networks. SONET is short for Synchronous Optical NETwork and SDH is an acronym for Synchronous Digital Hierarchy. SONET is the United States version of the standard published by the American National Standards Institute (ANSI). SDH is the international version of the standard published by the International Telecommunications Union (ITU). As used herein, the SONET/SDH concepts are more fully detailed in various ANSI and ITU standards, including but not limited to the discussion of concatenated payloads, ITU-T G.707 2000, T1.105-2001 (draft), and T1.105.02-1995.
SONET/SDH may employ transparent GFP (Generic Framing Procedure) that seeks to overcome issues with transporting data over existing ATM and POS protocols. Transparent GFP, or GFP-T, mapping may be implemented in a device including client stream interfaces and transport interfaces, such as SONET/SDH. Such an implementation is shown in
If GFP-T carries a Gigabit Ethernet stream (GbE) over a transport layer such as SONET/SDH or OTN, then either a serial GbE interface or a ten bit interface (TBI) or reduced ten bit interface (RTBI) may be needed on the framer device 50. Generally, the GFP-T standard may be adapted by processing GFP-T mapping using two devices connected via a stream interface, or using out-of-band signals. Such a stream interface may be highly dependent on the traffic type mapped.
For a single device that supports GFP-T mapping, the frame-mapped GFP (GFP-F) can also be implemented in the same device. GFP-F mapping protocols including header and HEC (Header Error Check) processing, frame delineation, scrambling, FCS calculation, client management frame insertion and extraction are common to GFP-T and GFP-F mappings. Additional support required for GFP-F in addition to that supported in GFP-T tends to be minimal.
However, in the presence of only stream interfaces, GFP-F can only be used to map packets recovered from the implemented stream interfaces. GFP-F can be used to map any type of packet, somewhat limiting the flexibility of GFP-F mapping.
Two main processes exist in the GFP-T mapping procedure. The first process, called GFP-T Adaptation here, adapts 8B/10B client signals via 64B/65B block codes and adapts 64B/65B code blocks into a GFP frame without the GFP headers. Adaptation also occurs in the reverse direction. The second process is GFP Framing. While GFP-T Adaptation is unique to GFP-T and is also unique for each traffic type, GFP Framing is identical for GFP-T (all traffic types) and GFP-F. Implementing GFP-T in one device (or via a proprietary stream interface) requires adding a new traffic type, such as Fibre Channel, having a different protocol or different rate. In such a situation, a new function may be need to be added.
In essence, advantages may be realized when providing both GFP-T and GFP-F mappings, but implementing them both on a single device can provide certain drawbacks. The difficulty becomes providing a design that captures the benefits of combined GFP-T and GFP-F mapping while minimizing the processing problems noted above.
With these restrictions on implementing GFP-F adaptation and GFP framing, it can be very difficult to realize an effective design where the protocol operates efficiently in the presence of a split design.
A transparent GFP mapping that enables efficient implementation of GFP-F adaptation and GFP framing may provide increased throughput and other advantageous qualities over previously known designs, including designs employing SONET/SDH architectures.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which:
The present design may provide for an implementation of a GFP-T Adaptation process and a GFP Framing process in a dual device configuration that employs an interface supporting burst transfer between the processes. While the description provided herein is applicable to the SONET/SDH architecture, it is to be understood that the invention is not so limited, and may be employed in other transmission architectures.
SONET/SDH defines optical carrier levels and electrically equivalent synchronous transport signals (STSs) for the fiber-optic based hierarchy. In SONET, any type of service, ranging from voice to high speed data and video, can be accepted by various types of service adapters. A service adapter maps the signal into the payload envelope of the STS-1 or virtual tributary. All inputs received are eventually converted to a base format of a synchronous STS-1 signal at 51.84 Mbps or higher. Several synchronous STS-1s may then be multiplexed together in either a single or two stage process to form an electrical STS-n signal, where n is one or more.
SONET uses a basic transmission rate of STS-1, equivalent to 51.84 Mbps. Higher level signals are integer multiples of the base rate. For example, STS-3 is three times the rate of STS-1, i.e. three times 51.84 or 155.52 Mbps, while an STS-12 rate would be twelve times 51.84 or 622.08 Mbps. The SONET architecture employs frames, where the frame is generally divided into two main areas: transport overhead and the synchronous payload envelope, or SPE. The SPE comprises two components, namely STS path overhead and payload. The payload is the traffic being transported and routed over the SONET network. Once the payload is multiplexed into the SPE, the payload can be transported and switched through SONET without having the need to be examined and possibly demultiplexed at intermediate nodes.
System Design
A typical SONET/SDH switching system 100 is shown in
Line card 121 may be implemented as a transceiver capable of transmitting and receiving frames and/or packets to and from a network that is compatible with SONET/SDH as well as other protocols such as OTN, TFI-5, and Ethernet, although other standards may be used. For example, SONET/SDH and OTN are described for example in: ITU-T Recommendation G.709 Interfaces for the optical transport network (OTN) (2001); ANSI T1.105, Synchronous Optical Network (SONET) Basic Description Including Multiplex Structures, Rates, and Formats; Bellcore Generic Requirements, GR-253-CORE, Synchronous Optical Network (SONET) Transport Systems: Common Generic Criteria (A Module of TSGR, FR-440), Issue 1, December 1994; ITU Recommendation G.872, Architecture of Optical Transport Networks, 1999; ITU Recommendation G.825, “Control of Jitter and Wander within Digital Networks Based on SDH” March, 1993; ITU Recommendation G.957, “Optical Interfaces for Equipment and Systems Relating to SDH”, July, 1995; ITU Recommendation G.958, Digital Line Systems based on SDH for use on Optical Fibre Cables, November, 1994; and/or ITU-T Recommendation G.707, Network Node Interface for the Synchronous Digital Hierarchy (SDH) (1996). For example, an implementation of TFI-5 is described in TFI-5: TDM Fabric to Framer Interface Implementation Agreement (2003) available from the Optical Internetworking Forum (OIF). For example, IEEE 802.3 describes Ethernet standards.
For example, the network may be any network such as the Internet, an intranet, a local area network (LAN), storage area network (SAN), a wide area network (WAN). One implementation of line card 121 may include physical layer processor 122, framer 124, network processor 126, and host-control plane controller 128.
Physical layer processor 122 may receive optical or electrical signals from the network and prepare the signals for processing by downstream elements such as framer 124. For example, for frames and/or packets received from the network, physical layer processor 122 may convert an optical signal to electrical format and/or remove jitter from signals from the network. For frames and/or packets to be transmitted to the network, physical layer processor 122 may remove jitter from signals provided by upstream devices such as framer 124 and prepare signals for transmission to the network, which may be optical or electrical format. Framer 124 may utilize embodiments of the present invention to construct frames and/or packets for transmission to a network in formats such as Ethernet, SONET/SDH, and/or OTN (although other formats may be used).
For frames and/or packets received from a network, framer 124 may utilize embodiments of the present invention to process such frames and/or packets. Framer 124 may transfer overhead from frames and/or packets to a higher layer level processor such as a Ethernet MAC 126. For example, framer 124 and Ethernet MAC 126 may intercommunicate using an interface compatible for example with SPI-4 (described for example in the Optical Internetworking Forum (OIF Document) OIF-SPI4-02.1 and ITU-T G.707 2000, T1.105-2001 (draft), T1.105.02-1995, and ITU-T recommendations G.7042 and G.707), although interfaces compatible with other standards may be used.
Host-control plane controller 128 may configure operation of framer 124 and Ethernet MAC 126. For example, host-control plane controller 128 may program/provision framer 124 to control the content of frames. Host-control plane controller 128 could be implemented as separate from Ethernet MAC 126 and communicate with the framer 124 and Ethernet MAC 126 using an interface that complies with Peripheral Component Interconnect (PCI) Local Bus Specification, Revision 2.2, Dec. 18, 1998 available from the PCI Special Interest Group, Portland, Oreg., U.S.A. (as well as revisions thereof) or PCI-X Specification Rev. 1.0a, Jul. 24, 2000, available from the aforesaid PCI Special Interest Group, Portland, Oreg., U.S.A., although other standards may be used. Other implementations of Host-control plane controller 128 may be used.
In one implementation, components of line card 121 may be implemented among the same integrated circuit. In another implementation, components of line card 121 may be implemented among several integrated circuits that intercommunicate using, for example, a bus or conductive leads of a printed circuit board.
Backplane interfaces 131 may be implemented as a single or multi-pin interface and may be used by line cards to interface with system fabric 141. For example, backplane interfaces 131 may be compatible with TFI-5 or CSIX (described in CSIX-L1: Common Switch Interface Specification-L1 (2000)), although other standards may be used. System fabric 141 may transfer IP packets or Ethernet packets (as well as other information) between line cards based on relevant address and header information. System fabric 141 can be implemented as a packet switch fabric or a TDM cross connect. System fabric 141 can be any device (or devices) that interconnect numerous dataplanes of subsystems (i.e. linecards) together.
Transparent GFP Mapping
As GFP-F can be used to map any type of packet, this limitation affects the flexibility of GFP-F mapping. GFP-F is particularly useful in the presence of a packet interface (e.g., OIF SPI-4, System Packet Interface Level 4, Phase 2). To take full advantage of GFP-F, a packet interface such as that shown in
The present design is employed in the configuration shown in
When implementing the two processes of GFP-T mapping via a generic burst interface, the GFP-T adaptation function as shown in device 1301 of
The present design includes two general designs for GFP-T rate adaptation in the ingress direction, or from device 1301 to device 2302. Rate adaptation to the transport output is performed using the 65B_PAD control code in device 1301. Thus rate adaptation may be performed only in device 1301. Transport frequency is only known in device 2302. The only link between device 1301 and device 2 may be the asynchronous packet interface, which is not synchronous to any of the client stream interfaces. The FIFO level in device 2302 may be used by device 1301 for rate adaptation. Any packet interface that reports FIFO status to the other device, such as SPI-4 Phase 2 reporting FIFO status from device 2302 to device 1301, may use the following first design approach.
First Design Approach: Four Thresholds
ITU-T G.7041 specifies that a 65B_PAD control code is inserted “if there is currently a transparent GFP frame is currently being transmitted and if there are no client characters ready for transmission by the transparent GFP mapper.” The present design contemplates the transparent GFP mapper residing in two devices. Monitoring the FIFO level of device 1301 in the ingress direction insures a relatively constant flow out of the GFP-T mapper in device 2302. When the FIFO level drops below a certain value, the system inserts a 65B_PAD control code. Also, the FIFO status of device 2302 may be used to limit the flow rate out of device 1301.
Within device 1301, for each client signal such as a GbE signal, after the 8B/10B to 64B/65B to superblock processing, B representing bit in this context, device 1301 assembles multiple superblocks into packets. For example, the number of superblocks in each packet for GbE is typically 95. Whenever data is available, data may be written into the output FIFO of device 1301, rather than waiting for the complete packet or even the entire superblock.
Device 1301 may begin to transfer packets to device 2302 after the data level in device 1's output FIFO reaches a threshold, here called THRESHOLD1. Before device 1301 reaches THRESHOLD1, device 1301 waits for data to accumulate. The value of THRESHOLD1 may vary, but is generally set to a value that minimizes risk of future FIFO underflow. For example, for GbE traffic, THRESHOLD1 can be set equal to 384 bytes. 384 bytes in the GbE traffic situation is not necessarily the minimum value that can be chosen, but a reasonable value based on the circumstances.
Data transfer between device 1301 and device 2302 is done in a block of N bytes. For example, the value of N may be a multiple of 16 bytes if SPI-4 Phase 2 is the selected burst interface. For the egress direction, a smaller value of N results in lower latency. However, a smaller value for N tends to increase the overhead related to data transfer, and may require a higher operating frequency at the packet interface. As an example, the value of N can be 64 bytes, but other values may be employed.
If the data level in the output FIFO of device 1301 is below another threshold, here called THRESHOLD2, device 1301 may insert one 65B_PAD control code whenever possible. THRESHOLD2 may be less than THRESHOLD1. For example, the value of THRESHOLD2 can be equal to 256 bytes for GbE traffic streams, but again other values may be employed.
In this design, device 1301 and device 2302 follow the normal packet transfer procedure. For example, using SPI-4 Phase 2, when the FIFO status from device 2302 is satisfied, device 2302 may send the previously granted 16-byte blocks.
Device 2302 operates in the following manner in this first design. Device 2302 begins to read data from its ingress input FIFO upon reaching a certain threshold, here called THRESHOLD3. Device 2302 waits for data to accumulate prior to reaching THRESHOLD3. The value of THRESHOLD3 may be set to avoid future FIFO underflow. For example, for GbE traffic, THRESHOLD3 can be set to 256 bytes. Again, this is not the minimum value for THRESHOLD3, but only a reasonable value based on circumstances.
GFP-T framing is generally done on the input packet in the same way as GFP-F processing. The output rate may be adapted to the output frequency of the transport interface.
Device 2302 sends its FIFO status back to device 1301. A round robin algorithm may be employed to decide the order for sending FIFO status values for multiple ports. When the level of data in the FIFO reaches a certain threshold, here called THRESHOLD4, device 1301 sends the device 1 FIFO status back to device 2302 in order to stop data transfer. THRESHOLD4 may be larger than THRESHOLD3. For example, the value of THRESHOLD4 can be equal to 384 bytes for GbE traffic streams. If SPI-4 Phase 2 packet interface is employed, the Normal status is STARVING or HUNGRY, or less than the threshold amount of data is available. In this instance, MaxBurst is equal to burst size of transfer, such as 64 bytes. When THRESHOLD4 is reached, the status is changed to STATISFIED to generally allow up to one more transfer of the burst size, again such as 64 bytes.
This design thus uses two sets of dual thresholds to determine when to insert a 65B_PAD in the ingress input FIFO for Device 1, and two thresholds in Device 2 to determine when to stop data transfer from Device 1.
Second Design Approach: Dual Thresholds
An alternative design can be used in the ingress direction and may reduce data latency. In such a design, device 1301 generally should have knowledge of each specific traffic type.
For device 1301 in this second design approach, for each client signal, such as a GbE, after the 8B/10B to 64B/65B to superblock processing, device 1301 assembles multiple superblocks into packets. For example, the number of superblocks in each packet for GbE may be 95. Data can be written into the output FIFO of device 1301 whenever the data are available, rather than waiting for the whole packet or even the whole superblock. This is generally the same as in the First Design Approach, above.
Transfer from Device 1 to Device 2 occurs in blocks of N bytes. N is multiple of 16 bytes if SPI-4 Phase 2 is used as the packet interface. As noted, smaller values of N yield lower latency at the expense of increasing transfer overhead. A smaller N thus requires higher operation frequency at the packet interface. The value of N can vary, and one possible value is 64 bytes.
Device 1301 may transfer data to device 2302 whenever more than N bytes exist in the FIFO. Device 1 inserts 65B_PAD control codes more frequently than during normal operation to help provide a relatively constant data flow. For GbE, if the packet interface uses a VC-4-7v (STS-3c-7v) to carry the GFP-T mapped data as recommended by ITU-T G. 7041, the average rate for inserting a 65B_PAD control code is once every 8112.27 bytes. In such an arrangement, device 1 may then insert one 65B-PAD control code every 4000 bytes, excluding Flag Bits and CRC-16.
Device 1 uses the received FIFO status signal from Device 2 to determine if a 65B_PAD control code may be inserted. Using SPI-4 Phase 2 as an example, normally the received FIFO status is STARVING and the 65B_PAD control code may be inserted as described above, namely once every 4000 bytes, excluding Flag Bits and CRC-16. When the status changes to HUNGRY, device 1 does not insert the 65B_PAD control code. In this situation, the FIFO status will never become SATISFIED.
For device 2302, the device may start to read data from its ingress input FIFO upon reaching a certain threshold, here called THRESHOLD5. Before reaching THRESHOLD5, device 2302 may wait for data to accumulate. The value of THRESHOLD5 is generally selected to avoid future FIFO underflow. For example, for GbE traffic, THRESHOLD5 can be equal to 256 bytes. Again, this value is one example, and other values may be employed.
GFP framing in device 2302 is performed on the input packet in generally the same way as GFP-F processing. The output rate may be adapted to the output frequency of the transport interface. Device 2302 sends the FIFO status back to device 1301. Again, a round robin algorithm can be employed to provide an order for sending the FIFO status values for multiple ports. When the FIFO status reaches a certain threshold, here called THRESHOLD6, device 2302 sends FIFO status back to device 1301 to prevent 65B_PAD control code insertion within device 1301. THRESHOLD6 is usually larger than THRESHOLD5. The value of these thresholds can vary, but for example, the value of THRESHOLD6 can be equal to 384 bytes for GbE traffic streams. If the packet interface complies with SPI-4 Phase 2, the Normal status is STARVING. When THRESHOLD6 is reached, the status is changed to HUNGRY.
From device 2302 to device 1301, the egress direction, device 2302 receives GFP frames formed of multiple superblocks and de-maps the superblocks. For example, with GbE, each GFP frame may include 95 superblocks, with 67 bytes in each superblock. At the output of device 2302, each de-mapped GFP frame results in a packet of 6365 bytes, 67 bytes×95 superblocks. At this stage, device 2302 has no knowledge of the superblock content. Device 2302 transfers the resultant packets via the packet interface. For example, if a SPI-4 Phase 2 interface is used as the packet interface, each packet can be transferred in block of N bytes, where N is typically a multiple of 16. Smaller values of N result in lower latency, at the cost of increased transfer overhead. A smaller value of N thus requires a higher operation frequency at the packet interface. As an example, 64 bytes can be used for the value of N, but other values may be employed. By using the packet interface described herein, multiple ports, such as GbE ports, can be implemented in each of the two devices and can share the same packet interface for data transfer. The entire packet of N superblocks may be transferred, at the expense of higher latency.
When the packets are received at device 1301, either of the two approaches for rate adaptation as described in ITU-T G.7041 can be used, generally without modification from the original specification. The two approaches described in the ITU-T G.7041 specification are described as rate adaptation to a local reference clock and rate adaptation from the transported client signal.
The two GFP-T ingress rate adaptation algorithms, or two design approaches, described in the specification are generally independent of the clock frequency on the burst interface, as long as the available transfer rate is higher than required. Minimal involvement from the mapper device that supports GFP framing is necessary using either design.
Both designs use existing control information on the burst interface, such as SPI-4 Phase 2, to communicate the rate information between the two devices involved. As noted, other burst interfaces may be employed.
By implementing the two processes of GFP-T mapping (GFP-T Adaptation and GFP Framing) across a burst interface, the GFP-T Adaptation, unique to each GFP-T traffic type, can be implemented either alone or together with a device that processes this type of client signal, such as a MAC for GbE. GFP Framing can be implemented in a device that supports GFP-F mapping only. Advantages to the two designs are that the burst interface, such as SPI-4 Phase 2 or SPI-3, is a standard interface, minimizing compatibility issues. The burst interface can be used for any type of traffic and is generally independent of the specific clock/rate of any data traffic. Further, no relationship exists between the frequency of the burst interface and the frequency of the client traffic. With these two designs, both GFP-F and GFP-T mappings can use a common standard interface and common processing. In general, when adding a new traffic type, only the device that implements the first process of GFP-T may need to be replaced. Alternately, a simple bridge at the packet interface can be added to merge the new traffic type.
It will be appreciated to those of skill in the art that the present design may be applied to other systems that perform data processing, and is not restricted to the communications structures and processes described herein.
Further, while specific hardware elements and related structures have been discussed herein, it is to be understood that more or less of each may be employed while still within the scope of the present invention.
Accordingly, any and all modifications, variations, or equivalent arrangements which may occur to those skilled in the art, should be considered to be within the scope of the present invention as defined in the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
6640277 | Moertl | Oct 2003 | B1 |
7042904 | Kamiya | May 2006 | B2 |
7272675 | Paul et al. | Sep 2007 | B1 |
7301906 | Nation et al. | Nov 2007 | B2 |
20030084219 | Yao et al. | May 2003 | A1 |
20030185251 | Ichino et al. | Oct 2003 | A1 |
20040085902 | Miller et al. | May 2004 | A1 |
20050041695 | Bordogna et al. | Feb 2005 | A1 |
20050117608 | Karakawa et al. | Jun 2005 | A1 |
20050265379 | Rao | Dec 2005 | A1 |
20060002411 | Samrao | Jan 2006 | A1 |