ICs typically include built-in-self-test (BIST) logic that enables embedded memory devices to be tested for defects. In some BIST embodiments, extra circuitry is provided such that, if a defect is detected using the BIST logic, it can be repaired, using either a soft repair procedure or a hard repair procedure. It is known to include a redundant memory portion in an IC memory device that is used to repair a defective portion in the memory device. The redundant memory portion normally is never used unless a defective memory portion is detected and a repair is made. Both hard and soft repair procedures result in the redundant memory portion being used to store the data that would have otherwise been stored in the defective memory portion. In essence, the defective memory portion is remapped to the redundant memory portion.
With soft repair, the remapping of the data path is performed by storing values in a remapping register of the remapping logic 20 that cause certain logic gates to be turned on and other logic gates to be turned off, thereby causing certain paths through the logic to be activate and others to be inactive. With soft repair, the BIST is run each time the IC is powered on and the remapping logic is configured to repair the memory device if a defect is detected. Because it is possible in some cases for a defect to appear on one occasion when the IC is powered on and not to appear on another occasion (i.e. the defect is intermittent), remapping may occur on one occasion when the IC is powered on and not occur on another. Therefore, the hardware may not be physically configured the same way all of the time.
With hard repair, the remapping of the data paths happens during the production stage. After the IC has been manufactured, it is tested using the BIST logic on the IC and any failing locations are noted. If a defect has been detected, a physical change is made in the repair circuitry corresponding to the failing location to cause the original data path to be remapped to the new data path. Once the new connections have been made, either by blowing an electrical fuse or by cutting a metal link with a laser, the BIST test is run again to ensure that the defect has been repaired. A hard repair is performed only once, during the manufacturing test stage, and is permanent for the lifetime of the IC.
With the current hard repair procedure, the physical configuration of the memory array does not change after the repair has been made, but there is no mechanism for enabling the user of the IC to determine what the exact physical configuration of the IC is after the repair has been made. As stated above, hard repair is made during production and the associated information is not kept with the individual IC, so the end user of the IC has no way of knowing exactly what repairs were made, or indeed if any repairs were made at all.
With the current soft repair procedure, there is also no mechanism for enabling the configuration of repairs to be determined. Furthermore, because the physical configuration of the memory array may not always be the same each time the IC is powered on, it would be desirable to provide a way to enable a user to determine the exact physical configuration of the memory array at any given time.
Accordingly, a need exists for a method and an apparatus that enable an IC user to determine whether a defect in a memory device has been detected and repaired. A need also exists for a method and an apparatus that enable an IC user to determine the location of a defect as well as the configuration of the memory device after a repair has been made.
The invention provides a method and an apparatus for enabling a user to determine whether a defective location in a memory device of an integrated circuit (IC) has been remapped to a location in a redundant memory portion. Users are provided with the ability to observe the remapping, and preferably, to determine which locations in the memory device have been remapped. The memory device includes remapping observation logic that causes bits associated with remapping to be output from the memory device. Preferably, a computer receives the remapping bits and displays a description of any remapping on a display monitor. Therefore, not only is a user able to determine whether remapping has occurred, but also which locations in the memory device have been remapped.
In accordance with the preferred embodiment, the memory device includes remapping observation logic that a user asserts to cause remapping bits stored in remapping registers to be ported out of the memory device so that they are available at an output port of the memory device. Preferably, the remapping bits are output from the same port that data is output from when it is read out of the memory array of the memory device. A multiplexer selects between data and remap bits. A remapping observation control signal controls the selections made by the multiplexer. When a user asserts the control signal, the multiplexer selects the remap bits to be ported out on the data output port of the IC. Preferably, a computer receives the remap bits and displays them on a display monitor in a format that indicates which locations in the memory array have been remapped to locations in the redundant memory portion.
These and other features and advantages of the invention will become apparent from the following description, drawings and claims.
In accordance with the invention, a user of an IC is provided with the ability to determine whether a memory device has been repaired. In accordance with the preferred embodiment of the invention, the IC user not only is provided with the ability to determine that a repair to a memory device has been made, but also the ability to observe the nature of the repair that has been made.
A column decoder 47 receives the address selected by the MUX 43 and decodes it to obtain an address of a column in the memory array 41. The selected column address is received by bitline prechargers and column multiplexers 48. The bitline prechargers keep the bitlines precharged to the same value when data is not being read from or written to the memory array 41 during one phase of the clock, CLK. The column multiplexers select an address of a particular column in the memory array. The write drivers 49 include buffers that drive the column lines when data is being written to the memory array 41. Sense amplifiers 51 sense data being output from the memory array 41 during a read operation and drive the data being read to the data_out register 52, which temporarily holds data read from the memory array 41. Data to be written to an address in the memory array is temporarily held in the data-in register 53.
The signals Enable, RNW (read not write) and CLK control, via the memory controller 42, writing data to and reading data from the memory array 41. When the Enable signal is asserted and the RNW is asserted, then data is read from the memory array 41 during one phase of CLK. When the Enable signal is asserted and the RNW signal is not asserted, then data is being written to the memory array 41. When the Enable signal is not asserted, data can neither be written to nor read from the memory array 41, so the RNW signal is a “don't care” (i.e. irrelevant).
In order to test the memory array 41 for defects, the memory device 40 includes BIST logic 61. When the BIST logic 61 detects that a CHIP_RUN_BIST signal is asserted, the BIST logic 61 generates a sequence of test patterns consisting of both data and address portions to be written to and later read from the memory array 41. The data portion of each test pattern is first stored in the data_in register 53 before being written to a location in the memory array 41. The BIST logic 61 also generates a corresponding write address that is output to the memory controller 42. The memory controller 42 then causes the data contained in the data_in register 53 to be written to location in the memory array 41 designated by the write address.
Once the data patterns have been written to addresses in the memory array 41, the BIST logic 61 generates read addresses that are output to the memory controller 42 to cause the data to be read from the memory array 41. As the data is read from the read addresses, it is stored temporarily in the data_out register 52 before being received as input by the BIST logic 61. The BIST logic 61 analyzes the data read from the memory array 41 to determine whether the data read from respective addresses in the memory array 41 matches the data originally written to those respective addresses. If data read from a particular address in the memory array 41 does not match the data written to that address, the BIST logic 61 determines that a defect has been detected in the memory array 41. When a defect is detected, the signal output from the BIST logic 61 labeled “Chain_Fail_Out” is asserted. When no defects are detected, the signal output from the BIST logic 61 labeled “Chain_Pass_Out” is asserted. The BIST logic 61 typically runs a variety of different types of tests with different types of test patterns to determine whether the memory array 41 contains defective locations.
When the BIST logic 61 detects a defect, the BIST logic 61 configures the remapping logic 62 in the manner described above with reference to
The present invention provides a variety of techniques that enable a user of an IC to determine, at any given time, whether a defect in the memory array has been detected and repaired. In accordance with the preferred embodiment of the invention, the user is also provided with the ability to observe, at any given time, which locations in the memory array have been remapped to redundant memory.
With reference to the block diagram shown in
One of the advantages of the remapping observation logic 100, 110 of this embodiment is that very little additional circuitry is needed. A single control line is needed to control the selections made by the MUX 100 to cause either data or remapping bits to be output from the memory device 70. Therefore, a single input port is needed to enable the remapping configuration to be observed. No additional output port is required because the remap bits are output through the data_out port when data is not being output through the data_out port and the Observe_Remap signal is asserted. Another advantage of this configuration is that the remapping bits can be observed with minimal disruption to the normal operations of the memory device 70. It is not necessary to stop the clock and scan out the contents of the remap registers. In order to observe the remap bits, the Enable signal is deasserted so that no reads or writes can occur. While the Enable signal is deasserted, the Observe_Remap signal is asserted, thereby causing the remap bits to be selected by the MUX 100. Once the remap bits have been read from the remap logic 92, the memory device 70 can return to normal read and write operations (i.e., the Observe_Remap signal is deasserted and the Enable signal may be re-asserted).
One alternative to the remapping observation logic 100, 110 shown in
Another alternative to the exemplary embodiment shown in
When the Chip_Run_Bist signal is high and the Chip_Pass_Out and Chip_Fail_Out signals are low, this means that BIST has not completed. When the Chip_Run_Bist and the Chip_Pass_Out signals are high and the Chip_Fail_Out signal is low, this means that BIST has completed and passed. When the Chip_Run_Bist signal is high, the Chip_Pass_Out signal is low and the Chip_Fail_Out signal is high, this means that BIST has completed and failed. These first three combinations (corresponding to the first three rows of the table in
Whenever one of the memory arrays 112, 113 and 114 has been remapped so that its redundant memory portion 115, 116 and 117 is being used, the associated remap register 121, 122 and 123 will contain at least one logic 1. When redundant memory is not being used, the associated remap register 121, 122 and 123 will contain all logic 0s. When the IC user wishes to observe whether remapping has occurred, the user causes the Observe_Remap signal to be asserted, which causes each MUX 125, 126 and 127 to select the value stored on the associated remap register 121, 122 and 123. This value will then be stored in the respective data_out register 131, 132 and 133. The values stored in the data_out registers 131, 132 and 133 may then be driven out on the data_out lines 142 by using the block selector signal 143.
One of the advantages of the present invention is that it enables a user to observe whether remapping has been used and which locations in memory have been remapped. In accordance with the preferred embodiment, a computer executing a computer program receives the remap bits ported out on the data_out line 142 and displays the bits on a computer monitor. This is shown in
The invention is not limited with respect to the type of format in which the information is displayed on the monitor 160. The format shown gives the memory block number and, below the block number, a 1 or a 0 to indicate that either remapping has or has not occurred, respectively. Thus, a user can easily ascertain which blocks have been remapped. The user can also identify the position of the bit slice in the memory block which was defective by examining the position of the first logic 1 in the remap register. In addition, preferably the user can activate the Observe_Remap signal shown in
Another advantage of the embodiment shown in
The address decoder 179 typically includes the circuitry represented in
One of the advantages of the memory device 170 shown in
It should be noted that the present invention has been described with reference to the certain embodiments to demonstrate the principles and concepts of the invention. However, the invention is not limited to the embodiments described herein. Modifications may be made to the embodiments described herein, and all such modifications are within the scope of the invention.
This application claims priority to and the benefit of the filing date of provisional patent application Ser. No. 60/603,437, filed Aug. 20, 2004, which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5301156 | Talley | Apr 1994 | A |
5515383 | Katoozi | May 1996 | A |
5577050 | Bair et al. | Nov 1996 | A |
5742556 | Tavrow et al. | Apr 1998 | A |
5764577 | Johnston et al. | Jun 1998 | A |
5764878 | Kablanian et al. | Jun 1998 | A |
5881263 | York et al. | Mar 1999 | A |
6021512 | Lattimore et al. | Feb 2000 | A |
6065134 | Bair et al. | May 2000 | A |
6067262 | Irrinki et al. | May 2000 | A |
6076176 | Priore et al. | Jun 2000 | A |
6076179 | Hendricks et al. | Jun 2000 | A |
6081463 | Shaffer et al. | Jun 2000 | A |
6163490 | Shaffer et al. | Dec 2000 | A |
6185709 | Dreibelbis et al. | Feb 2001 | B1 |
6366508 | Agrawal et al. | Apr 2002 | B1 |
6408401 | Bhavsar et al. | Jun 2002 | B1 |
6609222 | Gupta et al. | Aug 2003 | B1 |
6671822 | Asher et al. | Dec 2003 | B1 |
6691252 | Hughes et al. | Feb 2004 | B2 |
6691264 | Huang | Feb 2004 | B2 |
6697290 | Koss | Feb 2004 | B2 |
6785170 | Paul et al. | Aug 2004 | B2 |
6829176 | Callaway et al. | Dec 2004 | B2 |
6914833 | Koss | Jul 2005 | B2 |
7055075 | Koss | May 2006 | B2 |
7159141 | Lakhani et al. | Jan 2007 | B2 |
7212456 | Callaway | May 2007 | B2 |
7260758 | Agrawal et al. | Aug 2007 | B1 |
20040062095 | Templeton et al. | Apr 2004 | A1 |
20070074070 | Lakhani et al. | Mar 2007 | A1 |
Number | Date | Country | |
---|---|---|---|
20060039211 A1 | Feb 2006 | US |
Number | Date | Country | |
---|---|---|---|
60603437 | Aug 2004 | US |