Memory interface with reduced energy transmit mode
PAM encoding techniques that leverage unused idle periods in channels between data transmissions to apply longer but more energy-efficient codes. To improve energy savings, multiple sparse encoding schemes may be utilized selectively to fit different sized gaps in the traffic. These approaches may provide energy reductions, for example with memory READ and WRITE traffic, when transferring 4-bit data using 3-symbol sequences.
1 . A communication method comprising:
applying a first encoding technique on a bit sequence to generate a plurality of first pulse amplitude modulated (PAM) symbols for data communicated over at least one bus;
detecting a gap in command traffic on the bus; and
in response to detecting the gap in command traffic, switching to a second encoding technique on the bit sequence to generate second PAM symbols for the data on the bus in the gap, the second PAM symbols comprising higher sparsity than the first PAM symbols.
2 . The method of claim 1 , wherein both of the first encoding technique and the second encoding technique avoid 3-level transitions between symbols on the bus.
3 . The method of claim 1 , wherein the second PAM symbols are formed to draw less energy from the bus than do the first PAM symbols.
4 . The method of claim 1 , wherein the second PAM symbols comprise 4b4s31 symbols.
5 . The method of claim 1 , wherein the second PAM symbols comprise 4b3s31 symbols.
6 . The method of claim 1 , wherein the second encoding technique is selected based on a size of the gap in command traffic.
7 . The method of claim 1 , wherein the second encoding technique is 4b3s31 regardless of a size of the gap in command traffic.
8 . The method of claim 1 , further comprising:
on condition that a first symbol value is not a lowest-energy consumption symbol value, swapping the first symbol value on the bus with a second symbol value of lowest energy consumption; and
encoding an indication of the swap on a data bus inversion (DBI) line of the at least one bus.
9 . The method of claim 8 , wherein the indication on the DBI line specifies whether L0 was swapped for L1, L2, or neither one.
10 . The method of claim 1 , further comprising:
on condition that one of the first PAM symbols or one of the second PAM symbols, respectively, is a highest energy consumption symbol, shifting a level of a next symbol to transmit on the bus to a next highest level than the first encoding technique or the second encoding technique, respectively, would have generated otherwise.
11 . A transceiver comprising:
a first codebook for a plurality of first PAM symbols;
a second codebook for a second plurality of PAM symbols comprising higher sparsity than the first PAM symbols; and
logic to switch from the first codebook to the second codebook to generate symbols on a data bus, in response to detection of a gap in command traffic, the symbols generated in the gap.
12 . The transceiver of claim 11 , wherein the second PAM symbols are configured to draw less energy from the data bus than do the first PAM symbols.
13 . The transceiver of claim 11 , wherein the second PAM symbols comprise 4b4s31 symbols.
14 . The transceiver of claim 11 , wherein the second PAM symbols comprise 4b3s31 symbols.
15 . The transceiver of claim 11 , wherein the second codebook is selected based on a size of the gap in command traffic.
16 . A system comprising:
a processor;
a memory;
logic to switch from utilizing a first encoding mechanism to utilizing a second encoding mechanism to generate PAM symbols on a memory bus, in response to detection of a gap in access commands from the processor to the memory, the symbols generated in the gap; and
wherein the second encoding mechanism draws less power from the memory bus than the first encoding mechanism.
17 . The system of claim 16 , wherein the second encoding mechanism is selected based on a size of the gap between the memory access commands.
18 . The system of claim 16 , wherein both of the first encoding mechanism and the second encoding mechanism implement maximum transition avoidance.
19 . The system of claim 16 , wherein the second encoding mechanism generates 4b3s31 PAM symbols.
20 . The system of claim 16 , wherein the processor is a graphics processing unit.
21 . A communication method comprising:
applying a first encoding technique on a bit sequence to generate a plurality of first pulse amplitude modulated (PAM) symbols for data communicated over at least one bus;
detecting a gap in command traffic on the bus;
in response to detecting the gap in command traffic, switching to a second encoding technique on the bit sequence to generate second PAM symbols for the data on the bus in the gap, the second PAM symbols comprising higher sparsity than the first PAM symbols; and
on condition that a first symbol value is not a lowest-energy consumption symbol value, swapping the first symbol value on the bus with a second symbol value of lowest energy consumption; and
encoding an indication of the swap on a data bus inversion (DBI) line of the at least one bus.
22 . A communication method comprising:
applying a first encoding technique on a bit sequence to generate a plurality of first pulse amplitude modulated (PAM) symbols for data communicated over at least one bus;
detecting a gap in command traffic on the bus;
in response to detecting the gap in command traffic, switching to a second encoding technique on the bit sequence to generate second PAM symbols for the data on the bus in the gap, the second PAM symbols comprising higher sparsity than the first PAM symbols; and
on condition that one of the first PAM symbols or one of the second PAM symbols, respectively, is a highest energy consumption symbol, shifting a level of a next symbol to transmit on the bus to a next highest level than the first encoding technique or the second encoding technique, respectively, would have generated otherwise.