On November 14, 2023, Beijing time, the research team of the School of Integrated Circuits/Institute of Artificial Intelligence of Peking University, together with experts and scholars at home and abroad, published a paper entitled “A full spectrum of computing-in-memory technologies” online in Nature Electronics. This paper proposes the concept of a full spectrum of in-memory computing technologies, classifies all types of in-memory computing technologies in principle, thus providing a platform for comparing the performance of each different technology, and is expected to inspire new types of in-memory computing techniques.
The first author and corresponding author of the paper are Prof. Zhong Sun from Peking University, and the co-authors include Associate Professor Shahar Kvatinsky of Technion-Israel Institute of Technology, Associate Professor Xin Si of Southeast University, Associate Professor Adnan Mehonic of University College London, and Prof. Yimao Cai and Academician Ru Huang of Peking University.
Over the past few decades, processor performance has evolved dramatically, driven by Moore’s Law. However, traditional computers use the von Neumann architecture, and the processing and storage of data are physically separated, and the data transmission between the two causes great computational latency and energy consumption. In addition, although traditional logic gates are versatile and robust for computation, they are inefficient and consume a lot of hardware and time resources in operations such as multiplication, addition, and nonlinear functions. In the era of the Internet of Things and big data, there is an urgent need for a technological revolution that shifts the computing paradigm away from the von Neumann architecture.
In-memory computing technology is a potential solution to this bottleneck, with the basic idea of moving data computation into memory, enabling in-situ computation, eliminating bandwidth constraints and data transfer costs. The basic principle is to efficiently implement computational primitives such as logic gate operations and multiply-accumulate (MAC) operations using physical laws, such as Kirchhoff’s current law and charge-sharing mechanisms in memory arrays.
At present, all types of memory have been reported to be used for in-memory computing, including volatile memory (such as mature SRAM, DRAM technology) and non-volatile memory (such as mature Flash technology, as well as emerging resistive memory RRAM, PCM, etc.). In traditional von Neumann computers, the complete set of logic gates composed of CMOS transistors is the basis, and they are used to build processing cores for arithmetic operations such as scalar MAC operations, and then implement vector/matrix operations through serial processing or multi-core parallel processing, and then implement various algorithms (such as neural networks). The in-memory computing architecture takes a very different path, based on MAC operations based on the laws of physics, using the parallelization of memory arrays for vector/matrix arithmetic operations, and is also used to implement various algorithms, and then executes logic gates through the threshold logic concept of neural networks. As can be seen, in both computational architectures, the various computational primitives form a “Ouroboros” structure (Figure 1).
Figure 1. In-memory computing architecture and computing primitives
Logic gate and MAC operation are two basic computing primitives in the in-memory computing architecture, and their implementation in different types of in-memory computing technologies has different principles, depending on: (1) whether the input operand is provided by the memory cell in situ, (2) whether the computational output is stored back to the memory cell in situ, (3) whether the input/output data is volatile or non-volatile, and (4) whether the input/output data is represented by the same physical variable. These differences make it difficult to develop an inclusive and comprehensive understanding of different in-memory computing technologies, and also hinder understanding and communication between different areas of academia and industry (e.g., semiconductor devices, IC design, computer architecture, etc.). Taking this as a starting point, this paper proposes a full spectrum of in-memory computing technology, which is comprehensively classified and evaluated.
The author abstracts the computation primitive into the form Z=X¤Y, where X and Y can be the input of a scalar or vector, Z is the output of a scalar, and ¤ is a symbol representing an in-memory computation operation. All in-memory computing techniques are classified into six types (XYZ-CIM, XZ-CIM, Z-CIM, XY-CIM, X-CIM, X-CIM, and O-CIM) based on whether inputs X and Y are provided by the memory cell, and whether the output Z is re-stored in the memory cell when the computation is completed (Figure 2). The authors further elaborate on the implementation of various in-memory computing technologies, summarize their main features, advantages and disadvantages, and some applications, as well as the challenges faced by these technologies in terms of device reliability, computational complexity, latency, and energy efficiency.
Figure 2. The full spectrum of in-memory computing technology
In summary, the full spectrum unifies all in-memory computing techniques into a contiguous whole, clarifies the basic principles of standard in-memory computing techniques across the full spectrum, and provides a unified standard that can evaluate different technologies in various aspects. Combined with this full spectrum, different types of in-memory computing technologies can be integrated based on the same storage technology to complement each other’s strengths, and it may also be used to develop other in-memory computing technologies, which is of great significance for the development of all in-memory computing technologies.
This research work was supported by the Ministry of Science and Technology of China, the National Natural Science Foundation of China, the 111 Program, the NSF-BSF Fund in Israel, and the Royal Academy of Engineering. (Source: Web of Science)
Related Paper Information:https://doi.org/10.1038/s41928-023-01053-4