Method for detecting faulty elements of a redundancy semiconductor memory

Abstract: A method whereby the N elements (R1, R2, ..., RN) of a memory (4) are read sequentially, and the data items (D1, D2, ..., DN) contained therein are compared with reference data items. Simultaneously with the reading of each element of the memory (4), its address is written in a number of redundancy check registers (7), each connected to a respective redundancy element (11). In the event the element of the memory (4) differs from the reference data item, the first of the redundancy check registers (7) is blocked to prevent it from being overwritten and so permanently memorize the address of a faulty element of the memory (4). Upon the entire memory (4) being read, the addresses of any faulty elements in the memory (4) are thus already memorized in the redundancy check registers (7).

Description: The present invention relates to a method for detecting faulty elements of a redundancy semiconductor memory. Electronic semiconductor memories are known to be formed of a number of memory cells arranged in an array of n rows and m columns. In the case of redundancy memories, test machines for sequentially checking the base elements (rows and/or columns) are employed for detecting any faulty elements and replacing them with auxiliary ones. The test devices provide for performing the following operations: sequentially reading the memory cells: comparing the read and expected values, and memorizing the addresses of the faulty cells; locating the elements (rows and/or columns) containing faulty cells; determining the auxiliary elements with which to replace the faulty elements; and writing the faulty element addresses in nonvolatile redundancy check registers. The methods employed on known test machines, particularly for sequentially reading the memory elements and writing the faulty element addresses in the nonvolatile check registers, are fairly complex, time-consuming, and require either a dedicated external test machine or additional external hardware. A method of the type defined in the preamble of claim 1 is disclosed in IEEE Journal of Solid-State Circuits, vol. 27, no. 11, November 1992, p. 1525-1531, wherein, during a test-and-repair cycle, the address of the element to be read is stored in the address buffer of the memory and, if a faulty cell is detected, the faulty cell address is sent from the address buffer to a fail address memory for the use during the normal read/write operations in combination with a spare memory. This method thus shares the same above discussed drawbacks. It is an object of the present invention to provide a method usable on a simplified test machine, and which provides for straightforward, rapid detection of faulty memory elements. According to the present invention, there is provided a method for detecting faulty memory elements, as claimed in Claim 1. A preferred non-limiting embodiment of the present invention will be described by way of example with reference to the accompanying drawings, in which: Fig.1 shows a schematic view of a memory including a test machine implementing the method according to the present invention; Fig.2 shows a logic block diagram of the steps of the method according to the present invention. Number 1 in Fig.1 indicates an electronic device comprising both memory elements and elements for implementing the method according to the present invention. Device 1 comprises a main EPROM memory 4, and k redundancy check registers 7 connected to main memory 4 by control logic 8 and a disabling line 9. In the example shown, main memory 4 is divided into N elements (rows R1, R2, ..., RN), each containing a data item D1, D2, ..., DN, and each accessible by a respective address I1, I2, ..., IN generated by control unit 5 and supplied by address bus 6 to main memory 4 and to control logic 8 connected to redundancy check registers 7. Redundancy check registers 7 are also connected to a redundancy memory 11 having k redundancy elements (in this case, rows RD1, RD2, ..., RDk), each connected to a respective redundancy check register 7. Redundancy check registers 7 are addressed by control unit 5, and each comprise M bits for writing the element addresses of main memory 4, and a control bit REDENO. More specifically, the control bit may assume two different logic states: one, for example "0" (REDENO=0), indicating the unblocked status of respective register 7; and the other, for example "1" (REDENO=1), indicating blocking of the data item (address) memorized in respective register 7; disabling of the main memory 4 element whose address is specified in respective register 7 (as shown by line 9); and enabling of the associated element in redundancy memory 11 (as shown by line 10). As already stated, redundancy check registers 7 are connected to control logic 8, which, during normal operation of main memory 4 (read), compares the addresses supplied over address bus 6 with the content of each register 7, and, in the event they match, enables the redundancy element connected to register 7, and activates disabling line 9. Each redundancy check register 7 is also connected to a respective nonvolatile memory cell 12 (of M bits) in which the content (address) of respective register 7 (when blocked) is memorized permanently at the end of testing, and from which said address is copied into the relative register 7. In other words, for the k redundancy control registers, there are provided k nonvolatile memory cells 12 for permanently memorizing the addresses of any faulty elements in main memory 4. Device 1 also comprises a data comparing block 13 for comparing data supplied by main memory 4 over line 16 with data supplied by a reference memory 21 comprising one or more registers. Data comparing block 13, preferably in the form of a combination of EXOR circuits, presents an output 23 connected over line 25 to the control input of registers 7, and the logic value (zero/one) of which depends on a positive or negative comparison of a data item from main memory 4 and a corresponding data item from reference memory 21. Fig.2 shows a logic block diagram of the operations performed by device 1 according to the method of the present invention. To begin with, in block 100, the content i, j of two counters (not shown) in control unit 5 is made equal to 1 via logic operations i=1; j=1. Block 100 then goes on to block 110 in which the i-th row (e.g. row R1 for the first read cycle) in main memory 4 is addressed (and the relative data item read), and in which the address of the selected i-th row is memorized in all the redundancy check registers 7 in which the REDENO bit presents an unblocked status logic value (zero in the example shown). Block 110 then goes on to block 130 in which, by means of block 13, the i-th data item read in block 110 is compared with a corresponding reference data item supplied by reference memory 21. In the event of a negative response (differing read and reference data items), block 130 goes on to block 140; whereas, in the event of a positive response (matching read and reference data items), block 130 goes on to block 150 in which the content i of the counter is increased one unit via logic operation i=i+1. Block 150 is followed by block 160 in which i is compared with a whole number N equal to the number of rows in main memory 4. In the event of a positive response (all the rows in main memory 4 checked), block 160 goes on to block 165, in which the content of all the blocked redundancy check registers 7 (REDENO bit = 1) is memorized in respective nonvolatile memory cells 12, and from there to STOP block 168. Conversely (negative response in block 160 indicating not all the rows in memory 4 have been checked), block 160 goes back to block 110, which provides for reading the next row (e.g. R2) to that read in the previous cycle. In block 140, variable j is compared with a whole number k equal to the number of redundancy check registers 7. If j is less than k (number of registers 7 available), block 140 goes on to block 170. Conversely (j=k), block 140 goes on to block 180 in which an error signal is generated indicating registers 7 have all been used (number of faulty elements in main memory 4 greater than the number of available registers 7 and redundancy elements 11). Block 180 then goes on to block 165. Block 170 provides for generating an error signal indicating malfunctioning or a fault in the i-th element (row) of main memory 4, by virtue of the i-th data item read by block 110 differing from the i-th reference data item. Block 170 is followed by block 190 in which the REDENO bit of the j-th register 7 is set to the blocked data item (address) logic state, so as to prevent the j-th register from being written, and the address relative to the faulty row is memorized permanently. The switch in the logic level of the REDENO bit also results in enabling of the respective element (j-th row) in redundancy memory 11, and disabling of the i-th element in main memory 4, which is thus replaced by the j-th redundancy element. Block 190 is followed by block 200 in which j is increased one unit via logic operation j=j+1 , and which then goes back to block 150. When all the N elements in main memory 4 have been read, the addresses of any F number of faulty elements in main memory 4 are written in the first F registers 7. The first F registers 7 also present a REDENO bit equal to one, while the remaining k-F registers 7 contain the address corresponding to the last data item read by block 110, and present a zero REDENO bit. The method according to the present invention therefore provides for sequentially checking elements R1, R2, ..., RN and data items D1, D2, ..., DN in main memory 4; for memorizing the addresses of any faulty elements in redundancy check registers 7; and for automatically addressing the corresponding elements in redundancy memory 11 when addressing main memory 4, thus simplifying and reducing the performance time of the test procedure. To those skilled in the art it will be clear that changes may be made to the memory device and method described and illustrated herein without, however, departing from the scope of the present invention. For example, the redundancy structure of main memory 4 may differ from that described (e.g. in terms of columns and/or rows). In addition to the REDENO code, each redundancy check register 7 may present a second REDFO code designed to assume a first logic value (e.g. "1", REDFO=1) in the event of faults in the respective redundancy memory 11 element. In this case, before the address of the last element read in main memory 4 is written into all the redundancy check registers 7 (block 110), the efficiency of the available redundancy elements is checked, and any faulty redundancy elements are automatically excluded. It should be pointed out that device 1 may also implement functions other than as described herein. For example, it may define an automatic test stage for scanning the memory elements and, among other things, implementing the method according to the present invention under the control of control unit 5. More specifically, in the case of a row and column redundancy structure, the control unit performs all the decision-making functions relative to performance of a row or column redundancy on the basis of predetermined criteria and algorithms. Finally, device 1 may form part of a more complex device (e.g. a microcontroller or other dedicated device).

