← Back to Patent Explorer
US5428649A Expired / Lapsed US ⏱️ 0.0 years remaining

Elastic buffer with bidirectional phase detector

Assignee: International Business Machines Corp
•
Filing: 1993-12-16
•
Granted: 1995-06-27
•
Expires: 2013-12-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An elastic buffer utilizes a circular buffer for receiving successive symbols over a communications link. The transmission clock of the received symbols and internal clock of the node on which the elastic buffer is located are independent. The transmission clock is used to load the successive symbols received over the transmission link into the circular buffer. The internal clock controls reading of the successive symbols from the circular buffer. A phase comparator operating on the transmission and internal clocks periodically generates an input side skip signal when the transmission clock overtakes the phase of the internal clock and an output side skip signal when the internal clock overtakes the phase of the external clock. An idle symbol detector monitors the successive symbols generates an idle indication when an idle symbol occurs. Responsive to concurrence of an input side skip signal and an idle indication, loading of an idle symbol from successive symbols into the circular buffer is omitted. Responsive to occurrence of an output side skip signal, the reading of successive symbols from the circular buffer is delayed for an internal clock period.

Inventors

  • 👤 Delbert R. Cecchi

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 20:34
CPC Classifications
H; H04; H04L; H04L25/00; H04L25/02; H04L25/05; H04J; H04J3/00; H04J3/02; H04J3/06; H04J3/062; H04J3/0626; H04L7/00; H04L7/04; H04L7/041; H04L2007/045

Claims Analysis

