Machine learning algorithms often deal with large volumes of data focusing on data analytics, inference, and decision‐making. These algorithms require frequent memory/storage access and highly parallel largescale computations. Real‐time response (performance) and energy consumption of such algorithms are mostly determined by memory accesses or data transfer. Conventional computing systems (von Neumann architecture) are designed such that computation and data are inherently separated. Such systems often suffer from large latency and data transfer costs. Even though CMOS technology scaling provide exponential growth of speeds and storage densities over time (Moore’s law), data transfer rates between the processor and memory have been lagging behind. Thus, the processing capabilities of today’s systems are limited by data transfer rates, which is known as the von Neumann bottleneck or memory wall. In addition, the impact of data transfer for typical data intense computation is a big percentage of system energy. Recent studies of machine learning algorithm and Neural network showed that greater than 65% of energy is consumed by memory access. Hence, techniques that radically reduce these costs for such applications are needed.
Most of traditional architecture solutions of negative impact of memory access on performance and energy are focusing on employing multi‐level memory system and architecture. The ideal solution is to decrease the distance between the system memory and processing to zero. Memristor technology is an emerging Resistive Random Access Memory (RRAM) technology that holds great potential to play a role in achieving close to ideal solution by enabling In‐Memory‐ Computing (IMC) for both digital and analog type operations. In addition to reducing the memory bottleneck, IMC makes it possible for IoT type of systems to do local processing and decision making that enables autonomous application. The objective of the proposed research is to explore memristor-based architectures to perform machine learning for pattern recognition applications in IoT devices.