WO2003071554A2 - Non-volatile redundancy adresses memory - Google Patents

Non-volatile redundancy adresses memory Download PDF

Info

Publication number
WO2003071554A2
WO2003071554A2 PCT/EP2003/001630 EP0301630W WO03071554A2 WO 2003071554 A2 WO2003071554 A2 WO 2003071554A2 EP 0301630 W EP0301630 W EP 0301630W WO 03071554 A2 WO03071554 A2 WO 03071554A2
Authority
WO
WIPO (PCT)
Prior art keywords
memory
cells
faulty
storage cells
redundant
Prior art date
Application number
PCT/EP2003/001630
Other languages
French (fr)
Other versions
WO2003071554A3 (en
Inventor
Heinz Hoenigschmid
Heinrich Viehmann
Original Assignee
Infineon Technologies Ag
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 Infineon Technologies Ag filed Critical Infineon Technologies Ag
Priority to EP03742532A priority Critical patent/EP1476880B1/en
Priority to JP2003570364A priority patent/JP2005518628A/en
Priority to DE60300777T priority patent/DE60300777T2/en
Priority to KR1020047012777A priority patent/KR100613535B1/en
Publication of WO2003071554A2 publication Critical patent/WO2003071554A2/en
Publication of WO2003071554A3 publication Critical patent/WO2003071554A3/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1659Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/72Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
    • G11C29/789Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches

Definitions

  • This invention relates generally to integrated circuits, and particularly to the use of non-volatile memory cells as replacements for fuse elements in memory storage devices .
  • DRAM dynamic random access memories
  • SRAM static RAM
  • MRAM magnetoresistive RAM
  • a commonly used technique to deal with the increased probability of failures is to include redundant elements on the integrated circuit.
  • memory storage devices may contain additional segments and arrays of storage cells that can be used in place of the faulty segments and arrays .
  • One way to make use of the redundant memory segments and arrays is to use laser fuses to store the memory addresses of faulty memory storage cells.
  • circuitry redirects the access to a redundant storage cell that is not faulty.
  • the use of laser fuses requires an additional manufacturing step where memory storage cells in the memory storage device is scanned and faulty storage cells are marked and their locations written (blown) into the laser fuses.
  • the additional manufacturing step adds cost, both in terms of time and money, to the storage device.
  • the laser fuses because the laser fuses are written during the manufacturing process and prior to the packaging, the laser fuses cannot be updated after the integrated circuit is packaged. Therefore, should additional memory storage cells become defective during use, their addresses cannot be written (stored in the laser fuses) and redundant storage cells cannot take their place, making the memory storage device unusable.
  • a need has therefore arisen for a method and apparatus that can be used to store information regarding faulty memory storage cells that also provides for the ability to update the information regarding faulty memory storage cells after the storage device has been under use.
  • the present invention provides a semiconductor memory device comprising: a first memory for storing logical data values in storage cells, an address decoder coupled to the first memory, the address decoder containing circuitry to decode address bits provided to the memory device and to select a storage cell, a redundant controller coupled to the address decoder, the redundant controller comprising a second memory for storing a list of addresses of faulty memory storage cells and a redundant memory storage cell for each faulty memory storage cell, wherein the second memory comprising non- volatile memory cells, a redundant address decoder coupled to the redundant controller, the redundant address decoder containing circuitry to decode the address bits of the replacement memory storage cells to select a redundant memory storage cell in the redundant memory, and a redundant memory coupled to the redundant address decoder, the redundant memory containing redundant memory storage cells.
  • the present invention provides a method for providing fault tolerance in a semiconductor memory device comprising: testing memory storage cells for faults, determining faulty memory storage cells, saving faulty memory storage cells to non-volatile memory, and associating redundant memory storage cells to the faulty memory storage cells.
  • the present invention provides a number of advantages. For example, use of a preferred embodiment of the present invention allows the information stored in the non-volatile memory to be updated after the memory storage device has been packaged and is already in use. This also permits the addition of new faulty memory cell addresses to a list of 'faulty memory cell addresses and permit the continued use of the memory storage device that would have otherwise resulted in the memory storage device being discarded. This ability to update the list of faulty memory cell addresses allows the periodic check for new faulty memory cells and the addition of any new faulty memory cells to the list of faulty memory cells.
  • use of a preferred embodiment of the present invention allows for greater information density when compared to the use of laser fuses to store information due to the smaller size of the non-volatile memory cells when compared to the laser fuses .
  • the greater information density permits a smaller footprint required to save a same amount of address information.
  • use of a preferred embodiment of the present invention saves on manufacturing cost because an additional step during the manufacturing process to burn the laser fuses is not required.
  • the use of a preferred embodiment of the present invention permits the complete manufacture and packaging of the memory storage devices and then allows for the testing of the storage devices at a later time.
  • use of a preferred embodiment of the present invention permits the choice of either the cross-point array architecture or the MRAM FET architecture, allowing the user to use whichever existing device architecture they are currently using and not requiring the change to any one particular device architecture.
  • Figure 1 illustrates a block diagram of a prior art semiconductor memory circuit featuring a redundant memory space and functional logic to support the replacement of faulty memory storage cells with memory storage cells from the redundant storage space
  • Figure 2a illustrates a block diagram of four MRAM storage cells arranged in a bridge configuration arranged in a cross-point array architecture used for storing a binary value according to a preferred embodiment of the present invention
  • Figure 2b illustrates a block diagram of four MRAM storage cells arranged in a bridge configuration arranged in a MRAM FET architecture used for storing a binary value according to a preferred embodiment of the present invention
  • Figure 3 illustrates a block diagram of the four MRAM storage cells from Figure 2 displayed as two voltage dividers according to a preferred embodiment of the present invention
  • Figures 4a-b illustrate block diagrams of two and one MRAM storage cells arranged in a bridge fashion arranged in a cross-point array architecture for use in storing a binary value according to a preferred embodiment of the present invention
  • Figures 4c-d illustrate block diagrams of two and one MRAM storage cells arranged in a bridge fashion arranged in a MRAM FET architecture for use in storing a binary value according to a preferred embodiment of the present invention
  • Figure 5 illustrates an error-encoding code array used in protecting a group of data bits stored in a non- volatile memory according to a preferred embodiment of the present invention
  • Figure 6 illustrates an algorithm for determining faulty memory cells and adding their addresses to a nonvolatile memory according to a preferred embodiment of the present invention.
  • One method is to include more memory storage cells than needed and then replacing faulty storage cells with the additional storage cells. While one talks of replacing a single faulty storage cell with another storage cell, it is common to replace an entire segment or array of storage cells that contains the faulty storage cell with another segment or array of storage cells.
  • the addresses of memory storage cells that are deemed to be faulty are saved and non-faulty memory storage cells from the additional set of memory storage cells, commonly referred to as the redundant memory, are used in their place.
  • the redundant memory Whenever a faulty memory storage cell is accessed (either read or written) , the address of the faulty memory storage cell is noted and the read or write access is redirected to the replacement memory storage cell .
  • the addresses of the faulty memory storage cells are typically maintained in a bank of fuses, either blown by laser or electrical current that is greater than current typically used during normal operation.
  • the addresses of the faulty storage cells are determined usually after the memory storage device has been fabricated, when the storage device undergoes functional testing. This is typically done prior to placing the storage device in its final packaging.
  • each individual memory storage cell is tested and the addresses of faulty memory storage cells are written to the bank of fuses. Written alongside the addresses of the faulty storage cells are addresses of the replacement storage cells for each of the faulty storage cells. If the fuses are of the laser variety, then a laser is used to burn the fuses. If the fuses are blown via an electrical current, then a current of an appropriate value is used. After the testing is complete, then the memory storage device is packaged and typically, no further updates to the fuse bank is possible. Referring now to Figure 1, a diagram displays a prior art semiconductor memory circuit 100 featuring a redundant memory space and necessary functional logic to support the replacement of faulty memory storage cells with redundant memory storage cells from the redundant memory storage space.
  • the semiconductor memory circuit 100 comprises an address buffer 115, a row decoder 120, a column decoder 125, a memory array 130, an output buffer 135, a redundancy controller 140, a redundant row decoder 145, and a redundant memory 150.
  • An n-bit memory address is applied to the address buffer 115 via an address bus 110. A portion of the n-bit address is applied to the row decoder 120 while the remainder is applied to the column decoder 125. The row decoder 120 and the column decoder 125 decode the address bits and designate row and column addresses in the memory array 130. The stored data value at the address specified is read out from the memory array 130 and is passed through to the output buffer 135. A similar operation is used for writing a data value to a specified memory address.
  • the redundancy controller 140 comprises a memory circuit (not shown) for storing addresses of faulty memory storage cells in the memory array 130, a comparing circuit (not shown) for comparing the input address and the address of the defective memory storage cell stored in the memory circuit, and a detecting circuit (not shown) for detecting states of fuses in the memory circuit.
  • the comparing circuit is supplied with the address bits via the address buffer 115 and produces a disable signal for disabling the row decoder 120 and enabling the redundant row decoder 145 when the address from the address buffer 115 matches an address of a faulty memory storage cell stored in the memory circuit.
  • a memory storage cell from the redundant memory 150 is accessed in place of the faulty memory storage cell in the memory array 130.
  • the memory circuit from the redundancy controller 140 is used for storing the addresses of the faulty memory storage cells in the memory array 130.
  • the memory circuit uses fuses to maintain the address information. During the testing phase of the manufacturing process for the memory storage device, faulty memory storage cells were detected and their addresses were stored in the memory circuit.
  • the fuses in the memory circuit may be laser fuses that require a high-energy laser to blow or they may be electrical fuses that use a high current to blow.
  • a disadvantage of using fuses to store the memory addresses of faulty memory storage cells is that fuses are normally not updateable, meaning that should additional memory storage cells become faulty during normal use, the list of faulty memory storage cells cannot be brought up- to-date. This arises from the need of special equipment, such as lasers and large current sources that are coupled to the storage device, etc. that are needed to blow the fuses. Such equipment usually requires direct access to the fuses that they are attempting to blow. The direct access to the fuses is typically lost once the integrated circuit is placed into its packaging.
  • Non-volatile memory such as but not limited to: flash programmable memory, erasable programmable read-only memory (EPROM) , electrically erasable programmable read-only memory (EEPROM) , resistive memories, magnetoresistive random access memory (MRAM) , etc.
  • EPROM erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • MRAM magnetoresistive random access memory
  • the use of non-volatile memory rather than fuses can be readily integrated into existing memory storage devices.
  • a memory circuit such as the memory circuit from the redundancy controller 140, comprising a block of non-volatile memory could be used in place of a memory circuit comprising a block of fuses.
  • MRAM magnetoresistive random access memory
  • MRAM semiconductor memory devices uses spin electronics, which combines traditional semiconductor technology and magnetism. Rather than using an electrical charge to indicate the presence of a binary "1" or "0", the spin of an electron is used.
  • An example of such a spin electronic device is a magnetoresitive random access memory (MRAM) storage device, which includes conductive lines positioned perpendicular to one another in different metal layers . The place where the conductive lines intersect is known as a cross-point. In between the perpendicular conductive lines is a magnetic stack. The magnetic stack is placed at the cross-point, sandwiched between the conductive lines.
  • MRAM magnetoresitive random access memory
  • An electrical current flowing through one of the conductive lines induces a magnetic field around the conductive line.
  • the induced magnetic field can align (or orient) the alignment (or orientation) of magnetic dipoles in the magnetic stack.
  • the right hand rule is a way to determine the direction of a magnetic field induced by a current flowing in a particular direction. The right hand rule is well understood by those of ordinary skill in the art of the present invention.
  • a different current flowing through the other conductive line induces another magnetic field and can realign the polarity of the magnetic field in the magnetic stack.
  • Binary information, represented as a "0" or ⁇ l" is stored as different alignments of the magnetic dipoles in the magnetic stack. Currents flowing through both conductive lines are required to selectively program a particular magnetic stack.
  • the alignment of the magnetic dipoles in the magnetic stack changes the electrical resistance of the magnetic stack. For example, if a binary "0" is stored in the magnetic stack, the resistance of the magnetic stack will be different from the resistance of the same magnetic stack if a binary "1" is stored in the magnetic stack. It is the resistance of the magnetic stack that is detected and determines the logical value stored therein.
  • FIG. 2a a diagram illustrates a configuration of MRAM memory storage cells 200 arranged in a cross-point array architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention.
  • the configuration of MRAM memory storage cells 200 comprising four individual MRAM memory storage cells 202, 204, 206, and 208 arranged in a cross-point array architecture.
  • the cross-point array architecture is one of several standard architectures used for arranging MRAM memory storage cells and is well understood by those of ordinary skill in the art of the present invention.
  • Each MRAM memory storage cell is coupled to two conductive lines, one at each end of the storage cell.
  • MRAM memory storage cell 202 is coupled to conductive line “LA” 210 at one end and conductive line “LC” 214 at another end.
  • the four MRAM memory storage cells 202, 204, 206, and 208 are coupled to four conductive lines: "LA” 210, "LB” 212, "LC” 214, and "LD” 216.
  • the conductive lines are used both to program the MRAM memory storage cells and read the values stored in the MRAM memory storage cells.
  • the MRAM memory storage cells may also be written by applying a write voltage that results in the breaking of a tunneloxide layer (not shown) in the MRAM memory storage cell. This is commonly referred to as overdriving the voltage.
  • the MRAM memory storage cells are programmed in the following manner to represent one state: MRAM storage cell 202 is programmed to hold a binary value "0”, MRAM storage cell 204 is programmed to hold a binary value "1”, MRAM storage cell 206 is programmed to hold a binary value "1”, and MRAM storage cell 208 is programmed to hold a binary value "0".
  • MRAM storage cell 202 holds “1”
  • MRAM storage cell 204 holds "0”
  • MRAM storage cell 206 holds "0”
  • MRAM storage cell 208 holds "1".
  • the values programmed into the individual MRAM storage cells discussed above is a preferred set of values, however, other combinations of values are possible and are equally operative.
  • the particular arrangement of the MRAM memory storage cells in a cross-point array creates two voltage dividers when the read voltage is applied through conductive lines "LC" 214 and "LD" 216.
  • This arrangement is commonly referred to as a bridge configuration.
  • the bridge configuration is preferable due to higher signal values generated by the configuration.
  • the values stored in the MRAM memory storage cells can be detected via a simple dynamic random access memory (DRAM) latch type sense amp.
  • Sense amps are used to detect logical values stored in memory storage cells and are well understood by those of ordinary skill in the art of the present invention.
  • the applied voltage used to detect the values stored in the MRAM storage cells is approximately equal to twice the breakdown voltage of a single MRAM cell.
  • the cross-point array architecture is one of two widely used architectures for MRAM memory devices.
  • the second architecture is commonly referred to as the MRAM FET (field effect transistor) architecture.
  • the MRAM FET architecture is similar to the cross-point array architecture with the exception of a FET present between the MRAM storage cell and the second conductive line used to control the FET.
  • the FET is preferrably an n-type FET. Therefore, the basic MRAM FET unit comprises a first conductive line coupled to a MRAM storage cell coupled to a FET coupled to a second conductive line and a voltage supply.
  • FIG. 2b a diagram illustrates a configuration of MRAM memory storage cells 250 arranged in a MRAM FET architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention.
  • the configuration of MRAM memory storage cells 250 comprising four individual MRAM memory storage cells 252, 254, 256, and 258 arranged in a MRAM FET architecture.
  • Each MRAM memory storage cell coupled to a single conductive line and a FET, the conductive line at one end of the memory storage cell and the FET at the other.
  • MRAM memory storage cell 252 is coupled to conductive line "LC" 260 at one end and FET 265.
  • the FET 265 is in turn coupled to a second conductive line.
  • the FET 265 is also coupled to "VDD", the voltage supply for the architecture.
  • the MRAM FET arrangement of the present invention is similar to the cross-point array arrangement .
  • FIG. 3 a diagram illustrates the two voltage dividers created from the arrangement of MRAM memory storage cells when read voltages are applied through conductive lines "LC" 214 and "LD" 216 according to a preferred embodiment of the present invention. Notice that the actual arrangement of the MRAM memory storage cells does not change when the read voltages are applied and that the diagram of Figure 3 is a logical rearrangement of the MRAM memory storage cells to make the voltage dividers easier to see and analyze.
  • a read voltage of approximate two times the quiescent voltage (2 * Veq) is applied to conductive line "LC” 214 and a ground voltage is applied to conductive line "LD” 216.
  • This voltage drop creates two voltage dividers and the conductive lines "LA” 210 and “LB” 212 can be used to read the values stored in the MRAM memory storage cells.
  • a voltage can be detected at the sense amps.
  • the voltage is proportional to the change of resistance, k, in the MRAM memory storage cells.
  • MRAM memory storage cells to represent the state of a single fuse is a preferred number of storage cells because the use of four storage cells provides a greater read voltage margin, i.e., Vsig strength, to be used when detecting the data represented by the arrangement when compared with arrangements using less than four storage cells. Arrangements with greater than four storage cells are also possible, but their use does not significantly increase the read voltage margin and their larger size reduces the size efficiency gained by using non-volatile memory as opposed to fuses. However, arrangements with the number of MRAM memory storage cells other than four are possible.
  • FIG. 4a a diagram illustrating a configuration of MRAM memory storage cells 400 arranged in a cross-point array architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention.
  • the configuration of MRAM memory storage cells 400 comprising two individual MRAM memory storage cells 402 and 404 arranged in a cross-point array architecture with three conductive lines "LA” 406, "LC” 408, and "LD” 410. Notice that this configuration 400 is essentially one-half of the configuration 200 discussed in Figure 2.
  • MRAM storage cell 402 is programmed to hold value "0" while MRAM storage cell 404 is programmed to hold value "1".
  • MRAM storage cell 402 holds “1" while MRAM storage cell 404 holds "0".
  • the values programmed into the individual MRAM storage cells discussed above is a preferred set of values, however, other combinations of values are possible and are equally operative.
  • the particular arrangement of the MRAM memory storage cells in a cross-point array creates a voltage divider when the read voltage is applied through conductive lines "LC" 408 and "LD" 410.
  • the values stored in the MRAM memory storage cells can be detected via a simple dynamic random access memory (DRAM) latch type sense amp.
  • DRAM dynamic random access memory
  • additional MRAM cells can be used as reference cells (elements) in conjunction with the MRAM cells 402 and 404 to construct a bridge configuration as discussed above. The reference cells would not be used to actually store data, but only in the construction of the bridge.
  • FIG. 4b a diagram illustrating a configuration of a single MRAM memory storage cell 450 arranged in a cross-point array architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention.
  • the configuration of a single MRAM memory storage cell 450 comprising an individual MRAM memory storage cell 452 with two conductive lines "LA” 454 and "LC” 456. Notice that this configuration 450 is essentially one-half of the configuration 400 discussed in Figure 4a.
  • MRAM storage cell 452 is programmed to hold value "0". To represent the other possible fuse state, MRAM storage cell 452 holds "1".
  • the values programmed into the individual MRAM storage cells discussed above is a preferred set of values, however, it is possible to reverse the values used to represent the fuse states and the invention would be equally operative.
  • the value stored in the MRAM cell 452 can be detected using standard techniques for detecting values stored in MRAM cells when they are used as normal memory cells.
  • additional MRAM cells can be used as reference cells (elements) in conjunction with the MRAM cell 452 to construct a bridge configuration as discussed above. The reference cells would not be used to actually store data, but only in the construction of the bridge.
  • FIGs 4c and 4d diagrams illustrate configurations of two MRAM memory storage cells 470 and one MRAM memory storage cell 490 arranged in a MRAM FET architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention.
  • Figures 4c and 4d are similar to Figures 4a and 4b, respectively, and present essentially the same circuit using the MRAM FET architecture rather than the cross- point array architecture.
  • the non-volatile memory cells used to replace the fuses are themselves memory storage cells, like the remainder of the memory in the memory storage device.
  • the non-volatile memory cells can be protected by an error-detecting code or an error-correcting code.
  • An error-detecting code can detect the presence of an error, while an error-correcting code can both detect and correct errors (within set limits) . If an error-correcting code is used, then as long as the number of faulty bits does not exceed the number of correctable errors, the use of the faulty block of non-volatile memory can continue. Error- detecting and error-correcting codes are well understood by those of ordinary skill in the art of the present invention.
  • FIG. 5 a diagram illustrates an error-correcting code array 500 used in protecting a group of data bits stored in a non-volatile memory according to a preferred embodiment of the present invention.
  • the preferred error-correcting code is known as the Hamming code.
  • the Hamming code there are many other error-correcting codes that may be used in place of the Hamming code, and any of them can be used without loss of any functionality in the present invention.
  • the circuit 500 displays an implementation of a Hamming code (15, 11) .
  • each of the 15 encoded bits is stored in a configuration of MRAM memory storage cells similar to the structures discussed in Figures 2, 4a, and 4b.
  • encoded bit number 15 would be stored in a structure 510 with the remaining 14 encoded bits being stored in the remaining structures.
  • XOR exclusive-or
  • the particular arrangement of the XOR blocks is dependent on the particular Hamming code used and the arrangement displayed in Figure 5 is specifically for the Hamming code (15, 11) .
  • a series of result bits SO 520, SI 525, S2 530, and S3 535 provide the results of the decoding operation. If all of the result bits are zero, then none of the encoded bits are faulty. If one or more of the result bits are one, then one or more of the encoded bits are faulty. The actual decoding operation and determining which encoded bit(s) is faulty is beyond the scope of the present invention.
  • the additional step of testing and burning the faulty memory cell addresses into fuses incurred during manufacturing is not necessary.
  • the address of the memory storage cell can be stored in the non-volatile memory.
  • a flow diagram illustrates an algorithm 600 for detecting faulty memory cells and updating the list of faulty memory cells according to a preferred embodiment of the present invention.
  • the algorithm 600 executes on a processing element of the electronic device containing the memory storage device.
  • the electronic device could be configured to execute the algorithm 600 periodically, after a prespecified number of hours of operation, or a certain number of power cycles, etc.
  • the electronic device begins by performing a scan of all memory cells in the memory storage device (block 605) .
  • the address of the new faulty cells are added to the list of faulty cells stored in the non-volatile memory (block 620) .
  • replacement cells must be found (block 625) .
  • Part of this process involves the checking of the replacement memory to determine if any unallocated replacement memory exists (block 630) . If sufficient replacement memory exists, then the replacement memory is allocated to the new faulty cells and the address of the replacement memory cells are stored in the list of faulty cells (block 635) . If no more replacement memory cells exist, then the faulty cells cannot be replaced and the memory storage device is deemed faulty (block 640) and replacement is required if the electronic device is to be used.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

It is difficult to fabricate a semiconductor memory device without any faulty memory storage cells. One solution is to produce more storage cells than needed on a device and faulty storage cells are replaced by the redundant storage cells. This solution requires that the addresses of the faulty storage cells, along with the replacement storage cells, be saved in a memory. The present invention teaches the use of non-volatile memory cells, particularly magnetoresistive random access memory (MRAM) cells, to store the addresses. Non-volatile memory cells can effectively replace the laser fuses currently used and also provides an advantage in the elimination of the laser fuse-burning step during the fabrication of the device.

Description

Fuse Concept and Method of Operation
FIELD OF THE INVENTION This invention relates generally to integrated circuits, and particularly to the use of non-volatile memory cells as replacements for fuse elements in memory storage devices .
BACKGROUND OF THE INVENTION
As integrated circuits become more complex and densely populated, the probability of a failure or fault occurring in the integrated device increases, often simply due to the increase in the number of devices on the integrated circuit. This is a particular problem with memory storage devices such as dynamic random access memories (DRAM) , static RAM (SRAM) , magnetoresistive RAM (MRAM) , etc. since memory storage devices tend to be extremely densely packed. A commonly used technique to deal with the increased probability of failures is to include redundant elements on the integrated circuit. For example, memory storage devices may contain additional segments and arrays of storage cells that can be used in place of the faulty segments and arrays . One way to make use of the redundant memory segments and arrays is to use laser fuses to store the memory addresses of faulty memory storage cells. When the faulty memory storage cell is accessed, circuitry redirects the access to a redundant storage cell that is not faulty. However, the use of laser fuses requires an additional manufacturing step where memory storage cells in the memory storage device is scanned and faulty storage cells are marked and their locations written (blown) into the laser fuses. The additional manufacturing step adds cost, both in terms of time and money, to the storage device. Additionally, because the laser fuses are written during the manufacturing process and prior to the packaging, the laser fuses cannot be updated after the integrated circuit is packaged. Therefore, should additional memory storage cells become defective during use, their addresses cannot be written (stored in the laser fuses) and redundant storage cells cannot take their place, making the memory storage device unusable. A need has therefore arisen for a method and apparatus that can be used to store information regarding faulty memory storage cells that also provides for the ability to update the information regarding faulty memory storage cells after the storage device has been under use.
SUMMARY OF THE INVENTION
In one aspect, the present invention provides a semiconductor memory device comprising: a first memory for storing logical data values in storage cells, an address decoder coupled to the first memory, the address decoder containing circuitry to decode address bits provided to the memory device and to select a storage cell, a redundant controller coupled to the address decoder, the redundant controller comprising a second memory for storing a list of addresses of faulty memory storage cells and a redundant memory storage cell for each faulty memory storage cell, wherein the second memory comprising non- volatile memory cells, a redundant address decoder coupled to the redundant controller, the redundant address decoder containing circuitry to decode the address bits of the replacement memory storage cells to select a redundant memory storage cell in the redundant memory, and a redundant memory coupled to the redundant address decoder, the redundant memory containing redundant memory storage cells.
In another aspect, the present invention provides a method for providing fault tolerance in a semiconductor memory device comprising: testing memory storage cells for faults, determining faulty memory storage cells, saving faulty memory storage cells to non-volatile memory, and associating redundant memory storage cells to the faulty memory storage cells.
The present invention provides a number of advantages. For example, use of a preferred embodiment of the present invention allows the information stored in the non-volatile memory to be updated after the memory storage device has been packaged and is already in use. This also permits the addition of new faulty memory cell addresses to a list of 'faulty memory cell addresses and permit the continued use of the memory storage device that would have otherwise resulted in the memory storage device being discarded. This ability to update the list of faulty memory cell addresses allows the periodic check for new faulty memory cells and the addition of any new faulty memory cells to the list of faulty memory cells.
Additionally, use of a preferred embodiment of the present invention allows for greater information density when compared to the use of laser fuses to store information due to the smaller size of the non-volatile memory cells when compared to the laser fuses . The greater information density permits a smaller footprint required to save a same amount of address information. Also, use of a preferred embodiment of the present invention saves on manufacturing cost because an additional step during the manufacturing process to burn the laser fuses is not required. In fact, the use of a preferred embodiment of the present invention permits the complete manufacture and packaging of the memory storage devices and then allows for the testing of the storage devices at a later time.
Also, use of a preferred embodiment of the present invention permits the choice of either the cross-point array architecture or the MRAM FET architecture, allowing the user to use whichever existing device architecture they are currently using and not requiring the change to any one particular device architecture.
BRIEF DESCRIPTION OF THE DRAWINGS
The above features of the present invention will be more clearly understood from consideration of the following descriptions in connection with accompanying drawings in which: Figure 1 illustrates a block diagram of a prior art semiconductor memory circuit featuring a redundant memory space and functional logic to support the replacement of faulty memory storage cells with memory storage cells from the redundant storage space; Figure 2a illustrates a block diagram of four MRAM storage cells arranged in a bridge configuration arranged in a cross-point array architecture used for storing a binary value according to a preferred embodiment of the present invention;
Figure 2b illustrates a block diagram of four MRAM storage cells arranged in a bridge configuration arranged in a MRAM FET architecture used for storing a binary value according to a preferred embodiment of the present invention;
Figure 3 illustrates a block diagram of the four MRAM storage cells from Figure 2 displayed as two voltage dividers according to a preferred embodiment of the present invention;
Figures 4a-b illustrate block diagrams of two and one MRAM storage cells arranged in a bridge fashion arranged in a cross-point array architecture for use in storing a binary value according to a preferred embodiment of the present invention;
Figures 4c-d illustrate block diagrams of two and one MRAM storage cells arranged in a bridge fashion arranged in a MRAM FET architecture for use in storing a binary value according to a preferred embodiment of the present invention;
Figure 5 illustrates an error-encoding code array used in protecting a group of data bits stored in a non- volatile memory according to a preferred embodiment of the present invention; and
Figure 6 illustrates an algorithm for determining faulty memory cells and adding their addresses to a nonvolatile memory according to a preferred embodiment of the present invention. DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
The making and use of the various embodiments are discussed below in detail. However, it should be appreciated that the present invention provides many applicable inventive concepts, which can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific ways to make and use the invention, and do not limit the scope of the invention. Regardless of the how logical information is stored in the memory storage device, either via a voltage or via magnetism, they tend to be extremely densely populated. The dense population has permitted an ever increasing amount of information storage in a storage device that is constantly decreasing in size.
As the number of storage cells in a single storage device increases, the probability of a failure in one or more of the storage cells in the storage device also increases. With more and more storage cells in a single storage device, the probability of finding a storage device with no faulty storage cells asymptotically approaches zero. As a result, methods and apparatus have been developed to increase the yield on memory storage devices . One method is to include more memory storage cells than needed and then replacing faulty storage cells with the additional storage cells. While one talks of replacing a single faulty storage cell with another storage cell, it is common to replace an entire segment or array of storage cells that contains the faulty storage cell with another segment or array of storage cells. Using the above method, the addresses of memory storage cells that are deemed to be faulty are saved and non-faulty memory storage cells from the additional set of memory storage cells, commonly referred to as the redundant memory, are used in their place. Whenever a faulty memory storage cell is accessed (either read or written) , the address of the faulty memory storage cell is noted and the read or write access is redirected to the replacement memory storage cell . The addresses of the faulty memory storage cells are typically maintained in a bank of fuses, either blown by laser or electrical current that is greater than current typically used during normal operation. The addresses of the faulty storage cells are determined usually after the memory storage device has been fabricated, when the storage device undergoes functional testing. This is typically done prior to placing the storage device in its final packaging. The functionality of each individual memory storage cell is tested and the addresses of faulty memory storage cells are written to the bank of fuses. Written alongside the addresses of the faulty storage cells are addresses of the replacement storage cells for each of the faulty storage cells. If the fuses are of the laser variety, then a laser is used to burn the fuses. If the fuses are blown via an electrical current, then a current of an appropriate value is used. After the testing is complete, then the memory storage device is packaged and typically, no further updates to the fuse bank is possible. Referring now to Figure 1, a diagram displays a prior art semiconductor memory circuit 100 featuring a redundant memory space and necessary functional logic to support the replacement of faulty memory storage cells with redundant memory storage cells from the redundant memory storage space. The semiconductor memory circuit 100 comprises an address buffer 115, a row decoder 120, a column decoder 125, a memory array 130, an output buffer 135, a redundancy controller 140, a redundant row decoder 145, and a redundant memory 150.
An n-bit memory address is applied to the address buffer 115 via an address bus 110. A portion of the n-bit address is applied to the row decoder 120 while the remainder is applied to the column decoder 125. The row decoder 120 and the column decoder 125 decode the address bits and designate row and column addresses in the memory array 130. The stored data value at the address specified is read out from the memory array 130 and is passed through to the output buffer 135. A similar operation is used for writing a data value to a specified memory address. The redundancy controller 140 comprises a memory circuit (not shown) for storing addresses of faulty memory storage cells in the memory array 130, a comparing circuit (not shown) for comparing the input address and the address of the defective memory storage cell stored in the memory circuit, and a detecting circuit (not shown) for detecting states of fuses in the memory circuit. The comparing circuit is supplied with the address bits via the address buffer 115 and produces a disable signal for disabling the row decoder 120 and enabling the redundant row decoder 145 when the address from the address buffer 115 matches an address of a faulty memory storage cell stored in the memory circuit. Therefore, when the address designates a faulty memory storage cell, a memory storage cell from the redundant memory 150 is accessed in place of the faulty memory storage cell in the memory array 130. The memory circuit from the redundancy controller 140 is used for storing the addresses of the faulty memory storage cells in the memory array 130. The memory circuit uses fuses to maintain the address information. During the testing phase of the manufacturing process for the memory storage device, faulty memory storage cells were detected and their addresses were stored in the memory circuit. As stated previously, the fuses in the memory circuit may be laser fuses that require a high-energy laser to blow or they may be electrical fuses that use a high current to blow.
A disadvantage of using fuses to store the memory addresses of faulty memory storage cells is that fuses are normally not updateable, meaning that should additional memory storage cells become faulty during normal use, the list of faulty memory storage cells cannot be brought up- to-date. This arises from the need of special equipment, such as lasers and large current sources that are coupled to the storage device, etc. that are needed to blow the fuses. Such equipment usually requires direct access to the fuses that they are attempting to blow. The direct access to the fuses is typically lost once the integrated circuit is placed into its packaging.
An alternative to the use of fuses to store the memory addresses of faulty memory storage cells would be non-volatile memory. Non-volatile memory, such as but not limited to: flash programmable memory, erasable programmable read-only memory (EPROM) , electrically erasable programmable read-only memory (EEPROM) , resistive memories, magnetoresistive random access memory (MRAM) , etc. The use of non-volatile memory rather than fuses can be readily integrated into existing memory storage devices. For example, a memory circuit, such as the memory circuit from the redundancy controller 140, comprising a block of non-volatile memory could be used in place of a memory circuit comprising a block of fuses. The discussion below involves MRAM memory devices, however, other types of non-volatile memory can be used in place of MRAM. Therefore, the present invention should not be construed as being limited to MRAM memory devices .
MRAM semiconductor memory devices uses spin electronics, which combines traditional semiconductor technology and magnetism. Rather than using an electrical charge to indicate the presence of a binary "1" or "0", the spin of an electron is used. An example of such a spin electronic device is a magnetoresitive random access memory (MRAM) storage device, which includes conductive lines positioned perpendicular to one another in different metal layers . The place where the conductive lines intersect is known as a cross-point. In between the perpendicular conductive lines is a magnetic stack. The magnetic stack is placed at the cross-point, sandwiched between the conductive lines.
An electrical current flowing through one of the conductive lines induces a magnetic field around the conductive line. The induced magnetic field can align (or orient) the alignment (or orientation) of magnetic dipoles in the magnetic stack. The right hand rule is a way to determine the direction of a magnetic field induced by a current flowing in a particular direction. The right hand rule is well understood by those of ordinary skill in the art of the present invention. A different current flowing through the other conductive line induces another magnetic field and can realign the polarity of the magnetic field in the magnetic stack. Binary information, represented as a "0" or λλl", is stored as different alignments of the magnetic dipoles in the magnetic stack. Currents flowing through both conductive lines are required to selectively program a particular magnetic stack.
The alignment of the magnetic dipoles in the magnetic stack changes the electrical resistance of the magnetic stack. For example, if a binary "0" is stored in the magnetic stack, the resistance of the magnetic stack will be different from the resistance of the same magnetic stack if a binary "1" is stored in the magnetic stack. It is the resistance of the magnetic stack that is detected and determines the logical value stored therein.
Referring now to Figure 2a, a diagram illustrates a configuration of MRAM memory storage cells 200 arranged in a cross-point array architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention. The configuration of MRAM memory storage cells 200 comprising four individual MRAM memory storage cells 202, 204, 206, and 208 arranged in a cross-point array architecture. The cross-point array architecture is one of several standard architectures used for arranging MRAM memory storage cells and is well understood by those of ordinary skill in the art of the present invention.
Each MRAM memory storage cell is coupled to two conductive lines, one at each end of the storage cell. For example, MRAM memory storage cell 202 is coupled to conductive line "LA" 210 at one end and conductive line "LC" 214 at another end. The four MRAM memory storage cells 202, 204, 206, and 208 are coupled to four conductive lines: "LA" 210, "LB" 212, "LC" 214, and "LD" 216. The conductive lines are used both to program the MRAM memory storage cells and read the values stored in the MRAM memory storage cells. The MRAM memory storage cells may also be written by applying a write voltage that results in the breaking of a tunneloxide layer (not shown) in the MRAM memory storage cell. This is commonly referred to as overdriving the voltage.
According to a preferred embodiment of the present invention, the MRAM memory storage cells are programmed in the following manner to represent one state: MRAM storage cell 202 is programmed to hold a binary value "0", MRAM storage cell 204 is programmed to hold a binary value "1", MRAM storage cell 206 is programmed to hold a binary value "1", and MRAM storage cell 208 is programmed to hold a binary value "0". To represent the alternative state, the MRAM memory storage cells are programmed in a complementary value: MRAM storage cell 202 holds "1", MRAM storage cell 204 holds "0", MRAM storage cell 206 holds "0", and MRAM storage cell 208 holds "1". The values programmed into the individual MRAM storage cells discussed above is a preferred set of values, however, other combinations of values are possible and are equally operative.
The particular arrangement of the MRAM memory storage cells in a cross-point array creates two voltage dividers when the read voltage is applied through conductive lines "LC" 214 and "LD" 216. This arrangement is commonly referred to as a bridge configuration. The bridge configuration is preferable due to higher signal values generated by the configuration. The values stored in the MRAM memory storage cells can be detected via a simple dynamic random access memory (DRAM) latch type sense amp. Sense amps are used to detect logical values stored in memory storage cells and are well understood by those of ordinary skill in the art of the present invention. According to a preferred embodiment of the present invention, the applied voltage used to detect the values stored in the MRAM storage cells is approximately equal to twice the breakdown voltage of a single MRAM cell.
The cross-point array architecture, as discussed in Figure 2a, is one of two widely used architectures for MRAM memory devices. The second architecture is commonly referred to as the MRAM FET (field effect transistor) architecture. The MRAM FET architecture is similar to the cross-point array architecture with the exception of a FET present between the MRAM storage cell and the second conductive line used to control the FET. The FET is preferrably an n-type FET. Therefore, the basic MRAM FET unit comprises a first conductive line coupled to a MRAM storage cell coupled to a FET coupled to a second conductive line and a voltage supply. Referring now to Figure 2b, a diagram illustrates a configuration of MRAM memory storage cells 250 arranged in a MRAM FET architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention. The configuration of MRAM memory storage cells 250 comprising four individual MRAM memory storage cells 252, 254, 256, and 258 arranged in a MRAM FET architecture. Each MRAM memory storage cell coupled to a single conductive line and a FET, the conductive line at one end of the memory storage cell and the FET at the other. For example, MRAM memory storage cell 252 is coupled to conductive line "LC" 260 at one end and FET 265. The FET 265 is in turn coupled to a second conductive line. The FET 265 is also coupled to "VDD", the voltage supply for the architecture. With the exception of the FETs, the MRAM FET arrangement of the present invention is similar to the cross-point array arrangement .
Referring now to Figure 3, a diagram illustrates the two voltage dividers created from the arrangement of MRAM memory storage cells when read voltages are applied through conductive lines "LC" 214 and "LD" 216 according to a preferred embodiment of the present invention. Notice that the actual arrangement of the MRAM memory storage cells does not change when the read voltages are applied and that the diagram of Figure 3 is a logical rearrangement of the MRAM memory storage cells to make the voltage dividers easier to see and analyze.
According to a preferred embodiment of the present invention, a read voltage of approximate two times the quiescent voltage (2 * Veq) is applied to conductive line "LC" 214 and a ground voltage is applied to conductive line "LD" 216. This voltage drop creates two voltage dividers and the conductive lines "LA" 210 and "LB" 212 can be used to read the values stored in the MRAM memory storage cells.
According to a preferred embodiment of the present invention, a voltage can be detected at the sense amps. The voltage is proportional to the change of resistance, k, in the MRAM memory storage cells. As discussed previously, the resistance of MRAM memory storage cells changes depending on the alignment of their magnetic dipoles. The voltage at the sense amp can be expressed as: Vsig = 2 * Veq * k/(2 + k) , where Veq is the quiescent voltage and k is the change in resistance of the MRAM memory storage cell.
The use of four MRAM memory storage cells to represent the state of a single fuse is a preferred number of storage cells because the use of four storage cells provides a greater read voltage margin, i.e., Vsig strength, to be used when detecting the data represented by the arrangement when compared with arrangements using less than four storage cells. Arrangements with greater than four storage cells are also possible, but their use does not significantly increase the read voltage margin and their larger size reduces the size efficiency gained by using non-volatile memory as opposed to fuses. However, arrangements with the number of MRAM memory storage cells other than four are possible.
Referring now to Figure 4a, a diagram illustrating a configuration of MRAM memory storage cells 400 arranged in a cross-point array architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention. The configuration of MRAM memory storage cells 400 comprising two individual MRAM memory storage cells 402 and 404 arranged in a cross-point array architecture with three conductive lines "LA" 406, "LC" 408, and "LD" 410. Notice that this configuration 400 is essentially one-half of the configuration 200 discussed in Figure 2. According to a preferred embodiment of the present invention, to represent one possible fuse state, MRAM storage cell 402 is programmed to hold value "0" while MRAM storage cell 404 is programmed to hold value "1". To represent the other possible fuse state, MRAM storage cell 402 holds "1" while MRAM storage cell 404 holds "0". The values programmed into the individual MRAM storage cells discussed above is a preferred set of values, however, other combinations of values are possible and are equally operative.
The particular arrangement of the MRAM memory storage cells in a cross-point array creates a voltage divider when the read voltage is applied through conductive lines "LC" 408 and "LD" 410. The values stored in the MRAM memory storage cells can be detected via a simple dynamic random access memory (DRAM) latch type sense amp. Alternatively, additional MRAM cells can be used as reference cells (elements) in conjunction with the MRAM cells 402 and 404 to construct a bridge configuration as discussed above. The reference cells would not be used to actually store data, but only in the construction of the bridge. Referring now to Figure 4b, a diagram illustrating a configuration of a single MRAM memory storage cell 450 arranged in a cross-point array architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention. The configuration of a single MRAM memory storage cell 450 comprising an individual MRAM memory storage cell 452 with two conductive lines "LA" 454 and "LC" 456. Notice that this configuration 450 is essentially one-half of the configuration 400 discussed in Figure 4a.
According to a preferred embodiment of the present invention, to represent one possible fuse state, MRAM storage cell 452 is programmed to hold value "0". To represent the other possible fuse state, MRAM storage cell 452 holds "1". The values programmed into the individual MRAM storage cells discussed above is a preferred set of values, however, it is possible to reverse the values used to represent the fuse states and the invention would be equally operative. The value stored in the MRAM cell 452 can be detected using standard techniques for detecting values stored in MRAM cells when they are used as normal memory cells. Alternatively, additional MRAM cells can be used as reference cells (elements) in conjunction with the MRAM cell 452 to construct a bridge configuration as discussed above. The reference cells would not be used to actually store data, but only in the construction of the bridge.
Referring now to Figures 4c and 4d, diagrams illustrate configurations of two MRAM memory storage cells 470 and one MRAM memory storage cell 490 arranged in a MRAM FET architecture used to store a single bit of information for use as a replacement for a fuse according to a preferred embodiment of the present invention. Figures 4c and 4d are similar to Figures 4a and 4b, respectively, and present essentially the same circuit using the MRAM FET architecture rather than the cross- point array architecture.
The non-volatile memory cells used to replace the fuses are themselves memory storage cells, like the remainder of the memory in the memory storage device.
Therefore, they too can be faulty. As a result, to enable the detection of faults in the non-volatile memory cells, the non-volatile memory cells can be protected by an error-detecting code or an error-correcting code. An error-detecting code can detect the presence of an error, while an error-correcting code can both detect and correct errors (within set limits) . If an error-correcting code is used, then as long as the number of faulty bits does not exceed the number of correctable errors, the use of the faulty block of non-volatile memory can continue. Error- detecting and error-correcting codes are well understood by those of ordinary skill in the art of the present invention.
Referring now to Figure 5, a diagram illustrates an error-correcting code array 500 used in protecting a group of data bits stored in a non-volatile memory according to a preferred embodiment of the present invention. According to a preferred embodiment of the present invention, the preferred error-correcting code is known as the Hamming code. However, there are many other error-correcting codes that may be used in place of the Hamming code, and any of them can be used without loss of any functionality in the present invention.
The circuit 500 displays an implementation of a Hamming code (15, 11) . This means that 15 encoded bits are used to protect 11 data bits. This implies that 11 data bits, when encoded, turns into 15 encoded bits. The four additional bits provide the necessary encoding information to protect the 11 data bits. According to a preferred embodiment of the present invention, each of the 15 encoded bits is stored in a configuration of MRAM memory storage cells similar to the structures discussed in Figures 2, 4a, and 4b. For example, encoded bit number 15 would be stored in a structure 510 with the remaining 14 encoded bits being stored in the remaining structures. A series of exclusive-or (XOR) blocks, for example, XOR block 515, implement a decoding operation used to test the encoded bits. The particular arrangement of the XOR blocks is dependent on the particular Hamming code used and the arrangement displayed in Figure 5 is specifically for the Hamming code (15, 11) . A series of result bits SO 520, SI 525, S2 530, and S3 535 provide the results of the decoding operation. If all of the result bits are zero, then none of the encoded bits are faulty. If one or more of the result bits are one, then one or more of the encoded bits are faulty. The actual decoding operation and determining which encoded bit(s) is faulty is beyond the scope of the present invention.
Since the addresses of the faulty memory cells are stored in non-volatile memory, the additional step of testing and burning the faulty memory cell addresses into fuses incurred during manufacturing is not necessary. According to a preferred embodiment of the present invention, it is possible to perform a test of all memory storage cells at regular intervals or at each system power-up to locate and mark faulty memory storage cells . When a new faulty memory storage cell is detected, the address of the memory storage cell can be stored in the non-volatile memory. An advantage provided in using this technique is that as memory storage cells becomes defective over time, the faulty memory storage cells can be replace with redundant memory storage cells rather than requiring the replacement of the entire memory storage device .
Referring now to Figure 6, a flow diagram illustrates an algorithm 600 for detecting faulty memory cells and updating the list of faulty memory cells according to a preferred embodiment of the present invention. According to a preferred embodiment of the present invention, the algorithm 600 executes on a processing element of the electronic device containing the memory storage device. The electronic device could be configured to execute the algorithm 600 periodically, after a prespecified number of hours of operation, or a certain number of power cycles, etc.
The electronic device begins by performing a scan of all memory cells in the memory storage device (block 605) . There are many possible ways of testing memory cells: including writing specific values to each memory cell and reading the value back and comparing the results, the walking one test, the walking zero test, etc. After scanning all memory cells, the faulty cells are marked
(block 610) and the faulty cells are compared against the list of faulty cells already present in the storage device (block 615) .
If there are any new faulty cells, the address of the new faulty cells are added to the list of faulty cells stored in the non-volatile memory (block 620) . After the new faulty cells are added to the list of faulty cells, replacement cells must be found (block 625) . Part of this process involves the checking of the replacement memory to determine if any unallocated replacement memory exists (block 630) . If sufficient replacement memory exists, then the replacement memory is allocated to the new faulty cells and the address of the replacement memory cells are stored in the list of faulty cells (block 635) . If no more replacement memory cells exist, then the faulty cells cannot be replaced and the memory storage device is deemed faulty (block 640) and replacement is required if the electronic device is to be used.
While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of the invention, will be apparent to persons skilled in the art upon reference to the description. It is therefore intended that the appended claims encompass any such modifications or embodiments.

Claims

WHAT IS CLAIMED IS:
1. A semiconductor memory device comprising: a first memory for storing logical data values in storage cells; an address decoder coupled to the first memory, the address decoder containing circuitry to decode address bits provided to the memory device and to select a storage cell; a redundant controller coupled to the address decoder, the redundant controller comprising a second memory for storing a list of addresses of faulty memory storage cells and a redundant memory storage cell for each faulty memory storage cell, wherein the second memory comprising non-volatile, resistive memory cells; a redundant address decoder coupled to the redundant controller, the redundant address decoder containing circuitry to decode the address bits of the replacement memory storage cells to select a redundant memory storage cell in the redundant memory; and a redundant memory coupled to the redundant address decoder, the redundant memory containing redundant memory storage cells.
2. The semiconductor memory device of claim 1, wherein the redundant controller further comprises a comparator to compare the address bits against the list of addresses of faulty memory storage cells;
3. The semiconductor memory device of claim 1, wherein when a match between the address bits and an address of a faulty memory cell in the list occurs, then the redundant controller disables the address decoder and enables the redundant address decoder.
4. The semiconductor memory device of claim 3, wherein the redundant memory storage cell is used in place of the faulty storage cell when the match exists.
5. The semiconductor memory device of claim 1, wherein the redundant memory storage cell comprising a single individual storage cell.
6. The semiconductor memory device of claim 1, wherein the redundant memory storage cell comprising a plurality of individual storage cells and the plurality of storage cells are used to store the data of the faulty memory cell.
7. The semiconductor memory device of claim 1, wherein the list stores the addresses of an entire segment of storage cells containing a faulty storage cell and an entire segment of replacement storage cells for each faulty segment.
8. The semiconductor memory device of claim 1, wherein the redundant memory and the first memory are made of the same type of memory cells.
9. The semiconductor memory device of claim 1, wherein the redundant memory and the first memory are made of different types of memory cells .
10. The semiconductor memory device of claim 1, wherein the resistive memory cells are magnetoresistive random access memory (MRAM) cells.
11. The semiconductor memory device of claim 10, wherein a latch-type sense amp is used to retrieve information stored in the MRAM cells.
12. The semiconductor memory device of claim 10, wherein the applied voltage used to retrieve information stored in the MRAM cells is approximately equal to twice the breakdown voltage of a single MRAM cell .
13. The semiconductor memory device of claim 10, wherein the MRAM cells are laid out in a cross-point array architecture.
14. The semiconductor memory device of claim 10, wherein the MRAM cells are laid out in a MRAM FET architecture.
15. The semiconductor memory device of claim 10, wherein the voltage used to write information stored in the MRAM cells is sufficient to break through the MRAM cells' tunneloxide layer.
16. The semiconductor memory device of claim 10, wherein the MRAM cells are implemented in a bridge configuration.
18. The semiconductor memory device of claim 17, wherein the bridge configuration comprises four individual MRAM cells.
19. The semiconductor memory device of claim 18, wherein the bridge configuration comprises two individual MRAM cells.
20. The semiconductor memory device of claim 18, wherein the bridge configuration comprises one MRAM cell.
21. The semiconductor memory device of claim 1, wherein each address stored in the list is encoded using an error- correcting code.
22. The semiconductor memory device of claim 21, wherein the error-correcting code is a Hamming code.
23. The semiconductor memory device of claim 1, wherein the non-volatile memory cells can be programmed during normal operation of the semiconductor memory device.
24. A circuit comprising a semiconductor memory device as specified in claim 1.
25. An electronic device comprising a semiconductor memory device as specified in claim 1.
26. A method for providing fault tolerance in a semiconductor memory device comprising: testing memory storage cells for faults; determining faulty memory storage cells; saving faulty memory storage cells to non-volatile memory; and associating redundant memory storage cells to the faulty memory storage cells.
27. The method of claim 26, wherein the testing step comprises performing scan testing of the memory storage cells in the device.
28. The method of claim 26, wherein the determining step comprises marking the memory storage cells that fail the testing step.
29. The method of claim 26, wherein the saving step comprises comparing memory addresses of the faulty memory storage cells with the contents of a list of faulty memory storage cells; and saving the memory addresses that are new to the list to the list.
30. The method of claim 26, wherein a list in the nonvolatile memory contains addresses of faulty and replacement memory storage cells, the associating step comprises: finding redundant memory storage cells for the faulty memory storage cells new to the list; and saving the address of the redundant memory storage cells with the address of the faulty memory storage cells new to the list.
31. The method of claim 30, wherein the associating step further comprises the step of marking the semiconductor memory device faulty if there are insufficient replacement memory storage cells for all the faulty memory storage cells new to the list.
PCT/EP2003/001630 2002-02-19 2003-02-18 Non-volatile redundancy adresses memory WO2003071554A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP03742532A EP1476880B1 (en) 2002-02-19 2003-02-18 Non-volatile redundancy addresses memory
JP2003570364A JP2005518628A (en) 2002-02-19 2003-02-18 Fuse concept and method of operation
DE60300777T DE60300777T2 (en) 2002-02-19 2003-02-18 NON-VOLATILE REDUNDANCY ADDRESS MEMORY
KR1020047012777A KR100613535B1 (en) 2002-02-19 2003-02-18 Semiconductor memory device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/079,774 US6801471B2 (en) 2002-02-19 2002-02-19 Fuse concept and method of operation
US10/079,774 2002-02-19

Publications (2)

Publication Number Publication Date
WO2003071554A2 true WO2003071554A2 (en) 2003-08-28
WO2003071554A3 WO2003071554A3 (en) 2003-12-24

Family

ID=27733094

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/001630 WO2003071554A2 (en) 2002-02-19 2003-02-18 Non-volatile redundancy adresses memory

Country Status (8)

Country Link
US (1) US6801471B2 (en)
EP (1) EP1476880B1 (en)
JP (1) JP2005518628A (en)
KR (1) KR100613535B1 (en)
CN (1) CN100505106C (en)
DE (1) DE60300777T2 (en)
TW (1) TWI277098B (en)
WO (1) WO2003071554A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848422B2 (en) 2011-04-25 2014-09-30 Panasonic Corporation Variable resistance nonvolatile memory device and driving method thereof

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030023922A1 (en) * 2001-07-25 2003-01-30 Davis James A. Fault tolerant magnetoresistive solid-state storage device
US6981196B2 (en) * 2001-07-25 2005-12-27 Hewlett-Packard Development Company, L.P. Data storage method for use in a magnetoresistive solid-state storage device
US7036068B2 (en) * 2001-07-25 2006-04-25 Hewlett-Packard Development Company, L.P. Error correction coding and decoding in a solid-state storage device
US6973604B2 (en) * 2002-03-08 2005-12-06 Hewlett-Packard Development Company, L.P. Allocation of sparing resources in a magnetoresistive solid-state storage device
US20030172339A1 (en) * 2002-03-08 2003-09-11 Davis James Andrew Method for error correction decoding in a magnetoresistive solid-state storage device
JP2004023062A (en) * 2002-06-20 2004-01-22 Nec Electronics Corp Semiconductor device and method for manufacturing the same
US7062695B2 (en) * 2003-05-23 2006-06-13 Lsi Logic Corporation Memory implementation for handling integrated circuit fabrication faults
US7068533B2 (en) * 2004-09-30 2006-06-27 Infineon Technologies Ag Resistive memory cell configuration and method for sensing resistance values
US20060245230A1 (en) * 2005-04-29 2006-11-02 Ambroggi Luca D Memory module and method for operating a memory module
US7761773B2 (en) * 2005-06-30 2010-07-20 Sigmatel, Inc. Semiconductor device including a unique identifier and error correction code
US7859034B2 (en) * 2005-09-20 2010-12-28 Grandis Inc. Magnetic devices having oxide antiferromagnetic layer next to free ferromagnetic layer
US7973349B2 (en) 2005-09-20 2011-07-05 Grandis Inc. Magnetic device having multilayered free ferromagnetic layer
US7777261B2 (en) * 2005-09-20 2010-08-17 Grandis Inc. Magnetic device having stabilized free ferromagnetic layer
US7362644B2 (en) * 2005-12-20 2008-04-22 Magic Technologies, Inc. Configurable MRAM and method of configuration
KR100819005B1 (en) 2007-02-16 2008-04-03 삼성전자주식회사 Nonvolatile memory device using variable resistive element
KR100909902B1 (en) * 2007-04-27 2009-07-30 삼성전자주식회사 Flash memory device and Flash memory system
US7957179B2 (en) * 2007-06-27 2011-06-07 Grandis Inc. Magnetic shielding in magnetic multilayer structures
US7760538B1 (en) * 2008-03-04 2010-07-20 Xilinx, Inc. Non-volatile SRAM cell
US7894248B2 (en) 2008-09-12 2011-02-22 Grandis Inc. Programmable and redundant circuitry based on magnetic tunnel junction (MTJ)
CN101510445B (en) * 2009-03-19 2012-11-21 无锡中星微电子有限公司 Method and apparatus for storing and reading bad block meter of memory
JP5595514B2 (en) * 2009-11-20 2014-09-24 ラムバス・インコーポレーテッド Bit exchange technology for DRAM error correction
US8547736B2 (en) * 2010-08-03 2013-10-01 Qualcomm Incorporated Generating a non-reversible state at a bitcell having a first magnetic tunnel junction and a second magnetic tunnel junction
US8638596B2 (en) 2011-07-25 2014-01-28 Qualcomm Incorporated Non-volatile memory saving cell information in a non-volatile memory array
KR20130021760A (en) 2011-08-23 2013-03-06 삼성전자주식회사 Anti-fuse circuit using mtj breakdown, and semiconductor device including the anti-fuse circuit
KR101938210B1 (en) 2012-04-18 2019-01-15 삼성전자주식회사 Operating method of memory systme including nand flash memory, variable resistance memory and controller
US9734921B2 (en) 2012-11-06 2017-08-15 Rambus Inc. Memory repair using external tags
KR20160062809A (en) * 2014-11-25 2016-06-03 삼성전자주식회사 Memory system for improving raw bit error rate through rewrite and therefore rewrite method
US10395748B2 (en) 2016-06-15 2019-08-27 Micron Technology, Inc. Shared error detection and correction memory
DE102016112765B4 (en) 2016-07-12 2024-04-25 Infineon Technologies Ag Magnetic storage device and method for operating the same
KR102587648B1 (en) * 2018-07-23 2023-10-11 삼성전자주식회사 Stacked memory devices, memory systems including the same and methods of testing the stacked memory devices
CN110895645B (en) * 2018-09-12 2022-04-19 长鑫存储技术有限公司 Target correction code determining method and device, electronic equipment and storage medium
CN113495675B (en) 2020-04-01 2023-08-11 长鑫存储技术有限公司 Read-write method and memory device
EP3964941B1 (en) 2020-04-01 2024-02-28 Changxin Memory Technologies, Inc. Read-write method and memory device
EP3985494B1 (en) 2020-04-01 2024-01-17 Changxin Memory Technologies, Inc. Read-write method and memory device
CN113495671B (en) 2020-04-01 2023-10-17 长鑫存储技术有限公司 Read-write method and memory device
EP3936996A4 (en) 2020-04-01 2022-07-06 Changxin Memory Technologies, Inc. Read-write method and memory device
CN113495674B (en) 2020-04-01 2023-10-10 长鑫存储技术有限公司 Read-write method and memory device
EP3964940A4 (en) * 2020-04-01 2022-08-17 Changxin Memory Technologies, Inc. Read/write method and memory apparatus
CN113495672B (en) 2020-04-01 2023-08-11 长鑫存储技术有限公司 Read-write method and memory device
CN113495677B (en) * 2020-04-01 2023-10-10 长鑫存储技术有限公司 Read-write method and memory device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179536A (en) * 1989-01-31 1993-01-12 Fujitsu Limited Semiconductor memory device having means for replacing defective memory cells
EP0679996A2 (en) * 1994-04-25 1995-11-02 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device and its driving method
US5644529A (en) * 1993-11-30 1997-07-01 Sgs-Thomson Microelectronics S.R.L. Integrated circuit for the programming of a memory cell in a non-volatile memory register
US5758056A (en) * 1996-02-08 1998-05-26 Barr; Robert C. Memory system having defective address identification and replacement
EP1126372A1 (en) * 2000-02-14 2001-08-22 STMicroelectronics S.r.l. Non-volatile memory device with configurable row redundancy
EP1132924A2 (en) * 2000-02-04 2001-09-12 Hewlett-Packard Company, A Delaware Corporation Self-testing of magneto-resistive memory arrays

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2629697B2 (en) * 1987-03-27 1997-07-09 日本電気株式会社 Semiconductor storage device
JP2730375B2 (en) * 1992-01-31 1998-03-25 日本電気株式会社 Semiconductor memory
KR950000275B1 (en) * 1992-05-06 1995-01-12 삼성전자 주식회사 Column redundancy of semiconductor memory device
US5771195A (en) * 1995-12-29 1998-06-23 Sgs-Thomson Microelectronics, Inc. Circuit and method for replacing a defective memory cell with a redundant memory cell
KR100220556B1 (en) * 1996-10-30 1999-09-15 윤종용 Decoder circuit using short pulse redundancy signal
JP2956634B2 (en) * 1997-01-27 1999-10-04 日本電気株式会社 Redundant address selection method for semiconductor memory device and semiconductor memory device
JP3749789B2 (en) * 1998-06-08 2006-03-01 株式会社東芝 Semiconductor memory device
JP3522116B2 (en) * 1998-08-04 2004-04-26 富士通株式会社 Memory device with multi-bit data prefetch function
US6084807A (en) * 1999-11-08 2000-07-04 Choi; Jin H. Memory device with global redundancy
JP2001210091A (en) * 1999-11-18 2001-08-03 Toshiba Microelectronics Corp Semiconductor memory
US6634003B1 (en) * 2000-02-10 2003-10-14 Lsi Logic Corporation Decoding circuit for memories with redundancy
JP4345204B2 (en) * 2000-07-04 2009-10-14 エルピーダメモリ株式会社 Semiconductor memory device
KR100413762B1 (en) * 2001-07-02 2003-12-31 삼성전자주식회사 Semiconductor memory device having adjustable banks and method thereof
US7219271B2 (en) * 2001-12-14 2007-05-15 Sandisk 3D Llc Memory device and method for redundancy/self-repair
US6567300B1 (en) * 2002-02-22 2003-05-20 Infineon Technologies, Ag Narrow contact design for magnetic random access memory (MRAM) arrays
JP3866588B2 (en) * 2002-03-01 2007-01-10 エルピーダメモリ株式会社 Semiconductor integrated circuit device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179536A (en) * 1989-01-31 1993-01-12 Fujitsu Limited Semiconductor memory device having means for replacing defective memory cells
US5644529A (en) * 1993-11-30 1997-07-01 Sgs-Thomson Microelectronics S.R.L. Integrated circuit for the programming of a memory cell in a non-volatile memory register
EP0679996A2 (en) * 1994-04-25 1995-11-02 Matsushita Electric Industrial Co., Ltd. Semiconductor memory device and its driving method
US5758056A (en) * 1996-02-08 1998-05-26 Barr; Robert C. Memory system having defective address identification and replacement
EP1132924A2 (en) * 2000-02-04 2001-09-12 Hewlett-Packard Company, A Delaware Corporation Self-testing of magneto-resistive memory arrays
EP1126372A1 (en) * 2000-02-14 2001-08-22 STMicroelectronics S.r.l. Non-volatile memory device with configurable row redundancy

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848422B2 (en) 2011-04-25 2014-09-30 Panasonic Corporation Variable resistance nonvolatile memory device and driving method thereof

Also Published As

Publication number Publication date
TWI277098B (en) 2007-03-21
CN1636250A (en) 2005-07-06
EP1476880B1 (en) 2005-06-01
DE60300777T2 (en) 2006-05-11
DE60300777D1 (en) 2005-07-07
US6801471B2 (en) 2004-10-05
CN100505106C (en) 2009-06-24
TW200303553A (en) 2003-09-01
KR100613535B1 (en) 2006-08-16
EP1476880A2 (en) 2004-11-17
KR20040083525A (en) 2004-10-02
JP2005518628A (en) 2005-06-23
WO2003071554A3 (en) 2003-12-24
US20030156469A1 (en) 2003-08-21

Similar Documents

Publication Publication Date Title
EP1476880B1 (en) Non-volatile redundancy addresses memory
US6868022B2 (en) Redundant memory structure using bad bit pointers
US20050120265A1 (en) Data storage system with error correction code and replaceable defective memory
CN110277130B (en) Semiconductor device involving repair of redundant region
US7149948B2 (en) Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
US20180330799A1 (en) Memory apparatus with post package repair
US8423837B2 (en) High reliability and low power redundancy for memory
JP4023811B2 (en) Memory system
US7231582B2 (en) Method and system to encode and decode wide data words
US7325157B2 (en) Magnetic memory devices having selective error encoding capability based on fault probabilities
US6643195B2 (en) Self-healing MRAM
US7187602B2 (en) Reducing memory failures in integrated circuits
US7181655B2 (en) Method and circuit arrangement for memory error processing
US7472330B2 (en) Magnetic memory which compares compressed fault maps
JP2003115196A (en) Manufacturing test for fault tolerant magnetoresistive solid-state storage device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): CN JP KR

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): DE FR GB IE IT NL

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003742532

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020047012777

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2003570364

Country of ref document: JP

Ref document number: 20038042266

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2003742532

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2003742532

Country of ref document: EP