US20040059967A1 - System and method for utilizing spare bandwidth to provide data integrity over a bus - Google Patents
System and method for utilizing spare bandwidth to provide data integrity over a bus Download PDFInfo
- Publication number
- US20040059967A1 US20040059967A1 US10/255,040 US25504002A US2004059967A1 US 20040059967 A1 US20040059967 A1 US 20040059967A1 US 25504002 A US25504002 A US 25504002A US 2004059967 A1 US2004059967 A1 US 2004059967A1
- Authority
- US
- United States
- Prior art keywords
- data
- transmit
- idle
- integrity
- data integrity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/4013—Management of data rate on the bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
Definitions
- 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.
- 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.
- 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.
- 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.
- FIG. 1 is a general block diagram of a communication network implementing the system and methodology of the present invention
- FIG. 2 is a detailed diagram of a communication network implementing CRC data integrity device according to an exemplary embodiment of the present invention
- FIGS. 3 and 4 respectively illustrate the methodology implemented by each respective transmitter state machine 120 and receiver state machine 120 ′ illustrated in FIG. 2.
- FIG. 1 illustrates a communication system 10 , e.g., a network, including nodes having a data transmitter device 12 for communicating data over a communications channel, such as a data bus 15 , for receipt by a receiver device 20 .
- the network itself may be any communications network provided with a bus or link enabling parallel or serial data communication and, that may have usable bandwidth at intervals when there is no data being transmitted.
- a communications protocol may be implemented that does not necessarily recognize idle clock cycles at the transmitter, i.e., does not define special data representing idle time.
- the method for utilizing the idle cycles for performing data integrity requires the ability to recognize an idle condition (i.e., idle cycles detected in a receiver) and accumulate data integrity information between idle cycles.
- the transmitter 12 is provided with control functionality 18 for controlling bus and valid data transmit functionality, and a data integrity device 19 implementing data integrity algorithm used to verify integrity of transmitted valid data.
- data integrity algorithms include arithmetic checksum, parity, Cyclic Redundancy Checking (CRC) implementing polynomial based algorithms, Error Correction Code (ECC) (with or without bit error correction functionality), and the like.
- Control functionality 18 is enabled to recognize a clock idle condition (idle clock cycles) and initiate transmission over bus 15 the data integrity information the data integrity device 19 has been accumulating since the last idle condition.
- the data integrity device 19 is additionally programmed to begin new data integrity accumulation as it transmits the old data integrity information.
- the receiver device 20 is provided with control functionality 28 for controlling bus and valid data receive functionality, and a data integrity device 29 implementing a compatible data integrity algorithm for verifying integrity of received valid data.
- the control device 28 of receiver 20 recognizes the idle condition, and compares its accumulated data integrity information obtained from data integrity device 29 since the last idle cycle with the data integrity information it just received from the transmitter.
- the receiver 20 additionally begins accumulating new data integrity information after checking the data sent by the transmitter.
- 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 .
- 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.
- CRC Cyclic Redundancy
- 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.
- 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.
- FIG. 2 depicts a more detailed example system topology 100 in which the invention operates.
- this system topology it is assumed that a CRC data integrity algorithm is implemented.
- data is communicated over a bus 150 between transmitter 110 and receiver 115 devices.
- the bus 150 comprises a parallel bus configuration of 8-, 16-, 32-, 36-, or 64-bits wide.
- the principles of the invention may be applied to parallel and serial buses.
- the transmitter 110 includes: a state machine 120 programmed to execute the methodology of the invention, a data integrity accumulation block 130 interfaced to bus 150 and, a second bus or communication channel 151 which supports communication of “side band” signals such as system control signals between the transmitter and receiver and, a multiplexor device interface 140 to the parallel bus 150 .
- the data integrity accumulator is a CRC accumulator 130 that performs real-time, polynomial-based data integrity processing and result accumulation for concurrent data transmissions over both busses 150 , 151 in between detected IDLE transmit states.
- the Receiver device 115 includes: a state machine 120 ′ programmed to execute the methodology of the invention, a CRC accumulator block 130 ′ interfaced to bus 150 for receiving transmitted data and interfaced to “side band” signals bus 151 for concurrently receiving control and/or “side band” signals, and a compare device 145 for comparing the accumulated CRC data verification information sent from the transmitter with the data integrity results concurrently accumulated at the receiver accumulator 130 ′ since a prior detected IDLE transmit state.
- the system 100 further includes a capability for communicating transmit state information to the receiver device for indicating an IDLE data transmit instance. This is implemented as a drive tag data line depicted in FIG. 2 as line 149 however, it is understood that it may be part of the either bus 150 , 151 .
- the CRC obtains the accumulated result of data integrity processing since a prior idle cycle and transmits it over data bus 150 via multiplexor 140 .
- a drive tag is set to indicate a transmit IDLE state and communicated over drive tag data line 149 for receipt by the receiver.
- the CRC accumulator is reset in preparation for processing new valid data input from bus 150 or side band signals over bus 151 for a next valid data transmission cycle. As shown in FIG.
- step 215 an operation for passing valid data from the send_data_bus 160 to the CRC accumulator 130 is performed.
- the actual parallel data (from send_data_bus) is transmitted over parallel data bus 150 via multiplexor 140 , and, at step 220 , a drive tag is set to indicate a NOT IDLE state and communicated over drive tag data line 149 for receipt by the receiver.
- the state machine 110 implemented in the transmitter is a continuous real-time process and from each of steps 212 and 220 , the process returns to step 203 to ascertain the current data transmitter state (the send_data_valid signal 159 ).
- step 303 there is the step of receiving drive tag signal over tag line 149 and determining the current transmit state.
- step 303 if the drive tag indicates an IDLE state, then at step 306 , a comparison operation is performed in compare device 145 to compare the accumulated CRC result of data integrity processing performed for the past data transmission cycle at the receiver CRC accumulator 130 ′ and the accumulated result of data integrity processing since a prior data transmission cycle received via data bus 150 from the transmitter CRC accumulator 130 .
- step 309 the receiver CRC accumulator 130 ′ is reset for performing data integrity operation for a next cycle of valid data received from the transmitter over bus 150 .
- the process returns to step 303 to ascertain the drive tag state. If, at step 303 , it is determined that the drive tag indicates a NOT IDLE state, then valid data is being transmitted over bus 150 .
- the receiver at step 312 will pass the contents of the bus 150 to the CRC accumulator for data integrity processing and, at step 315 , the contents of bus 150 is passed to the rcv_data_bus 161 for further processing or storage.
- the state machine 120 ′ generates a drive tag 169 indicating valid data currently received and communicated over bus 161 for further processing and/or storage.
- 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 .
Abstract
Description
- 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:
- FIG. 1 is a general block diagram of a communication network implementing the system and methodology of the present invention;
- FIG. 2 is a detailed diagram of a communication network implementing CRC data integrity device according to an exemplary embodiment of the present invention;
- FIGS. 3 and 4 respectively illustrate the methodology implemented by each respective
transmitter state machine 120 andreceiver state machine 120′ illustrated in FIG. 2. - FIG. 1 illustrates a
communication system 10, e.g., a network, including nodes having adata transmitter device 12 for communicating data over a communications channel, such as adata bus 15, for receipt by areceiver device 20. The network itself may be any communications network provided with a bus or link enabling parallel or serial data communication and, that may have usable bandwidth at intervals when there is no data being transmitted. In these networks, a communications protocol may be implemented that does not necessarily recognize idle clock cycles at the transmitter, i.e., does not define special data representing idle time. However, the method for utilizing the idle cycles for performing data integrity according to the invention, requires the ability to recognize an idle condition (i.e., idle cycles detected in a receiver) and accumulate data integrity information between idle cycles. As shown in FIG. 1, thetransmitter 12 is provided withcontrol functionality 18 for controlling bus and valid data transmit functionality, and adata integrity device 19 implementing data integrity algorithm used to verify integrity of transmitted valid data. Preferably, such data integrity algorithms include arithmetic checksum, parity, Cyclic Redundancy Checking (CRC) implementing polynomial based algorithms, Error Correction Code (ECC) (with or without bit error correction functionality), and the like.Control functionality 18 is enabled to recognize a clock idle condition (idle clock cycles) and initiate transmission overbus 15 the data integrity information thedata integrity device 19 has been accumulating since the last idle condition. Thedata integrity device 19 is additionally programmed to begin new data integrity accumulation as it transmits the old data integrity information. Thereceiver device 20 is provided withcontrol functionality 28 for controlling bus and valid data receive functionality, and adata integrity device 29 implementing a compatible data integrity algorithm for verifying integrity of received valid data. As will be explained in greater detail, thecontrol device 28 ofreceiver 20 recognizes the idle condition, and compares its accumulated data integrity information obtained fromdata integrity device 29 since the last idle cycle with the data integrity information it just received from the transmitter. Thereceiver 20 additionally begins accumulating new data integrity information after checking the data sent by the transmitter. - It should be understood that the
data integrity devices bus structure 15 or communication link, for transmission from transmitter to the receiver. It is further understood that the data integrity check performed by respectivedata integrity devices transmit device 12 andreceiver device 20 over a separate bus orcommunication lines 30. - Table 1 illustrates an example sequence of data communicated on
bus 15 of FIG. 1. The example illustrates use of a tag as part of the data to signal an idle condition and CRC (cyclic redundancy checking) as the method of providing data integrity.TABLE 1 time 0 IDLE TAG INITIAL CRC DATA time 1 DATA TAG VALID DATA 1 PACKETtime 2 DATA TAG VALID DATA 1 PACKETtime 3 IDLE TAG CRC DATA ACROSS DATA 1 PACKETtime 4 IDLE TAG INITIAL CRC DATA time 5 IDLE TAG INITIAL CRC DATA time 6 DATA TAG VALID DATA 2 PACKET time 7 DATA TAG VALID DATA 2 PACKET time 8 DATA TAG VALID DATA 2 PACKET time 9 DATA TAG VALID DATA 2 PACKET time 10 DATA TAG VALID DATA 2 PACKET time 11 DATA TAG VALID DATA 2 PACKET time 12 DATA TAG VALID DATA 2 PACKET time 13 IDLE TAG CRC DATA ACROSS FIRST HALF DATA 2 PACKET time 14 DATA TAG VALID DATA 2 PACKET time 15 DATA TAG VALID DATA 2 PACKET time 16 DATA TAG VALID DATA 2 PACKET time 17 DATA TAG VALID DATA 2 PACKET time 18 DATA TAG VALID DATA 2 PACKET time 19 DATA TAG VALID DATA 2 PACKET time 20 DATA TAG VALID DATA 2 PACKET time 21 IDLE TAG CRC DATA ACROSS SECOND HALF DATA 2 PACKET - 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 forDATA 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.
- FIG. 2 depicts a more detailed
example system topology 100 in which the invention operates. In this system topology, it is assumed that a CRC data integrity algorithm is implemented. In thetopology 100, data is communicated over abus 150 betweentransmitter 110 andreceiver 115 devices. For exemplary purposes, thebus 150 comprises a parallel bus configuration of 8-, 16-, 32-, 36-, or 64-bits wide. However, it is understood that the principles of the invention may be applied to parallel and serial buses. Thetransmitter 110 includes: astate machine 120 programmed to execute the methodology of the invention, a dataintegrity accumulation block 130 interfaced tobus 150 and, a second bus orcommunication channel 151 which supports communication of “side band” signals such as system control signals between the transmitter and receiver and, amultiplexor device interface 140 to theparallel bus 150. In the exemplary embodiment, the data integrity accumulator is aCRC accumulator 130 that performs real-time, polynomial-based data integrity processing and result accumulation for concurrent data transmissions over bothbusses line 131, accumulated data verification information processed by CRCaccumulator 130 for valid data communicated over the channel orbus 150 and data communicated over the “side band”signal bus 151, since a prior detected IDLE transmit state, is multiplexed for communication overchannel 150 during the current detected IDLE state. Likewise, theReceiver device 115 includes: astate machine 120′ programmed to execute the methodology of the invention, aCRC accumulator block 130′ interfaced tobus 150 for receiving transmitted data and interfaced to “side band”signals bus 151 for concurrently receiving control and/or “side band” signals, and acompare device 145 for comparing the accumulated CRC data verification information sent from the transmitter with the data integrity results concurrently accumulated at thereceiver accumulator 130′ since a prior detected IDLE transmit state. Thesystem 100 further includes a capability for communicating transmit state information to the receiver device for indicating an IDLE data transmit instance. This is implemented as a drive tag data line depicted in FIG. 2 asline 149 however, it is understood that it may be part of the eitherbus - The methodology implemented by each
transmitter state machine 120 andreceiver state machine 120′ in FIG. 2 is now described with respect to FIGS. 3 and 4, respectively. As shown in FIG. 3, there is depicted themethodology 200 implemented in thetransmitter 110. As shown infirst step 203, there is the step of receiving a data valid (state) signal depicted asinput 159 in FIG. 2, and determining whether asend_data_valid signal 159 is active indicating valid data transmission over asend_data_bus 160. If a send_data_valid signal is not active, then the process proceeds tostep 206 where the accumulated results of the CRC accumulation operations performed inCRC accumulator 130 is generated. That is, as no valid data is being sent overbus 150, the CRC obtains the accumulated result of data integrity processing since a prior idle cycle and transmits it overdata bus 150 viamultiplexor 140. In addition, as indicated atstep 209, a drive tag is set to indicate a transmit IDLE state and communicated over drivetag data line 149 for receipt by the receiver. Finally, as indicated atstep 212, the CRC accumulator is reset in preparation for processing new valid data input frombus 150 or side band signals overbus 151 for a next valid data transmission cycle. As shown in FIG. 3, returning back to step 203, if asend_data_valid signal 159 is active indicating valid data transmission overbus 160, then atstep 215, an operation for passing valid data from thesend_data_bus 160 to theCRC accumulator 130 is performed. Then, atstep 218, the actual parallel data (from send_data_bus) is transmitted overparallel data bus 150 viamultiplexor 140, and, atstep 220, a drive tag is set to indicate a NOT IDLE state and communicated over drivetag data line 149 for receipt by the receiver. Thestate machine 110 implemented in the transmitter is a continuous real-time process and from each ofsteps - As shown in FIG. 4, there is depicted the
methodology 300 implemented in thestate machine 120′ of data receivedevice 115. As shown infirst step 303, there is the step of receiving drive tag signal overtag line 149 and determining the current transmit state. Atstep 303, if the drive tag indicates an IDLE state, then atstep 306, a comparison operation is performed in comparedevice 145 to compare the accumulated CRC result of data integrity processing performed for the past data transmission cycle at thereceiver CRC accumulator 130′ and the accumulated result of data integrity processing since a prior data transmission cycle received viadata bus 150 from thetransmitter CRC accumulator 130. If the result of the comparison indicates a data integrity error, then a driveerror control signal 162 may be generated and appropriate error recovery action initiated. Otherwise, the process continues to step 309 where thereceiver CRC accumulator 130′ is reset for performing data integrity operation for a next cycle of valid data received from the transmitter overbus 150. The process returns to step 303 to ascertain the drive tag state. If, atstep 303, it is determined that the drive tag indicates a NOT IDLE state, then valid data is being transmitted overbus 150. The receiver, atstep 312 will pass the contents of thebus 150 to the CRC accumulator for data integrity processing and, atstep 315, the contents ofbus 150 is passed to thercv_data_bus 161 for further processing or storage. Finally, atstep 318, thestate machine 120′ generates adrive tag 169 indicating valid data currently received and communicated overbus 161 for further processing and/or storage. - 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 overbus 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.
Claims (27)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/255,040 US7020809B2 (en) | 2002-09-25 | 2002-09-25 | System and method for utilizing spare bandwidth to provide data integrity over a bus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/255,040 US7020809B2 (en) | 2002-09-25 | 2002-09-25 | System and method for utilizing spare bandwidth to provide data integrity over a bus |
Publications (2)
Publication Number | Publication Date |
---|---|
US20040059967A1 true US20040059967A1 (en) | 2004-03-25 |
US7020809B2 US7020809B2 (en) | 2006-03-28 |
Family
ID=31993432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/255,040 Expired - Lifetime US7020809B2 (en) | 2002-09-25 | 2002-09-25 | System and method for utilizing spare bandwidth to provide data integrity over a bus |
Country Status (1)
Country | Link |
---|---|
US (1) | US7020809B2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273671A1 (en) * | 2004-06-03 | 2005-12-08 | Adkisson Richard W | Performance monitoring system |
US20050283677A1 (en) * | 2004-06-03 | 2005-12-22 | Adkisson Richard W | Duration minimum and maximum circuit for performance counter |
US20050283669A1 (en) * | 2004-06-03 | 2005-12-22 | Adkisson Richard W | Edge detect circuit for performance counter |
US20080140869A1 (en) * | 2006-12-11 | 2008-06-12 | Nam-Phil Jo | Circuits and Methods for Correcting Errors in Downloading Firmware |
US20100095193A1 (en) * | 2008-10-15 | 2010-04-15 | Nokia Corporation | System and Method for Pre-calculating Checksums |
US20100174888A1 (en) * | 2009-01-05 | 2010-07-08 | Jimyung Na | Memory System |
US20160285892A1 (en) * | 2015-03-27 | 2016-09-29 | Intel Corporation | Protecting a memory |
US9710675B2 (en) | 2015-03-26 | 2017-07-18 | Intel Corporation | Providing enhanced replay protection for a memory |
CN107148760A (en) * | 2014-09-03 | 2017-09-08 | 罗伯特·博世有限公司 | Method by frame via bus system from transmitter serial transmission at least one receiver and the participation station for bus system |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7712004B1 (en) * | 2003-09-30 | 2010-05-04 | Emc Corporation | Method of and system for error checking in a data storage system |
US7810007B2 (en) * | 2003-11-12 | 2010-10-05 | Koninklijke Philips Electronics N.V. | Data packet transmission |
US8074146B2 (en) * | 2007-09-28 | 2011-12-06 | Broadcom Corporation | Multiple cyclic redundancy check (CRC) engines for checking/appending CRCs during data transfers |
US7913011B2 (en) * | 2009-01-02 | 2011-03-22 | The Boeing Company | Method and apparatus for employing a second bus controller on a data bus having a first bus controller |
US20110179212A1 (en) * | 2010-01-20 | 2011-07-21 | Charles Andrew Hartman | Bus arbitration for sideband signals |
WO2014011862A2 (en) | 2012-07-11 | 2014-01-16 | Maxlinear, Inc. | Method and system for gain control for time-interleaved analog-to-digital convertor (adc) |
US10491438B2 (en) | 2017-05-01 | 2019-11-26 | At&T Intellectual Property I, L.P. | Systems and methods for reinforcing signals on coupled channels during idle periods |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5167034A (en) * | 1990-06-18 | 1992-11-24 | International Business Machines Corporation | Data integrity for compaction devices |
US5490253A (en) * | 1990-05-25 | 1996-02-06 | At&T Corp. | Multiprocessor system using odd/even data buses with a timeshared address bus |
US5506958A (en) * | 1993-02-10 | 1996-04-09 | Conner Peripherals, Inc. | Error detection for parallel data transfer between a processor and a peripheral device by comparing regisgers storing a sum of values in bytes of data transferred |
US5507002A (en) * | 1992-12-24 | 1996-04-09 | At&T Global Information Solutions Company | Peripheral component interconnect special cycle protocol using soft message IDS |
US5517615A (en) * | 1994-08-15 | 1996-05-14 | Unisys Corporation | Multi-channel integrity checking data transfer system for controlling different size data block transfers with on-the-fly checkout of each word and data block transferred |
US5790811A (en) * | 1996-05-17 | 1998-08-04 | Advanced Micro Devices, Inc. | System and method for performing data transfers during PCI idle clock cycles |
US5872992A (en) * | 1995-08-24 | 1999-02-16 | Motorola, Inc. | System and method for avoiding bus contention on a multiplexed bus by providing a time period subsequent to a read operation |
US5878255A (en) * | 1995-06-07 | 1999-03-02 | Advanced Micro Devices, Inc. | Update unit for providing a delayed update to a branch prediction array |
US6035425A (en) * | 1997-09-29 | 2000-03-07 | Lsi Logic Corporation | Testing a peripheral bus for data transfer integrity by detecting corruption of transferred data |
US6092219A (en) * | 1997-12-03 | 2000-07-18 | Micron Technology, Inc. | Method for use of bus parking states to communicate diagnostic information |
US6170040B1 (en) * | 1996-11-06 | 2001-01-02 | Hyundai Electronics Industries Co., Ltd. | Superscalar processor employing a high performance write back buffer controlled by a state machine to reduce write cycles |
US6286125B1 (en) * | 1999-02-27 | 2001-09-04 | Maxtor Corporation | Method and system for generating and transferring error detection information over a bus |
US6314106B1 (en) * | 1998-04-20 | 2001-11-06 | Alcatel Internetworking, Inc. | Receive processing for dedicated bandwidth data communication switch backplane |
US6763481B2 (en) * | 2000-04-12 | 2004-07-13 | Matsushita Electric Industrial Co., Ltd. | Data processor |
-
2002
- 2002-09-25 US US10/255,040 patent/US7020809B2/en not_active Expired - Lifetime
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5490253A (en) * | 1990-05-25 | 1996-02-06 | At&T Corp. | Multiprocessor system using odd/even data buses with a timeshared address bus |
US5167034A (en) * | 1990-06-18 | 1992-11-24 | International Business Machines Corporation | Data integrity for compaction devices |
US5507002A (en) * | 1992-12-24 | 1996-04-09 | At&T Global Information Solutions Company | Peripheral component interconnect special cycle protocol using soft message IDS |
US5506958A (en) * | 1993-02-10 | 1996-04-09 | Conner Peripherals, Inc. | Error detection for parallel data transfer between a processor and a peripheral device by comparing regisgers storing a sum of values in bytes of data transferred |
US5517615A (en) * | 1994-08-15 | 1996-05-14 | Unisys Corporation | Multi-channel integrity checking data transfer system for controlling different size data block transfers with on-the-fly checkout of each word and data block transferred |
US5878255A (en) * | 1995-06-07 | 1999-03-02 | Advanced Micro Devices, Inc. | Update unit for providing a delayed update to a branch prediction array |
US5978907A (en) * | 1995-06-07 | 1999-11-02 | Advanced Micro Devices, Inc. | Delayed update register for an array |
US5872992A (en) * | 1995-08-24 | 1999-02-16 | Motorola, Inc. | System and method for avoiding bus contention on a multiplexed bus by providing a time period subsequent to a read operation |
US5790811A (en) * | 1996-05-17 | 1998-08-04 | Advanced Micro Devices, Inc. | System and method for performing data transfers during PCI idle clock cycles |
US6170040B1 (en) * | 1996-11-06 | 2001-01-02 | Hyundai Electronics Industries Co., Ltd. | Superscalar processor employing a high performance write back buffer controlled by a state machine to reduce write cycles |
US6035425A (en) * | 1997-09-29 | 2000-03-07 | Lsi Logic Corporation | Testing a peripheral bus for data transfer integrity by detecting corruption of transferred data |
US6092219A (en) * | 1997-12-03 | 2000-07-18 | Micron Technology, Inc. | Method for use of bus parking states to communicate diagnostic information |
US6314106B1 (en) * | 1998-04-20 | 2001-11-06 | Alcatel Internetworking, Inc. | Receive processing for dedicated bandwidth data communication switch backplane |
US6286125B1 (en) * | 1999-02-27 | 2001-09-04 | Maxtor Corporation | Method and system for generating and transferring error detection information over a bus |
US6763481B2 (en) * | 2000-04-12 | 2004-07-13 | Matsushita Electric Industrial Co., Ltd. | Data processor |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273671A1 (en) * | 2004-06-03 | 2005-12-08 | Adkisson Richard W | Performance monitoring system |
US20050283677A1 (en) * | 2004-06-03 | 2005-12-22 | Adkisson Richard W | Duration minimum and maximum circuit for performance counter |
US20050283669A1 (en) * | 2004-06-03 | 2005-12-22 | Adkisson Richard W | Edge detect circuit for performance counter |
US7624319B2 (en) * | 2004-06-03 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | Performance monitoring system |
US7676530B2 (en) | 2004-06-03 | 2010-03-09 | Hewlett-Packard Development Company, L.P. | Duration minimum and maximum circuit for performance counter |
US20080140869A1 (en) * | 2006-12-11 | 2008-06-12 | Nam-Phil Jo | Circuits and Methods for Correcting Errors in Downloading Firmware |
US20100095193A1 (en) * | 2008-10-15 | 2010-04-15 | Nokia Corporation | System and Method for Pre-calculating Checksums |
US8201070B2 (en) * | 2008-10-15 | 2012-06-12 | Nokia Corporation | System and method for pre-calculating checksums |
US20100174888A1 (en) * | 2009-01-05 | 2010-07-08 | Jimyung Na | Memory System |
US8528081B2 (en) * | 2009-01-05 | 2013-09-03 | Samsung Electronics Co., Ltd. | Memory system |
CN107148760A (en) * | 2014-09-03 | 2017-09-08 | 罗伯特·博世有限公司 | Method by frame via bus system from transmitter serial transmission at least one receiver and the participation station for bus system |
US10334089B2 (en) * | 2014-09-03 | 2019-06-25 | Robert Bosch Gmbh | Method for serially transmitting a frame from a transmitter to at least one receiver via a bus system, and a subscriber station for a bus system |
US9710675B2 (en) | 2015-03-26 | 2017-07-18 | Intel Corporation | Providing enhanced replay protection for a memory |
US20160285892A1 (en) * | 2015-03-27 | 2016-09-29 | Intel Corporation | Protecting a memory |
US9792229B2 (en) * | 2015-03-27 | 2017-10-17 | Intel Corporation | Protecting a memory |
Also Published As
Publication number | Publication date |
---|---|
US7020809B2 (en) | 2006-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7020809B2 (en) | System and method for utilizing spare bandwidth to provide data integrity over a bus | |
WO2018059436A1 (en) | Error code detection method, device and system and computer-readable storage medium | |
WO2006121014A1 (en) | Communication apparatus and switching apparatus | |
US6665275B1 (en) | Network device including automatic detection of duplex mismatch | |
KR20100088605A (en) | System and method for signal failure detection in a ring bus system | |
US7389469B2 (en) | Bus systems, apparatuses, and methods of operating a bus | |
CN103957155A (en) | Message transmission method and device and interconnection interface | |
US20220368626A1 (en) | Packet or frame replication and elimination with explict or implict notification to reset sequence number recovery | |
WO2011050631A1 (en) | Alarm report method, system and device for cascaded device | |
CN106656424A (en) | Verification method of data transmission | |
JP2948837B2 (en) | Communication link interface initialization and synchronization method and communication link receiver | |
CN108337069B (en) | Improved error rate reducing end parallel grouping CRC (Cyclic redundancy check) system | |
CN112994839A (en) | Flexible Ethernet overhead multiframe receiving method, device, equipment and medium | |
CN101401347B (en) | Method, module and apparatus for receiving data packet frames | |
US20090210770A1 (en) | Method, system and computer program product for end to end error checking in ethernet | |
WO2008095390A1 (en) | An equipment for detecting the line fault of the pseudo wire emulation and a method thereof | |
JPH09247132A (en) | Radio packet communication equipment and transmitting device | |
JP2004193664A (en) | Error detecting/correcting system and control apparatus employing the system | |
CN102790702A (en) | Method, device and system for detecting signal degradation of packet path | |
EP1065857A2 (en) | Method for quick identification of special data packets | |
JP2002281076A (en) | Fluctuation absorbing device | |
JPH11284641A (en) | Error correcting circuit | |
US6381245B1 (en) | Method and apparatus for generating parity for communication between a physical layer device and an ATM layer device | |
US4924460A (en) | Office control unit apparatus for use in a digital network | |
KR101642440B1 (en) | Network recovering method for ring network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KLEPPEL, YVONNE HANSON;ELLISON, RUSSELL LEE;GARCIA, ENRIQUE;AND OTHERS;REEL/FRAME:013344/0307 Effective date: 20020802 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
REMI | Maintenance fee reminder mailed | ||
AS | Assignment |
Owner name: TWITTER, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:032075/0404 Effective date: 20131230 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
SULP | Surcharge for late payment |
Year of fee payment: 7 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553) Year of fee payment: 12 |
|
AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SECURITY INTEREST;ASSIGNOR:TWITTER, INC.;REEL/FRAME:062079/0677 Effective date: 20221027 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SECURITY INTEREST;ASSIGNOR:TWITTER, INC.;REEL/FRAME:061804/0086 Effective date: 20221027 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SECURITY INTEREST;ASSIGNOR:TWITTER, INC.;REEL/FRAME:061804/0001 Effective date: 20221027 |