IEEE Solid-State Circuits Magazine - Spring 2016 - 63
the same input voltage vector and
its vector of cell conductances. The
memristive crossbar array is therefore a powerful analog vector-matrix
multiplier that leverages Kirchoff's
law to perform a large number of
parallel multiply-accumulate operations. Digital-to-analog conversion is
required when providing input voltages, and similarly, analog-to-digital
conversion (ADC) is required before
the outputs can be buffered.
The previously given analog
dot-product unit can be very useful in accelerating applications that
involve dot products on large data
sets. Machine-learning applications
fit this bill. While noise and precision
are important concerns in analog
units, machine-learning applications
are known to be tolerant to noise.
An upcoming paper [36] shows how
a mixed analog-digital architecture,
ISAAC, can execute entire deep-learning algorithms at very high efficiency.
In-situ computing targets the biggest
bottlenecks in these algorithms-
storage, access, and compute for
many millions of parameters-with
a compact and parallel crossbar unit.
In spite of ADC overheads (which are
significant), ISAAC is able to achieve
efficiency gains of nearly 15× over a
state-of-the-art digital accelerator for
deep learning [6].
In general, any resistive-RAM cell
is a good candidate for use in such
an analog dot-product engine. HfOxbased memristors are an especially
good fit because of their high on/off
ratio. Since memristor cells exhibit
a nonlinear I-V curve, they can
also seamlessly apply sigmoid-like
activation functions to the dot-product operation, as is done in machine
learning algorithms. Another example of in-situ computing is the DRAMbased Automata Processor that can
accelerate algorithms that rely on
pattern-matching [42].
Auxiliary Features
The previous section discusses a variety of computational capabilities that
can be moved to the memory device;
these explicitly accelerate portions
of the application itself. We now turn
our attention to other useful functionalities that can be executed on
the memory device; such features
can improve overall system metrics
in an application-agnostic manner.
Many of the proposals in this section
target phenomena (such as endurance, iterative writes, and new error
types) that are more applicable to
emerging NVMs than to DRAM.
Compression
Memory compression was introduced in commercial products over a
decade ago, e.g., IBM MXT [41]. However,
that idea didn't catch on for a variety
of reasons.
■ The latency of compression and
decompression added a nontrivial
penalty to memory access times.
■ There is significant software/hardware complexity in managing compressed data: 1) it takes nontrivial
logic to estimate the location of a
compressed block, and 2) when a
block is modified and the new compressed version turns out to be larger, several other blocks may have
to be moved to make room for the
larger block.
■ Invasive changes are required to all
parts of the operating system (OS)
that deal with memory management.
The last few years have seen significant advancements that make
compressed memory a very attractive
choice today. First, new compression
algorithms, such as Base Delta Immediate (BDI) compression [25], are able
to achieve sufficiently large compression ratios for a sufficiently large set of
applications, while consuming fewer
than a handful of nanoseconds for
compression and decompression.
Second, new compression architectures [24] have been developed that,
in the common case, make it easier to
locate a compressed block, and avoid
shuffling data around when compressed blocks grow in size.
Third, recent papers [37], [32]
have made the argument that it is the
greed for higher memory capacity
that increases the OS complexity from
compression. Therefore, these papers
have made the case that compression
should be used for a variety of reasons
but not to tightly pack more blocks
into a limited space. So a 64-B storage area in memory is reserved for a
single 64-B data block, even though
the block may only consume a fraction of that storage after compression.
This leaves the OS page management
mechanisms unchanged. There are
many other benefits of reading/writing smaller blocks [37]: lower energy,
the ability to do more reads/writes in
parallel, higher endurance for NVMs,
the ability to add more metadata for
error correction, etc. Sathish et al.
[32] exploit some of these benefits
for a GPU and GDDR5 memory, while
Shafiee et al. [37] exploit them in the
context of CPUs and DDR3. Their approaches place only one burden on the
OS: managing compression metadata
in a separate region of memory. Even
this obstacle can be scaled; a recent
paper [22] shows how error correction
code (ECC) metadata can incorporate
compression metadata.
With these new technologies in place,
compression is a feature that no longer
needs heavy involvement from the processor or the OS. It could be a feature
that is entirely managed by logic on
memory devices, either in 3D-stacked
devices or on DIMMs, and completely
oblivious to the rest of the system.
Memory Timing
Just as the management of compression can be off-loaded to the memory devices, other low-level memory
management features can also be
off-loaded to memory. For example,
as DRAMs scale or as new NVMs
come to market, new problems might
emerge. Because of process variation, some regions of a die may be
faster than others, and some regions
may be more error prone than others. Similarly, operations that consume large amounts of current (e.g.,
writes in NVMs) will introduce static
or dynamic IR-drop and pose severe
worst-case constraints on DRAM timing parameters [38].
Rather than expose these so-called
"blemishes" or conservative worst-case
IEEE SOLID-STATE CIRCUITS MAGAZINE
S P R I N G 2 0 16
63
Table of Contents for the Digital Edition of IEEE Solid-State Circuits Magazine - Spring 2016
IEEE Solid-State Circuits Magazine - Spring 2016 - Cover1
IEEE Solid-State Circuits Magazine - Spring 2016 - Cover2
IEEE Solid-State Circuits Magazine - Spring 2016 - 1
IEEE Solid-State Circuits Magazine - Spring 2016 - 2
IEEE Solid-State Circuits Magazine - Spring 2016 - 3
IEEE Solid-State Circuits Magazine - Spring 2016 - 4
IEEE Solid-State Circuits Magazine - Spring 2016 - 5
IEEE Solid-State Circuits Magazine - Spring 2016 - 6
IEEE Solid-State Circuits Magazine - Spring 2016 - 7
IEEE Solid-State Circuits Magazine - Spring 2016 - 8
IEEE Solid-State Circuits Magazine - Spring 2016 - 9
IEEE Solid-State Circuits Magazine - Spring 2016 - 10
IEEE Solid-State Circuits Magazine - Spring 2016 - 11
IEEE Solid-State Circuits Magazine - Spring 2016 - 12
IEEE Solid-State Circuits Magazine - Spring 2016 - 13
IEEE Solid-State Circuits Magazine - Spring 2016 - 14
IEEE Solid-State Circuits Magazine - Spring 2016 - 15
IEEE Solid-State Circuits Magazine - Spring 2016 - 16
IEEE Solid-State Circuits Magazine - Spring 2016 - 17
IEEE Solid-State Circuits Magazine - Spring 2016 - 18
IEEE Solid-State Circuits Magazine - Spring 2016 - 19
IEEE Solid-State Circuits Magazine - Spring 2016 - 20
IEEE Solid-State Circuits Magazine - Spring 2016 - 21
IEEE Solid-State Circuits Magazine - Spring 2016 - 22
IEEE Solid-State Circuits Magazine - Spring 2016 - 23
IEEE Solid-State Circuits Magazine - Spring 2016 - 24
IEEE Solid-State Circuits Magazine - Spring 2016 - 25
IEEE Solid-State Circuits Magazine - Spring 2016 - 26
IEEE Solid-State Circuits Magazine - Spring 2016 - 27
IEEE Solid-State Circuits Magazine - Spring 2016 - 28
IEEE Solid-State Circuits Magazine - Spring 2016 - 29
IEEE Solid-State Circuits Magazine - Spring 2016 - 30
IEEE Solid-State Circuits Magazine - Spring 2016 - 31
IEEE Solid-State Circuits Magazine - Spring 2016 - 32
IEEE Solid-State Circuits Magazine - Spring 2016 - 33
IEEE Solid-State Circuits Magazine - Spring 2016 - 34
IEEE Solid-State Circuits Magazine - Spring 2016 - 35
IEEE Solid-State Circuits Magazine - Spring 2016 - 36
IEEE Solid-State Circuits Magazine - Spring 2016 - 37
IEEE Solid-State Circuits Magazine - Spring 2016 - 38
IEEE Solid-State Circuits Magazine - Spring 2016 - 39
IEEE Solid-State Circuits Magazine - Spring 2016 - 40
IEEE Solid-State Circuits Magazine - Spring 2016 - 41
IEEE Solid-State Circuits Magazine - Spring 2016 - 42
IEEE Solid-State Circuits Magazine - Spring 2016 - 43
IEEE Solid-State Circuits Magazine - Spring 2016 - 44
IEEE Solid-State Circuits Magazine - Spring 2016 - 45
IEEE Solid-State Circuits Magazine - Spring 2016 - 46
IEEE Solid-State Circuits Magazine - Spring 2016 - 47
IEEE Solid-State Circuits Magazine - Spring 2016 - 48
IEEE Solid-State Circuits Magazine - Spring 2016 - 49
IEEE Solid-State Circuits Magazine - Spring 2016 - 50
IEEE Solid-State Circuits Magazine - Spring 2016 - 51
IEEE Solid-State Circuits Magazine - Spring 2016 - 52
IEEE Solid-State Circuits Magazine - Spring 2016 - 53
IEEE Solid-State Circuits Magazine - Spring 2016 - 54
IEEE Solid-State Circuits Magazine - Spring 2016 - 55
IEEE Solid-State Circuits Magazine - Spring 2016 - 56
IEEE Solid-State Circuits Magazine - Spring 2016 - 57
IEEE Solid-State Circuits Magazine - Spring 2016 - 58
IEEE Solid-State Circuits Magazine - Spring 2016 - 59
IEEE Solid-State Circuits Magazine - Spring 2016 - 60
IEEE Solid-State Circuits Magazine - Spring 2016 - 61
IEEE Solid-State Circuits Magazine - Spring 2016 - 62
IEEE Solid-State Circuits Magazine - Spring 2016 - 63
IEEE Solid-State Circuits Magazine - Spring 2016 - 64
IEEE Solid-State Circuits Magazine - Spring 2016 - 65
IEEE Solid-State Circuits Magazine - Spring 2016 - 66
IEEE Solid-State Circuits Magazine - Spring 2016 - 67
IEEE Solid-State Circuits Magazine - Spring 2016 - 68
IEEE Solid-State Circuits Magazine - Spring 2016 - 69
IEEE Solid-State Circuits Magazine - Spring 2016 - 70
IEEE Solid-State Circuits Magazine - Spring 2016 - 71
IEEE Solid-State Circuits Magazine - Spring 2016 - 72
IEEE Solid-State Circuits Magazine - Spring 2016 - 73
IEEE Solid-State Circuits Magazine - Spring 2016 - 74
IEEE Solid-State Circuits Magazine - Spring 2016 - 75
IEEE Solid-State Circuits Magazine - Spring 2016 - 76
IEEE Solid-State Circuits Magazine - Spring 2016 - 77
IEEE Solid-State Circuits Magazine - Spring 2016 - 78
IEEE Solid-State Circuits Magazine - Spring 2016 - 79
IEEE Solid-State Circuits Magazine - Spring 2016 - 80
IEEE Solid-State Circuits Magazine - Spring 2016 - 81
IEEE Solid-State Circuits Magazine - Spring 2016 - 82
IEEE Solid-State Circuits Magazine - Spring 2016 - 83
IEEE Solid-State Circuits Magazine - Spring 2016 - 84
IEEE Solid-State Circuits Magazine - Spring 2016 - 85
IEEE Solid-State Circuits Magazine - Spring 2016 - 86
IEEE Solid-State Circuits Magazine - Spring 2016 - 87
IEEE Solid-State Circuits Magazine - Spring 2016 - 88
IEEE Solid-State Circuits Magazine - Spring 2016 - 89
IEEE Solid-State Circuits Magazine - Spring 2016 - 90
IEEE Solid-State Circuits Magazine - Spring 2016 - 91
IEEE Solid-State Circuits Magazine - Spring 2016 - 92
IEEE Solid-State Circuits Magazine - Spring 2016 - 93
IEEE Solid-State Circuits Magazine - Spring 2016 - 94
IEEE Solid-State Circuits Magazine - Spring 2016 - 95
IEEE Solid-State Circuits Magazine - Spring 2016 - 96
IEEE Solid-State Circuits Magazine - Spring 2016 - 97
IEEE Solid-State Circuits Magazine - Spring 2016 - 98
IEEE Solid-State Circuits Magazine - Spring 2016 - 99
IEEE Solid-State Circuits Magazine - Spring 2016 - 100
IEEE Solid-State Circuits Magazine - Spring 2016 - 101
IEEE Solid-State Circuits Magazine - Spring 2016 - 102
IEEE Solid-State Circuits Magazine - Spring 2016 - 103
IEEE Solid-State Circuits Magazine - Spring 2016 - 104
IEEE Solid-State Circuits Magazine - Spring 2016 - 105
IEEE Solid-State Circuits Magazine - Spring 2016 - 106
IEEE Solid-State Circuits Magazine - Spring 2016 - 107
IEEE Solid-State Circuits Magazine - Spring 2016 - 108
IEEE Solid-State Circuits Magazine - Spring 2016 - 109
IEEE Solid-State Circuits Magazine - Spring 2016 - 110
IEEE Solid-State Circuits Magazine - Spring 2016 - 111
IEEE Solid-State Circuits Magazine - Spring 2016 - 112
IEEE Solid-State Circuits Magazine - Spring 2016 - 113
IEEE Solid-State Circuits Magazine - Spring 2016 - 114
IEEE Solid-State Circuits Magazine - Spring 2016 - 115
IEEE Solid-State Circuits Magazine - Spring 2016 - 116
IEEE Solid-State Circuits Magazine - Spring 2016 - 117
IEEE Solid-State Circuits Magazine - Spring 2016 - 118
IEEE Solid-State Circuits Magazine - Spring 2016 - 119
IEEE Solid-State Circuits Magazine - Spring 2016 - 120
IEEE Solid-State Circuits Magazine - Spring 2016 - 121
IEEE Solid-State Circuits Magazine - Spring 2016 - 122
IEEE Solid-State Circuits Magazine - Spring 2016 - 123
IEEE Solid-State Circuits Magazine - Spring 2016 - 124
IEEE Solid-State Circuits Magazine - Spring 2016 - Cover3
IEEE Solid-State Circuits Magazine - Spring 2016 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2023
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2022
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2021
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_spring2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_winter2020
https://www.nxtbook.com/nxtbooks/ieee/mssc_fall2019
https://www.nxtbook.com/nxtbooks/ieee/mssc_summer2019
https://www.nxtbook.com/nxtbooks/ieee/mssc_2019summer
https://www.nxtbook.com/nxtbooks/ieee/mssc_2019winter
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018fall
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018summer
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018spring
https://www.nxtbook.com/nxtbooks/ieee/mssc_2018winter
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2017
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2016
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2015
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_winter2014
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_fall2014
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_summer2014
https://www.nxtbook.com/nxtbooks/ieee/solidstatecircuits_spring2014
https://www.nxtbookmedia.com