Thank you for visiting nature.com. You are using a browser version with limited support for CSS. To obtain
the best experience, we recommend you use a more up to date browser (or turn off compatibility mode in
Internet Explorer). In the meantime, to ensure continued support, we are displaying the site without styles
and JavaScript.
The separation of memory and processor units in von Neumann architecture has been a severe conceptual constraint for further growth of traditional computing systems. Concurrently, the emergence of data-centric computing and physical downscaling limits of conventional technologies necessitate the development of alternative computational approaches for future nanoelectronics. The majority of the proposed solutions involve a computational system design that is loosely based on the human brain structure including in-memory computing based on the idea of collocating memory and processing units. This way, the redundancy associated with data traffic could be entirely eliminated if computational tasks and data storage are both performed in place in the memory itself. From the perspective of material science, exploring the potential of emerging nanomaterials could enable the much needed departure from conventional approaches and is particularly promising in the context of neuromorphic computing. Neuromorphic nanoelectronic materials ranging from zero-dimensional, one-dimensional and two-dimensional (2D) nanomaterials to van der Waals heterostructures and mixed-dimensional heterojunctions have been actively explored for future nanoelectronics. One of the most studied class of materials, 2D materials and their van der Waals heterostructures offer the possibility of integration with the existing Si complementary metal–oxide–semiconductor (CMOS) technology, in-memory computing platforms and matrix computing for artificial neural networks and spiking neural networks applications. Overall, non-von Neumann approaches will require a range of new materials, devices, hardware architectures, software and simulation tools to meet the application-specific needs of modern digital technology all while providing reduced latency and improved energy and area efficiency with respect to conventional computing systems.
This Review provides an overview of memory devices and the key computational primitives for in-memory computing, and examines the possibilities of applying this computing approach to a wide range of applications.