Citation: 
Zhiting Lin, Zhongzhen Tong, Jin Zhang, Fangming Wang, Tian Xu, Yue Zhao, Xiulong Wu, Chunyu Peng, Wenjuan Lu, Qiang Zhao, Junning Chen. A review on SRAMbased computing inmemory: Circuits, functions, and applications[J]. Journal of Semiconductors, 2022, 43(3): 031401. doi: 10.1088/16744926/43/3/031401
****
Z T Lin, Z Z Tong, J Zhang, F M Wang, T Xu, Y Zhao, X L Wu, C Y Peng, W J Lu, Q Zhao, J N Chen, A review on SRAMbased computing inmemory: Circuits, functions, and applications[J]. J. Semicond., 2022, 43(3): 031401. doi: 10.1088/16744926/43/3/031401.

A review on SRAMbased computing inmemory: Circuits, functions, and applications
DOI: 10.1088/16744926/43/3/031401
More Information

Abstract
Artificial intelligence (AI) processes datacentric applications with minimal effort. However, it poses new challenges to system design in terms of computational speed and energy efficiency. The traditional von Neumann architecture cannot meet the requirements of heavily datacentric applications due to the separation of computation and storage. The emergence of computing inmemory (CIM) is significant in circumventing the von Neumann bottleneck. A commercialized memory architecture, static randomaccess memory (SRAM), is fast and robust, consumes less power, and is compatible with stateoftheart technology. This study investigates the research progress of SRAMbased CIM technology in three levels: circuit, function, and application. It also outlines the problems, challenges, and prospects of SRAMbased CIM macros. 
References
[1] Si X, Khwa W S, Chen J J, et al. A dualsplit 6T SRAMbased computinginmemory unitmacro with fully parallel productsum operation for binarized DNN edge processors. IEEE Trans Circuits Syst I, 2019, 66, 4172 doi: 10.1109/TCSI.2019.2928043[2] Khwa W S, Chen J J, Li J F, et al. A 65nm 4Kb algorithmdependent computinginmemory SRAM unitmacro with 2.3ns and 55.8TOPS/W fully parallel productsum operation for binary DNN edge processors. 2018 IEEE International SolidState Circuits Conference, 2018, 496[3] Jaiswal A, Chakraborty I, Agrawal A, et al. 8T SRAM cell as a multibit dotproduct engine for beyond von Neumann computing. IEEE Trans Very Large Scale Integr VLSI Syst, 2019, 27, 2556 doi: 10.1109/TVLSI.2019.2929245[4] Lu L, Yoo T, Le V L, et al. A 0.506pJ 16kb 8T SRAM with vertical read wordlines and selective dual split power lines. IEEE Trans Very Large Scale Integr VLSI Syst, 2020, 28, 1345 doi: 10.1109/TVLSI.2019.2956232[5] Lin Z T, Zhan H L, Li X, et al. Inmemory computing with double word lines and three read Ports for four operands. IEEE Trans Very Large Scale Integr VLSI Syst, 2020, 28, 1316 doi: 10.1109/TVLSI.2020.2976099[6] Srinivasa S, Chen W H, Tu Y N, et al. Monolithic3D integration augmented design techniques for computing in SRAMs. 2019 IEEE International Symposium on Circuits and Systems, 2019, 1[7] Zeng J M, Zhang Z, Chen R H, et al. DMIMCA: A dualmode inmemory computing architecture for general purpose processing. IEICE Electron Express, 2020, 17, 20200005 doi: 10.1587/elex.17.20200005[8] Ali M, Agrawal A, Roy K. RAMANN: inSRAM differentiable memory computations for memoryaugmented neural networks. Proceedings of the ACM/IEEE International Symposium on Low Power Electronics and Design, 2020, 61[9] Agrawal A, Jaiswal A, Roy D, et al. XcelRAM: Accelerating binary neural networks in highthroughput SRAM compute arrays. IEEE Trans Circuits Syst I, 2019, 66, 3064 doi: 10.1109/TCSI.2019.2907488[10] Biswas A, Chandrakasan A P. CONVSRAM: An energyefficient SRAM with inmemory dotproduct computation for lowpower convolutional neural networks. IEEE J Solid State Circuits, 2019, 54, 217 doi: 10.1109/JSSC.2018.2880918[11] Lin Z T, Zhu Z Y, Zhan H L, et al. Twodirection inmemory computing based on 10T SRAM with horizontal and vertical decoupled read Ports. IEEE J Solid State Circuits, 2021, 56, 2832 doi: 10.1109/JSSC.2021.3061260[12] Wang J C, Wang X W, Eckert C, et al. A 28nm compute SRAM with bitserial logic/arithmetic operations for programmable inmemory vector computing. IEEE J Solid State Circuits, 2020, 55, 76 doi: 10.1109/JSSC.2019.2939682[13] Wang J C, Wang X W, Eckert C, et al. A compute SRAM with bitserial integer/floatingpoint operations for programmable inmemory vector acceleration. 2019 IEEE International SolidState Circuits Conference, 2019, 224[14] Jiang H W, Peng X C, Huang S S, et al. CIMAT: a transpose SRAMbased computeinmemory architecture for deep neural network onchip training. Proceedings of the International Symposium on Memory Systems, 2019, 490[15] Zhang J T, Wang Z, Verma N. Inmemory computation of a machinelearning classifier in a standard 6T SRAM array. IEEE J Solid State Circuits, 2017, 52, 915 doi: 10.1109/JSSC.2016.2642198[16] Zhang J T, Wang Z, Verma N. A machinelearning classifier implemented in a standard 6T SRAM array. 2016 IEEE Symposium on VLSI Circuits, 2016, 1[17] Jiang Z W, Yin S H, Seok M, et al. XNORSRAM: Inmemory computing SRAM macro for binary/ternary deep neural networks. 2018 IEEE Symp VLSI Technol, 2018, 173[18] Agrawal A, Jaiswal A, Lee C, et al. XSRAM: Enabling inmemory Boolean computations in CMOS static random access memories. IEEE Trans Circuits Syst I, 2018, 65, 4219 doi: 10.1109/TCSI.2018.2848999[19] Jeloka S, Akesh N B, Sylvester D, et al. A 28 nm configurable memory (TCAM/BCAM/SRAM) using pushrule 6T bit cell enabling logicinmemory. IEEE J Solid State Circuits, 2016, 51, 1009 doi: 10.1109/JSSC.2016.2515510[20] Dong Q, Jeloka S, Saligane M, et al. A 4 2T SRAM for searching and inmemory computing with 0.3V V_{DDmin}. IEEE J Solid State Circuits, 2018, 53, 1006 doi: 10.1109/JSSC.2017.2776309[21] Rajput A K, Pattanaik M. Implementation of Boolean and arithmetic functions with 8T SRAM cell for inmemory computation. 2020 International Conference for Emerging Technology, 2020, 1[22] Jaiswal A, Agrawal A, Ali M F, et al. ISRAM: Interleaved wordlines for vector Boolean operations using SRAMs. IEEE Trans Circuits Syst I, 2020, 67, 4651 doi: 10.1109/TCSI.2020.3005783[23] Surana N, Lavania M, Barma A, et al. Robust and highperformance 12T interlocked SRAM for inmemory computing. 2020 Design, Automation & Test in Europe Conference & Exhibition, 2020, 1323[24] Simon W A, Qureshi Y M, Rios M, et al. BLADE: an incache computing architecture for edge devices. IEEE Trans Comput, 2020, 69, 1349 doi: 10.1109/TC.2020.2972528[25] Chen J, Zhao W F, Ha Y J. Areaefficient distributed arithmetic optimization via heuristic decomposition and inmemroy computing. 2019 IEEE 13th International Conference on ASIC, 2019, 1[26] Lee K, Jeong J, Cheon S, et al. Bit parallel 6T SRAM inmemory computing with reconfigurable bitprecision. 2020 57th ACM/IEEE Design Automation Conference, 2020, 1[27] Simon W, Galicia J, Levisse A, et al. A fast, reliable and widevoltagerange inmemory computing architecture. Proceedings of the 56th Annual Design Automation Conference, 2019, 1[28] Chen H C, Li J F, Hsu C L, et al. Configurable 8T SRAM for enbling inmemory computing. 2019 2nd International Conference on Communication Engineering and Technology, 2019, 139[29] Gupta N, Makosiej A, Vladimirescu A, et al. 1.56GHz/0.9V energyefficient reconfigurable CAM/SRAM using 6TCMOS bitcell. ESSCIRC 2017  43rd IEEE European Solid State Circuits Conference, 2017, 316[30] Sun X Y, Liu R, Peng X C, et al. Computinginmemory with SRAM and RRAM for binary neural networks. 2018 14th IEEE International Conference on SolidState and Integrated Circuit Technology, 2018, 1[31] Jiang Z W, Yin S H, Seo J S, et al. C3SRAM: inmemorycomputing SRAM macro based on capacitivecoupling computing. IEEE Solid State Circuits Lett, 2019, 2, 131 doi: 10.1109/LSSC.2019.2934831[32] Si X, Chen J J, Tu Y N, et al. A twin8T SRAM computationinmemory unitmacro for multibit CNNbased AI edge processors. IEEE J Solid State Circuits, 2020, 55, 189 doi: 10.1109/JSSC.2019.2952773[33] Chiu Y C, Zhang Z X, Chen J J, et al. A 4kb 1to8bit configurable 6T SRAMbased computationinmemory unitmacro for CNNbased AI edge processors. IEEE J Solid State Circuits, 2020, 55, 2790 doi: 10.1109/JSSC.2020.3005754[34] Chen Z Y, Yu Z H, Jin Q, et al. CAPRAM: A chargedomain inmemory computing 6TSRAM for accurate and precisionprogrammable CNN inference. IEEE J Solid State Circuits, 2021, 56, 1924 doi: 10.1109/JSSC.2021.3056447[35] Kang M G, Gonugondla S K, Patil A, et al. A multifunctional inmemory inference processor using a standard 6T SRAM array. IEEE J Solid State Circuits, 2018, 53, 642 doi: 10.1109/JSSC.2017.2782087[36] Kang M, Gonugondla S K, Keel M, et al. An energyefficient memorybased highthroughput VLSI architecture for convolutional networks. 2015 IEEE International Conference on Acoustics, Speech and Signal Processing, 2015, 1037[37] Dong Q, Sinangil M E, Erbagci B, et al. A 351TOPS/W and 372.4GOPS computeinmemory SRAM macro in 7nm FinFET CMOS for machinelearning applications. 2020 IEEE International SolidState Circuits Conference, 2020, 242[38] Sinangil M E, Erbagci B, Naous R, et al. A 7nm computeinmemory SRAM macro supporting multibit input, weight and output and achieving 351 TOPS/W and 372.4 GOPS. IEEE J Solid State Circuits, 2021, 56, 188 doi: 10.1109/JSSC.2020.3031290[39] Kang M G, Gonugondla S, Patil A, et al. A 481pJ/decision 3.4M decision/s multifunctional deep Inmemory inference processor using standard 6T sram array. arXiv: 1610.07501, 2016[40] Kang M G, Gonugondla S K, Shanbhag N R. A 19.4 nJ/decision 364K decisions/s inmemory random forest classifier in 6T SRAM array. ESSCIRC 2017  43rd IEEE European Solid State Circuits Conference, 2017, 263[41] Chang J, Chen Y H, Chan G, et al. A 5nm 135Mb SRAM in EUV and highmobilitychannel FinFET technology with metal coupling and chargesharing writeassist circuitry schemes for highdensity and lowVMIN applications. 2020 IEEE International SolidState Circuits Conference, 2020, 238[42] Si X, Tu Y N, Huang W H, et al. A 28nm 64Kb 6T SRAM computinginmemory macro with 8b MAC operation for AI edge chips. 2020 IEEE International SolidState Circuits Conference, 2020, 246[43] Su J W, Si X, Chou Y C, et al. A 28nm 64Kb inferencetraining twoway transpose multibit 6T SRAM computeinmemory macro for AI edge chips. 2020 IEEE International SolidState Circuits Conference, 2020, 240[44] Ali M, Jaiswal A, Kodge S, et al. IMAC: inmemory multibit multiplication and ACcumulation in 6T SRAM array. IEEE Trans Circuits Syst I, 2020, 67, 2521 doi: 10.1109/TCSI.2020.2981901[45] Gonugondla S K, Kang M G, Shanbhag N. A 42pJ/decision 3.12TOPS/W robust inmemory machine learning classifier with onchip training. 2018 IEEE International SolidState Circuits Conference, 2018, 490[46] Huang S S, Jiang H W, Peng X C, et al. XORCIM: computeinmemory SRAM architecture with embedded XOR encryption. Proceedings of the 39th International Conference on ComputerAided Design, 2020, 1[47] Kim H, Chen Q, Kim B. A 16K SRAMbased mixedsignal inmemory computing macro featuring voltagemode accumulator and rowbyrow ADC. 2019 IEEE Asian SolidState Circuits Conference, 2019, 35[48] Jain S, Lin L Y, Alioto M. Broadpurpose inmemory computing for signal monitoring and machine learning workloads. IEEE Solid State Circuits Lett, 2020, 3, 394 doi: 10.1109/LSSC.2020.3024838[49] Bose S K, Mohan V, Basu A. A 75kb SRAM in 65nm CMOS for inmemory computing based neuromorphic image denoising. 2020 IEEE International Symposium on Circuits and Systems, 2020, 1[50] Kang M G, Keel M S, Shanbhag N R, et al. An energyefficient VLSI architecture for pattern recognition via deep embedding of computation in SRAM. 2014 IEEE International Conference on Acoustics, Speech and Signal Processing, 2014, 8326[51] Gong M X, Cao N Y, Chang M Y, et al. A 65nm thermometerencoded time/chargebased computeinmemory neural network accelerator at 0.735pJ/MAC and 0.41pJ/update. IEEE Trans Circuits Syst II, 2021, 68, 1408 doi: 10.1109/TCSII.2020.3027801[52] Lee E, Han T, Seo D, et al. A chargedomain scalableweight inmemory computing macro with dualSRAM architecture for precisionscalable DNN accelerators. IEEE Trans Circuits Syst I, 2021, 68, 3305 doi: 10.1109/TCSI.2021.3080042[53] Kim J, Koo J, Kim T, et al. Areaefficient and variationtolerant inmemory BNN computing using 6T SRAM array. 2019 Symposium on VLSI Circuits, 2019, C118[54] Noel J P, Pezzin M, Gauchi R, et al. A 35.6 TOPS/W/mm^{2} 3stage pipelined computational SRAM with adjustable form factor for highly datacentric applications. IEEE Solid State Circuits Lett, 2020, 3, 286 doi: 10.1109/LSSC.2020.3010377[55] Jiang H W, Peng X C, Huang S S, et al. CIMAT: A computeinmemory architecture for onchip training based on transpose SRAM arrays. IEEE Trans Comput, 2020, 69, 944[56] Biswas A, Chandrakasan A P. ConvRAM: An energyefficient SRAM with embedded convolution computation for lowpower CNNbased machine learning applications. 2018 IEEE International SolidState Circuits Conference, 2018, 488[57] Nguyen V T, Kim J S, Lee J W. 10T SRAM computinginmemory macros for binary and multibit MAC operation of DNN edge processors. IEEE Access, 2021, 9, 71262 doi: 10.1109/ACCESS.2021.3079425[58] Jiang Z W, Yin S H, Seo J S, et al. C3SRAM: an inmemorycomputing SRAM macro based on robust capacitive coupling computing mechanism. IEEE J Solid State Circuits, 2020, 55, 1888 doi: 10.1109/JSSC.2020.2992886[59] Jia H Y, Ozatay M, Tang Y Q, et al. A programmable neuralnetwork inference accelerator based on scalable inmemory computing. 2021 IEEE International SolidState Circuits Conference, 2021, 236[60] Jia H Y, Valavi H, Tang Y Q, et al. A programmable heterogeneous microprocessor based on bitscalable inmemory computing. IEEE J Solid State Circuits, 2020, 55, 2609 doi: 10.1109/JSSC.2020.2987714[61] Valavi H, Ramadge P J, Nestler E, et al. A mixedsignal binarized convolutionalneuralnetwork accelerator integrating dense weight storage and multiplication for reduced data movement. 2018 IEEE Symposium on VLSI Circuits, 2018, 141[62] Su J W, Chou Y C, Liu R H, et al. A 28nm 384kb 6TSRAM computationinmemory macro with 8b precision for AI edge chips. 2021 IEEE International Solid State Circuits Conference, 2021, 250[63] KhaddamAljameh R, Francese P A, Benini L, et al. An SRAMbased multibit inmemory matrixvector multiplier with a precision that scales linearly in area, time, and power. IEEE Trans Very Large Scale Integr VLSI Syst, 2020, 29, 372 doi: 10.1109/TVLSI.2020.3037871[64] Zhang J, Lin Z T, Wu X L, et al. An 8T SRAM array with configurable word lines for inmemory computing operation. Electronics, 2021, 10, 300 doi: 10.3390/electronics10030300[65] Nasrin S, Ramakrishna S, Tulabandhula T, et al. SupportedBinaryNet: Bitcell arraybased weight supports for dynamic accuracyenergy tradeoffs in SRAMbased binarized neural network. 2020 IEEE International Symposium on Circuits and Systems, 2020, 1[66] Gonugondla S K, Kang M G, Shanbhag N R. A variationtolerant inmemory machine learning classifier via onchip training. IEEE J Solid State Circuits, 2018, 53, 3163 doi: 10.1109/JSSC.2018.2867275[67] Wang B, Nguyen T Q, Do A T, et al. Design of an ultralow voltage 9T SRAM with equalized bitline leakage and CAMassisted energy efficiency improvement. IEEE Trans Circuits Syst I, 2015, 62, 441 doi: 10.1109/TCSI.2014.2360760[68] Xue C X, Zhao W C, Yang T H, et al. A 28nm 320kb TCAM macro using splitcontrolled singleload 14T cell and triplemargin voltage sense amplifier. IEEE J Solid State Circuits, 2019, 54, 2743 doi: 10.1109/JSSC.2019.2915577[69] Jiang H W, Liu R, Yu S M. 8T XNORSRAM based parallel computeinmemory for deep neural network accelerator. 2020 IEEE 63rd International Midwest Symposium on Circuits and Systems, 2020, 257[70] Kang M G, Shanbhag N R. Inmemory computing architectures for sparse distributed memory. IEEE Trans Biomed Circuits Syst, 2016, 10, 855 doi: 10.1109/TBCAS.2016.2545402[71] Jain S, Lin L Y, Alioto M. ±CIM SRAM for signed inmemory broadpurpose computing from DSP to neural processing. IEEE J Solid State Circuits, 2021, 56, 2981 doi: 10.1109/JSSC.2021.3092759[72] Yue J S, Feng X Y, He Y F, et al. A 2.75to75.9TOPS/W computinginmemory NN processor supporting setassociate blockwise zero skipping and Pingpong CIM with simultaneous computation and weight updating. 2021 IEEE International Solid State Circuits Conference, 2021, 238[73] Yang X X, Zhu K R, Tang X Y, et al. An inmemorycomputing chargedomain ternary CNN classifier. 2021 IEEE Custom Integrated Circuits Conference, 2021, 1[74] LeCun Y. Deep learning hardware: Past, present, and future. 2019 IEEE International SolidState Circuits Conference, 2019, 12[75] Chih Y D, Lee P H, Fujiwara H, et al. 16.4 an 89TOPS/W and 16.3TOPS/mm^{2} alldigital SRAMbased fullprecision computein memory macro in 22nm for machinelearning edge applications. 2021 IEEE International SolidState Circuits Conference, 2021, 252[76] Sie S H, Lee J L, Chen Y R, et al. MARS: multimacro architecture SRAM CIMbased accelerator with codesigned compressed neural networks. IEEE Trans Comput Aided Des Integr Circuits Syst, 2021, in press doi: 10.1109/TCAD.2021.3082107[77] Agrawal A, Kosta A, Kodge S, et al. CASHRAM: Enabling inmemory computations for edge inference using charge accumulation and sharing in standard 8TSRAM arrays. IEEE J Emerg Sel Top Circuits Syst, 2020, 10, 295 doi: 10.1109/JETCAS.2020.3014250[78] Yue J S, Yuan Z, Feng X Y, et al. A 65nm computinginmemorybased CNN processor with 2.9to35.8TOPS/W system energy efficiency using dynamicsparsity performancescaling architecture and energyefficient inter/intramacro data reuse. 2020 IEEE International SolidState Circuits Conference, 2020, 234[79] Lin Z T, Zhan H L, Chen Z W, et al. Cascade current mirror to improve linearity and consistency in SRAM inmemory computing. IEEE J Solid State Circuits, 2021, 56, 2550 doi: 10.1109/JSSC.2021.3063719[80] Lin Z T, Fang Y Q, Peng C Y, et al. Current mirrorbased compensation circuit for multirow read inmemory computing. Electron Lett, 2019, 55, 1176 doi: 10.1049/el.2019.2415[81] Kim Y, Kim H, Park J, et al. Mapping binary resnets on computinginmemory hardware with lowbit ADCs. 2021 Design, Automation & Test in Europe Conference & Exhibition, 2021, 856 
Proportional views