|Title of Invention||
A METHOD FOR CAUSING COMMUNICATION BETWEEN A LINE CARD AND AN ACCELERATOR CARD IN A DATA AND VOICE COMMUNICATION SYSTEM
|Abstract||A data and voice communication system includes communication between a line card and an accelerator card. Voice, data, and control traffic is received from the line card and is transmitted to the accelerator card via a physical link having separate voice, data, and control logical channels. The separate voice, data, and control logical channels are represented by labeled data packets. (FIG. 1)|
|Full Text||A METHOD FOR CAUSING COMMUNICATION BETWEEN
A LINE CARD AND AN ACCELERATOR CARD IN
A DATA AND VOICE COMMUNICATION SYSTEM
This invention relates to a method for causing communication between a line card
and an accelerator card in a data and voice communication system.
In a communications system, devices or subsystems may communicate via
different methods. For example, a first pair of subsystems may be configured to
communicate back and forth in time division multiplex (TDM) mode and another pair of
subsystems may be configured to communicate back and forth using packet data. In a
typical wireless communication system, simple circuit connections or packet-data
transport provide limited value in a next generation network.
Although the particular application may vary, the components of a wireless
communication system are generally similar, as described in more detail below. For
example, a wireless communication system usually includes a radio terminal or mobile
station, a radio base station, a switch or network control device, often referred to as a
mobile telephone switching office (MTSO), and a network to which the wireless
communications system provides access, such as the Public Switched Telephone Network
The various wireless communication applications use any of multiple modulation
techniques for transmitting information to efficiently utilize the available frequency
spectrum. For example, frequency division multiple access (FDMA), time division
multiple access (TDMA), and code division multiple access modulation techniques are
used to build high-capacity multiple access systems. Telecommunication systems
designed to communicate with many mobile stations occupying a common radio
spectrum are referred to as multiple access systems.
For example, in an FDMA analog cellular system, such as an AMPS analog
cellular radio system, the available frequency spectrum is divided into a large number of
radio channels, e.g., pairs of transmit and receive carrier frequencies, each of which
corresponds to a message transmission channel. The bandwidth of each transmit and
receive frequency channel is narrowband, generally 25-30 kHz. Thus, the FDMA system
permits information to be transmitted in a bandwidth comparable to the bandwidth of the
transmitted information, such as a voice signal. The cellular service area in the FDMA
system is generally divided into multiple cells, each cell having a set of frequency
channels selected so as to help reduce co-channel interference between cells.
Frequency division is often combined with time division so that transmission
circuits are distinguished in both the frequency and time domain, e.g., in a FD/TDMA
system. In a digital FD/TDMA (commonly referred to as TDMA) cellular system, a
narrowband frequency channel is reformatted as a digital transmission path which is
divided into a number of time slots. The data signals from different calls are interleaved
into assigned time slots and sent out with a correspondingly higher bit rate, the time slot
assigned to each mobile station being periodically repeated. Although the TDMA
bandwidth may be somewhat larger than the FDMA bandwidth, a bandwidth of
approximately 30 kHz is generally used for AMPS-D digital TDMA cellular systems.
Another approach to cellular multiple access modulation is CDMA. CDMA is a
spread spectrum technique for transmitting information over a wireless communication
system in which the bandwidth occupied by the transmitted signal is significantly greater
than the bandwidth required by the baseband information signal (e.g., the voice signal).
Thus, CDMA modulation spectrally spreads a narrowband information signal over a
broad bandwidth by multiplex modulation, using a codeword to identify various signals
sharing the same frequency channel. Recognition of the transmitted signal takes place by
selecting the spectrally-coded signals using the appropriate codeword. In contrast to the
narrowband channels of approximately 30 kHz used in FDMA and TDMA modulation
techniques, a CDMA system generally employs a bandwidth of approximately 1.25 MHz
Typically, the mobile communication systems described above are arranged
hierarchically such that a geographical "coverage area" is partitioned into a number of
smaller geographical areas called "cells." Referring to Fig. 1, each cell is preferably
served by a Base Transceiver Station ("BTS") 102a. Several BTS 102a-n are centrally
administered via fixed links 104a-n by a Base Station Controller ("BSC") 106a. The
BTSs and BSC are sometimes collectively referred to as the Base Station Subsystem
("BS") 107. Several BSCs 106b-n may be centrally administered by a Mobile Switching
Center ("MSC") 110 via fixed links 108a-n.
MSC 110 acts as a local switching exchange (with additional features to handle
mobility management requirements, discussed below) and communicates with the phone
network ("PSTN") 120 through trunk groups. U.S. mobile networks include a home
MSC and a serving MSC. The home MSC is the MSC corresponding to the exchange
associated with a Mobile Subscriber (also referred to above as a mobile station or "MS")
114; this association is based on the phone number, such as the area code, of the MS.
Examples of an MS include a hand-held device such as a mobile phone, a PDA, a 2-way
pager, or a laptop computer, or Mobile Unit Equipment, such as a mobile unit attached to
a refrigerator van or a rail car, a container, or a trailer.
The home MSC is responsible for a Home Location Register ("HLR") 118
discussed below. The serving MSC, on the other hand, is the exchange used to connect
the MS call to the PSTN. Consequently, sometimes the home MSC and serving MSC
functions are served by the same entity, but other times they are not (such as when the
MS is roaming). Typically, a Visiting Location Register ("VLR") 116 is co-located with
the MSC 110 and a logically singular HLR is used in the mobile network (a logically
singular HLR may be physically distributed but is treated as a single entity). As will be
explained below, the HLR and VLR are used for storing subscriber information and
Radio channels 112 are associated with the entire coverage area. As described
above, the radio channels are partitioned into groups of channels allocated to individual
cells. The channels are used to carry signaling information to establish call connections
and related arrangements, and to carry voice or data information once a call connection is
Mobile network signaling has at least two significant aspects. One aspect
involves the signaling between an MS and the rest of the network. In the case of 2G
("2G" is the industry term used for "second generation") and later technology, this
signaling concerns access methods used by the MS (such as TDMA or CDMA),
pertaining to, for example, assignment of radio channels and authentication. A second
aspect involves the signaling among the various entities in the mobile network, such as
the signaling among the MSCs, BSCs, VLRs, and HLRs. This second part is sometimes
referred to as the Mobile Application Part ("MAF") especially when used in the context
of Signaling System No. 7 ("SS7"). SS7 is a common channel signaling system by which
elements of the telephone network exchange information, in the form of messages.
The various forms of signaling (as well as the data and voice communication) are
transmitted and received in accordance with various standards. For example, the
Electronics Industries Association ("EIA") and Telecommunications Industry Association
("TIA") help define many U.S. standards, such as IS-41, which is a MAP standard.
Analogously, the CCITT and ITU help define international standards, such as GSM-
MAP, which is an international MAP standard. Information about these standards is well
known and may be found from the relevant organizing bodies as well as in the literature,
see, e.g., Bosse, SIGNALING IN TELECOMMUNICATIONS NETWORKS (Wiley
To deliver a call from an MS 114, a user dials the number and presses "send" on a
cell phone or other MS. The MS 114 sends the dialed number indicating the service
requested to the MSC 110 via the BS 107. The MSC 110 checks with an associated VLR
116 (described below) to determine whether the MS 114 is allowed the requested service.
The serving MSC routes the call to the local exchange of the dialed user on the PSTN
120. The local exchange alerts the called user terminal, and an answer back signal is
routed back to the MS 114 through the serving MSC 110 which then completes the
speech path to the MS. Once the setup is completed the call may proceed.
To deliver a call to an MS 114, (assuming that the call originates from the PSTN
120) the PSTN user dials the MS"s associated phone number. At least according to U.S.
standards, the PSTN 120 routes the call to the MS"s home MSC (which may or may not
be the MSC serving the MS). The MSC then interrogates the HLR 118 to determine
which MSC is currently serving the MS. This also acts to inform the serving MSC that a
call is forthcoming. The home MSC then routes the call to the serving MSC. The serving
MSC pages the MS via the appropriate BS. The MS responds and the appropriate
signaling links are set up.
During a call, the BS 107 and MS 114 may cooperate to change channels or BTSs
102, if needed, for example, because of signal conditions. These changes are known as
"handoffs," and they involve their own types of known messages and signaling.
Fig. 2 shows in more detail the signaling and user traffic interfaces between a BS
107 and an MSC 110 in a CDMA mobile network. The BS 107 communicates signaling
information using an SS7-based interface for controlling voice and data circuits known as
the "A1" interface. An interface known as "A2" carries user traffic (such as voice signals)
between the switch component 204 of the MSC and the BS 107. An interface known as
"A5" is used to provide a path for user traffic for circuit-switched data calls (as opposed
to voice calls) between the source BS and the MSC. Information about one or more of
Al, A2, A5 may be found in CDMA Internetworking - Deploying the Open-A Interface,
Su-Lin Low, Ron Schneider, Prentice Hall, 2000, ISBN 0-13-088922-9.
Mobile communications providers are supplying newer services, e.g., "data calls"
to the Internet. For at least some of these services, MSCs are not cost effective because
they were primarily designed for voice calls. Integration of new services into the MSC is
difficult or infeasible because of the proprietary and closed designs used by many MSC
software architectures. That is, the software logic necessary to provide the services is not
easy to add to the MSC 110. Often, a switch adjunct is used to provide such services.
For example, an Inter-Working Function ("IWF") is an adjunct to route a data call to the
Internet Either approach - integrating functionality into the MSC or adding a trunk-side
adjunct - involves the MSC in the delivery of service. Integrating new services via
MSC design changes or through trunk-side adjuncts can increase network congestion at
the MSC and consume costly MSC resources.
Data calls typically make use of the Internet, which is an example of a packet-
switching medium. A packet-switching medium operates as follows. A sequence of data
is to be sent from one host to another over a network. The data sequence is segmented
into one or more packets, each with a header containing control information, and each
packet is routed through the network. A common type of packet switching is datagram
service, which offers little or no guarantees with respect to delivery. Packets that may
belong together logically at a higher level are not associated with each other at the
network level. A packet may arrive at the receiver before another packet sent earlier by
the sender, may arrive in a damaged state (in which case it may be discarded), may be
delayed arbitrarily (notwithstanding an expiration mechanism that may cause it to be
discarded), may be duplicated, and may be lost.
At least one wireless Internet system has been proposed that provides reliable
access to tens of megahertz of bandwidth across a wide geographic area, using local
wireless transceiver technology (e.g., in a nanocell system). In contrast to the cellular
wireless voice system, which relies on tens or hundreds of cells in a region, the local
wireless transceiver system relies on thousands or tens of thousands of transceivers in the
region. In such a system, each transceiver may cover, e.g., 0.05 square kilometers, which
is about one-hundredth the coverage of a conventional cell. High spatial reuse of the
radio frequency (RF) spectrum allows the local wireless transceiver system to
accommodate many more active devices at a given data rate than a conventional cell
system. In addition, since users are closer to access points, the local wireless transceiver
system accommodates lower-power transmissions. The local wireless transceiver system
can support large numbers of devices, running at high speeds, with relatively little drain
on the devices" batteries.
For example, in a citywide local wireless transceiver system network of 10,000
transceiver access points (cell centers), if each point provides its users with 1-Mb/s
collective throughput, 10 active devices per transceiver can be supported at 100 kb/s each,
which amounts to 100,000 active devices in the city. If each device is active 10 percent
of the time, such a network can support a million devices, although some accounting
would need to be made for bandwidth consumed by overhead for channel access,
handoffs, and any provision for asymmetric traffic (e.g., in which more bits flow toward a
device than from it).
Each local wireless transceiver system access point may be or resemble access
points for wireless local area network (LAN) technology such as EEEE 802.11. An
asynchronous digital subscriber line (ADSL), or a cable modem line may be used to
provide a link between each access point and the Internet (a wireless link may be used as
well or instead). With respect to the siting of access devices, since each device requires
electrical power and is preferably elevated for adequate radio frequency coverage, sites on
utility poles and buildings are typical candidates, with the high-speed neighborhood
Internet access infrastructure serving as a backbone.
In an aspect of the invention, a data and voice communication system includes
communication between a line card and an accelerator card. Voice, data, and control
traffic is received from the line card and is transmitted to the accelerator card via a
physical link having separate voice, data, and control logical channels. The separate
voice, data, and control logical channels are represented by labeled data packets.
Implementations of the invention may provide one or more of the following
advantages. Communication can be provided between devices with incompatible bus
interfaces on physically separate cards. TDM, Asynchronous Transfer mode (ATM), IP
packet, and control data can be transmitted simultaneously or effectively simultaneously
on logical separate channels within a link. Per logical channel flow control can be
provided to independently control transfer of data over logical channels without causing
head of line blocking. Round robin and strict priority servicing of channels can be
provided, which can enable low latency traffic to be transferred with low jitter. One card
(e.g., accelerator card) may communicate voice, data, and control traffic with multiple
other cards (e.g., line cards). Redundant links used in conjunction with other resources
can allow any combination of l:n redundancy, depending on the implementation. A host
CPU interface bus can be extended to access peripheral devices on another card using the
control logical channel. Control plane and data plane migration can be facilitated during a
redundancy switchover. Errors on redundant links or idling active links can be actively
monitored and reported. Load sharing can be supported over multiple active links with an
option to selectively steer traffic from one link to another link in case of one link failure.
Accordingly, the present invention provides a method for causing
communication between a line card and an accelerator card in a data and voice
communication system, the method comprising the steps of: receiving voice, data,
and control traffic from the line card; and transmitting the voice, data, and control
traffic to the accelerator card via a physical link having separate voice, data and
control logical channels, the separate voice, data, and control logical channels
being represented by labeled data packets.
A particular embodiment of the method according to the present invention
involves the steps of: receiving time division multiplex (TDM) data from a first line
card; receiving packet data from a second line card; formatting the TDM data and
the packet data in accordance with a packet-based protocol to produce formatted
TDM and packet data; and communicating the formatted TDM and packet data to
the accelerator card.
Other advantages and features will become apparent from the following
description, including the drawings, and from the claims.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
Fig. 1-2, 3A-3B, 4 are block diagrams of communications systems.
Fig. 5 is a diagram of a communications channel.
Fig. 6-9 illustrate formats of a communications channels cells.
Fig. 10 illustrates error condition sequences on a communications channel.
A communications system provides communications features including features
relying on different types of data. The communications system has an Internet media
gateway mechanism ("IMG") and a Softswitch mechanism as described below. Fig. 3A
illustrates an example system 400 having an IMG 410A connected between BSC 415A
and MSC 420A and communicating with a Softswitch 425 A. IMG 410A communicates
with BSC 415A by A1, A2, and A5 interfaces. As described below, Softswitch 425A
coordinates pathway setup and communication between BSC 415A and MSC 420A
through IMG 410A. IMG 410A also communicates with the Internet 430, through which
IMG 410A is able to direct messages to a mail server 440, as described below. Other
IMGs and Softswitches may be provided similarly in connection with other BSCs and
MSCs as exemplified in Fig. 3A by IMG 410B, Softswitch 425B, BSC 415B, and MSC
420B. MSCs 420A, 420B are connected to, and can communicate with each other
through, PSTN 460. SoftSwitches 425A, 425B are connected to, and can communicate
with each other through, SS7 system 470. (Fig. 3B illustrates an alternative arrangement
402 in which MSC 420A is connected between IMG 410A and BSC 415A, and MSC
420B is connected between IMG 410B and BSC 415B.)
Fig. 4 illustrates a system 1010 that can support and help to provide voice and data
services on one or more mobile wireless networks. In a particular implementation,
system 1010 may include Starent Networks Corporation"s ST-16 IMG product, which is a
carrier class, high performance platform that can support multiple data types including
time division multiplexed (TDM) data, Asynchronous Transfer mode (ATM) cell data,
and Internet protocol (IP) packet data. The ST-16 architecture uses accelerator cards
(e.g., card 1020) such as Packet Accelerator cards (PACs) for packet processing and
Telephony Accelerator cards (TACs) for voice processing. Each PAC can perform data
processing and each TAC can perform voice processing. In the ST-16, physical
input/output (I/O) interfaces are terminated on industry standard line cards (e.g., cards
1030A, 1030B) and can carry TDM, packet or ATM cell data types in accordance with
various physical interface standards. Since TDM interfaces primarily carry voice traffic,
TDM line cards communicate with a TAC. Ethernet line cards carry packet data traffic
and can communicate with a PAC. An optical line card supports ATM cells, which can
carry both voice and data traffic, and can communicate with a PAC or a TAC. The ST-16
also has Redundant Crossbar Cards (RCCs) (e.g., cards 1040A, 1040B) which are used to
allow a line card in any slot to communicate with an accelerator cards in any slot in the
ST-16 (see copending United States Patent Application Serial No.____, entitled
REDUNDANCY IN VOICE AND DATA COMMUNICATIONS SYSTEMS, filed
The ST-16 usesa card to card communication system ("STARChannel")
described below to provide links to connect the accelerator cards to the line cards and the
RCCs. In an example implementation, a STARChannel link has 4.0 Gbps data capacity
and includes two physical serial links operating in channel locked mode. Each physical
serial link is clocked at 2.5 Gbps (8B/10B coded) and can carry 2.0 Gbps data.
Fig. 5 shows a logical view of a single STARChannel link, which is able to carry
voice, data and control traffic simultaneously in separate logical channels. The unit of
transmission on the STARChannel link is a STARCell data structure cell ("STARCell"),
described below. The STARChannel link uses a STARChannel protocol mechanism, also
described below, to carry user data and control traffic between the line cards and
accelerator cards and also provide 1:n redundancy support when used in conjunction with
As shown in Figs. 6-7, each STARCeU 6010 includes a header field 6020,
followed by a payload field 6030, and a trailer field 6040. The header carries information
that uniquely identifies the cell on the STARChannel. The payload field carries the voice,
data, or control traffic and the trailer field contains a cyclic redundancy check (CRC-16)
over the payload field.
A system side interface of STARChannel supports a defined first in first out
(FIFO) interface. Proprietary and standard bus interface standards can be used to
communicate across STARChannel by providing the conversion to the standard
STARChannel FIFO interface at each end of STARChannel system interface.
Accordingly, two incompatible bus standards can be connected across physically separate
cards and redundancy connection support can also be supported.
Since the STARChannel system uses a high-speed Serial interconnect, a relatively
small number of pins is required for a connector on a back plane of the ST-16 compared
to a typical parallel bus interface. For example (see Fig. 4), STARChannel uses 16 pins to
implement a full-duplex 4.0 Gbps rate with redundancy support, which would require 140
pins with a typical parallel bus format. The STARChannel system uses high-speed
differential lines to signal data between two cards. The clock to sample the data at the
receiver is embedded in the signal transmitted by the transmitter, which circumventing a
need to separately route the clock from one card to another card.
In the ST-16, components of STARChannel are implemented on each of the line
cards and each of the accelerator cards using a Field Programmable Gate Array (FPGA)
(e.g., FPGAs 1050A-1050C) and Serializer/ Deserializer (SERDES) device (e.g.,
SERDES 1060A-1060D). The FPGA implements STARChannel link management
functions, glue logic to convert from standard bus interface to STARChannel system side
interface, SERDES command and data interfaces and control, status, and statistics for the
STARChannel link. The SERDES provides the parallel-to-serial, serial-to-parallel, and
8B/10B encoding/decoding functions for the STARChannel system.
In the ST-16, the accelerator card in the front slot connects to two line cards in the
corresponding slots on the back plane using primary STARChannel links (e.g., links
1070A, 1070B). A secondary set of STARChannel links (e.g., links 1080A-1080D) are
used to connect to the RCC. The primary STARChannel links are used to directly connect
the PAC and line card; the secondary STARChannel links are used to connect the PACs
and the line cards through the RCCs.
In an example implementation, STARChannel includes the following features.
STARChannel supports simultaneous transfer of TDM, ATM, IP packet, and control data
on logical separate channels within the STARChannel link. Per logical channel flow
control is provided to independently control transfer of data over logical channels without
causing head of line blocking. Round robin and strict priority servicing of channels is
supported, which enables low latency traffic to be transferred across die STARChannel
link with low jitter. 2.5 Gbps of user data capacity are provided with transfer overhead
over a 4.0 Gbps STARChannel link. One accelerator card may communicate with two
line cards. Redundant STARChannel links used in conjunction with RCC allows any
combination of l:n redundancy (n interface bus may extended to access peripheral devices on another card using the control
channel on STARChannel. Control plane and data plane migration may be facilitated
during a redundancy switchover. Errors on redundant STARChannel links or idling
active STARChannel links are actively monitored and reported. Communication can be
provided between devices with incompatible bus interfaces on physically separate cards.
1:1 redundancy can be supported between active and redundant STARChannel links. 1+1
redundancy support can be provided between two active STARChannel links. Load
sharing can be supported over two active STARChannel links with an option to
selectively steer traffic from one link to another in case of one link failure.
As shown in Fig. 6, in the example implementation, a STARCell includes an 8-
byte header followed by payload and 16-bit CRC16 field. Each STARCell is transmitted
on the serial link encapsulated with Start of Frame K-Character (K28_0) 6050 and End of
Frame K-character (K28_2) 6060. When there is no STARCell to transmit, an IDLE K-
character (K28_5) is transmitted. When there is a change in link flow control or channel
flow-control status, an XON/XOFF K-Character (K28_3/K28_4) followed by the per
channel flow control bitmap is transmitted on STARChannel link.
Fig. 7 illustrates an example of the STARCell header format The CRC-8 field
carries the CRC for the first 7-bytes of the STARCell header and is present in the 8th byte
of the STARCell header. The CRC-8 polynomial used is x8 + x2 + x + 1. In the example,
the 16-bit CRC-16 always occupies two-bytes. All padding is included in the CRC-16
calculations, and padding is always 32-bit word aligned. Further in the example, the CRC
field is also 32-bit word aligned; hence two pad bytes are always added before the CRC-
16 field. The CRC16 polynomial used is x16 + x12 + x5 + 1. The CRC-16 is calculated
only on the payload of the STARCell.
The STARChannel link interface is big-endian and is 32-bit word aligned; hence
there could be 2-5 bytes of pad data between last byte of the STARCell payload and the
2-byte CRC-16 trailer.
At least the following types of STARCell are supported in the STARChannel
system as described below: an IDLE STARCell, a data STARCell, and a control
STARCell. An IDLE STARCell is normally transmitted when there are no data
STARCells to transmit. IDLE STARCells are normally used to monitor the redundant
STARChannel links as well the active STARChannel link when there is no data being
transferred on the link. As shown in Fig. 8, an IDLE STARCell 8010 includes the same
8-byte STARCell header followed by 32-bytes of an alternating "AAAA" and "5555"
pattern in the payload followed by the CRC16 trailer. The type field is set to IDLE in the
The data STARCells are used to transport TDM, ATM, and IP packet data in
STARChannel links. The payload type being carried by the data STARCell is identified
in the STARCell header. Packet data is carried in units of STARCells, which can each
carry a payload of 1-120 bytes. In the example implementation, ATM and TDM data
STARCells are always carried in a single STARCell with the type field set to SEOP.
Packet data may span a single STARCell or multiple STARCells. The STARCell type
field indicates the sequence of cells in STARChannel. A normal data packet consists of a
start of packet (SOP) STARCell, followed by zero or more middle of packet (MOP)
STARCells, followed by an end of packet (EOP) good STARCell. In at least some cases,
an entire short packet can be contained in a single SEOP STARCell.
The control STARCells are used to access peripherals on line cards from a host
processor on an accelerator card over the control channel of the STARChannel link. The
control STARCELL includes a second layer of encoding in the STARCell payload to
specify and access registers. Simple read write access as well burst read/write accesses
are supported using a control cell format 9010 illustrated in Fig. 9.
The control STARCells may be used in accordance with a STARChannel control
protocol that provides a generalized method of accessing command, status, and statistics
registers within a peripheral chip by using a dedicated STARCell type. The control
STARCells sent to or from the PAC to line card include a second layer of encoding to
specify and control register accesses.
The control STARCells support simple read/write accesses to single registers in
the line card or multiple accesses to consecutive registers starting at the address carried in
the STARCell extended header. The extended header also indicates whether the current
access is a burst access: The Burst length field defines the maximum burst size, which
may be up to seven words. Seven STARChannel data registers, one address register, and
one command register are provided.
For a write command, the STARCHANNEL_DATA registers are written first,
followed by the STARCHANNEL_ADDRESS register. Execution of a write procedure to
the STARCHANNEL_CMD register causes a control STARCell to be generated, which
carries the address/data information to the line card. The COMMAND_DONE bit is reset.
The line card performs a write procedure to the requested location and generates an ACK
cell in response, to indicate that execution of the write procedure is completed, which
causes the COMMAND DONE bit to be set in the STARCHANNEL_CMD register.
Accordingly, the CPU monitors the COMMAND DONE bit to detect command
completion before issuing another command on the STARChannel.
For a read command, the STARCHANNEL_CMDADDRESS register is written
with a setting to cause the reading of a single register at the start address or multiple
registers starting at the start address. The burst length defines the maximum number of
registers to be read. A control STARCELL is sent to the line card and the
COMMAND_DONE flag is reset The line card returns the read results in a control
STARCELL, in the DATA1 to DATA7 registers, and the COMMAND DONE flag is set
in the CMDADDRESS register.
One or more situations described below can cause error conditions to occur on the
STARChannel, which executes to handle these situations without causing a disruption of
data transfer on the STARChannel link. With respect to Fig. 10, a first situation includes
packet sequence errors: The header of each STARCell contains a 3-bit type field that
indicates packet sequencing. A normal data packet consists of a SOP STARCell, followed
by zero or more MOP STARCells, followed by EOP good STARCell. Sometimes an
entire short packet can be contained in a single SEOP STARCell. A packet sequence error
occurs when the normal STARCell sequence is violated.
In Fig. 10, non-normal sequences are indicated by "converted" and "discarded".
In a "converted" case, the STARCell type is converted to End of Packet bad (EOPB). In a
"discarded" case, the STARCell is not converted, and is simply discarded.
An invalid channel number may be found. In the example implementation,
STARChannel implements 8 data channels (0 to 7). If a STARCell is received on
unsupported channel number, the STARCell is dropped.
A flow control error may be found. If the STARChannel receives a STARCell on
a channel for which it has no receive buffers, the STARCell will be dropped.
A STARCell header error may be found. If a CRC-8 checksum error is detected
over the 8-byte STARCell header, the STARCell is dropped.
A STARCell payload error may be found. If a CRC-16 checksum error is detected
over the STARCell payload, the STARCell is dropped.
In the example implementation, STARChannel maintains statistical counters,
including the following:
1. Per Channel Transmit and receive STARCell count.
2. Per Channel Discarded and Converted STARCell count
3. Overflow error, Invalid error, CRC-8 error, CRC-16 error
4. Number of IDLE and Control STARCells transmitted and received per
The example implementation of the STARChannel link supports flow control
mechanisms including channel flow control and link flow control. In the case of channel
flow control, STARChannel maintains a per channel receive queue and a per channel
transmit queue. If the receive channel queue passes a threshold corresponding to an
"almost full" level, the local transmitter asserts the flow control bit for the corresponding
channel to the remote receiver. The remote receiver receives the flow control bit and
instructs the remote transmitter to stop transmitting on the flow-controlled channel.
In the case of link flow control, a link first in first out mechanism (FIFO) is
implemented per STARChannel interface and a link level flow control mechanism is
implemented to maintain receive overflows in the link FIFO. When two STARChannel
devices running at considerably different speeds are communicating with each other, it is
possible for the link FIFO to fill up before the channel flow control is asserted. If so, this
condition is reported to the remote transmitter using a K- character XON/XOFF flow
control sequence. When an XOFF K-Character (K28_4) is received, the transmitter
stops transmitting STARCells. When an XON K-Character (K28_3) is received, the
transmitter starts sending STARCells.
In the example implementation, STARChannel also supports loopback modes
including STARChannel local line loopback, STARChannel remote loopback,
STARChannel local facility loopback, and STARChannel remote facility loopback. In
the case of STARChannel local line loopback, data received on the system interface of
the accelerator card is looped back at the local serial transmit interface on accelerator
In STARChannel remote loopback, data received on the system interface of the
accelerator card is looped back at the STARChannel system interface on the line card.
Data received on the system interface of the line card in STARChannel local
facility loopback is looped back at the local serial transmit interface on line card.
In the case of STARChannel remote facility loopback, data received on the system
interface of the line card is looped back at the STARChannel system interface on the
The technique (including one or more of the procedures described above) may be
implemented in hardware or software, or a combination of both. In at least some cases, it
is advantageous if the technique is implemented in computer programs executing on one
or more programmable computers, such as a system using a network processor solution
from SiByte, Inc., a general purpose computer, or a computer running or able to run
Microsoft Windows 95,98, 2000, Millennium Edition, NT, XP or other Microsoft
operating system; Unix; Linux; or MacOS; that each include a processor such as an Intel
Pentium 4, a storage medium readable by the processor (including volatile and non-
volatile memory and/or storage elements), at least one input device such as a keyboard or
a voice input device (which may include a microphone), and at least one output device.
Program code is applied to data entered using the input device to perform the method
described above and to generate output information. The output information is applied to
one or more output devices such as a display screen of the computer.
In at least some cases, it is advantageous if each program is implemented in a high
level procedural or object-oriented programming language such as C, C++, Java, or Perl
to communicate with a computer system. However, the programs can be implemented in
assembly or machine language, if desired. In any case, the language may be a compiled
or interpreted language.
In at least some cases, it is advantageous if each such computer program is stored
on a storage medium or device, such as ROM or magnetic diskette, mat is readable by a
general or special purpose programmable computer for configuring and operating the
computer when the storage medium or device is read by the computer to perform the
procedures described in this document. The system may also be considered to be
implemented as a computer-readable storage medium, configured with a computer
program, where the storage medium so configured causes a computer to operate in a
specific and predefined manner.
Other embodiments are within the scope of the following claims. For example,
communication between cards may be provided in whole or in part by wireless
communications systems. Packets, fields, or sets of bits may have variable lengths.
1. A method for causing communication between a line card and an accelerator
card in a data and voice communication system, the method comprising the steps of:
receiving voice, data, and control traffic from the line card(1030A; and
transmitting the voice, data, and control traffic to the accelerator card (1020) via
a physical link (1070A/1080A-B) having separate voice, data and control logical
channels, the separate voice, data, and control logical channels being represented by
labeled data packets.
2. The method as claimed in claim 1, for causing communication between a line
card and an accelerator card in a data and voice communication system, said method
involving the steps of:
receiving time division multiplex (TDM) data from a first Sine card (1030A);
receiving packet data from a second line card (1030B);
formatting the TDM data and the packet data in accordance with a packet-
based protocol to produce formatted TDM and packet data; and
communicating the formatted TDM and packet data to the accelerator card
3. The method as claimed in claim 1, wherein the voice traffic contains TDM data.
4. The method as claimed in claim 1, wherein the data traffic contains ATM data.
5. The method as claimed in claim 1, wherein the data contains packet data.
A data and voice communication system comprising communication
between a line card (1030A) and an accelerator card (1020). This
communication system provides capabilities for different subsystems that use
different formats such as time division multiplex, packet data, etc. to work
together. Communication system traffic can comprise voice, data, and control
traffic on separate logical channels. In addition, the traffic can be formatted
into a protocol before transmitting to the accelerator card (1020).
|Indian Patent Application Number||319/KOLNP/2005|
|PG Journal Number||04/2008|
|Date of Filing||02-Mar-2005|
|Name of Patentee||STARENT NETWORKS CORPORATION|
|Applicant Address||30 INTERNATIONAL PLOACE TEWKSBURY USA.|
|PCT International Classification Number||HO4Q 11/04|
|PCT International Application Number||PCT/US2003/025469|
|PCT International Filing date||2003-08-13|