Total Claims: 23
Claim 1
Independent Claim 164 words
An elastic buffer comprising: a circular buffer; a connector into a transmission link, coupled to the circular buffer, over which successive symbols are received; a source of a first clock synchronous with the successive symbols received over the transmission link for controlling loading of the successive symbols into the circular buffer; a source of a second clock for controlling reading of the successive symbols from the circular buffer; a phase comparator taking the first and second clocks as inputs for generating an input side skip signal and an output side skip signal; a idle detector monitoring the successive symbols for occurrence of idle symbols and generating an idle indication when an idle symbol occurs; means responsive to occurrence of an input side skip signal and an idle indication for omitting loading of a symbol of the successive symbols into the circular buffer; and means responsive to occurrence of an output side skip signal for delaying reading of the successive symbols from the circular buffer.
Claim 2
Dependent Claim 164 words
An elastic buffer comprising: a circular buffer; a connector into a transmission link, coupled to the circular buffer, over which successive symbols are received; a source of a first clock synchronous with the successive symbols received over the transmission link for controlling loading of the successive symbols into the circular buffer; a source of a second clock for controlling reading of the successive symbols from the circular buffer; a phase comparator taking the first and second clocks as inputs for generating an input side skip signal and an output side skip signal; a idle detector monitoring the successive symbols for occurrence of idle symbols and generating an idle indication when an idle symbol occurs; means responsive to occurrence of an input side skip signal and an idle indication for omitting loading of a symbol of the successive symbols into the circular buffer; and means responsive to occurrence of an output side skip signal for delaying reading of the successive symbols from the circular buffer.
Claim 3
Dependent Claim 19 words
The elastic buffer of claim 1, wherein the circular buffer includes a plurality of symbol storage registers in parallel.
Claim 4
Dependent Claim 85 words
The elastic buffer of claim 2, wherein the means responsive to occurrence of an input side skip signal and an idle indication for omitting loading of a symbol includes a read counter element taking the first clock as an input and generating a plurality of phase staggered input subclocks, each of which is used to enable a different symbol storage register, the read counter element being further responsive to occurrence of the input side skip signal for delaying the phase of the phase staggered subclocks.
Claim 5
Dependent Claim 120 words
The elastic buffer of claim 2, wherein the circular buffer further comprises a multiplexor connected to read the symbol storage registers and wherein the means responsive to occurrence of an output side skip signal for delaying reading of successive symbols from the circular buffer further includes a write counter element taking the second clock as an input and generating a plurality of phase staggered output subclocks, each of which is associated with a different symbol storage register, and applying the phase staggered output subclocks to the multiplexor to cause reading of the symbol storage registers in a successive sequence, the write counter being further responsive to the output side skip signal for delaying in phase the phase staggered output subclocks.
Claim 6
Dependent Claim 120 words
The elastic buffer of claim 3, wherein the circular buffer further comprises a multiplexor connected to read the symbol storage registers and wherein the means responsive to occurrence of an output side skip signal for delaying reading of successive symbols from the circular buffer further include a write counter element taking the second clock as an input and generating a plurality of phase staggered output subclocks, each of which is associated with a different symbol storage register, and applying the phase staggered output subclocks to the multiplexor to cause reading of the symbol storage registers in a successive sequence, the write counter being further responsive to the output side skip signal for delaying in phase the phase staggered output subclocks.
Claim 7
Dependent Claim 169 words
The elastic buffer of claim 5, wherein the phase comparator includes: first comparator means taking as inputs a selected phase staggered input subclock and a set of phase staggered output subclocks from the write counter element which have a nominal phase relationship with the phase staggered input subclock for generating decrement and increment signals when the phase relationship departs from the nominal phase relationship; second comparator means taking as inputs a selected phase staggered input subclock and a set of phase staggered output subclocks which have a nominal phase relationship for generating decrement and increment signals when the phase relationship departs from the nominal phase relationship; a first random walk filter taking as inputs the decrement and increment signals from the first comparator means for accumulating gains in phase by the first clock on the second clock; and a second random walk filter taking as inputs the decrement and increment signals from the second comparator means for accumulating gains in phase by the second clock on the first clock.
Claim 8
Dependent Claim 32 words
The elastic buffer of claim 6, wherein the first random walk filter is responsive to the accumulated gain in phase passing a first predetermined threshold for generating the input side skip signal.
Claim 9
Dependent Claim 32 words
The elastic buffer of claim 7, wherein the second random walk filter is responsive to the accumulated gain in phase passing a second predetermined threshold for generating the output side skip signal.
Claim 10
Dependent Claim 25 words
The elastic buffer of claim 1, connected as a first in, first out buffer in a scalable coherent interface node in a data processing system.
Claim 11
Independent Claim 162 words
A method of buffering symbols in a communications interface on a node where a transmission clock for arriving data packets and an internal clock for the node are independent, the method comprising: detecting idle symbols in the arriving data packets; accumulating phase gain of the transmission clock on the internal clock and generating an input side skip signal if accumulated phase gain exceeds a first predetermined threshold; writing the arriving data packets into a circular buffer in synchronous with the transmission clock; skipping writing an arriving data packet in response to the input side skip signal and concurrent detection of an idle symbol; accumulating phase gain of the internal clock on the transmission clock and generating an output side skip signal if accumulated phase gain exceeds a second predetermined threshold; reading data packets from the circular buffer substantially in synchronous with the internal clock; and delaying reading the data packets from the circular buffer in response to the output side skip signal.
Claim 12
Independent Claim 162 words
A method of buffering symbols in a communications interface on a node where a transmission clock for arriving data packets and an internal clock for the node are independent, the method comprising: detecting idle symbols in the arriving data packets; accumulating phase gain of the transmission clock on the internal clock and generating an input side skip signal if accumulated phase gain exceeds a first predetermined threshold; writing the arriving data packets into a circular buffer in synchronous with the transmission clock; skipping writing an arriving data packet in response to the input side skip signal and concurrent detection of an idle symbol; accumulating phase gain of the internal clock on the transmission clock and generating an output side skip signal if accumulated phase gain exceeds a second predetermined threshold; reading data packets from the circular buffer substantially in synchronous with the internal clock; and delaying reading the data packets from the circular buffer in response to the output side skip signal.
Claim 13
Dependent Claim 32 words
The method of claim 10, further comprising: dividing the transmission clock into a plurality of staggered phase transmission subclocks; and dividing the internal clock into a plurality of staggered phase internal subclocks.
Claim 14
Dependent Claim 117 words
The method of claim 11, wherein accumulating phase gain of the transmission clock on the internal clock and generating an input side skip signal if accumulated phase gain exceeds a predetermined threshold includes: detecting overlap of a staggered phase transmission subclock with selected staggered phase internal subclocks; incrementing an input phase gain count in response to detection of overlap of the staggered phase transmission subclock and a nominally leading staggered phase internal subclock and decrementing the input phase gain count in response to detection of overlap of the staggered phase transmission subclock and a nominally trailing staggered phase internal subclock; and responsive to the input phase gain count exceeding a predetermined threshold, generating the input skip signal.
Claim 15
Dependent Claim 101 words
The method of claim 12, wherein accumulating phase gain of the internal clock on the transmission clock includes: detecting overlap of a staggered phase internal subclock with selected staggered phase transmission subclocks; incrementing a output phase gain count in response to detection of overlap of the staggered phase internal subclock and a nominally leading staggered phase transmission subclock and decrementing the output phase gain count in response to detection of overlap of the staggered phase internal subclock and a nominally trailing staggered phase transmission subclock; and responsive to the output phase gain count exceeding predetermined threshold, generating the output skip signal.
Claim 16
Dependent Claim 162 words
Apparatus comprising: means for receiving data packets and a transmission clock over a unidirectional data link; means for detecting idle symbols among the data packets; means for accumulating phase gain of the transmission clock on an internal clock and generating an input side skip signal if accumulated phase gain exceeds a first predetermined threshold; a circular buffer accepting the data packets in synchronous with the transmission clock; means for omitting application of a beat of the transmission clock to the circular buffer in response to the input side skip signal and concurrent detection of an idle symbol; means for accumulating phase gain of the internal clock on the transmission clock and generating an output side skip signal if accumulated phase gain exceeds a second predetermined threshold; means for reading data packets from the circular buffer substantially in synchronous with the internal clock; and means for delaying reading the data packets from the circular buffer in response to the output side skip signal.
Claim 17
Dependent Claim 162 words
Apparatus comprising: means for receiving data packets and a transmission clock over a unidirectional data link; means for detecting idle symbols among the data packets; means for accumulating phase gain of the transmission clock on an internal clock and generating an input side skip signal if accumulated phase gain exceeds a first predetermined threshold; a circular buffer accepting the data packets in synchronous with the transmission clock; means for omitting application of a beat of the transmission clock to the circular buffer in response to the input side skip signal and concurrent detection of an idle symbol; means for accumulating phase gain of the internal clock on the transmission clock and generating an output side skip signal if accumulated phase gain exceeds a second predetermined threshold; means for reading data packets from the circular buffer substantially in synchronous with the internal clock; and means for delaying reading the data packets from the circular buffer in response to the output side skip signal.
Claim 18
Dependent Claim 37 words
The apparatus of claim 14, and further comprising: means for dividing the transmission clock into a plurality of staggered phase transmission subclocks; and means for dividing the internal clock into a plurality of staggered phase internal subclocks.
Claim 19
Dependent Claim 111 words
The apparatus of claim 15, wherein the means for accumulating phase gain of the transmission clock on the internal clock include: means for detecting overlap of a staggered phase transmission subclock with selected staggered phase internal subclocks; an input side random walk filter for incrementing a phase gain count in response to detection of overlap of the staggered phase transmission subclock and a nominally leading staggered phase internal subclock and decrementing the phase gain count in response to detection of overlap of the staggered phase transmission subclock and a nominally trailing staggered phase internal subclock; and means responsive to overflow of the phase gain count for generating the input skip signal.
Claim 20
Dependent Claim 118 words
The apparatus of claim 16, wherein the means for accumulating phase gain of the internal clock on the transmission clock include: means for detecting overlap of a staggered phase internal subclock with selected staggered phase transmission subclocks; an output side random walk filter for incrementing a phase gain count in response to detection of overlap of the staggered phase internal subclock and a nominally leading staggered phase transmission subclock and decrementing the phase gain count in response to detection of overlap of the staggered phase internal subclock and a nominally trailing staggered phase transmission subclock; and means responsive to overflow of the phase gain count for the output side random walk filter for generating the output skip signal.
Claim 21
Dependent Claim 137 words
A distributed data processing system comprising: a plurality of independently clocked nodes; a plurality of unidirectional transmission links sequentially interconnecting the plurality of independently clocked nodes: a first in, first out data buffer on each of the plurality of independently clocked nodes for receiving data packets over the unidirectional transmission links; each first in, first out data buffer providing for skipping a received data packet corresponding to an idle symbol in response to a first clock for the received data packets overtaking a second clock of the node on which the first in, first out data buffer is disposed; and each first in, first out data buffer providing for delaying reading of a received data packet from the buffer in response to the second clock for the node overtaking the first clock of the received data packets.
Claim 22
Dependent Claim 137 words
A distributed data processing system comprising: a plurality of independently clocked nodes; a plurality of unidirectional transmission links sequentially interconnecting the plurality of independently clocked nodes: a first in, first out data buffer on each of the plurality of independently clocked nodes for receiving data packets over the unidirectional transmission links; each first in, first out data buffer providing for skipping a received data packet corresponding to an idle symbol in response to a first clock for the received data packets overtaking a second clock of the node on which the first in, first out data buffer is disposed; and each first in, first out data buffer providing for delaying reading of a received data packet from the buffer in response to the second clock for the node overtaking the first clock of the received data packets.
Claim 23
Dependent Claim 140 words
The distributed data processing system of claim 18, wherein a first in, first out buffer includes: a circular buffer; a connector for connection into a unidirectional transmission link over which successive parallel data packets are received; a phase comparator taking the first clock for the received data and the second clock for the node as inputs for generating an input side skip signal and an output side skip signal; an idle detector monitoring the successive data packets for occurrence of idle symbols and generating an idle indication when an idle symbol occurs; means responsive to occurrence of an input side skip signal and an idle indication for omitting loading of a symbol from successive symbols into the circular buffer; and means responsive to occurrence of an output side skip signal for delaying reading of successive symbols from the circular buffer.

References Cited (Backward Citations)

US4429386A Cited
US4764942A Cited
US4920547A Cited
US5146477A Cited
US4839893A Cited
US4965794A Cited
US4945548A Cited
US4849970A Cited
US4849969A Cited
US4885758A Cited
US5142529A Cited
US5311511A Cited
US5323426A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1998-06-26 1998-12-26 1999-06-27 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2002-06-26 2002-12-26 2003-06-27 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2006-06-26 2006-12-26 2007-06-27 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag