Patent ID: 7434114

Claim:
A method of compensating for a byte skew of a PCI Express bus, the method comprising: determining whether or not a plurality of data streams are in a training sequence, each of the plurality of data streams being received through a respective lane; setting an alignment point for each respective lane based on a comma symbol included in the corresponding data stream received through the respective lane, when the received data streams are in the training sequence; and shifting an alignment point by adding or removing a skip symbol in the corresponding data stream, when the received data streams are not in the training sequence, wherein shifting an alignment point comprises: determining whether or not the skip symbol is added into the corresponding received data stream for each of the lanes, or whether or not the skip symbol is removed from the corresponding received data stream for each of the lanes; shifting each of the alignment points so that the corresponding received data stream is less delayed by shifting the alignment points of the other lanes except for the corresponding lane wherein the other received data streams except for the corresponding received data stream are more delayed when the corresponding received data stream cannot be less delayed, when the skip symbol is added into the corresponding received data stream; and shifting each of the alignment points so that the corresponding received data stream is more delayed by shifting the alignment points of the other lanes except for the corresponding lane wherein the other received data streams except for the corresponding received data stream are less delayed when the corresponding received data stream cannot be more delayed, when the skip symbol is removed from the corresponding received data stream.