IP Library › Granted Patent US 12,633,323
Granted Patent B2
US 12,633,323 · App. 18/233,522 · Granted May 19, 2026

Memory architecture supporting both conventional memory access mode and digital in-memory computation processing mode

Inventors: Harsh Rawat (Haryana, IN); Nitin Chawla (Noida, IN); Promod Kumar (Greater Noida, IN); Kedar Janardan Dhori (Ghaziabad, IN); Manuj Ayodhyawasi (Noida, IN)
Assignee: STMicroelectronics International N.V.
G11C7/1009G11C7/1057G11C7/106G11C7/1087G11C7/109G11C7/1096G11C7/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,633,323
App. No.
18/233,522
Granted
May 19, 2026
Kind
B2
Abstract

The memory array of a circuit includes sub-arrays with memory cells arranged in a row-column matrix where each row includes a word line and each sub-array column includes a local bit line. A control circuit supports two modes of circuit operation: a first mode where only one word line in the memory array is actuated during a memory read and a second mode where one word line per sub-array are simultaneously actuated during the memory read. An input/output circuit for each column includes inputs to the local bit lines of the sub-arrays, a column data output coupled to the bit line inputs, and a sub-array data output coupled to each bit line input. In memory computation operations are performed in the second mode as a function of feature data and weight data stored in the memory.

Claims (68)

1 . A circuit, comprising:

a memory array including a plurality of sub-arrays, wherein each sub-array includes memory cells arranged in a matrix with plural rows and plural columns, each row including a word line connected to the memory cells of the row, and each column including a local bit line connected to the memory cells of the column;

a word line drive circuit for each row having an output connected to drive the word line of the row;

a row decoder circuit coupled to the word line drive circuits;

a control circuit configured to support two modes of memory circuit operation including: a first mode where the row decoder circuit actuates only one word line in the memory array during a memory access operation and a second mode where the row decoder circuit simultaneously actuates only one word line per sub-array during an in-memory computation operation;

an input/output circuit for each column comprising:

a plurality of bit line inputs coupled to the local bit lines of the sub-arrays;

a column data output coupled to the plurality of bit line inputs and configured to generate a column data bit for output in the first mode; and

a plurality of sub-array data outputs, where each sub-array data output is coupled to a corresponding one of the plurality of bit line inputs, and configured to generate a plurality of sub-array data bits for output in the second mode; and

a processing circuit configured to receive feature data and perform a computational operation as a function of the feature data and the plurality of sub-array data bits.

2 . The circuit of claim 1 , wherein each memory cell is a static random access memory (SRAM) cell.

3 . The circuit of claim 2 , wherein the SRAM cell is an 8T-type cell, wherein the word line is a read word line of the 8T-type cell and the local bit line is a read bit line of the 8T-type cell.

4 . The circuit of claim 2 , wherein the SRAM cell is a 6T-type cell, wherein the word line is a word line of the 6T-type cell and the local bit line is one bit line of a complementary pair of bit lines for the 6T-type cell.

5 . The circuit of claim 1 , wherein each memory cell is a non-volatile memory cell with a deterministic output.

6 . The circuit of claim 1 , wherein the input/output circuit for each column further comprises, between each bit line input and a corresponding sub-array data output:

a first latch circuit and a first buffer circuit; and

a first multiplexing circuit having a first input coupled to the bit line input, an output coupled to the first latch circuit and the first buffer circuit, and a second input coupled to the output of the first multiplexing circuit;

wherein a selection input of the first multiplexing circuit is configured to receive a mode control signal, the first multiplexing circuit selecting the second input when the mode control signal is in a first state corresponding to the first mode and selecting the first input when the mode control signal is in a second state corresponding to the second mode.

7 . The circuit of claim 6 , wherein the input/output circuit for each column further comprises a read circuit coupled between the bit line input and the first input of the first multiplexing circuit.

8 . The circuit of claim 6 , wherein the input/output circuit for each column further comprises, between the plurality of bit line inputs and the column data output:

a second latch circuit and a second buffer circuit; and

a second multiplexing circuit having a first input coupled the plurality of bit line inputs, an output coupled to the second latch circuit and the second buffer circuit, and a second input coupled to the output of the second multiplexing circuit;

wherein a selection input of the second multiplexing circuit is configured to receive the mode control signal, the second multiplexing circuit selecting the first input when the mode control signal is in the first state corresponding to the first mode and selecting the second input when the mode control signal is in the second state corresponding to the second mode.

9 . The circuit of claim 8 , wherein the input/output circuit for each column further comprises a read circuit coupled between the plurality of bit line inputs and the first input of the second multiplexing circuit.

10 . The circuit of claim 1 , wherein the input/output circuit for each column further comprises, between a column data input and a column write bit line coupled to the memory array:

a write logic circuit; and

a third multiplexing circuit having a first input coupled to the column data input and a second input coupled by a logic inverter to the column data input;

wherein a selection input of the third multiplexing circuit is configured to receive an invert control signal, the third multiplexing circuit selecting the first input when the invert control signal is in a first state for writing non-inverted data to the memory array and selecting the second input when the invert control signal is in a second state for writing inverted data to the memory array.

11 . The circuit of claim 10 , wherein the input/output circuit for each column further comprises, between each bit line input and a corresponding sub-array data output:

a fourth multiplexing circuit having a first input coupled to the bit line input and a second input coupled by a logic inverter to the bit line input;

wherein a selection input of the fourth multiplexing circuit is configured to receive the invert control signal, the fourth multiplexing circuit selecting the first input when the invert control signal is in the first state for reading non-inverted data from the memory array and selecting the second input when the invert control signal is in the second state for reading inverted data from the memory array.

12 . The circuit of claim 11 , wherein the input/output circuit for each column further comprises, between each bit line input and the corresponding sub-array data output:

a first latch circuit and a first buffer circuit; and

a first multiplexing circuit having a first input coupled to an output of the fourth multiplexing circuit, an output coupled to the first latch circuit and the first buffer circuit, and a second input coupled to the output of the first multiplexing circuit;

wherein a selection input of the first multiplexing circuit is configured to receive a mode control signal, the first multiplexing circuit selecting the second input when the mode control signal is in a first state corresponding to the first mode and selecting the first input when the mode control signal is in a second state corresponding to the second mode.

13 . The circuit of claim 11 , wherein the invert control signal is associated with a specific sub-array of the plurality of sub-arrays.

14 . The circuit of claim 1 :

wherein the row decoder circuit comprises a plurality of sub-decoder circuits corresponding to the plurality of sub-arrays;

wherein the control circuit is configured to receive an address and includes a predecoder circuit configured to predecode the address and generate decoder control signals for application to the plurality of sub-decoder circuits; and

wherein each sub-decoder circuit selectively generates a word line signal on a word line in response to said decoder control signals.

15 . The circuit of claim 14 , wherein in the first mode only one of the plurality of sub-decoder circuits generates one word line signal and wherein in the second mode each of the plurality of sub-decoder circuits generates one word line signal on a word line.

16 . The circuit of claim 15 , wherein the control circuit is configured to generate a mask signal, and wherein each of the plurality of sub-decoder circuits is selectively enabled for generating the one word line signal in response to the mask signal.

17 . The circuit of claim 1 :

wherein the row decoder circuit comprises a plurality of sub-decoder circuits corresponding to the plurality of sub-arrays;

wherein the control circuit is configured, in the first mode, to receive a first address and includes a first predecoder circuit configured to predecode the first address and generate decoder control signals for application to the plurality of sub-decoder circuits; and

wherein only one of the plurality of sub-decoder circuits generates one word line signal on a word line in response to said decoder control signals.

18 . The circuit of claim 1 :

wherein the row decoder circuit comprises a plurality of sub-decoder circuits corresponding to the plurality of sub-arrays;

wherein the control circuit is configured, in the second mode, to receive a plurality of second addresses corresponding to the plurality of sub-decoder circuits and includes a second predecoder circuit configured to predecode the plurality of second addresses and generate decoder control signals for application to the plurality of sub-decoder circuits; and

wherein each of the plurality of sub-decoder circuits generates one word line signal on a selected word line in response to said decoder control signals.

19 . A circuit, comprising:

a memory array including a plurality of sub-arrays, wherein each sub-array includes memory cells arranged in a matrix with plural rows and plural columns, each row including a word line connected to the memory cells of the row, and each column including a local bit line connected to the memory cells of the column;

a word line drive circuit for each row having an output connected to drive the word line of the row;

a row decoder circuit coupled to the word line drive circuits, where the row decoder circuit operates in a first mode for memory read access to actuate only one word line in the memory array, and wherein the row decoder operates in a second mode during an in-memory computation operation to simultaneously actuate only one word line per sub-array;

an input/output circuit for each column comprising:

a plurality of bit line inputs coupled to the local bit lines of the sub-arrays;

a column data output coupled to the plurality of bit line inputs and configured to generate a column data bit for output in the first mode for memory read access; and

a plurality of sub-array data outputs, where each sub-array data output is coupled to a corresponding one of the plurality of bit line inputs, and configured to generate a plurality of sub-array data bits for output in the second mode for in-memory computation operation.

20 . The circuit of claim 19 , wherein the input/output circuit for each column further comprises, between each bit line input and corresponding sub-array data output:

a first latch circuit and a first buffer circuit; and

a first multiplexing circuit having a first input coupled to the bit line input, an output coupled to the first latch circuit and the first buffer circuit, and a second input coupled to the output of the first multiplexing circuit;

wherein a selection input of the first multiplexing circuit is configured to receive a mode control signal, the first multiplexing circuit selecting the second input when the mode control signal is in a first state and selecting the first input when the mode control signal is in a second state.

21 . The circuit of claim 20 , wherein the input/output circuit for each column further comprises a read circuit coupled between the bit line input and the first input of the first multiplexing circuit.

22 . The circuit of claim 20 , wherein the input/output circuit for each column further comprises, between the plurality of bit line inputs and the column data output:

a second latch circuit and a second buffer circuit; and

a second multiplexing circuit having a first input coupled the plurality of bit line inputs, an output coupled to the second latch circuit and the second buffer circuit, and a second input coupled to the output of the second multiplexing circuit;

wherein a selection input of the second multiplexing circuit is configured to receive the mode control signal, the second multiplexing circuit selecting the first input when the mode control signal is in the first state and selecting the second input when the mode control signal is in the second state.

23 . The circuit of claim 22 , wherein the input/output circuit for each column further comprises a read circuit coupled between the plurality of bit line inputs and the first input of the second multiplexing circuit.

Continuity (2)
Provisional Application 63402208 · Aug 30, 2022
Related Publication 20240071439A1 · Feb 29, 2024
References Cited (45)
US 5530824A · Peng et al. · 1996 [cited by applicant]
US 6816408B2 · Blodgett · 2004 [cited by applicant]
US 6909663B1 · Vernenker et al. · 2005 [cited by applicant]
US 9007848B2 · Feki · 2015 [cited by applicant]
US 9646658B1 · Park · 2017 [cited by examiner]
US 10210935B2 · Akerib et al. · 2019 [cited by applicant]
US 10565138B2 · Kavalieros et al. · 2020 [cited by applicant]
US 10748603B2 · Sumbul et al. · 2020 [cited by applicant]
US 10802735B1 · Guzy · 2020 [cited by examiner]
US 11474788B2 · Chawla et al. · 2022 [cited by applicant]
US 12106804B2 · Gopinath · 2024 [cited by examiner]
US 20150309743A1 · Sohn · 2015 [cited by examiner]
US 20170255390A1 · Chang · 2017 [cited by examiner]
US 20180107406A1 · O · 2018 [cited by examiner]
US 20190205095A1 · Gupta et al. · 2019 [cited by applicant]
US 20200126178A1 · Munteanu et al. · 2020 [cited by applicant]
US 20200160157A1 · Kim et al. · 2020 [cited by applicant]
US 20200174786A1 · Zhang · 2020 [cited by examiner]
US 20200258890A1 · Augustine et al. · 2020 [cited by applicant]
US 20230102492A1 · Rawat et al. · 2023 [cited by applicant]
US 20250246215A1 · Chung · 2025 [cited by examiner]
Agrawal et al., “Xcel-RAM: Accelerating Binary Neural Networks in High-Throughput SRAM Compute Arrays” arXiv:1807.00343v2, 10 pages. [cited by applicant]
Agrawal, Amogh, et al: X-SRAM: Enabling In-Memory Boolean Computations in CMOS Static Random Access Memories, IEEE Transactions on Circuits and Systems-I: Regular Papers, vol. 65, No. 12, Dec. 2018. [cited by applicant]
Biswas, Avishek, et al: CONF-SRAM: An Energy-Efficient SRAM With In-Memory Dot-Product Computation for Low-Power Convolution for Low-Power Convolutional Neural Networks, IEEE Journal of Solid-State Circuits, vol. 54, No… [cited by applicant]
Dong, Qing, et al.: A 351TOPS/W and 372.4GOPS Compute-in-Memory SRAM Macro in 6nm FinFET CMOS for Machine-Learning Applications, ISSCC 2020, Session 15, SRAM & Compute-In-Memory, 15.3. [cited by applicant]
H. Jia et al., 15.1 A Programmable Neural-Network Inference Accelerator Based on Scalable In-Memory Computing, 2021 IEEE International Solid-State Circuits Conference (ISSCC), 2021, pp. 236-238, doi: 10.1109/ISSCC42613.… [cited by applicant]
H. Jia et al., Scalable and Programmable Neural Network Inference Accelerator Based on In-Memory Computing, in IEEE Journal of Solid-State Circuits, vol. 57, No. 1, pp. 198-211, Jan. 2022, doi: 10.1109/JSSC.2021.3119018. [cited by applicant]
J.-W. Su et al., 16.3 A 28nm 384kb 6T-SRAM Computation-in-Memory Macro with 8b Precision for AI Edge Chips, 2021 IEEE International Solid-State Circuits Conference (ISSCC), 2021, pp. 250-252, doi: 10.1109/ISSCC42613.202… [cited by applicant]
J. Lee, H. Valavi, Y. Tang and N. Verma, Fully Row/Column-Parallel In-memory Computing SRAM Macro employing Capacitor-based Mixed-signal Computation with 5-b Inputs, 2021 Symposium on VLSI Circuits, 2021, pp. 1-2, doi: … [cited by applicant]
Jia, Hongyang, et al: A Programmable Heterogeneous Microprocessor Based on Bit-Scalable In-Memory Computing, IEEE Journal of Solid-State Circuits, vol. 55, No. 9, Sep. 2020. [cited by applicant]
Jiang, Zhewei, et al: C3SRAM: An In-Memory-Computing SRAM Macro Based on Robust Capacitive Coupling Computing Mechanism, IEEE Journal of Solid-State Circuits, vol. 55, No. 7, Jul. 2020. [cited by applicant]
Kang, Mingu, et al: A Multi-Functional In-Memory Inference Processor Using a Standard 6T SRAM Array, IEEE Journal of Solid-State Circuits, vol. 53, No. 2, Feb. 2018. [cited by applicant]
Si, Xin, et al: A 28nm 64Kb 6T SRAM Computing-in-Memory Macro with 8b MAC Operation for AI Edge Chips, ISSCC 2020, Session 15, SRAM & Compute-In-Memorya, 15.5. [cited by applicant]
Si, Xin, et al: A Twin-8T SRAM Computation-In-Memory Macro for Multipe-Bit CNN-Based Machine Learning, ISSCC 2019, Session 24, SRAM & Computation-In-Memory, 24.5. [cited by applicant]
Su, Jian-Wei, et al: A 28nm 64Kb Inference-Taining Two-Way Transpose Multibit 6T SRAM Compute-in-Memory Macro for AI Edge Chips, ISSCC 2020, Session 15, SRAM & Compute-In-Memory, 15.2. [cited by applicant]
V. K. Rajanna, S. Taneja and M. Alioto, SRAM with In-Memory Inference and 90% Bitline Activity Reduction for Always-On Sensing with 109 TOPS/mm2 and 749-1,459 TOPS/W in 28nm, ESSDERC 2021—IEEE 51st European Solid-State … [cited by applicant]
Valavi, Hossein, et al: A 64-Tile 2.4-Mb In-Memory-Computing CNN Accelerator Employing Charge-Domain Compute, IEEE Journal of Solid-State Circuits, vol. 54, No. 6, Jun. 2019. [cited by applicant]
Verma, Naveen, et al.: “In-Memory Computing Advances and Prospects,” IEEE Solid-State Circuits Magazine, Summer 2019, pp. 43-55. [cited by applicant]
Y.-D. Chih et al., 16.4 An 89TOPS/W and 16.3TOPS/mm2 All-Digital SRAM-Based Full-Precision Compute-In Memory Macro in 22nm for Machine-Learning Edge Applications, 2021 IEEE International Solid-State Circuits Conference … [cited by applicant]
Yin, Shihui, et al: XNOR-SRAM: In-Memory Computing SRAM Macro for Binary/Ternary Deep Neural Networks, IEEE Journal of So.id-State Circuits, vol. 55, No. 6, Jun. 2020. [cited by applicant]
Z. Chen, X. Chen and J. Gu, 15.3 A 65nm 3T Dynamic Analog RAM-Based Computing-in-Memory Macro and CNN Accelerator with Retention Enhancement, Adaptive Analog Sparsity and 44TOPS/W System Energy Efficiency, 2021 IEEE Int… [cited by applicant]
Yu, Chengshuo, et al.: “A Zero-Skipping Reconfigurable SRAM In-Memory Computing Macro with Binary-Searching ADC,” ESSCIRC, 2021, 4 pgs. [cited by applicant]
Zhang, Jintao et al.: “An In-memory-Computing DNN Achieving 700 TOPS/W and 6 TOPS/mm<sup>2</sup> in 130-nm CMOS,” IEEE Journal on Emerging and Selected Topics in Circuits and Systems, 2019, 9 pgs. [cited by applicant]
Zhang, Jintao, et al: In-Memory Computation of a Machine-Learning Classifier in a Standard 6T SRAM Array, IEEE Journal of Solid-State Circuits, vol. 52, No. 4, Apr. 2017. [cited by applicant]
Kim, Jinseok, et al: Area-Efficient and Variation-Tolerant In-Memory BNN Computing using 6T SRAM Array, 2019 Symposium on VLSI Circuits Digest of Technical Papers. [cited by applicant]