US9263147B2 - Method and apparatus for concurrent test of flash memory cores - Google Patents

Method and apparatus for concurrent test of flash memory cores Download PDF

Info

Publication number
US9263147B2
US9263147B2 US14/490,170 US201414490170A US9263147B2 US 9263147 B2 US9263147 B2 US 9263147B2 US 201414490170 A US201414490170 A US 201414490170A US 9263147 B2 US9263147 B2 US 9263147B2
Authority
US
United States
Prior art keywords
flash memory
memory banks
test
generate
output
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.)
Active
Application number
US14/490,170
Other versions
US20150325308A1 (en
Inventor
Rajat Mehrotra
Rubin Ajit Parekhji
Maheedhar Jalasutram
Charu Shrimali
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Priority to US14/490,170 priority Critical patent/US9263147B2/en
Assigned to TEXAS INSTRUMENTS INCORPORATED reassignment TEXAS INSTRUMENTS INCORPORATED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JALASUTRAM, MAHEEDHAR, MEHROTRA, RAJAT, PAREKHJI, RUBIN AJIT, SHRIMALI, CHARU
Publication of US20150325308A1 publication Critical patent/US20150325308A1/en
Application granted granted Critical
Publication of US9263147B2 publication Critical patent/US9263147B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3422Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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
    • 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
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C2029/2602Concurrent test

Definitions

  • Embodiments of the disclosure relate to concurrent test of flash memory cores in an integrated circuit.
  • Flash memory is a non-volatile memory, i.e. flash memory can retain a state even without power supply. Flash memory stores a state based on the changes in the threshold voltage (V T ) of a floating gate metal oxide semiconductor (MOS) transistor. Flash test (testing of flash memory) therefore needs to characterize the threshold voltage and associated bit cell current (BCC) of each flash bit in the design. Characterization involves measuring variations or shifts in the threshold voltage (V T ) and bit cell current (BCC) due to each of current (I), voltage (V) and temperature (T) stress application. The number of I, V and T stress conditions for the flash bit are many and are required to screen reliability of a floating gate flash bit. Due to this requirement, a large number of read operations need to be performed per search cycle for each stress condition.
  • V T threshold voltage
  • BCC bit cell current
  • Flash access time is much slower compared to an equivalent static random access memory (SRAM) access time requiring higher test time per read iteration.
  • Flash core architecture is different from the SRAM because the operations such as program or erase can require multiple attempts for the bit cell to store data robustly.
  • SRAM static random access memory
  • An embodiment provides an apparatus for concurrent test of a set of flash memory banks.
  • the apparatus includes a memory data path (MDP) module coupled to a test controller.
  • the test controller is configured to generate a test stimulus and to check a response from the set of flash memory banks.
  • the MDP module includes a test control module configured to generate a concurrent control signal that configures the set of flash memory banks to be tested simultaneously.
  • the MDP module also includes a set of comparators, corresponding to each of the set of flash memory banks, each comparator configured to generate a first comparator output in response to the concurrent control signal and an input from the set of flash memory banks that indicates a state of the set of flash memory banks.
  • the MDP module further includes a reduction logic configured to generate a reduction logic output that combines a status of the comparator outputs to be compressed to match the width of a data bus of the test controller; a control logic configured to generate a control output in response to the test stimulus and the comparator output for selective programming across different flash bits of the set of flash memory banks; and a fail flag configured to generate one of an output value ‘0’ if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 if there is no mismatch in data read from the set of flash memory banks in any access.
  • the first comparator output corresponds to match or mismatch between the accessed data and the expected data.
  • An embodiment provides an apparatus for concurrent test of a set of flash memory banks.
  • the apparatus includes a test controller configured to generate a test stimulus and to check a response from the set of flash memory banks; an on chip memory configured to store test operation sequences being executed through the test controller; a test interface that is configured to program the test controller; and an MDP module coupled to the test controller.
  • the MDP module includes a test control module configured to generate a concurrent control signal that configures the set of flash memory banks to be tested simultaneously; a set of comparators, corresponding to each of the set of flash memory banks, each comparator configured to generate a first comparator output in response to the concurrent control signal and an input from the set of flash memory banks that indicates a state of the set of flash memory banks; a reduction logic configured to generate a reduction logic output that combines a status of the comparator outputs; a control logic configured to generate a control output in response to the test stimulus and the first comparator output that disables an intended operation for bits having a same state as an intended data, based on the test stimulus, in the set of flash memory banks; and a fail flag configured to generate one of an output value ‘0’ if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 if there is no mismatch in data read from the set of flash memory banks in any access.
  • Another embodiment provides a method for concurrent test of a set of flash memory banks.
  • a concurrent control signal is generated that configures the set of flash memory banks to be tested simultaneously.
  • a test stimulus is generated and a response from the set of flash memory banks is then checked.
  • a first comparator output is also generated in response to the concurrent control signal and an input from the set of flash memory banks that indicates a state of the set of flash memory banks, i.e. whether the state is the expected one (comparator output indicates a “pass”) or an erroneous one (comparator output indicates a “fail”).
  • a reduction logic output is generated that combines a status of the comparator outputs.
  • a control output is also generated in response to the test stimulus and the first comparator output that disables an intended operation for bits having a same state as an intended data, based on the test stimulus, in the set of flash memory banks. Finally, one of an output value ‘0’ is generated if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 is generated if there is no mismatch in data read from the set of flash memory banks in any access is generated.
  • FIG. 1 is a block diagram of an apparatus for concurrent test of flash memory cores according to an embodiment
  • FIG. 2 is a block diagram of the memory data path module of FIG. 1 ;
  • FIG. 3 is a flowchart illustrating a concurrent read operation of the apparatus according to an embodiment
  • FIG. 4 is a flowchart illustrating a concurrent program operation of the apparatus according to an embodiment.
  • FIG. 5 is a flowchart illustrating a concurrent erase operation of the apparatus according to an embodiment.
  • Flash memory banks 130 are memories that can retain data after power down.
  • a flash memory bank 130 can support three access mechanisms namely program or operation to write-0, erase or operation to write-1 and read or operation to retrieve the contents of flash memory bank 130 .
  • the flash program is a high voltage operation and can write to any addressed word of flash memory bank 130 .
  • Each program operation requires multiple clock cycles and may need to be repeated for weak bits in flash memory bank 130 .
  • Each program operation is preceded by a read operation to check that a programmed bit is not re-programmed. This is to ensure correct flash bit-cell operation through the life of system on chip (SOC).
  • SOC system on chip
  • Flash erase is another high voltage operation which can write to a group of flash memory bank words called as a sector. Each sector erase requires multiple clock cycles and may need to be repeated for weak bits in the sector. Each erase is therefore preceded by a read of all words in the sector and erase cycle is initiated if any of bits are in programmed state. Flash read is a single cycle operation and returns the content of addressed word.
  • Test algorithm can either be stored in the on-chip memory 115 or can be programmed through SoC's input/output (IO) interface 120 . Storage of test algorithm allows faster test application and enables higher efficiency for multi-site application, i.e. simultaneous test application on multiple devices.
  • MDP module 125 is the interface logic between the test controller 135 , On chip CPU 110 and flash memory banks 130 to enable concurrent testing of flash memory banks 130 .
  • the test controller 135 is configured to apply a user defined test algorithm that involves a series of flash memory bank operations and associated response validation.
  • the test controller is configured to read the algorithm from the on-chip memory 115 .
  • the test controller 135 can also be programmed from the SOC's JO interface 120 .
  • the test controller 135 enables each flash memory bank operation by generating correct state of control signals and in the exact order required for correct flash memory bank access.
  • access response validation involves comparing the flash memory bank output to a good circuit response (expected circuit response in functional conditions).
  • the test controller 135 is configured to report a test-fail for a mismatch in actual flash memory bank response and a good circuit response.
  • FIG. 2 is a block diagram of the memory data path (MDP) module of FIG. 1 .
  • Memory data path module includes a test control module 205 having a concurrent control mode 210 and a serial access mode 215 .
  • the test control module 205 generates one concurrent control signal, on line 212 , per flash memory bank that configures the set of flash memory banks to be tested simultaneously.
  • the concurrent control signal 212 is coupled to a set of comparators 220 , corresponding to each of the set of flash memory banks 130 .
  • Each comparator 220 is configured to generate a first comparator output in response to the concurrent control signal 212 and an input from the set of flash memory banks 130 that indicates the state of the set of flash memory banks 130 .
  • the first comparator output is coupled to a reduction logic 230 configured to generate a reduction logic output that combines the status of comparators 220 to be compressed in the test controller data bus.
  • the first comparator output is additionally coupled to a control logic 225 that is configured to generate a control output, in response to the test stimulus and the first comparator output. This disables an intended operation for bits having a same state as an intended data, based on the test stimulus, in the set of flash memory banks 130 .
  • the first comparator output is also coupled to a fail flag 235 configured to generate one of an output value ‘0’ if there is a mismatch from expected response in any access to the set of flash memory banks and an output value 1 if there is no mismatch in all accesses.

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

An apparatus for concurrent test of a set of flash memory banks apparatus includes a memory data path (MDP) module coupled to a test controller. The MDP module includes a test control module configured to generate a concurrent control signal that configures the set of flash memory banks to be tested simultaneously; and a set of comparators, that generates a first comparator output in response to the concurrent control signal and an input from the set of flash memory banks. A reduction logic is configured to generate a reduction logic output that combines a status of the comparator outputs to be compressed. A control logic is configured for selective programming across different flash bits of the set of flash memory banks. A fail flag is configured to generate one of an output value ‘0’ if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 if there is no mismatch in data read in any access.

Description

CROSS REFERENCES TO RELATED APPLICATIONS
This application claims priority from U.S. provisional patent application No. 61/990,320 filed on May 8, 2014, which is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
Embodiments of the disclosure relate to concurrent test of flash memory cores in an integrated circuit.
BACKGROUND
Flash memory is a non-volatile memory, i.e. flash memory can retain a state even without power supply. Flash memory stores a state based on the changes in the threshold voltage (VT) of a floating gate metal oxide semiconductor (MOS) transistor. Flash test (testing of flash memory) therefore needs to characterize the threshold voltage and associated bit cell current (BCC) of each flash bit in the design. Characterization involves measuring variations or shifts in the threshold voltage (VT) and bit cell current (BCC) due to each of current (I), voltage (V) and temperature (T) stress application. The number of I, V and T stress conditions for the flash bit are many and are required to screen reliability of a floating gate flash bit. Due to this requirement, a large number of read operations need to be performed per search cycle for each stress condition.
Flash access time is much slower compared to an equivalent static random access memory (SRAM) access time requiring higher test time per read iteration. Flash core architecture is different from the SRAM because the operations such as program or erase can require multiple attempts for the bit cell to store data robustly. With development in technology, on chip flash has increased over 4 times in 65 nm CMOS manufacturing process compared to prior technologies causing flash test time to become 80% of device test time. As such, there is a need for a solution that restricts the linear increase in test time with increasing flash size.
SUMMARY
This Summary is provided to comply with 37 C.F.R. §1.73, requiring a summary of the invention briefly indicating the nature and substance of the invention. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
An embodiment provides an apparatus for concurrent test of a set of flash memory banks. The apparatus includes a memory data path (MDP) module coupled to a test controller. The test controller is configured to generate a test stimulus and to check a response from the set of flash memory banks. The MDP module includes a test control module configured to generate a concurrent control signal that configures the set of flash memory banks to be tested simultaneously. The MDP module also includes a set of comparators, corresponding to each of the set of flash memory banks, each comparator configured to generate a first comparator output in response to the concurrent control signal and an input from the set of flash memory banks that indicates a state of the set of flash memory banks. The MDP module further includes a reduction logic configured to generate a reduction logic output that combines a status of the comparator outputs to be compressed to match the width of a data bus of the test controller; a control logic configured to generate a control output in response to the test stimulus and the comparator output for selective programming across different flash bits of the set of flash memory banks; and a fail flag configured to generate one of an output value ‘0’ if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 if there is no mismatch in data read from the set of flash memory banks in any access. The first comparator output corresponds to match or mismatch between the accessed data and the expected data.
An embodiment provides an apparatus for concurrent test of a set of flash memory banks. The apparatus includes a test controller configured to generate a test stimulus and to check a response from the set of flash memory banks; an on chip memory configured to store test operation sequences being executed through the test controller; a test interface that is configured to program the test controller; and an MDP module coupled to the test controller. The MDP module includes a test control module configured to generate a concurrent control signal that configures the set of flash memory banks to be tested simultaneously; a set of comparators, corresponding to each of the set of flash memory banks, each comparator configured to generate a first comparator output in response to the concurrent control signal and an input from the set of flash memory banks that indicates a state of the set of flash memory banks; a reduction logic configured to generate a reduction logic output that combines a status of the comparator outputs; a control logic configured to generate a control output in response to the test stimulus and the first comparator output that disables an intended operation for bits having a same state as an intended data, based on the test stimulus, in the set of flash memory banks; and a fail flag configured to generate one of an output value ‘0’ if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 if there is no mismatch in data read from the set of flash memory banks in any access.
Another embodiment provides a method for concurrent test of a set of flash memory banks. A concurrent control signal is generated that configures the set of flash memory banks to be tested simultaneously. A test stimulus is generated and a response from the set of flash memory banks is then checked. A first comparator output is also generated in response to the concurrent control signal and an input from the set of flash memory banks that indicates a state of the set of flash memory banks, i.e. whether the state is the expected one (comparator output indicates a “pass”) or an erroneous one (comparator output indicates a “fail”). Further, a reduction logic output is generated that combines a status of the comparator outputs. A control output is also generated in response to the test stimulus and the first comparator output that disables an intended operation for bits having a same state as an intended data, based on the test stimulus, in the set of flash memory banks. Finally, one of an output value ‘0’ is generated if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 is generated if there is no mismatch in data read from the set of flash memory banks in any access is generated.
Other aspects and example embodiments are provided in the Drawings and the Detailed Description that follows.
BRIEF DESCRIPTION OF THE VIEWS OF DRAWINGS
FIG. 1 is a block diagram of an apparatus for concurrent test of flash memory cores according to an embodiment;
FIG. 2 is a block diagram of the memory data path module of FIG. 1;
FIG. 3 is a flowchart illustrating a concurrent read operation of the apparatus according to an embodiment;
FIG. 4 is a flowchart illustrating a concurrent program operation of the apparatus according to an embodiment; and
FIG. 5 is a flowchart illustrating a concurrent erase operation of the apparatus according to an embodiment.
DETAILED DESCRIPTION OF THE EMBODIMENTS
FIG. 1 is a block diagram of an apparatus for concurrent test of flash memory cores. The apparatus includes a test controller 135 (that is programmable) coupled to a memory data path (MDP) module 125. The test controller 135 is one of a programmable built in self test (BIST) controller 105 or an on-chip processor 110. In one embodiment, the programmable BIST controller is a programmable static random access memory (SRAM) BIST controller 105. An on-chip memory 115 is also coupled to the test controller 135. The MDP module 125 is coupled to a set of flash memory banks 130. The test controller 135 generates test stimulus based on test algorithm such as sequence of address, write-data, control signals and generates the expected response to check the read data to validate the correct operation of flash memory banks 130.
Flash memory banks 130 are memories that can retain data after power down. A flash memory bank 130 can support three access mechanisms namely program or operation to write-0, erase or operation to write-1 and read or operation to retrieve the contents of flash memory bank 130. The flash program is a high voltage operation and can write to any addressed word of flash memory bank 130. Each program operation requires multiple clock cycles and may need to be repeated for weak bits in flash memory bank 130. Each program operation is preceded by a read operation to check that a programmed bit is not re-programmed. This is to ensure correct flash bit-cell operation through the life of system on chip (SOC).
Flash erase is another high voltage operation which can write to a group of flash memory bank words called as a sector. Each sector erase requires multiple clock cycles and may need to be repeated for weak bits in the sector. Each erase is therefore preceded by a read of all words in the sector and erase cycle is initiated if any of bits are in programmed state. Flash read is a single cycle operation and returns the content of addressed word.
Test algorithm can either be stored in the on-chip memory 115 or can be programmed through SoC's input/output (IO) interface 120. Storage of test algorithm allows faster test application and enables higher efficiency for multi-site application, i.e. simultaneous test application on multiple devices. MDP module 125 is the interface logic between the test controller 135, On chip CPU 110 and flash memory banks 130 to enable concurrent testing of flash memory banks 130.
The test controller 135 is configured to apply a user defined test algorithm that involves a series of flash memory bank operations and associated response validation. The test controller is configured to read the algorithm from the on-chip memory 115. Alternatively, the test controller 135 can also be programmed from the SOC's JO interface 120. The test controller 135 enables each flash memory bank operation by generating correct state of control signals and in the exact order required for correct flash memory bank access. For each flash memory bank, access response validation involves comparing the flash memory bank output to a good circuit response (expected circuit response in functional conditions). The test controller 135 is configured to report a test-fail for a mismatch in actual flash memory bank response and a good circuit response.
The MDP 125 module contains the selection logic for the test controller to access any of the set of flash memory banks 130. The MDP 125 module and its functions are explained in detail now.
FIG. 2 is a block diagram of the memory data path (MDP) module of FIG. 1. Memory data path module includes a test control module 205 having a concurrent control mode 210 and a serial access mode 215. The test control module 205 generates one concurrent control signal, on line 212, per flash memory bank that configures the set of flash memory banks to be tested simultaneously. The concurrent control signal 212 is coupled to a set of comparators 220, corresponding to each of the set of flash memory banks 130. Each comparator 220 is configured to generate a first comparator output in response to the concurrent control signal 212 and an input from the set of flash memory banks 130 that indicates the state of the set of flash memory banks 130. The first comparator output is coupled to a reduction logic 230 configured to generate a reduction logic output that combines the status of comparators 220 to be compressed in the test controller data bus. The first comparator output is additionally coupled to a control logic 225 that is configured to generate a control output, in response to the test stimulus and the first comparator output. This disables an intended operation for bits having a same state as an intended data, based on the test stimulus, in the set of flash memory banks 130. The first comparator output is also coupled to a fail flag 235 configured to generate one of an output value ‘0’ if there is a mismatch from expected response in any access to the set of flash memory banks and an output value 1 if there is no mismatch in all accesses.
The serial access control signal 217 is coupled to the set of comparators 220. Each comparator 220 is configured to generate a second comparator output, in response to the serial access control signal 217 and the input from the set of flash memory banks 130 that indicates the content of flash memory bank. The second comparator output is coupled to the test controller data bus through a multiplexer 240. The second comparator output corresponds to bypass mode, i.e. the accessed data being directly available on the output.
The set of comparators 220 are connected to data output or response from the set of flash memory banks 130. The set of comparators 220 that are enabled by concurrent control signal 212 is configured to compare the response of the flash memory banks 130 and generates a first comparator output value of ‘0’ for an expected response from the flash memory bank and ‘1’, for a mismatch. The comparators 220 disabled by concurrent control signal 212 generate a first comparator value of ‘0’ indicating a good response from the flash memory banks 130. In one embodiment, the comparators are configured by serial access mode (using serial access control signal 217) to bypass the comparators 220 and access a raw response from flash memory bank without changing the access path of the flash memory banks 130. This ensures equivalence of the path without comparator for ease of debug.
Reduction logic 230 takes output of the comparators 220 and generates an output to compress response of all comparators 220 within data bus width of the test controller 135. In one embodiment, the reduction logic 230 output is configured to be a minimum size of single bit indicating combined test-status of the comparators 220 enabled by the concurrent control signal 212. For a wider test controller data-bus width, the reduction logic 230 is configured to provide more granular information such as test-status for each flash memory bank 130 or even each byte of each flash memory bank 130. In serial access mode 215, a slice of the flash memory bank size which is defined by test controller's data-bus width is selected by the multiplexer 240. Each slice is therefore accessed sequentially by the test controller 135.
The control logic 225 receives an input of write-data from the test controller 135 that contains the value to be written into set of flash memory banks 130. The control logic 225 takes a second input of the first comparator output, enabled by concurrent control signal 212, which indicates if the flash memory banks 130 are in the intended state specified in write-data bus. The control logic 225 generates an output bank (input data) to disable write for bits having the same state as write-data bus, and otherwise propagates the write-data bus to bits in a different state from write-data bus.
FIGS. 3, 4 and 5 illustrate different operations of the apparatus of FIG. 1. Referring now to FIG. 3, a concurrent read operation is illustrated. Operationally, for a concurrent read, the concurrent control signal is generated at step 305. At step 310, the test algorithm is configured to read a word from the set of flash memory banks. At step 315, the set of comparators 220 are configured by the concurrent control signal 212 to generate the comparator output (first comparator output). At step 320, the status of the comparator outputs are combined (and compressed) by the reduction logic 230 to fit within a width of the data bus of test controller 135. The test controller 135 generates a sequence of reads and compares a value of ‘0’ for each access at step 325 till the last word of the flash at step 335 (in case the program value is different from the read value). If the value of the reduction logic output is not ‘0’, then fail is reported at step 330. The test controller indicates a fail to the I/O interface 120 or to the on-chip CPU 110. If the last word of the flash is accessed without any fail reported at step 325, a pass is reported at step 340. It is noted that in one embodiment, all enabled flash memory banks are tested in a single iteration. Further, the word address is incremented at step 345 and the process steps 310 to 335 are repeated.
Referring now to FIG. 4, a concurrent program operation is illustrated. Operationally, for a concurrent program, the concurrent control signal is generated at step 405. At step 410, the test algorithm is configured to read a word from the set of flash memory banks. At step 415, the set of comparators 220 are configured by the concurrent control signal 212 to generate the comparator output. At step 420, the control logic 225 generates a control output that is configured to disable write for the bits having same state as the state of the intended data based on the test stimulus, in the set of flash memory banks. Then, at step 425, the status of the comparator outputs are combined (and compressed) by the reduction logic 230 to fit within a width of the data bus of test controller 135. When all bits return a good value of ‘0’, the operation is completed at step 435. The test controller 135 generates a sequence to write the word to be programmed at step 440. In this case, steps 410 to 435 are repeated until the operation is completed at step 435. For each write iteration, the control logic 225 ensures that any programmed bit is not re-programmed, based on previous read status.
Operationally, for a concurrent erase, comparators are configured by concurrent control signal 210 to generate first comparator output that is compressed by the reduction logic 230 to fit within data-bus width of test controller 135. The test controller 135 generates a sequence to read all locations within sector to be erased. Status logic value of ‘0’ in fail flag indicates that all accessed locations are in erased state. For each bank where fail flag is set, test controller applies the erase sequence. The number of erase cycles in concurrent mode is therefore limited by the slowest bank and independent of the number of banks.
Referring to FIG. 5, a concurrent erase operation is illustrated. Operationally, for a concurrent erase, the concurrent control signal is generated at step 505. At step 510, the test algorithm is configured to read all words that should be erased from the set of flash memory banks and verified to be in erased state. At step 515 the fail flag 235 is set to ‘0’ for the flash memory bank where any word read has a mismatch when compared to erased state. At step 515, fail flag 235 is set to ‘1’ for the flash memory bank where none of the word read has a mismatch when compared to erase state. When all flash memory banks are in erased state at step 520, the operation is complete at step 525. The set of flash memory banks that are in erased state i.e. where fail flag 235 is set to ‘1’ are disabled by concurrent control signal at step 535. The test controller 135 generates a sequence to erase the flash memory bank at step 540. In this case, steps 510 to 535 are repeated until the operation is complete at step 535. For each erase iteration, step 535 ensures that an erased bank is not erased again based on the previous read status.
The foregoing description sets forth numerous specific details to convey a thorough understanding of the invention. However, it will be apparent to one skilled in the art that the invention may be practiced without these specific details. Well-known features are sometimes not described in detail in order to avoid obscuring the invention. Other variations and embodiments are possible in light of above teachings, and it is thus intended that the scope of invention not be limited by this Detailed Description, but only by the following Claims.

Claims (16)

What is claimed is:
1. An apparatus for concurrent test of a set of flash memory banks, comprising:
a memory data path module coupled to a test controller, the test controller being configured to generate a test stimulus and to check a response from the set of flash memory banks, the memory data path module comprising:
a test control module configured to generate a concurrent control signal that configures the set of flash memory banks to be tested simultaneously;
a set of comparators, corresponding to each of the set of flash memory banks, each comparator configured to generate a first comparator output in response to the concurrent control signal and an input from the set of flash memory banks that indicates a state of the set of flash memory banks;
a reduction logic configured to generate a reduction logic output that combines a status of the comparator outputs to be compressed to match the width of a data bus of the test controller;
a control logic configured to generate a control output in response to the test stimulus and the comparator output for selective programming across different flash bits of the set of flash memory banks; and
a fail flag configured to generate one of an output value ‘0’ if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 if there is no mismatch in data read from the set of flash memory banks in any access.
2. The apparatus of claim 1, wherein the test control module is configured to generate a serial access control signal that configures the set of flash memory banks to be tested without the set of comparators.
3. The apparatus of claim 2, wherein the serial access control signal configures the set of flash memory banks to be tested without the set of comparators by configuring the comparator to pass response from the set of flash memory banks without changing the access path for failure analysis.
4. The apparatus of claim 1, wherein each comparator is configured to generate a second comparator output in response to the serial access control signal and the input from the set of flash memory banks.
5. The apparatus of claim 1 further comprising a multiplexer that is configured to select one of the reduction logic output and the second comparator output that is provided to the test controller.
6. The apparatus of claim 1, wherein the intended operation comprises one of read, program and erase operation.
7. The apparatus of claim 1, wherein the first comparator output indicates if the set of memory banks contains a value corresponding to an intended data based on the test stimulus.
8. The apparatus of claim 1, wherein the test controller is one of a programmable built-in self-test controller and an on-chip CPU.
9. An apparatus for concurrent test of a set of flash memory banks, comprising:
a test controller configured to generate a test stimulus and to check a response from the set of flash memory banks;
an on chip memory configured to store test operation sequences being executed through the test controller;
a test interface configured to program the test controller; and
a memory data path module coupled to the test controller, the memory data path module comprising:
a test control module configured to generate a concurrent control signal that configures the set of flash memory banks to be tested simultaneously;
a set of comparators, corresponding to each of the set of flash memory banks, each comparator configured to generate a first comparator output in response to the concurrent control signal and an input from the set of flash memory banks that indicates a state of the set of flash memory banks;
a reduction logic configured to generate a reduction logic output that combines a status of the comparator outputs;
a control logic configured to generate a control output in response to the test stimulus and the first comparator output that disables an intended operation for bits having a same state as an intended data, based on the test stimulus, in the set of flash memory banks; and
a fail flag configured to generate one of an output value ‘0’ if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 if there is no mismatch in data read from the set of flash memory banks in any access.
10. The apparatus of claim 9, wherein:
the test control module is configured to generate a serial access control signal that configures the set of flash memory banks to be tested without the set of comparators; and
each comparator is configured to generate a second comparator output in response to the serial access control signal and the input from the set of flash memory banks.
11. The apparatus of claim 9, wherein the intended operation comprises one of read, program and erase operation.
12. The apparatus of claim 11, wherein for a read operation, the test control module is configured to generate the concurrent control signal for all the banks to be tested in the set of flash memory banks and the memory data path module is configured to select the reduction logic output; and wherein the test stimulus comprises a sequence of reads with associated control signals.
13. The apparatus of claim 11, wherein for a program operation, the test control module is configured to generate the concurrent control signal for all the banks to be tested in the set of flash memory banks and the memory data path module is configured to select the reduction logic output; and wherein the test stimulus comprises a sequence of reads followed by write for a location to be programmed.
14. The apparatus of claim 11, wherein for an erase operation, the test control module is configured to generate the concurrent control signal for all the banks to be tested in the set of flash memory banks and the memory data path module is configured to select the reduction logic output; and wherein the test stimulus comprises a test sequence to read all erased locations, to read a status of the fail flag and to disable the set of flash memory banks that do not have a fail flag set, followed by operation to erase the flash memory bank words.
15. A method for concurrent test of a set of flash memory banks, comprising:
generating a concurrent control signal that configures the set of flash memory banks to be tested simultaneously;
generating a test stimulus and checking a response from the set of flash memory banks;
generating a first comparator output in response to the concurrent control signal and an input from the set of flash memory banks that indicates a state of the set of flash memory banks;
generating a reduction logic output that combines a status of the comparator outputs;
generating a control output in response to the test stimulus and the first comparator output that disables an intended operation for bits having a same state as an intended data, based on the test stimulus, in the set of flash memory banks; and
generating one of an output value ‘0’ if there is a mismatch in data read from the set of flash memory banks in any access, and an output value 1 if there is no mismatch in data read from the set of flash memory banks in any access.
16. The method of claim 15 further comprising:
generating a serial access control signal that configures the set of flash memory banks to be tested without the set of comparators; and
generating a second comparator output in response to the serial access control signal and the input from the set of flash memory banks.
US14/490,170 2014-05-08 2014-09-18 Method and apparatus for concurrent test of flash memory cores Active US9263147B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/490,170 US9263147B2 (en) 2014-05-08 2014-09-18 Method and apparatus for concurrent test of flash memory cores

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201461990320P 2014-05-08 2014-05-08
US14/490,170 US9263147B2 (en) 2014-05-08 2014-09-18 Method and apparatus for concurrent test of flash memory cores

Publications (2)

Publication Number Publication Date
US20150325308A1 US20150325308A1 (en) 2015-11-12
US9263147B2 true US9263147B2 (en) 2016-02-16

Family

ID=54368426

Family Applications (1)

Application Number Title Priority Date Filing Date
US14/490,170 Active US9263147B2 (en) 2014-05-08 2014-09-18 Method and apparatus for concurrent test of flash memory cores

Country Status (1)

Country Link
US (1) US9263147B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU167338U1 (en) * 2016-04-26 2017-01-10 Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет аэрокосмического приборостроения" Universal hardware-software complex for the study of various types of flash memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675545A (en) * 1995-09-08 1997-10-07 Ambit Design Systems, Inc. Method of forming a database that defines an integrated circuit memory with built in test circuitry
US7130230B2 (en) * 2003-08-21 2006-10-31 Stmicroelectronics Pvt. Ltd. Systems for built-in-self-test for content addressable memories and methods of operating the same
US7197678B2 (en) * 2002-07-03 2007-03-27 Infineon Technologies Ag Test circuit and method for testing an integrated memory circuit
US7260759B1 (en) * 2004-06-16 2007-08-21 Sun Microsystems, Inc. Method and apparatus for an efficient memory built-in self test architecture for high performance microprocessors
US8122304B2 (en) * 2007-04-23 2012-02-21 Micron Technology, Inc. JTAG controlled self-repair after packaging

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675545A (en) * 1995-09-08 1997-10-07 Ambit Design Systems, Inc. Method of forming a database that defines an integrated circuit memory with built in test circuitry
US7197678B2 (en) * 2002-07-03 2007-03-27 Infineon Technologies Ag Test circuit and method for testing an integrated memory circuit
US7130230B2 (en) * 2003-08-21 2006-10-31 Stmicroelectronics Pvt. Ltd. Systems for built-in-self-test for content addressable memories and methods of operating the same
US7260759B1 (en) * 2004-06-16 2007-08-21 Sun Microsystems, Inc. Method and apparatus for an efficient memory built-in self test architecture for high performance microprocessors
US8122304B2 (en) * 2007-04-23 2012-02-21 Micron Technology, Inc. JTAG controlled self-repair after packaging

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU167338U1 (en) * 2016-04-26 2017-01-10 Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет аэрокосмического приборостроения" Universal hardware-software complex for the study of various types of flash memory

Also Published As

Publication number Publication date
US20150325308A1 (en) 2015-11-12

Similar Documents

Publication Publication Date Title
US7739560B2 (en) Nonvolatile semiconductor memory device and method of self-testing the same
US20100008170A1 (en) Semiconductor tester and testing method of semiconductor memory
US20130015915A1 (en) Semiconductor device
US20100067312A1 (en) Semiconductor memory device and system including the same
CN103854705A (en) Method and system for providing smart memory architecture
KR20020043378A (en) Nonvolatile semiconductor memory device with a fail bit detecting scheme and method for counting the number of fail bits of the nonvolatile semiconductor memory device
TWI463502B (en) Embedded testing module
KR20100002169A (en) Semiconductor memory device and test method thereof
US9362004B2 (en) Semiconductor device, semiconductor memory device and memory system
US10346240B2 (en) Repair information providing device in an integrated circuit
US20180277233A1 (en) Methods of verifying data path integrity
JP2004520673A (en) Integrated circuit with embedded non-volatile memory self-diagnosis device and related diagnostic method
US20100195396A1 (en) Semiconductor memory device and self-test method of the same
US7298659B1 (en) Method and system for accelerated detection of weak bits in an SRAM memory device
US7639554B2 (en) Semiconductor device and method of testing semiconductor device
US20150095728A1 (en) Testing method for reducing number of overkills by repeatedly writing data to addresses in a non-volatile memory
US20080215939A1 (en) Semiconductor memory device with fail-bit storage unit and method for parallel bit testing
US9263147B2 (en) Method and apparatus for concurrent test of flash memory cores
KR20140110579A (en) eFuse OTP Memory device
Martirosyan et al. An efficient fault detection and diagnosis methodology for volatile and non-volatile memories
US8588018B2 (en) Integrated solution for identifying malfunctioning components within memory devices
US20120155172A1 (en) Semiconductor memory device
US8069385B1 (en) Programmable built-in self-test architecture
CN113257328A (en) Memory testing device and testing method thereof
JP2009032313A (en) Nonvolatile semiconductor storage device, and test method of nonvolatile semiconductor storage device

Legal Events

Date Code Title Description
AS Assignment

Owner name: TEXAS INSTRUMENTS INCORPORATED, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MEHROTRA, RAJAT;PAREKHJI, RUBIN AJIT;JALASUTRAM, MAHEEDHAR;AND OTHERS;REEL/FRAME:033777/0098

Effective date: 20140828

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8