The University of Michigan has Developed a Computer Based on the Memristor

July 17, 2019 by Gary Elinoff

AI on a smartphone? U of M researchers open the door to localized AI processing, even on portable devices.

AI on a smartphone? U of M researchers open the door to localized AI processing, even on portable devices.

Depending on who you ask, AI is already everywhere. From making processes more efficient to causing a stir in diagnosing illnesses, the presence of AI can be felt across industries and in the smartphone in your pocket.

But is AI truly present in your devices if the processing is done in the cloud?

Currently, hardware limitations mean that localized AI—that is, AI that deals with data at the edge rather than the cloud—is rather out of reach. 

What the University of Michigan has just announced this week isn't merely a computer that merely deploys memristors—this is a device that portends advances in localized AI.

Meet "the first programmable memristor computer."


A Programmable Memristor Computer

"Everyone wants to put an AI processor on smartphones, but you don't want your cell phone battery to drain very quickly," says Wei Lu, University of Michigan (U-M) professor of electrical and computer engineering. Lu is the senior author of "A fully integrated reprogrammable memristor–CMOS system for efficient multiply–accumulate operations" published in Nature Electronics.

Lu is referring to the incredible amount of battery power it would take for the average portable device to sustain AI levels of data processing. 

As it stands now, AI functions such as voice command interpretation require communicating with remote, cloud-based AI engines. This takes time, and it is currently unavoidable because that much AI power on a smartphone would very quickly drain the battery.


The memristor array chip in question, shown here plugged into the custom computer chip. Photo by Robert Coelius, Michigan Engineering Communications & Marketing.


According to Lu and his team, computing systems based on memristors may be the answer.

What Is a Memristor?

A memristor can be described as a resistor whose resistive value is determined by the previous voltages and charge that it has been subjected to. If the memristor is subjected to no further voltage or charge, the resistance does not change, in the manner on nonvolatile memory.

This is analogous to that most basic unit in digital logic, the flip-flop. Once the output of the flip-flop is driven to “1” or “0”, it stays at that value. Thus, the resistive value of the memristor serves the same end as does the “1” or “0” memory value stored by the flip-flop. 

To learn some more about memristor/AI basics, see our previous article on a prototype memristor network inspired by mammalian brains, which draws on some of Professor Lu’s earlier work.

The Key to More Efficient AI

Machine-learning and AI algorithms must deal with enormous amounts of data to do things like identify objects in photos and videos. Today’s state of the art relies on separate, specialized GPUs (graphical processing units) for that task.

The key to the efficacy of the GPU is that it has large numbers of tiny cores empowered to do all the necessary calculations at once. The CPU, on the other hand, typically has two to eight large cores, and the necessary calculations must wait in line for processing. 

While GPUs get the job done far faster than CPUs can, Lu believes that "Memristor AI processors could be another 10-100 times better,” than even today’s GPUs. The experimental-scale computer developed by Lu and his team has over 5,800 memristors, which are—in essence—cores. It is envisioned that a commercial design would sport millions of them.

The result is computation that takes place in memory.

Most of the mathematical processing takes place in the memristor, itself, through the changing resistance values brought forth by the comparison of inputs to each memristor core to what is already stored there. 

Thus, the memristor stores information and processes it in the same place. This eliminates the biggest bottleneck for computing speed and power: the connection between memory and processor.

Building the Programmable Memristor Computer

It was necessary to integrate the array of memristors with the conventional CPU and other onboard elements such as A/D/A converters and communication channels. To do so, Lu’s team worked with Professor Michael Flynn and Associate Professor Zhengya Zhang, both of electrical and computer engineering department at U-M. Fabrication was accomplished at U-M’s Lurie Nanofabrication Facility.


Wei Lu (right) and Seung Hwan Lee (left), an electrical engineering PhD student who is the first author on the paper. Photo by Robert Coelius, Michigan Engineering Communications & Marketing

Testing the Concept

The experimental scale computer was tested against three classical machine learning algorithms. Each algorithm was successfully run on this prototype chip.

  • Perceptron, which determines if two representations belong to a “class” or not. The device proved to be able to identify imperfect Greek letters with 100% accuracy.
  • Sparse coding compresses and categorizes data such as images. The experimental computer was able to find the most efficient way to reconstruct images in a set and identified patterns with 100% accuracy.
  • Two-layer neural network, which is designed to find patterns in complex data. In this test, the object was to determine if screening data represented malignant or benign breast cancer. The success rate here was 94.6%.


Whether you think true AI is already here or whether you think the idea of true artificial intelligence may be a bit of an oversell, processing demands are growing every day. U of M's recent research is a glance into a future where localized AI is possible, even for portable devices.

Do you work with memristors? Tell us about your experiences and expertise in the comments below.