Eliminating computer errors by combining computation and memory

by | Feb 7, 2023

A device brings memory and processing together, helping minimizing errors and avoiding increasing energy demands due to huge amounts of data.
Rows of computer chips

Humanity’s reliance on computers and electronics to perform even the smallest function in is already ubiquitous in the developed world and is only set to grow. At the heart of computing are transistor logic gates that convert signals to a flow of binary numbers (1s and 0s) representing “ON” and “OFF” states. 

Currently, this system known as the von Neumann architecture is the conventional data handling platform used in electronics. It consists of two components to process the data; one for computation using logic gates and another for memory. A combination of transistors obtains desired results, which are transferred to memory. 

As the volume of data computers deal with increases, transferring it between these two separate components becomes a significant burden, causing considerable delays and resulting in high energy consumption levels — a problem called the “von Neumann bottleneck”.

This means von Neumann architecture is becoming increasingly inefficient when it comes to massive data processing, especially in light of the Internet of Things (IoT)

While much research focuses on scaling down transistors so they can consume less energy, there is a minimum size limit to such systems that researchers must contend with. There is another approach to this problem, however, uniting computing and memory and eliminating the transportation of data almost altogether.

Bringing memory and processing together

A new paper published in Advanced Intelligent Systems details research led by Cheol Seong Hwang, professor in the Department of Materials Science and Engineering, at Seoul National University, which proposes uniting computation and memory in a “universal memristive module” that could eventually perform computation-in-memory.

“The solution to von Neumann architecture problems is to find a new device that can combine the computation and memory components into a unified device,” said paper co-author Taegyun Park, a Ph.D. at Seoul National University. “Researchers have found a device that can change its resistance state between low-resistance (‘1’) and high-resistance (‘0’) by applying an electrical voltage, named a memristor. Since the resistance of a memristor, its state remains after the computation, it can be used as a unified device.”

Park explained that the resistance switching of a memristor can be considered analogous to opening and closing a faucet or a tap. The water flow in the faucet can be considered the electrical current flow to the memristor. A memristor in a high resistance state is equivalent to the faucet being turned “off” —  the water flow is highly resistive and prevented.

When a memristor is in a low resistance state, it is like an open faucet, with the water allowed to easily flow. Sounds great on paper, but memristors are problematic too. 

Overcoming issues with memristors

“Unfortunately, opening and closing the faucet, the resistance switching of the memristor, has unavoidable variation, meaning that partly open and partly closed states are possible in a memristor,” Park added, explaining that this can cause reliability issues and errors in practical computation applications. “To overcome the reliability issue, detecting an error case in computing is necessary.”

The team addressed limitations with error handling that occur when insufficient applied voltage to logic gates induces higher error probability, requiring additional energy computation to correct the errors, by creating an energy-efficient device for error detection and correction.

The device combines five memristors into a module and can detect different error cases during the computation, and correct the error within four operational steps. 

“We have demonstrated the error rates can be dropped to almost zero by attaching the module to a memristor-based logic gate with less overhead cost,” Park continued. “The module can detect and correct the different error cases during computation, the energy consumption is four times smaller than the state-of-art alternative modules.” 

Park said that energy consumption in the device could be brought to its lowest by using an algorithm that can simultaneously detect and correct the error. He added that currently, the module can detect error cases in a single memristor-based logic gate, but the more extensive computing system requires multiple logic gates. When multiple logic gates are introduced a slight switching variation can be accumulated and the team still needs to test their device while considering this error accumulation.

“The next goal is to develop the universal memristive module that can be used with other technologies in a more extensive system to reduce error rates,” Park concluded.

Reference: T. Park., C. S. Hwang., et al., Efficient Method for Error Detection and Correction in In-Memory Computing Based on Reliable Ex-Logic Gates, Advanced Intelligent Systems, (2023). DOI: 10.1002/aisy.202200341

Feature image credit: Angeles Pérez on Unsplash