In communication systems, information may be transmitted from one physical location to another. Furthermore, it is typically desirable that the transport of this information is reliable, is fast and consumes a minimal amount of resources.
Vector signaling is a method of signaling. With vector signaling, pluralities of signals on a plurality of wires are considered collectively although each of the plurality of signals may be independent. Each of the collective signals is referred to as a component and the number of plurality of wires is referred to as the “dimension” of the vector. In some embodiments, the signal on one wire is entirely dependent on the signal on another wire, as is the case with differential signaling pairs, so in some cases the dimension of the vector may refer to the number of degrees of freedom of signals on the plurality of wires instead of the number of wires in the plurality of wires.
With binary vector signaling, each component takes on a coordinate value (or “coordinate”, for short) that is one of two possible values. As an example, eight single ended signaling wires may be considered collectively, with each component/wire taking on one of two values each signal period. A “code word” of this binary vector signaling is one of the possible states of that collective set of components/wires. A “vector signaling code” or “vector signaling vector set” is the collection of valid possible code words for a given vector signaling encoding scheme. A “binary vector signaling code” refers to a mapping and/or set of rules to map information bits to binary vectors.
With non-binary vector signaling, each component has a coordinate value that is a selection from a set of more than two possible values. A “non-binary vector signaling code” refers to a mapping and/or set of rules to map information bits to non-binary vectors.
Examples of vector signaling methods are described in Cronie I, Cronie II, Cronie III, and Cronie IV.
Signaling using a plurality of wires that change state simultaneously may be associated with undesirable secondary effects within the output circuit, due to the physical need to change the output level on multiple wire loads. The resulting anomalous noise, caused by this current draw from power sources and/or current drain into ground lines and/or power returns, is known as Simultaneous Switched Output noise or SSO.
In accordance with at least one embodiment, processes and apparatuses provide for transmitting data over physical channels comprising groups of wires to provide a high speed, low latency communications interface, even in the presence of a wire failure within a channel group. In the general case, N bits are transmitted over M wires in such a way that failure of any K-of-M wires does not lead to a reduction of throughput or data error.
In at least one embodiment, an external mechanism is used to identify wire failures and so notify the communications system.
One example embodiment describes a channel interface between a memory controller and one or more memory devices, which delivers at least the same throughput as a single-ended solution with significantly less SSO and reduced power utilization, without requiring additional pin count or significantly increased transfer latency. Controller-side and memory-side embodiments of such channel interfaces are disclosed. In some embodiments, different voltage, current, etc. levels are used for signaling and more than two levels may be used, such as a vector signaling code wherein each wire signal may take on any of three, four, or more values.
This Brief Summary is provided to introduce a selection of embodiments in a simplified form that are further described below in the Detailed Description. This Brief Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. Other objects and/or advantages will be apparent to one of ordinary skill in the art upon review of the Detailed Description and the included drawings.
Various embodiments in accordance with the present disclosure will be described with reference to the drawings. Same numbers are used throughout the disclosure and figures to reference like components and features.
Specialized memory subsystems of modern computer systems utilize dedicated memory controllers to manage access, optimize performance, and improve utilization and reliability. Interconnections between these memory controllers and memory devices must operate at high speeds, delivering reliable and low latency data transfers, while under significant constraints in terms of available pin count and power utilization.
One known technology to combine multiple dies into a single package is the use of through-silicon vias (“TSV”).
The use of through-silicon vias is known to have several disadvantages. First, the cost of the process to make through-silicon vias is very high, and the complexity of the process is such that it is very difficult to obtain high production yields. Second, there is low tolerance to misalignments of the individual dies. Third, such a direct non-flexible mechanical connection between dies will undergo shear stress when the two dies undergo differential thermal expansion, possibly to the point of destruction.
These factors may result in higher than desirable system failure rates, as one or more TSV connections fail to provide a signal path between system components. Thus, communications solutions that provide even modest immunity to communications path failures may provide significantly reduced system failure rates.
In accordance with at least one embodiment of the invention, several classes of codes are presented, their properties investigated, and example embodiments of encoders and decoders described.
Various embodiments described herein exhibit one or more of the following characteristics:
The Fault-Tolerant solutions described also exhibit the characteristic of allowing operation in the presence of a failed interconnection wire.
The described solutions utilize prior knowledge of failed communication path elements, such as a wire failure detected as part of an initial test procedure and subsequently treated as failed by the communications system. This approach is distinct in design and operation from that of known Error-Correcting Codes (ECC) that incorporate parity or other data redundancy to allow corrupted communication data to be recovered. It is well known by those familiar with the art that the error-recovery decoding of ECC is both complex and lengthy, and thus poorly suited to the primary signal path for high speed data transmitted over circuits with known and persistent partial failures.
A number of codes are described for which the encoder and decoder have very small footprint. In applications of primary interest to this document, the communication channel between the sender and the receiver has very low insertion loss, and therefore hardly experiences noise caused by ISI, insertion loss, reference noise, or thermal noise. On the other hand, SSO causes a large amount of noise because of the relatively large size of the bus. Embodiments described herein may therefore trade off immunity to common mode and reference noise in some of examples to further reduce the size and hence the power consumption of the encoding and decoding circuitry used by the system.
General Assumptions
For purposes of comparison and without limitation, a reference interface design is assumed to use single-ended CMOS drivers to drive extremely short non-terminated bussed or point-to-point interconnections. Inter-symbol interference and transmission line loss are considered to be small or negligible for the example use, and reference noise and thermal noise are considered to be tractable.
Similarly, for purposes of description and without limitation, examples describing a particular physical interface width will assume data transfer occurs over fixed size groups of signal wires, TSV connections, bond wires, or pins, which may be subsets of the overall interconnection, although the described solutions may be equally well applied to both narrower and wider interfaces. The various examples presented herein utilize group or ensemble encoding, also known as a vector signaling code as illustrated generically in
As one example provided for illustration and without limitation,
Each described embodiment offers different degrees of fault immunity, SSO reduction and/or power consumption. In accordance with at least one embodiment, signaling using three or more distinct signal levels may be used. As one example, an output driver for a three level or ternary signaling method is shown in the circuit diagram of
Ternary Levels
In accordance with at least one embodiment, three distinct output levels may be transmitted on every transmission wire, in a “ternary coding” scheme. The coordinate levels of the ternary code correspond to voltage levels on the wires, which in turn depend on the Vdd of the system and the swing of the signals. To permit a voltage-independent description allowing fair comparison to single-ended signaling, the descriptions assume that:
For full-swing Single-Ended (SE) binary signaling, the voltage level multipliers are 0 and 1 (i.e., the voltage levels correspond to 0*Vdd (which is typically equal to Vss) and 1*Vdd)
For Full-Swing ternary coding, the voltage level multipliers are 0, ½, and 1, corresponding to signal levels of Vss, ½ Vdd, and Vdd.
For each described coding scheme, we will compare the performance against that of single-ended signaling. Both SSO and power consumption will be described by a single number. For the power consumption, this number has to be compared against ¼, which is the average per wire power consumption of single-ended signaling. For the worst case SSO, our numbers are to be compared against 1, which is the worst case SSO of single-ended signaling.
The multipliers used as examples are taken for purposes of descriptive clarity. Some embodiments of the invention may rely on other multiplier factors of Vdd or equivalent absolute signal levels satisfying the same signal identification purpose. As examples, one embodiment of reduced swing (RS) ternary signaling may use coordinates of ¼ Vdd, ½ Vdd, ¾ Vdd, and another embodiment may use coordinates of 0 V, 300 mV, and 600 mV, each representing three distinct coordinate values spanning a range less than that of a full-swing CMOS binary signal.
Similarly, embodiments utilizing quaternary or higher-ordered signaling may define four (or more) levels extending across the entire Vdd to Vss span to create a full-swing signaling scheme, or may define such levels contained within a smaller overall span, creating a reduced-swing signaling scheme.
Line States
For simplicity in the description of coding algorithms later in the disclosure, the two binary states are designated 0 & 1 and the three ternary states as 0, 1, & 2. These descriptive identifiers for the states are independent of the voltage level multipliers described above that are used to transmit them.
Driver Power Consumption
In the case of a non-terminated CMOS driver, the main power drawn from the Vdd or positive supply rail is consumed in changing the voltage on the primarily capacitive load of the output line when the driver makes a transition from a lower state to a higher state. For a given load, the amount of consumed power is proportional to the magnitude of the transition. Stated differently, when transitioning from a state (x1, . . . , xk) to a following state (y1, . . . , yk) the driver power on k wires is proportional to the sum max(x1−y1, 0)+ . . . +max(xk−yk, 0). This is independent of the particular reference chosen since the reference is canceled by taking differences. The power consumed by single-ended signals on k wires is between 0 and k, and the average power is k/4 since on a single wire a power consumption of 1 occurs only when transitioning from a 0 to a 1.
A similar calculation may be made to assess the power dissipated (or alternatively, the current injected into the Vss or ground rail) in changing the voltage on the primarily capacitive load of the output line when the driver makes a transition from a higher state to a lower state. In some embodiments, this flow of Vss or ground current may be as significant a design factor as the current drawn from the Vdd or supply rail.
Additional Driver Considerations
A conventional embodiment of a binary output driver is based on a CMOS inverter structure, where a totem pole pair of transistors is used to source current from the Vdd or positive supply rail to the output pin, or conversely sink current from the output pin to the Vss or ground rail. Use of dedicated output driver power rails is known, either for purposes of noise isolation, or to allow the I/O to operate at different or distinct voltage levels compared to the main logic and/or memory systems. Cascaded chains of inverters are commonly used, with the transistors at each stage being scaled up in size and current capability from the extremely low node capacitance and current demands of an internal circuit node, to the relatively massive capacitance and proportionately large current demands of the actual output pin and external load.
In accordance with at least one embodiment, output drivers for ternary or higher-ordered output levels add additional intermediate voltage elements to the binary driver's source and sink transistor. As shown in
Regulated Mid-Rail Voltage
At least one embodiment generates the required intermediate output voltage for the ternary drivers on-chip. A conventional linear regulator design such as shown as 220 in
As is well understood by one familiar with the art, the analog amplifier 250 of
In some embodiments, a single source of regulated voltage may be shared by multiple chips. One such example is a stacked memory configuration with a voltage regulator on a controller chip also supplying regulated voltage to one or more memory chips. Further embodiments may incorporate additional bypass capacitance and/or additional regulator elements within such secondary chips, to augment or assist the voltage regulation provided by the primary or controller chip.
Adaptive Power Regulator
As previously described, the load a CMOS driver imposes on its power source is the result of charge and discharge of the essentially capacitive wire load being driven to the desired output level. Thus, a power regulator that is aware of the transmitted data pattern may anticipate power demand by changing its sink and source characteristics dependent on the data to be output.
Further embodiments may include the control logic of
Still other embodiments may incorporate direct measurement of the intermediate voltage to provide additional control signals for the charge pump to raise or lower the intermediate voltage. One embodiment incorporates multiple pump capacitors, allowing different increments of charge transfer to be performed as required. Further embodiments may use such measurements to adjust the pump capacitance, duty cycle, or operational rate to optimize operation based on the actual load presented to the regulated voltage line.
It will be apparent to one familiar with the art that equivalent means may be applied to provide a source or sink of current instead of the example charge pump, as one example using controlled current sources and current sinks. As with the charge pump example, the set level for the controlled current sources and current sinks may be adjusted based on measurement of the intermediate voltage, using as examples one or more comparators, an analog to digital converter, etc.
SSO Noise
The main SSO is caused by transitions between states. The SSO noise value may be normalized to a single number in the following sense: for the SSO on k wires, the SSO caused by the transition from a state (x1, . . . , xk) on the wires to a state (y1, . . . , yk) is set to be equal to |(x1−y1)+ . . . +(xk−yk)| which in turn is equal to the absolute value of the sum of the coordinates of x minus the sum of the coordinates of y. Because a common reference is canceled through taking the difference, the SSO is independent of the reference.
For a single-ended binary system the SSO produced on 1 wire is either 0 or 1. When taking k wires, the worst case SSO is k, and it can be any number between 0 and k. Simple coding can reduce this number considerably, and even completely reducing it to zero in certain cases.
For single-ended binary signaling on k wires, the power consumption of every transition has a binomial distribution on 0, . . . , k where the probability of a single event is ¼, and its average is k/4. The SSO of this signaling is also binomially distributed and the worst case SSO is k.
TL3 Transition-Limiting Coding
Because it is the transitions that are important in an un-terminated CMOS driver, it makes sense to encode the information in the transitions. If the system uses binary states on the wires then it is not possible to reduce SSO and at the same time maintain full pin-efficiency, i.e., the property of transmitting one bit per clock cycle on every wire. Therefore, some described methods of reducing the SSO use ternary signaling and transition-limiting coding.
TL3 is one such code that reduces the peak SSO to just 33% of single ended.
In accordance with at least one embodiment, the TL3 encoder receives three input bits (a, b, c) and maintains a prior state p=(p[0], p[1], p[2]), piε{0, 1, 2} representing the output wire values in the previous output step. For each new input provided, the encoder updates state p with the algorithm:
using the transition tables T1 and T2 below. The updated p is then emitted on the output wires.
The corresponding TL3 decoder separately maintains a prior state p and a successor state s p=(p[0], p[1], p[2]), piε{0, 1, 2}, s=(s[0], s[1], s[2]), siε{0, 1, 2} representing the remembered previous and current detected input wire values, respectively. For each new input wire values detected, the decoder performs the algorithm:
a, b, c are output as the received data values, and stored state s is updated to be equal to p
In the TL3 interface illustrated in
The receiver front end for the ternary codes used by TL3 require two comparators per wire and two reference levels, typically at the midpoints between the 0, 1 and 1, 2 signal levels. The history-storing element within the receiver is shown as comprising a set of six history flip-flops operating in parallel with the main data flow from ternary receiver to line flip-flops to transition limited decoder. Other embodiments may organize the elements in a different order providing equivalent behavior, for example, placing the decoder immediately after the ternary receivers.
Reduction of Overall Signal Swing
In accordance with at least one embodiment, the selected code may be combined with reduced signal swings to provide additional SSO reduction over the reference full-swing binary CMOS example. As one particular example, the described TL3 code may be combined with the previously described RS signal levels, to produce the TL3-RS signaling method. Other such combinations of coding methods and signal swing constraints described herein should be considered as implicitly included combinations of the described elements.
Reset of the Transition Code
Two additional related issues exist with the use of transition codes. The first issue is ensuring that the history values used at each end are coordinated when the bus is used sporadically. The second issue, discussed in the next section, is ensuring that transitions on the line are minimized when the bus is not in use.
The first issue is to ensure that the history values at each end of the bus are using the same value. For buses that are running continuously, this is not an issue because the history values are set after a single clock. For buses such as bidirectional data buses, which are used sporadically by different transmit-receive pairs, and which produce data in narrow intervals, a reset function can also be used to coordinate the value of the history function.
When a data bus is not in use, the history value in the FIR filter at each end is reset to a known value. When that data bus is used, the reset is released at the exact moment that the data becomes valid.
In applications where an address bus is encoded with the TL3 code, at least two alternative embodiments may be used. The first embodiment includes circuitry to reset the history value when the address bus is not in use. The second embodiment is configured to allow the address bus to run for a single clock at startup.
Control of the Idle Values
The second issue with the use of transition codes is to carefully control the idle values on the bus. Since one possible reason to use a transition code is to minimize the transition on the bus, it may be desirable to eliminate or reduce transitions on the bus when the bus is not in use. Many buses sit idle most of the time, so the power dissipated in these situations is significant to the overall power consumption of the system.
With transition codes, only a single specific value of the bus leads to no transitions on the bus. This is not an issue with data buses since they are held in reset as described above. Three embodiments are now described for address and control buses.
The first embodiment for address and control buses is to organize the interface between the controller and the physical bus, so that during idle periods the address or control bus produces the particular value that is encoded as no transition.
The second embodiment is to hold the address and control in reset when not in use, similar what is done for the address bus.
The third embodiment adds a bus-holder circuit to the bus interface which has extra flip-flops at the transmit end to detect whether the bus has the same value as during the previous clock. The encoder then communicates that information via an additional special code word to the far end. Both the TL3 and TL4 codes could encode such a 9th or 17th state.
Systems Benefits of Fault Tolerance
Consider an example system comprising multiple stacked integrated circuit devices interconnected using through-silicon via (TSV) technology. If this assembly contains 1024 TSVs, and each TSV has a fault probability of 1×10−6 (one failure per million connections), the probability that the combined assembly does not have full connectivity is (1×10−6)1024 or approximately 1.02×10−3, or 1 in 1000.
Assuming that the 1024 connections are used in groups of four, and a fault-tolerant code permits continued operation if one of the four connections is failed, the probability that the combined assembly does not have full connectivity improves to approximately 1.5×10-9, or 1 in 650 million.
Enhanced TL3 Fault-Tolerant Code
In accordance with at least one embodiment of the invention, a variation of the previously described modulus-encoded code, herein called Fault-Tolerant TL3 or FTTL3, encodes three bits of data as ternary signals on groups of four wires. If any one of the signals is unavailable, as from a wire fault, the code continues to deliver three bits of data using signals on the remaining wires.
One embodiment incorporates a signal continuity test mode used, for example, at time of system initialization. This mode exercises each wire or TSV in the interconnection to identify wires or TSVs that have failed, and reports those failures to the encoding/decoding systems so that those signals may be bypassed or ignored during normal operation.
FTTL3 Encoding
The task of the encoder is to calculate a codeword upon receiving 3 bits (a, b, c). The encoder maintains additional state corresponding to the prior values of the three wires. It also receives as input s, indicating which wires are unbroken.
As an example, prior state p and sequence s may be defined as
p=(p[0],p[1],p[2]) piε{0,1,2} [Eqn. 1]
s=(s[0],s[1]) [Eqn. 2]
where s provides indices of the unbroken wires.
An updated state p is obtained by the encoding algorithm:
where T1 is performed using the lookup table previously described. The updated p is emitted on the output wires and retained for use in the next encoding cycle.
FTTL3 Decoding
An example decoder for the FTTL3 code uses two variables p and q, corresponding to the previous and successor (i.e. present) state of the received input wires. As with the encoder, sequence s is an input indicating which wires are unbroken.
Input:
p=(p[0],p[1],p[2]) piε{0,1,2} [Eqn. 3]
q=(q[0],q[1],q[2]) qiε{0,1,2} [Eqn. 4]
s=(s[0],s[1]) [Eqn. 5]
Prior state p and a successor state q represent the remembered previous and current detected input wire values, respectively. For each new input wire values detected, the decoder performs the algorithm:
Output:
a, b, c are output as the received data values, and stored state q is updated to be equal to p
Enhanced TL4 Fault-Tolerant Code
In accordance with at least one embodiment, a further variation of the previously described fault-tolerant modulus-encoded code, herein called FTTL4, encodes four bits of data as ternary signals on groups of four wires. If one of the signals is unavailable, as from a wire fault, the code continues to deliver four bits of data using signals on the remaining three wires.
As with the previous example, at least one embodiment incorporates a signal continuity test mode used, for example, at time of system initialization. This mode exercises each wire or TSV in the interconnection to identify wires or TSVs that have failed, and reports those failures to the encoding/decoding systems. Normal operation may occur if each four wire group has at least three fault-free wires.
FTTL4 Encoding
The task of the encoder is to calculate a codeword upon receiving 4 bits (a, b, c, d). The encoder maintains additional state corresponding to the prior values of the four wires. It also receives as input s, indicating which wires are unbroken.
As an example, prior state p and sequence s may be defined as
p=(p[0],p[1],p[2],p[3]) piε{0,1,2,3} [Eqn. 6]
s=(s[0],s[1],s[2]) [Eqn. 7]
where s provides indices of the unbroken wires.
An updated state p is obtained by the encoding algorithm:
where T1 and T2 are performed using the two lookup tables previously described. The updated p is then emitted on the output wires.
Decoding of the FTTL4 code follows the method described in the previous example.
Error Probability Reduction
If it is assumed that wire failures are independent, and occur with probability p, and that the interconnection between devices has M wires, the probability q that the interconnected devices fail due to the wire failures may be calculated as:
q=1−(1−p)N˜N·p for small p [Eqn. 8]
If the FTTL3 code is used, 1 failure per 3 wire group may be tolerated, leading to:
q=1−((1−p)3+3p(1−p)2)N/3˜N·p2 for small p [Eqn. 9]
which is orders of magnitude smaller than the unencoded case, for small p.
Similarly, if the FTTL4 code is used, 1 failure per 4 wire group may be tolerated, leading to:
which is orders of magnitude smaller than the unencoded case, for small p.
Power and SSO Behavior
A figure of merit (FOM) metric may be defined for driver power consumption and SSO noise generation per transmitted bit in the FTTL3 and FTTL4 codes, compared to non-fault-tolerant unterminated CMOS transmissions with the same peak-to-peak signal swings.
For power utilization, the metric is called P-FOM, and has been calculated to be approximately 0.41 for FTLL3 and 0.375 for FTTL4. For simultaneous switched output noise, the metric is called S-FOM and is 0.66 for FTTL3 and 0.5 for FTTL4.
Adaptive Wire Selection for Fault Tolerance
As illustrated in
As will be apparent to one familiar with the art, the example multiplexers are equivalent to, and thus may be replaced by digital logic between the encoder outputs and the output drivers and between the input line receivers and decoder inputs, or by an analog crossbar, switch, or transmission gates between the output drivers, input line receivers, and wires.
The examples presented herein illustrate the use of vector signaling codes for point-to-point or bussed chip-to-chip interconnection. However, this should not been seen in any way as limiting the scope of the described invention. The methods disclosed in this application are equally applicable to other interconnection topologies and other communication media including optical, capacitive, inductive, and wireless communications. Thus, descriptive terms such as “voltage” or “signal level” should be considered to include equivalents in other measurement systems, such as “optical intensity”, “RF modulation”, etc. and “wire” should be considered as representing any discrete and isolatable signal path or channel. As used herein, the term “signal” includes any suitable behavior and/or attribute of a physical phenomenon capable of conveying information. Such physical signals may be tangible and non-transitory.
This application claims priority to U.S. provisional application Ser. No. 61/883,796 entitled “Fault Tolerant Chip-To-Chip Communication With Advanced Voltage Regulator” filed Sep. 27, 2013, the entire contents of which are incorporated by reference herein. The following references are herein incorporated by reference in their entirety for all purposes: U.S. Patent Publication 2011/0268225 of U.S. patent application Ser. No. 12/784,414, filed May 20, 2010, naming Harm Cronie and Amin Shokrollahi, entitled “Orthogonal Differential Vector Signaling” (hereinafter “Cronie I”);U.S. Patent Publication 2011/0302478 of U.S. patent application Ser. No. 12/982,777, filed Dec. 30, 2010, naming Harm Cronie and Amin Shokrollahi, entitled “Power and Pin Efficient Chip-to-Chip Communications with Common-Mode Resilience and SSO Resilience” (hereinafter “Cronie II”);U.S. patent application Ser. No. 13/030,027, filed Feb. 17, 2011, naming Harm Cronie, Amin Shokrollahi and Armin Tajalli, entitled “Methods and Systems for Noise Resilient, Pin-Efficient and Low Power Communications with Sparse Signaling Codes” (hereinafter “Cronie III”); andU.S. patent application Ser. No. 13/463,742, filed May 3, 2012, naming Harm Cronie and Amin Shokrollahi, entitled “Finite State Encoders and Decoders for Vector Signaling Codes” (hereafter called “Cronie IV”).U.S. patent application Ser. No. 13/603,107, filed Sep. 9, 2012, naming Brian Holden and Amin Shokrollahi, entitled “Methods and Systems for Selection of Unions of Vector Signaling Codes for Power and Pin Efficient Chip-To-Chip Communication” (hereinafter called “Holden I”).U.S. patent application Ser. No. 13/671,426, filed Nov. 7, 2012, naming Brian Holden and Amin Shokrollahi, entitled “Crossbar Switch Decoder for Vector Signaling Codes” (hereinafter called “Holden II”).
Number | Name | Date | Kind |
---|---|---|---|
3196351 | Slepian | Jul 1965 | A |
3636463 | Ongkiehong | Jan 1972 | A |
3939468 | Mastin | Feb 1976 | A |
4163258 | Ebihara et al. | Jul 1979 | A |
4181967 | Nash et al. | Jan 1980 | A |
4206316 | Burnsweig et al. | Jun 1980 | A |
4276543 | Miller | Jun 1981 | A |
4486739 | Franaszeck et al. | Dec 1984 | A |
4499550 | Ray et al. | Feb 1985 | A |
4722084 | Morton | Jan 1988 | A |
4772845 | Scott | Sep 1988 | A |
4774498 | Traa | Sep 1988 | A |
4864303 | Ofek | Sep 1989 | A |
4897657 | Brubaker | Jan 1990 | A |
5053974 | Penz | Oct 1991 | A |
5166956 | Baltus et al. | Nov 1992 | A |
5168509 | Nakamura et al. | Dec 1992 | A |
5283761 | Gillingham | Feb 1994 | A |
5287305 | Yoshida | Feb 1994 | A |
5311516 | Kuznicki | May 1994 | A |
5412689 | Chan et al. | May 1995 | A |
5449895 | Hecht | Sep 1995 | A |
5459465 | Kagey | Oct 1995 | A |
5511119 | Lechleider | Apr 1996 | A |
5553097 | Dagher | Sep 1996 | A |
5566193 | Cloonan | Oct 1996 | A |
5599550 | Kohlruss et al. | Feb 1997 | A |
5659353 | Kostreski et al. | Aug 1997 | A |
5727006 | Dreyer | Mar 1998 | A |
5802356 | Gaskins | Sep 1998 | A |
5825808 | Hershey et al. | Oct 1998 | A |
5856935 | Moy | Jan 1999 | A |
5875202 | Venters | Feb 1999 | A |
5945935 | Kusumoto | Aug 1999 | A |
5949060 | Schattschneider | Sep 1999 | A |
5995016 | Perino | Nov 1999 | A |
6005895 | Perino et al. | Dec 1999 | A |
6084883 | Norrell et al. | Jul 2000 | A |
6172634 | Leonowich et al. | Jan 2001 | B1 |
6175230 | Hamblin et al. | Jan 2001 | B1 |
6232908 | Nakaigawa | May 2001 | B1 |
6278740 | Nordyke | Aug 2001 | B1 |
6346907 | Dacy | Feb 2002 | B1 |
6359931 | Perino et al. | Mar 2002 | B1 |
6378073 | Davis | Apr 2002 | B1 |
6398359 | Silverbrook | Jun 2002 | B1 |
6404820 | Postol | Jun 2002 | B1 |
6404920 | Postol | Jun 2002 | B1 |
6417737 | Moloudi et al. | Jul 2002 | B1 |
6452420 | Wong | Sep 2002 | B1 |
6473877 | Sharma | Oct 2002 | B1 |
6483828 | Balachandran | Nov 2002 | B1 |
6504875 | Perino et al. | Jan 2003 | B2 |
6509773 | Buchwald | Jan 2003 | B2 |
6556628 | Poulton et al. | Apr 2003 | B1 |
6563382 | Yang et al. | May 2003 | B1 |
6621427 | Greenstreet | Sep 2003 | B2 |
6624699 | Yin | Sep 2003 | B2 |
6650638 | Walker et al. | Nov 2003 | B1 |
6661355 | Cornelius et al. | Dec 2003 | B2 |
6766342 | Kechriotis | Jul 2004 | B2 |
6839429 | Gaikwald et al. | Jan 2005 | B1 |
6865234 | Agazzi | Mar 2005 | B1 |
6865236 | Terry | Mar 2005 | B1 |
6954492 | Williams | Oct 2005 | B1 |
6990138 | Bejjani | Jan 2006 | B2 |
6999516 | Rajan | Feb 2006 | B1 |
7023817 | Kuffner | Apr 2006 | B2 |
7053802 | Cornelius | May 2006 | B2 |
7085153 | Ferrant et al. | Aug 2006 | B2 |
7142612 | Horowitz et al. | Nov 2006 | B2 |
7142865 | Tsai | Nov 2006 | B2 |
7167019 | Broyde et al. | Jan 2007 | B2 |
7180949 | Kleveland et al. | Feb 2007 | B2 |
7184483 | Rajan | Feb 2007 | B2 |
7335976 | Chen | Feb 2008 | B2 |
7356213 | Cunningham et al. | Apr 2008 | B1 |
7358869 | Chiarulli et al. | Apr 2008 | B1 |
7362130 | Broyde et al. | Apr 2008 | B2 |
7389333 | Moore et al. | Jun 2008 | B2 |
7400276 | Sotiriadis | Jul 2008 | B1 |
7428273 | Foster | Sep 2008 | B2 |
7570704 | Nagarajan | Aug 2009 | B2 |
7620116 | Bessios | Nov 2009 | B2 |
7633850 | Ahn | Dec 2009 | B2 |
7643588 | Visalli | Jan 2010 | B2 |
7656321 | Wang | Feb 2010 | B2 |
7697915 | Behzad | Apr 2010 | B2 |
7706524 | Zerbe | Apr 2010 | B2 |
7746764 | Rawlins et al. | Jun 2010 | B2 |
7787572 | Scharf et al. | Aug 2010 | B2 |
7841909 | Murray | Nov 2010 | B2 |
7869497 | Benvenuto | Jan 2011 | B2 |
7869546 | Tsai | Jan 2011 | B2 |
7882413 | Chen et al. | Feb 2011 | B2 |
7933770 | Kruger et al. | Apr 2011 | B2 |
8064535 | Wiley | Nov 2011 | B2 |
8091006 | Prasad et al. | Jan 2012 | B2 |
8106806 | Toyomura | Jan 2012 | B2 |
8149906 | Saito | Apr 2012 | B2 |
8159375 | Abbasafar | Apr 2012 | B2 |
8159376 | Abbasfar | Apr 2012 | B2 |
8199849 | Oh | Jun 2012 | B2 |
8253454 | Lin | Aug 2012 | B2 |
8279094 | Abbasfar | Oct 2012 | B2 |
8295250 | Gorokhov | Oct 2012 | B2 |
8310389 | Chui | Nov 2012 | B1 |
8406315 | Tsai | Mar 2013 | B2 |
8429495 | Przybylski | Apr 2013 | B2 |
8442099 | Sederat | May 2013 | B1 |
8442210 | Zerbe | May 2013 | B2 |
8443223 | Abbasfar | May 2013 | B2 |
8462891 | Kizer et al. | Jun 2013 | B2 |
8498368 | Husted | Jul 2013 | B1 |
8520493 | Goulahsen | Aug 2013 | B2 |
8547272 | Nestler et al. | Oct 2013 | B2 |
8578246 | Mittelholzer | Nov 2013 | B2 |
8588280 | Oh et al. | Nov 2013 | B2 |
8593305 | Tajalli et al. | Nov 2013 | B1 |
8638241 | Sudhakaran | Jan 2014 | B2 |
8649460 | Ware et al. | Feb 2014 | B2 |
8649556 | Cronie | Feb 2014 | B2 |
8718184 | Cronie | May 2014 | B1 |
8780687 | Clausen | Jul 2014 | B2 |
8782578 | Tell | Jul 2014 | B2 |
8879660 | Peng | Nov 2014 | B1 |
8949693 | Ordentlich | Feb 2015 | B2 |
8951072 | Hashim | Feb 2015 | B2 |
8989317 | Holden | Mar 2015 | B1 |
9036764 | Hossain | May 2015 | B1 |
9069995 | Cronie | Jun 2015 | B1 |
9077386 | Holden | Jul 2015 | B1 |
9093791 | Liang | Jul 2015 | B2 |
9100232 | Hormati | Aug 2015 | B1 |
9281785 | Sjoland | Mar 2016 | B2 |
9331962 | Lida | May 2016 | B2 |
9362974 | Fox | Jun 2016 | B2 |
9374250 | Musah | Jun 2016 | B1 |
20010055344 | Lee et al. | Dec 2001 | A1 |
20020034191 | Shattil | Mar 2002 | A1 |
20020044316 | Myers | Apr 2002 | A1 |
20020057592 | Robb | May 2002 | A1 |
20020154633 | Shin | Oct 2002 | A1 |
20020163881 | Dhong | Nov 2002 | A1 |
20020174373 | Chang | Nov 2002 | A1 |
20030071745 | Greenstreet | Apr 2003 | A1 |
20030086366 | Branlund | May 2003 | A1 |
20030105908 | Perino et al. | Jun 2003 | A1 |
20030146783 | Bandy et al. | Aug 2003 | A1 |
20030227841 | Tateishi et al. | Dec 2003 | A1 |
20040003336 | Cypher | Jan 2004 | A1 |
20040003337 | Cypher | Jan 2004 | A1 |
20040057525 | Rajan et al. | Mar 2004 | A1 |
20040086059 | Eroz et al. | May 2004 | A1 |
20040156432 | Hidaka | Aug 2004 | A1 |
20040170231 | Bessios | Sep 2004 | A1 |
20050057379 | Jansson | Mar 2005 | A1 |
20050135182 | Perino et al. | Jun 2005 | A1 |
20050149833 | Worley | Jul 2005 | A1 |
20050152385 | Cioffi | Jul 2005 | A1 |
20050174841 | Ho | Aug 2005 | A1 |
20050286643 | Ozawa et al. | Dec 2005 | A1 |
20060115027 | Srebranig | Jun 2006 | A1 |
20060159005 | Rawlins et al. | Jul 2006 | A1 |
20070188367 | Yamada | Aug 2007 | A1 |
20070260965 | Schmidt et al. | Nov 2007 | A1 |
20070263711 | Kramer et al. | Nov 2007 | A1 |
20070265533 | Tran | Nov 2007 | A1 |
20070283210 | Prasad et al. | Dec 2007 | A1 |
20080104374 | Mohamed | May 2008 | A1 |
20080159448 | Anim-Appiah et al. | Jul 2008 | A1 |
20080169846 | Lan et al. | Jul 2008 | A1 |
20080273623 | Chung et al. | Nov 2008 | A1 |
20080284524 | Kushiyama | Nov 2008 | A1 |
20090059782 | Cole | Mar 2009 | A1 |
20090092196 | Okunev | Apr 2009 | A1 |
20090132758 | Jiang | May 2009 | A1 |
20090141827 | Saito | Jun 2009 | A1 |
20090154500 | Diab et al. | Jun 2009 | A1 |
20090164612 | Lee et al. | Jun 2009 | A1 |
20090185636 | Palotai et al. | Jul 2009 | A1 |
20090193159 | Li | Jul 2009 | A1 |
20090212861 | Lim et al. | Aug 2009 | A1 |
20090228767 | Oh et al. | Sep 2009 | A1 |
20090257542 | Evans et al. | Oct 2009 | A1 |
20100023838 | Shen | Jan 2010 | A1 |
20100104047 | Chen et al. | Apr 2010 | A1 |
20100180143 | Ware et al. | Jul 2010 | A1 |
20100205506 | Hara | Aug 2010 | A1 |
20100296550 | Abou Rjeily | Nov 2010 | A1 |
20100296556 | Rave | Nov 2010 | A1 |
20110051854 | Kizer et al. | Mar 2011 | A1 |
20110072330 | Kolze | Mar 2011 | A1 |
20110084737 | Oh et al. | Apr 2011 | A1 |
20110127990 | Wilson et al. | Jun 2011 | A1 |
20110235501 | Goulahsen | Sep 2011 | A1 |
20110268225 | Cronie | Nov 2011 | A1 |
20110299555 | Cronie et al. | Dec 2011 | A1 |
20110302478 | Cronie | Dec 2011 | A1 |
20110317559 | Kern et al. | Dec 2011 | A1 |
20120063291 | Hsueh | Mar 2012 | A1 |
20120152901 | Nagorny | Jun 2012 | A1 |
20120161945 | Single | Jun 2012 | A1 |
20120213299 | Cronie et al. | Aug 2012 | A1 |
20130010892 | Cronie et al. | Jan 2013 | A1 |
20130051162 | Amirkhany et al. | Feb 2013 | A1 |
20140226455 | Schumacher | Aug 2014 | A1 |
20140254730 | Kim et al. | Sep 2014 | A1 |
20150010044 | Zhang | Jan 2015 | A1 |
20150078479 | Whitby-Strevens | Mar 2015 | A1 |
20150333940 | Shokrollahi | Nov 2015 | A1 |
20150381232 | Ulrich | Dec 2015 | A1 |
20160020796 | Hormati | Jan 2016 | A1 |
20160020824 | Ulrich | Jan 2016 | A1 |
20160036616 | Holden | Feb 2016 | A1 |
Number | Date | Country |
---|---|---|
101478286 | Jul 2009 | CN |
2039221 | Mar 2009 | EP |
2003163612 | Jun 2003 | JP |
2009084121 | Jul 2009 | WO |
2010031824 | Mar 2010 | WO |
2011119359 | Sep 2011 | WO |
Entry |
---|
International Search Report and Written Opinion of the International Searching Authority, mailed Nov. 5, 2012, in International Patent Application S.N. PCT/EP2012/052767, 7 pages. |
International Search Report and Written Opinion of the International Searching Authority, mailed Jul. 14, 2011 in International Patent Application S.N. PCT/EP2011/002170, 10 pages. |
Healey, A., et al., “A Comparison of 25 Gbps NRZ & PAM-4 Modulation used in Legacy & Premium Backplane Channels”, DesignCon 2012, 16 pages. |
International Search Report for PCT/US2014/053563, dated Nov. 11, 2014, 2 pages. |
Clayton, P., “Introduction to Electromagnetic Compatibility”, Wiley-Interscience, 2006. |
She et al., “A Framework of Cross-Layer Superposition Coded Multicast for Robust IPTV Services over WiMAX,” IEEE Communications Society subject matter experts for publication in the WCNC 2008 proceedings, Mar. 31, 2008-Apr. 3, 2008, pp. 3139-3144. |
Poulton, et al., “Multiwire Differential Signaling”, UNC-CH Department of Computer Science Version 1.1, Aug. 6, 2003. |
Skliar et al., A Method for the Analysis of Signals: the Square-Wave Method, Mar. 2008, Revista de Matematica: Teoria y Aplicationes, pp. 09-129. |
International Search Report and Written Opinion from PCT/US2014/034220 mailed Aug. 21, 2014. |
International Search Report and Written Opinion for PCT/US14/052986 mailed Nov. 24, 2014. |
Burr, “Spherical Codes for M-ARY Code Shift Keying”, University of York, Apr. 2, 1989, pp. 67-72, United Kingdom. |
Slepian, D., “Premutation Modulation”, IEEE, vol. 52, No. 3, Mar. 1965, pp. 228-236. |
Stan, M., et al., “Bus-Invert Coding for Low-Power I/O, IEEE Transactions on Very Large Scale Integration (VLSI) Systems”, vol. 3, No. 1, Mar. 1995, pp. 49-58. |
Tallani, L., et al., “Transmission Time Analysis for the Parallel Asynchronous Communication Scheme”, IEEE Tranactions on Computers, vol. 52, No. 5, May 2003, pp. 558-571. |
International Search Report and Written Opinion for PCT/EP2012/052767 mailed May 11, 2012. |
International Search Report and Written Opinion for PCT/EP2011/059279 mailed Sep. 22, 2011. |
International Search Report and Written Opinion for PCT/EP2011/074219 mailed Jul. 4, 2012. |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration for PCT/EP2013/002681, dated Feb. 25, 2014, 15 pages. |
Ericson, T., et al., “Spherical Codes Generated by Binary Partitions of Symmetric Pointsets”, IEEE Transactions on Information Theory, vol. 41, No. 1, Jan. 1995, pp. 107-129. |
Farzan, K., et al., “Coding Schemes for Chip-to-Chip Interconnect Applications”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 14, No. 4, Apr. 2006, pp. 393-406. |
Abbasfar, A., “Generalized Differential Vector Signaling”, IEEE International Conference on Communications, ICC '09, (Jun. 14, 2009), pp. 1-5. |
Dasilva et al., “Multicarrier Orthogonal CDMA Signals for Quasi-Synchronous Communication Systems”, IEEE Journal on Selected Areas in Communications, vol. 12, No. 5 (Jun. 1, 1994), pp. 842-852. |
Wang et al., “Applying CDMA Technique to Network-on-Chip”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol. 15, No. 10 (Oct. 1, 2007), pp. 1091-1100. |
Cheng, W., “Memory Bus Encoding for Low Power: A Tutorial”, Quality Electronic Design, IEEE, International Symposium on Mar. 26-28, 2001, pp. 199-204, Piscataway, NJ. |
Brown, L., et al., “V.92: The Last Dial-Up Modem?”, IEEE Transactions on Communications, IEEE Service Center, Piscataway, NJ., USA, vol. 52, No. 1, Jan. 1, 2004, pp. 54-61. XP011106836, ISSN: 0090-6779, DOI: 10.1109/tcomm.2003.822168, pp. 55-59. |
Notification of Transmittal of International Search Report and the Written Opinion of the International Searching Authority, for PCT/US2015/018363, mailed Jun. 18, 2015, 13 pages. |
Counts, L., et al., “One-Chip Slide Rule Works with Logs, Antilogs for Real-Time Processing,” Analog Devices Computational Products 6, Reprinted from Electronic Design, May 2, 1985, 7 pages. |
Design Brief 208 Using the Anadigm Multiplier CAM, Copyright 2002 Anadigm, 6 pages. |
Grahame, J., “Vintage Analog Computer Kits,” posted on Aug. 25, 2006 in Classic Computing, 2 pages, http.//www.retrothing.com/2006/08/classic—analog—.html. |
Schneider, J., et al., “ELEC301 Project: Building an Analog Computer,” Dec. 19, 1999, 8 pages, http://www.clear.rice.edu/elec301/Projects99/anlgcomp/. |
Tierney, J., et al., “A digital frequency synthesizer,” Audio and Electroacoustics, IEEE Transactions, Mar. 1971, pp. 48-57, vol. 19, Issue 1, 1 page Abstract from http://ieeexplore. |
“Introduction to: Analog Computers and the DSPACE System,” Course Material ECE 5230 Spring 2008, Utah State University, www.coursehero.com, 12 pages. |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration, for PCT/US2014/015840, dated May 20, 2014. 11 pages. |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration, for PCT/US2014/043965, dated Oct. 22, 2014, 10 pages. |
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration, dated Mar. 3, 2015, for PCT/US2014/066893, 9 pages. |
International Preliminary Report on Patentability for PCT/US2014/015840, dated Aug. 11, 2015, 7 pages. |
Jiang, A., et al., “Rank Modulation for Flash Memories”, IEEE Transactions of Information Theory, Jun. 2006, vol. 55, No. 6, pp. 2659-2673. |
Zouhair Ben-Neticha et al, “The streTched-Golay and other codes for high-SNR finite-delay quantization of the Gaussian source at 1/2 Bit per sample”, IEEE Transactions on Communications, vol. 38, No. 12 Dec. 1, 1990, pp. 2089-2093, XP000203339, ISSN: 0090-6678, DOI: 10.1109/26.64647. |
Oh, et al., Pseudo-Differential Vector Signaling for Noise Reduction in Single-Ended Signaling, DesignCon 2009. |
Number | Date | Country | |
---|---|---|---|
20150092532 A1 | Apr 2015 | US |
Number | Date | Country | |
---|---|---|---|
61883796 | Sep 2013 | US |