Fault tolerant data exchange unit
First Claim
1. A data exchange unit for use in a fault tolerant system having redundant channels, each channel being associated with a different data exchange unit, the data exchange units being used for transferring data from at least one source to a recipient so as to detect and compensate a fault in at least one channel of the redundant channels, each data exchange unit comprising:
- (a) a transmitter connected to receive the data from the source over a local bus for one channel with which the data exchange unit is associated, the transmitter distributing that data to the other data exchange units associated with each of the channels over an inter-channel communications link;
(b) a multiplexer having plural inputs connected to the inter-channel communications link to receive the data distributed by the transmitter of each data exchange unit for the other channels, and an output;
(c) receiver means for receiving data conveyed over the inter-channel communications link from the output of the multiplexer in each data exchange unit associated with each channel so that a separate data input and data output for the receiver means are provided for each of the channels;
(d) initialization means for initializing the data exchange unit to synchronize it with the data exchange units for the other channels of the fault tolerant system; and
(e) a voter that selects the data output of the receiver means for transmission to the recipient based on predefined logic, so as to insure that at least one fault in the data input to the receiver means is compensated.
2 Assignments
0 Petitions
Accused Products
Abstract
A data exchange system for use in a system that includes a plurality of redundant channels (12). A data exchange unit (30) is provided to process data, ensuring that consistent data are used by each of the channels. The data exchange unit votes the data so that an output is provided that is identical in non-faulty channels. The data exchange units communicate over an inter-channel net that includes a consistency port (160), which serves as a separate second fault containment region for each channel, enabling the data exchange system to be Byzantine resilient. If input data are provided by a single one of the redundant channels, the data are distributed to each of the data exchange units for all channels in the system using two rounds of communication. However, if nominally identical data are input to each of the data exchange units in the redundant channels, a single round of communication and a simple voting process are used to determine a consistent output for each channel. A multiplexer (112) is used to select the data source for distribution to the consistency ports of each of the data exchange units. A 16-bit voter circuit (130) in each data exchange unit votes on the data received by the data exchange unit from the consistency ports for all of the channels to determine the output that is used by each channel.
77 Citations
20 Claims
-
1. A data exchange unit for use in a fault tolerant system having redundant channels, each channel being associated with a different data exchange unit, the data exchange units being used for transferring data from at least one source to a recipient so as to detect and compensate a fault in at least one channel of the redundant channels, each data exchange unit comprising:
-
(a) a transmitter connected to receive the data from the source over a local bus for one channel with which the data exchange unit is associated, the transmitter distributing that data to the other data exchange units associated with each of the channels over an inter-channel communications link; (b) a multiplexer having plural inputs connected to the inter-channel communications link to receive the data distributed by the transmitter of each data exchange unit for the other channels, and an output; (c) receiver means for receiving data conveyed over the inter-channel communications link from the output of the multiplexer in each data exchange unit associated with each channel so that a separate data input and data output for the receiver means are provided for each of the channels; (d) initialization means for initializing the data exchange unit to synchronize it with the data exchange units for the other channels of the fault tolerant system; and (e) a voter that selects the data output of the receiver means for transmission to the recipient based on predefined logic, so as to insure that at least one fault in the data input to the receiver means is compensated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A fault tolerant data exchange system for use in conveying data in a redundant computer system having a plurality of channels, comprising:
-
(a) a plurality of data exchange units, each associated with a different channel of the redundant computer system and each including; (i) a local data bus connected to the channel with which the data exchange unit is associated; (ii) a transmitter, connected to receive data from the local data bus that is distributed to each of the data exchange units; (iii) a multiplexer having an output and a plurality of inputs, each input connected to receive the data distributed from a different transmitter of the data exchange units for propagation through the output when selected by the multiplexer; (iv) means for initializing the data exchange unit so that it is synchronized with the other data exchange units; (v) receiver means, having a plurality of receiver inputs and a plurality of receiver outputs, for receiving the data selected for output by the multiplexer in each data exchange unit on a different receiver input and producing a corresponding output of the data thereby received; and (vi) voter means, connected to the receiver outputs, for selecting data from the receiver means for output from the data exchange unit according to predefined logic rules, so as to provide consistent data for all of the data exchange units, for said output, even when differences in the data input to the receiver means from each of the multiplexers are not the same; (b) first communication means for connecting the transmitter of each data exchange unit to a different one of the inputs of each multiplexer in the data exchange units; (c) second communication means for connecting the output of each multiplexer to a different receiver input of the receiver means of each data exchange unit; and (d) the second communication means including a plurality of consistency ports, each consistency port being associated with one of the data exchange units and having an input connected to receive the data selected for output from the multiplexer comprising said one data exchange unit, and a plurality of outputs, each connected to the receiver means in a different data exchange unit, the consistency ports each comprising a fault containment region that blocks propagation of faults within the data exchange system. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for transferring data from at least one source, so as to detect and compensate a fault in at least one channel of a fault tolerant system having redundant channels for communicating and processing data, the method comprising the steps of:
-
(a) for each channel, distributing data produced by the at least one source over a local bus; (b) transmitting said data to the other channels over an inter-channel communications link; (c) selectively receiving the data distributed from each of the channels over the inter-channel communications link, in turn, for transmission to a consistency port associated with each channel that retransmits the data to all of the channels over separate communication lines; and (d) voting the data retransmitted from each of the consistency ports to select data that are output, the data thus selected compensating for at least one fault in the communication of data within the fault tolerant system. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification