US20160293272A1 - Method and apparatus for optimized memory test status detection and debug - Google Patents

Method and apparatus for optimized memory test status detection and debug Download PDF

Info

Publication number
US20160293272A1
US20160293272A1 US14/676,501 US201514676501A US2016293272A1 US 20160293272 A1 US20160293272 A1 US 20160293272A1 US 201514676501 A US201514676501 A US 201514676501A US 2016293272 A1 US2016293272 A1 US 2016293272A1
Authority
US
United States
Prior art keywords
memory
testing
mbist
failing
memories
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US14/676,501
Other versions
US9711241B2 (en
Inventor
Ashutosh Anand
Shankarnarayan Bhat
Nikhil Sudhakaran
Praveen Raghuraman
Nishi Bhushan Singh
Anand BHAT
Abhinav Kothiala
Sanjay Muchini
Arun Balachandar
Devadatta Bhat
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Priority to US14/676,501 priority Critical patent/US9711241B2/en
Assigned to QUALCOMM INCORPORATED reassignment QUALCOMM INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KOTHIALA, ABHINAV, ANAND, ASHUTOSH, BALACHANDAR, ARUN, BHAT, ANAND, BHAT, DEVADATTA, BHAT, SHANKARNARAYAN, MUCHINI, SANJAY, RAGHURAMAN, PRAVEEN, SINGH, NISHI BHUSHAN, SUDHAKARAN, NIKHIL
Publication of US20160293272A1 publication Critical patent/US20160293272A1/en
Application granted granted Critical
Publication of US9711241B2 publication Critical patent/US9711241B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/1208Error catch memory

Definitions

  • the present disclosure relates generally to memory built in testing (MBIST) and more particularly to a method and apparatus for optimizing memory test status and debug procedures.
  • MBIST memory built in testing
  • SoC system-on-chip
  • These memories may be scattered around the device instead of being concentrated in one location.
  • these memories are of different types and sizes.
  • these memories may be further embedded inside embedded cores. This structure poses a challenge to testing all of the memories on the chips, as test access may be limited to only a few input/output (I/O) pins.
  • I/O input/output
  • BIST Built in self-test
  • MBIST memory built-in self-test
  • test results are not captured concurrently with the testing process.
  • results are available only at the very end of test execution. This leads to a number of difficulties includes increased overhead caused by the serial shifting out of the pass/fail status, increased testing time, which may add 20% additional testing time, long running pre-silicon simulations, and higher debug and turn-around times.
  • TDO test data output
  • Embodiments contained in the disclosure provide a method for memory built-in self-testing (MBIST).
  • the method begins when a testing program is loaded, which may be from an MBIST controller. Once the testing program is loaded MBIST testing begins.
  • memory failures are determined and written to a failure indicator register. The writing to the failure indicator register occurs in parallel with the ongoing MBIST testing.
  • a further embodiment provides an apparatus for memory built-in self-testing.
  • the apparatus includes a memory data read/write block, a memory register, a memory addressor, and a memory read/write controller.
  • the apparatus communicates with the memories under test through a memory address and data bus.
  • a still further embodiment provides an apparatus for memory built-in self-testing (MBIST).
  • the apparatus includes: means for loading a testing program; means for testing memories using the testing program; means for determining if any memory is failing; and means for writing to a failure indicator register in parallel with ongoing testing if any memory is failing.
  • FIG. 1 is a block diagram of an apparatus for testing memory fail signatures in parallel in accordance with embodiments described herein.
  • FIG. 2 illustrates operation of the apparatus for testing memory fail signatures in parallel in accordance with embodiments described herein.
  • FIG. 3 provides a comparison of test time for current testing methods in comparison with the embodiments described herein.
  • FIG. 4 is a flowchart of a method for testing memory fail signatures in parallel in accordance with embodiments described herein.
  • FIG. 5 is a flowchart of an alternate method for testing memory fail signatures in accordance with embodiments described herein.
  • FIG. 6 illustrates the methodology used for testing memory fail signatures in parallel in accordance with embodiments described herein.
  • FIG. 7 is a block diagram of a further embodiment of an apparatus for testing memory fail signatures in accordance with embodiments described herein.
  • a component may be, but is not limited to being, a process running on a processor, an integrated circuit, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
  • a component may be, but is not limited to being, a process running on a processor, an integrated circuit, a processor, an object, an executable, a thread of execution, a program, and/or a computer.
  • an application running on a computing device and the computing device can be a component.
  • One or more components can reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
  • these components can execute from various computer readable media having various data structures stored thereon.
  • the components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network, such as the Internet, with other systems by way of the signal).
  • a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network, such as the Internet, with other systems by way of the signal).
  • various aspects or features described herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques.
  • article of manufacture as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media.
  • computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ), and integrated circuits such as read-only memories, programmable read-only memories, and electrically erasable programmable read-only memories.
  • MBIST testing provides a mechanism that allows a memory to test itself. MBIST may be used to ensure high reliability and to lower repair cycle times. MBIST may also be used in situations where technician accessibility is limited or it is necessary to reduce testing costs in the manufacturing process. Costs are reduced because MBIST reduces the time needed for memory testing and also reduces the complexity of the test set up. Often, the number of I/O signals that need to be examined are reduced.
  • a general BIST architecture provides a test generator that interfaces with the circuit under test.
  • the circuit under test receives input from the test generator and outputs a response verification.
  • a test controller is connected to the test generator and also to a response verification device.
  • the test controller generates control signals for the test pattern. These control signals are provided to the test pattern generator and the memory under test.
  • the test pattern generator generates the required test patterns and the Read/Write signals.
  • the comparator evaluates the response of the memory to the test signals.
  • FIG. 1 is a block diagram of an apparatus for testing memory fail signatures in parallel.
  • the assembly 100 includes a system-on-chip 102 , a communication bus 104 , test data output (TDO) 106 , and instantaneous results 108 .
  • Communication bus 104 may be a IEEE 1149.1 bus, or may be any suitable communication bus that provides the necessary output capability.
  • SoC 102 is macro 110 which incorporates MBIST testing protocols within MBIST controller 112 and memories 114 - 120 .
  • MIBST controller 112 includes testing protocols, which may be created by the original equipment manufacturer of the SoC 102 . However, other additional MBIST testing protocols may also be included within MBIST controller 112 .
  • memories 114 - 120 are illustrated, in an actual device the number of memories may be much greater, with as many as several hundred memories requiring MBIST testing.
  • Memories 114 - 120 are linked to the MBIST controller 112 through memory interface 122 .
  • Communication link 122 may be of any type suitable for passing testing instructions and results to MBIST controller 112 .
  • FIG. 2 illustrates an implementation of a method and apparatus for optimized memory test status detection and debug.
  • the assembly 200 includes a system-on-chip 202 that incorporates memories 206 . Multiple memories 206 may be included within SoC 202 . As depicted in FIG. 2 , memories 1 and 3 are failed memories. The failed memories are read out in a read-out register that indicates specifically which memories on SoC 202 have failed. SoC 202 also includes output 204 which provides a chip level general purpose input/output (GPIO) pin. This GPIO pin 204 is used to output results of the testing to the MBIST controller 112 (shown in FIG. 1 ). In operation, at step 208 the query “Is any memory failing?” is posed as part of the MBIST process.
  • GPIO general purpose input/output
  • each memory interface 216 through 222 (with an interface for each memory, up to N memory interfaces) may be queried for Pass/Fail status.
  • FIG. 3 provides a comparison between current memory testing methods and the methods described herein.
  • the first chart shows the steps required for testing using current methods.
  • the test begins with a set up phase. During the set up phase algorithms and clock standards are specified and may be loaded into the MBIST controller. Once the set up has been completed, MBIST testing begins, with memory 1 being tested, followed by memory 2 , and so on until all N memories have been tested. After the testing phase has been completed, the result readout phase begins. In this phase, result 1 is read out first, followed sequentially by result 2 , and so on until all results have been read out. The test concludes when all results are read out. As is shown in the figure, the current methods test and read out results in a serial fashion.
  • a method such as that described herein provides for parallel testing and read out.
  • the test begins with a set up phase.
  • testing algorithms and clock values are programmed. These results may be programmed into a MBIST controller which may store test instructions.
  • MBIST controller which may store test instructions.
  • testing begins. Memory 1 is tested first, and results are read out immediately. Memory 2 test and read out follows as shown in FIG. 3 . This process continues until all N memories have been both tested and read out. At this point, testing is complete, with both testing and read out completed at the same point in time.
  • FIG. 4 is a flowchart of a method for optimized memory test status detection and debug in accordance with embodiments described herein.
  • the method 400 begins when a MBIST testing program is loaded from the MBIST controller in step 402 . Once the test program has been loaded MBIST testing begins in step 404 . The testing continues. At a desired point in the testing program the query “Is any memory failing?” is posed in step 406 . If no memories are failing, a NO answer at step 406 , then MBIST testing continues in step 408 . A memory counter is incremented in step 410 . If however, the answer is YES, and a memory or memories are failing, then the failure is written to the failure indicator register in step 412 . The failure indicator register indicates which memories have failed. The failure results are read-out from the Read-out Register as part of step 412 .
  • FIG. 5 is a flowchart of an alternate method for optimized memory test status detection and debug in accordance with embodiments described herein.
  • the method 500 begins when a MBIST testing program is loaded from the MBIST controller in step 502 . After loading, MBIST testing begins in step 404 . Testing continues until step 506 when the memory interfaces are queried for pass/fail status. Each memory interface reports status as part of step 506 .
  • the query asks in step 508 “Is any memory failing?”. If no memories are failing, then in step 510 MBIST testing continues. Then in step 512 a memory counter is incremented. If memories are determined to be failing, then in step 514 the failure is written to the failure indicator register in step 514 . As part of step 514 the failure results are read-out to the corresponding bit in the Read-out Register.
  • FIG. 6 illustrates the methodology of testing memory fail signatures in parallel in accordance with embodiments described herein.
  • the signal BIST_GO signal goes low when a memory fails. This result is provided to the READ-OUT register.
  • the result is that pass/fail results (CMP_STAT_GLOBAL) are available the moment that any memory on the SoC fails. This is possible because bits are set in the Read-out register (failed_mems_reg) identify which memories are failing.
  • a typical embodiment may use less than 20 gates and three registers, which negligibly affects area on a typical SoC.
  • FIG. 7 illustrates a further embodiment of an apparatus for optimized memory test status detection and debug.
  • the assembly 700 includes a SoC 702 that incorporates memories 706 . Multiple memoires 706 may be included within SoC 702 . Any failed memories are read out in a read-out register that indicates which memories on SoC 702 have failed. SoC 702 also provides output 704 which provides a chip level GPIO pin. GPIO pin 704 outputs test results to the MBIST controller 112 , shown in FIG. 1 .
  • the query “Is any memory failing” is posed during the MBIST testing process.
  • the answer is “Yes”, then the fail result is written to the corresponding bit in a Read-out Register. If the answer is “No’, then in block 712 testing continues.
  • the status of the tested memories may be determined by querying each memory through memory address and data bus 724 .
  • Memories 726 - 736 may report pass/fail status over the memory address and data bus 724 .
  • This pass/fail information is provided from the memory address and data bus 724 to memory register Read/Write data comparator 716 .
  • the data comparator 716 may also receive input from MIBST test block 718 , which includes the memory register test write data block 720 and the memory addressor and Write/Read controller 722 .
  • the memory register 720 and memory addressor contained within MIBST test block 718 are in both read and write communication with the memory address and data bus 724 . In operation, each memory communicates through the memory address and data bus 724 may be queried for pass/fail status.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • a general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • Disk and disc includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Embodiments contained in the disclosure provide a method for memory built-in self-testing (MBIST). The method begins when a testing program is loaded, which may be from an MBIST controller. Once the testing program is loaded MBIST testing begins. During testing, memory failures are determined and written to a failure indicator register. The writing to the failure indicator register occurs in parallel with the ongoing MBIST testing. An apparatus is also provided. The apparatus includes a memory data read/write block, a memory register, a memory addressor, and a memory read/write controller. The apparatus communicates with the memories under test through a memory address and data bus.

Description

    FIELD
  • The present disclosure relates generally to memory built in testing (MBIST) and more particularly to a method and apparatus for optimizing memory test status and debug procedures.
  • BACKGROUND
  • Today's designs for system-on-chip (SoC) may have more than one hundred embedded memories on a single chip. These memories may be scattered around the device instead of being concentrated in one location. Typically, these memories are of different types and sizes. In addition, these memories may be further embedded inside embedded cores. This structure poses a challenge to testing all of the memories on the chips, as test access may be limited to only a few input/output (I/O) pins.
  • Built in self-test (BIST) is frequently used to test such embedded memories within SoCs, as it provides a simple and low cost method of testing that does not affect performance. Specific testing may be required to test all of the memories on a device, which is known as memory built-in self-test (MBIST). As SoCs are used ever more widely in devices, such as mobile phones, the challenge becomes offering increased performance while maintaining a portable device. As devices gain performance and functionality, the number of memories to support that functionality grows, as does the need to test those memories. This may lead to congestion at the MBIST controller as all data path routing must pass through the controller.
  • In conventional memory test methodology test results are not captured concurrently with the testing process. Currently results are available only at the very end of test execution. This leads to a number of difficulties includes increased overhead caused by the serial shifting out of the pass/fail status, increased testing time, which may add 20% additional testing time, long running pre-silicon simulations, and higher debug and turn-around times.
  • The problem increases as memories grow ever larger. Larger memories may have as many as 64 output values that must be shifted out for every 100 memories being tested. The shifting out of results occurs in a serial, not parallel manner, which also increases the total test time. The increase may range form 5 ms to 20 ms per pattern.
  • There is a need in the art for a method and apparatus to overcome the limitation of reading out pass/fail signatures on test data output (TDO) pins serially at the end of testing.
  • SUMMARY
  • Embodiments contained in the disclosure provide a method for memory built-in self-testing (MBIST). The method begins when a testing program is loaded, which may be from an MBIST controller. Once the testing program is loaded MBIST testing begins. During testing, memory failures are determined and written to a failure indicator register. The writing to the failure indicator register occurs in parallel with the ongoing MBIST testing.
  • A further embodiment provides an apparatus for memory built-in self-testing. The apparatus includes a memory data read/write block, a memory register, a memory addressor, and a memory read/write controller. The apparatus communicates with the memories under test through a memory address and data bus.
  • A still further embodiment provides an apparatus for memory built-in self-testing (MBIST). The apparatus includes: means for loading a testing program; means for testing memories using the testing program; means for determining if any memory is failing; and means for writing to a failure indicator register in parallel with ongoing testing if any memory is failing.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of an apparatus for testing memory fail signatures in parallel in accordance with embodiments described herein.
  • FIG. 2 illustrates operation of the apparatus for testing memory fail signatures in parallel in accordance with embodiments described herein.
  • FIG. 3 provides a comparison of test time for current testing methods in comparison with the embodiments described herein.
  • FIG. 4 is a flowchart of a method for testing memory fail signatures in parallel in accordance with embodiments described herein.
  • FIG. 5 is a flowchart of an alternate method for testing memory fail signatures in accordance with embodiments described herein.
  • FIG. 6 illustrates the methodology used for testing memory fail signatures in parallel in accordance with embodiments described herein.
  • FIG. 7 is a block diagram of a further embodiment of an apparatus for testing memory fail signatures in accordance with embodiments described herein.
  • DETAILED DESCRIPTION
  • The detailed description set forth below in connection with the appended drawings is intended as a description of exemplary embodiments of the present invention and is not intended to represent the only embodiments in which the present invention can be practiced. The term “exemplary” used throughout this description means “serving as an example, instance, or illustration,” and should not necessarily be construed as preferred or advantageous over other exemplary embodiments. The detailed description includes specific details for the purpose of providing a thorough understanding of the exemplary embodiments of the invention. It will be apparent to those skilled in the art that the exemplary embodiments of the invention may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the novelty of the exemplary embodiments presented herein.
  • As used in this application, the terms “component,” “module,” “system,” and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, an integrated circuit, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a computing device and the computing device can be a component. One or more components can reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate by way of local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network, such as the Internet, with other systems by way of the signal).
  • Moreover, various aspects or features described herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ), smart cards, and flash memory devices (e.g., card, stick, key drive . . . ), and integrated circuits such as read-only memories, programmable read-only memories, and electrically erasable programmable read-only memories.
  • Various aspects will be presented in terms of systems that may include a number of devices, components, modules, and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. A combination of these approaches may also be used.
  • Other aspects, as well as features and advantages of various aspects, of the present invention will become apparent to those of skill in the art through consideration of the ensuring description, the accompanying drawings and the appended claims.
  • MBIST testing provides a mechanism that allows a memory to test itself. MBIST may be used to ensure high reliability and to lower repair cycle times. MBIST may also be used in situations where technician accessibility is limited or it is necessary to reduce testing costs in the manufacturing process. Costs are reduced because MBIST reduces the time needed for memory testing and also reduces the complexity of the test set up. Often, the number of I/O signals that need to be examined are reduced.
  • A general BIST architecture provides a test generator that interfaces with the circuit under test. The circuit under test receives input from the test generator and outputs a response verification. A test controller is connected to the test generator and also to a response verification device. The test controller generates control signals for the test pattern. These control signals are provided to the test pattern generator and the memory under test. The test pattern generator generates the required test patterns and the Read/Write signals. The comparator evaluates the response of the memory to the test signals.
  • FIG. 1 is a block diagram of an apparatus for testing memory fail signatures in parallel. The assembly 100 includes a system-on-chip 102, a communication bus 104, test data output (TDO) 106, and instantaneous results 108. Communication bus 104 may be a IEEE 1149.1 bus, or may be any suitable communication bus that provides the necessary output capability. Within SoC 102 is macro 110 which incorporates MBIST testing protocols within MBIST controller 112 and memories 114-120. MIBST controller 112 includes testing protocols, which may be created by the original equipment manufacturer of the SoC 102. However, other additional MBIST testing protocols may also be included within MBIST controller 112. While memories 114-120 are illustrated, in an actual device the number of memories may be much greater, with as many as several hundred memories requiring MBIST testing. Memories 114-120 are linked to the MBIST controller 112 through memory interface 122. Communication link 122 may be of any type suitable for passing testing instructions and results to MBIST controller 112.
  • FIG. 2 illustrates an implementation of a method and apparatus for optimized memory test status detection and debug. The assembly 200 includes a system-on-chip 202 that incorporates memories 206. Multiple memories 206 may be included within SoC 202. As depicted in FIG. 2, memories 1 and 3 are failed memories. The failed memories are read out in a read-out register that indicates specifically which memories on SoC 202 have failed. SoC 202 also includes output 204 which provides a chip level general purpose input/output (GPIO) pin. This GPIO pin 204 is used to output results of the testing to the MBIST controller 112 (shown in FIG. 1). In operation, at step 208 the query “Is any memory failing?” is posed as part of the MBIST process. At block 210 if the answer is “Yes” then the fail result is written to the corresponding bit in a Read-out Register. If the answer is no, then in block 212, testing continues. Alternatively, at block 214, the status may be given in terms of an “OR” response. Each memory interface 216 through 222 (with an interface for each memory, up to N memory interfaces) may be queried for Pass/Fail status.
  • FIG. 3 provides a comparison between current memory testing methods and the methods described herein. The first chart shows the steps required for testing using current methods. The test begins with a set up phase. During the set up phase algorithms and clock standards are specified and may be loaded into the MBIST controller. Once the set up has been completed, MBIST testing begins, with memory 1 being tested, followed by memory 2, and so on until all N memories have been tested. After the testing phase has been completed, the result readout phase begins. In this phase, result 1 is read out first, followed sequentially by result 2, and so on until all results have been read out. The test concludes when all results are read out. As is shown in the figure, the current methods test and read out results in a serial fashion.
  • In contrast, a method such as that described herein provides for parallel testing and read out. The test begins with a set up phase. In the set up phase testing algorithms and clock values are programmed. These results may be programmed into a MBIST controller which may store test instructions. After set up is complete, testing begins. Memory 1 is tested first, and results are read out immediately. Memory 2 test and read out follows as shown in FIG. 3. This process continues until all N memories have been both tested and read out. At this point, testing is complete, with both testing and read out completed at the same point in time.
  • FIG. 4 is a flowchart of a method for optimized memory test status detection and debug in accordance with embodiments described herein. The method 400 begins when a MBIST testing program is loaded from the MBIST controller in step 402. Once the test program has been loaded MBIST testing begins in step 404. The testing continues. At a desired point in the testing program the query “Is any memory failing?” is posed in step 406. If no memories are failing, a NO answer at step 406, then MBIST testing continues in step 408. A memory counter is incremented in step 410. If however, the answer is YES, and a memory or memories are failing, then the failure is written to the failure indicator register in step 412. The failure indicator register indicates which memories have failed. The failure results are read-out from the Read-out Register as part of step 412.
  • FIG. 5 is a flowchart of an alternate method for optimized memory test status detection and debug in accordance with embodiments described herein. The method 500 begins when a MBIST testing program is loaded from the MBIST controller in step 502. After loading, MBIST testing begins in step 404. Testing continues until step 506 when the memory interfaces are queried for pass/fail status. Each memory interface reports status as part of step 506. The query asks in step 508 “Is any memory failing?”. If no memories are failing, then in step 510 MBIST testing continues. Then in step 512 a memory counter is incremented. If memories are determined to be failing, then in step 514 the failure is written to the failure indicator register in step 514. As part of step 514 the failure results are read-out to the corresponding bit in the Read-out Register.
  • FIG. 6 illustrates the methodology of testing memory fail signatures in parallel in accordance with embodiments described herein. As shown in FIG. 6 the signal BIST_GO signal goes low when a memory fails. This result is provided to the READ-OUT register. The result is that pass/fail results (CMP_STAT_GLOBAL) are available the moment that any memory on the SoC fails. This is possible because bits are set in the Read-out register (failed_mems_reg) identify which memories are failing. A typical embodiment may use less than 20 gates and three registers, which negligibly affects area on a typical SoC.
  • FIG. 7 illustrates a further embodiment of an apparatus for optimized memory test status detection and debug. The assembly 700 includes a SoC 702 that incorporates memories 706. Multiple memoires 706 may be included within SoC 702. Any failed memories are read out in a read-out register that indicates which memories on SoC 702 have failed. SoC 702 also provides output 704 which provides a chip level GPIO pin. GPIO pin 704 outputs test results to the MBIST controller 112, shown in FIG. 1. In operation at step 708 the query “Is any memory failing” is posed during the MBIST testing process. At block 710 is the answer is “Yes”, then the fail result is written to the corresponding bit in a Read-out Register. If the answer is “No’, then in block 712 testing continues.
  • As an alternative process to that described above, at step 714, the status of the tested memories may be determined by querying each memory through memory address and data bus 724. Memories 726-736 may report pass/fail status over the memory address and data bus 724. This pass/fail information is provided from the memory address and data bus 724 to memory register Read/Write data comparator 716. The data comparator 716 may also receive input from MIBST test block 718, which includes the memory register test write data block 720 and the memory addressor and Write/Read controller 722. The memory register 720 and memory addressor contained within MIBST test block 718 are in both read and write communication with the memory address and data bus 724. In operation, each memory communicates through the memory address and data bus 724 may be queried for pass/fail status.
  • Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
  • Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the exemplary embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the exemplary embodiments of the invention.
  • The various illustrative logical blocks, modules, and circuits described in connection with the exemplary embodiments disclosed herein may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitter over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM EEPROM, CD-ROM or other optical disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
  • The previous description of the disclosed exemplary embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these exemplary embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the exemplary embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (17)

What is claimed is:
1. A method of memory built-in self-testing (MBIST), comprising:
loading a testing program;
testing memories using the testing program;
determining if any memory is failing; and
writing to a failure indicator register in parallel with ongoing testing if any memory is failing.
2. The method of claim 1, wherein MBIST testing continues if no memory is determined to be failing.
3. The method of claim 2, further comprising incrementing a memory counter if no memory is determined to be failing.
4. The method of claim 1, wherein the testing program is stored in a test controller and is called at beginning of MBIST testing.
5. The method of claim 1, further comprising querying memory interfaces for pass/fail status.
6. The method of claim 5, wherein if the querying determines that no memory is failing, continuing testing.
7. The method of claim 6, further comprising incrementing a memory counter if no memory is determined to be failing.
8. The method of claim 1, further comprising: querying at least one memory interface for pass/fail status during MBIST testing.
9. An apparatus for memory built-in self-testing (MBIST), comprising:
a memory data read/write block;
a memory register;
a memory addressor; and
a memory read/write controller.
10. The apparatus of claim 9, wherein the memory data read/write block contains the memory register, the memory addressor, and the read/write controller.
11. The apparatus of claim 9, wherein the memory register contains test write data.
12. The apparatus of claim 9, wherein the memory data read/write block, memory register, memory addressor and controller communicate through a memory address and data bus.
13. An apparatus for memory built-in self-testing (MBIST), comprising:
means for loading a testing program;
means for testing memories using the testing program;
means for determining if any memory is failing; and
means for writing to a failure indicator register in parallel with ongoing testing if any memory is failing.
14. The apparatus of claim 13, further comprising means for incrementing a memory counter if no memory is determined to be failing.
15. The apparatus of claim 14, further comprising means for querying memory interfaces for pass/fail status.
16. The apparatus of claim 13, further comprising means for calling a testing program at test initiation.
17. The apparatus of claim 13, further comprising means for continuing testing until all memories have been tested if no memory is determined to be failing.
US14/676,501 2015-04-01 2015-04-01 Method and apparatus for optimized memory test status detection and debug Expired - Fee Related US9711241B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/676,501 US9711241B2 (en) 2015-04-01 2015-04-01 Method and apparatus for optimized memory test status detection and debug

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/676,501 US9711241B2 (en) 2015-04-01 2015-04-01 Method and apparatus for optimized memory test status detection and debug

Publications (2)

Publication Number Publication Date
US20160293272A1 true US20160293272A1 (en) 2016-10-06
US9711241B2 US9711241B2 (en) 2017-07-18

Family

ID=57017395

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/676,501 Expired - Fee Related US9711241B2 (en) 2015-04-01 2015-04-01 Method and apparatus for optimized memory test status detection and debug

Country Status (1)

Country Link
US (1) US9711241B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491825A (en) * 2018-11-16 2019-03-19 Oppo广东移动通信有限公司 A kind of method, apparatus, storage medium and the terminal of positioning booting abnormal problem
US10248479B2 (en) * 2015-05-25 2019-04-02 Fujitsu Limited Arithmetic processing device storing diagnostic results in parallel with diagnosing, information processing apparatus and control method of arithmetic processing device
US20190115091A1 (en) * 2017-10-13 2019-04-18 Qualcomm Incorporated Byte enable memory built-in self-test (mbist) algorithm
CN113257330A (en) * 2021-06-23 2021-08-13 北京智芯半导体科技有限公司 Test method and test device for power-down protection of storage device and storage medium
CN116982031A (en) * 2021-03-17 2023-10-31 高通股份有限公司 System-on-chip timer fault detection and recovery using independent redundant timers

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030051197A1 (en) * 2001-06-20 2003-03-13 Broadcom Corporation Cache memory self test
US20080013390A1 (en) * 2006-07-12 2008-01-17 Volker Zipprich-Rasch Memory array architecture and method for high-speed distribution measurements
US20090282303A1 (en) * 2008-05-09 2009-11-12 Alexandre Andreev Built in test controller with a downloadable testing program
US20090300440A1 (en) * 2008-05-27 2009-12-03 Alexandre Andreev Data controlling in the mbist chain architecture
US20090307543A1 (en) * 2008-06-09 2009-12-10 Alexandre Andreev Transport subsystem for an mbist chain architecture
US20120072788A1 (en) * 2010-09-16 2012-03-22 Advanced Micro Devices, Inc. Integrated circuit with memory built-in self test (mbist) circuitry having enhanced features and methods

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5982681A (en) 1997-10-10 1999-11-09 Lsi Logic Corporation Reconfigurable built-in self test circuit
US7260758B1 (en) 2001-09-07 2007-08-21 Lsi Corporation Method and system for performing built-in self-test routines using an accumulator to store fault information
JP4514028B2 (en) 2004-05-20 2010-07-28 ルネサスエレクトロニクス株式会社 Fault diagnosis circuit and fault diagnosis method
US20090013228A1 (en) 2007-07-02 2009-01-08 Jarboe Jr James Michael Bist ddr memory interface circuit and method for testing the same
JP2010123159A (en) * 2008-11-17 2010-06-03 Toshiba Corp Semiconductor integrated circuit
US7979759B2 (en) 2009-01-08 2011-07-12 International Business Machines Corporation Test and bring-up of an enhanced cascade interconnect memory system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030051197A1 (en) * 2001-06-20 2003-03-13 Broadcom Corporation Cache memory self test
US20080013390A1 (en) * 2006-07-12 2008-01-17 Volker Zipprich-Rasch Memory array architecture and method for high-speed distribution measurements
US20090282303A1 (en) * 2008-05-09 2009-11-12 Alexandre Andreev Built in test controller with a downloadable testing program
US20090300440A1 (en) * 2008-05-27 2009-12-03 Alexandre Andreev Data controlling in the mbist chain architecture
US20090300441A1 (en) * 2008-05-27 2009-12-03 Alexandre Andreev Address controlling in the mbist chain architecture
US20090307543A1 (en) * 2008-06-09 2009-12-10 Alexandre Andreev Transport subsystem for an mbist chain architecture
US20120072788A1 (en) * 2010-09-16 2012-03-22 Advanced Micro Devices, Inc. Integrated circuit with memory built-in self test (mbist) circuitry having enhanced features and methods

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248479B2 (en) * 2015-05-25 2019-04-02 Fujitsu Limited Arithmetic processing device storing diagnostic results in parallel with diagnosing, information processing apparatus and control method of arithmetic processing device
US20190115091A1 (en) * 2017-10-13 2019-04-18 Qualcomm Incorporated Byte enable memory built-in self-test (mbist) algorithm
WO2019074593A1 (en) * 2017-10-13 2019-04-18 Qualcomm Incorporated Byte enable memory built-in self-test (mbist) algorithm
CN111247588A (en) * 2017-10-13 2020-06-05 高通股份有限公司 Byte-enabled memory built-in self-test (MBIST) algorithm
US10748641B2 (en) 2017-10-13 2020-08-18 Qualcomm Incorporated Byte enable memory built-in self-test (MBIST) algorithm
TWI742309B (en) * 2017-10-13 2021-10-11 美商高通公司 Method, apparatus and non-transitory computer-readable storage medium for byte enable memory built-in self-test (mbist) algorithm
CN109491825A (en) * 2018-11-16 2019-03-19 Oppo广东移动通信有限公司 A kind of method, apparatus, storage medium and the terminal of positioning booting abnormal problem
CN116982031A (en) * 2021-03-17 2023-10-31 高通股份有限公司 System-on-chip timer fault detection and recovery using independent redundant timers
CN113257330A (en) * 2021-06-23 2021-08-13 北京智芯半导体科技有限公司 Test method and test device for power-down protection of storage device and storage medium

Also Published As

Publication number Publication date
US9711241B2 (en) 2017-07-18

Similar Documents

Publication Publication Date Title
US9711241B2 (en) Method and apparatus for optimized memory test status detection and debug
US8170828B2 (en) Test method using memory programmed with tests and protocol to communicate between device under test and tester
US8201037B2 (en) Semiconductor integrated circuit and method for controlling semiconductor integrated circuit
US8843794B2 (en) Method, system and apparatus for evaluation of input/output buffer circuitry
US9443614B2 (en) Data pattern generation for I/O testing
CN108062267B (en) Configurable register file self-testing method and generating device
US10594321B1 (en) Semiconductor integrated circuit and reconfigurable semiconductor system
US20120124441A1 (en) Embedded testing module and testing method thereof
US11989299B2 (en) Verifying firmware binary images using a hardware design and formal assertions
US20230195994A1 (en) Chip design verification system, chip design verification method, and computer readable recording media with stored program
KR100442878B1 (en) Apparatus for testing an on-chip ROM and method thereof
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
US7013414B2 (en) Test method and test system for semiconductor device
US7363565B2 (en) Method of testing apparatus having master logic unit and slave logic unit
US10748641B2 (en) Byte enable memory built-in self-test (MBIST) algorithm
US6735729B1 (en) Compression circuit for testing a memory device
US9672094B1 (en) Interconnect circuitry fault detection
US20230059620A1 (en) eFUSE ONE-TIME PROGRAMMABLE MEMORY WITH INTER INTEGRATED CIRCUIT (I2C) COMMUNICATION AND OPERATION METHOD THEREOF
US7793186B1 (en) System and method for increasing the extent of built-in self-testing of memory and circuitry
CN112017726A (en) Read interference test method and device of flash memory chip and readable storage medium
US6587982B1 (en) Method of micro-architectural implementation of interface between bist state machine and tester interface to enable bist cycling
US11650898B2 (en) On-die logic analyzer
US10162000B2 (en) Testing an integrated circuit device with multiple testing protocols
US7724015B2 (en) Data processing device and methods thereof
US20160062864A1 (en) Method and apparatus for multiple memory shared collar architecture

Legal Events

Date Code Title Description
AS Assignment

Owner name: QUALCOMM INCORPORATED, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ANAND, ASHUTOSH;BHAT, SHANKARNARAYAN;SUDHAKARAN, NIKHIL;AND OTHERS;SIGNING DATES FROM 20150415 TO 20150416;REEL/FRAME:035461/0986

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20210718