Apparatus and method for synchronization of multiple data...

Multiplex communications – Communication techniques for information carried in plural... – Combining or distributing information via time channels

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C370S474000, C370S510000, C370S514000, C375S354000

Reexamination Certificate

active

06650660

ABSTRACT:

FIELD OF THE INVENTION
The invention relates to digital communications and, more particularly, to systems and methods for synchronizing transmission of data over multiple data paths.
BACKGROUND OF THE INVENTION
In many electronic systems, large amounts of data are often transferred between components in parallel or serial format. Some components across which the data are to be transferred, for example, packet switching devices, can be extremely complex. Oftentimes, because of limitations such as pin count limits, such devices can be more efficiently implemented as multiple relatively small devices that operate in parallel, rather than as a single large device. Consequently, to accommodate this implementation, packets of data can be split into multiple portions, each of which is transferred along a separate parallel processing path to one of the devices. At the output of the devices, the portions of the data packets are reassembled or grouped into the original data packet for further processing.
There are many sources of error in reassembling or grouping the data packet portions into the original data packet. For example, in many systems, it is desirable and/or required that the individual data paths operate a synchronously with respect to each other and independently of each other and also that the grouping device be located a substantial distance from the individual data paths. These factors can result in a system implementation in which there is no real-time communication between the individual processing paths and the grouping device. With no inherent time relationship between portions of the data packets arriving at the grouping device that would identify the portions as belonging together in the same data packet, data packets may be formed by grouping portions that do not belong together. Other factors may also contribute to the possibility of grouping unrelated portions of data packets. For example, errors such as parity errors in one or more of the individual paths, which can be caused by such factors as noise, may result in the loss of a portion of a packet. At the grouping device, it is important to discover such errors to prevent the grouping device from inadvertently replacing the lost portion with a portion of another packet and then incorrectly reassembling the packet.
SUMMARY OF THE INVENTION
The present invention is directed to an apparatus and method for transferring data from a source to a destination which overcomes the drawbacks of the prior art such that portions of data packets formed by splitting a data packet can be reassembled into the data packet such that the number of incorrect data packets forwarded by the system is reduced or minimized. The source device is adapted to receive a plurality of packets of data for transfer to a destination device. For each packet of data to be transferred, the packet of data is split into multiple portions. A first synchronization code is associated with a first portion of the data for each packet, and a second synchronization code is associated with a second portion of the data for each packet. Along a first processing path, a first processor analyzes the first portion of data and the associated first synchronization code for each packet of data to identify a first state associated with the first portion of data for each packet. In one embodiment, a state machine of the first processor and processing path defines the state. For each packet of data, the first portion of data, its associated first synchronization code and the associated first state are stored in a first storage device. A second processor in a second processing path analyzes the second portion of data and the associated second synchronization code for each packet of data to identify a second state associated with the second portion of data for each packet. In one embodiment, this second processor includes a state machine which generates the state from the portion of the packet of data and its associated synchronization code. For each packet of data, the second portion of data, its associated second synchronization code and the associated second state are stored in a second storage device. Next, a third processor, which performs the grouping function, reads from the first storage device one of the first portions of data, its associated first synchronization code, and its associated first state and also reads from the second storage device one of the second portions of data, its associated second synchronization code, and its associated second state. The third grouping processor can analyze the first and second states and the first and second synchronization codes associated with the first and second portions of data, respectively, to determine whether the packet portions were generated from the same packet of data. If they were generated from the same packet of data, then the portions are combined to regenerate the original packet of data.
In one embodiment, if the first and second portions of data were not generated from the same packet of data, then a recovery operation is performed to recover synchronization of the portions of data such that the system can resume correctly grouping packet portions together and forwarding complete packets for further processing. This recovery operation can comprise discarding at least one portion of data. That is, in one embodiment, the system can read packet portions from the individual storage devices and, if it is determined that the portions do not belong together, at least one of them can be discarded. The discarding of packet portions can continue until synchronization is resumed. In one embodiment, where synchronization codes on one of the processing paths or pipes indicate a loss of synchronization, packet portions with their corresponding synchronization codes and states can continue to be read until the synchronization codes indicate that packet portions read from both paths came from the same packet. Then, the portions can be combined into a full data packet, and the packet can be forwarded for further processing. The process of grouping packet portions into full packets is thus realigned or resynchronized, and full packet forwarding resumes.
In one embodiment, the state machines in the individual processing paths or “pipes”, referred to herein as “pipe sync state machines” or “pipe state machines” analyze the pattern of synchronization codes for successive portions of data packets being processed in their respective paths to assign an associated state to each portion. The states are then combined with the data packet portion and its synchronization code, and all three items are forwarded together along the path. The synchronization codes can be assigned to portions in a pattern that repeats periodically such that when the grouping device reads the packet portions and associated codes and states, it can determine if the packet portions should be grouped together. In one embodiment, a state machine along one of the paths can detect a discrepancy in the pattern of synchronization codes to identify an error in the data and can in response optionally drop the portion of the data packet. Packet portions can also be dropped within the individual pipes as a result of parity checking.
The grouping processor can also include a state machine which defines a state based on the packet portions read from the storage devices. The grouping processor can also analyze the pattern of synchronization codes associated with successive portions read from the storage devices. Where a discrepancy between code patterns for successive portions is discovered, the grouping processor can determine that an error has occurred and can take steps to ensure that a data packet is not generated by combining the portions that indicate an error. For example, where the states indicate that portions of packets are out of synchronization, the grouping processor can discard data of incoming packet portions as long as the synchronization codes continue to indicate that an error exists. When the synchronization codes are realigned, the grouping proces

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Apparatus and method for synchronization of multiple data... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Apparatus and method for synchronization of multiple data..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method for synchronization of multiple data... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3146067

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.