CN110321315B - 用于串行数据总线的方法及发送器 - Google Patents
用于串行数据总线的方法及发送器 Download PDFInfo
- Publication number
- CN110321315B CN110321315B CN201910250416.1A CN201910250416A CN110321315B CN 110321315 B CN110321315 B CN 110321315B CN 201910250416 A CN201910250416 A CN 201910250416A CN 110321315 B CN110321315 B CN 110321315B
- Authority
- CN
- China
- Prior art keywords
- symbol
- voltage level
- data
- original
- symbols
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005265 energy consumption Methods 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000006854 communication Effects 0.000 abstract description 12
- 238000004891 communication Methods 0.000 abstract description 11
- 230000007246 mechanism Effects 0.000 abstract description 8
- 238000006467 substitution reaction Methods 0.000 abstract description 4
- 230000008878 coupling Effects 0.000 abstract description 2
- 238000010168 coupling process Methods 0.000 abstract description 2
- 238000005859 coupling reaction Methods 0.000 abstract description 2
- 230000015654 memory Effects 0.000 description 48
- 238000012545 processing Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 239000000872 buffer Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 101710106492 Acyl-CoA-binding protein Proteins 0.000 description 3
- 101710169323 Acyl-CoA-binding protein homolog Proteins 0.000 description 3
- NTSBMKIZRSBFTA-AIDOXSFESA-N Digoxigenin bisdigitoxoside Chemical compound C1[C@H](O)[C@H](O)[C@@H](C)O[C@H]1O[C@@H]1[C@@H](C)O[C@@H](O[C@@H]2C[C@@H]3[C@]([C@@H]4[C@H]([C@]5(CC[C@@H]([C@@]5(C)[C@H](O)C4)C=4COC(=O)C=4)O)CC3)(C)CC2)C[C@@H]1O NTSBMKIZRSBFTA-AIDOXSFESA-N 0.000 description 3
- 102100031269 Putative peripheral benzodiazepine receptor-related protein Human genes 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 102100035964 Gastrokine-2 Human genes 0.000 description 2
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005693 optoelectronics Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K7/00—Modulating pulses with a continuously-variable modulating signal
- H03K7/02—Amplitude modulation, i.e. PAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B14/00—Transmission systems not characterised by the medium used for transmission
- H04B14/02—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
- H04B14/023—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using pulse amplitude modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/06—Dc level restoring means; Bias distortion correction ; Decision circuits providing symbol by symbol detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/02—Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
- H04L27/04—Modulator circuits; Transmitter circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/02—Amplitude-modulated carrier systems, e.g. using on-off keying; Single sideband or vestigial sideband modulation
- H04L27/06—Demodulator circuits; Receiver circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Communication Control (AREA)
- Dc Digital Transmission (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本文公开了关于脉冲幅度调制的数据总线反转以及减少PAM‑4 I/O上的耦合噪声和功率噪声的技术。在多数据通道串行数据总线的每个突发间隔中利用条件符号替换来减少PAM通信系统中的噪声和/或能量消耗的机制。
Description
相关申请的交叉引用
本申请要求于2018年3月29日提交的,序列号为62/650,168的美国临时专利申请的权益,其全部内容通过引用并入本文中。
背景技术
现代高吞吐量系统利用多个高带宽输入/输出接口在计算单元、存储器装置和存储装置之间形成信令网络。例如,外围组件互连高速(PCI-E)将多个外围装置连接到中央处理单元(CPU)和图形处理单元(GPU)。这些接口可以包括在高频下运行的多个串行数据总线。
脉冲幅度调制(PAM)可用于多通道串行数据总线,以通过将数据编码为不同的电压电平来同时传输多个数据位。这里的“通道”是指串行数据总线的单根线。“符号突发(symbol burst)”是指以相同的总线时钟间隔(即并行)放置在串行数据总线的数据通道上的位。
PAM通信的一个例子是PAM-4。在每个总线时钟间隔期间,PAM-4在串行数据总线的每个数据通道上将两位数据(00、01、10、11)编码为四个不同电压电平(符号)之一。由于在每个数据通道上两位被编码到每个总线时钟间隔中,因此与在串行数据总线上以可比较的总线时钟频率运行的传统的二级(例如,PAM-2)信令相比,PAM-4在理想情况下可以实现两倍的带宽。PAM-4符号使用四种不同的电压电平,因此,与PAM-2相比,PAM-4中符号值之间的电压电平差别较小。这使得PAM-4通信更容易受到干扰效应的影响,例如串行数据总线上数据通道之间的耦合噪声和电源噪声,其降低了信噪比(SNR)。
减轻这些噪声影响的一种机制是利用数据总线反转(DBI)。对于给定的符号突发,DBI通过智能地设置串行数据总线上每个符号突发中的位的极性,将串行数据总线的数据通道上的电压电平转换的总范围减少了高达一半。DBI需要每个符号突发额外的元数据位来将符号突发极性设置(非反向符号突发或反向符号突发)传输到接收器。这个元数据位通常在与串行数据总线的数据通道(通常每个数据通道也是一条线)分开的额外线上传输。
发明内容
在一个方面,PAM通信过程涉及配置阈值和条件,生成要在多个数据通道上以相同传输间隔同时发送的原始符号的电压电平之间的转换值(transition value)的总和,将所述总和与阈值和条件进行比较,并且响应于该总和小于(或者可选地,大于)阈值和条件,基于预设的替换方案用新符号替换原始符号。
在另一方面,PAM通信过程涉及接收要在多个数据通道上在相同时间间隔内同时发送的多个符号值,将符号编码成来自转换能量(TE)平衡映射矩阵的中间区域的新符号,并在多个数据通道上以相同时间间隔传送新符号。
在又一方面,PAM通信方法包括接收要在多个数据通道上在相同时间间隔内同时发送的多个原始符号,确定与在数据通道上产生极端电压电平相对应的原始符号的数量,并且由于原始符号的数量超过预设数量,设置DBI位并用新符号替换原始符号,其中新符号不对应于极端电压电平的产生。新符号在相同时间间隔内在多个数据通道上同时传输。
附图中几个视图的简要说明
为了便于识别对任何特定元素或动作的讨论,参考编号中的最高有效位的一个或更多个数字指的是首先引入该元素的图号。
图1示出了根据一个实施例的数据通信系统100。
图2示出了PAM-4收发器200的一实施例。
图3示出了PAM-4编码300的实一实施例。
图4示出了PAM-4系统中的能量消耗曲线400的示例。
图5示出了编码过程500的一实施例。
图6示出了根据一个实施例的例程600。
图7示出了基于能量的编码方案700的一实施例。
图8示出了根据一个实施例的例程800。
图9示出了根据一个实施例的例程900。
图10是包括GPU的计算系统1000的框图,本发明的各方面可以在其中体现或实施。
详细描述
参照图1,数据通信系统100包括诸如数据处理器102之类的发送装置,所述数据处理器102包括处理核114、PAM-4符号编码器104和PAM-4发送器108。在一些实施例中,数据处理器102可以包括图形处理单元(GPU)、中央处理单元(CPU)、片上系统(SoC)或其他众所周知的数据处理装置。
数据处理器102在诸如存储器总线118之类的总线上与诸如存储器112之类的接收装置通信。PAM-4接收器110和PAM-4符号解码器106接收和处理在存储器总线118上从数据处理器102传送到存储器112的PAM-4信号。
数据处理器102利用内部数据总线116来在多通道内部数据总线116上向处理核114传送和从处理核114传送数据突发。PAM-4符号编码器104从处理核114接收要编码的数据突发,并对该数据突发执行PAM-4编码。PAM-4发送器108通过存储器总线118将编码的数据突发发送到PAM-4接收器110。PAM-4接收器110接收编码的数据突发,并将编码的数据突发发送到PAM-4符号解码器106以对该数据突发进行解码。一旦解码,数据突发被发送到存储器112。
这是简化的流程图。在实践中,通常在存储器总线118的两端都有编码器和解码器,用于从存储器112读取和写入存储器112。
图2例示了在一个实施例中用于串行数据总线的单个数据通道的PAM-4收发器200。所述PAM-4收发器200包括最低有效位发送器202、最高有效位发送器204、接收器206和数据通道208。PAM-4收发器200利用最低有效位发送器202和最高有效位发送器204在数据通道208上生成四级符号。这里所说的“符号”是指由线路驱动器在串行数据总线数据通道上产生的电压电平,其中电压电平表示一个或更多个数据位的值。因此,“编码符号”意味着物理地配置串行数据总线的线路驱动电路,以将数据通道上的电压驱动到特定值。
例如,如果被编码到符号中的两位数据为(1,1),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如1.2V的电压,并且由于接收器206上的上拉晶体管Rt(数据通道208的两端在同一电势上),数据通道208上的电流为例如0mA。如果要编码到符号中的两位的数据为(1,0),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如为1.0V的电压,并且数据通道208上的电流为例如7mA。如果要编码到符号中的两位的数据为(0,1),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如为0.8V的电压,并且数据通道208上的电流为例如11mA。如果要编码到符号中的两位的数据为(0,0),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如为0.6V的电压,并且数据通道208上的电流为例如12.5mA。0.6V在这里可以称为基本传输电压Vb,其他符号电压电平可以从该基本传输电压进行增量。
因此,数据通道上的符号值对应于数据突发期间该数据通道的电流消耗。因此,可以将权重分配给反映它们当前电流消耗成本的符号值。例如,可以给用于位对(1,1)的符号分配权重0;可以给用于位对(1,0)的符号分配权重1;可以给用于位对(0,1)的符号分配权重2;可以给用于位对(0,0)的符号分配权重3。
在这个例子,使用PAM-4编码的8通道串行数据总线上的数据突发可以被分配一个总权重,范围从0到24,这等于例如从0到100mA的电流消耗范围。如果数据突发中的所有符号都编码了位对(1,1),则数据突发的总权重为0;如果数据突发中的所有符号都编码了位对(0,0),则数据突发的总权重为24。全部由0组成的数据突发消耗最多的电流,因此从功耗的角度来看是最昂贵的。
参考图3,PAM-4编码300对每两个位进行编码以作为PAM-4符号在串行数据总线的数据通道上进行通信。四个可能符号中的每一个对应于数据通道上的电压电平和电流电平。在图3中,对应于位对<00>,<01>,<10>和<11>的四个符号用它们与最低电压符号的相对电压电平标记,将最低电压符号用作基线值。PAM-4符号中有四种可能的电压电平,因此两个符号之间有四种可能的电压增量。符号的电压电平和电压增量(相对于另一个符号或基线值)都可以表示为0ΔV,1ΔV,2ΔV和3ΔV。通常,数据通道上的符号之间的3ΔV电压增量在串行数据总线上产生比较低电压增量更多的噪声。
现在参考图4的能量消耗曲线400,在一些PAM-4通信系统中,数据通道电流消耗与数据通道上使用的PAM-4符号序列之间存在非线性关系。所示的能量消耗曲线400用于在利用1位DBI通道的四个数据通道串行数据总线上以突发(在相同时钟间隔中)发送的符号和1位DBI数据的可能组合。通过增加电流消耗来对能量消耗曲线400进行分类。由突发之间的1ΔV变化引起的电流消耗的相对变化在能量消耗曲线400的左端比在右端上高得多。例如,从[3ΔV,3ΔV,3ΔV,3ΔV,1ΔV]到[2ΔV,3ΔV,3ΔV,3ΔV,1ΔV]的变化(能量消耗曲线400的左端)导致电流消耗变化7mA,而从[0ΔV,0ΔV,0ΔV,0ΔV,0ΔV]到[1ΔV,0ΔV,0ΔV,0ΔV,0ΔV]的变化(能量消耗曲线400的右端)导致电流消耗仅变化1.5mA。
在每个突发中的四个数据通道上传送的四个符号对应于八位实际数据(每个符号两位),因此可以一起表示为一个8位码字。码字不需要包括所传送的实际位-任何8位码字可用于表示突发中的八个数据位的值。因为每个突发(DBI位)也有一位可用的元数据,所以可以使用两个码字表,并且可以以下述方式从一个或另一个中选择码字:(a)减轻串行数据总线上的电流消耗变化(因此降低噪声),或(b)降低串行数据总线上的总能耗。DBI位可用于识别何时将符号替换用于特定突发。
例如,当当前突发与前一突发之间的ΔV变化之和小于突发之间可能会发生的最大可能ΔV变化的一半时,可以将元数据位设置为某值(例如,“1”)。该实施例从能量消耗曲线400的左半部分中选择码字来表示当前突发中的八位数据。当ΔV的总和大于最大可能ΔV总和的一半时,另一实施例可以选择代表来自能量消耗曲线400的右半部分的值的码字。这两种技术各有利弊。从能量消耗曲线400的左半部分选择码字导致:i)减少串行数据总线上的总能量消耗,但是,ii)允许突发之间的更大的电流消耗的最大可能变化。从能量消耗曲线400的右半部分选择码字导致:i)减小电流消耗的最大可能变化,但是,ii)增加总能量消耗。对于这两种情况,突发之间的四个数据通道上的最大电压增量变化减少了50%。
为了获益于两种机制,可以从能量消耗曲线400中的值的中间部分形成码字表。存在用于以这种方式形成码字表的许多选项。一个示例利用由8位地址索引的码字表(例如,未编码的数据位在串行数据总线的四个数据通道上通信),其中码字表的每个条目包括来自能量消耗曲线400的中间范围的9位值(八个数据位和一个DBI位)。具有该特性的码字表或“码本”在本文中称为能级平衡映射矩阵。与常规的PAM-4通信相比,这种类型的技术可以将串行数据总线上的突发之间的最大电压增量减少50%,并且将具有类似的平均电流的最大功率增量减少70%。如下面将进一步讨论的,另一种方法是选择减少在数据通道(例如,0ΔV和3ΔV符号电压电平)上极端PAM域电压电平的使用的码字。
参考图5,编码过程500过程的实施例确定对于每个突发间隔506是否用经码字编码的(codeworded)符号突发504替换原始符号突发502。对于每个突发间隔506得到多个数据通道(这里,四个数据通道)上的电压增量的总和以确定转换值的总和。如果总和小于在时间间隔中可能发生的电压增量的最大可能总和的一半(这里,12ΔV/2=6ΔV),则对原始符号突发502执行码字替换,以及为突发间隔506设置(例如,从0ΔV设置为1ΔV)用于选择替换的控制位。在另一模式中,如果总和大于最大可能总和的一半,则可以发生码字替换。
因此,编码过程500仅使用一位元数据来使最大电压切换减少50%,与PAM-2上的常规DBI的性能相匹配。虽然编码过程500合理减少了最大电压切换,但它仅将最大功率变化减小了25%,这显着小于采用PAM-2所实现的最大功率变化减小。这是因为在典型PAM-4数据通道上电压电平与电流消耗之间关系具有非线性特性。
编码过程500有效地从图4中所示的能量消耗曲线400的左半部分中选择编码。或者,如果用于突发的ΔV的总和大于最大可能ΔV的一半,则编码过程500可以从能量消耗曲线400的右半部分中选择。
参考图6,用于基于电平的DBI的通用例程600配置阈值和条件(框602)。接下来在框604处,例程600生成要在多个数据通道上以相同传输间隔同时发送的原始符号的电压电平之间的转换值(电压增量)的总和。进一步地,例程600将总和与阈值和条件进行比较(框606)。响应于总和小于阈值和条件,例程600基于预设的替换方案用新符号替换原始符号(框608)。
在一些实施例中,新符号是原始符号的反转值。阈值和条件可以是总和的最大可能值的一半,或者是最大值的一些其他预设阈值分数。进一步地,例程600可以在DBI线上设置一个或更多个位值,其指示用新符号替换原始符号。
可选地,响应于总和大于阈值和条件,例程600基于预设的替换方案用新符号替换原始符号(框610)。
参考图7,基于能量的编码方案700的实施例确定对于每个突发间隔706是否将原始符号突发702切换到经码字编码的符号突发704。对于每个突发间隔706,确定是否存在支配(dominant)值(即,在极端电压电平下编码的符号),其中0ΔV或3ΔV(或PAM-4以外的PAM方案的另一个极端电压电平)出现不止一次或比其他预设次数更多。如果满足替换条件,则每个符号由表示原始符号的相邻值的码字符号(0ΔV<->1ΔV和3ΔV<->2ΔV)替换,并且在DBI线上设置表示在突发中进行了替换的值。实际上,该替换方案通过替换极值及其相邻值来反转原始符号的2位数据的最低有效位。该方案通过计数编码为极端符号电压值的突发中的位对(例如,对于PAM-4,<00>或<11>)的数量来工作。例如,如果极值的数量超过组中符号数量的一半,则可以设置元数据反转位,并且00值变为01,01值变为00,11值变为10,以及10值变为11。该方案的一个版本利用每个突发间隔两个元数据位(例如,其中突发间隔中的每个DBI值是四级PAM-4符号),如果00信号的数量超过01信号的数量,可以有条件地交换00和01(PAM-4的示例),以及如果11信号的数量超过10信号的数量,则有条件地交换11和10。
基于能量的编码方案700的另一实施例使用代表能量消耗曲线400中的值的中间部分的码字来进行替换。
参考图8,基于电平的DBI例程800接收要在多个数据通道上在相同时间间隔内同时发送的多个符号(框802)。例程800将符号替换为来自能级平衡映射矩阵的中间区域的新符号(框804)。例程800在多个数据通道上以相同的时间间隔传送新符号(框806)。
参考图9,基于能量的DBI例程900接收要在多个数据通道上在相同时间间隔内同时发送的多个原始符号(框902)。例程900确定对应于数据通道上的极端电压电平的产生的原始符号的数量(框904)。作为原始符号的数量超过预设数量的结果,设置DBI位并且用新符号替换原始符号,其中新符号不对应于极端电压电平的产生(框906)。例程900在多个数据通道上在相同时间间隔内同时发送新符号(框908)。在一些PAM-4实施例中,原始符号对应于0ΔV,1ΔV,2ΔV或3ΔV的电压电平,因此例程900确定突发中与0ΔV或3ΔV中任一个相对应的原始符号的数量。
原始符号的数据可以包括最高有效位和最低有效位,并且在时间间隔中用新符号替换原始符号可以包括切换原始符号的数据的最低有效位。或者,在时间间隔中用新符号替换原始符号可以包括切换原始符号的数据的最高有效位。
图10是计算系统1000的一个实施例的框图,其中可以实现本发明的一个或更多个方面。计算系统1000包括系统数据总线1036、CPU 1026、输入装置1030、系统存储器1004、图形处理系统1002和显示装置1028。在可选的实施例中,可以将CPU 1026、图形处理系统1002的部分、系统数据总线1036或其任意组合集成到单个处理单元中。此外,图形处理系统1002的功能可以包括在芯片组或一些其他类型的专用处理单元或协处理器中。
如图所示,系统数据总线1036连接CPU 1026、输入装置1030、系统存储器1004和图形处理系统1002。在可选的实施例中,系统存储器1004可以直接连接到CPU 1026。CPU 1026接收来自输入装置1030的用户输入,执行存储在系统存储器1004中的编程指令,对存储在系统存储器1004中的数据进行操作,并将图形处理系统1002配置为执行图形管线中的特定任务。系统存储器1004通常包括动态随机存取存储器(DRAM),其用于存储CPU 1026和图形处理系统1002处理的编程指令和数据。图形处理系统1002接收由CPU 1026传输的指令,并处理指令以在计算系统1000内部执行各种操作。
如图所示,系统存储器1004包括应用程序1012、API 1018(应用程序编程接口)和图形处理单元驱动程序1022(GPU驱动程序)。应用程序1012生成对API 1018的调用,以产生所需的结果集。例如,应用程序1012还将程序传输给API 1018来执行着色操作、人工智能操作或图形渲染操作。API 1018功能通常可以在图形处理单元驱动程序1022中实现。图形处理单元驱动程序1022配置为将高级着色程序转换为机器代码。
图形处理系统1002包括GPU 1010(图形处理单元)、片上GPU存储器1016、片上GPU数据总线1032、GPU本地存储器1006和GPU数据总线1034。GPU 1010配置为通过片上GPU数据总线1032与片上GPU存储器1016通信,以及通过GPU数据总线1034与GPU本地存储器1006通信。GPU数据总线1034可以使用本文描述的一种或更多种编码技术。
GPU 1010可以接收由CPU 1026传输的指令,并将结果存储在GPU本地存储器1006中。随后,如果指令是图形指令,GPU 1010可以在显示装置1028上显示某些存储在GPU本地存储器1006中的图形图像。
GPU 1010包含一个或更多个逻辑块1014。逻辑块1014的操作可以实现本发明所述编码方案的实施例。逻辑块1014可以作为指令加载到GPU上,也可以作为指令集架构特征在电路中实现,或者二者的结合。
GPU 1010还可以具有任何数量的片上GPU存储器1016和GPU本地存储器1006,包括0个,并可以采用片上GPU存储器1016、GPU本地存储器1006和系统存储器1004以任何组合进行存储器操作。这些存储器和GPU 1010之间的数据/指令总线可以使用本文描述的一种或更多种编码技术。
片上GPU存储器1016配置为包括GPU编程1020和片上缓冲区1024。GPU编程1020可以通过系统数据总线1036从图形处理单元驱动程序1022传输到片上GPU存储器1016。系统数据总线1036可以使用本文描述的一种或更多种编码技术。
举例来说,GPU编程1020可以包括机器代码顶点着色程序、机器代码几何着色程序、机器代码片段着色程序、人工智能程序或者每种程序的任意数量的变体。片上缓冲区1024通常用于存储需要快速访问的数据,以减少此类操作的延迟。
GPU本地存储器1006通常包括较便宜的片外动态随机存取存储器(DRAM),并且也用于存储GPU 1010使用的数据和编程。如图所示,GPU本地存储器1006包含帧缓冲区1008。帧缓冲区1008存储用于驱动显示装置1028的至少一个二维表面的数据。此外,帧缓冲区1008可以包含不止一个二维表面,以便GPU 1010可以渲染到一个二维表面,同时使用第二二维表面驱动显示装置1028。
显示装置1028是能够发出与输入数据信号相对应的可视图像的一个或更多个输出装置。例如,可以使用阴极射线管(CRT)监视器、液晶显示器或任何其他合适的显示系统来构建显示装置。发送到显示装置1028的输入数据信号通常是通过扫描存储在帧缓冲区1008中的图像数据的一个或更多个帧的内容来生成的。
非对称DBI针对链路的两侧使用不同的DBI方案。例如,GPU在发送数据时可以使用基于非表的基于能量的DBI方案,而在存储器发送数据时存储器可以使用基于电平的DBI方案。通常,GDDR型存储器(例如)对电源噪声的敏感度低于GPU。因此,可能需要在GDDR中实现更简单的DBI机制,同时支持GPU中更复杂的方案。每一方只需要知道如何解码来自发送者的数据。
对于不实现DBI的存储器控制器,如果存储器提供元数据存储(例如,用于纠错码(ECC)或其他用途),则DBI可以仅由GPU或其他发送器执行,并且DBI元数据可以存储在存储器本身中。存储器控制器可能不计算或理解DBI机制。当DBI解码器太复杂而无法在存储器控制器中实现时,可以使用这种所谓的存储器-不知道DBI。
当不同的场景将受益于不同的DBI方案时,可以使用混合DBI。例如,以电池电力运行的膝上型电脑或智能电话可以以较低的数据速率操作存储器接口,因此受益于最小化平均功耗的DBI方案。插入充电站的该相同设备可以在更高频率下操作并且受益于最小化功率噪声的DBI机制。可以利用响应于设备的电源的配置寄存器或信号来改变设备在特定时间使用的DBI方案。在基于表的编码和/或解码实现中,可以通过动态修改表中的值来调整该技术。在基于阈值的DBI机制中,可以通过配置是否在大于或小于所配置的阈值时发生替换和/或通过调整配置的阈值来调整策略。还可以通过从不同的DBI编码器中进行选择来调整策略。可以基于优化一个或更多个设备特性(例如功耗或降噪)的期望来选择策略。例如,可以基于以下中的一个或更多个来选择策略:应用或用例的可靠性要求的差异,不同应用或用例的功率要求的差异,以及测量的错误率或功率噪声的差异。混合DBI可以与非对称DBI组合,其中可以在接口的每一端为发送器独立地选择策略。如果与数据一起存储的附加元数据指定用于编码数据的策略,则混合DBI可以与存储器-不知道DBI组合。
可以在PAM-4之外应用所公开的DBI方案。对于PAM-N(例如,PAM-8,PAM-16等),还存在传输多个符号及其非线性电流特性所带来的挑战。因此,这里介绍的所有机制可以应用于PAM-N I/O接口。例如,在PAM-8信令上应用基于电平的DBI导致数据的交换电平的阈值的变化,并利用诸如7dV<->0dV,6dV<->1dV等的替换方案。
“电路”是指具有至少一个分立电路的电路,具有至少一个集成电路的电路,具有至少一个专用集成电路的电路,形成由计算机程序配置的通用计算设备的电路(例如,由计算机程序配置的通用计算机,其至少部分地执行本文所述的过程或设备,或由计算机程序配置的微处理器,所述计算机程序至少部分地执行本文所述的过程或设备),形成存储器设备(例如,随机存取存储器的形式)的电路,或形成通信设备(例如,调制解调器,通信交换机或光电设备)的电路。
“固件”是指体现为存储在只读存储器或介质中的处理器可执行指令的软件逻辑。
“硬件”指的是体现为模拟或数字电路的逻辑。
“逻辑”是指机器存储器电路、非暂存性机器可读介质和/或电路,通过其材料和/或材料能量配置,包括控制和/或过程信号,和/或设置和值(如电阻、阻抗、电容、电感、电流/电压额定值等),其可用于影响装置运行。磁性介质、电子电路、电和光学存储器(易失性和非易失性两者)以及固件是逻辑的例子。逻辑特别排除了纯信号或软件本身(但是不排除包括软件的机器存储器,从而形成物质的配置)。
“软件”指的是实现为机器存储器(例如,读/写易失性或非易失性存储器或介质)中的处理器可执行指令的逻辑。
本领域技术人员将领会到,逻辑可以分布在一个或更多个装置或组件中,和/或可以由存储器、介质、处理电路和控制器、其他电路等的组合组成。因此,为了清晰和正确,逻辑可能并不总是在装置和系统的图中清楚地说明,尽管它固有地存在于其中。本文描述的技术和程序可以通过分布在一个或更多个计算装置中的逻辑来实现。根据实现,逻辑的具体分布和选择将会有所不同。
在本公开中,可以将不同的实体(可以不同地称为“单元”、“电路”、其他组件等)描述或声称为“配置”为执行一个或更多个任务或操作。这个公式——[实体]被配置成[执行一个或更多个任务]——在这里用来指代结构(即例如,物理的东西,如电子线路)。更具体地说,这个公式用于指示这个结构被布置为在运行期间执行一个或更多个任务。可以将结构“配置为”执行某些任务,即使该结构当前没有被操作。“信用分配电路配置为将信用分配到多个处理器核”旨在覆盖,例如,集成电路,其具有在操作期间执行该功能的电路,即使讨论中的集成电路当前未被使用(例如未连接电源)。因此,被描述或叙述为“配置为”执行某个任务的实体指的是一些物理的东西,例如装置、电路、存储可执行为实现任务的程序指令的存储器等。这个短语在本文不用于指无形的东西。
术语“配置为”并不意图意味着“可配置为”。例如,未编程的FPGA不会被认为“配置为”执行某些特定功能,尽管它在编程之后可能“可配置为”执行该功能。
如本文所使用的,术语“基于”用于描述影响确定的一个或更多个因素。该术语并不排除其他因素可能影响确定的可能性。也就是说,确定可能仅仅基于指定的因素,或者基于指定的因素以及其他未指定的因素。考虑短语“基于B确定A”。这个短语指定B是用来确定A的一个因素,或者是影响A的确定的一个因素。这个短语不排除A的确定也可能基于一些其他因素,如C。这个短语也意图覆盖仅基于B确定A的实施例。如本文所使用的,短语“基于”与短语“至少部分基于”是同义词。
如本文所使用的,短语“响应于”描述了触发效果的一个或更多个因素。这个短语并不排除其他因素可能影响或触发这种效果的可能性。也就是说,一个效果可能仅仅是对这些因素的响应,或者可能是对指定因素以及其他未指定因素的响应。考虑短语“响应于B执行A”。这个短语指定B是触发A执行的一个因素。这个短语并不排除也可能响应于一些其他因素(例如C)来执行A。这个短语还意图覆盖仅仅响应于B来执行A的实施例。
如本文所使用的,术语“第一”、“第二”等用作名词前面的标签,除另有说明外,否则不暗指任何类型的排序(例如,空间、时间、逻辑等)。例如,在一个有8个寄存器的寄存器文件中,术语“第一寄存器”和“第二寄存器”可以用来指代8个寄存器中的任意两个,而不仅仅是例如逻辑寄存器0和1。
当在权利要求书中使用术语“或”时,“或”是用作包含性的或,而不是排他性的或。例如,短语“x、y或z中的至少一个”表示x、y和z中的任何一个,以及其任意组合。
Claims (19)
1.一种串行数据总线的方法,包括:
配置阈值和条件;
生成在所述串行数据总线的多个数据通道上以相同的传输间隔同时发送的原始符号的电压电平之间的转换值的总和;
将所述总和与所述阈值和条件进行比较;以及
响应于所述总和满足所述阈值和条件,基于预设的替换方案用新符号替换所述原始符号。
2.如权利要求1所述的方法,其中所述新符号是所述原始符号的反转值。
3.如权利要求1所述的方法,其中所述阈值和条件是所述多个数据通道的总和的最大可能值的一半。
4.如权利要求1所述的方法,进一步包括在数据总线反转(DBI)线路上设置位值,指示所述新符号替换了所述原始符号。
5.如权利要求1所述的方法,进一步包括:从能级平衡映射矩阵的中间区域生成所述新符号。
6.一种串行数据总线的方法,包括:
接收将在所述串行数据总线的多个数据通道上在同一时间间隔内同时发送的多个原始符号;
确定与所述数据通道上极端电压电平的产生相对应的原始符号的数量,其中所述原始符号对应于0ΔV、1ΔV、2ΔV或3ΔV的电压电平,并且所述极端电压电平对应于0ΔV或3ΔV;
作为所述原始符号的数量超过预设数量的结果,设置DBI线路值并用新符号替换所述原始符号,其中所述新符号不对应于所述极端电压电平的产生;和
在所述多个数据通道上在相同时间间隔内同时发送所述新符号。
7.如权利要求6所述的方法,其中所述原始符号包括最高有效位和最低有效位,并且在所述时间间隔中用所述新符号替换所述原始符号包括转换所述原始符号的数据的最低有效位。
8.如权利要求6所述的方法,其中所述原始符号包括最高有效位和最低有效位,并且在所述时间间隔中用所述新符号替换所述原始符号包括转换所述原始符号的数据的最高有效位。
9.如权利要求6所述的方法,其中DBI值是两位符号,并且在包括在所述数据通道上使用的最低电压电平的符号的数量超过包括在所述数据通道上的下一个最低电压电平的符号的数量的条件下,对包括所述最低电压电平的符号和包括所述下一个最低电压电平的符号进行交换。
10.如权利要求9所述的方法,其中包括在所述数据通道上使用的最低电压电平的符号对应于2位值“00”,以及包括在所述数据通道上的下一个最低电压电平的符号对应于2位值“01”。
11.如权利要求9所述的方法,其中在包括在所述数据通道上使用的最高电压电平的符号的数量超过包括所述数据通道上的下一个最高电压电平的符号的数量的条件下,对包括所述最高电压电平的符号和包括所述下一个最高电压电平的符号进行交换。
12.如权利要求11所述的方法,其中包括在所述数据通道上使用的最高电压电平的符号对应于2位值“11”,以及包括所述数据通道上的下一个最高电压电平的符号对应于2位值“10”。
13.一种用于串行数据总线的发送器,所述发送器包括:
多个线路驱动器;和
用于确定要在所述串行数据总线的多个数据通道上以突发间隔同时发送的原始符号的转换值的总和的逻辑;
响应于满足阈值条件的所述总和,操作所述线路驱动器以在所述串行数据总线上设置新符号,所述新符号不同于所述原始符号,所述新符号从所述串行数据总线的能耗曲线的中间区域导出。
14.如权利要求13所述的发送器,其中所述新符号对应于所述原始符号的相邻电压电平。
15.如权利要求13所述的发送器,其中所述阈值条件是所述多个数据通道的总和的最大可能值的一半。
16.如权利要求13所述的发送器,进一步包括数据总线反转(DBI)线路驱动器和用于操作所述DBI线路驱动器以设置DBI值的逻辑,所述DBI值指示所述新符号替换所述原始符号。
17.如权利要求16所述的发送器,其中所述DBI值是两位符号,并且还包括:
用于在包括在数据通道上使用的最低电压电平的符号的数量超过包括在数据通道上的下一个最低电压电平的符号的数量的条件下,对包括所述最低电压电平的符号和包括所述下一个最低电压电平的符号进行交换的逻辑;和
用于在包括在数据通道上使用的最高电压电平的符号的数量超过包括在数据通道上的下一个最高电压电平的符号的数量的条件下,对包括所述最高电压电平的符号和包括所述下一个最高电压电平的符号进行交换的逻辑。
18.如权利要求13所述的发送器,其中所述原始符号包括最高有效位和最低有效位,并且用所述新符号替换所述原始符号包括转换所述原始符号的数据的所述最低有效位。
19.如权利要求13所述的发送器,其中所述原始符号包括最高有效位和最低有效位,并且用所述新符号替换所述原始符号包括转换所述原始符号的数据的所述最高有效位。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862650168P | 2018-03-29 | 2018-03-29 | |
US62/650,168 | 2018-03-29 | ||
US16/295,886 US11159153B2 (en) | 2018-03-29 | 2019-03-07 | Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O |
US16/295,886 | 2019-03-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321315A CN110321315A (zh) | 2019-10-11 |
CN110321315B true CN110321315B (zh) | 2023-11-03 |
Family
ID=68055565
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910250416.1A Active CN110321315B (zh) | 2018-03-29 | 2019-03-29 | 用于串行数据总线的方法及发送器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11159153B2 (zh) |
CN (1) | CN110321315B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10491238B2 (en) * | 2018-01-24 | 2019-11-26 | Nvidia Corp. | Maximum transition avoidance (MTA) encoding |
US11159153B2 (en) | 2018-03-29 | 2021-10-26 | Nvidia Corp. | Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O |
US11966348B2 (en) | 2019-01-28 | 2024-04-23 | Nvidia Corp. | Reducing coupling and power noise on PAM-4 I/O interface |
US20210342285A1 (en) * | 2020-04-30 | 2021-11-04 | Advanced Micro Devices, Inc. | Encoding of symbols for a computer interconnect based on frequency of symbol values |
KR20210149543A (ko) * | 2020-06-02 | 2021-12-09 | 삼성전자주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
KR20220031791A (ko) | 2020-09-03 | 2022-03-14 | 삼성전자주식회사 | 메모리 장치와 그 동작 방법, 및 메모리 시스템 |
KR20220086904A (ko) | 2020-12-17 | 2022-06-24 | 삼성전자주식회사 | 데이터 전송 방법 및 데이터 전송 장치 |
EP4057516B1 (en) * | 2021-03-10 | 2024-03-27 | Samsung Electronics Co., Ltd. | Encoding apparatuses for implementing multi-mode coding |
KR20220140234A (ko) * | 2021-04-09 | 2022-10-18 | 삼성전자주식회사 | 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치 |
US11656958B2 (en) * | 2021-04-29 | 2023-05-23 | Mellanox Technologies, Ltd. | Redundancy data bus inversion sharing |
US20230208446A1 (en) * | 2021-12-29 | 2023-06-29 | Western Digital Technologies, Inc. | Mitigating DBI Bit Flip Induced Errors |
KR102582152B1 (ko) * | 2022-11-14 | 2023-09-22 | 한양대학교 산학협력단 | Pam 3 신호를이용한 데이터 반전 회로 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4667337A (en) * | 1985-08-28 | 1987-05-19 | Westinghouse Electric Corp. | Integrated circuit having outputs configured for reduced state changes |
US4742349A (en) * | 1986-05-22 | 1988-05-03 | Chrysler Motors Corporation | Method for buffered serial peripheral interface (SPI) in a serial data bus |
US6335718B1 (en) * | 1998-12-31 | 2002-01-01 | Lg. Philips Lcd Co., Ltd. | Data transmission apparatus and method |
US7501963B1 (en) * | 2007-10-17 | 2009-03-10 | Micron Technology, Inc. | Balanced data bus inversion |
US9184906B1 (en) * | 2014-09-22 | 2015-11-10 | Oracle International Corporation | Configurable pulse amplitude modulation clock data recovery |
US9219509B1 (en) * | 2012-05-04 | 2015-12-22 | Rambus Inc. | System performance improvement using data reordering and/or inversion |
US9231704B1 (en) * | 2014-05-12 | 2016-01-05 | Google Inc. | Electrical mitigation of DML nonlinearity for high-speed optical interconnection |
US9244763B1 (en) * | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9548858B1 (en) * | 2016-01-18 | 2017-01-17 | Inphi Corporation | Skew management for PAM communication systems |
US9564990B1 (en) * | 2012-10-16 | 2017-02-07 | Inphi Corporation | Pulse amplitude modulation (PAM) data communication with forward error correction |
US9853769B1 (en) * | 2015-03-09 | 2017-12-26 | Aquantia Corporation | High-speed Ethernet coding |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4623223A (en) | 1982-12-27 | 1986-11-18 | Kempf Paul S | Stereo image display using a concave mirror and two contiguous reflecting mirrors |
US4739323A (en) | 1986-05-22 | 1988-04-19 | Chrysler Motors Corporation | Serial data bus for serial communication interface (SCI), serial peripheral interface (SPI) and buffered SPI modes of operation |
US5377020A (en) | 1992-05-28 | 1994-12-27 | Contex A/S | Method and apparatus for scanning an original and updating threshold values for use in the processing of data |
US5833340A (en) | 1994-09-06 | 1998-11-10 | Hitachi, Ltd. | Sensory integration system and image display device and concave mirror for use in the same system |
US5487665A (en) | 1994-10-31 | 1996-01-30 | Mcdonnell Douglas Corporation | Video display system and method for generating and individually positioning high resolution inset images |
US5856980A (en) | 1994-12-08 | 1999-01-05 | Intel Corporation | Baseband encoding method and apparatus for increasing the transmission rate over a communication medium |
US5572736A (en) | 1995-03-31 | 1996-11-05 | International Business Machines Corporation | Method and apparatus for reducing bus noise and power consumption |
US5890005A (en) | 1997-06-02 | 1999-03-30 | Nokia Mobile Phones Limited | Low power, low interconnect complexity microprocessor and memory interface |
US6604120B1 (en) | 1997-09-04 | 2003-08-05 | Cirrus Logic, Inc. | Multiplier power saving design |
US6046943A (en) | 1998-03-10 | 2000-04-04 | Texas Instuments Incorporated | Synchronous semiconductor device output circuit with reduced data switching |
GB9816358D0 (en) | 1998-07-27 | 1998-09-23 | Angeletti P Ist Richerche Bio | Enzyme inhibitors |
JP3258283B2 (ja) | 1998-11-05 | 2002-02-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ変化量を削減するデータ転送方法および装置 |
US6718415B1 (en) | 1999-05-14 | 2004-04-06 | Acqis Technology, Inc. | Computer system and method including console housing multiple computer modules having independent processing units, mass storage devices, and graphics controllers |
KR100435215B1 (ko) | 1999-12-30 | 2004-06-09 | 삼성전자주식회사 | 버스 인코딩/디코딩 장치 및 그 방법 |
KR100321164B1 (ko) | 1999-12-30 | 2002-03-18 | 박종섭 | 메모리 소자의 데이터 기입 및 독출 제어방법 및 회로 |
US6285300B1 (en) | 2000-02-09 | 2001-09-04 | Hewlett Packard Company | Apparatus and method for reducing power and noise through reduced switching recording in logic devices |
US6400633B1 (en) | 2000-02-11 | 2002-06-04 | Advanced Micro Devices, Inc. | Power-saving modes for memories |
JP2002108522A (ja) | 2000-09-26 | 2002-04-12 | Internatl Business Mach Corp <Ibm> | データ転送装置、表示装置、データ送出装置、データ受取装置、データの転送方法 |
US7149955B1 (en) | 2001-03-07 | 2006-12-12 | Marvell International Ltd. | Encoding and decoding apparatus and method with hamming weight enhancement |
JP4794059B2 (ja) | 2001-03-09 | 2011-10-12 | 富士通セミコンダクター株式会社 | 半導体装置 |
TW507128B (en) | 2001-07-12 | 2002-10-21 | Via Tech Inc | Data memory controller supporting the data bus invert |
US7260155B2 (en) | 2001-08-17 | 2007-08-21 | Synopsys, Inc. | Method and apparatus for encoding and decoding digital communications data |
US7248640B2 (en) | 2001-08-17 | 2007-07-24 | Synopsys, Inc. | System and method for providing slicer level adaption |
DE10145722A1 (de) | 2001-09-17 | 2003-04-24 | Infineon Technologies Ag | Konzept zur sicheren Datenkommunikation zwischen elektronischen Bausteinen |
ES2388942T3 (es) | 2002-09-04 | 2012-10-19 | Microsoft Corporation | Codificación entrópica adaptando la codifidación entre modos de nivel y de longitud de serie/nivel |
US7391834B2 (en) | 2002-10-01 | 2008-06-24 | Intel Corporation | Pulse amplitude modulated system with reduced intersymbol interference |
JP3994870B2 (ja) | 2002-12-12 | 2007-10-24 | 日本電気株式会社 | 多値qamを用いた無線装置及びしきい値推定方法 |
US7620116B2 (en) | 2003-02-28 | 2009-11-17 | Rambus Inc. | Technique for determining an optimal transition-limiting code for use in a multi-level signaling system |
US7092472B2 (en) | 2003-09-16 | 2006-08-15 | Rambus Inc. | Data-level clock recovery |
US7188263B1 (en) | 2003-05-07 | 2007-03-06 | Nvidia Corporation | Method and apparatus for controlling power state of a multi-lane serial bus link having a plurality of state transition detectors wherein powering down all the state transition detectors except one |
US7779212B2 (en) | 2003-10-17 | 2010-08-17 | Micron Technology, Inc. | Method and apparatus for sending data from multiple sources over a communications bus |
US7308058B2 (en) | 2003-10-27 | 2007-12-11 | Rambus Inc. | Transparent multi-mode PAM interface |
US7488072B2 (en) | 2003-12-04 | 2009-02-10 | New York University | Eye tracked foveal display by controlled illumination |
US7561624B2 (en) | 2004-11-22 | 2009-07-14 | Fonseka John P | Multi-interval line coding for high speed data communication |
US7081838B2 (en) | 2004-12-29 | 2006-07-25 | Enigma Semiconductor, Inc. | 16b/10s coding apparatus and method |
US7840629B2 (en) | 2006-02-28 | 2010-11-23 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a booth multiplier |
US20090206886A1 (en) | 2008-02-20 | 2009-08-20 | Micrel, Incorporated | Line Driver With Tuned On-Chip Termination |
US7769048B2 (en) | 2008-06-25 | 2010-08-03 | Intel Corporation | Link and lane level packetization scheme of encoding in serial links |
US7795915B2 (en) | 2008-08-04 | 2010-09-14 | Chil Semiconductor Corporation | Multi-level signaling |
WO2010049218A1 (en) | 2008-10-30 | 2010-05-06 | Audioasics A/S | A high radix digital multiplier |
US8181101B2 (en) | 2009-01-30 | 2012-05-15 | International Business Machines Corporation | Data bus system, its encoder/decoder and encoding/decoding method |
US8581755B2 (en) | 2010-01-20 | 2013-11-12 | Rambus Inc. | Multiple word data bus inversion |
US8635262B2 (en) | 2010-12-03 | 2014-01-21 | Via Technologies, Inc. | Carryless multiplication preformatting apparatus and method |
US8934528B2 (en) | 2011-03-30 | 2015-01-13 | Silicon Laboratories Inc. | Transition interval coding for serial communication |
US8189263B1 (en) | 2011-04-01 | 2012-05-29 | Google Inc. | Image waveguide with mirror arrays |
US8984380B2 (en) | 2011-07-01 | 2015-03-17 | Altera Corporation | Method and system for operating a communication circuit configurable to support one or more data rates |
US9240907B2 (en) | 2012-02-15 | 2016-01-19 | Broadcom Corporation | Transcoding scheme techniques |
KR101861550B1 (ko) | 2012-02-29 | 2018-05-29 | 삼성전자주식회사 | 다항식 연산을 위한 부분적 발생 장치 및 방법 |
US9942063B2 (en) | 2012-10-26 | 2018-04-10 | Altera Corporation | Apparatus for improved encoding and associated methods |
US8964818B2 (en) | 2012-11-30 | 2015-02-24 | Broadcom Corporation | Use of multi-level modulation signaling for short reach data communications |
US9189051B2 (en) | 2012-12-14 | 2015-11-17 | International Business Machines Corporation | Power reduction by minimizing bit transitions in the hamming distances of encoded communications |
US9529749B2 (en) | 2013-03-15 | 2016-12-27 | Qualcomm Incorporated | Data bus inversion (DBI) encoding based on the speed of operation |
US9210010B2 (en) | 2013-03-15 | 2015-12-08 | Apple, Inc. | Methods and apparatus for scrambling symbols over multi-lane serial interfaces |
DE102013205544A1 (de) | 2013-03-28 | 2014-10-02 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Verarbeitung von Daten |
US9146707B2 (en) | 2013-05-28 | 2015-09-29 | International Business Machines Corporation | Generating a fast 3x multiplicand term for radix-8 booth multiplication |
US9552325B2 (en) | 2013-06-12 | 2017-01-24 | Qualcomm Incorporated | Camera control interface extension bus |
US10114401B2 (en) | 2013-11-18 | 2018-10-30 | Infineon Technologies Ag | System and method for a serial bus interface |
US9607586B2 (en) | 2014-02-18 | 2017-03-28 | Apple Inc. | Asymmetric circuitry |
US9252997B1 (en) | 2014-07-10 | 2016-02-02 | Qualcomm Incorporated | Data link power reduction technique using bipolar pulse amplitude modulation |
US20160173134A1 (en) | 2014-12-15 | 2016-06-16 | Intel Corporation | Enhanced Data Bus Invert Encoding for OR Chained Buses |
CN107005508B (zh) | 2015-01-08 | 2020-08-07 | 华为技术有限公司 | 数据处理方法和数据处理装置 |
KR101713406B1 (ko) | 2015-03-27 | 2017-03-07 | 아이디에이씨 홀딩스, 인크. | 실수 m진 신호 부호화 방법, 및 이를 이용한 부호화 장치 |
US11032397B2 (en) | 2015-06-17 | 2021-06-08 | Hewlett Packard Enterprise Development Lp | Method and system for high speed data links |
US9853841B1 (en) | 2016-06-23 | 2017-12-26 | Huawei Technologies Co., Ltd. | Low complexity slicer architectures for N-tap look-ahead decision feedback equalizer (DFE) circuit implementations |
US9954576B2 (en) | 2016-09-23 | 2018-04-24 | Dell Products, Lp | System and method for PAM-4 transmitter bit equalization for improved channel performance |
US10164808B2 (en) | 2016-09-29 | 2018-12-25 | Viavi Solutions Deutschland Gmbh | Test instrument for testing devices internally performing signal conversions |
KR102349415B1 (ko) | 2017-08-07 | 2022-01-11 | 삼성전자주식회사 | 펄스 진폭 변조 송신기 및 펄스 진폭 변조 수신기 |
US10594523B2 (en) | 2017-12-22 | 2020-03-17 | Tetra Semiconductor Ag | Decoder circuit for a broadband pulse amplitude modulation signal |
US10491238B2 (en) * | 2018-01-24 | 2019-11-26 | Nvidia Corp. | Maximum transition avoidance (MTA) encoding |
US11159153B2 (en) | 2018-03-29 | 2021-10-26 | Nvidia Corp. | Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O |
US10599606B2 (en) | 2018-03-29 | 2020-03-24 | Nvidia Corp. | 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses |
US10491435B2 (en) | 2018-03-29 | 2019-11-26 | Nvidia Corp. | Unrelaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses |
DE102019118340A1 (de) * | 2018-07-20 | 2020-01-23 | Nvidia Corporation | Invertierungskodierung für einen bus mit begrenzter hamming-distanz für schnittstellen mit mehreren bytes |
-
2019
- 2019-03-07 US US16/295,886 patent/US11159153B2/en active Active
- 2019-03-29 CN CN201910250416.1A patent/CN110321315B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4667337A (en) * | 1985-08-28 | 1987-05-19 | Westinghouse Electric Corp. | Integrated circuit having outputs configured for reduced state changes |
US4742349A (en) * | 1986-05-22 | 1988-05-03 | Chrysler Motors Corporation | Method for buffered serial peripheral interface (SPI) in a serial data bus |
US6335718B1 (en) * | 1998-12-31 | 2002-01-01 | Lg. Philips Lcd Co., Ltd. | Data transmission apparatus and method |
US7501963B1 (en) * | 2007-10-17 | 2009-03-10 | Micron Technology, Inc. | Balanced data bus inversion |
US9219509B1 (en) * | 2012-05-04 | 2015-12-22 | Rambus Inc. | System performance improvement using data reordering and/or inversion |
US9564990B1 (en) * | 2012-10-16 | 2017-02-07 | Inphi Corporation | Pulse amplitude modulation (PAM) data communication with forward error correction |
US9244763B1 (en) * | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9231704B1 (en) * | 2014-05-12 | 2016-01-05 | Google Inc. | Electrical mitigation of DML nonlinearity for high-speed optical interconnection |
US9184906B1 (en) * | 2014-09-22 | 2015-11-10 | Oracle International Corporation | Configurable pulse amplitude modulation clock data recovery |
US9853769B1 (en) * | 2015-03-09 | 2017-12-26 | Aquantia Corporation | High-speed Ethernet coding |
US9548858B1 (en) * | 2016-01-18 | 2017-01-17 | Inphi Corporation | Skew management for PAM communication systems |
Also Published As
Publication number | Publication date |
---|---|
US11159153B2 (en) | 2021-10-26 |
US20190305765A1 (en) | 2019-10-03 |
CN110321315A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321315B (zh) | 用于串行数据总线的方法及发送器 | |
US10599606B2 (en) | 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses | |
US10491435B2 (en) | Unrelaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses | |
KR101664985B1 (ko) | 시그널링 전력을 감소시키는 방법들 및 장치 | |
JP5575237B2 (ja) | 組み合わせデータマスクおよびデータバス反転を用いたデータ符号化 | |
CN110321314B (zh) | 用于降低pam-4数据总线上的耦合噪声和功率噪声的放宽的433编码 | |
US11966348B2 (en) | Reducing coupling and power noise on PAM-4 I/O interface | |
KR102452890B1 (ko) | 프로그래밍 가능 종단 레벨을 갖는 동적 버스 반전 | |
JP2017526248A (ja) | バイポーラパルス振幅変調を使用するデータリンク電力低減技法 | |
US10404505B1 (en) | Bus-invert coding with restricted weight range for multi-level signaling | |
CN112817518B (zh) | 存储器系统及其操作方法 | |
TWI775082B (zh) | 多級脈衝振幅調變發信的比例交流耦合邊緣增強傳輸等化 | |
TWI814271B (zh) | 編碼及解碼設備 | |
CN110321312B (zh) | 降低pam-4 i/o接口上的耦合噪声和功率噪声 | |
US11822492B2 (en) | Signal encoding method and a semiconductor device to generate an optimal transition code in a multi-level signaling system | |
CN118264359A (zh) | 一种数据传输方法、装置、电子设备和计算机程序产品 | |
KR20220127129A (ko) | 멀티 모드 코딩을 구현하는 인코딩 및 디코딩 장치 및 방법 | |
DE102019114978A1 (de) | Datenbus-inversion (dbi) bei pulsamplitudenmodulation (pam) und reduzierung von kopplungs- und leistungsrauschen bei pam-4-ein-/ausgabe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |