Over a million developers have joined DZone.

Memristors Part 1: Hardware

Memristors are components set to fundamentally change the capabilities of computers, making RAM that is far more dense, uses far less power, reads and writes faster, and retains its memory indefinitely without power. You need to know about them! And luckily, in this series, we'll be exploring exactly how they work and what their effects are.

· Performance Zone

Evolve your approach to Application Performance Monitoring by adopting five best practices that are outlined and explored in this e-book, brought to you in partnership with BMC.

There's a lot of talk about memristors today. They show great promise for the future and will make large and fundamental changes to computer hardware and software design and methodology. In this article, I will discuss the hardware aspects of memristors. In the world of electronics, they are something new and exciting.

Most people involved with computers today are involved with software. And most of those software developers create programs for hardware they can't even see. It used to be that software developers would look at the CPU box and not worry much about what was inside or how it actually worked, now most of us just think about an amorphous cloud of functionality (and try not to worry about what's inside). Some of you more intrepid developers are little more hands-on and have upgraded a CPU or even assembled one from scratch. But the fact is that most software developers know surprisingly little about the hardware at the actual component level. Nowadays, programmers think of the functional parts in purely logical terms. CPUs have a certain word size, discs have sectors and blocks, RAM chips have capacity; and all of these have various operating speeds and energy requirements.

Memristors are going to greatly impact the way we think about both RAM and disk storage. It will be worthwhile to understand how they work. They will impact all the parameters that we consider important in memory devices: speed, capacity, power, heat, latency, and persistence. So, here is a short, sweet, and high-level introduction to memristor hardware.

A Little EE Background

Even if you're not an electrical engineer you are probably familiar with many of the primitive building block components that make up circuits. There are:

Active components which in today's technology are almost always semiconductor devices (silicon, gallium arsenide, etc.). They are the basis for amplifiers, regulators, digital logic, etc. They use small input signals to modulate a larger power source: they make a more powerful copy of the weak input and so we call them amplifiers.

Passive components have been around forever. Even though we continuously evolve the materials from which they are built, they still function according to the same equations used centuries earlier. These are things like inductors that induce magnetic fields (coils, transformers), capacitors that store electric charge (ceramic discs, electrolytic's, ultra caps), and resistors that impede the flow of electricity (composite carbon, wire wound, metal film), ferrite and magnetic films that can retain magnetic fields (disk platters, for a course from the "old days").

The memristor is considered a passive device. It is a two terminal device like capacitors, resistors, and inductors. Yet, it does change also. It does have an active aspect.


Capacitors do not allow direct current to flow through them. They are like balloons. You can imagine the air molecules are electrons, and the more air you put in the higher the pressure and thus the harder it is to put more in. If you disconnect the pressurized air source but leave the balloon closed the air will stay inside the balloon and at that higher pressure, as well. If you vent the balloon the air will be pushed back out until the pressure is at equilibrium. This is what happens to the electrons in a capacitor. The electrons are stored under "electrostatic" pressure until they are released. Capacitors store static energy. Note: If you put too much air in the balloon it pops (capacitors can fail spectacularly too)! More tech info here.


Inductors do allow direct current to flow through them. They are like a turbine blades. Imagine again that the air molecules are electrons, then the flow of air is impeded initially until the turbine begins to spin. At that point the air moves through freely. If you stop the flow of air, the turbine keeps spinning (because of its inertia) and pumping air in the same direction. The energy required to pump the air slows down the turbine until it stops. An inductor can be thought of as electrical inertia. The current moving through the inductors coil builds up a magnetic field which takes energy from the electron flow. Once the field is built the flow is unimpeded. When the flow stops the magnetic field begins to collapse and it induces a current in the inductors coil until all of the energy used to build a magnetic field has been dissipated. An inductor stores dynamic energy. More tech info here.


Resistors are pretty simple. Imagine air flowing through a flexible tube. If you pinch the tube the flow is reduced. If you release the pinch the flow resumes at the previous rate. There are no dynamic effects. A resistor simply causes energy to be lost. In the case of airflow or electron movement, the result is that the energy is lost as heat. More tech info here.

Capacitors, inductors, and resistors all affect the flow of electrons in their own way, but none of them change their fundamental specifications as a function of electron flow. The properties of capacitance (Farad), inductance (Henry), or resistance (Ohm) remain constant during their use and over their lifetime.


Memristors are different. Memristors are like resistors in that they do impede the flow of electrons. And, you can measure their resistance in the same units we use for resistors: Ohms. But one weird (or really cool) thing about memristors is that they change their resistance as a function of the amount of current that flows through them. Another aspect of this behavior is that current flowing in one direction makes the resistance increase and when it flows in the reverse direction, the resistance decreases. It remembers how much current flowed and in which direction. And now, the best part about memristors is that when you remove the current flow (remove all power) the resistance remains at its current value. The change in resistance persists!

Various technologies have been applied to the problem of building an array of memristors and some of the most promising have come from the labs at Hewlett-Packard and its partners. It turns out that memristors cells can be made an order of magnitude (or more) smaller than present day DRAM chips. Also, they can be made to operate as fast (or faster) than existing DRAM! And I don't mean to pile on, but DRAM chips store their information in tiny capacitors, one for each bit. Those capacitors are so small that they can only hold their charge for a few milliseconds. So, all the bits on all of your memory chips have to be refreshed every few milliseconds. Remember, the D in DRAM stands for dynamic. That takes power. The memristors do not need that power to retain their memory, and as an added benefit they don't generate any heat either!

So, computer RAM that is far more dense, uses far less power, reads and writes faster, and retains its memory indefinitely without power is certain to change the landscape. What will a computer that uses memristor RAM be like? What will the programs on such a computer be like?

I'll cover this in Memristors Part 2: Software

Learn tips and best practices for optimizing your capacity management strategy with the Market Guide for Capacity Management, brought to you in partnership with BMC.

computer hardware ,ram ,memristor

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}