Patent ID: 8880928

Claim:
A method of sending and receiving parallel input data comprising: temporarily storing said parallel input data in a first buffer based on a received parallel data clock that can range from a minimum to a maximum value; based on a serializer reference clock having a clock frequency that is higher than the maximum clock frequency of the parallel data clock: reading said parallel input data from said first buffer at a rate that prevents overflow and underflow of said first buffer, and generating information related to said parallel data clock and generating control characters when parallel input data is not read from said first buffer; serializing said read parallel data, said information related to said parallel data clock, and said control characters into a serial data stream; transmitting said serialized data; receiving and deserializing said serialized data into said parallel input data, information related to said parallel data clock, and control characters; determining at least an approximation of said parallel data clock from the information related to said parallel data clock; storing said deserialized data in parallel form in a second buffer based on said determined parallel data clock; and reading said parallel data from said second buffer at said approximation of said parallel data clock so as to prevent overflow and underflow of said second buffer.