Method and circuit for processing data in communication networks
AssigneeSynTera Communications
InventorsAndy Annadurai, Chris Tsu, Feng Han
Life of this patent
Estimating the term…
Abstract
A method and circuitry for detecting a pattern in received data such as the A1A2 boundary in a SONET frame after deserialization. Two consecutive pluralities of bytes of incoming data are stored and compared with the A1 and A2 values (or bit shifted versions of the A1 and A2 values) until the boundary is detected. The data are then bit shifted so that every byte on the bus is either A2 or A1. A new aligned data bus is then formed such that the last A1 bit occurs on the data bus for a given clock cycle and the first A2 bit occurs on the data bus during the next clock cycle.
Claims34
A method for detecting a boundary between two bytes X1 and X2 in a deserialized data stream, the data stream comprising N consecutive X1 bytes followed by N consecutive X2 bytes, the method comprising the steps of:
- storing a first M bytes of data, where M is smaller than N;
- monitoring at least a subsequent second M bytes of data;
- comparing each of said first M bytes to a value X1*;
- comparing each of said second M bytes to a value X2*;
- wherein X1* represents X1 or any value resulting from a bit shift of X1,
- wherein X2 represents X2 or any value resulting from a bit shift of X2,
- and wherein the X1X2 boundary is detected when each of said first M bytes equals X1*, and each of said second M bytes equals X2*.
The method of claim 2 wherein said first M bytes are stored in a first data register.
A method of aligning data on a data bus along a boundary between two bytes X1 and X2, the values on the data bus resulting from writing consecutive groups of N bytes from a serial data stream, the serial data stream comprising at least N consecutive X1 bytes followed by at least N consecutive X2 bytes, the method comprising the steps of:
- storing at least a first set of bus values in a first register;
- monitoring the subsequent second set of bus values;
- comparing at least the first M bytes of the first register to the value X1*, where X1* represents X1 or any value resulting from a bit shift thereof;
- comparing at least the last M bytes of the subsequent set of bus values to a value X2*, where X2* represents X2 or any value resulting from a bit shift thereof;
- if each of the first M bytes equals X1* and each of the second M bytes equals X2*, determining the extent to which X1 and X2 are respectively bit shifted from X1* and X2*, and
- based on the extent of the bit shift, shifting the bus data in a third register such that mapping the data bus into a second register such that the extent of the bit shift is compensated.
A SONET data processor comprising:
- a first register coupled to an input SONET data bus;
- a comparator having at least a first input coupled to the input data bus and a second input coupled to the first register such that the comparator has substantially simultaneous access to paralleled data associated with two successive clock cycles,
- wherein the comparator compares the values in some portion of the input data bus with a predetermined value, and
- wherein the comparator compares the values in some portion of the first register with a predetermined value.
A method of processing data in a SONET frame, the method comprising:
- receiving first and second consecutive N bytes of data;
- comparing N/2 consecutive bytes of the first N bytes of data with a first predetermined pattern defined by the A1 byte in a SONET frame header;
- comparing N/2 consecutive bytes of the second N bytes of data with a second predetermined pattern defined by the A2 byte in a SONET frame header;
- if a match is found in both compare steps, forming a third consecutive N+1 bytes by combining the two N/2 consecutive bytes of data plus one additional byte;
- shifting data bits in each byte of the third consecutive N+1 bytes so that each byte corresponds to an A1 or an A2 byte;
- and
- shifting the A1 and A2 bytes to align N consecutive bytes along the A1A2 boundary.
Dependencies are inferred from the claim text.