Claims: A method of detecting faulty elements of a redundancy semiconductor memory, comprising the steps of: a) reading (110) a data item stored in an element (R1, R2, ..., RN) of main memory means (4); b) temporarily storing the address (I1, I2, ..., IN) of said element (R1, R2, ..., RN) in at least one control memory location forming part of accessory memory means (7); c) comparing (130) said stored data item with a reference data item; d) generating (170) a faulty element signal, in the event said stored data item differs from said reference data item; and e) repeating steps a)-d) for all the elements of said main memory means (4); f) memorizing (165) said addresses (I1, I2, ..., IN) of said read elements in memory locations of a fail address memory (12); characterizing in that, in said step b), the temporarily storing is made into a memory location forming part of a number of memory registers (7); in that, in step f), the memorizing is made into permanent memory locations; and in that said step d) for generating a faulty element signal comprises the step of associating said address (I1, I2, ..., IN) of said faulty element with a code (REDENO) for subsequently disabling writing of said memory register (7) containing said address. A method as claimed in Claim 1, characterized in that said code (REDENO) is generated for disabling said element of said main memory means (4) and enabling an element of redundancy memory means (11). A method as claimed in any one of Claims 1 and 2, characterized in that said steps a) b) of reading a stored data item and temporarily storing the address are performed simultaneously. A method as claimed in any one of Claims 2-3, characterized in that said element of said redundancy memory means (11) is a row. A method as claimed in any one of Claims 2-3, characterized in that said element of said redundancy memory means (11) is a column. A method as claimed in Claim 2, characterized in that said elements of said redundancy memory means (11) comprise rows and columns.

Inventors: GANZELMI ROBERTO, PERI MAURIZIO, PEZZINI SAVERIO
Applicants: ST MICROELECTRONICS SRL, STMICROELECTRONICS S.R.L.
Application year: 1993
Main classification: G11C11
IPC codes: G11C29, G01R31, H01L21