CN110321314A - 用于降低pam-4数据总线上的耦合噪声和功率噪声的放宽的433编码 - Google Patents
用于降低pam-4数据总线上的耦合噪声和功率噪声的放宽的433编码 Download PDFInfo
- Publication number
- CN110321314A CN110321314A CN201910245069.3A CN201910245069A CN110321314A CN 110321314 A CN110321314 A CN 110321314A CN 201910245069 A CN201910245069 A CN 201910245069A CN 110321314 A CN110321314 A CN 110321314A
- Authority
- CN
- China
- Prior art keywords
- level
- data channel
- data
- pam
- symbol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000005540 biological transmission Effects 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 20
- 230000005611 electricity Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000015654 memory Effects 0.000 description 31
- 238000012545 processing Methods 0.000 description 18
- 230000000694 effects Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000002040 relaxant effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004040 coloring Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000003039 volatile agent Substances 0.000 description 1
Classifications
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
- G06F13/4072—Drivers or receivers
-
- 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
- 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
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0042—Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4917—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0096—Channel splitting in point-to-point links
-
- 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)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Hardware Design (AREA)
- Dc Digital Transmission (AREA)
Abstract
本文公开了用于降低PAM‑4数据总线上的耦合噪声和功率噪声的放宽的433编码的技术。操作串行数据总线的方法,将一系列数据位划分为一个或更多个位的序列,并将序列编码为N级符号,然后在多个离散电压电平下传输。这些方法可以用来在串行数据线上通信,以提高带宽,并减少串扰和其他噪声源。
Description
相关申请的交叉引用
本申请要求于2018年3月28日递交的、序列号为62/650,168的美国临时专利申请的权益,其全部内容通过引用合并于此。
背景技术
现代高吞吐量系统利用多个高带宽输入/输出接口在计算单元、存储器装置和存储装置之间形成信令网络。例如,外围组件互连高速(PCI-E)将多个外围装置连接到中央处理单元(CPU)和图形处理单元(GPU)。这些接口可以包括在高频下运行的多个串行数据总线。
脉冲幅度调制(PAM)可用于多通道串行数据总线,以通过将数据编码为不同的电压电平来同时传输多个数据位。这里的“通道”是指串行数据总线的单个数据通道。“数据突发(data 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需要每个数据突发额外的元数据位来将数据突发极性设置(非反向数据突发或反向数据突发)传输到接收器。这个元数据位通常在与串行数据总线的数据通道(通常每个数据通道也是一个数据通道)分开的额外数据通道上传输。
许多串行数据总线只包括发送器和接收器之间的单个数据通道。因此,添加额外的元数据数据通道可以在串行数据总线所需的数据通道数量上产生高达100%的开销。
附图中几个视图的简要说明
为了便于识别对任何特定元素或动作的讨论,参考编号中最高有效位的一个或更多个数字是指第一次引入该元素的图号。
图1例示了根据一个实施例的数据通信系统100。
图2例示了PAM-4收发器200的实施例。
图3例示了常规的PAM-4数据通道电压波形300的一实施例。
图4例示了根据一个实施例的PAM-433编码器400。
图5例示了PAM-433数据通道电压波形500的一实施例。
图6例示了数据通道电压波形600的一实施例。
图7例示了数据通道电压波形700的一实施例。
图8例示了数据通道电压波形800的一实施例。
图9例示了数据通道电压波形900的一实施例。
图10例示了PAM-433例程1000的一实施例。
图11例示了PAM-N例程1100的一实施例。
图12例示了PAM-4333编码1200的一实施例。
图13例示了PAM-4333例程1300的一实施例。
图14例示了可变的PAM-433编码1400的一实施例。
图15例示了可变的PAM-433例程1500的一实施例。
图16例示了放宽的PAM-433 1600的一实施例。
图17例示了根据一个实施例的、放宽的PAM-433编码方法1700。
图18例示了放松的PAM-433 1800的一个实施例。
图19例示了根据一个实施例的、放宽的PAM-433编码方法1900。
图20例示了根据一个实施例的、放宽的PAM-433编码方法2000。
图21是包括GPU的计算系统2100的框图,本发明的方面可以在其中实现或实施。
详细描述
参照图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上的电流为例如5mA。如果要编码到符号中的两位的数据为(0,1),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如为0.8V的电压,并且数据通道208上的电流为例如10mA。如果要编码到符号中的两位的数据为(0,0),最低有效位发送器202和最高有效位发送器204的输出相组合以在数据通道208上生成例如为0.6V的电压,并且数据通道208上的电流为例如15mA。0.6V在这里可以称为基本传输电压Vb,其他符号电压电平可以从该基本传输电压进行增量。
因此,数据通道上的符号值对应于数据突发期间该数据通道的电流消耗。因此,可以将权重分配给反映它们当前电流消耗成本的符号值。例如,可以给用于位对(1,1)的符号分配权重0;可以给用于位对(1,0)的符号分配权重1;可以给用于位对(0,1)的符号分配权重2;可以给用于位对(0,0)的符号分配权重3。
在这个例子,使用PAM-4编码的8通道串行数据总线上的数据突发可以被分配一个总权重,范围从0到24,这等于例如从0到120mA的电流消耗范围。如果数据突发中的所有符号都编码了位对(1,1),则数据突发的总权重为0;如果数据突发中的所有符号都编码了位对(0,0),则数据突发的总权重为24。全部由0组成的数据突发消耗最多的电流,因此从功耗的角度来看是最昂贵的。
参考图3,常规的PAM-4数据通道电压波形300通过利用所有4级符号,在每个时钟间隔在数据通道上编码2位数据。一个12位的典型序列是110001100011。这个序列可以作为一系列四级符号传输,每个符号编码两个位。对于位序列110001100011,位11被编码到第一串行数据总线时钟间隔t0-t1;下两位00被编码为第二串行数据总线时钟间隔t1-t2;等等。这导致串行数据总线上从t0-t1以及从t4-t5的2个3ΔV电压电平变化。
符号nΔV指的是时钟间隔间串行数据总线的数据通道上距离基准电压Vb的n-增量电压变化。例如,再次参照图2,不同的符号有0.2V的间隔,基准电压Vb为0.6V,3ΔV的变化将对应于在总线时钟周期之间的数据通道上3×0.2V或0.6V的增量电压。
更高的电压增量会产生更多的噪声,因为它们会导致数据通道中更高的电流波动。因此在图3中,总线时钟间隔t0和t1之间以及t4和t5之间的3ΔV增量可能会产生明显的噪声。降低这个最大的增量电压活动有助于提高如PAM-4收发器200的PAM-4系统的信噪比。
一个实施例中的PAM-433编码器400的逻辑表如图4所示。对于上面讨论的示例位序列110001100011,PAM-433编码器400消除了串行数据总线上3ΔV电压电平的变化。如逻辑表所示,当三位序列000位于表单1x的两个2位序列之间时(其中x是0或1的“don't care(不在意)”值),三位序列000被编码为四位0111(参见逻辑表的第一行,第三列)。换句话说,当三位序列000桥接两个2位序列时,其中每个2位序列都具有最高有效位集(1x),7个总位被重新编码为1x01111x。在上面的例子中,其中7个总位是1100011,重新编码的序列是11011111。然后将该序列的每个2位对作为PAM-4符号在串行数据总线的数据通道上传输,得到图5中PAM-433数据通道电压波形500。以牺牲一个串行数据总线时钟周期为代价,用DBI线消除了序列110001100011中3ΔV电压电平的变化。换句话说,假设一个随机分布的位序列,与用于传统的PAM-4的每串行数据总线时钟间隔2.0位相比,有效的数据传输速率平均降低16.7%,降低到1.67位串行数据总线时钟间隔。
与常规的PAM-4编码器相比,PAM-433编码器400在不需要传输任何元数据的情况下,在数据线上进行电压电平切换的最坏情况可以降低33%。PAM-433编码器400将在数据通道上传输的位序列划分为五位数据序列:每五位的前2位被编码成一个具有4个可能电压电平的符号,五位的最后三位被编码成2个符号,每个符号有3个可能的电压电平。
一般来说,上述机制可以应用于PAM-N(符号利用N个可能的离散电压电平)。例如,PAM-866方案可以在第一次传输时传输三位数据符号,在接下来的两次传输中传输五位数据符号(每次传输2.67位,11.1%的开销)。PAM-866可以将最大电压切换从7ΔV(PAM-8)降低到5ΔV(降低28.5%)。此外,可以将该机制扩展到其他任意组合的数据符号(例如PAM-WXYZ),从而利用类似于PAM-433的机制来获得更好的可靠性。
图6至图9描述了采用PAM-433编码时各数据通道电压波形。描述了用于据通道上传输各种不同的位模式的四种数据通道电压波形:数据通道电压波形600、数据通道电压波形700、数据通道电压波形800和数据通道电压波形900。
对于图6和图7所示的数据通道波形,将第一三级符号604和第二三级符号606用作具有相同最高有效位(MSB)的第一四级符号602和第二四级符号608之间的“桥610”。符合这种模式的例子是四级符号对,例如:11(3ΔV)/10(2ΔV)(图6)和01(1ΔV)/00(0ΔV)(图7)。PAM-433编码将第一三级符号604和第二三级符号606的电压窗口对齐到第一四级符号602和第一三级符号604的电压电平,以这种方式,数据通道电压波形中的最大电压增量为2ΔV。
对于图8和图9所示的数据通道波形,将第一三级符号604和第二三级符号606用作具有不同MSB的第一四级符号602和第二四级符号608之间的桥610。在这种情景下,在第一三级符号604和第二三级符号606之间可能存在一个3ΔV电压增量。然而,PAM-433编码器400不映射会导致逻辑表中发生这种情况的值。PAM-433编码器400从不使用会导致三级突发之间3ΔV电压增量的符号,从而使数据通道波形中的最大电压增量保持在2ΔV。
参照图10,在一个实施例中PAM-433例程1000将串行数据总线上的一系列数据位划分为多个序列,每个序列包含五位(框1002)。接下来,PAM-433例程1000将每个五位序列的前两位编码为4级符号(框1004)。然后,PAM-433例程1000将每个五位序列的下三位编码为两个三级符号(框1006)。PAM-433例程1000可以操作为对串行数据总线的一个或更多个数据通道上的符号进行编码。
在一些实施例中,这两个三级符号包括第一三级符号和第二三级符号。PAM-433例程1000操作串行数据总线,以将第一三级符号的电压电平编码为以下之一:(a)低于该四级符号的电压电平最多两个电压台阶,或(b)高于该四级符号的电压电平最多两个电压台阶。所述五位序列还可以包括在所述串行数据总线上传输的第一五位序列,以及在该第一五位序列在所述串行数据总线上之后传输的第二五位序列。然后,PAM-433例程1000可以操作串行数据总线以将第一五位序列的第二三级符号的电压电平编码为以下之一:(a)在第二五位序列的四级符号的电压电平以下最多两个电压台阶,或(b)在第二五位序列的四级符号的电压电平以上至多两个电压台阶。
参考图11,更通用的PAM-N例程1100将一系列数据位划分为若干位的序列,这些位的数目基于电压电平的数目N(框1102)。接下来,PAM-N例程1100将每个若干位序列的前若干位编码为N级突发,第一位数目为以2为底N的对数(框1104)。然后,PAM-N例程1100将每个若干位序列的下若干位编码为两个M级突发,下若干位为log2[(N^2)/2]并且M是等于应用于[(N^2)/2]的平方根的上取整函数(ceiling function)的整数(框1106)。PAM-N例程1100可以操作为通过串行数据总线进行数据通信。
参照图12,例示了PAM-4433编码1200的实施例。PAM-4433编码1200操作串行数据总线,以使用第一四级符号1202、第二四级符号1204、第一三级符号1206和第二三级符号1208的序列来编码和传输七位数据字。因此,在特定数据通道上两个四级符号之间有可能出现3ΔV电压增量,如第一四级符号1202和第二四级符号1204。然而,如图12所示,电位3ΔV电压增量可能跨多个数据通道交错,这减少了任何特定的数据突发中(在一个时钟间隔期间通过串行数据总线发送的所有位)的最大电压增量。多个3ΔV电压增量不会出现在同一数据突发中,这减少了串扰和其他噪声源。该PAM-4433编码1200有12.5%的带宽成本(每次传输1.75位),而在这个例子中四个数据通道上具有最大平均2.25ΔV最大电压增量(当然在其他实施例中可以使用其他数量的数据通道)。
参照图13,PAM-4433例程1300的一个实施例将要在串行数据总线的数据通道上传输的一系列数据位划分为七位序列(框1302)。接下来,PAM-4433例程1300将每个七位序列的前四位编码为两个四级符号(框1304)。然后,PAM-4433例程1300将七位序列中的每个七位序列的下三位编码为两个三级符号(框1306)。这在串行数据总线的多个数据通道上重复,然后,四级符号之间的转换可以跨数据通道在时间上交错(在不同的串行数据总线时钟间隔上对齐)。
参照图14,如果当前符号对应于0ΔV或3ΔV的数据通道电压,则在一个实施例中,可变的PAM-433编码1400将激活PAM-433编码。这被称为激活PAM-433编码的“触发数据1402”。当遇到触发数据1402时,在触发数据之后使用适当的三级符号桥1404。否则,如果没有遇到触发数据,可变的PAM-433编码1400使用常规的PAM-4编码(所有符号都是四级)。可变的PAM-433编码1400在串行数据总线数据通道电压波形中导致2ΔV的最大电压增量。
参考图15,可变的PAM-433例程1500确定,五位序列的前两位编码为与串行数据总线的数据通道上使用的最高电压电平或最低电压电平对应的四级符号(框1502)。换句话说,遇到了触发数据。响应于遇到触发数据,可变的PAM-433例程1500将五位序列中的下三位编码为两个三级符号(框1504)。
图16例示了放宽的PAM-433 1600的一个实施例,其在多数据通道接口上具有两种不同的数据传输配置。数据在九个数据通道上被从GPU 1602传输到DRAM 1604。切换活动约束被从“完全没有3ΔV切换”放宽到“在3个相邻的数据通道上最多只有一个3ΔV切换”。
放宽的PAM-433 1600的配置使用了三数据通道组,其中每个数据通道组包括一个PAM-4数据通道和两个PAM-433数据通道。结果是,在所述三数据通道组中,只有一个数据通道(PAM-4)经历了3ΔV切换。接着每个所述三数据通道组被安排来确保所述一个PAM-4数据通道是远离另一三数据通道组中的PAM-4数据通道三个数据通道。如图16所述,数据通道配置(从顶部到底部)是PAM-4、PAM-433、PAM-433、PAM-4、PAM-433、PAM-433、PAM-4、PAM-433以及PAM-433。其他配置也可以导致PAM-4数据通道离另一个PAM-4数据通道至少三个数据通道。例如,可以使用PAM-433、PAM-4、PAM-433、PAM-433、PAM-4、PAM-433、PAM-433、PAM-4和PAM-433配置。
在常规的PAM-2接口中,八个数据通道的组与传输DBI的控制信号的一个DBI通道和传送数据的循环冗余校验(CRC)信息的一个电子数据捕获(EDC)数据通道相关联。在一些实施例中,这两个通道可用于传输PAM-433编码的数据。“放宽的”PAM-433通信的实现可以在9-数据通道系统和10-数据通道系统上实现,例如(DBI通道用作数据通道之一)。
要在存储器系统(或通常是最多多数据通道总线)中实现放宽的PAM-433 1600,比较理想的是考虑请求的边界(例如,在GDDR或HBM存储器中常见的128位请求)。在这种环境中,控制器独立考虑每个请求可能更简单。然而,在9个数据通道上以8个符号突发只发送128位也是很困难的。编码可以在9个数据通道上以24个符号发送384位,这样,在一系列连续传输中,数据可以被有效地编码。然而,在128位请求结束和下一个请求开始的所有数据通道上没有简单的符号边界。控制器可以跟踪这些类型的问题,并且在只发送一个或两个连续128位传输(或任何三个传输的非倍数)的情况下,使用额外的数据符号支持“后同步信号(post-ambles)”。然而,对于发射器和接收器逻辑实现这类行为更为复杂。
参照图17,放宽的PAM-433编码方法1700接收要通过串行数据总线发送的数据(框1702)。该数据可以是128位;然而,使用放宽的PAM-433编码方法1700可以更有效地传输384位(3个连续的128位突发)。从9个数据通道中选择3个数据通道作为PAM-4数据通道(框1704)。PAM-4数据通道使用4级符号对接收到的数据进行编码。因此,这些数据通道可能有3ΔV切换。为了减小3ΔV切换的影响,所选择的用于PAM-4编码的三个数据通道相互分离。它们可以被分离的以使得每三个数据通道是一个PAM-4数据通道。因此,在采用PAM-4编码的数据通道之间至少存在两个不采用PAM-4编码的数据通道。例如,可以选择第1、第4和第7数据通道作为PAM-4数据通道。或者,可以选择第2、第5和第8数据通道,也可以选择第3、第6和第9数据通道。然后,将9个数据通道中的其余6个数据通道选择为PAM-433数据通道(框1706)。PAM-433数据通道使用多组4级符号和两个3级符号对接收到的数据进行编码。然后,数据在9个数据通道中被划分(框1708)。由于PAM-4比PAM-433更高效,所以每个PAM-4数据通道接收到更多的待传输数据。例如,对于384位的传输,每个PAM-4数据通道接收48位进行编码和传输。每个PAM-433数据通道接收40位进行编码和传输。一种分离方案是将第一、第四和第七数据通道作为PAM-4数据通道。前48位可沿第1数据通道发送,接下来的40位可沿第2数据通道发送,接下来的40位可沿第3数据通道发送,然后对第4-6个数据通道和第7-9个数据通道进行重复。使用选定的方案对数据进行编码(框1710),然后发送(框1712)。
在一些实施例中,放宽的PAM-433编码方法1700可以操作为纯粹的PAM-4通信系统(所有数据通道使用PAM-4通信),直到发生三个电压电平切换(或转换)的阈值数量,或如果编码器确定要发生三个电压电平切换的阈值数量,在这一点上一些数据通道被切换到PAM-433通信。
图18说明了用于142位请求1802和134位请求1804的放宽的PAM-433 1800的其他实施例。142位请求1802包括128位的数据和14位的CRC 1810。CRC 1810是第10数据通道的8个符号中的7个。134位请求1804包括128位的数据和6位的CRC 1812。CRC 1812是第10数据通道的8个符号中的6个。142位请求1802的传输以数据通道使用PAM-433方案的两级符号1806结束;同样,134位请求1804的传输以使用PAM-433方案的数据通道的两级符号1808结束。
两级符号1806和两级符号1808可以使用PAM-4的中间两级(L1/L2),因为在请求边界处,下一个符号是4级符号,其值可以为0ΔV-3ΔV。由于最终的符号使用了中间两级(L1/L2),这导致在请求边界处没有3ΔV切换(最大值为2ΔV)。134位请求1804的CRC 1812只使用PAM-4的两级(例如L1/L3),这使得CRC信息具有更高的可靠性。
放宽的PAM-433 1800提供了高效的128位传输,同时还允许额外的数据用于CRC以检测传输错误。在这种环境下,控制器可以独立地考虑每个128位的传输。在每个请求的末尾添加一个两级的1位符号,可以抑制在两个连续的请求传输之间的任何3ΔV切换。
在GDDR6存储器中,传输CRC数据的“EDC”信号可以在DDR(双数据速率)或更可靠的SDR(单数据速率)模式下运行。通过在每次传输时只发送两个符号(例如L1和L3),携带CRC数据(和2位数据负载)的第10数据通道可以以更可靠的方式运行。这提高了信噪比和可靠性,但将CRC位数从14减少到6。
参照图19,放宽的PAM-433编码方法1900接收要传输的数据(框1902)。所接收的数据可以是142位,包括128个数据位和14位CRC。放宽的PAM-433编码方法1900使用10个数据通道来传输数据。10个数据通道中的4个数据通道被选择为PAM-4数据通道(框1904)。PAM-4数据通道使用4级符号对接收到的数据进行编码。因此,这些数据通道可以有3ΔV切换。为了减小3ΔV切换的影响,选中的用于PAM-4编码的4个数据通道相互分离。它们可以被分离以使得每三个数据通道一个PAM-4数据通道。因此,在采用PAM-4编码的数据通道之间至少存在两个不采用PAM-4编码的数据通道。例如,可以选择第1、第4、第7和第10数据通道,如针对142位请求1802所描述的)。PAM-4数据通道中的一个数据通道被确定为CRC数据通道(框1906)。CRC数据通道将14位CRC作为8个数据符号中的7个,以及将2个数据位作为8个数据符号中的一个来传输。10个数据通道中剩余的6个数据通道被选中用于经修改的PAM-433数据通道(框1908)。经修改的PAM-433数据通道使用两组4级符号和2个3级符号以及一组4级符号和2级符号来对接收到的数据进行编码。然后,数据被分开到10个数据通道中(框1910)。由于PAM-4比经修改的PAM-433效率更高,所以每个PAM-4数据通道接收更多的待传输数据。例如,对于142位传输,每个PAM-4数据通道接收16位来进行编码和传输(CRC数据通道接收14位CRC和两个位数据位)。每个经修改的PAM-433数据通道接收13位来进行编码和传输。一种分离方案是将第1、第4、第7、第10个数据通道作为PAM-4数据通道(第10个为CRC数据通道),将其他数据通道作为经修改的PAM-433数据通道。使用所选方案对数据进行编码(框1912),然后发送(框1914)。
在一些实施例中,放宽的PAM-433编码方法1900可以操作为纯粹的PAM-4系统,直到发生三个电压电平切换(或转换)的阈值数量,或者如果编码器确定要发生三个电压电平切换的阈值数量。
参照图20,放宽的PAM-433编码方法2000接收要传输的数据(框2002)。接收到的数据可以是134位,包括128个数据位和6位CRC。放宽的PAM-433编码方法2000使用10个数据通道来传输数据。所述10个数据通道中的3个数据通道被选中作为PAM-4数据通道(框2004)。PAM-4数据通道使用4级符号来对接收到的数据进行编码。因此,这些数据通道可以有3ΔV切换。为了减小3ΔV切换的影响,所选择的用于PAM-4编码的3个数据通道相互分离。它们可以被分离以使得每三个数据通道一个PAM-4数据通道。因此,在采用PAM-4编码的数据通道之间至少存在两个不采用PAM-4编码的数据通道。例如,可以选择第1、第4和第7个数据通道,如针对134位请求1804所描述的)。然后选择一个数据通道作为CRC数据通道(框2006)。对于每个突发传输8个总位数,CRC数据通道传输8个2级数据符号。CRC数据通道将6位CRC作为8个数据符号中的6个,以及将两个数据位作为8个数据符号中的两个来传输。10个数据通道中剩余的6个数据通道被选中作为经修改的PAM-433数据通道(框2008)。经修改的PAM-433数据通道使用两组4级符号和两个3级符号以及一组4级符号和2级符号来对接收到的数据进行编码。然后,数据被分开到10个数据通道中(框2010)。由于PAM-4比修改后的PAM-433效率更高,所以每个PAM-4数据通道接收更多的待传输数据。例如,对于134位传输,每个PAM-4数据通道接收16位来进行编码和传输。每个经修改的PAM-433数据通道接收13位进行编码和传输。CRC数据通道接收14位CRC和两个数据位来进行传输。一种分离方案是将第1、第4、第7个数据通道作为PAM-4数据通道,将第10个数据通道作为CRC数据通道,并将其他数据通道作为经修改的PAM-433数据通道。使用选定的方案对数据进行编码(框2012),然后发送(框2014)。
在一些实施例中,放宽的PAM-433编码方法2000可以操作为纯粹的PAM-4系统,直到发生三个电压电平切换(或转换)的阈值数目,或者如果编码器确定要发生三个电压电平切换的阈值数目。
图21是计算系统2100的一个实施例的框图,其中可以实现本发明的一个或更多个方面。计算系统2100包括系统数据总线2136、CPU 2126、输入装置2130、系统存储器2104、图形处理系统2102和显示装置2128。在可选的实施例中,可以将CPU 2126、图形处理系统2102的部分、系统数据总线2136或其任意组合集成到单个处理单元中。此外,图形处理系统2102的功能可以包括在芯片组或一些其他类型的专用处理单元或协处理器中。
如图所示,系统数据总线2136连接CPU 2126、输入装置2130、系统存储器2104和图形处理系统2102。在可选的实施例中,系统存储器2104可以直接连接到CPU 2126。CPU 2126接收来自输入装置2130的用户输入,执行存储在系统存储器2104中的编程指令,对存储在系统存储器2104中的数据进行操作,并配置图形处理系统2102以执行图形管线中的特定任务。系统存储器2104通常包括动态随机存取存储器(DRAM),其用于存储CPU 2126和图形处理系统2102处理的编程指令和数据。图形处理系统2102接收由CPU 2126传输的指令,并处理指令以在计算系统2100内部执行各种操作。
如图所示,系统存储器2104包括应用程序2112、API 2118(应用程序编程接口)和图形处理单元驱动程序2122(GPU驱动程序)。应用程序2112生成对API 2118的调用,以产生所需的结果集。例如,应用程序2112还将程序传输给API 2118来执行着色操作、人工智能操作或图形渲染操作。API 2118功能通常可以在图形处理单元驱动程序2122中实现。图形处理单元驱动程序2122配置为将高级着色程序转换为机器代码。
图形处理系统2102包括GPU 2110(图形处理单元)、片上GPU存储器2116、片上GPU数据总线2132、GPU本地存储器2106和GPU数据总线2134。GPU 2110配置为通过片上GPU数据总线2132与片上GPU存储器2116通信,以及通过GPU数据总线2134与GPU本地存储器2106通信。GPU数据总线2134可以使用本文描述的一种或更多种编码技术。
GPU 2110可以接收由CPU 2126传输的指令,并将结果存储在GPU本地存储器2106中。随后,如果指令是图形指令,GPU 2110可以在显示装置2128上显示某些存储在GPU本地存储器2106中的图形图像。
GPU 2110包含一个或更多个逻辑块2114。逻辑块2114的操作可以实现本发明所述编码方案的实施例。逻辑块2114可以作为指令加载到GPU上,也可以作为指令集架构特征在电路中实现,或者二者的结合。
GPU 2110还可以具有任何数量的片上GPU存储器2116和GPU本地存储器2106,包括0个,并可以采用片上GPU存储器2116、GPU本地存储器2106和系统存储器2104以任何组合进行存储器操作。这些存储器和GPU 2110之间的数据/指令总线可以使用本文描述的一种或更多种编码技术。
片上GPU存储器2116配置为包括GPU编程2120和片上缓冲区2124。GPU编程2120可以通过系统数据总线2136从图形处理单元驱动程序2122传输到片上GPU存储器2116。系统数据总线2136可以使用本文描述的一种或更多种编码技术。
举例来说,GPU编程2120可以包括机器代码顶点着色程序、机器代码几何着色程序、机器代码片段着色程序、人工智能程序或者每种程序的任意数量的变体。片上缓冲区2124通常用于存储需要快速访问的数据,以减少此类操作的延迟。
GPU本地存储器2106通常包括较便宜的片外动态随机存取存储器(DRAM),并且也用于存储GPU 2110使用的数据和编程。如图所示,GPU本地存储器2106包含帧缓冲区2108。帧缓冲区2108存储用于驱动显示装置2128的至少一个二维表面的数据。此外,帧缓冲区2108可以包含不止一个二维表面,以便GPU 2110可以渲染到一个二维表面,同时使用第二二维表面驱动显示装置2128。
显示装置2128是能够发出与输入数据信号相对应的可视图像的一个或更多个输出装置。例如,可以使用阴极射线管(CRT)监视器、液晶显示器或任何其他合适的显示系统来构建显示装置。发送到显示装置2128的输入数据信号通常是通过扫描存储在帧缓冲区2108中的图像数据的一个或更多个帧的内容来生成的。
上面描述的特定电压、安培和其他细节仅用于说明目的。本发明可以使用多种具体的电压电平、电流、电阻等来实现。虽然本发明已在例如处理器将数据传输到存储器的上述上下文中描述,但本文描述的PAM-4等信令技术可以在各种各样的信令系统中实践,在这些信令系统中,数据从发送装置发送到接收装置,或在收发装置之间发送等等。
此处使用的术语应符合其在相关技术领域中的普通含义,或在上下文中通过使用它们所指示的含义,但如果提供了明确的定义,则遵守该含义。
本文的“逻辑”是指机器存储器电路、非暂存性机器可读介质和/或电路,通过其材料和/或材料能量配置,包括控制和/或过程信号,和/或设置和值(如电阻、阻抗、电容、电感、电流/电压额定值等),其可用于影响装置运行。诸如控制器、现场可编程门阵列、处理器和包括处理器可执行指令的存储器(易失性和非易失性两者)等之类的电子电路就是逻辑的例子。逻辑特别排除了纯信号或软件本身(但是不排除包括软件的机器存储器,从而形成物质的配置)。
这里描述的各种逻辑功能操作可以用使用反映所述操作或功能的名词或名词短语来指代的逻辑来实现。例如,关联操作可以由“关联器”或“相关器”执行。同样,切换可以由“开关”执行,也可以由“选择器”进行选择,依此类推。
本领域技术人员将领会到,逻辑可以分布在一个或更多个装置或组件中,和/或可以由存储器、介质、处理电路和控制器、其他电路等的组合组成。因此,为了清晰和正确,逻辑可能并不总是在装置和系统的图中清楚地说明,尽管它固有地存在于其中。本文描述的技术和程序可以通过分布在一个或更多个计算装置中的逻辑来实现。根据实现,逻辑的具体分布和选择将会有所不同。
在本公开中,可以将不同的实体(可以不同地称为“单元”、“电路”、其他组件等)描述或声称为“配置”为执行一个或更多个任务或操作。这个公式——[实体]被配置成[执行一个或更多个任务]——在这里用来指代结构(即例如,物理的东西,如电子线路)。更具体地说,这个公式用于指示这个结构被布置为在运行期间执行一个或更多个任务。可以将结构“配置为”执行某些任务,即使该结构当前没有被操作。“信用分配电路配置为将信用分配到多个处理器核”旨在覆盖,例如,集成电路,其具有在操作期间执行该功能的电路,即使讨论中的集成电路当前未被使用(例如未连接电源)。因此,被描述或叙述为“配置为”执行某个任务的实体指的是一些物理的东西,例如装置、电路、存储可执行为实现任务的程序指令的存储器等。这个短语在本文不用于指无形的东西。
术语“配置为”并不意图意味着“可配置为”。例如,未编程的FPGA不会被认为“配置为”执行某些特定功能,尽管它在编程之后可能“可配置为”执行该功能。
在所附的权利要求中的记载结构被“配置为”执行一个或更多个任务明确地不意图为了该权利要求元素调用美国法典第35条第112(f)款。因此,不包括用于[执行功能]的"装置(means)"构造的本申请的权利要求不应根据美国法典第35条第112(f)款予以解释。
如本文所使用的,术语“基于”用于描述影响确定的一个或更多个因素。该术语并不排除其他因素可能影响确定的可能性。也就是说,确定可能仅仅基于指定的因素,或者基于指定的因素以及其他未指定的因素。考虑短语“基于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 (20)
1.一种操作串行数据总线的方法,所述方法包括:
为PAM-4通信配置所述串行数据总线的第一组多个数据通道;
为PAM-433通信配置不在所述第一组中的数据通道,用于所述PAM-4通信的所述数据通道彼此被至少一个用于所述PAM-433通信的所述数据通道相互分离。
2.根据权利要求1所述的方法,进一步包括,对于用于所述PAM-433通信的数据通道中的每个数据通道:
将用于所述数据通道上的通信的一系列数据位划分为多个序列,每个序列包含五位;
将所述数据通道上的每个所述五位序列中的前两位编码为四级符号;以及
将所述数据通道上的每个所述五位序列中的下三位编码为两个三级符号。
3.根据权利要求2所述的方法,其中选择所述两个三级符号以消除所述串行数据总线上四级符号之间最大电压增量的可能性。
4.根据权利要求2所述的方法,进一步包括:
选择性地编码所述串行数据总线上的每个所述五位序列的下三位,条件是每个所述五位序列的前两位在所述串行数据总线所使用的最高符号电压电平或最低符号电压电平下编码为四级符号。
5.根据权利要求2所述的方法,其中所述两个三级符号包括第一三级符号和第二三级符号,所述第一三级符号的电压电平为以下之一:(a)低于所述四级符号的电压电平最多两个电压台阶,或(b)高于所述四级符号的电压电平最多两个电压台阶。
6.根据权利要求2所述的方法,其中所述两个三级符号包括第一三级符号和第二三级符号,并且进一步包括:
所述五位序列包括第一五位序列,用于在所述串行数据总线上通信,以及第二五位序列,用于在所述第一五位序列之后在所述串行数据总线上通信;并且
所述第一五位序列的第二三级符号的电压电平为以下之一:(a)低于所述第二五位序列的所述四级符号的电压电平最多两个电压台阶,或(b)高于所述第二五位序列的所述四级符号的电压电平最多两个电压台阶。
7.根据权利要求1所述的方法,进一步包括,对于用于PAM-433通信的所述数据通道中的每个数据通道:
将用于所述数据通道上的通信的一系列数据位划分为七位序列;
将每个所述七位序列的前四位编码为两个四级符号编码到所述数据通道上;以及
将每个所述七位序列的下三位编码为两个三级符号编码到所述数据通道上。
8.根据权利要求7所述的方法,其中用于PAM-433通信的所述数据通道包括第一数据通道和第二数据通道,所述两个四级符号在所述第一数据通道和所述第二数据通道之间的传输在时间上错开。
9.根据权利要求8所述的方法,其中错开所述两个四级符号在所述第一数据通道和所述第二数据通道之间的传输包括在不同的时钟间隔内,用于所述第一数据通道的两个四级符号的传输与用于所述第二数据通道的两个四级符号的传输不同。
10.根据权利要求7所述的方法,进一步包括:
在所述数据通道上选择性地编码每个所述七位序列的下三位,条件是每个所述七位序列的第二个两位在所述数据通道所使用的最高符号电压电平或最低符号电压电平下编码为四级符号。
11.根据权利要求7所述的方法,其中所述两个三级符号包括第一三级符号和第二三级符号,所述第一三级符号的电压电平为以下之一:(a)低于所述两个四级符号中的第二四级符号的电压电平最多两个电压台阶,或(b)高于所述两个四级符号中的第二四级符号的电压电平最多两个电压台阶。
12.根据权利要求7所述的方法,其中所述两个三级符号包括第一三级符号和第二三级符号,并且进一步包括:
所述七位序列包括第一七位序列和第二七位序列,所述第一七位序列用于在所述数据通道上通信,所述第二七位序列用于在所述第一七位序列在所述数据通道上通信之后在所述数据通道上通信;并且
所述第一七位序列的所述第二三级符号的电压电平为以下之一:(a)低于所述第一七位序列的所述两个四级符号的第二四级符号的电压电平最多两个电压台阶,或(b)高于所述第一七位序列的所述两个四级符号的第二四级符号的电压电平最多两个电压台阶。
13.根据权利要求1所述的方法,进一步包括:
为专用于CRC值的PAM-4通信配置所述串行数据总线的一个数据通道。
14.根据权利要求1所述的方法,进一步包括:
使用包括两个电压电平的符号,为CRC值的通信配置所述串行数据总线的一个数据通道。
15.根据权利要求1所述的方法,进一步包括:
用包括两个电压电平的符号来终止用于PAM-433通信的每个所述数据通道上的数据传输请求。
16.根据权利要求1所述的方法,所述串行数据总线包括九个数据通道。
17.根据权利要求16所述的方法,其中,所述九个数据通道中的三个数据通道被配置用于PAM-4通信,并且所述三个数据通道中的每个数据通道彼此被配置用于PAM-433通信的两个数据通道相互分离。
18.根据权利要求1所述的方法,所述串行数据总线包括十个数据通道。
19.根据权利要求18所述的方法,其中,所述十个数据通道中的四个数据通道被配置用于PAM-4通信,并且所述四个数据通道中的每个数据通道被配置用于PAM-433通信的两个数据通道相互分离。
20.根据权利要求19所述的方法,其中,被配置用于PAM-4通信的所述四个数据通道之一是专用的CRC数据通道。
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,595 | 2019-03-07 | ||
US16/295,595 US10657094B2 (en) | 2018-03-29 | 2019-03-07 | Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321314A true CN110321314A (zh) | 2019-10-11 |
CN110321314B CN110321314B (zh) | 2023-11-28 |
Family
ID=67909849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910245069.3A Active CN110321314B (zh) | 2018-03-29 | 2019-03-28 | 用于降低pam-4数据总线上的耦合噪声和功率噪声的放宽的433编码 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10657094B2 (zh) |
CN (1) | CN110321314B (zh) |
DE (1) | DE102019107670B4 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11966348B2 (en) | 2019-01-28 | 2024-04-23 | Nvidia Corp. | Reducing coupling and power noise on PAM-4 I/O interface |
KR20210149543A (ko) * | 2020-06-02 | 2021-12-09 | 삼성전자주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
US11656958B2 (en) | 2021-04-29 | 2023-05-23 | Mellanox Technologies, Ltd. | Redundancy data bus inversion sharing |
US11942968B2 (en) * | 2022-04-25 | 2024-03-26 | Samsung Electronics Co., Ltd. | Transmitter and receiver for 3-level pulse amplitude modulation signaling and system including the same |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050099325A1 (en) * | 2003-11-10 | 2005-05-12 | Anthony Bessios | Technique for improving the quality of digital signals in a multi-level signaling system |
US7795915B2 (en) * | 2008-08-04 | 2010-09-14 | Chil Semiconductor Corporation | Multi-level signaling |
US20160080192A1 (en) * | 2013-04-30 | 2016-03-17 | Sony Corporation | Coding and modulation apparatus using non-uniform constellation |
CN105960786A (zh) * | 2014-02-07 | 2016-09-21 | 高通股份有限公司 | 用于经划分的数据总线的编码 |
US20160373557A1 (en) * | 2015-06-17 | 2016-12-22 | Silicon Graphics International Corp. | Method and System for High Speed Data Links |
Family Cites Families (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4742349A (en) | 1986-05-22 | 1988-05-03 | Chrysler Motors Corporation | Method for buffered serial peripheral interface (SPI) in a serial data bus |
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 |
US5572736A (en) | 1995-03-31 | 1996-11-05 | International Business Machines Corporation | Method and apparatus for reducing bus noise and power consumption |
US6604120B1 (en) | 1997-09-04 | 2003-08-05 | Cirrus Logic, Inc. | Multiplier power saving design |
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 |
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 |
US7149955B1 (en) | 2001-03-07 | 2006-12-12 | Marvell International Ltd. | Encoding and decoding apparatus and method with hamming weight enhancement |
US7248640B2 (en) | 2001-08-17 | 2007-07-24 | Synopsys, Inc. | System and method for providing slicer level adaption |
US7260155B2 (en) | 2001-08-17 | 2007-08-21 | Synopsys, Inc. | Method and apparatus for encoding and decoding digital communications data |
ES2334934T3 (es) | 2002-09-04 | 2010-03-17 | Microsoft Corporation | Codificacion de entropia por adaptacion de codificacion entre modalidades de nivel y de longitud de sucesion y 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 |
US7135996B1 (en) | 2004-11-04 | 2006-11-14 | Marvell International Ltd. | Multispeed communications device |
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 |
US7769048B2 (en) | 2008-06-25 | 2010-08-03 | Intel Corporation | Link and lane level packetization scheme of encoding in serial links |
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 |
EP2526492B1 (en) | 2010-01-20 | 2016-01-06 | 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 |
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 | 삼성전자주식회사 | 다항식 연산을 위한 부분적 발생 장치 및 방법 |
US9564990B1 (en) | 2012-10-16 | 2017-02-07 | Inphi Corporation | Pulse amplitude modulation (PAM) data communication with forward error correction |
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 |
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 |
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 |
US9231704B1 (en) * | 2014-05-12 | 2016-01-05 | Google Inc. | Electrical mitigation of DML nonlinearity for high-speed optical interconnection |
US9252997B1 (en) | 2014-07-10 | 2016-02-02 | Qualcomm Incorporated | Data link power reduction technique using bipolar pulse amplitude modulation |
US9184906B1 (en) | 2014-09-22 | 2015-11-10 | Oracle International Corporation | Configurable pulse amplitude modulation clock data recovery |
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 | 华为技术有限公司 | 数据处理方法和数据处理装置 |
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 |
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 |
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 |
-
2019
- 2019-03-07 US US16/295,595 patent/US10657094B2/en active Active
- 2019-03-26 DE DE102019107670.6A patent/DE102019107670B4/de active Active
- 2019-03-28 CN CN201910245069.3A patent/CN110321314B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050099325A1 (en) * | 2003-11-10 | 2005-05-12 | Anthony Bessios | Technique for improving the quality of digital signals in a multi-level signaling system |
US7795915B2 (en) * | 2008-08-04 | 2010-09-14 | Chil Semiconductor Corporation | Multi-level signaling |
US20160080192A1 (en) * | 2013-04-30 | 2016-03-17 | Sony Corporation | Coding and modulation apparatus using non-uniform constellation |
CN105960786A (zh) * | 2014-02-07 | 2016-09-21 | 高通股份有限公司 | 用于经划分的数据总线的编码 |
US20160373557A1 (en) * | 2015-06-17 | 2016-12-22 | Silicon Graphics International Corp. | Method and System for High Speed Data Links |
Also Published As
Publication number | Publication date |
---|---|
US20190303339A1 (en) | 2019-10-03 |
DE102019107670A1 (de) | 2019-10-02 |
CN110321314B (zh) | 2023-11-28 |
DE102019107670B4 (de) | 2022-01-20 |
US10657094B2 (en) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321314A (zh) | 用于降低pam-4数据总线上的耦合噪声和功率噪声的放宽的433编码 | |
CN110321315A (zh) | 关于脉冲幅度调制的数据总线反转以及减少pam-4 i/o上的耦合噪声和功率噪声 | |
US10599606B2 (en) | 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses | |
CN108475520A (zh) | 编码及解码多层级通信架构的信号线的设备及方法 | |
CN105960786B (zh) | 用于经划分的数据总线的编码 | |
US10491435B2 (en) | Unrelaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses | |
KR101251100B1 (ko) | 별도의 순환 중복 코드 프레임들을 이용하는 효율적인 대역내 신뢰도 | |
CN108141400A (zh) | N相快速总线周转 | |
US11966348B2 (en) | Reducing coupling and power noise on PAM-4 I/O interface | |
CN103370879A (zh) | 使用共模抑制和sso恢复的功率和引脚高效的芯片到芯片通信 | |
CN107665723A (zh) | 用于非易失性存储器的非二进制编码 | |
US20080168215A1 (en) | Storing Information in a Memory | |
CN110321312A (zh) | 降低pam-4 i/o接口上的耦合噪声和功率噪声 | |
EP4057516B1 (en) | Encoding apparatuses for implementing multi-mode coding | |
CN108628698A (zh) | 计算crc编码的方法和装置 | |
WO2019114450A1 (zh) | 一种数据边沿的跳变方法 | |
CN101820289A (zh) | 一种用于空间环境的弹性交换装置 | |
US20230060813A1 (en) | Data Masking for Pulse Amplitude Modulation | |
KR20220140234A (ko) | 멀티 레벨 신호 시스템에서 최적 전이 코드를 생성하기 위한 신호 처리 방법 및 반도체 장치 | |
KR20050044156A (ko) | 이동통신시스템에서 싱글 메모리를 사용하여 인터리버를구현하는 장치 및 방법 |
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 |