Skip to main content
Ir a la página de inicio de la Comisión Europea (se abrirá en una nueva ventana)
español español
CORDIS - Resultados de investigaciones de la UE
CORDIS

Memristive In-Memory Processing System

Periodic Reporting for period 4 - Real-PIM-System (Memristive In-Memory Processing System)

Período documentado: 2022-07-01 hasta 2023-12-31

In our project, we developed a new computer architecture that enables true in-memory processing based on a unit that can both store and process data using the same cells. This unit, called a memristive memory processing unit (mMPU), substantially reduced the necessity of moving data in computing systems, addressing the two main bottlenecks of current computing systems: speed ('memory wall') and energy efficiency ('power wall'). Emerging memory technologies, namely memristive devices, enabled the mMPU. While memristors are naturally used as memory, these novel devices can also perform logical operations using a technique we invented called Memristor Aided Logic (MAGIC). This combination formed the basis of the mMPU.

The goal of this research was to design a fully functional mMPU and demonstrate a real computing system with significantly improved performance and energy efficiency. We identified four main research tasks to demonstrate a full system utilizing the mMPU: mMPU design, system architecture and software, modeling and evaluation, and fabrication. Both the memristive memory array and the mMPU control were designed and optimized for different technologies in the first objective. For example, we developed tools such as SIMPLE and SIMPLER for automation of the controller design. The second objective dealt with various aspects of the system, including the programming model, different mMPU modes of operation and their corresponding system implications, compiler and operating systems, and others. For example, we explored different consistency models for the mMPU. To evaluate our system, we developed models, simulators, and evaluation tools in the third objective to measure the performance, area, and energy, and to compare them to other state-of-the-art computing systems. Lastly, we fabricated the different parts of the system and demonstrated their performance on several applications such as DNA sequencing, relational databases, and image processing.

During the project, we explored different technologies for processing with memristors (RRAM, CBRAM, PCM, Y-Flash, STT-MRAM), including experimental demonstrations of some of them. We also developed algorithms and tools to support the execution of different functions within the memory and for accurate evaluation of the performance and energy of in-memory processing. Additionally, we explored different architectures, protocols, and circuit design issues relevant to the mMPU. Our work resulted in significant advancements in in-memory processing technologies, paving the way for future innovations in computer architecture and specifically for processing-in-memory solutions.
Throughout the project, we investigated several aspects of the memristive memory processing unit (mMPU) system in parallel.

**Memristive Technology Exploration and Manufacturing:**
We explored valence change memristors (VCM) and phase change memory (PCM), experimentally demonstrating their capability to perform logic operations. In collaboration with Tower Semiconductor, we demonstrated that their Y-Flash devices could function as memristors suitable for computation. Additionally, we showed through simulations that STT-MRAM and SOT-MRAM could support our basic MAGIC technique. We also studied the influence of device, circuit, and environmental variations on real processing in memristive memory.

**mMPU Controller Design:**
We developed several algorithms to perform various functions. Notably, we presented IMAGING, algorithms for image processing within the mMPU based on fixed-point operations. We also developed SIMPLE and SIMPLER, two synthesis tools to support any desired function as part of the controller design. Furthermore, we created AritPIM, an algorithm suite to support basic arithmetic operations for fixed-point and floating-point numbers and demonstrated how to perform different computational tasks such as matrix multiplication.

We extended the capabilities of MAGIC, developing techniques such as X-MAGIC that perform more logic gates without the need for initialization. We proposed other stateful logic gates, more suitable for different memristive technologies. In addition to stateful logic, we explored other processing-in-memory techniques for neural networks, true random number generation, databases, genomics, and tunable devices.

**System Architecture:**
We developed CONCEPT, a protocol for the interface of the mMPU, and explored the mMPU architecture. We presented abstractPIM, a tool to explore the instruction set architecture of mMPU systems as part of the programming model development and operation hierarchy. We addressed system issues such as coherency and consistency and developed an analytical model called Bitlet to evaluate the benefits of processing in memory.

**Exploitation and Dissemination of Results:**
The results of our research have been disseminated through numerous publications in high-impact journals and conferences. This project was presented in numerous conferences, seminars, and workshops by the PI and the students involved in the project. We have also engaged with industry partners to explore potential applications and commercialization of our findings. Our work has resulted in significant advancements in in-memory processing technologies, and we continue to collaborate with academic and industrial partners to further develop and exploit these innovations.
Our project has made substantial progress beyond the current state of the art in several key areas of in-memory processing technology. We successfully demonstrated the feasibility of using various memristive devices, such as VCM, PCM, Y-Flash, STT-MRAM, and SOT-MRAM, for performing logic operations directly within memory, which is a significant advancement over traditional memory technologies that are primarily used for storage.

We developed novel algorithms and tools, which enable complex computational tasks such as image processing and arithmetic operations to be efficiently executed within the memristive memory processing unit (mMPU). We demonstrated that our proposed algorithms for arithmetic operations outperform GPUs by 10X to 1000X. We also showed that in applications such as genomics and relational databases, the performance of the mMPU is 5X to 100X over a CPU or a GPU.
VCM crossbar used to demonstrate memristor aided logic (MAGIC) gates
Winbond shuttle RRAM integrated design with 32x32 crossbars, peripheral circuits and control logic
Mi folleto 0 0