IP Library Granted Patent US 12,567,476
Granted Patent B2
US 12,567,476 · App. 18/624,070 · Granted Mar 3, 2026

Multiple test modes for a memory in an integrated circuit

Inventors: Thomas Ziaja (Palo Alto, CA); Uma Durairajan (Palo Alto, CA); Dinesh R. Amirtharaj (Palo Alto, CA)
Assignee: SambaNova Systems, Inc.
G11C29/32G11C7/1039G11C29/1201G11C29/12015G11C29/36G11C29/42G01R31/3172G01R31/31723G01R31/3177G01R31/3185G01R31/318536G01R31/318541G01R31/318544G01R31/318547G01R31/318566G01R31/3187G06F11/27G11C7/1051G11C7/22G11C11/4082G11C2029/3202
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,567,476
App. No.
18/624,070
Granted
Mar 3, 2026
Kind
B2
Abstract

An integrated circuit (IC) includes a memory array with M rows of N storage elements that has an N-bit wide parallel input and output, and a 1-bit wide array scan input and output. A memory built-in self-test (MBIST) circuit is connected to the memory array to generate test addresses and N-bit wide test data. Functional circuitry with a functional address bus and N-bit wide functional data path is linked to the memory array. Control circuitry enables a serial test mode for shifting data through the storage elements, a MBIST mode for test data access, and a normal operation mode for functional data access. This IC design offers versatile memory testing and operational capabilities.

Claims (33)

1 . An integrated circuit (IC) comprising:

a memory array comprising M rows of N storage elements each and having an N-bit wide parallel input, an N-bit wide parallel output, a 1-bit wide array scan input, and a 1-bit wide array scan output, wherein N and M are positive integers greater than 1;

a memory built-in self-test (MBIST) circuit coupled to the memory array to generate test addresses and N-bit wide test data;

functional circuitry coupled to the memory array and comprising a functional address bus and an N-bit wide functional data path;

control circuitry, coupled to the memory array, to provide:

a serial test mode for the memory array that serially shifts data from the 1-bit wide array scan input through every storage element at least one row of the M rows of N storage elements of the memory array and out of the 1-bit wide array scan output,

a MBIST mode for the memory array that uses the test addresses to provide N-bit wide access for writes of the N-bit wide test data to the memory array and N-bit wide reads of the memory array for data verification, and

a normal operation mode for the memory array that uses the functional address bus to provide N-bit wide access for the functional data path to read from and write to the memory array; and

the memory array further comprising:

an input clock;

a N-bit wide input buffer, coupled to the storage elements, and enabled to load data during a first part of a clock period of the input clock;

an output multiplexer, coupled to the storage elements, enabled to output data from a chosen row of the M rows of storage elements in parallel on a N-bit wide output data path under control of the control circuitry; and

an input multiplexer, coupled to the input buffer, the functional data path, the MBIST circuit, the array scan input, and a subset of lines of the N-bit wide output data path, and enabled to select, as an input to the input buffer, between a first input coupled to the functional data path, a second input coupled to the MBIST circuit, and a third input coupled to a set of inputs including the array scan input and the subset of lines of the N-bit wide output data path, under control of the control circuitry,

wherein the storage elements are enabled to load data from the input buffer to a selected row of the M rows storage elements in parallel during a second part of the clock period of the input clock under control of the control circuitry,

wherein the N-bit wide output data path and the third input of the input multiplexor each have N lines, numbered from N−1 to 0,

wherein the 1-bit wide array scan input is coupled to line N−1 of the third input of the input multiplexer,

wherein lines N−1 through 1 of the N-bit wide output data path are respectively coupled to lines N−2 through 0 of the third input of the input multiplexer, and

wherein the 1-bit wide array scan output is coupled to line 0 of the N-bit wide output data path.

2 . The IC of claim 1 , the control circuitry comprising a counter that is incremented using the input clock while in the serial test mode, wherein an upper portion of the counter is used to select one of the M rows of storage elements during the serial test mode, and wherein data is serially shifted through every storage element of the M rows of N storage elements in the serial test mode.

3 . The IC of claim 1 , wherein the first part of the clock period is between a falling edge and a rising edge of the input clock and the second part of the clock period is between a rising edge and a falling edge of the input clock.

4 . The IC of claim 1 , wherein the storage elements in the M rows of N storage elements respectively comprise a single transparent latch and the N-bit wide input buffer comprises N transparent latches.

5 . A method of testing a memory array in an integrated circuit (IC), the memory array including M rows of N storage elements each and having an N-bit wide parallel input, an N-bit wide parallel output, a 1-bit wide array scan input, and a 1-bit wide array scan output, wherein N and M are positive integers greater than 1, the method comprising:

setting a serial test mode and serially shifting first test data into a 1-bit wide array scan input through every storage element of at least one row of the M rows of N storage elements of the memory array and out of the 1-bit wide array scan output;

setting a memory built-in self-test (MBIST) mode and using a MBIST circuit of the IC to generate test addresses and N-bit wide second test data and using the test addresses to provide N-bit wide access for writes of the N-bit wide second test data to the memory array and N-bit wide reads of the memory array for data verification;

setting a normal operation mode and using functional circuitry of the IC for N-bit wide reads and writes of the memory array;

choosing output data from a chosen row of the M rows of storage elements to output in parallel on a N-bit wide output data path;

selecting N-bit wide input data from either a first input coupled to a functional data path, a second input coupled to the MBIST circuit, or a third input coupled to the 1-bit wide array scan input and an upper N−1 lines of the N-bit wide output data path;

loading the selected N-bit wide input data into an N-bit wide input buffer during a first part of a clock period of an input clock; and

storing the N-bit wide data loaded into the input buffer in a selected row of the M rows of storage elements in parallel during a second part of the clock period of the input clock,

wherein the 1-bit wide array scan input is coupled a most significant bit of the third input, a most significant N−1 lines of the N-bit wide output data path are respectively coupled to a least significant N−1 lines of the third input, and the 1-bit wide array scan output is coupled to a least significant line of the N-bit wide output data path.

6 . The method of claim 5 , further comprising: using a counter output during the serial test mode to both choose the chosen row and select the selected row; using the test addresses during the MBIST mode to both choose the chosen row and select the selected row; and using a functional address from the functional circuitry during the normal operation mode to choose the chosen row for a read of the memory array and to select the selected row for a write to the memory array.

7 . The method of claim 6 , further comprising incrementing the counter using the input clock during the serial test mode and using a most significant portion of the counter output to both choose the chosen row and select the selected row.

8 . The method of claim 5 , further comprising serially shifting the first test data through every storage element of the M rows of N storage elements of the memory array during the serial test mode.

Assignments (2)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 18, 2025
From: SAMBANOVA SYSTEMS, INC.
To: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 070892/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2024
From: ZIAJA, THOMAS A.; DURAIRAJAN, UMA; AMIRTHARAJ, DINESH R.
To: SAMBANOVA SYSTEMS, INC.
Reel/Frame 066971/0832 →
Continuity (4)
Continuation 17942059 · Sep 9, 2022
Continuation 17468024 · Sep 7, 2021
Provisional Application 63107413 · Oct 29, 2020
Related Publication 20240249791A1 · Jul 25, 2024
References Cited (56)
US 3761695A · Eichelberger · 1973 [cited by applicant]
US 4929889A · Seiler et al. · 1990 [cited by applicant]
US 5369752A · Giles et al. · 1994 [cited by applicant]
US 5956252A · Lau et al. · 1999 [cited by applicant]
US 5978946A · Needham · 1999 [cited by applicant]
US 6249892B1 · Rajsuman et al. · 2001 [cited by applicant]
US 6249893B1 · Rajsuman et al. · 2001 [cited by applicant]
US 6317819B1 · Morton · 2001 [cited by applicant]
US 6532337B1 · Yoshinaka · 2003 [cited by applicant]
US 8214172B2 · Wang et al. · 2012 [cited by applicant]
US 8924801B2 · Tekumalla et al. · 2014 [cited by applicant]
US 9336342B2 · Zorian · 2016 [cited by examiner]
US 9739833B2 · Hou et al. · 2017 [cited by applicant]
US 10831507B2 · Shah et al. · 2020 [cited by applicant]
US 11443822B2 · Ziaja et al. · 2022 [cited by applicant]
US 20020083388A1 · Lueck · 2002 [cited by applicant]
US 20020093874A1 · Ukon · 2002 [cited by examiner]
US 20030223297A1 · Fukuyama · 2003 [cited by applicant]
US 20040123198A1 · Gschwind · 2004 [cited by applicant]
US 20040218454A1 · Gorman et al. · 2004 [cited by applicant]
US 20050268185A1 · Vinke et al. · 2005 [cited by applicant]
US 20080209284A1 · Louie et al. · 2008 [cited by applicant]
US 20080253180A1 · Nicolaidis · 2008 [cited by examiner]
US 20090129173A1 · Kajiyama et al. · 2009 [cited by applicant]
US 20110239070A1 · Morrison · 2011 [cited by applicant]
US 20120124435A1 · Eaton et al. · 2012 [cited by applicant]
US 20130080847A1 · Zorian et al. · 2013 [cited by applicant]
US 20140126313A1 · Wu et al. · 2014 [cited by applicant]
US 20140281776A1 · Champion et al. · 2014 [cited by applicant]
US 20140317463A1 · Chandra et al. · 2014 [cited by applicant]
US 20150206559A1 · Priel et al. · 2015 [cited by applicant]
US 20150276874A1 · Morton · 2015 [cited by applicant]
US 20150325314A1 · Ziaja et al. · 2015 [cited by applicant]
US 20180238965A1 · Anzou et al. · 2018 [cited by applicant]
US 20190204382A1 · Pradeep et al. · 2019 [cited by applicant]
US 20200258590A1 · Spica · 2020 [cited by applicant]
US 20200310809A1 · Hughes et al. · 2020 [cited by applicant]
US 20220092247A1 · Koeplinger et al. · 2022 [cited by applicant]
WO 2010142987A1 · 2010 [cited by applicant]
Memory Array Testing Through a Scannable Configuration, Yano, (Year: 1997). [cited by examiner]
Einfochips PES, Memory Testing: MBIST, BIRA & BISR | An Insight into Algorithms and Self Repair Mechanism, Einfochips, dated Dec. 11, 2019, 14 pages. Retrieved on Oct. 21, 2021. Retrieved from the internet [URL: https:/… [cited by applicant]
Garg et al., LBIST—A technique for infield safety, Design&Reuse, dated Sep. 21, 2015, 4 pages. [cited by applicant]
Koeplinger et al., Spatial: A Language and Compiler for Application Accelerators, PLDI '18, JuneAssociation for Computng Machinery, 16 pages. [cited by applicant]
Krishna H. V. et.al., Techniques to Improve Quality of Memory Interface Tests in SoCs Using Synopsys TetraMAX's RAM Sequential ATPG, Texas Instruments, Bangalore, India, 14 pages. Retrieved on Oct. 20, 2021. Retrieved f… [cited by applicant]
Li et. al., Logic BIST: State-of-the-Art and Open Problems, dated Mar. 16, 2015, 6 pages. [cited by applicant]
M. Emani et al., Accelerating Scientific Applications With Sambanova Reconfigurable Dataflow Architecture, in Computing in Science & Engineering, vol. 23, No. 2, pp. 114-119, Mar. 26, 2021, [doi: 10.1109/MCSE.2021.30572… [cited by applicant]
MacDonald, Logic BIST, EE5375 University of Texas El Paso (UTEP), dated Nov. 20, 2014, 15 pages. [cited by applicant]
PCT/US2021/057391—International Search Report and Written Opinion, dated Feb. 24, 2022, 14 pages. [cited by applicant]
PCT/US2022/035146—International Search Report and Written Opinion, dated Oct. 27, 2022, 9 pages. [cited by applicant]
Podobas et al, A Survey on Coarse-Grained Reconfigurable Architectures From a Performance Perspective, IEEEAccess, vol. 2020.3012084, Jul. 27, 2020, 25 pages. [cited by applicant]
Prabhakar et al., Plasticine: A Reconfigurable Architecture for Parallel Patterns, ISCA, Jun. 24-28, 2017, 14 pages. [cited by applicant]
Press, Thorough test means testing through the RAM, EDN, dated Sep. 17, 2012, 3 pages. [cited by applicant]
Radhakrishnan, Design for Testability (DFT) Using SCAN, dated Sep. 1999, Issue-2, 13 pages. [cited by applicant]
Seok, et al., “Write-through method for embedded memory with compression Scan-based testing,” 2012 IEEE 30th VLSI Test Symposium (VTS), Apr. 23-26, 2012, pp. 158-163. [cited by applicant]
Sitchinava, Thesis: Dynamic Scan Chains A Novel Architecture to Lower the Cost of VLSI Test, MIT, Sep. 2003, 64 pages. [cited by applicant]
Venkataraman et. al., An experimental study of N-detect scan ATPG patterns on a processor, Proceedings of the 22nd IEEE VLSI Test Symposium (VTS 2004), dated May 2004, 7 pages. [cited by applicant]