1. Field of the Invention
The present invention relates generally to data transmission systems where data is communicated over a communications channel such as a bus device, and particularly, to a system and method for providing data integrity for the data communicated over the bus.
2. Discussion of the Prior Art
A typical bus for transmitting information includes idle cycles during normal operation, and it includes additional information during non-idle cycles to provide data integrity. The traditional method of providing data integrity include adding extra signals to the bus, such as parity bits, or generating additional non-idle cycles for transmitting the data integrity information, such as additional data packets.
It would be highly desirable to provide a system and method for eliminating the need for additional signals or non-idle cycles with each transmission and to better utilize the idle times on the bus.
It is an object of the present invention to provide a new method for using the idle cycles of the bus to provide data integrity.
It is a further object of the present invention to provide a communication system that includes a transmitter and a receive device where data is transmitted over a communications channel, wherein a system and method is implemented for recognizing an idle condition at a transmitter device, the transmitter device is provided with ability to accumulate data integrity information between idle cycles, and transmit accumulated data integrity information during an idle cycle of the bus to the receiver.
According to a preferred aspect of the invention, there is provided a system and method for verifying integrity of data signals communicated from a data transmit device to a receive device over a communications channel of limited bandwidth, the data transmit and data receive devices including control means for controlling respective data transmit and data receipt operations at respective transmit and receive devices, the method comprising steps of: a) detecting time instances of idle data transmit activity at the transmit device; b) accumulating data integrity information for data transmitted over said communication channel between detected idle transmit instances, the accumulating being performed by data integrity verifier devices at both transmit and receive devices; c) communicating accumulated data integrity information for data transmitted since a last detected idle data transmit instance during a current detected idle data transmit instance; and, d) verifying accumulated data integrity information communicated over the channel at the receiver device.
Advantageously, the system and method of the invention may be used to provide intermediate data integrity checks when communication of packets belonging to a stream is interrupted, without compromising channel bandwidth utilization. Moreover, the system and method of the invention may be used to provide data integrity verification for data signals communicated over two or more communications channels between instances of detected idle transmit states.
The objects, features and advantages of the present invention will become apparent to one skilled in the art, in view of the following detailed description taken in combination with the attached drawings, in which:
It should be understood that the data integrity devices 19, 29 generate data computed as a result of implementing any standard data integrity algorithm for valid data communicated, e.g., checksum, parity, Cyclic Redundancy Checking (CRC) or like polynomial based algorithms, Error Correction Code (ECC), and the like. It is understood that the resulting integrity information output from the algorithm, i.e., including any accumulated result, is capable of being transmitted over the bus structure 15 or communication link, for transmission from transmitter to the receiver. It is further understood that the data integrity check performed by respective data integrity devices 19, 29 may be used to verify integrity of network supplementary control signals and/or “sideband” signals communicated between transmit device 12 and receiver device 20 over a separate bus or communication lines 30.
Table 1 illustrates an example sequence of data communicated on bus 15 of
As the Table 1 shows in an exemplary scenario, a transmission begins with an idle cycle sending initial data integrity information, e.g., CRC data. Then, two valid data packets are sent to create DATA 1. This is followed by three idle cycles. The first idle cycle contains the CRC data accumulated since the previous idle cycle—i.e., CRC for DATA 1. The second and third idle cycles include only initial CRC data since no valid data has been sent since the previous idle cycles. These idles are followed by more valid data packets of DATA 2 followed with the concluding idle cycle and CRC data over the second half of DATA 2. The idle cycle transmission of data integrity during the DATA 2 interruption allows for an intermediate data integrity check that is not available with traditional methods of additional data packets. One additional advantage not illustrated in this example is the lack of intelligence needed for data integrity. There is no need for knowledge of the data packet format. The only requirement is recognizing an idle condition and providing a data integrity algorithm.
As mentioned, an extension of this technique allows for integrity checking of “sideband” or supplemental signals which are sent in the same time domain but not necessarily directly related to the data packets. If the data integrity algorithm, e.g., CRC generation/checking, is expected to include these sideband signals, the integrity of these additional signals may be greatly improved with no loss of bandwidth and without additional signals such as parity bits.
The methodology implemented by each transmitter state machine 120 and receiver state machine 120′ in
As shown in
It is understood that the invention may be used to verify data integrity for supplementary control or sideband signals communicated over bus 151, in the same manner as implemented for data signals transmitted over bus 150.
While the invention has been particularly shown and described with regard to a preferred embodiment thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5167034 | MacLean et al. | Nov 1992 | A |
| 5490253 | Laha et al. | Feb 1996 | A |
| 5506958 | Myran | Apr 1996 | A |
| 5507002 | Heil | Apr 1996 | A |
| 5517615 | Sefidvash et al. | May 1996 | A |
| 5790811 | Hewitt | Aug 1998 | A |
| 5872992 | Tietjen et al. | Feb 1999 | A |
| 5878255 | Tran et al. | Mar 1999 | A |
| 5978907 | Tran et al. | Nov 1999 | A |
| 6035425 | Caldwell et al. | Mar 2000 | A |
| 6092219 | Porterfield | Jul 2000 | A |
| 6170040 | Lee et al. | Jan 2001 | B1 |
| 6286125 | Leshay et al. | Sep 2001 | B1 |
| 6314106 | King et al. | Nov 2001 | B1 |
| 6763481 | Yamane | Jul 2004 | B1 |
| Number | Date | Country | |
|---|---|---|---|
| 20040059967 A1 | Mar 2004 | US |