CN110321312A - Reduce the coupled noise and power noise on PAM-4 I/O interface - Google Patents
Reduce the coupled noise and power noise on PAM-4 I/O interface Download PDFInfo
- Publication number
- CN110321312A CN110321312A CN201910242543.7A CN201910242543A CN110321312A CN 110321312 A CN110321312 A CN 110321312A CN 201910242543 A CN201910242543 A CN 201910242543A CN 110321312 A CN110321312 A CN 110321312A
- Authority
- CN
- China
- Prior art keywords
- level
- symbol
- voltage
- serial data
- data bus
- 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 21
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000005611 electricity Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000015654 memory Effects 0.000 description 29
- 230000006870 function Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000004891 communication 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
- 230000008859 change Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001269238 Data Species 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
- 239000003990 capacitor Substances 0.000 description 1
- 238000010276 construction 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
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 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
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Dc Digital Transmission (AREA)
Abstract
Disclosed herein is the technologies of the coupled noise and power noise that reduce on PAM-4 I/O interface, the method for specifically disclosing operation serial data bus, volume of data position is divided into one or more sequences, and by sequential coding be N grades of symbols, then transmitted in multiple discrete voltage levels.These methods can be used to communicate on serial data line, to improve bandwidth, and reduce crosstalk and other noise sources.
Description
Background technique
Modern high throughput systems in computing unit, memory device and are deposited using multiple high bandwidth input/output interfaces
Signaling network is formed between storage device.For example, multiple peripheral units are connected to centre by peripheral component interconnection high speed (PCI-E)
Manage unit (CPU) and graphics processing unit (GPU).These interfaces may include that multiple serial datas for running in high frequency are total
Line.
Pulse amplitude modulation (PAM) can be used for multi-channel serial data/address bus, with by by data encoding be different electricity
Voltage level carrys out the multiple data bit of simultaneous transmission.Here " channel " refers to the solid wire of serial data bus." data burst
(data burst) " refers to be placed in the data channel of serial data bus with identical bus clock interval (i.e. parallel)
Position.
One example of PAM communication is PAM-4.In each bus clock interim, PAM-4 is in serial data bus
Two bits (00,01,10,11) are encoded to one of four different voltages level (symbol) in each data channel.Due to
Two are encoded into each bus clock interval in each data channel, thus on serial data bus with comparable
Traditional second level (for example, PAM-2) signaling of Bus Clock Rate operation is compared, and PAM-4 may be implemented two in the ideal case
Bandwidth again.PAM-4 symbol uses four kinds of different voltage levels, therefore, compared with PAM-2, in PAM-4 between value of symbol
Voltage level difference is smaller.This makes PAM-4 communicate the influence for the effect that is easier to be interfered, such as counts on serial data bus
According to the coupled noise and power supply noise between channel, which reduce signal-to-noise ratio (SNR).
A kind of mechanism for mitigating these influence of noises is to utilize data bus inversion (DBI).For given data burst,
DBI passes through the polarity that the position on serial data bus in each data burst is intelligently arranged, by the data of serial data bus
The total size of voltage level conversion on channel reduces up to half.The metadata position that DBI needs each data burst additional
Data burst polarity setting (non-return data burst or reverse data burst) is transferred to receiver.This metadata position is logical
It is transmitted in the separated additional lines of the data channel (usual each data channel is also a line) of Chang Yu serial data bus.
Many serial data bus only include the individual data channel between transmitters and receivers.Therefore, addition is additional
Metadata route can cause in the number of, lines needed for serial data bus generate up to 100% expense.
The brief description of several views in attached drawing
For the ease of identifying discussion to any element-specific or movement, one of most significant bit or more in Ref. No.
Multiple numbers refer to the figure number for introducing the element for the first time.
Fig. 1 instantiates the data communication system 100 according to one embodiment.
Fig. 2 instantiates the embodiment of PAM-4 transceiver 200.
Fig. 3 instantiates an embodiment of conventional PAM-4 data channel voltage waveform 300.
Fig. 4 instantiates the PAM-433 encoder 400 according to one embodiment.
Fig. 5 instantiates an embodiment of PAM-433 data channel voltage waveform 500.
Fig. 6 instantiates an embodiment of data channel voltage waveform 600.
Fig. 7 instantiates an embodiment of data channel voltage waveform 700.
Fig. 8 instantiates an embodiment of data channel voltage waveform 800.
Fig. 9 instantiates an embodiment of data channel voltage waveform 900.
Figure 10 instantiates an embodiment of PAM-433 routine 1000.
Figure 11 instantiates an embodiment of PAM-N routine 1100.
Figure 12 instantiates an embodiment of PAM-4433 coding 1200.
Figure 13 instantiates an embodiment of PAM-4433 routine 1300.
Figure 14 instantiates an embodiment of variable PAM-433 coding 1400.
Figure 15 instantiates an embodiment of variable PAM-433 routine 1500.
Figure 16 be include GPU computing system 1600 block diagram, aspect of the invention can be effected or carried out wherein.
Detailed description
Referring to Fig.1, the sending device of data communication system 100 including such as data processor 102 etc, at the data
Managing device 102 includes processing core 114, PAM-4 symbol encoder 104 and PAM-4 transmitter 108.In some embodiments, data
Processor 102 may include graphics processing unit (GPU), central processing unit (CPU), system on chip (SoC) or other many institutes
Known data processing equipment.
Data processor 102 in such as bus of memory bus 118 etc with the reception of such as memory 112 etc
Device communication.PAM-4 receiver 110 and PAM-4 symbol decoder 106 are received and are handled in memory bus 118 from data
Processor 102 is transmitted to the PAM-4 signal of memory 112.
Data processor 102 using internal data bus 116 come by multi-channel internal data/address bus 116 to processing core
114 transmit and transmit data burst from processing core 114.PAM-4 symbol encoder 104 receives the number to be encoded from processing core 114
PAM-4 coding is executed according to burst, and to the data burst.PAM-4 transmitter 108 passes through memory bus 118 for the number of coding
PAM-4 receiver 110 is sent to according to burst.PAM-4 receiver 110 receives the data burst of coding, and the data of coding are dashed forward
PAM-4 symbol decoder 106 is sent to be decoded to the data burst.Once decoding, data burst, which is sent to, to be deposited
Reservoir 112.
This is simplified flow chart.In practice, usually there are encoder and decoding at the both ends of memory bus 118
Device, for reading and writing memory 112 from memory 112.
Fig. 2 instantiates the PAM-4 transceiver for the individual data channel of serial data bus in one embodiment
200.The PAM-4 transceiver 200 includes least significant bit transmitter 202, most significant bit transmitter 204,206 and of receiver
Data channel 208.PAM-4 transceiver 200 is using least significant bit transmitter 202 and most significant bit transmitter 204 in data
Level Four symbol is generated on channel 208.Here term " symbol " refers to by line driver in serial data bus data channel
The voltage level of generation, wherein voltage level indicates the value of one or more data bit.Therefore, " coded identification " means object
The line drive circuit of reason ground configuration serial data bus, by the voltage driving in data channel to particular value.
For example, least significant bit transmitter 202 and highest have if the two bits being encoded into symbol are (1,1)
The output of effect position transmitter 204 is combined to generate the voltage of such as 1.2V in data channel 208, and due to receiver
The Rt that pulls up transistor (both ends of data channel 208 are on same potential) on 206, the electric current in data channel 208 are for example
0mA.If two data being encoded in symbol are (1,0), least significant bit transmitter 202 and most significant bit are sent
The output of device 204 is combined to generate the voltage of for example, 1.0V, and the electricity in data channel 208 in data channel 208
Stream is such as 5mA.If two data being encoded in symbol are (0,1), least significant bit transmitter 202 and highest have
The output of effect position transmitter 204 is combined to generate the voltage of for example, 0.8V, and data channel in data channel 208
Electric current on 208 is such as 10mA.If two data being encoded in symbol are (0,0), least significant bit transmitter
202 and most significant bit transmitter 204 output be combined in data channel 208 generate for example, 0.6V voltage, and
And the electric current in data channel 208 is such as 15mA.0.6V is properly termed as transmitting voltage V substantially hereinb, other symbol voltages
Level can transmit voltage substantially from this and carry out increment.
Therefore, current drain of the value of symbol in data channel corresponding to the data channel during data burst.Therefore, may be used
To assign a weighting to the value of symbol for reflecting their current flow consuming costs.For example, can be to the symbol for position to (1,1)
Distribute weight 0;Weight 1 can be distributed to for symbol of the position to (1,0);Power can be distributed to for symbol of the position to (0,1)
Weigh 2;Weight 3 can be distributed to for symbol of the position to (0,0).
In this example, one can be assigned using the data burst on 8 channel serial data/address bus of PAM-4 coding
Total weight, for range from 0 to 24, this is equivalent to the current drain range for example from 0 to 120mA.If all in data burst
Symbol all encodes position to (1,1), then total weight of data burst is 0;If all symbols in data burst all encode
Position is to (0,0), then total weight of data burst is 24.The data burst all formed by 0 consumes most electric currents, therefore from function
It is most expensive from the perspective of consumption.
With reference to Fig. 3, conventional PAM-4 data channel voltage waveform 300, which passes through, utilizes all 4 grades of symbols, between each clock
It is interposed between 2 data of coding in data channel.One 12 type sequences are 110001100011.This sequence can be used as one
Serial level Four symbol transmission, two positions of each symbolic coding.For bit sequence 110001100011, position 11 is encoded into the first string
Row data bus clock interval t0-t1;Lower two 00 are encoded into the second serial data bus clock interval t1-t2;Etc..This
Cause on serial data bus from t0-t1 and from 23 Δ V voltage level changes of t4-t5.
Symbol n Δ V is referred between clock interval in the data channel of serial data bus apart from reference voltage VbN- increase
Measure voltage change.For example, different symbols has the interval of 0.2V, reference voltage V referring again to Fig. 2bFor 0.6V, the change of 3 Δ V
The incremental voltage of 3 × 0.2V or 0.6V in the data channel between bus clock cycle will be corresponded to by changing.
Higher voltage increment can generate more noises, because they will lead to higher current wave in data channel
It is dynamic.Therefore in Fig. 3,3 Δ V increments between bus clock interval t0 and t1 and between t4 and t5 may be generated significantly
Noise.Reduce the signal-to-noise ratio that this maximum incremental voltage activity helps to improve the PAM-4 system such as PAM-4 transceiver 200.
The logical table of PAM-433 encoder 400 in one embodiment is as shown in Figure 4.For example discussed above position
Sequence 110001100011, PAM-433 encoder 400 eliminate the variation of 3 Δ V voltage levels on serial data bus.Such as patrol
It collects shown in table, (wherein x is 0 or 1 " don't care when between two 2 bit sequences that three bit sequences 000 are located at list 1x
(paying no attention to) " value), three bit sequences 000 are encoded as four 0111 (referring to the first row of logical table, third column).In other words,
When three bit sequences 000 bridge two 2 bit sequences, wherein each 2 bit sequence has most significant bit collection (1x), 7 total positions
It is recoded to 1x01111x.In the above example, wherein 7 total positions are 1100011, the sequence recompiled is
11011111.Then each of the sequence 2 are transmitted in the data channel of serial data bus to as PAM-4 symbol,
Obtain PAM-433 data channel voltage waveform 500 in Fig. 5.To sacrifice a serial data bus clock cycle as cost, use
DBI line eliminates the variation of 3 Δ V voltage levels in sequence 110001100011.In other words, it is assumed that the position of a random distribution
Sequence, compared with for every serial data bus clock interval 2.0 of traditional PAM-4, effective message transmission rate is flat
16.7% is reduced, 1.67 Bits Serial data/address bus clock intervals are reduced to.
Compared with conventional PAM-4 encoder, PAM-433 encoder 400 is not needing the case where transmitting any metadata
Under, the worst case for carrying out voltage level switching on the data line can reduce by 33%.PAM-433 encoder 400 will be in data
The bit sequence transmitted on channel is divided into five-digit number according to sequence: first 2 of every five, which are encoded into one, has 4 possible voltages
The symbol of level, last three of five are encoded into 2 symbols, and each symbol has 3 possible voltage levels.
In general, above-mentioned mechanism can be applied to PAM-N (symbol utilizes N number of possible discrete voltage levels).For example,
PAM-866 scheme can transmit three data symbols when transmitting first time, transmit five-digit number in next transmission twice
According to symbol (transmission 2.67 every time, 11.1% expense).PAM-866, which can switch maximum voltage from 7 Δ V (PAM-8), to drop
As low as 5 Δ V (reducing by 28.5%).Furthermore, it is possible to which the mechanism to be expanded to data symbol (such as the PAM- of any other combination
WXYZ), to obtain better reliability using the mechanism similar to PAM-433.
Fig. 6 to Fig. 9 is described each data channel voltage waveform when being encoded using PAM-433.It describes for according to channel
Transmit four kinds of data channel voltage waveforms of a variety of different bit patterns: data channel voltage waveform 600, data channel voltage wave
Shape 700, data channel voltage waveform 800 and data channel voltage waveform 900.
For Fig. 6 and data channel waveform shown in Fig. 7, the first three-level symbol 604 and the second three-level symbol 606 are used as
" bridge 610 " between the first level Four symbol 602 and the second level Four symbol 608 with identical most significant bit (MSB).Meet this
The example of kind mode is level Four symbol pair, such as: 11 (3 Δ V)/10 (2 Δ V) (Fig. 6) and 01 (1 Δ V)/00 (0 Δ V) (Fig. 7).
The voltage window of first three-level symbol 604 and the second three-level symbol 606 is snapped to the first level Four symbol 602 by PAM-433 coding
With the voltage level of the first three-level symbol 604, in this way, the maximum voltage increment in data channel voltage waveform is 2 Δs
V。
For Fig. 8 and data channel waveform shown in Fig. 9, the first three-level symbol 604 and the second three-level symbol 606 are used as
Bridge 610 between the first level Four symbol 602 and the second level Four symbol 608 with different MSB.In such a scenario, first
There may be a 3 Δ V voltage increments between three-level symbol 604 and the second three-level symbol 606.However, PAM-433 encoder
400 do not map the value that will lead to that this thing happens in logical table.PAM-433 encoder 400 is from prominent without using will lead to three-level
The symbol of 3 Δ V voltage increments between hair, so that the maximum voltage increment in data channel waveform be made to be maintained at 2 Δ V.
Referring to Fig.1 0, PAM-433 routine 1000 in one embodiment is by the volume of data on serial data bus
Position is divided into multiple sequences, and each sequence includes five (frame 1002).Next, PAM-433 routine 1000 is by each five sequences
The front two of column is encoded to 4 grades of symbols (frame 1004).Then, PAM-433 routine 1000 compiles lower three of each five bit sequence
Code is two three-level symbols (frame 1006).PAM-433 routine 1000 may be operative to the one or more of serial data bus
Symbol in a data channel is encoded.
In some embodiments, the two three-level symbols include the first three-level symbol and the second three-level symbol.PAM-433
Journey 1000 operates serial data bus, the voltage level coding of the first three-level symbol is one of the following: (a) lower than the level Four
Most two voltage steps of the voltage level of symbol, or (b) higher than most two voltage steps of voltage level of the level Four symbol.
Five bit sequence can also include the one or five bit sequence transmitted on the serial data bus, and at the one or five
The two or five bit sequence that sequence is transmitted later on the serial data bus.Then, PAM-433 routine 1000 can operate string
Row data/address bus is the voltage level of the second three-level symbol of the one or five bit sequence coding to be one of the following: (a) the two or five
Most two voltage steps below the voltage level of the level Four symbol of bit sequence, or (b) in the level Four symbol of the two or five bit sequence
Voltage level more than at most two voltage steps.
With reference to Figure 11, volume of data position is divided into several sequences, these positions by more general PAM-N routine 1100
Number N (frame 1102) of the number based on voltage level.If next, PAM-N routine 1100 will be before each several bit sequences
Dry position is encoded to N grades of bursts, and the first bits number is the logarithm (frame 1104) for being bottom N with 2.Then, PAM-N routine 1100 will be each
Several positions are encoded to two M grades of bursts under several bit sequences, under several positions be that log2 [(N^2)/2] and M are equal to apply
In the integer (frame 1106) of the subduplicate flow in upper plenum (ceiling function) of [(N^2)/2].PAM-N routine 1100
It may be operative to carry out data communication by serial data bus.
Referring to Fig.1 2, instantiate the embodiment of PAM-4433 coding 1200.1200 operation serial data of PAM-4433 coding
Bus, to use the first level Four symbol 1202, the second level Four symbol 1204, the first three-level symbol 1206 and the second three-level symbol
1208 sequence encodes and transmits seven bit data words.Therefore, it is possible between two level Four symbols in particular data channels
There are 3 Δ V voltage increments, such as the first level Four symbol 1202 and the second level Four symbol 1204.However, as shown in figure 12,3 Δ of current potential
V voltage increment may interlock across multiple data channel, which reduce in any specific data burst (in a clock interval phase
Between by serial data bus send all positions) maximum voltage increment.Multiple 3 Δ V voltage increments do not appear in same
In data burst, which reduce crosstalks and other noise sources.PAM-4433 coding 1200 has 12.5% bandwidth cost (each
Transmission 1.75), and there are maximum average 2.25 Δ V maximum voltage increments in this example (certainly in four data channel
The data channel of other quantity can be used in other embodiments).
One embodiment of 3, PAM-4433 routine 1300 will be uploaded in the data channel of serial data bus referring to Fig.1
Defeated volume of data position is divided into seven bit sequences (frame 1302).Next, PAM-4433 routine 1300 is by each seven bit sequence
First four be encoded to two level Four symbols (frame 1304).Then, PAM-4433 routine 1300 is by lower the three of each seven bit sequence
Position is encoded to two three-level symbols (frame 1306).This is repeated in multiple data channel of serial data bus, then, level Four symbol
Conversion between number can interlock in time across data channel and (be aligned on different serial data bus clock intervals).
Referring to Fig.1 4, if current sign corresponds to the data channel voltage of 0 Δ V or 3 Δ V, in one embodiment,
Variable PAM-433 coding 1400 will activation PAM-433 coding.This is referred to as " the trigger data for activating PAM-433 coding
1402".When encountering trigger data 1402, three-level symbol bridge 1404 appropriate is used after trigger data.Otherwise, if do not had
Have and encounter trigger data, variable PAM-433 coding 1400 encodes (all symbols are all level Four) using conventional PAM-4.It can
The PAM-433 coding 1400 of change leads to the maximum voltage increment of 2 Δ V in serial data bus data channel voltage waveform.
With reference to Figure 15, variable PAM-433 routine 1500 determines that the front two of five bit sequences is encoded to total with serial data
The corresponding level Four symbol (frame 1502) of the highest voltage level or lowest voltage level used in the data channel of line.In other words
It says, encounters trigger data.In response to encountering trigger data, variable PAM-433 routine 1500 is by lower three in five bit sequences
Position is encoded to two three-level symbols (frame 1504).
Figure 16 is the block diagram of one embodiment of computing system 1600, wherein may be implemented of the invention one or more
Aspect.Computing system 1600 includes system data bus 1636, CPU 1626, input unit 1630, system storage 1604, figure
Shape processing system 1602 and display device 1628.It in an alternate embodiment of the invention, can be by CPU 1626, graphic system 1602
Part, system data bus 1636 or any combination thereof is integrated into single processing unit.In addition, graphic system 1602
Function may include in chipset or the specialized processing units or coprocessor of some other types.
As shown, system data bus 1636 connects CPU 1626, input unit 1630, system storage 1604 and figure
Shape processing system 1602.In an alternate embodiment of the invention, system storage 1604 can be directly connected to CPU 1626.CPU 1626
User's input from input unit 1630 is received, the programming instruction that is stored in system storage 1604 is executed, to being stored in
Data in system storage 1604 are operated, and by configuration graphic system 1602 to execute the spy in graphics pipeline
Determine task.System storage 1604 generally includes dynamic random access memory (DRAM), is used to store CPU 1626 and figure
The programming instruction and data of the processing of shape processing system 1602.Graphic system 1602 receives the instruction transmitted by CPU 1626,
And process instruction inside computing system 1600 to execute various operations.
As shown, system storage 1604 include application program 1612, API 1618 (application programming interface) and
Graphics processing unit driver 1622 (GPU driver).Application program 1612 generates the calling to API 1618, to generate
Required result set.For example, program transportation is also executed shading operations to API 1618 by application program 1612, artificial intelligence is grasped
Work or graphical rendering operations.1618 function of API can usually be realized in graphics processing unit driver 1622.At figure
Reason unit driver 1622 is configured to advanced coloring process being converted to machine code.
Graphic system 1602 includes GPU 1610 (graphics processing unit), on piece GPU memory 1616, on piece GPU
Data/address bus 1632, GPU local memory 1606 and GPU data/address bus 1634.GPU 1610 is configured to through on piece GPU data
Bus 1632 is communicated on piece GPU memory 1616, and logical by GPU data/address bus 1634 and GPU local memory 1606
Letter.One or more of coding techniques described herein can be used in GPU data/address bus 1634.
GPU 1610 can receive the instruction transmitted by CPU 1626, and store the result into GPU local memory 1606
In.Then, if instruction is graphics command, GPU 1610 can be shown in display device 1628 certain is stored in the local GPU
Graph image in memory 1606.
GPU 1610 includes one or more logical blocks 1614.The operation of logical block 1614 may be implemented of the present invention
The embodiment of encoding scheme.Logical block 1614 can be used as instruction and be loaded on GPU, can also be used as instruction set architecture feature and exists
It is realized in circuit or the combination of the two.
GPU 1610 can also have any amount of on piece GPU memory 1616 and GPU local memory 1606, including
0, and can use on piece GPU memory 1616, GPU local memory 1606 and system storage 1604 with any combination into
Line storage operation.Data/commands bus between these memories and GPU 1610 can be used it is described herein a kind of or
More kinds of coding techniques.
On piece GPU memory 1616 is configured to include GPU programming 1620 and on piece buffer area 1624.GPU programming 1620 can
To be transferred on piece GPU memory 1616 from graphics processing unit driver 1622 by system data bus 1636.System
One or more of coding techniques described herein can be used in data/address bus 1636.
For example, GPU programming 1620 may include machine code vertex shading program, machine code geometry coloring journey
Sequence, machine code fragment shader program, artificial intelligence program or every kind of program any number of variant.On piece buffer area
1624 data for needing quickly to access commonly used in storage, to reduce the delay of this generic operation.
GPU local memory 1606 generally includes the outer dynamic random access memory (DRAM) of relatively inexpensive piece, and
For storing the data and programming that GPU 1610 is used.As shown, GPU local memory 1606 includes frame buffer zone 1608.
Frame buffer zone 1608 stores the data for driving at least one two-dimensional surface of display device 1628.In addition, frame buffer zone
1608 may include more than one two-dimensional surface, so that GPU 1610 can be rendered into a two-dimensional surface, while use second
Two-dimensional surface drives display device 1628.
Display device 1628 is can issue visual image corresponding with input data signal one or more defeated
Device out.It is, for example, possible to use cathode-ray tube (CRT) monitor, liquid crystal display or any other suitable display systems
To construct display device.The input data signal for being sent to display device 1628 is usually to pass through scanning to be stored in frame buffer zone
The contents of one or more frames of image data in 1608 generates.
Specific voltage, ampere and other details described above are for illustration purposes only.A variety of tools can be used in the present invention
Voltage level, electric current, resistance of body etc. are realized.Although the present invention transfers data to the upper of memory in such as processor
Described in the text up and down is stated, but the signaling technologies such as PAM-4 described herein can be practiced in various signaling systems, at this
In a little signaling systems, data are sent to reception device from sending device, or transmission etc. between R-T unit.
Term used herein should meet its ordinary meaning in the related technical field, or within a context by using
Meaning indicated by them then abides by the meaning but if providing specific definition.
" logic " of this paper refers to machine memory circuit, non-temporality machine readable media and/or circuit, passes through its material
Material and/or material energy configuration, including control and/or process signal, and/or setting and value (such as resistance, impedance, capacitor, electricity
Sense, current/voltage rated value etc.), it can be used for influencing device operation.Such as controller, field programmable gate array, processor
Electronic circuit with the memory (both volatile and non-volatiles) or the like for including processor-executable instruction is exactly logic
Example.Logic be particularly intended to exclude pure signal or software itself (but be not excluded for include software machine memory, to be formed
The configuration of substance).
Various logic feature operation described herein can be short with the noun or noun using the reflection operation or function
Language is realized the logic that refers to.For example, operation associated can be executed by " correlator " or " correlator ".Equally, switching can be with
It is executed, can also be selected by " selector " by " switch ", and so on.
Skilled artisans will appreciate that arriving, logic can be distributed in one or more devices or component, and/or can
It is combined into the group by memory, medium, processing circuit and controller, other circuits etc..Therefore, for clarity and correctly, patrol
Collecting may be not always to clearly demonstrate in the figure of device and system, although it is inherently present in wherein.It is described herein
Technology and program can be realized by the logic being distributed in one or more computing devices.According to realization, the tool of logic
Body distribution and selection will will be different.
In the disclosure, different entities (can be referred to variously as " unit ", " circuit ", other assemblies etc.) can be retouched
State or claim as " configuration " to be to execute one or more tasks or operation.This formula --- [entity] is configured to [execute
One or more tasks] --- it is used herein refer to for structure (i.e. for example, thing of physics, such as electronic circuit).More specifically
Say that this formula is used to indicate this structure and is arranged to execute one or more tasks during operation in ground.It can will tie
Structure " being configured to " executes certain tasks, even if the structure is currently without being operated." credit assignment circuit configuration is by credit assignment
To multiple processor cores " it is intended to cover, for example, integrated circuit, has the circuit for executing the function during operation, even if begging for
Integrated circuit in is currently not used by (such as not connected power supply).Therefore, it is described or is stated as " being configured to " and execute certain
The entity of a task refers to the thing of some physics, such as device, circuit, storage can be performed as the program instruction of realization task
Memory etc..This phrase is not used in herein refers to invisible thing.
Term " being configured to " is not intended to mean " can be configured to ".For example, unprogrammed FPGA is not to be regarded as " configuration
For " certain specific functions are executed, although possible " can be configured to " executes the function after programming for it.
With the executing one or more task-awares unawareness of record structure " being configured to " in the appended claims
Figure calls 35 article of the 112nd (f) money of United States Code No. for the claim element.It therefore, does not include for [executing function] "
" claims hereof of construction should not make an explanation device (means) according to 35 article of the 112nd (f) money of United States Code No..
As it is used herein, term "based" is used to describe to influence determining one or more factors.The term is simultaneously
A possibility that determining may be influenced by being not excluded for other factors.That is, determination may be based only on specified factor, Huo Zheji
In specified factor and other unspecified factors.Consider phrase " A is determined based on B ".It is for determining that this phrase, which specifies B,
A factor of A, or influence a factor of the determination of A.This phrase be not excluded for A determination may also based on it is some its
His factor, such as C.This phrase is also intended to covering and is based only upon the embodiment that B determines A.As it is used herein, phrase " being based on " with
Phrase " being at least partially based on " is synonym.
As it is used herein, phrase " in response to " describes one or more factors of triggering effect.This phrase
A possibility that other factors may influence or trigger this effect is not precluded.That is, an effect may be only pair
The response of these factors, or may be the response to prescription factors and other not specified factors.Consider phrase " in response to B
Execute A ".It is the factor for triggering A and executing that this phrase, which specifies B,.This phrase be not precluded may also in response to it is some its
He is factor (such as C) Lai Zhihang A.This phrase alsos attempt to covering and is only in response to B to execute the embodiment of A.
As it is used herein, term " first ", " second " etc. are used as the label before noun, it is unless otherwise stated, no
Any kind of sequence (for example, space, time, logic etc.) is not implied that then.For example, there is the register of 8 registers at one
In file, term " the first register " and " the second register " can be used to refer to any two in 8 registers of generation, and not only
It is only such as logic register 0 and 1.
When in detail in the claims use term "or" when, "or" be used as inclusive or, rather than it is exclusive or.
For example, phrase " at least one of x, y or z " indicates any one of x, y and z and any combination thereof.
Claims (18)
1. a kind of method for encoding volume of data position, comprising:
Volume of data position is divided into several sequences, the number of position is based on the voltage level used in PAM-N symbol
Number N;
The position of first number of each sequence is encoded to N grades of symbols, the position of first number is the N for being bottom with 2
Logarithm;
The position of next number of each sequence is encoded to two M grades of symbols, the position of next number is log2 [(N2)/
2], and M is equal to be applied to [(N2)/2] subduplicate flow in upper plenum integer;And
The N grades of symbol and described two M grades of symbol are communicated on serial data bus.
2. a kind of method for operating serial data bus, which comprises
The volume of data position for being used to communicate on serial data bus is divided into multiple sequences, each sequence includes five;
Front two in five bit sequence described each of on the serial data bus is encoded to level Four symbol;And
It is two three-level symbols by the lower tri-bit encoding in five bit sequence described each of on the serial data bus.
3. according to the method described in claim 2, wherein selecting described two three-level symbols to eliminate the serial data bus
A possibility that there are maximum voltage increments between upper level Four symbol.
4. according to the method described in claim 2, further comprising:
Lower three of five bit sequence each of are selectively encoded on the serial data bus, condition is each described five
On the front two of bit sequence highest symbol voltage level used in the serial data bus or minimum symbol voltage level
It is encoded to level Four symbol.
5. according to the method described in claim 2, wherein described two three-level symbols include the first three-level symbol and the second three-level
The voltage level of symbol, the first three-level symbol is one of the following: (a) being lower than the voltage level most two of the level Four symbol
A voltage step, or (b) higher than most two voltage steps of voltage level of the level Four symbol.
6. according to the method described in claim 2, wherein described two three-level symbols include the first three-level symbol and the second three-level
Symbol, and further comprise:
Five bit sequence includes the one or five bit sequence for communicating on the serial data bus, and for described
The two or five bit sequence communicated on the serial data bus after one or five bit sequence;And
The voltage level of second three-level symbol of the one or five bit sequence is one of the following: (a) being lower than the two or five sequence
Most two voltage steps of voltage level of the level Four symbol of column, or (b) it is higher than described the four of the two or five bit sequence
Most two voltage steps of voltage level of grade symbol.
7. a kind of method for operating serial data bus, which comprises
The volume of data position for being used to communicate on the serial data bus is divided into seven bit sequences;
First four of each seven bit sequence are encoded in two level Four symbolic codings to the serial data bus;And
It is in two three-level symbolic codings to the serial data bus by the lower tri-bit encoding of each seven bit sequence.
8. according to the method described in claim 7, wherein the serial data bus includes the first data channel and the second data
Channel, transmission of described two level Four symbols between first data channel and second data channel are wrong in time
It opens.
9. according to the method described in claim 8, described two level Four symbols that are wherein staggered are in first data channel and institute
Stating the transmission between the second data channel includes two level Four in different clock intervals, for first data channel
The transmission of symbol is different from for the transmission of two level Four symbols of second data channel.
10. according to the method described in claim 7, further comprising:
Lower three of each seven bit sequence are selectively encoded on the serial data bus, condition is each described seven
The second two highest symbol voltage levels used in the serial data bus of bit sequence or minimum symbol voltage electricity
Level Four symbol is encoded as on flat.
11. according to the method described in claim 7, wherein described two three-level symbols include the first three-level symbol and the second three-level
The voltage level of symbol, the first three-level symbol is one of the following: (a) lower than second four in described two level Four symbols
Most two voltage steps of voltage level of grade symbol, or (b) higher than second level Four symbol in described two level Four symbols
Most two voltage steps of voltage level.
12. according to the method described in claim 7, wherein described two three-level symbols include the first three-level symbol and the second three-level
Symbol, and further comprise:
Seven bit sequence includes the one or seven bit sequence for communicating on the serial data bus, and for described
The two or seven sequence that one or seven bit sequence communicates on the serial data bus after communicating on the serial data bus
Column;And
The voltage level of the second three-level symbol of one or seven bit sequence is one of the following: (a) being lower than the described 1st
Most two voltage steps of the voltage level of second level Four symbol of described two level Four symbols of bit sequence, or (b) be higher than
Most two voltage steps of the voltage level of second level Four symbol of described two level Four symbols of the one or seven bit sequence.
13. a kind of serial data bus transmitter, comprising:
Multiple line driver circuits;
Logic is coupled with the line driver circuit, for the front two of five bit sequences to be encoded to level Four symbol, and will be every
The lower tri-bit encoding of a five bit sequence is two three-level symbols.
14. it is institute that serial data bus transmitter according to claim 13, which further comprises by the lower tri-bit encoding,
The logic of two three-level symbols is stated, condition is that the front two of each five bit sequence is used on the serial data bus
Highest voltage level or lowest voltage level on be encoded as level Four symbol.
15. serial data bus transmitter according to claim 13, wherein described two three-level symbols include the one or three
Grade symbol and the second three-level symbol, and the voltage level of the first three-level symbol is lower than the voltage level of the level Four symbol
Most two voltage steps.
16. serial data bus transmitter according to claim 13, wherein described two three-level symbols include the one or three
Grade symbol and the second three-level symbol, and the voltage level of the first three-level symbol is higher than the voltage level of the level Four symbol
Most two voltage steps.
17. serial data bus transmitter according to claim 13, wherein described two three-level symbols include the one or three
Grade symbol and the second three-level symbol, and
The serial data bus transmitter further comprises logic, for by the second three-level symbol of the one or five bit sequence
The voltage level level Four symbol that is set below the two or five bit sequence most two voltage steps of voltage level.
18. serial data bus transmitter according to claim 13, wherein described two three-level symbols include the one or three
Grade symbol and the second three-level symbol, and
The serial data bus transmitter further comprises logic, for by the second three-level symbol of the one or five bit sequence
Voltage level be set above most two voltage steps of voltage level in the level Four symbol of the two or five bit sequence.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862650168P | 2018-03-29 | 2018-03-29 | |
US62/650,168 | 2018-03-29 | ||
US15/929,094 US11966348B2 (en) | 2019-01-28 | 2019-01-28 | Reducing coupling and power noise on PAM-4 I/O interface |
US15/929,094 | 2019-01-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321312A true CN110321312A (en) | 2019-10-11 |
CN110321312B CN110321312B (en) | 2023-11-24 |
Family
ID=67910133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910242543.7A Active CN110321312B (en) | 2018-03-29 | 2019-03-28 | Reducing coupling noise and power noise on PAM-4I/O interfaces |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110321312B (en) |
DE (1) | DE102019107002A1 (en) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4486739A (en) * | 1982-06-30 | 1984-12-04 | International Business Machines Corporation | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code |
US20030108134A1 (en) * | 2001-08-17 | 2003-06-12 | Stonick John T. | Method and apparatus for encoding and decoding digital communications data |
US20030152154A1 (en) * | 2002-02-14 | 2003-08-14 | Johnson Ryan C. | Coding and decoding system and method for high-speed data transmission |
US20040062319A1 (en) * | 2002-10-01 | 2004-04-01 | Intel Corporation | Pulse amplitude modulated system with reduced intersymbol interference |
US20040109510A1 (en) * | 2002-12-10 | 2004-06-10 | Anthony Bessios | Technique for utilizing spare bandwidth resulting from the use of a transition-limiting code in a multi-level signaling system |
CN101026523A (en) * | 2007-01-30 | 2007-08-29 | 杭州华为三康技术有限公司 | Physical layer data transmitting method and receiving method and physical layer chip |
US20090323831A1 (en) * | 2008-06-27 | 2009-12-31 | Kirkpatrick Philip L | Digital video physical layer using a multi-level data code |
CN101978349A (en) * | 2008-03-24 | 2011-02-16 | 美光科技公司 | Bitwise operations and apparatus in a multi-level system |
US20150139355A1 (en) * | 2013-11-21 | 2015-05-21 | Qualcomm Incorporated | Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions |
CN104871508A (en) * | 2012-12-21 | 2015-08-26 | Ati科技无限责任公司 | Configurable communications controller |
CN106664264A (en) * | 2014-07-10 | 2017-05-10 | 高通股份有限公司 | Data link power reduction technique using bipolar pulse amplitude modulation |
EP3276835A1 (en) * | 2015-03-27 | 2018-01-31 | IDAC Holdings, Inc. | Method for encoding real number m-ary signal and encoding apparatus using same |
-
2019
- 2019-03-19 DE DE102019107002.3A patent/DE102019107002A1/en active Pending
- 2019-03-28 CN CN201910242543.7A patent/CN110321312B/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4486739A (en) * | 1982-06-30 | 1984-12-04 | International Business Machines Corporation | Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code |
US20030108134A1 (en) * | 2001-08-17 | 2003-06-12 | Stonick John T. | Method and apparatus for encoding and decoding digital communications data |
US20030152154A1 (en) * | 2002-02-14 | 2003-08-14 | Johnson Ryan C. | Coding and decoding system and method for high-speed data transmission |
US20040062319A1 (en) * | 2002-10-01 | 2004-04-01 | Intel Corporation | Pulse amplitude modulated system with reduced intersymbol interference |
US20040109510A1 (en) * | 2002-12-10 | 2004-06-10 | Anthony Bessios | Technique for utilizing spare bandwidth resulting from the use of a transition-limiting code in a multi-level signaling system |
CN101026523A (en) * | 2007-01-30 | 2007-08-29 | 杭州华为三康技术有限公司 | Physical layer data transmitting method and receiving method and physical layer chip |
CN101978349A (en) * | 2008-03-24 | 2011-02-16 | 美光科技公司 | Bitwise operations and apparatus in a multi-level system |
US20090323831A1 (en) * | 2008-06-27 | 2009-12-31 | Kirkpatrick Philip L | Digital video physical layer using a multi-level data code |
CN104871508A (en) * | 2012-12-21 | 2015-08-26 | Ati科技无限责任公司 | Configurable communications controller |
US20150139355A1 (en) * | 2013-11-21 | 2015-05-21 | Qualcomm Incorporated | Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions |
CN106664264A (en) * | 2014-07-10 | 2017-05-10 | 高通股份有限公司 | Data link power reduction technique using bipolar pulse amplitude modulation |
EP3276835A1 (en) * | 2015-03-27 | 2018-01-31 | IDAC Holdings, Inc. | Method for encoding real number m-ary signal and encoding apparatus using same |
Also Published As
Publication number | Publication date |
---|---|
CN110321312B (en) | 2023-11-24 |
DE102019107002A1 (en) | 2019-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321314A (en) | For reducing 433 codings of coupled noise and power noise on PAM-4 data/address bus relaxed | |
CN110321315A (en) | About the coupled noise and power noise on the data bus inversion and reduction PAM-4 I/O of pulse amplitude modulation | |
US10599606B2 (en) | 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses | |
CN105960786B (en) | Coding for divided data/address bus | |
TWI709312B (en) | Unrelaxed 433 encoding to reduce coupling and power noise on pam-4 data buses | |
CN110389909A (en) | Use the system and method for the performance of deep neural network optimization solid state drive | |
US11966348B2 (en) | Reducing coupling and power noise on PAM-4 I/O interface | |
US20090193159A1 (en) | Bus encoding/decoding method and bus encoder/decoder | |
CN108141400A (en) | N phases high-speed bus has enough to meet the need | |
KR101251100B1 (en) | Efficient in-band reliability with separate cyclic redundancy code frames | |
CN106850476B (en) | Balanced device method of adjustment, applicable equalizer and memory storage apparatus | |
US11574662B2 (en) | Memory devices configured to generate pulse amplitude modulation-based DQ signals, memory controllers, and memory systems including the memory devices and the memory controllers | |
KR20160074677A (en) | Methods and apparatus to reduce signaling power | |
US11915766B2 (en) | Automatic program voltage selection network | |
US4774493A (en) | Method and apparatus for transferring information into electronic systems | |
EP4057516A1 (en) | Encoding and decoding apparatuses and methods for implementing multi-mode coding | |
CN110321312A (en) | Reduce the coupled noise and power noise on PAM-4 I/O interface | |
CN104424995B (en) | Semiconductor devices and its operating method | |
CN101930402A (en) | Nonvolatile memory with error detection/correction circuit and reading and writing method thereof | |
CN108320765A (en) | Memory, Memory Controller and related training method | |
CN113762457A (en) | Decoding method, method for training neural network and memory device | |
CN117980994A (en) | Improved ECC configuration in memory | |
KR20220140234A (en) | Signal Encoding Method and Semiconductor Device to Generate Optimal Transition code in a Multi-level Signaling System | |
KR102286729B1 (en) | Transmitter having high line efficiency without simultaneous switching noise and method of transmitting data in the same | |
US11894868B2 (en) | Programmable spread spectrum signaling over a pin of an integrated circuit device |
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 |