Title of Invention | "AN IMPROVED AREA EFFICIENT MEMORY ARCHITECTURE WITH DECODER SELF TEST AND DEBUG CAPABILITY" |
---|---|
Abstract | The present invention provides an integrated test device thereby reducing external wiring congestion to the memory. The integrated test device provides for separate decoder testing and debugging to find specific errors in the memory. The device also helps in reducing the complexity of the test of external BIST, Furthermore, the number of clock cycles required for the decoder testing for an N-address memory is reduced fi-om 4N cycles to N clock cycles. Additionally, the access time for the memory is reduced as the test device is used as a pipelining device in normal operation mode. |
Full Text | Field of the Invention The present invention relates to improved area efficient memory architecture with decoder self test and debug capability. More particularly, it relates to providing an integrated test architecture/methodology within the memory for high-speed address decoder testing and high speed memory operation. Background of the Invention Over the years, the semiconductor devices have become considerably smaller and faster. The semiconductor technology trends have consistently followed the Moore's Law as the technology has shrunk by a factor of 1.5 every year. The miniaturization of devices has also resulted in increased complexity and consequently higher clock speeds for integrated circuits. For instance, a complex Application Specific Integrated Circuits (ASICs) today have several million transistors on a single chip. Since these chips can hold more transistors, a single chip has more logic blocks. As a result, on-chip memories have become extremely popular for fast memory access in System on Chip (SoC) devices. Each memory block takes up significant silicon area and as a result, most of the silicon area on ASICs is dedicated to these embedded memories. As ASIC designs become more memory dominated, the probability of memory errors has increased due to manufacturing faults and process variations. Hence, Design for Test (DFT) and test reliability are very important aspects in the ASIC design process. The testing is done using on-chip test devices called Built in Self Test (BIST) devices. These BISTs are required to perform failure testing on the memories at very high clock speeds. This is a major bottleneck for the development of reliable high-speed ASICs as most of the current BIST architectures do not provide reliable memory testing at high clock speeds. Few current BIST devices that do provide reliable testing are very inefficient in terms of operation speed. Today's embedded memories are full custom volatile Random Access Memories (RAMs) that are designed and optimized for high speed, low power and small area. These memories are categorized by their operation mode as synchronous or asynchronous memories. While the synchronous memories perform operations on the edge of the input clock, the operations inside the asynchronous memories are independent of the input clock. The memories are also categorized by their storage means and detection techniques into Static or Dynamic RAMs (SRAMs/DRAMs). DRAMs occupy less silicon area but the storage elements in DRAMs have to be refreshed at regular intervals. SRAMs are larger memories that do not require regular refreshes and as a result, they have faster access times and are ideal for high speed ASICs. The present invention is discussed in relation to synchronous memories and henceforth the word memory will mean a synchronous memory unless specified otherwise. Nevertheless the same fundamentals can also be applied to the asynchronous memories as well. Figure 1 illustrates the structure of single port embedded memories. A typical single port embedded memory contains a data input port, an address port, a memory select port, an output enable port, an external clock port, a write enable port and an output port or a subset of these I/O ports. The structure has an address decoder, a control/clock generator, a memory core, and I/O port blocks. Similarly, a dual port memory structure contains two decoders (X and Y decoders), a control/clock generation circuitry, a memory core, I/O port blocks, and several dummy paths. All mentioned blocks are made in form of leaf cells and are abutted to form a memory block of desired word x bit configuration. Hence, full memory design process involves designing all the leaf cells in a new technology and altering the design parameters for interaction between leaf cells for proper memory functioning. Correct operation of address decoder and all other leaf cells is very important for proper functioning of the memory. A normal address decoder in a memory contains latches to store the addresses. These addresses are statically decoded and the valid decoded value is clocked to select a row or column (or both) in the memory core to write onto or read from +he memory cells. In dynamic decoders the row select signal called the wordline is subjected to a precharge mechanism using an internally generated memory clock. The decoder outputs or the word lines are then used to select the memory cell enable pins. Manufacturing defects in the address decoder can result in faults like stuck-at on the word lines, wrong selection and multiple word line selections. These faults arise when the setup or hold time requirements for decoder latches are not met or there are some other timing problems with the block. US 6470475 relates to a synthesizable synchronous static random access memory that comprises custom built memory cells and a semi-custom input/output/precharge section in bit slice form, a semi-custom built decoder connected to the bit slice, and a semi-custom built control clock generation section connected to the semi-custom built decoder and input/output section. The components may be arranged to provide high-speed access, easy, testability, and asynchronous initialization capabilities while reducing design time, and in a size that is significantly smaller than existing semi-custom or standard cell based memory designs. The limitation of the aforementioned patent document that it does not suggest high speed and minimal clock cycle testing of the memory address decoder. hi prior art, a Built in Self Test (BIST) device performs fault testing for all leaf cells in a memory and generates results for memory as a block. The most common way to detect the address decoder faults is to use some standard march algorithms which contain special march elements in a specified order. These algorithms have several disadvantages as they are highly unreliable in detecting the address decoder faults. As mentioned in book 'Testing Semiconductor Memories: Theory And Practice' by A.J. Vande Goor, the disadvantages of current memory testing devices and more specifically decoder testing are as follows: • The tests take about four operations per word to detect the address decoder faults. Hence, the test time for memory address decoder is very large if the memory size is big. • Some other kinds of faults like coupling faults or 10 Faults may mask the address decoder faults as the fault is detected through the memory output port. • There is no way of viewing the address decoder faults as the paths come out through the memory core. • Debugging the address decoder faults is very hard as segregating the decoder faults from other faults is not possible. Hence, there is a need for a test architecture/methodology for address decoder that will reduce the test time and at the same time provide the ability to reUably detect and segregate the address decoder faults from other types of faults. The present invention aims at solving all the problems created by the mentioned disadvantages in the memory address decoder fault testing using the prior art test schemes. Additionally, the present invention results in high-speed memories with negUgible area overhead. Object and Summary of the Invention To obviate the aforesaid drawbacks the object of the instant invention is to provide an improved area efficient memory architecture with decoder self test and debug capability. Another object of the invention is to provide a means for high speed testing of the memory address decoder. Additional object of the invention is to provide a memory architecture resulting in lower access time. Further object of the instant invention is to provide reliable test results for memory address decoder. To achieve the aforesaid objects the instant invention provides an improved area efficient memory architecture with decoder self test and debug capability comprising: a memory core for storing the data; - an input/output (I/O) block connected to said memory core for reading and writing data into said memory core; - a memory control means coupled to said memory core and said I/O block for generating the internal clock and control signals for proper memory operation; and - one or more decoders for receiving address and control signals from said memory confrol means and generating output for read/write operation on said memory core; - a test confrol means for generating test confrol sequences for each decoder, verifying the results of said test confrol sequences and generating a test status output; - a reference generator for generating a known valid output corresponding to the decoder output for said test confrol sequence; and - a comparator for comparing the output from each said decoder and said reference generator to identify the fault. The said test confrol means comprising: - a test address generator for generating said address generation sequences for each decoder; - a complementary clock generator for generating complementary clock signals for said reference generator; - a mode confrol means for operating said test address generator and said complementary clock generator, and generating control signals for switching between the test, debug and normal mode of operation; and - a result checking means having its input connected to the input of said test confrol means and its output connected to said test status output. The said reference generator comprises a plurality of storage elements connected together in series through confroUed signal passing means to form a ring with predefined outputs from selected storage elements and the confrol inputs of consecutive signal passing The said reference generator comprises an additional controlled signal passing means at the input of each storage element to enable selective connection to a separate input data line to provide a debugging mechanism; said additional controlled signal passing means coupled to control signals from said mode control means. Each storage element is connected to a predefined output. The alternate storage element is connected to a predefined output to provide the ability to fiinction as a pipelining mechanism. The said storage elements are latches. The said controlled signal passing means are transmission gates. The said comparator comprises a compressor for generating a result for said test control means. The said compressor is a logic device that generates a compressed output. The said test control means is placed below the comparator and the reference generator, and adjacent to each decoder for providing an area efficient architecture. The present invention fiirther relates to a method for providing an improved area efficient memory architecture with decoder self test and debug capability comprising the steps of: - storing the data in a memory core; - cormecting a input/output (I/O) block to said memory core for reading and writing data into said memory core; - coupling a memory control to said memory core and said I/O block for generating the internal clock and control signals for proper memory operation; - receiving address and control signals from said control means by one or more decoders; and - generating output for read/write operation on said memory core by said decoders; wherein: - test control sequences are generated for each decoder; - a known valid output is generated corresponding to the decoder output for said test control sequence; - the output from each decoder and said known valid output are compared and a result is produced; and - the results are verified and a test status output is generated. The present invention aims at providing an area efficient memory and an integrated method for decoder self-test and debug capability. The modified memory address decoder has additional blocks within the new memory architecture for the self-test and debug operation. While the new memory architecture results in some additional area overhead when compared to the external BIST testing of the decoder, the added blocks are frill custom and hence are very area efficient. Additionally, the new architecture is aimed to give a better access and cycle time and has negligible impact on address setup and hold time requirements. The power consumption for the instant invention is nearly the same as well. Brief Descriptions of tlie Drawings The present invention will now be described with the help of accompanying drawings: Figure 1 describes the architecture of a typical Single Port Memory. Figure 2 illustrates the Block Diagram of a Single Port memory with additional integrated test blocks in accordance with the invention. Figure 3 describes the general architecture of a shift register used in the Reference Generator in accordance with the invention. Figure 4 illustrates the block diagram of One-Column architecture in accordance with the invention. Figure 5 illustrates the block diagram of Two-Column architecture in shift column logic block in accordance with the invention. DetaOed description of the present Invention The current invention is a complete memory address decoder test solution for a highspeed memory from design to test. The test solution has been designed to keep the performance aspect in mind and has resulted in area and speed efficient memory architecture. Further the memory with integrated decoder test device is designed to operate in test mode, debug mode and memory operation mode for complete testing and debugging of the memory address decoder. The integrated test device is also used as a pipelining device in normal memory operation mode to reduce the memory access time. The block diagram for the invention is illustrated in Figure 2 for a single port memory embodiment. However, the architecture is not limited to a single port memory and similar architecture can be implemaited for any memory by introducing a separate test device for individual decoder. Each test device in the present invention comprises a test control means, a reference generator, and comparators with compressors. The test control means is cormected to the memory address decoder, a reference generator and receives the output of the comparators. Each output of a memory address decoder is cormected to a comparator, which also receives the corresponding valid output of the decoder from the reference generator. The outputs of the comparators are fed to compressors, which in turn are connected to the test control means. The test control means generates a final status output signal called BAD signal for the memory address decoder. The memory address decoder may be static or dynamic. The reference generator and the compressors added are the overhead in terms of area, but the width of the reference generator is negligible when compared to the reduction in the test time. Further, all components in the test ^device are optimized for speed and area. The test control means is placed just below the reference generator and comparator blocks for using the unutilized area under the blocks and reducing the memory delay. The test control means comprises a test address generation block, a complementary clock generator, a mode control means and a result checking means. The test control means is responsible for managing and coordinating the steps in the test device in different operation modes. ]n the test mode, the test logic block initially resets all the memory block including blocks within the test device for initialization of test. The test address generation logic is a finite state machine responsible for generating a sequence of test addresses for the decoder. The complementary clock generator in the test control means is also connected to the reference generator for initialization and generation of appropriate outputs for corresponding address from the test address generation block. The mode control means also generates control signals for switching between various operation modes. Further, the test control means has result checking means that continuously receives the output of the compressors and generates a high BAD signal. In the test mode, the test is stopped as soon as an error is detected and a high BAD signal is generated. On the other hand, in debug mode the address of faulty decoder location is output through the result checking means. The test control means is deactivated in the normal memory operation mode. Another key component in the device is the reference generator. The invention provides for two different embodiments of the reference generator for efficient memory operation in addition to reliable testing of the address decoder. Both the embodiments are covered under the present invention Figure 3 illustrates the arrangement of memory cells and pass logic gates to form a shift register. The memory cells are connected in series through a pass logic gate with the output of last memory cell connected to the input of the first memory cell. The clocks CKSHIFT and CKSHIFTBAR are two complementary clocks which are connected to the enable ports of two consecutive pass logic gates in the ring configuration. All pass logic gates have their input ports connected to one of the two Jlocks. In a single clock cycle the stored value is transmitted through two memory cells as both pass logic gates are active for half non-overlapping cycles. This arrangement of two memory cells form a flip-flop which transmits the stored value to next flip-flop in one clock cycle. Initially a high signal is fed to the first memory cell in the shift register with all other values initialized at zero. A clock or multiple clocks are used at the enable port of the pass logic gates to synchronously shift the high signal through the serially connected memory cells. The output of selected memory cells is used as the output of the reference generator. The reference generator output mimics the behavior of decoder output as a high value is seen at only one wordline. Thus, in test or debug mode, the reference generator acts as a ring counter which generates the expected decoder output for the address under test on every clock cycle. Additionally in debug mode, the reference generator is used to store the address corresponding to a faulty decoder output for the test control means. There are two embodiments for the reference generator and these are termed as 'one-column' or 'two-column' reference generator. The difference in two embodiments lies in the selected memory cell arrangements. One-column reference generator, with a vertical chain of memory cells arranged in one column, is illustrated in Figure 4. For an N-address memory, an array of N memory cells is connected in series with a pass logic gate between a pair of consecutive memory cells. Additionally, the two consecutive pass logic gates in a chain receive complementary clock signals from the complementary clock generator. The value stored in each memory cell is selected as the output of the reference generator. As the high signal is shifted through two memory cells in one clock cycle, the one-column reference generator shifts high through the odd (1,3,5...) or even (0,2,4...) memory cells and the high value is seen correspondingly at even or odd wordlines. Hence in an N-address memory, the test logic block is configured to generate the address corresponding to the odd/even decoder output for first N/2 clock cycles and even/odd decoder output for another N/2 clock cycles. ^ one-column reference generator takes two iterations through the decoder to generate all valid decoder output configurations and the complete testing of the decoder takes N clock cycles. The generator is also used to latch the value on the respective wordlines in parallel. Extra logic is required in pass logic gate for the latching function but it helps in debugging a particular decoder output at a later stage. The word line value is latched with the help of the control signals WEN EVEN and WEN ODD. The values of all the odd wordlines is latched using WEN ODD and the values on all the even wordlines is latched using WEN EVEN. These control signals are generated through the mode control means in the test control means and are used to shift any value on the wordline in debug mode. During the latching phase in debug mode, the complementary clock signals are kept at non-active values. Figure 5 illustrates the two-column architecture for a reference generator. Two memory cells and two pass logic gates connected sequentially with each pass logic gate receiving an inverted clock form a flip-flop. In the two-column architecture, one memory cell and one pass logic gate each from columns 1 and 2 are connected sequentially with all pass logic gates in column 1 receiving the clock signal CK_SHIFT and all pass logic gates in the column 2 receiving the inverted clock signal CK_SHIFTBAR. Hence, an extra column (column 2) of memory cells and pass logic gates is used to form an array of N flip-flops. Additionally, these flip-flops are connected sequentially and the output of last flip-flop is connected to the input of first flip-flop. In two-column architecture, the output of each sequentially-connected flip flops is the output of the reference generator Similar to one-column architecture, the high value is shifted through two memory cells (a flip-flop) in a single clock cycle. Hence, the high value is seen on consecutive reference generator outputs instead of alternate (even or odd) wordlines. Hence, the address generation in the test control means is done corresponding to consecutive wordlines (0,1,2,3...) after each clock cycle. A similar logic is used for latching the output in a two-column architecture for storing the address in the debug mode. Additionally, the reference generator is used as a pipelining device in the memory architecture resulting in faster memory operation in normal memory operation mode. Hence although, this architecture results in extra area overhead and higher latency time, the effective access time for the memory is reduced. In case of one-column architecture, the comparator compares the wordline coming from the address decoder to the corresponding data from the reference generator and the output is compressed and measured for the odd or even wordlines at a time. On the other hand, in case of two-column architecture, the comparator compares for all the wordlines at the same time, and the output is compressed for all the wordlines. The total run in both cases takes only N clock cycles where N are the number of words in the memory. A separate XOR logic gate is used for comparison in each wordline. The compressor is a logic block implementing a N/2 input NAND operation in one-column architecture or N input NAND operation in two-column architecture, which produces a logically compressed output in terms of Boolean functions comprising minimal terms. The compressed output is fed continuously to the test control means, which generates the BAD signal based on the compressed signal. The present invention provides several advantages over the prior art memory architecture. The invention provides an integrated test device thereby reducing external wiring congestion to the memory. The integrated test device provides for separate decoder testing and debugging to find specific errors in the memory. The device also helps in reducing the complexity of the test of external BIST. Furthermore, the number of clock cycles required for the decoder testing for an N-address memory is reduced from 4N cycles to N clock cycles. Additionally, the access time for the memory is reduced as the test device is used as a pipelining device in normal operation mode. We claim: 1. An improved area efficient memory architecture with decoder self test and debug capability comprising: - a memory core for storing the data; - an input/output (I/O) block connected to said memory core for reading and writing data into said memory core; - a memory control means coupled to said memory core and said I/O block for generating the internal clock and control signals for proper memory operation; - one or more decoders for receiving address and control signals from said memory control means and generating output for read/write operation on said memory core; - a test control means for generating test control sequences for each decoder, verifying the results of said test control sequences and generating a test status output; - a reference generator for generating a known valid output corresponding to the decoder output for said test control sequence; and - a comparator for comparing the output from each said decoder and said reference generator to identify the fault. 2. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in claim 1, wherein said test control means comprising: - a test address generator for generating said test control sequences for each decoder; - a complementary clock generator for generating complementary clock signals for said reference generator; - a mode control means for operating said test address generator and said complementary clock generator, and generating confrol signals for switching between the test, debug and normal mode of operation; and - a result checking means having its input connected to the input of said test control means and its output connected to said test status output. 3. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in preceding claims, wherein said reference generator comprises a plurality of storage elements connected together in series through controlled signal passing means to form a ring with predefined outputs from selected storage elements and the control inputs of consecutive signal passing means being connected to complementary clocks from said complementary clock generator. 4. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in all preceding claims, wherein said reference generator comprises an additional controlled signal passing means at the input of each storage element to enable selective connection to a separate input data line to provide a debugging mechanism; said additional controlled signal passing means coupled to control signals from said mode confrol means. 5. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in claim 3, wherein each storage element is connected to a predefined output. 6. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in claim 3, wherein alternate storage element is connected to a predefined output to provide the ability to fimction as a pipelining mechanism. 7. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in claim 3, wherein said storage elements are latches. 8. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in claim 3, wherein said controlled signal passing means are transmission gates. 9. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in claim 1, wherein said comparator comprises a compressor for generating a result for said test control means. 10. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in claim 9, wherein said compressor is a logic device that generates a compressed output. 11. An improved area efficient memory architecture with decoder self test and debug capability, as claimed in claim 1, wherein said test control means is placed below the comparator and the reference generator and adjacent to each decoder for providing an area efficient architecture. 12. A method for providing an improved area efficient memory architecture with decoder self test and debug capability comprising the steps of: - storing the data in a memory core; - connecting an input/output (I/O) block to said memory core for reading and writing data into said memory core; - coupling a memory control means to said memory core and said I/O block for generating the internal clock and control signals for proper memory operation; - applying address and said control signals to one or more decoders for generating output for read/write operation on said memory core; wherein; - test control sequences are generated for each decoder; - a known valid output is generated corresponding to the decoder output for said test control sequence; - the output from each decoder and said known valid output are compared and a result is produced; and - the results are verified and a test status output is generated. 13. An improved area efficient memory architecture with decoder self test and debug capability substantially as herein described with reference to the accompanying drawings. 14. A method for providing an improved area efficient memory architecture with decoder self test and debug capability substantially in a memor\' as herein described with reference to the accompanying drawings. |
---|
1276-del-2005-correspondence-others.pdf
1276-del-2005-description (complete).pdf
1276-del-2005-petition-138.pdf
Patent Number | 218153 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Indian Patent Application Number | 1276/DEL/2005 | |||||||||
PG Journal Number | 13/2009 | |||||||||
Publication Date | 27-Mar-2009 | |||||||||
Grant Date | 31-Mar-2008 | |||||||||
Date of Filing | 18-May-2005 | |||||||||
Name of Patentee | STMICROELECTRONICS PVT. LTS., | |||||||||
Applicant Address | PLOT No. 2,3,& 18, SECTOR 16A, INSTITUTIONAL AREA, NOIDA-2013001, UTTAR PRADESH, INDIA. | |||||||||
Inventors:
|
||||||||||
PCT International Classification Number | G11C 5/02 | |||||||||
PCT International Application Number | N/A | |||||||||
PCT International Filing date | ||||||||||
PCT Conventions:
|