Efficient processing and detection of balanced codes
Summary by NHIP
Differential balanced code processor
The apparatus processes balanced codewords using a differential amplifier with two parallel-branch circuits. Each branch contains transistors connected to specific multi-wire bus lines and a series load impedance, driven by a fixed-magnitude current source to generate a binary differential voltage output.
Claim Score by NHIP
Abstract
Circuits that are matched to balanced codes may recover transmitted information in a noise resilient and power efficient manner. Circuit components for processing a balanced code may include one or more of: matched amplification of the signals representing the balanced code, matched equalization and/or filtering on the signals representing the balanced code, matched non-linear filtering on the signaling representing the balanced code to detect the presence of particular symbols and matched latching of the signals representing the balanced code. Such matched circuits and circuit components may be achieved at least in part by incorporating suitable common circuit nodes and/or a single energy source into circuit topologies.

Term
5.8 yearsleft in the term
Expires 5 July 2032.
- Priority
- Filed
- Granted
- Today
- Expires
20 claims: 2 independent, 18 dependent
- 1An apparatus comprising:a pair of circuit branches comprising a first circuit branch and a second circuit branch the pair of circuit branches arranged in a differential amplifier configuration, each circuit branch comprising one or more transistors connected in parallel, each transistor having an input connected to a wire of a multi-wire bus and configured to receive a symbol of a balanced codeword from the connected wire, wherein at least one of the circuit branches comprises at least two transistors receiving different symbols of the balanced codeword;each circuit branch further comprising a load impedance, connected in series with the one or more transistors of the corresponding circuit branch;a current source connected to the pair of circuit branches, the current source having a fixed current magnitude, the current source configured to draw currents through the one or more transistors and load impedance of each of the pair of circuit branches;and a differential amplifier output node having a differential voltage output signal formed by the load impedances, the differential voltage output signal having one of two values equal in magnitude and opposite in sign, wherein the sign of the value of the differential output signal is used to identify one or more output bits.
- 11Broadest claimClaim Score 38, average(NHIP)A method comprising:receiving symbols of a balanced codeword at a pair of circuit branches comprising a first circuit branch and a second circuit branch arranged in a differential amplifier configuration, each circuit branch comprising one or more transistors connected in parallel, each symbol received at an input of a transistor, wherein at least one of the circuit branches comprises at least two transistors receiving different symbols of the balanced codeword;drawing currents through the one or more transistors of each branch using a current source connected to the pair of circuit branches, the current source having a fixed current magnitude;and forming a differential voltage output signal using a pair of load impedances, each circuit branch connected to a corresponding load impedance, the differential voltage output signal formed by drawing currents through the pair of load impedances, the differential voltage output signal having one of two values equal in magnitude and opposite in sign, wherein the sign of the value of the differential output signal is used to identify one or more output bits.
Independent claims2
74 paragraphs in 6 sections, as filed
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a Continuation of U.S. application Ser. No. 14/956,021, filed Dec. 1, 2015, which is a Continuation of U.S. application Ser. No. 14/089,577, now issued U.S. Pat. No. 9,203,402, filed Nov. 25, 2013, which is a Continuation of U.S. application Ser. No. 13/542,599, now issued U.S. Pat. No. 8,593,305, filed Jul. 5, 2012, which is a non-provisional application claiming priority under 35 USC §119 to U.S. Provisional Application No. 61/504,676, entitled “Method and Circuits for Efficient Processing and Detection of Balanced Codes,” filed on Jul. 5, 2011, all of which are hereby incorporated herein by reference.
The following references are additionally herein incorporated by reference in their entirety for all purposes: <ul id="ul0001" list-style="none"><li id="ul0001-0001" num="0000"><ul id="ul0002" list-style="none"><li id="ul0002-0001" num="0003">U.S. Patent Publication 2011/0268225 of application Ser. No. 12/784,414, filed May 20, 2010, naming Harm Cronie and Amin Shokrollahi, entitled “Orthogonal Differential Vector Signaling” (hereinafter “Cronie I”);</li><li id="ul0002-0002" num="0004">U.S. Patent Publication 2011/0302478 of 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”);</li><li id="ul0002-0003" num="0005">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”); and</li><li id="ul0002-0004" num="0006">U.S. patent application Ser. No. 13/464,849, filed on May 4, 2012, naming Harm Cronie and Amin Shokrollahi, entitled “Differential Vector Storage for Non-Volatile Memory” (hereinafter “Cronie IV”).</li></ul></li></ul>
FIELD OF THE INVENTION
The present invention relates to communications in general and in particular to transmission of signals capable of conveying information, wherein one or more of power consumption, pin-efficiency, SSO noise and common-mode noise are constraints.
BACKGROUND OF THE INVENTION
One goal of a communication system may be to transport information from one physical location to another. In some electronic communication systems, the communication itself takes place between electronic components. For example, these electronic components may be integrated circuits (“ICs”) and this communication setting may be referred to as “chip-to-chip communication.” The communicating electronic components might be located in the same apparatus, such as the communication between a central processing unit (“CPU”) and memory inside a computer, tablet computing device, or other mobile device. Another example is the communication between two CPU cores that are integrated on the same chip. Yet another example is the communication between a Graphics Processing Unit (“GPU”) and memory on a graphics card. In these cases, the actual communication can take place over wires on a printed circuit board (“PCB”) and/or metal wires integrated in a chip and these wires carry electrical signals. It should be apparent upon reading this disclosure that other possibilities exist. The communication may, for instance, take place wirelessly or over an optical fiber.
In some cases, communication takes place between components that are located in different apparatuses. An example of this situation is a digital photo camera that is connected to a computer. In this setting, the communication can take place over a physical cable or wirelessly. Another example is a set of computers that are connected to a network. The electronic components on the network card of each computer may communicate with the electronic components of another network card of yet another computer.
In such communication settings, a goal may be to transmit digital information from one electronic component to another in a reliable and efficient way. The efficiency of the communication can be expressed in terms of the time it takes to transfer certain amount of information (speed), the energy that is required to transmit the information reliably (power consumption) and the number of wires per bit that is required for communication (pin-efficiency). Typically, several trade-offs exist between these parameters and, depending on the application, some of these parameters may be more important than others. One example is the communication between a CPU and a memory in a mobile device. A battery powers the mobile device and the power consumption of the communication between the CPU and memory can have a significant impact on the battery life. The desired trade-off may even change when the mobile device is connected to a non-portable power supply.
In some chip-to-chip communication systems communication takes place over a plurality of wires, for example, to increase the aggregate bandwidth. A single or pair of such wires may be referred to as a channel or link and multiple channels create a communication bus between the electronic components.
A difficulty in designing high speed, low power and pin-efficient chip-to-chip communication systems lies in part in the fact that the communication channel is not perfect. For example, the physical wires may disturb the signals transmitted on them and noise and interference may be added to the transmitted signals. As another example, the electronic components used to implement the communication system are not perfect and this can disturb the signals used for communication.
There can be multiple sources of noise in chip-to-chip communication systems. For example, there may be noise and interference that is common to a set of wires. This type of noise and interference is called common-mode noise. As another example, there may be thermal noise that is induced in electrical conductors. Thermal noise may be modeled as Gaussian noise that is added to each conductor independently. As yet another example, there may be simultaneous switching output (“SSO”) noise that is caused by a time-varying current in the electronics that drive the wires. As still another example, the signals transmitted on different wires may interfere with one other, which can cause crosstalk and significantly degrade signal integrity, especially at high speeds. As still yet another example, for some signaling methods an absolute voltage or current reference is required at the receiver. Such references are difficult to maintain with great precision and errors in the reference may cause unwanted distortions and noise.
Conventional attempts to combat the various types of noise while optimizing pin-efficiency and power consumption are inefficient, ineffective and/or have undesirable side effects or other drawbacks with respect to at least one significant use case.
Embodiments of the invention are directed toward solving these and other problems individually and collectively.
BRIEF SUMMARY
Methods and circuits for efficient processing and/or detection of balanced codes are enabled. A set of controlled sources may be placed in a configuration with one or more common nodes. One or more current sources may sink a predetermined current from each of the common nodes. A code word of a balanced code may be provided as inputs to the set of controlled sources, and a result may be derived from the current provided by each controlled source and/or from a fraction of the predetermined current provided by each controlled source. Alternatively, the circuit nodes associated with each of the controlled sources may be interconnected with an impedance. The controlled sources and/or the impedances may be configured with respect to the balanced code input.
BRIEF DESCRIPTION OF THE DRAWINGS
Various embodiments in accordance with the present disclosure will be described with reference to the drawings, in which:
<figref idref="DRAWINGS">FIG. 1</figref> is a schematic diagram depicting aspects of an example processing unit for a balanced code in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 2</figref> is a schematic diagram depicting aspects of an example amplification circuit in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 3</figref> is a schematic diagram depicting aspects of another example amplification circuit in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 4</figref> is a schematic diagram depicting aspects of yet another example amplification circuit in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 5</figref> is a schematic diagram depicting aspects of still another example amplification circuit in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 6</figref> is a schematic diagram depicting aspects of an example linear equalizer circuit for a balanced code that operates on eight wires in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 7</figref> is a schematic diagram depicting aspects of an example circuit that can be used for amplification and equalization in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 8</figref> is a schematic diagram depicting aspects of an example balanced amplifier with a capability of equalizing a frequency dependent attenuation of a channel in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 9</figref> is a schematic diagram depicting aspects of an example feedback component of a decision feedback equalizer in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 10</figref> is a schematic diagram depicting aspects of an example processing unit that implements an analog-to-digital converter in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 11</figref> is a schematic diagram depicting aspects of an example voltage-to-time converter in accordance with at least one embodiment of the invention;
<figref idref="DRAWINGS">FIG. 12</figref> is a schematic diagram depicting aspects of an example max-detector circuit operating on eight input signals in accordance with at least one embodiment of the invention; and
<figref idref="DRAWINGS">FIG. 13</figref> is a schematic diagram depicting aspects of an example circuit configuration with a differential output in accordance with at least one embodiment of the invention.
The attached figures provide examples that are further explained in the text below. Same numbers are used throughout the disclosure and figures to reference like components and features.
DETAILED DESCRIPTION OF EMBODIMENTS
The subject matter of embodiments of the present invention is described here with specificity to meet statutory requirements, but this description is not necessarily intended to limit the scope of the claims. The claimed subject matter may be embodied in other ways, may include different elements or steps, and may be used in conjunction with other existing or future technologies. This description should not be interpreted as implying any particular order or arrangement among or between various steps or elements except when the order of individual steps or arrangement of elements is explicitly described.
In accordance with at least one embodiment of the invention, methods and circuits for efficient processing and/or detection of balanced codes are enabled. Circuits that are matched to balanced codes may recover transmitted information in a noise resilient and power efficient manner. Circuit components for processing a balanced code may include one or more of: matched amplification of the signals representing the balanced code, matched equalization and/or filtering on the signals representing the balanced code, matched non-linear filtering on the signaling representing the balanced code to detect the presence of particular symbols and matched latching of the signals representing the balanced code. Such matched circuits and circuit components may be achieved at least in part by incorporating suitable common circuit nodes and/or a single energy source into circuit topologies.
In this disclosure the signaling methods disclosed in Cronie I, Cronie II and Cronie III are referred to as “balanced codes”. Balanced codes operate on three or more bus wires. A balanced code of length n has the property that the corresponding n signals transmitted on the bus satisfy
<maths id="MATH-US-00001" num="00001"><math overflow="scroll"><mtable><mtr><mtd><mrow><mrow><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow></munderover><mo></mo><mrow><msub><mi>s</mi><mi>i</mi></msub><mo></mo><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mrow><mo>=</mo><mn>0</mn></mrow></mtd><mtd><mrow><mo>(</mo><mrow><mi>Eqn</mi><mo>.</mo><mstyle><mspace width="0.8em" height="0.8ex" /></mstyle><mo></mo><mn>1</mn></mrow><mo>)</mo></mrow></mtd></mtr></mtable></math></maths>
In Equation 1, s<sub>i</sub>(t) denotes the signal present on the i-th bus wire. The signals may also sum to another predetermined number than 0 as is the case in Equation 1. In accordance with at least one embodiment of the invention, this predetermined number may be held constant for consecutive uses of the communication bus. Furthermore, after transmission across the wires of the bus, Equation 1 may only hold to a first approximation. Depending on the balanced code used, the signals transmitted on the wires of the bus may also satisfy additional constraints. For example, sparse signaling codes as introduced in Cronie II may result in a significant number of signals that are equal to 0. These additional properties may be used to implement power efficient receiver architectures as is shown in this disclosure.
A code word of a balanced code represents a set of information bits. One of the tasks of the receiver circuitry may be to recover these information bits. This recovery process may comprise several tasks such as amplification, equalization, analog-to-digital conversion, decoding and other suitable signaling processing. Collectively these processing steps are referred to herein as “processing a balanced code”. The operation of processing a balanced code may include one or more of: amplification of the signals representing the balanced code, performing equalization and/or filtering on the signals representing the balanced code, non-linear filtering on the signaling representing the balanced code to detect the presence of particular symbols and latching the signals representing the balanced code. It is often desirable to be able to perform several of these tasks in a power efficient way. In accordance with at least one embodiment of the invention, method and circuit techniques that are matched to balanced codes may recover the original information in a noise resilient and power efficient manner.
<figref idref="DRAWINGS">FIG. 1</figref> depicts aspects of an example processing unit <b>100</b> for a balanced code in accordance with at least one embodiment of the invention. The processing unit <b>100</b> has n inputs <b>110</b> (where, as is conventional, n is a suitable integer). On each of these inputs <b>110</b> a signal is present (e.g., an electronic signal representing ‘0’ or ‘1’) that represents one of the coordinates of the code word of the balanced code. The processing unit <b>100</b> may include n controlled sources or amplifiers <b>120</b>. Each of these controlled sources <b>120</b> may include a terminal (e.g., a signal coupling) that is connected to the inputs <b>110</b>, a terminal that is connected to the outputs <b>150</b> and a terminal that is connected to a common node <b>130</b>. The common node <b>130</b> may facilitate a resilience to common-mode noise and/or power efficient operation. As will be apparent to one of skill in the art, the connection of the controlled source <b>120</b> to the inputs, outputs and common node may comprise other components not explicitly shown in <figref idref="DRAWINGS">FIG. 1</figref>. The energy required to operate the processing unit <b>100</b> may be supplied by energy source <b>140</b> and the energy may be supplied through common node <b>130</b>. In accordance with at least one embodiment of the invention, the energy supplied by the energy source <b>140</b> is shared across the controlled sources <b>120</b>.
In accordance with at least one embodiment of the invention, the controlled sources <b>120</b> may incorporate one or more metal-oxide-silicon (MOS) transistors and/or bipolar transistors. Such transistors may be integrated in a chip (e.g., an integrated circuit or IC chip). In accordance with at least one embodiment of the invention, the controlled sources <b>120</b> may be implemented as a passive component such as a resistor or capacitor. In this case the controlled sources may comprise fewer terminals (e.g., two), as will be apparent to one of skill in the art familiar with resistors and capacitors.
Below, further aspects and/or details of processing units for balanced codes in accordance with at least one embodiment of the invention are described. For clarity, the above example of processing unit <b>100</b> is referenced consistently. However, processing unit <b>100</b> is not a limiting example. Processing units in accordance with at least one embodiment of the invention may implement one or more of: amplification for balanced codes, linear equalization for balanced codes, non-linear equalization for balanced codes, analog-to-digital conversion for balanced codes and decoding and detection of balanced codes.
Amplification for Balanced Codes
In accordance with at least one embodiment of the invention, a processing unit <b>100</b> may perform amplification of signals representing a word of a balanced code. <figref idref="DRAWINGS">FIG. 2</figref> depicts aspects of an example amplification circuit <b>200</b> that can be used for a balanced code that operates on eight wires. The circuit <b>200</b> may include a current source <b>210</b> that is connected to a common node <b>240</b>. The current source <b>210</b> may sink a current of size I<sub>SS </sub>from the common node <b>240</b>. The current source <b>210</b> may take the role of the energy source <b>140</b> in <figref idref="DRAWINGS">FIG. 1</figref>. The inputs to the circuit <b>200</b> of <figref idref="DRAWINGS">FIG. 2</figref> include the voltages V<sub>w1</sub>, . . . , V<sub>w8 </sub>and these are connected to the gates of transistors <b>220</b>. The sources of the transistors <b>220</b> may be connected to the common node <b>240</b>. The current that is supplied by current source <b>210</b> may be divided among the eight branches <b>230</b>. The amount of current that each branch <b>230</b> carries may be proportional to the corresponding gate voltage of the transistor in that branch.
In accordance with at least one embodiment of the invention, the operation of the circuit <b>200</b> is such that this correspondence is linear to first approximation. Each of the currents in the branches <b>230</b> may flow through a resistor. This converts the current to a voltage and these voltages V<sub>max1</sub>, . . . , V<sub>max8 </sub>may correspond to the output of the circuit <b>200</b>. In the circuit <b>200</b>, common mode noise that is present on the inputs V<sub>w1</sub>, . . . , V<sub>w8 </sub>may be rejected. Since the input voltages correspond to a balanced code only a single tail current source <b>210</b> need be used. This can make the circuit <b>200</b> power efficient. Without significant modification the circuit <b>200</b> can be used to amplify four differential input signals and generate four differential output signals. Therefore, this circuit <b>200</b> can be used in multi-mode applications when the user wants to switch from one application to other ones. In accordance with at least one embodiment of the invention, the balanced code used is a sparse signaling code and may be the 8b8w code described in Cronie III. As will be apparent to one of skill in the art, the circuit <b>200</b> may easily be adapted to a different number of inputs and outputs.
In some cases it may be an advantage to implement the circuit of <figref idref="DRAWINGS">FIG. 2</figref> with PMOS transistors. <figref idref="DRAWINGS">FIG. 3</figref> depicts aspects of an example such circuit <b>300</b> in accordance with at least one embodiment of the invention. The circuit <b>300</b> of <figref idref="DRAWINGS">FIG. 3</figref> includes a current source <b>310</b> that is connected to a common node <b>340</b>. The current source <b>310</b> may take the role of the energy source <b>140</b> in <figref idref="DRAWINGS">FIG. 1</figref>. The inputs to the circuit of <figref idref="DRAWINGS">FIG. 3</figref> correspond to the voltages V<sub>w1</sub>, . . . , V<sub>w8 </sub>and these are connected to the gates of transistors <b>320</b>. The sources of the transistors <b>320</b> may be connected to the common node <b>340</b>. The current that is supplied by current source <b>310</b> is divided across the eight branches <b>330</b>. The amount of current that each branch <b>330</b> carries may be proportional to the corresponding gate voltage of the transistor in that branch. In accordance with at least one embodiment of the invention, the operation of the circuit is such that this correspondence is linear to first approximation. Each of the currents in the branches <b>330</b> may flow through a resistor. This converts the current to a voltage and these voltages V<sub>min1</sub>, . . . , V<sub>min8 </sub>may correspond to the output of the circuit <b>300</b>. In the circuit <b>300</b>, common mode noise that is present on the inputs V<sub>w1</sub>, . . . , V<sub>w8 </sub>may cancel. Since the input voltages correspond to a balanced code only a single tail current source <b>310</b> need be used. This can make the circuit <b>300</b> power efficient. As will be apparent to one of skill in the art, the circuit <b>300</b> can be used to amplify four differential input signals and generate <b>4</b> differential output signals without significant modification. Therefore, this circuit <b>300</b> can be used in multi-mode applications when the user wants to switch from one application to other ones. As will be apparent to one of skill in the art, the circuit may be adapted to a different number of inputs and outputs.
In accordance with at least one embodiment of the invention, a circuit topology may be required to process a balanced code that provides more gain than the circuits depicted in <figref idref="DRAWINGS">FIG. 2</figref> and <figref idref="DRAWINGS">FIG. 3</figref>. <figref idref="DRAWINGS">FIG. 4</figref> depicts aspects of an example amplification circuit <b>400</b> that can be used for a balanced code that operates on eight wires in accordance with at least one embodiment of the invention. The circuit <b>400</b> includes two current sources <b>410</b> and <b>411</b> that are connected to the corresponding common nodes <b>440</b> and <b>441</b>. The inputs to the circuit <b>400</b> of <figref idref="DRAWINGS">FIG. 4</figref> correspond to the voltages V<sub>w1</sub>, . . . , V<sub>w8 </sub>and these are connected to the gates of transistors <b>420</b> and <b>421</b>. The source of the transistors <b>420</b> and <b>421</b> may be connected to the corresponding common node <b>440</b> and <b>441</b>, respectively. The currents that are supplied by current sources <b>410</b> and <b>411</b> are divided into the eight branches <b>430</b>. The amount of current that each branch <b>430</b> carries may be proportional to the corresponding gate voltage of the transistors in that branch. In accordance with at least one embodiment of the invention, the operation of the circuit is such that this dependence is linear to first approximation.
Each of the currents in the branches <b>430</b> flows through a resistor <b>450</b>. One of the terminals of the resistors <b>450</b> is connected to the branches <b>430</b> and the other terminals are connected to a common-mode voltage V<sub>CM</sub>. This common-mode voltage may for example be equal to Vdd/2. The resistors <b>450</b> convert the current in the corresponding branch to a voltage and these voltages V<sub>out1</sub>, . . . , V<sub>out8 </sub>correspond to the output of the circuit. In the circuit <b>400</b>, common-mode noise that is present on the inputs V<sub>w1</sub>, . . . , V<sub>w8 </sub>may be cancelled. Since the input voltages correspond to a balanced code only a single tail current source <b>411</b> is needed. This can make the circuit power efficient. The transconductance of PMOS transistors <b>421</b> may be configured to sum to the transconductance of the corresponding NMOS transistors <b>420</b> to increase the gain and also the bandwidth of the circuit. As will be apparent to one of skill in the art, the circuit <b>400</b> can be used to amplify four differential input signals and generate <b>4</b> differential output signals without significant modification. Therefore, this circuit can be used in multi-mode applications when the user wants to switch from one application to other ones. As will be apparent to one of skill in the art, the circuit may easily be adapted to a different number of inputs and outputs.
With technology scaling, the value of Vdd may be lowered and measures may need to be taken to operate the analog circuitry reliably. <figref idref="DRAWINGS">FIG. 5</figref> shows an example adaption <b>500</b> of the circuit in <figref idref="DRAWINGS">FIG. 4</figref> that is suitable for low voltage operation. <figref idref="DRAWINGS">FIG. 5</figref> shows the first branch <b>510</b> of the branches <b>430</b> in <figref idref="DRAWINGS">FIG. 4</figref>. The input to this branch is the voltage <b>505</b>. The circuit configuration in branch <b>510</b> employs two passive networks <b>530</b> and <b>535</b> to change the DC level for input NMOS transistor <b>520</b> and PMOS transistors <b>521</b>. The network <b>530</b> corresponding to NMOS transistor <b>520</b> changes the DC level at the gate of NMOS transistors closer to Vdd to produce more headroom for these transistors and also for the tail bias current sources. The network <b>535</b> corresponding to the PMOS transistor <b>521</b> changes the DC level at the gate of PMOS transistors closer to ground to produce more headroom for the PMOS transistors and also for the tail bias current sources. In accordance with at least one embodiment of the invention, passive networks <b>530</b>, <b>535</b> may employ passive components with a frequency selective transfer. In <figref idref="DRAWINGS">FIG. 5</figref>, networks <b>530</b> and <b>535</b> include capacitors <b>532</b> and <b>537</b>, respectively.
Using such an RC network can enable several possibilities. For example, the DC bias at the gate of NMOS transistor <b>520</b> and PMOS transistor <b>521</b> may be changed such that the voltage headroom for these transistors is increased further. As another example, the RC network can provide frequency compensation and is useful for equalization. While in low frequencies <b>532</b> and <b>537</b> act as resistive dividers and hence change the DC bias voltage, at high frequencies, the parallel capacitors <b>532</b> and <b>537</b> show less impedance and will provide a boost at high frequencies. Furthermore, capacitors <b>532</b> and <b>537</b> can provide appropriate and independent DC operating conditions for the input transistors <b>520</b>, <b>521</b>.
Linear Equalization for Balanced Codes
The signals that represent a code word of a balanced code may be transmitted on wires that have a frequency selective transfer. In this case equalization circuitry may be required to reliable detect the information represented by the code word. For this purpose equalization circuitry may be used to compensate for the frequency selective channel transfer. In case a balanced code is used, power-efficient equalization circuitry can be designed. Several examples are described below.
<figref idref="DRAWINGS">FIG. 6</figref> depicts aspects of an example linear equalizer circuit <b>600</b> for a balanced code that operates on eight wires in accordance with at least one embodiment of the invention. The inputs of the circuit <b>600</b> are denoted by V<sub>W1</sub>, . . . , V<sub>W8 </sub>and the Outputs of the circuit by V<sub>max1</sub>, . . . , V<sub>max8</sub>. The topology of the circuit is similar to the amplification circuit of <figref idref="DRAWINGS">FIG. 2</figref>. However, tail current source <b>210</b> of <figref idref="DRAWINGS">FIG. 2</figref> is split into eight current sources <b>610</b> that directly sink from the branches. Compared to <figref idref="DRAWINGS">FIG. 2</figref> the total current is kept constant and each current source <b>610</b> sinks a current of size I<sub>SS</sub>/8 from its corresponding branch. The source terminals of neighboring transistors are connected by impedances <b>630</b>. For example, source terminals of transistors <b>620</b> may be connected by impedance <b>632</b>. The frequency response of the circuit may depend on the values of source impedances <b>630</b>. In accordance with at least one embodiment of the invention, source impedances <b>630</b> may be chosen as resistors such that the circuit acts as a linear amplifier with a flat frequency response and a well-controlled gain that depends on the ratio of the impedance at the drain of transistors to the impedance in the source of transistors. When a parallel RC network is used for source impedances <b>630</b>, the circuit may exhibit a frequency dependent response. In low frequencies, the gain will drop while at high frequencies the gain remains high. Therefore, the circuit shows higher gain at high frequencies. In this case, the circuit may be used to equalize channels that exhibit a low pass behavior.
An example circuit <b>700</b> that can be used for amplification and equalization is shown in <figref idref="DRAWINGS">FIG. 7</figref>. The input of the circuit <b>700</b> includes the signals V<sub>W1</sub>, . . . , V<sub>Wn </sub>which are applied to the gates of NMOS transistors <b>720</b>. In accordance with at least one embodiment of the invention, n may be chosen as the size of a code word of the balanced code. The outputs of the circuit <b>700</b> includes the signals V<sub>max1</sub>, . . . , V<sub>maxn</sub>. These signals are voltages at the drain of transistors <b>720</b>. Current sources <b>710</b> sink a current of size I<sub>SS</sub>/n from their corresponding branch. The source of the transistor in the ith branch <b>720</b> is connected to a common node <b>750</b> through impedance Z<sub>Si</sub>. The impedances <b>730</b> may be chosen as resistors in case the circuit <b>700</b> of <figref idref="DRAWINGS">FIG. 7</figref> may operate as an amplifier. In case a network with a frequency selective transfer is used for the impedances <b>730</b>, the circuit <b>700</b> of <figref idref="DRAWINGS">FIG. 7</figref> may operate as a filter and perform equalization. In accordance with at least one embodiment of the invention, the impedances <b>730</b> may be chosen such that the circuit <b>700</b> can be used for equalization purposes. This may be done by using a parallel RC network for the impedances <b>730</b>.
The common node <b>750</b> may be left floating since the input signals represent a code word of a balanced code. In the circuit <b>700</b>, common-mode noise that is present on the input signals may be rejected. The circuit <b>700</b> may be relatively power efficient. Compared to the circuits in <figref idref="DRAWINGS">FIG. 2-4</figref>, a current source is present in each branch. However, the strength of the currents supplied by these current sources may be scaled down by a factor of n. This can result in a similar low-power operation.
In accordance with at least one embodiment of the invention, the transfer from input to output of the circuits exemplified in <figref idref="DRAWINGS">FIG. 5-7</figref> may be made programmable. In the circuit <b>700</b> of <figref idref="DRAWINGS">FIG. 7</figref>, for example, this may be accomplished by making of the elements that make up the network of impedances <b>730</b> programmable. The circuit topologies of <figref idref="DRAWINGS">FIG. 5-7</figref> can be implemented with both NMOS and PMOS devices. Furthermore, these circuits may be adjusted to use complementary MOS devices (NMOS and PMOS) as is for instance the case in <figref idref="DRAWINGS">FIG. 4-5</figref>. In accordance with at least one embodiment of the invention, NPN or PNP transistors may be used as the amplifying elements.
In accordance with at least one embodiment of the invention, it is desirable to employ a complementary amplifier as described above with reference to <figref idref="DRAWINGS">FIG. 4 or 5</figref> with additional equalization capabilities. <figref idref="DRAWINGS">FIG. 8</figref> depicts aspects of an example balanced amplifier with capability of equalizing the frequency dependent attenuation of the channel. The input to the circuit <b>800</b> includes signals V<sub>W1</sub>, . . . , V<sub>Wn </sub>and the outputs of the circuit include signals V<sub>out1</sub>, . . . , V<sub>outn</sub>. The amplifier may employ a complementary input topology that, in <figref idref="DRAWINGS">FIG. 8</figref>, is constructed from NMOS transistors and PMOS transistors to improve the gain and bandwidth of the circuit. Each transistor may be biased using a single tail bias current <b>812</b>. The outputs V<sub>out1</sub>, . . . , V<sub>outn </sub>of the complimentary amplifier in block <b>810</b> may be fed to a second network. For the output V<sub>outn </sub>this network may include the transistors <b>830</b>, resistors <b>836</b>, resistor <b>832</b> and capacitor <b>838</b>. One of the terminals of resistor <b>832</b> may be connected to the common node <b>834</b>. The capacitors <b>838</b> together with the resistors <b>836</b> can determine the frequency characteristics of the amplifier. As will be apparent to one of skill in the art, by choosing the capacitors properly, the frequency characteristics may be changed in such a way that the circuit <b>800</b> can be used for equalization. In accordance with at least one embodiment of the invention, the techniques described with reference to <figref idref="DRAWINGS">FIG. 8</figref> can be combined with techniques described with reference to <figref idref="DRAWINGS">FIGS. 5-7</figref>.
Non-Linear Equalization for Balanced Codes
In chip-to-chip communications, it may be desirable to be able to compensate for channel attenuation. In accordance with at least one embodiment of the invention, a decision feedback equalizer (DFE) may be incorporated into a suitable equalization architecture. A DFE is a non-linear equalizer that can exhibit a superior performance compared to linear equalizer architectures. For balanced codes, efficient circuit topologies may be derived using the property that the signals representing a code word of a balanced code sum to the same constant. An example DFE architecture is now further described with reference to <figref idref="DRAWINGS">FIG. 9</figref>.
<figref idref="DRAWINGS">FIG. 9</figref> depicts aspects of an example feedback part of a DFE that may be used for a balanced code that operates on four wires in accordance with at least one embodiment of the invention. The architecture is shown for a single tap equalizer. The architecture can be extended to more or fewer wires and multiple DFE taps. The inputs of the circuit <b>900</b> include the signals V<sub>w1</sub>, . . . , V<sub>w4 </sub>that are applied to the gates of transistors <b>920</b>. Transistors <b>920</b> and a current source <b>910</b> can form an amplifier architecture as is shown in <figref idref="DRAWINGS">FIG. 2</figref>. A constant current of strength I<sub>SS </sub>is drawn from common node <b>915</b>. This current is divided across the branches <b>930</b> according to the input signals V<sub>w1</sub>, . . . , V<sub>w4</sub>. For clarity, it is assumed that the decision on the code word that has been send in a previous time interval is available and represented by the signals d<sub>1</sub>, . . . , d<sub>4</sub>. These signals may be fed to the gates of transistors <b>950</b>. The transistors <b>950</b> steer a current from a current source <b>940</b> that has strength of cI<sub>SS </sub>into branches <b>952</b>. The values of d<sub>1</sub>, . . . , d<sub>4 </sub>determine how much current is steered into the respective branch. The signals d<sub>1</sub>, . . . , d<sub>4 </sub>may represent a hard decision or a soft-decision of the code word that has been sent in the previous timeslot.
The coefficient c is chosen depending on the characteristics of the channel for which the DFE is designed. The currents steered into branches <b>952</b> are superimposed to the currents steered into branches <b>954</b>. This performs the cancellation operation of the DFE. The resulting currents flow through resistor <b>930</b>. The outputs of the circuit <b>900</b> include the voltages V<sub>1</sub>, . . . , V<sub>4</sub>. These voltages may be sampled and the balanced code may be decoded resulting a new decision for the next time slot. <figref idref="DRAWINGS">FIG. 9</figref> depicts a component of the DFE. As will be apparent to one of skill in the art, other circuitry and control may be used to implement a full DFE.
In the DFE front-end of <figref idref="DRAWINGS">FIG. 9</figref>, the circuit <b>900</b> provides a resilience against common-mode noise present on the input signals. Common node techniques that may be used for processing balanced codes are also used in the architecture of <figref idref="DRAWINGS">FIG. 9</figref>. This can leads to a relatively low power operation of the DFE. For example, simplifying the receiver architecture can result in less silicon area and system complexities. This may be a result of using one minimum and one maximum detector for all 8 (or more) number of channels instead of, for example, one analog-to-digital converter (ADC) for each channel. Power dissipation may be saved by combining the front-end minimum and maximum detection with the DFE part.
Voltage-to-Time Conversion for Balanced Codes
In accordance with at least one embodiment of the invention, an analog-to-digital converter (ADC) may be employed to convert the signals that represent the code word of a balanced code to a digital representation. An architecture <b>1000</b> for an ADC that may exploit the properties of a balanced code is described with reference to <figref idref="DRAWINGS">FIG. 10</figref>. <figref idref="DRAWINGS">FIG. 10</figref> depicts aspects of an example processing unit <b>100</b> that implements an ADC. The ADC may include a voltage-to-time converter (VTC) <b>1030</b> and a time-to-digital converter (TDC) <b>1040</b>. The inputs <b>1010</b> of the ADC represent a code word of a balanced code and are input to the VTC <b>1030</b>. The VTC <b>1030</b> converts the input signals <b>1010</b> to a set of digital signals such that the original amplitude information is encoded into the transition moment of these digital signals. The VTC <b>1030</b> may employ an architecture that allows for a joint conversion of the input signals <b>1010</b> to digital waveforms.
An example such VTC is now further described with reference to <figref idref="DRAWINGS">FIG. 11</figref>. <figref idref="DRAWINGS">FIG. 11</figref> depicts aspects of an example VTC <b>1100</b> that operates on n wires in accordance with at least one embodiment of the invention. The input signals of the VTC <b>1100</b> are denoted by v<sub>0</sub>, . . . , v<sub>n-1</sub>. The VTC <b>1100</b> includes n branches <b>1112</b> and each branch may include a PMOS transistor <b>1120</b>, a NMOS transistor <b>1110</b>, and a NMOS transistor <b>1130</b>. The drain of the PMOS transistors <b>1120</b> is connected to the input of an inverter that comprises transistors <b>1160</b> and <b>1162</b>. The input signals v<sub>0</sub>, . . . , v<sub>n-1 </sub>are applied to the gates of NMOS transistors <b>1110</b>. A common clock signal that is denoted by clk in <figref idref="DRAWINGS">FIG. 11</figref> is applied to PMOS transistors <b>1120</b> and NMOS transistors <b>1130</b>. The output of the VTC comprises the outputs of the inverters that comprise transistors <b>1160</b>, <b>1162</b>. These outputs are denoted by y<sub>0</sub>, . . . , y<sub>n-1 </sub>in <figref idref="DRAWINGS">FIG. 11</figref>. The VTC <b>1030</b> comprises a NMOS transistor <b>1140</b> of which the gate is set to a reference voltage V<sub>b</sub>. The NMOS transistor <b>1140</b> determines the maximum of the sum of currents that flows through the branches <b>1112</b>. Transistor <b>1140</b> may be omitted and the maximum current may be determined by scaling transistors <b>1130</b> accordingly. In accordance with at least one embodiment of the invention, the input signals v<sub>0</sub>, . . . , v<sub>n-1 </sub>may have a common-mode voltage unequal to zero such that the NMOS transistors are on for a 0 symbol of the balanced code. In case the clock signal clk is high the NMOS transistors <b>1130</b> are on and the PMOS transistors <b>1120</b> are off. In this case the nodes corresponding to the drain of PMOS transistors <b>1120</b> are close to ground and the outputs y<sub>0</sub>, . . . , y<sub>n-1 </sub>of the inverters <b>1160</b>, <b>1162</b> are high. In case the clock signal clk becomes low the NMOS transistors <b>1130</b> turn off and the PMOS transistors <b>1120</b> turn on. The amount of current flowing in the ith branch of the branches <b>1112</b> is proportional to the gate voltage of the ith NMOS transistor of NMOS transistors <b>1110</b>. This current will charge the drain node corresponding to the ith PMOS transistor. Once the voltage of this node crosses the threshold of the inverter <b>1160</b>, <b>1162</b> the corresponding output will become low. The amount of time it takes for the output of the inverter to become low is proportional to the amplitude of the ith input signal. In the VTC <b>1100</b> of <figref idref="DRAWINGS">FIG. 11</figref>, common-mode noise on the inputs may be rejected. The circuit topology of the VTC <b>1100</b><figref idref="DRAWINGS">FIG. 11</figref> is relatively small in area. The VTC <b>1100</b> of <figref idref="DRAWINGS">FIG. 11</figref> may be used with conventional TDC architectures known by those of skill in the art.
Decoding and Detection for Balanced Codes
In accordance with at least one embodiment of the invention, a ternary balanced code is used. Examples of ternary balanced codes include the 4b5w code and the 8b8w code. The 4b5w code and 8b8w code are a type of balanced codes that are called sparse signaling codes. These codes are detailed in Cronie III. The code words of a sparse signaling code contain ‘1’ symbols, ‘−1’ symbols and ‘0’ symbols. To decode ternary sparse signaling codes one may employ an architecture that is based on finding the positions of the 1 symbols and −1 symbols only. For this purpose, max-detector circuits that may be employed to find the positions of the 1 symbols are described below. Furthermore, min-detector circuits that may be employed to find the positions of the −1 symbols are also described below.
An example max-detector circuit <b>1200</b> is now further described with reference to <figref idref="DRAWINGS">FIG. 12</figref>. <figref idref="DRAWINGS">FIG. 12</figref> depicts aspects of the example max-detector circuit <b>1200</b> that operates on eight input signals in accordance with at least one embodiment of the invention. These input signals are denoted by V<sub>W1</sub>, . . . , V<sub>W8</sub>. These inputs are applied to the gates of NMOS transistors <b>1220</b>. NMOS transistors <b>1220</b> are biased using a single current source <b>1210</b>. With this type of common-source technique the current at the output branches <b>1230</b> will be proportional to the input signals V<sub>W1</sub>, . . . , V<sub>W8</sub>. Once the amplitude of the input signals is high enough the circuit becomes nonlinear and can act as max detector where most of the tail bias current <b>1220</b> will flow only in the output branches that are connected to the input signals with the highest values. The current in the output branches then will be converted to output voltages V<sub>max1</sub>, . . . , V<sub>max2 </sub>by the load resistors. The circuit <b>1200</b> may reject the input common-mode noise and does not need a reference signal for determining whether the data signal carries a ‘1’ symbol or not. The circuit <b>1200</b> may enhance the noise margin of the data signal by comparing one signal with the average of the rest of signals. The power dissipation of the circuit <b>1200</b> is relatively low since only one maximum detector circuit is needed for the input wires. As will be apparent to one of skill in the art, the circuit can easily be extended to a different number of wires.
The transistors of the circuit shown in <figref idref="DRAWINGS">FIG. 12</figref> can be replaced with PMOS transistors to implement a min-detector. In accordance with at least one embodiment of the invention, this may lead to a circuit topology similar to that of <figref idref="DRAWINGS">FIG. 3</figref>.
In accordance with at least one embodiment of the invention, it may be desirable for circuits to have a differential output. <figref idref="DRAWINGS">FIG. 13</figref> depicts aspects of an example circuit <b>1300</b> with a differential output in accordance with at least one embodiment of the invention. The circuit <b>1300</b> may be used as an amplifier or a max-detector circuit depending on the operating regime of the transistors (linear or non-linear, respectively). The max-detector circuit of <figref idref="DRAWINGS">FIG. 13</figref> operates on four wires and may detect the presence of a ‘1’ symbol on the first wire. For the other wires a corresponding circuit may be used. As will be apparent to one of skill in the art, the circuit <b>1300</b> of <figref idref="DRAWINGS">FIG. 13</figref> can easily be extended to operate on a different number of wires. The input signals are denoted by V<sub>in1</sub>, . . . , V<sub>in4</sub>. Input signal V<sub>in1 </sub>is applied to the gates of transistors <b>1310</b>. The inputs V<sub>in2</sub>, . . . , V<sub>in4 </sub>are applied to the inputs of transistors <b>1320</b>, respectively. In accordance with at least one embodiment of the invention, the transistors <b>1310</b>, <b>1320</b> have the same widths and lengths. The differential output voltage V<sub>out1 </sub>of the circuit is across nodes <b>1340</b>. If the circuit operates in the linear regime this output is given by Equation 2. <br /><i>V</i><sub>out1</sub>=3<i>V</i><sub>in1</sub>−(<i>V</i><sub>in2</sub><i>+V</i><sub>in3</sub><i>+V</i><sub>in4</sub>) (Eqn. 2)
In case a balanced code is us used the sum of V<sub>in2</sub>, . . . , V<sub>in4 </sub>equals −3V<sub>in1 </sub>and the differential output voltage V<sub>out1 </sub>is proportional to V<sub>in1</sub>. When the transistors <b>1310</b>, <b>1320</b> operate in the linear regime the circuit <b>1300</b> of <figref idref="DRAWINGS">FIG. 13</figref> may be used as an input amplifier. When the transistors <b>1310</b>, <b>1320</b> operate in the non-linear regime the circuit may be used to detect to positions of the positive values of the signals representing a word of balanced code. In accordance with at least one embodiment of the invention, the transistors <b>1310</b>, <b>1320</b> may be replaced by PMOS transistors. In this case the circuit <b>1300</b> may be used as a min-detector to detect the positions of the negative values of the signals representing a word of a balanced code.
The use of the circuitry <b>1300</b> described above is not limited to ternary balanced codes. Another example is provided by the binary balanced code of length 6 in which the code words are the 20 different permutations of the vector (+1,+1,+1,−1,−1,−1), or a suitable subset thereof. Here, when comparing 6 times the value of a coordinate position against the sum of the other coordinate positions, the resulting comparison will be the sign of the value of the given coordinate position. The circuitry in <figref idref="DRAWINGS">FIG. 13</figref> may thus be an alternative to convention types of detection, such as types based on pairwise comparisons of code word positions.
Advantages of Processing Circuits for Balanced Codes
The circuits described above for processing of balanced codes provide multiple advantages. For example, the circuits for amplification and equalization provide resilience against common-mode noise that may be present on the input signals. The combination of the signals satisfying the balanced code property as given by Equation 1 and the presence of common nodes such as common node <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref> facilitate such resilience. The amplifiers of <figref idref="DRAWINGS">FIGS. 2 and 3</figref> show the common node from which a single current source sinks current. The same holds for the equalization circuits exemplified in <figref idref="DRAWINGS">FIGS. 4 and 5</figref>. In <figref idref="DRAWINGS">FIG. 6</figref> multiple common nodes exist between the impedances <b>630</b>. The topology of <figref idref="DRAWINGS">FIG. 6</figref> may be changed to the topology of <figref idref="DRAWINGS">FIG. 7</figref> to create a single common node <b>750</b>.
As another example, the power consumption of the described circuits is relatively low. One reason for this is the presence of a common node <b>130</b> and a single source of energy <b>140</b>. This single source of energy can take its form as a single or two current sources. For example, in <figref idref="DRAWINGS">FIG. 2</figref> the single energy source is current source <b>210</b>. This current source may be implemented as a transistor that is biased in such a way that it provides the required current. Transistor <b>1140</b> in <figref idref="DRAWINGS">FIG. 11</figref> provides this functionality. In a chip-to-chip communication system, the use of these circuit topologies can lead to a lower power consumption of the receiver front-end compared to conventional signaling schemes, for example, based on differential signaling. In accordance with at least one embodiment of the invention, many bits may be represented by a code word of a balanced code and the energy consumption of the circuit can be amortized across these bits.
Further Applications
Balanced codes may also find their use in other applications besides chip-to-chip communications. Many of the methods and circuit techniques disclosed herein can provide similar advantages in these settings. An example is the application of balanced codes in the non-volatile storage of information as is described in Cronie IV. In accordance with at least one embodiment of the invention, the transistors <b>220</b> in <figref idref="DRAWINGS">FIG. 2</figref> or transistors <b>1110</b> in <figref idref="DRAWINGS">FIG. 11</figref> may be replaced by floating gate transistors. The charge trapped on these floating gate transistors will determine the strength of currents in branches <b>230</b>, <b>1112</b> when a predetermined voltage is applied to the floating gate transistors. In settings where a balanced code is used to represent information and processing of the balanced code is required, the circuits described above may be applicable.
All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and/or were set forth in its entirety herein.
The use of the terms “a” and “an” and “the” and similar referents in the specification and in the following claims are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “having,” “including,” “containing” and similar referents in the specification and in the following claims are to be construed as open-ended terms (e.g., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely indented to serve as a shorthand method of referring individually to each separate value inclusively falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate embodiments of the invention and does not pose a limitation to the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to each embodiment of the present invention.
Preferred embodiments are described herein, including the best mode known to the inventors. Further embodiments can be envisioned by one of ordinary skill in the art after reading this disclosure. Different arrangements of the components depicted in the drawings or described above, as well as components and steps not shown or described are possible. Similarly, some features and subcombinations are useful and may be employed without reference to other features and subcombinations. Embodiments of the invention have been described for illustrative and not restrictive purposes, and alternative embodiments will become apparent to readers of this patent. Accordingly, the present invention is not limited to the embodiments described above or depicted in the drawings, and various embodiments and modifications can be made without departing from the scope of the claims below.
Contents6
17 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17
Every citation, both waysCites: the store holds 347 of 348
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9984035B2 | Cited by | United States of America | Applicant |
| US2015146771A1 | Cites | United States of America | Search report |
| US3196351A | Cites | United States of America | Applicant |
| US3636463A | Cites | United States of America | Applicant |
| US3939468A | Cites | United States of America | Applicant |
| US4163258A | Cites | United States of America | Applicant |
| US4181967A | Cites | United States of America | Applicant |
| US4206316A | Cites | United States of America | Applicant |
| US4276543A | Cites | United States of America | Applicant |
| US4486739A | Cites | United States of America | Applicant |
| US4499550A | Cites | United States of America | Applicant |
| US4722084A | Cites | United States of America | Applicant |
| US4772845A | Cites | United States of America | Applicant |
| US4774498A | Cites | United States of America | Applicant |
| US4864303A | Cites | United States of America | Applicant |
| US4897657A | Cites | United States of America | Applicant |
| US4974211A | Cites | United States of America | Applicant |
| US5053974A | Cites | United States of America | Applicant |
| US5166956A | Cites | United States of America | Applicant |
| US5168509A | Cites | United States of America | Applicant |
| US5283761A | Cites | United States of America | Applicant |
| US5287305A | Cites | United States of America | Applicant |
| US5311516A | Cites | United States of America | Applicant |
| US5331320A | Cites | United States of America | Applicant |
| US5412689A | Cites | United States of America | Applicant |
| US5449895A | Cites | United States of America | Applicant |
| US5459465A | Cites | United States of America | Applicant |
| US5461379A | Cites | United States of America | Applicant |
| US5511119A | Cites | United States of America | Applicant |
| US5553097A | Cites | United States of America | Applicant |
| US5566193A | Cites | United States of America | Applicant |
| US5599550A | Cites | United States of America | Applicant |
| US5659353A | Cites | United States of America | Applicant |
| US5727006A | Cites | United States of America | Applicant |
| US5802356A | Cites | United States of America | Applicant |
| US5825808A | Cites | United States of America | Applicant |
| US5856935A | Cites | United States of America | Applicant |
| US5875202A | Cites | United States of America | Applicant |
| US5945935A | Cites | United States of America | Applicant |
| US5949060A | Cites | United States of America | Applicant |
| US5982954A | Cites | United States of America | Applicant |
| US5995016A | Cites | United States of America | Applicant |
| US5999016A | Cites | United States of America | Applicant |
| US6005895A | Cites | United States of America | Applicant |
| US6084883A | Cites | United States of America | Applicant |
| US6119263A | Cites | United States of America | Applicant |
| US6172634B1 | Cites | United States of America | Applicant |
| US6175230B1 | Cites | United States of America | Applicant |
| US6232908B1 | Cites | United States of America | Applicant |
| US6278740B1 | Cites | United States of America | Applicant |
| US6346907B1 | Cites | United States of America | Applicant |
| US6359931B1 | Cites | United States of America | Applicant |
| US6378073B1 | Cites | United States of America | Applicant |
| US6398359B1 | Cites | United States of America | Applicant |
| US6404820B1 | Cites | United States of America | Applicant |
| US6417737B1 | Cites | United States of America | Applicant |
| US6433800B1 | Cites | United States of America | Applicant |
| US6452420B1 | Cites | United States of America | Applicant |
| US6473877B1 | Cites | United States of America | Applicant |
| US6483828B1 | Cites | United States of America | Applicant |
| US6504875B2 | Cites | United States of America | Applicant |
| US6509773B2 | Cites | United States of America | Applicant |
| US6556628B1 | Cites | United States of America | Applicant |
| US6563382B1 | Cites | United States of America | Applicant |
| US6621427B2 | Cites | United States of America | Applicant |
| US6624699B2 | Cites | United States of America | Applicant |
| US6650638B1 | Cites | United States of America | Applicant |
| US6661355B2 | Cites | United States of America | Applicant |
| US6664355B2 | Cites | United States of America | Applicant |
| US668687A | Cites | United States of America | Applicant |
| US6686879B2 | Cites | United States of America | Applicant |
| US6766342B2 | Cites | United States of America | Applicant |
| US6839429B1 | Cites | United States of America | Applicant |
| US6839587B2 | Cites | United States of America | Applicant |
| US6854030B2 | Cites | United States of America | Applicant |
| US6865234B1 | Cites | United States of America | Applicant |
| US6865236B1 | Cites | United States of America | Applicant |
| US6898724B2 | Cites | United States of America | Applicant |
| US6927709B2 | Cites | United States of America | Applicant |
| US6954492B1 | Cites | United States of America | Applicant |
| US6963622B2 | Cites | United States of America | Applicant |
| US6972701B2 | Cites | United States of America | Applicant |
| US6973613B2 | Cites | United States of America | Applicant |
| US6976194B2 | Cites | United States of America | Applicant |
| US6982954B2 | Cites | United States of America | Applicant |
| US6990138B2 | Cites | United States of America | Applicant |
| US6999516B1 | Cites | United States of America | Applicant |
| US7023817B2 | Cites | United States of America | Applicant |
| US7039136B2 | Cites | United States of America | Applicant |
| US7053802B2 | Cites | United States of America | Applicant |
| US7075996B2 | Cites | United States of America | Applicant |
| US7085153B2 | Cites | United States of America | Applicant |
| US7085336B2 | Cites | United States of America | Applicant |
| US7127003B2 | Cites | United States of America | Applicant |
| US7130944B2 | Cites | United States of America | Applicant |
| US7142612B2 | Cites | United States of America | Applicant |
| US7142865B2 | Cites | United States of America | Applicant |
| US7164631B2 | Cites | United States of America | Applicant |
| US7167019B2 | Cites | United States of America | Applicant |
| US7180949B2 | Cites | United States of America | Applicant |
205 members in 7 offices
Priority claims34
| Document | Office | Kind | Date |
|---|---|---|---|
| 78441410 | United States of America | A | |
| 78441410 | United States of America | A | |
| 98277710 | United States of America | A | |
| 98277710 | United States of America | A | |
| 201113030027 | United States of America | A | |
| 201113030027 | United States of America | A | |
| 201161504676 | United States of America | P | |
| 201161504676 | United States of America | P | |
| 201213464849 | United States of America | A | |
| 201213464849 | United States of America | A | |
| 201213542599 | United States of America | A | |
| 201213542599 | United States of America | A | |
| 201314089577 | United States of America | A | |
| 201314089577 | United States of America | A | |
| 201514956021 | United States of America | A | |
| 201514956021 | United States of America | A | |
| 201615231342 | United States of America | A | |
| 12784414 | – | – | – |
| 12982777 | – | – | – |
| 13030027 | – | – | – |
| 13464849 | – | – | – |
| 13542599 | – | – | – |
| 14089577 | – | – | – |
| 14956021 | – | – | – |
| 61504676 | – | – | – |
| US20100784414 | – | – | – |
| US20100982777 | – | – | – |
| US201113030027 | – | – | – |
| US201161504676P | – | – | – |
| US201213464849 | – | – | – |
| US201213542599 | – | – | – |
| US201314089577 | – | – | – |
| US201514956021 | – | – | – |
| US201615231342 | – | – | – |
Members205
| Document | Office | Kind | |
|---|---|---|---|
| US4351121A | United States of America | A | |
| CA1156691A | Canada | A | |
| US2011268225A1 | United States of America | A1 | |
| WO2011134678A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2011299555A1 | United States of America | A1 | |
| US2011302478A1 | United States of America | A1 | |
| WO2011151469A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2012089803A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2012213299A1 | United States of America | A1 | |
| WO2012089803A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2012110634A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2013010892A1 | United States of America | A1 | |
| US2013013870A1 | United States of America | A1 | |
| WO2013004701A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN102986183A | China | A | |
| US8539318B2 | United States of America | B2 | |
| CN103370879A | China | A | |
| EP2659592A2 | European Patent Office (EPO) | A2 | |
| US8593305B1 | United States of America | B1 | |
| CN103444144A | China | A | |
| EP2676413A1 | European Patent Office (EPO) | A1 | |
| US2014016724A1 | United States of America | A1 | |
| KR20140014174A | Republic of Korea | A | |
| US8649445B2 | United States of America | B2 | |
| US2014063915A1 | United States of America | A1 | |
| WO2014037116A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US8718184B1 | United States of America | B1 | |
| EP2729875A1 | European Patent Office (EPO) | A1 | |
| US8755426B1 | United States of America | B1 | |
| US2014177645A1 | United States of America | A1 | |
| US2014198837A1 | United States of America | A1 | |
| KR20140091665A | Republic of Korea | A | |
| WO2014113727A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2014226734A1 | United States of America | A1 | |
| WO2014124450A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2014254642A1 | United States of America | A1 | |
| US2014260607A1 | United States of America | A1 | |
| US2014286387A1 | United States of America | A1 | |
| WO2014172377A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US8880783B2 | United States of America | B2 | |
| US2014376668A1 | United States of America | A1 | |
| EP2676413B1 | European Patent Office (EPO) | B1 | |
| WO2014210074A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2015063494A1 | United States of America | A1 | |
| US2015066230A1 | United States of America | A1 | |
| WO2015031520A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2015031845A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US8989317B1 | United States of America | B1 | |
| US2015092532A1 | United States of America | A1 | |
| US9014251B2 | United States of America | B2 | |
| US9014295B1 | United States of America | B1 | |
| US9015566B2 | United States of America | B2 | |
| US9059816B1 | United States of America | B1 | |
| US9071476B2 | United States of America | B2 | |
| US9077386B1 | United States of America | B1 | |
| US9083576B1 | United States of America | B1 | |
| EP2893534A1 | European Patent Office (EPO) | A1 | |
| CN104813401A | China | A | |
| US9100232B1 | United States of America | B1 | |
| US2015222458A1 | United States of America | A1 | |
| WO2015117102A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US9106220B2 | United States of America | B2 | |
| US9106238B1 | United States of America | B1 | |
| US9124557B2 | United States of America | B2 | |
| US2015256326A1 | United States of America | A1 | |
| US9154252B2 | United States of America | B2 | |
| EP2926260A1 | European Patent Office (EPO) | A1 | |
| CN104995612A | China | A | |
| US2015341193A1 | United States of America | A1 | |
| US9203402B1 | United States of America | B1 | |
| CN105122758A | China | A | |
| US2015349835A1 | United States of America | A1 | |
| KR20150144328A | Republic of Korea | A | |
| US2015381346A1 | United States of America | A1 | |
| US2015381768A1 | United States of America | A1 | |
| US9234828B2 | United States of America | B2 | |
| US9246713B2 | United States of America | B2 | |
| US9251873B1 | United States of America | B1 | |
| EP2979388A1 | European Patent Office (EPO) | A1 | |
| US2016036461A1 | United States of America | A1 | |
| US9258154B2 | United States of America | B2 | |
| CN102986183B | China | B | |
| US9275720B2 | United States of America | B2 | |
| CN105379170A | China | A | |
| CN105393512A | China | A | |
| US9288082B1 | United States of America | B1 | |
| US9288089B2 | United States of America | B2 | |
| EP2997704A1 | European Patent Office (EPO) | A1 | |
| US9300503B1 | United States of America | B1 | |
| US2016142181A1 | United States of America | A1 | |
| US9357036B2 | United States of America | B2 | |
| US9362947B2 | United States of America | B2 | |
| US9362962B2 | United States of America | B2 | |
| US9362974B2 | United States of America | B2 | |
| US9369312B1 | United States of America | B1 | |
| CN105681233A | China | A | |
| US2016173219A1 | United States of America | A1 | |
| US2016180913A1 | United States of America | A1 | |
| US2016197656A1 | United States of America | A1 | |
| US2016197747A1 | United States of America | A1 |
53 transactions on the USPTO file
Allowed without a rejection on record.
- Non-final rejections
- 0
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 4th Yr, Small EntityM2551 | M2551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Email NotificationEML_NTR | EML_NTR | |
| Printer Rush- No mailingTCPB | TCPB | |
| Mailing Corrected Notice of AllowabilityMCNOA | MCNOA | |
| Corrected Notice of AllowabilityCNOA | CNOA | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Response to Reasons for AllowanceREAS | REAS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Email NotificationEML_NTR | EML_NTR | |
| Printer Rush- No mailingTCPB | TCPB | |
| Mail Response to 312 Amendment (PTO-271)MN271 | MN271 | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Response to Amendment under Rule 312N271 | N271 | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Amendment after Notice of Allowance (Rule 312)AllowedA.NA | A.NA | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Reasons for AllowanceEX.R | EX.R | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Email NotificationEML_NTR | EML_NTR | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| FITF set to NO - revise initial settingFTFI | FTFI | |
| Applicant Has Filed a Verified Statement of Small Entity Status in Compliance with 37 CFR 1.27SMAL | SMAL | |
| Cleared by OIPE CSRL194 | L194 | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| PTO/SB/69-Authorize EPO Access to Search ResultsSREXR141 | SREXR141 | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 09577664
- Publication, DOCDB
- 9577664
- Publication, EPODOC
- US9577664
- Application
- 15231342
- Application, DOCDB
- 201615231342
- Application, EPODOC
- US201615231342
Titles
- English
- Efficient processing and detection of balanced codes
Patent term adjustment
- Applicant delay
- −25 days
- Net adjustment
- 0 days
Classification
- CPC, 12
- H03M5/14
- G11B20/1426
- H03K17/6871
- H03F1/3247
- H04L1/0053
- H03M13/2957
- H04B1/7156
- H04B3/54
- H04L1/0003
- H04L1/0048
- H04L1/0057
- H04L1/0059
- IPC, 9
- H03M5 00
- G11B20 14
- H03F1 32
- H03K17 687
- H03M5 14
- H03M13 29
- H04B1 7156
- H04B3 54
- H04L1 00
- USPC, 1
- 001001000