Computing-in-memory (CIM) promises to alleviate the Von Neumann bottleneck and accelerate data-intensive applications. Depending on the underlying technology and configuration, CIM enables implementing compute primitives in place, such as multiplication, search operations, and bulk bitwise logic operations. Emerging nonvolatile memory technologies such as spintronic Racetrack memory (RTM) promise not only unprecedented density but also significant parallelism through CIM. However, most CIM designs, including those based on RTM, exhibit high fault rates. Existing error correction codes (ECC) are not homomorphic over bitwise operations such as AND and OR, and hence cannot protect against CIM faults. This paper proposes CIRM-ECC, a technique to protect spintronic RTMs against CIM faults. At the core of CIRM-ECC, we use a recently proposed RTM-based CIM approach and leverage its peripheral circuitry to our implement our novel ECC codes. We show that CIRM-ECC can be applied to single-bit Hamming codes as well as multi-bit BCH codes.
翻译:内存计算(CIM)有望缓解冯·诺依曼瓶颈并加速数据密集型应用。根据底层技术和配置,CIM能够原位实现计算原语,例如乘法、搜索操作和批量位逻辑运算。新兴的非易失性存储器技术,如自旋电子赛道存储器(RTM),不仅有望实现前所未有的存储密度,还能通过CIM实现显著的并行性。然而,大多数CIM设计(包括基于RTM的设计)都存在较高的故障率。现有的纠错码(ECC)对位操作(如AND和OR)不具备同态性,因此无法防护CIM故障。本文提出CIRM-ECC技术,用于防护自旋电子RTM中的CIM故障。CIRM-ECC的核心在于采用近期提出的基于RTM的CIM方法,并利用其外围电路实现我们新型的ECC编码。我们证明CIRM-ECC可应用于单比特汉明码以及多比特BCH码。