US7227876B1 - FIFO buffer depth estimation for asynchronous gapped payloads - Google Patents
FIFO buffer depth estimation for asynchronous gapped payloads Download PDFInfo
- Publication number
- US7227876B1 US7227876B1 US10/321,582 US32158202A US7227876B1 US 7227876 B1 US7227876 B1 US 7227876B1 US 32158202 A US32158202 A US 32158202A US 7227876 B1 US7227876 B1 US 7227876B1
- Authority
- US
- United States
- Prior art keywords
- fifo buffer
- bits
- accumulator
- port
- data stream
- 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 - Fee Related, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/07—Synchronising arrangements using pulse stuffing for systems with different or fluctuating information rates or bit rates
- H04J3/076—Bit and byte stuffing, e.g. SDH/PDH desynchronisers, bit-leaking
Definitions
- This invention relates to FIFO (first-in, first-out) buffer fill level (depth) tracking during mapping or demapping of plesiosynchronous data hierarchy (PDH) signals into synchronized data signals, or vice-versa.
- FIFO first-in, first-out buffer fill level
- Data signals are synchronized between asynchronous time domains by “mapping” them from one data rate to another.
- plesiosynchronous signals such as DS3 signals characterized by a 44.736 Mb/s clock rate are commonly mapped from a plesiosynchronous link to a synchronous optical network/synchronous data hierarchy (SONET/SDH) link having a different characteristic clock rate such as the 1.728 Mb/s rate of the SONET virtual tributary 1.5 (VT1.5) signal.
- An electronic device known as a “mapper” performs the mapping operation. After transmission over the SONET/SDH link, the signal is desynchronized (demapped) by a “demapper” which reconverts the SONET/SDH signal to a plesiosynchronous signal for transmission over another plesiosynchronous link.
- a FIFO buffer compensates for “gapped” data flow which occurs if data is written into the FIFO buffer at a uniform rate, but read from the FIFO buffer at a non-uniform rate; or, if data is written into the FIFO buffer at a non-uniform rate, but read from the FIFO buffer at a uniform rate.
- FIFO buffers compensate for non-uniform data rates in DS3/E3-to-SONET mappers and in SONET-to-DS3/E3 demappers.
- DS3/E3 data is written to or read from the FIFO buffer at a constant rate but, on the SONET clock domain, frame locations that contain no DS3 or E3 payload data (such as transport overhead, path overhead, and fixed stuff bit locations) result in gapped data flow to or from the FIFO buffer.
- the FIFO buffer's read address and write address pointers are adjusted to enable the FIFO buffer to absorb the maximum number of excess read or excess write operations which must be performed during gapped data flow situations to maintain synchronization of the data signals between the two asynchronous clock domains.
- gapped data flow causes periodic fluctuations in the FIFO buffer fill level, necessitating continual adjustment of the FIFO buffer's read address and write address pointers.
- the periodic FIFO buffer fill level pattern repeats once per SONET row. The actual pattern depends on the payload mapping scheme and on the alignment of the synchronous payload envelope (SPE) within the SONET frame.
- SPE synchronous payload envelope
- the FIFO buffer fill level may drop as low as 4 bytes below the FIFO buffer's center (when the SPE pointer is set to 4, as shown in FIG. 1 ), or rise as high as 4 bytes above the FIFO buffer center (when the SPE pointer is set to 52, as shown in FIG. 2 ).
- One prior art method of adjusting the FIFO buffer's read address and write address pointers to compensate for FIFO buffer fill level fluctuations is to set high and low guard bands ( FIG. 3 ) straddling the FIFO buffer's center. If the FIFO buffer fill level increases above the “high” guard band or decreases below the “low” guard band, action can be initiated to adjust the FIFO buffer fill level to prevent buffer under-runs or overflows.
- the amplitude of the FIFO buffer fill level depends on the position of the SPE within the SONET frame. This requires an undesirably large FIFO buffer, in order to accommodate the entire range of FIFO buffer fill level amplitudes, and hence to prevent the FIFO buffer fill level from entering the guard band regions.
- Another prior art technique employs hardware flags to indicate when a FIFO buffer is almost full, almost empty or half full.
- the flags can be monitored to determine the FIFO buffer's fill level, and utilized in a manner analogous to the above-described guard bands.
- Another prior art approach uses the FIFO buffer fill level as a phase detector input for high order control loops. This method can be effective if high order control loops capable of closely tracking the incoming and outgoing data rates are used. However, high order control loops require larger settling times to track each new rate, which can cause the FIFO buffer fill level to shift up or down. High order control loops thus require larger FIFO buffers to prevent buffer under-runs or overflows. Although even higher order control loops can mitigate this effect, they may require significant stability analysis and are more complex.
- the invention continuously derives a desired FIFO buffer fill level during mapping or demapping of plesiosynchronous data signals into synchronized data signals, or vice-versa.
- the demapping operation is performed by extracting payload data bits from the input data stream, accumulating the extracted payload data bits until an n-bit payload data byte is accumulated, writing the payload data byte into the FIFO buffer during a FIFO buffer write clock cycle and then reading the payload data byte from the FIFO buffer during a FIFO buffer read clock cycle.
- the value of j and the integer values I i are selected such that
- a FIFO buffer fill error value is also derived during each k th consecutive FIFO buffer write clock cycle, by subtracting from a “true” FIFO buffer fill level representative of the difference between the FIFO buffer's write address and read address pointers, (i) the desired FIFO buffer fill level; and, (ii) a phase value representative of the accumulated phase due to SONET pointer justification events.
- FIG. 1 graphically depicts FIFO buffer fill level (in bits) as a function of STS-1 column in a DS3 carried over AU-3 SONET mapping situation for the case in which the SPE pointer value is “4.”
- the FIFO buffer fill is approximately 4 bytes below the FIFO buffer's center.
- the FIFO buffer fill level is approximately 1 byte above the FIFO buffer's center.
- FIG. 2 graphically depicts FIFO buffer fill level (in bits) as a function of STS-1 column in a DS3 carried over AU-3 SONET mapping situation for the case in which the SPE pointer value is “52.”
- the FIFO buffer fill is approximately 2 bytes below the FIFO buffer's center.
- the FIFO buffer fill level is approximately 3 bytes above the FIFO buffer's center.
- FIG. 3 graphically depicts high and low guard bands relative to a FIFO buffer's fill and center levels for two 90 column STS-1 rows.
- FIG. 4 schematically depicts circuitry for determining desired FIFO buffer fill level (Desired_Fill) in accordance with the invention.
- FIG. 5A is similar to FIG. 1 , with the desired FIFO buffer fill level (Desired_Fill) determined in accordance with the invention superimposed.
- FIG. 5B graphically depicts the FIFO buffer fill estimation error (Fill_Error) corresponding to FIG. 5A .
- FIG. 6A is similar to FIG. 2 , with the desired FIFO buffer fill level determined in accordance with the invention superimposed.
- FIG. 6B graphically depicts the fill estimation error (Fill_Error) corresponding to FIG. 6A .
- FIG. 7 schematically depicts circuitry for determining fill estimation error (Fill_Error) in accordance with the invention.
- An STS-1 to DS3/E3 demapper extracts E3 or DS3 payloads from VC-3 structures mapped into an STS-1 SPE via AU-3 or TUG-3 mapping schemes.
- the demapper receives a VC-3 payload byte containing varying amounts of PDH DS3/E3 payload information.
- the DS3/E3 payload information is extracted and temporarily stored.
- the extracted DS3/E3 payload information is written into the FIFO buffer once a full byte of such information has been accumulated in the temporary storage location. Accordingly, DS3/E3 payload information bytes are written to the FIFO buffer at a non-uniform rate, not once per STS-1 clock cycle.
- FIFO buffer write operations are “gapped” so that only full DS3/E3 payload information bytes are written to the FIFO buffer.
- the demapper extracts the payload information bits from the incoming VC-3, assembles the extracted payload information bits into payload bytes, and writes the assembled payload bytes into a FIFO buffer using a 6.48 MHz (STS-1 byte rate) clock.
- a VC-3 payload byte mapped with DS3 data contains 0, 1, 5, or 8 DS3 payload information bits.
- a VC-3 payload byte mapped with E3 data contains 0, 1, 7, or 8 E3 payload information bits. Only DS3/E3 payload information bits are written into the FIFO buffer (not shown). Non-payload information bits, such as those used to accommodate SONET transport overhead factors, are not written into the FIFO buffer.
- the assembled DS3/E3 payload information bytes are read from the FIFO buffer and output as a serial data stream using a parallel-in-serial-out (PISO) converter.
- the FIFO buffer read clock frequency is equal to the input PDH data rate, divided by 8.
- Bytes of DS3/E3 data are read from the FIFO buffer every read clock cycle. Gapped data flow results, since DS3/E3 data bytes are written into the FIFO buffer at a non-uniform rate, but read from the FIFO buffer at a uniform rate.
- the rate at which data is written to the FIFO buffer equals the rate at which data is read from the FIFO buffer, in both DS3 and E3 modes of operation.
- the true instantaneous FIFO buffer fill level (the separation between the FIFO buffer's write address and read address pointers) fluctuates. Specifically, the instantaneous FIFO buffer fill level varies as a periodic function (waveform) having a period equal to one STS-1 row, relative to the FIFO buffer's fixed center value (labelled FIFO_Center in FIGS. 1 , 2 , 3 , 5 A and 6 A).
- the amplitude of the variation of the instantaneous FIFO buffer fill level relative to the FIFO buffer center depends on the alignment of the SPE within the incoming STS-1, and on the DS3/E3 payload mapping scheme (i.e. AU-3 or TUG-3).
- Each STS-1 frame has 783 possible SONET pointer positions.
- Each SONET pointer position corresponds to a different SPE alignment and to a distinct FIFO buffer true fill level periodic waveform.
- the invention approximates the demapper FIFO buffer's outgoing data rate to derive an approximation of the desired FIFO buffer fill level for any SONET pointer position, as shown in FIG. 4 . As depicted in FIG.
- the derived approximation is compared with the FIFO buffer true fill level, and the difference is output as an error indication which can be utilized by FIFO buffer centering logic to maintain a desired separation between the FIFO buffer's write address and read address pointers before buffer overflows or under-runs occur.
- Bits_Written Number of bits written to the FIFO buffer This quantity, updated during every FIFO buffer write operation, is known exactly.
- Bits_Read Number of bits read from the FIFO buffer This quantity, updated every write clock cycle, is an ap- proximation.
- Gap_Pattern An approximation of the variation in FIFO buffer fill level caused by gapped payload write actions. This is a signed number, updated every write clock cycle.
- the “Gap_Pattern” approximation value is derived with the aid of accumulators 10 , 12 ( FIG. 4 ). As explained below, accumulator 10 outputs a “Bits_Read” cumulative total of the approximate number of bits read from the FIFO buffer and accumulator 12 outputs a “Bits_Written” cumulative total of the number of bits written to the FIFO buffer.
- the “FIFO buffer write clock” signal is applied to Bits_Read accumulator 10 once per STS-1 FIFO buffer write clock cycle in order to update its cumulative total once per STS-1 FIFO buffer write clock cycle.
- a FIFO buffer write operation occurs whenever the “FIFO buffer write clock” and “FIFO buffer write enable” signals are simultaneously applied to Bits_Written accumulator 12 .
- the D output port of first dual-input multiplexor 14 is connected to the Y input port of O-to-Y rollover counter 16 .
- the constant value “9” is continuously applied to multiplexor 14 's first input port S 1 .
- the constant value “2” is continuously applied to multiplexor 14 's second input port S 2 .
- a binary DS3/E3 mode select signal applied to multiplexor 14 's SELECT port determines which one of multiplexor 14 's input values “9” or “2” is asserted at multiplexor 14 's D output port and applied to counter 16 's Y input port.
- the binary signal applied to multiplexor 14 's SELECT port results in application of the value “9” to counter 16 's Y input port.
- the binary signal applied to multiplexor 14 's SELECT port results in application of the value “2” to counter 16 's Y input port.
- a reset signal is applied to counter 16 's RESET port, resetting counter 16 to assert a value of zero at counter 16 's COUNT output port.
- the value applied to counter 16 's Y input port determines the number of consecutive clock cycles for which counter 16 counts incrementally before rolling the value output at its COUNT port over to zero to begin a fresh count.
- counter 16 outputs at its COUNT port, in sequence, one of the ten values ⁇ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ⁇ during each of first through tenth consecutive FIFO buffer write clock cycles respectively, after which counter 16 rolls over to zero then sequentially outputs one of the same ten values for another ten consecutive FIFO buffer write clock cycles, etc.
- counter 16 In E3 mode, counter 16 outputs at its COUNT port, in sequence, one of the three values ⁇ 0, 1, 2 ⁇ during each of first, second and third consecutive FIFO buffer write clock cycles respectively, after which counter 16 rolls over to zero then sequentially outputs one of the same three count values for another three consecutive FIFO buffer write clock cycles, etc.
- the constant value “7” is continuously applied to second dual-input multiplexor 18 's first input port S 1 .
- the constant value “5” is continuously applied to multiplexor 18 's second input port S 2 .
- the constant value “6” is continuously applied to third dual-input multiplexor 20 's first input port S 1 .
- Multiplexor 18 's D output port is connected to multiplexor 20 's second input port S 2 .
- the same binary DS3/E3 mode select signal applied to multiplexor 14 's SELECT port is also applied to multiplexor 18 's SELECT port, and determines which one of multiplexor 18 's input values “7” or “5” is asserted at multiplexor 18 's D output port and applied to multiplexor 20 's second input port S 2 .
- the binary signal applied to multiplexor 18 's SELECT port results in application of the value “7” to multiplexor 20 's S 2 input port.
- E3 mode the binary signal applied to multiplexor 18 's SELECT port results in application of the value “5” to multiplexor 20 's S 2 input port.
- the COUNT value output by counter 16 is applied to multiplexor 20 's SELECT port.
- the value applied to multiplexor 20 's S 2 input port is asserted at multiplexor 20 's D output port as long as the value applied to multiplexor 20 's SELECT port is non-zero.
- the value applied to multiplexor 20 's S 1 input port is asserted at multiplexor 20 's D output port as long as the value applied to multiplexor 20 's SELECT port is zero.
- E3 mode during the first FIFO buffer write clock cycle, the COUNT value output by counter 16 is zero. Consequently, during the first FIFO buffer write clock cycle, multiplexor 20 outputs the value “6” in E3 mode.
- the E3 mode COUNT value output by counter 16 is non-zero (i.e., the values ⁇ 1,2 ⁇ are output by counter 16 during the second and third cycles respectively). Consequently, in E3 mode, during each of the second and third FIFO buffer write clock cycles, multiplexor 20 outputs the value “5”. Accordingly, multiplexor 20 repeatedly outputs the sequence of three values ⁇ 6, 5, 5 ⁇ in E3 mode.
- Multiplexor 20 's D output port is connected to one of first adder 22 's two “+” input ports.
- Adder 22 's other “+” input port is connected to the OUT port of Bits_Read accumulator 10 .
- Adder 22 adds the values asserted at its two input ports and applies the resultant total to the IN port of Bits_Read accumulator 10 , which asserts that total at its OUT port on the next FIFO buffer write clock cycle as the Bits_Read value.
- the aforementioned STS-1 row start reset signal is applied to the CLEAR ports of Bits_Read accumulator 10 and Bits_Written accumulator 12 , causing both accumulators to output a value of zero at the beginning of each STS-1 row.
- multiplexor 20 consecutively outputs at its D output port one value from the sequence ⁇ 6, 7, 7, 7, 7, 7, 7, 7, 7 ⁇ during each of ten consecutive DS3 mode FIFO buffer write clock cycles.
- multiplexor 20 consecutively outputs at its D output port one value from the sequence ⁇ 6, 5, 5 ⁇ during each of three consecutive E3 mode FIFO buffer write clock cycles.
- a constant value “8” is applied to one of second adder 24 's two “+” input ports.
- Adder 24 's other “+” input port is connected to the OUT port of Bits_Written accumulator 12 .
- Adder 24 adds the values asserted at its two input ports and applies the resultant total to the IN port of Bits_Written accumulator 12 , which asserts that total at its OUT port on the next clock cycle as the Bits_Written value.
- Bits_Written accumulator 12 is cleared (reset to zero) at the beginning of each STS-1 row. Once per FIFO buffer write operation, adder 24 adds the value “8” to Bits_Written accumulator 12 's cumulative total (i.e.
- the Bits_Written value is incremented by 8 if the FIFO buffer write enable signal is applied to accumulator 12 's ENABLE port during an STS-1 FIFO buffer write clock cycle) to reflect the fact that one 8-bit byte of DS3/E3 data has been written to the FIFO buffer.
- the FIFO buffer write operation is performed only if a full data byte is available to be written to the FIFO buffer; the write operation is not necessarily performed every write clock cycle.
- Accumulators 10 , 12 are cleared (reset to zero) at the beginning of each STS-1 row to minimize round-off errors caused by approximating the Bits_Read value output by accumulator 10 .
- the instantaneous Bits_Read value output by accumulator 10 is applied to subtracter 26 's “ ⁇ ” input port
- the instantaneous Bits_Written value output by accumulator 12 is applied to subtracter 26 's “+” input port
- the instantaneous Gap_Pattern value output by subtracter 26 is applied to one of adder 28 's two “+” input ports, the predefined (constant) FIFO_Center value is applied to the other one of adder 28 's “+” input ports, and adder 28 outputs the sum of those two input values.
- the summation value output by adder 28 is applied to the IN port of D-type flip flop 30 .
- the FIFO buffer write clock signal is applied to flip flop 30 's CLOCK port, causing flip flop 30 to output at its OUT port the Desired_Fill value in synchronization with the FIFO buffer write clock signal.
- FIGS. 5A and 6A show Desired_Fill values, derived as aforesaid, superimposed on corresponding True_Fill values (obtained from the FIFO buffer controller—not shown), for the SPE frame alignments shown in FIGS. 1 and 2 respectively.
- SONET pointers enable SPE movement across SONET/SDH frame boundaries. Frequency differences between network elements are handled by incrementing or decrementing the SONET pointer. This relocates the SPE within the SONET frame by adding an SPE byte to or subtracting an SPE byte from the SONET frame.
- SONET pointer justification events which are not synchronized with the FIFO buffer read or write clocks, cause sudden phase changes which are absorbed by the FIFO buffer and reflected in the FIFO buffer fill level. This “excess” phase information is transient and has the effect of temporarily shifting the True_Fill pattern up or down.
- FIG. 7 depicts circuitry for determining the Fill_Error value.
- Block 32 represents the FIG. 4 circuitry, which outputs the Desired_Fill value, as aforesaid.
- Subtracter 34 subtracts both the Ptr_Phase value (obtained from the pointer processing logic—not shown) and the Desired_Fill value from the True_Fill value (obtained from the FIFO read and write address pointers—not shown) to produce the Fill_Error value.
- the Fill_Error value can be used to vary the frequency of the FIFO buffer read clock, and adjust the FIFO buffer write address and read address pointers until the Fill_Error value is minimized.
- the Fill_Error value may also be used to indicate impending FIFO buffer overflows or under-runs.
- the invention facilitates maintenance of FIFO buffer fill levels during synchronization and desynchronization of signals between asynchronous clock domains, allowing FIFO buffer centering to be performed well in advance of overflow or under-run events. “Double accounting” of transient SONET pointer justification events, which temporarily shift the periodic FIFO buffer fill pattern above or below the FIFO buffer center, is prevented.
- the mapper and demapper FIFO buffers' desired fill levels are accurately estimated for all possible SPE frame alignments, independently of the DS3/E3 mapping scheme (TUG-3 or AU-3) and independently of the DS3/E3 payload rate (whether DS3 or E3).
- bits_Written, Bits_Read, and Ptr_Phase values are rounded up to the nearest byte since the FIFO buffer storage locations are byte-wide.
- the invention is readily adapted to use with serial (bit-wide) FIFO buffers, in which case the accuracy of the derived Fill_Error value is improved.
- the FIG. 4 circuitry need not be capable of handling both DS3 and E3 signals, but can be simplified for handling only one type of signal. This can be achieved by removing multiplexors 14 , 18 . If only DS3 signals are to be handled, the constant value “7” is applied to multiplexor 20 's input port S 2 and the constant value “9” is applied to counter 16 's Y input. If only E3 signals are to be handled, the constant value “5” is applied to multiplexor 20 's input port S 2 and the constant value “2” is applied to counter 16 's Y input.
- the scope of the invention is to be construed in accordance with the substance defined by the following claims.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
closely approximates the number of bits read from the FIFO buffer per FIFO buffer write clock cycle. During each kth consecutive FIFO buffer write clock cycle, a Bits_Read value Ik+Ik-1 is produced where k=1, . . . , p; a Bits_Written value is produced; a Gap_Pattern value is derived by subtracting the Bits_Read value from the Bits_Written value; and, the Gap_Pattern is added to a predefined value representative a FIFO buffer center fill level to produce the desired FIFO buffer fill level.
Description
closely approximates the number of bits read from the FIFO buffer per FIFO buffer write clock cycle. For example, the input data stream may be a SONET/SDH data signal having p=90 columns per STS-1 row and the output data stream may be a DS3 data signal, in which case one may advantageously set j=10, Ii=6 for i=1, and Ii=7 for i=2, . . . , 10 to yield
closely approximating the average of 6.9037 bits actually read from the FIFO buffer per STS-1 write clock cycle in DS3 mode, assuming a nominal payload rate. As another example, the input data stream may be a SONET/SDH data signal (also having p=90 columns per STS-1 row) and the output data stream may be an E3 data signal, in which case one may advantageously set j=3, Ii=6, I2=5, and I3=5 to yield
closely approximating the average of 5.3037 bits actually read from the FIFO buffer per STS-1 write clock cycle in E3 mode, again assuming a nominal payload rate.
| Bits_Written | Number of bits written to the FIFO buffer. This |
| quantity, updated during every FIFO buffer write | |
| operation, is known exactly. | |
| Bits_Read | Number of bits read from the FIFO buffer. This |
| quantity, updated every write clock cycle, is an ap- | |
| proximation. | |
| Gap_Pattern | An approximation of the variation in FIFO buffer fill |
| level caused by gapped payload write actions. This is | |
| a signed number, updated every write clock cycle. | |
| Ptr_Phase | The amount of accumulated data, in bits, that is pend- |
| ing to be “leaked” due to SONET pointer justification | |
| events. When a negative justification occurs, the fill | |
| level temporarily rises. When a positive justification | |
| occurs, the fill level temporarily drops. This is a | |
| signed quantity, updated every write clock cycle, and | |
| is known exactly. | |
| True_Fill | The difference between the FIFO buffer's write ad- |
| dress pointer and the read address pointer (i.e. the | |
| amount of data stored in the FIFO buffer); updated | |
| every write clock cycle. | |
| Desired_Fill | The ideal FIFO buffer fill level, at any STS-1 column |
| position for any STS-1 SPE frame alignment or pay- | |
| load mapping scheme. | |
| FIFO_Center | This value is a predefined constant representative of |
| an ideal, fixed operating FIFO buffer fill level. The | |
| value is chosen such that for every possible STS-1 | |
| SPE frame alignment and DS3/E3 mapping scheme, | |
| fill level fluctuations do not cause buffer overflows or | |
| under-runs. | |
| Fill_Error | The difference between the calculated Desired_Fill, |
| Ptr_Phase and True_Fill values. This is a signed | |
| number, updated every write clock cycle. | |
Claims (38)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/321,582 US7227876B1 (en) | 2002-01-28 | 2002-12-18 | FIFO buffer depth estimation for asynchronous gapped payloads |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US35136502P | 2002-01-28 | 2002-01-28 | |
| US10/321,582 US7227876B1 (en) | 2002-01-28 | 2002-12-18 | FIFO buffer depth estimation for asynchronous gapped payloads |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US7227876B1 true US7227876B1 (en) | 2007-06-05 |
Family
ID=38090212
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US10/321,582 Expired - Fee Related US7227876B1 (en) | 2002-01-28 | 2002-12-18 | FIFO buffer depth estimation for asynchronous gapped payloads |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US7227876B1 (en) |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050036520A1 (en) * | 2003-08-14 | 2005-02-17 | Huawei Technologies Co., Ltd. | Transfer device for implementing multi-port service convergence and method thereof |
| US20060215782A1 (en) * | 2005-03-24 | 2006-09-28 | Yasser Ahmed | Methods and apparatus for asynchronous serial channel connections in communication systems |
| US20070110059A1 (en) * | 2003-01-17 | 2007-05-17 | Applied Micro Circuits Corporation | Modulated jitter attenuation filter |
| US20070201593A1 (en) * | 2006-02-09 | 2007-08-30 | Flextronics International USA, Inc., a California Corporation | Egress pointer smoother |
| US20080075125A1 (en) * | 2006-09-22 | 2008-03-27 | Ravi Subrahmanyan | Sampled accumulation system and method for jitter attenuation |
| US7519064B1 (en) | 2003-12-05 | 2009-04-14 | Mahi Networks, Inc. | Virtual tributary processing using shared resources |
| US7715443B1 (en) * | 2003-12-05 | 2010-05-11 | Meriton Networks Us Inc. | Boundary processing between a synchronous network and a plesiochronous network |
| US7984209B1 (en) * | 2006-12-12 | 2011-07-19 | Altera Corporation | Data interface methods and circuitry with reduced latency |
| US20140086258A1 (en) * | 2012-09-27 | 2014-03-27 | Broadcom Corporation | Buffer Statistics Tracking |
| US20160308667A1 (en) * | 2013-12-12 | 2016-10-20 | Northrop Grumman Litef Gmbh | Method and device for transmitting data on asynchronous paths between domains with different clock frequencies |
| CN112994825A (en) * | 2019-12-12 | 2021-06-18 | 烽火通信科技股份有限公司 | Self-adaptive data flow homogenization processing method and system |
| US11892955B2 (en) | 2021-06-01 | 2024-02-06 | Microchip Technology Inc. | System and method for bypass memory read request detection |
Citations (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4888739A (en) | 1988-06-15 | 1989-12-19 | Cypress Semiconductor Corporation | First-in first-out buffer memory with improved status flags |
| US4942553A (en) | 1988-05-12 | 1990-07-17 | Zilog, Inc. | System for providing notification of impending FIFO overruns and underruns |
| US5157655A (en) | 1990-10-31 | 1992-10-20 | Transwitch Corp. | Apparatus for generating a ds-3 signal from the data component of an sts-1 payload signal |
| US5331641A (en) | 1990-07-27 | 1994-07-19 | Transwitch Corp. | Methods and apparatus for retiming and realignment of STS-1 signals into STS-3 type signal |
| US5548534A (en) * | 1994-07-08 | 1996-08-20 | Transwitch Corporation | Two stage clock dejitter circuit for regenerating an E4 telecommunications signal from the data component of an STS-3C signal |
| US5563890A (en) * | 1995-06-14 | 1996-10-08 | National Semiconductor Corporation | SONET/SDH pointer justification gap elimination circuit |
| US6289065B1 (en) | 1993-10-29 | 2001-09-11 | Hyundai Electronics America | FIFO status indicator |
| US6463111B1 (en) * | 2001-05-25 | 2002-10-08 | Transwitch Corporaton | Method and apparatus for desynchronizing a DS-3 signal and/or an E3 signal from the data portion of an STS-STM payload |
| US20030021287A1 (en) * | 2001-05-04 | 2003-01-30 | Appian Communications, Inc. | Communicating data between TDM and packet based networks |
| US20030227988A1 (en) * | 2002-01-25 | 2003-12-11 | Ravi Subrahmanyan | Jitter and wander reduction apparatus |
| US6744787B1 (en) * | 2000-10-27 | 2004-06-01 | Pmc-Sierra, Inc. | Adaptive phase shift filtration of pointer justification jitter in synchronous-plesiosynchronous signal desynchronization |
| US6819725B1 (en) * | 2000-08-21 | 2004-11-16 | Pmc-Sierra, Inc. | Jitter frequency shifting Δ-Σ modulated signal synchronization mapper |
| US6836854B2 (en) * | 2001-04-03 | 2004-12-28 | Applied Micro Circuits Corporation | DS3 Desynchronizer with a module for providing uniformly gapped data signal to a PLL module for providing a smooth output data signal |
| US6982995B2 (en) * | 2000-04-28 | 2006-01-03 | Pmc-Sierra, Inc. | Multi-channel SONET/SDH desynchronizer |
| US7002986B1 (en) * | 1999-07-08 | 2006-02-21 | Nortel Networks Limited | Mapping arbitrary signals into SONET |
| US7068679B1 (en) * | 1999-12-29 | 2006-06-27 | Nortel Networks Limited | Asynchronous payload mapping using direct phase transfer |
-
2002
- 2002-12-18 US US10/321,582 patent/US7227876B1/en not_active Expired - Fee Related
Patent Citations (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4942553A (en) | 1988-05-12 | 1990-07-17 | Zilog, Inc. | System for providing notification of impending FIFO overruns and underruns |
| US4888739A (en) | 1988-06-15 | 1989-12-19 | Cypress Semiconductor Corporation | First-in first-out buffer memory with improved status flags |
| US5331641A (en) | 1990-07-27 | 1994-07-19 | Transwitch Corp. | Methods and apparatus for retiming and realignment of STS-1 signals into STS-3 type signal |
| US5157655A (en) | 1990-10-31 | 1992-10-20 | Transwitch Corp. | Apparatus for generating a ds-3 signal from the data component of an sts-1 payload signal |
| US6289065B1 (en) | 1993-10-29 | 2001-09-11 | Hyundai Electronics America | FIFO status indicator |
| US5548534A (en) * | 1994-07-08 | 1996-08-20 | Transwitch Corporation | Two stage clock dejitter circuit for regenerating an E4 telecommunications signal from the data component of an STS-3C signal |
| US5563890A (en) * | 1995-06-14 | 1996-10-08 | National Semiconductor Corporation | SONET/SDH pointer justification gap elimination circuit |
| US7002986B1 (en) * | 1999-07-08 | 2006-02-21 | Nortel Networks Limited | Mapping arbitrary signals into SONET |
| US7068679B1 (en) * | 1999-12-29 | 2006-06-27 | Nortel Networks Limited | Asynchronous payload mapping using direct phase transfer |
| US6982995B2 (en) * | 2000-04-28 | 2006-01-03 | Pmc-Sierra, Inc. | Multi-channel SONET/SDH desynchronizer |
| US6819725B1 (en) * | 2000-08-21 | 2004-11-16 | Pmc-Sierra, Inc. | Jitter frequency shifting Δ-Σ modulated signal synchronization mapper |
| US6744787B1 (en) * | 2000-10-27 | 2004-06-01 | Pmc-Sierra, Inc. | Adaptive phase shift filtration of pointer justification jitter in synchronous-plesiosynchronous signal desynchronization |
| US6836854B2 (en) * | 2001-04-03 | 2004-12-28 | Applied Micro Circuits Corporation | DS3 Desynchronizer with a module for providing uniformly gapped data signal to a PLL module for providing a smooth output data signal |
| US20030021287A1 (en) * | 2001-05-04 | 2003-01-30 | Appian Communications, Inc. | Communicating data between TDM and packet based networks |
| US6463111B1 (en) * | 2001-05-25 | 2002-10-08 | Transwitch Corporaton | Method and apparatus for desynchronizing a DS-3 signal and/or an E3 signal from the data portion of an STS-STM payload |
| US20030227988A1 (en) * | 2002-01-25 | 2003-12-11 | Ravi Subrahmanyan | Jitter and wander reduction apparatus |
Cited By (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070110059A1 (en) * | 2003-01-17 | 2007-05-17 | Applied Micro Circuits Corporation | Modulated jitter attenuation filter |
| US7440533B2 (en) * | 2003-01-17 | 2008-10-21 | Applied Micro Circuits Corporation | Modulated jitter attenuation filter |
| US20050036520A1 (en) * | 2003-08-14 | 2005-02-17 | Huawei Technologies Co., Ltd. | Transfer device for implementing multi-port service convergence and method thereof |
| US7542479B2 (en) * | 2003-08-14 | 2009-06-02 | Huawei Technologies Co., Ltd. | Transfer device for implementing multi-port service convergence and method thereof |
| US7715443B1 (en) * | 2003-12-05 | 2010-05-11 | Meriton Networks Us Inc. | Boundary processing between a synchronous network and a plesiochronous network |
| US7519064B1 (en) | 2003-12-05 | 2009-04-14 | Mahi Networks, Inc. | Virtual tributary processing using shared resources |
| US20060215782A1 (en) * | 2005-03-24 | 2006-09-28 | Yasser Ahmed | Methods and apparatus for asynchronous serial channel connections in communication systems |
| US7688924B2 (en) * | 2005-03-24 | 2010-03-30 | Agere Systems Inc. | Methods and apparatus for asynchronous serial channel connections in communication systems |
| US20070201593A1 (en) * | 2006-02-09 | 2007-08-30 | Flextronics International USA, Inc., a California Corporation | Egress pointer smoother |
| US8588354B2 (en) * | 2006-02-09 | 2013-11-19 | Flextronics Ap, Llc | Egress pointer smoother |
| US20080075125A1 (en) * | 2006-09-22 | 2008-03-27 | Ravi Subrahmanyan | Sampled accumulation system and method for jitter attenuation |
| US7590154B2 (en) * | 2006-09-22 | 2009-09-15 | Applied Micro Circuits Corporation | Sampled accumulation system and method for jitter attenuation |
| US7984209B1 (en) * | 2006-12-12 | 2011-07-19 | Altera Corporation | Data interface methods and circuitry with reduced latency |
| US20140086258A1 (en) * | 2012-09-27 | 2014-03-27 | Broadcom Corporation | Buffer Statistics Tracking |
| US20160308667A1 (en) * | 2013-12-12 | 2016-10-20 | Northrop Grumman Litef Gmbh | Method and device for transmitting data on asynchronous paths between domains with different clock frequencies |
| US10211973B2 (en) * | 2013-12-12 | 2019-02-19 | Northrop Grumman Litef Gmbh | Method and device for transmitting data on asynchronous paths between domains with different clock frequencies |
| CN112994825A (en) * | 2019-12-12 | 2021-06-18 | 烽火通信科技股份有限公司 | Self-adaptive data flow homogenization processing method and system |
| US11892955B2 (en) | 2021-06-01 | 2024-02-06 | Microchip Technology Inc. | System and method for bypass memory read request detection |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0549125B1 (en) | Synchronous digital signal to asynchronous digital signal desynchronizer | |
| EP0830760B1 (en) | Digital desynchronizer | |
| US5157655A (en) | Apparatus for generating a ds-3 signal from the data component of an sts-1 payload signal | |
| US5311511A (en) | SONET DS-N desynchronizer | |
| US5604773A (en) | Desynchronizer and method for suppressing pointer jitter in a desynchronizer | |
| US7227876B1 (en) | FIFO buffer depth estimation for asynchronous gapped payloads | |
| JP3303110B2 (en) | Desynchronizer and mapping / jitter removal method | |
| US5263057A (en) | Method of reducing waiting time jitter | |
| US7180914B2 (en) | Efficient asynchronous stuffing insertion and destuffing removal circuit | |
| US6463111B1 (en) | Method and apparatus for desynchronizing a DS-3 signal and/or an E3 signal from the data portion of an STS-STM payload | |
| US6882662B2 (en) | Pointer adjustment wander and jitter reduction apparatus for a desynchronizer | |
| WO1991018457A1 (en) | Method of and circuit for synchronizing data | |
| US5548534A (en) | Two stage clock dejitter circuit for regenerating an E4 telecommunications signal from the data component of an STS-3C signal | |
| US6836854B2 (en) | DS3 Desynchronizer with a module for providing uniformly gapped data signal to a PLL module for providing a smooth output data signal | |
| US7212599B2 (en) | Jitter and wander reduction apparatus | |
| US7457390B2 (en) | Timeshared jitter attenuator in multi-channel mapping applications | |
| CN1286290C (en) | An apparatus and method for restoring E3/T3 branch signal from synchronous digital transmission hierarchy | |
| KR100280203B1 (en) | Bit leaking device | |
| US7590154B2 (en) | Sampled accumulation system and method for jitter attenuation | |
| US7440533B2 (en) | Modulated jitter attenuation filter | |
| US7039145B2 (en) | Control loop apparatus and method therefor | |
| KR100377505B1 (en) | Jitter control circuit |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: PMC-SIERRA, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:COCHRAN, ALEXANDER JOHN;BAILEY, PATRICK NEIL;CARR, LARRIE S.;REEL/FRAME:013592/0416 Effective date: 20021216 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| AS | Assignment |
Owner name: BANK OF AMERICA, N.A., NORTH CAROLINA Free format text: SECURITY INTEREST IN PATENTS;ASSIGNORS:PMC-SIERRA, INC.;PMC-SIERRA US, INC.;WINTEGRA, INC.;REEL/FRAME:030947/0710 Effective date: 20130802 |
|
| FPAY | Fee payment |
Year of fee payment: 8 |
|
| AS | Assignment |
Owner name: PMC-SIERRA US, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037675/0129 Effective date: 20160115 Owner name: WINTEGRA, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037675/0129 Effective date: 20160115 Owner name: PMC-SIERRA, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BANK OF AMERICA, N.A.;REEL/FRAME:037675/0129 Effective date: 20160115 |
|
| AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., NEW YORK Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.);MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.);REEL/FRAME:037689/0719 Effective date: 20160115 |
|
| AS | Assignment |
Owner name: MICROSEMI STORAGE SOLUTIONS (U.S.), INC., CALIFORN Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:046251/0271 Effective date: 20180529 Owner name: MICROSEMI STORAGE SOLUTIONS, INC., CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:046251/0271 Effective date: 20180529 |
|
| AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, ILLINOIS Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:046426/0001 Effective date: 20180529 Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:046426/0001 Effective date: 20180529 |
|
| AS | Assignment |
Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT, CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:047103/0206 Effective date: 20180914 Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES C Free format text: SECURITY INTEREST;ASSIGNORS:MICROCHIP TECHNOLOGY INCORPORATED;SILICON STORAGE TECHNOLOGY, INC.;ATMEL CORPORATION;AND OTHERS;REEL/FRAME:047103/0206 Effective date: 20180914 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20190605 |
|
| AS | Assignment |
Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: MICROSEMI CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: MICROSEMI CORPORATION, ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:059333/0222 Effective date: 20220218 |
|
| AS | Assignment |
Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: MICROSEMI CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: MICROCHIP TECHNOLOGY INCORPORATED, ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: SILICON STORAGE TECHNOLOGY, INC., ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: ATMEL CORPORATION, ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: MICROSEMI CORPORATION, ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 Owner name: MICROSEMI STORAGE SOLUTIONS, INC., ARIZONA Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT;REEL/FRAME:059358/0001 Effective date: 20220228 |