I. Introduction
The memristor was theorized in 1971 [1], and was first discovered in physical form in 2008 [2], [3]. The memristor devices we consider in this paper are nonvolatile nanoscale two-terminal passive circuit elements that have dynamic resistance dependent on the total charge applied between the positive and negative terminals. Given its unique device properties, the memristor has been proposed for use in many novel memory [4], logic [5], [6], and neuromorphic systems. Memristor-based neuromorphic systems are especially interesting, as they involve using memristors to mimic the functionality of a synapse in brain tissue [7], [8]. Just as electrochemical pulses are applied to a synapse to change connection strength, voltage pulses can be applied to a memristor to change the resistance. Memristors can be arranged in a crossbar [9] to provide high density and high connectivity, leading to massively parallel analog computation. Using this approach, several memristor-based neural systems have been proposed, including on-line learning [10] and deep network implementation [11]. Neuromorphic systems based on memristor crossbars have potential to perform at a power efficiency of 6 to 8 orders of magnitude greater than that of traditional RISC processors [12].