Patent ID: 7079528

Claim:
A method of communicating a plurality of parallel data packets from a first parallel data bus to a second parallel data bus, comprising the steps of: a. separating each of the plurality of parallel data packets into a first portion and a second portion; b. converting each of the first portions into a first serial data stream and converting each of the second portions into a second serial data stream; c. transmitting the first serial data stream over a first serial data channel and transmitting the second serial data stream over a second serial data channel; d. converting the first serial data stream into a plurality of first received portions and converting the second serial data stream into a plurality of second received portions; e. combining selected first received portions with corresponding selected second received portions so as to regenerate the plurality of parallel data packets; f. receiving parallel data packets using a plurality of FIFO's, each FIFO having a read side and a write side g. entering a first write state when either a write side error signal or a read asynchronous initialization request signal is asserted and performing the following operations: i. writing to all of the FIFO's is stopped; and ii. a write asynchronous initialization request signal is asserted; h. exiting the first write state when an initialization signal is asserted, i. entering a second write state from the first write state and de-asserting a write side initialization request signal; j. exiting the second write state when the initialization signal is de-asserted; k. entering a third write state from the second write state and resuming normal operations; l. entering a first read state when either a read side error signal or the write side initialization request signal is asserted, and performing the following operations: i. reading from all of the FIFO's is stopped; and ii. the read asynchronous initialization request signal is asserted; m. exiting the first read state when all of the initialization request signals are asserted, n. entering a second read state from the first read state and performing the following operations: i. asserting the initialization signal; and ii. de-asserting a read initialization signal; o. exiting the second read state when all of the initialization request signals are de-asserted; and p. entering a third read state from the second read state and de-asserting the initialization signal.