Apparatus and techniques for programming antifuses to repair memory devices

By introducing a combination of repair array and anti-fuse array into the memory device, the faulty elements are dynamically repaired, and the problem of difficulty in repairing memory arrays is solved, and the reliability and stability of the memory device are improved.

CN112652349BActive Publication Date: 2025-05-13MICRON TECHNOLOGY INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011049753.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-10-11
Filing Date
2020-09-29
Publication Date
2025-05-13
Estimated Expiration
2040-09-29

AI Technical Summary

Technical Problem

When existing memory devices encounter faulty components, it is difficult to effectively repair, resulting in a decrease in the reliability of the memory array.

Method used

Using a device that includes a memory array, a repair array and an antifuse array, the antifuse array indicates whether the components of the repair array replace the fault elements of the memory array to achieve dynamic fault repair.

Benefits of technology

It improves the reliability and stability of the memory device, extends the service life of the memory device, and reduces the cost of fault repair.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112652349B_ABST
    Figure CN112652349B_ABST
Patent Text Reader

Abstract

The present application is directed to apparatus and techniques for programming antifuses to repair memory devices. An apparatus may include a repair array including elements for replacing faulty elements in a memory array, and the apparatus may additionally include an antifuse array for indicating which elements of the memory array, if any, are being replaced by elements within the repair array. The antifuse array may indicate addresses of elements of the memory array being replaced by elements within the repair array. The antifuse array may indicate enablement or disablement of the elements within the repair array, the enablement or disablement indicating whether the elements within the repair array are enabled to replace the elements of the memory array. The antifuse array may include antifuses having lower reliability and antifuses having higher reliability. Antifuses associated with the enablement of the elements within the repair array may include antifuses having the higher reliability.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references

[0002] This patent application claims priority to U.S. patent application No. 16 / 599,796, filed by Eichmeyer et al. on October 11, 2019, entitled "APPARATUS AND TECHNIQUES FOR PROGRAMMING ANTI-FUSES TO REPAIR A MEMORY DEVICE," which is assigned to the present assignee and is incorporated herein by reference in its entirety. Technical Field

[0003] The technical field relates to apparatus and techniques for programming antifuses to repair memory devices. Background Art

[0004] The following relates generally to systems including at least one memory device, and more specifically to apparatus and techniques for programming antifuses to repair memory devices.

[0005] Memory devices are widely used to store information in various electronic devices such as computers, wireless communication devices, cameras, digital displays, etc. Information is stored by programming different states of the memory device. For example, binary devices most often store one of two states, often represented by a logical 1 or a logical 0. In other devices, more than two states may be stored. To access the stored information, a component of the device may read or sense at least one stored state in the memory device. To store information, a component of the device may write or program a state in the memory device.

[0006] There are various types of memory devices, including magnetic hard disks, random access memory (RAM), read-only memory (ROM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM), ferroelectric RAM (FeRAM), magnetic RAM (MRAM), resistive RAM (RRAM), flash memory, phase change memory (PCM), etc. Memory devices can be volatile or non-volatile. Non-volatile memory such as FeRAM can maintain a stored logic state for a long time even in the absence of an external power source. Volatile memory devices such as DRAM can lose their stored state when disconnected from an external power source.

[0007] Some memory devices may include a repair array having elements to replace failed elements within a memory array (e.g., a main array) of the memory device. For example, a portion of the memory array associated with an address may fail and the memory array may be programmed to instead store the data associated with the address within the repair array. Summary of the invention

[0008] An apparatus is described. The apparatus may include a memory array for storing data associated with a host system; a repair array including elements for replacing faulty elements of the memory array; an antifuse array including a plurality of blocks indicating whether a first element of the repair array replaces a second element of the memory array, each block of the antifuse array including: a first antifuse set having a lower reliability, each antifuse in the first antifuse set being in a first configuration; and a second antifuse set having a higher reliability, each antifuse in the second antifuse set being in a second configuration operable to provide a higher reliability than the first configuration.

[0009] A method is described. The method may include receiving a command from a host system to perform an access operation using a memory device, the command including an address; comparing the address of the command with an address stored in an antifuse array, the antifuse array including a plurality of blocks indicating whether to replace a second element of a memory array with a first element of a repair array, each block of the antifuse array including a first antifuse set having a lower reliability configuration and a second antifuse set having a higher reliability configuration operable to provide a higher reliability than the lower reliability configuration; determining, based at least in part on the comparison, that the element indicated by the address of the command is to be replaced with the first element of the repair array; and performing the access operation on the first element of the repair array based at least in part on the determination that the element indicated by the address of the command is to be replaced with the first element of the repair array.

[0010] Another device is described. The device may include a memory array for storing data associated with a host system; a repair array including elements for replacing a faulty element of the memory array; and an antifuse array including a plurality of blocks operable to indicate whether a first element of the repair array replaces a second element of the memory array, each block of the antifuse array including: a first antifuse set for indicating an address of the second element of the memory array being replaced by the first element of the repair array, a plurality of antifuses in the first set being in a lower reliability configuration and a first antifuse in the first set being in a higher reliability configuration operable to provide a higher reliability than the lower reliability configuration; and a second antifuse set for indicating whether the first element of the repair array is enabled, the second set including a second antifuse in the higher reliability configuration. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 Examples of systems supporting apparatus and techniques for programming antifuses to repair memory devices according to examples disclosed herein are described.

[0012] Figure 2 Examples of antifuse configurations are described that support apparatus and techniques for programming antifuses to repair memory devices according to examples disclosed herein.

[0013] Figure 3 and 4 Examples of antifuse arrays supporting apparatus and techniques for programming antifuses to repair memory devices according to examples disclosed herein are described.

[0014] Figure 5 Block diagram illustrating a memory device supporting apparatus and techniques for programming antifuses to repair the memory device according to examples disclosed herein.

[0015] Figure 6 A flow chart illustrating one or more methods supporting apparatus and techniques for programming antifuses to repair memory devices according to examples disclosed herein is shown. DETAILED DESCRIPTION

[0016] The memory device may include a memory array that stores data at the memory device. The memory array may include a set of elements that are each accessible by an address (e.g., by an access command, such as a write command, a read command, a refresh command). For example, an element may include a single memory cell. In another example, an element may include a row or column of memory cells within the memory array, a column of memory cells within the memory array, or a sub-array of memory cells within the memory array. When the memory device receives an access command, the access command may include an address corresponding to an element of the memory array.

[0017] In some cases, one or more elements within a memory array may fail. The memory device may be operable to "replace" a faulty element of the memory array with an element of a repair array. To improve the yield of the memory device, the memory device may include a repair array (sometimes referred to as a redundant array). After manufacturing, one or more elements of the memory array may be unusable. Rather than discarding the entire memory array, the address of the faulty element may be redirected to the address of an element in the repair array. In this way, when an address comes in from the host system, the memory device may compare the address to a list of one or more addresses of the main array that are redirected to the repair array. If the received address is one of the redirected addresses, the memory device may access the element of the repair array instead of the faulty element of the memory array.

[0018] The memory device may include an antifuse array configured to store an indication of an address of a faulty element within the memory device. Thus, when the memory device receives an access command, the memory device may reference the antifuse array to determine whether the address included in the access command corresponds to a faulty element within the memory array and then identify an element within the repair array to replace the faulty element.

[0019] The antifuse array may include multiple antifuse blocks. Each antifuse block may be associated with an element of a repair array. Each antifuse block may indicate the address of the memory array being replaced or may indicate whether this element is actively replacing an element of the memory array or both. Each antifuse block may include a first antifuse set for indicating an address and a second antifuse set for indicating whether to enable or disable an element of the repair array. For example, if the address is eight bits, each block within the antifuse array may include a set of eight antifuses for indicating each bit of the address. The second antifuse set (which may include one or more antifuses) may indicate the enablement or disablement of the associated element of the repair array. That is, if the block stores a valid address of the memory array being replaced by a corresponding element of the repair array, the block may include one or more antifuses indicating that the element of the repair array is enabled to replace the indicated address. Conversely, the block may include one or more antifuses indicating that the element of the repair array is disabled.

[0020] An antifuse may be an example of a device that starts at a high resistance and produces a conductive path of lower resistance after applying a voltage that satisfies a threshold. The conductive path produced by the antifuse may not be reliable. For example, the possibility that a conductive path is not formed when a voltage is applied to the antifuse and the antifuse remains at a certain higher resistance may be small. To increase the reliability of the antifuse, the configuration of the antifuse may be changed. For example, two or more antifuses may be coupled in a parallel configuration and coupled with an OR gate. In this configuration, if any one of the antifuses is activated, the circuit will produce a conductive path. This type of configuration may have a higher reliability compared to a single antifuse. When the number of antifuses is increased (e.g., to increase reliability), there may also be an increase in the size of the footprint of the antifuse. In order to maintain the desired reliability of some antifuses and maintain a small footprint, the antifuse array may include one or more antifuses in a lower reliability configuration because some functions are, while including one or more antifuses in a higher reliability configuration because more critical functions are. For example, an antifuse used to store address information within a block may be in a lower reliability configuration. Additionally or alternatively, an antifuse used to store enable or disable information for a block may be in a higher reliability configuration. The enable or disable information may be more critical because any block with a faulty antifuse storing address information may be disabled. If an antifuse used to enable or disable a block within an antifuse array is faulty, the entire antifuse array, repair array, or memory array may function unpredictably.

[0021] First, in reference Figure 1 Features of the present disclosure are described in the context of the memory system described. Figure 2-4 Features of the present disclosure are further described in the context of the described antifuse configurations, antifuse arrays, and process flows. Figure 5-6 These and other features of the present disclosure are described with reference to and are described in conjunction with apparatus and techniques for programming antifuses to repair memory devices.

[0022] Figure 1 A system 100 supporting apparatus and techniques for programming antifuses to repair a memory device according to examples disclosed herein is illustrated. The system 100 may include a host system 101 and a memory device 105. The memory device 105 may include a controller 110, a memory array 115, and components for repairing the memory array 115. For example, the memory device 105 may include a repair array 120 and an antifuse array 125.

[0023] System 100 may include a host system 101. Host system 101 may be an example of a device that uses memory to perform a process, such as a computing device, a mobile computing device, a wireless device, a graphics processing device, a computer, a portable computer, a tablet computer, a smart phone, a cellular phone, a wearable device, a device connected to the Internet, a certain other stationary or portable electronic device, etc. In some cases, the host system may refer to hardware, firmware, software, or a combination thereof that implements the functions of an external memory controller. In some cases, host system 101 may be referred to as a host or host device. Memory device 105 may be configured to store data for system 100 (e.g., within memory array 115). In some cases, memory device 105 may act as a slave device of host system 101 (e.g., responding to commands provided by executing host system 101). Such commands may include access commands for access operations, such as write commands for write operations, read commands for read operations, refresh commands for refresh operations, or other commands.

[0024] The memory device 105 may include a memory array 115 having memory cells that are programmable to store different logical states. In some cases, the memory cells within the memory array 115 may be programmable to store two logical states, which may be denoted as logical 0 and logical 1. In some cases, the memory cells within the memory array 115 may be programmable to store more than two logical states. In an example of the memory device 105, the different logical states may be programmed by writing to the memory cells having configurable material characteristics or material properties corresponding to the different logical states, where such material characteristics or material properties (e.g., material states) may be detected during a subsequent read operation to identify the stored logical state. The memory array 115 may include a memory segment or set of elements, which may refer to a contiguous tile of memory cells (e.g., a contiguous set of elements of a semiconductor chip), or a set or bank of more than one contiguous tile of memory cells. In some examples, a memory segment, memory element, or memory tile may refer to a minimum set of memory cells within the memory array 115 that may be biased in an access operation, or a minimum set of memory cells at a common node (e.g., a common source node, a common source plate, a set of source lines biased to a common voltage). In some cases, a memory segment may correspond to a set of memory cells associated with the same memory address. For example, the memory device 105 may receive an access command including an address from the host system 101. Based on receiving the access command and the address, the memory device 105 may access a memory segment associated with the address within the memory array 115.

[0025] The memory device 105 may include a controller 110. The controller 110 may control the operation of the memory array 115 (e.g., a read operation, a write operation, a rewrite operation, a refresh operation) through various components (e.g., a row component for activating a row of memory cells within the memory array 115, a column component for activating a column of memory cells within the memory array 115, a sensing component for sensing a logic value of an accessed memory cell). The controller 110 may receive an access command from the host system 101. The access command may include an address corresponding to one or more memory cells within the memory array 115. Based on the address included in the access command, the controller 110 may generate a row address signal and a column address signal to activate a target first access line (e.g., a word line) and a target second access line (e.g., a digit line). The controller 110 may also generate or control various voltages or currents used during the operation of the memory device 105. Although a single controller 110 is shown, the memory device 105 may have more than one controller 110, wherein different controllers 110 may perform the same function or different functions.

[0026] The memory device 105 may include a repair array 120. The repair array 120 may include an array of memory cells that can be programmed to store different logical states. In some cases, one or more segments or elements within the memory array 115 may fail. The memory array 115 may be analyzed and a failed segment of the memory array 115 may be detected. In some cases, the detection and fixing of the failed segment may be completed during the manufacturing process of the memory device 105. The memory array 115 may include 128 addressable memory segments and testing may reveal that at least one of the addressable memory segments is faulty. To maintain the reliability of the memory array 115 and not reduce the address space of the memory array 115 (e.g., the number of memory cells associated with an address and configured to store accessible data), the memory segments within the repair array 120 may be used to store data associated with addresses corresponding to failed memory segments of the memory array 115. For example, if testing reveals that three memory segments within memory array 115 are faulty (e.g., associated with faulty elements such as memory cells or access lines), then data to be stored at the addresses of the three faulty memory segments may be stored within repair array 120 (e.g., as compared to memory array 115). Thus, the address space associated with memory array 115 may be maintained by combining the address space of memory array 115 with at least a portion of the address space of repair array 120.

[0027] The antifuse array 125 may indicate whether data is stored at the memory array 115 or the repair array 120. The antifuse may have an open connection by default. The antifuse may be programmed to have a closed connection based on receiving a voltage that satisfies a threshold. For example, a programming voltage or an activation pulse may be applied to the antifuse to close the connection across the antifuse. An open connection may correspond to a high resistance state of the antifuse, while a closed connection may correspond to a low resistance state of the antifuse. Since the antifuse is permanently programmed, the memory within the antifuse array 125 may be considered a one-time programmable ROM. The antifuse array 125 may include a set of blocks 130 each associated with a memory segment of the repair array 120. The blocks 130 may be enabled or disabled. An enabled block 130 may indicate that an element of the repair array 120 associated with the enabled block 130 is replacing a faulty memory segment of the memory array 115. Additionally or alternatively, a disabled block 130 may indicate that the segment of the repair array 120 associated with the block 130 is not replacing a faulty memory segment of the memory array 115 .

[0028] Each block 130 within the antifuse array 125 may additionally include a set of antifuses that indicate an address associated with a faulty element of the memory array 115 that is being replaced with a repair array 120. For example, if each address includes twelve (12) bits, then each block 130 may include 12 antifuses corresponding to each of the address bits. In some cases, an antifuse with an open connection may represent a logic value of '0', while an antifuse with a closed connection may represent a logic value of '1', or vice versa.

[0029] The controller 110 may receive data from the host system 101 to write to one or more memory cells associated with an address during execution of a write command. The controller 110 may refer to the antifuse array 125 to determine whether the data associated with the address will be stored in the memory array 115 or the repair array 120. The controller 110 may identify one or more enabled blocks 130 of the antifuse array 125 and compare the addresses indicated by each enabled block 130. If the controller 110 determines that a block 130 is enabled and indicates the same address included in the write command, the controller 110 may determine that the section or element associated with the address in the memory array 115 is replaced with the section or element of the repair array 120. Here, the controller 110 may write the data included in the write command to the section or element of the repair array 120 associated with the block 130 having the same address. Alternatively, if the controller 110 determines that the same address as the address included in the write command is not indicated via the enable block 130, the controller 110 may write the data included in the write command to the sector or element of the memory array 115 indicated by the address.

[0030] During execution of a read command, the controller 110 may receive a command from the host system 101 to read one or more memory cells associated with an address. The controller 110 may identify one or more enabled blocks 130 of the antifuse array 125 and compare the address indicated by each enabled block 130. If the controller 110 determines that a block 130 is enabled and indicates the same address included in the read command, the controller 110 may determine that the segment or element associated with the address in the memory array 115 is being replaced with a segment or element of the repair array 120. Here, the controller 110 may read data from the segment or element within the repair array 120. For example, the controller 110 may determine that a block 130-b is enabled and indicates the same address as indicated in the read command. The controller 110 may read data from the segment or element within the repair array 120 corresponding to the block 130-b in response to the read command and transmit the data to the host system 101. Alternatively, if controller 110 determines that there is no block 130 that is enabled and indicates the same address as included in the read command, controller 110 may read data from a sector or element within memory array 115 and transfer the data to host system 101 in response to the read command.

[0031] The reliability of the antifuses in the antifuse array 125 may affect the reliability of the system 100. For example, if one or more antifuses within the antifuse array 125 are not reliably programmed, the antifuse array 125 may not include a valid address or a correct enable or disable indicator. In some cases, unreliable antifuses within the antifuse array 125 may cause the memory device 105 to inconsistently store or reference data within the memory array 115 and the repair array 120. For example, if the block 130-a is intended to be disabled, but due to the unreliability of the antifuses within the antifuse array 125, the block 130-a is enabled instead, the controller 110 may inappropriately execute an access command to a segment or element within the repair array 120 when the access command should actually be executed to a segment or element within the memory array 115.

[0032] By increasing the footprint of the antifuses, the reliability of the antifuses within the antifuse array 125 can be increased. For example, a larger antifuse can be more reliable than a smaller antifuse. In another example, the antifuse configuration can include a plurality of antifuse outputs combined to increase the reliability of the antifuse configuration. In either case, increasing the reliability of the antifuse or antifuse configuration can result in a corresponding increase in the footprint of the antifuse. To minimize the increase in the footprint of the antifuse array 125, a portion of the antifuses within the antifuse array can be configured with a higher reliability, while other antifuses can be configured with a lower reliability. For example, an antifuse indicating whether a block 130 is enabled can be configured with a higher reliability, while an antifuse indicating an address can be configured with a lower reliability. In some cases, the impact of a faulty antifuse configured to indicate an address can be minimized by disabling the corresponding block 130. Alternatively, the impact of a faulty antifuse configured to indicate the enablement or disablement of a block 130 can cause the memory array 115 to be unreliable and therefore discarded. By reducing the area used for antifuse array 125 , more area of ​​the memory device can be used for other functions, for example, more area can be used for memory array 115 .

[0033] Figure 2 An antifuse configuration 200 is illustrated that supports apparatus and techniques for programming antifuses to repair memory devices according to examples disclosed herein. The antifuse configuration 200 may be used to reference Figure 1 For example, the anti-fuse configuration 200 may be used to reference the system 100. Figure 1 The antifuse array 125 is depicted.

[0034] The antifuse configuration 200 may include more than one antifuse 205. Each antifuse 205 may have an open connection by default. Here, if a voltage is applied to the antifuse 205, the output from the antifuse 205 may be 0 volts (e.g., indicating an open circuit). The antifuse 205 may be programmed to have a closed connection. For example, an activation pulse may be applied to the antifuse 205 to close the connection across the antifuse 205. Here, if a voltage is applied to the antifuse 205, the output from the antifuse 205 may be substantially equal to the voltage applied to the input of the antifuse 205 (e.g., indicating a closed circuit).

[0035] The reliability of antifuse 205 may be based on the reliability of programming antifuse 205 and thus closing the circuit within antifuse 205. That is, an activation pulse may be applied to antifuse 205 and antifuse 205 may maintain an open circuit, or an activation pulse may be applied and antifuse may form a circuit with some intermediate resistance between the high resistance of an open circuit and the low resistance of a closed circuit. In some cases, the likelihood that antifuse 205 maintains an open circuit after receiving an activation pulse may increase as the size of antifuse 205 decreases. Antifuse configuration 200 may correspond to a higher reliability configuration when compared to a single antifuse 205. That is, if programming antifuse 205-a or 205-b is successful (e.g., when closing the circuit within antifuse 205), then the output of antifuse configuration 200 may indicate a closed circuit. Additionally or alternatively, if one of the two antifuses 205 is unsuccessfully programmed, then the output of antifuse configuration 200 may still accurately reflect programming.

[0036] For example, to program antifuses 205-a and 205-b, an activation pulse may be applied to antifuses 205-a and antifuses 205-b. The expected result of the activation pulse may be to close the circuit within both antifuses 205-a and antifuses 205-b. However, in some cases, applying an activation pulse to antifuses 205 may not reliably close the circuit within antifuses 205. That is, antifuses 205-a may receive an activation pulse and be programmed to have a closed connection, while antifuses 205-b may receive an activation pulse and maintain an open connection. Here, applying a voltage to antifuses 205 may cause antifuses 205-a to output a high voltage and cause antifuses 205-b to output a voltage substantially equal to 0 volts. Both voltages are input into an OR gate 210, which may output a high voltage indicating a programmed state of at least one of the antifuses 205.

[0037] In some cases, the higher reliability antifuse configuration 200 may include more than two antifuses 205. For example, the antifuse configuration 200 may include three or more antifuses 205. Here, the output of each of the antifuses 205 may be input to the OR gate 210. As the number of antifuses 205 included in the antifuse configuration 200 increases, the reliability of the antifuse configuration 200 increases. Additionally or alternatively, the higher reliability antifuse configuration 200 may include a larger antifuse 205. That is, the higher reliability antifuse configuration 200 may include a single larger antifuse 205 that has a higher reliability when compared to a smaller single antifuse 205. In some other cases, the higher reliability antifuse configuration 200 may include multiple antifuses 205 that are each larger than a single lower reliability antifuse 205.

[0038] Figure 3An antifuse array 300 is illustrated that supports apparatus and techniques for programming antifuses to repair memory devices according to examples disclosed herein. The antifuse array 300 may be a reference Figure 1 The antifuse array 300 may include the antifuse arrays 125 described herein. Figure 1 and 2 For example, the antifuse array 300 may include a block 330, which may be a reference Figure 1 The example of block 130 described; and antifuses 305 and 310 may be referenced Figure 2 An example of an antifuse 205 or antifuse configuration 200 is depicted. Antifuse array 300 may additionally include an XOR gate 325 .

[0039] The antifuse array 300 may include one or more blocks 330. Each block 330 may correspond to a repair array (eg, Figure 1 Each block 330 may include an antifuse set 305 and 310. The antifuses 305 and 310 may be configured to store an indication of an address 315. For example, a memory array (e.g., reference Figure 1 A segment or element within the memory array 115 described above may fail. Therefore, data associated with the address of the failed segment or element may be stored in the repair array instead. Block 330 may include an indication of address 315 associated with the data stored at the repair array. That is, if address 315 is an eight-bit address 315, then block 330 may include eight antifuses 305 or 310, each configured to indicate one bit of address 315. In some other case, address 315 may include more or fewer bits (e.g., twelve bits, sixteen bits). Here, the block may include a corresponding number of antifuses 305 or 310.

[0040] Each of the anti-fuses 305 and 310-a can be programmed to indicate an address 315. For example, the anti-fuse 305 or 310 can be maintained in a default open state to indicate a logic value of '0' and programmed to be in a closed state to indicate a logic value of '1'. In this way, each of the outputs 0 to 7 from the anti-fuses 305-a, 305-b, 305-c, 305-d, 305-e, 305-f, 305-g, and 310-a can be configured to indicate an eight-bit address 315.

[0041] Each block 330 may include one or more antifuses 310 configured to indicate the enabling or disabling of the block 330 via an enable output 320. That is, the block 330 may be enabled or disabled. An enabled block 330 may indicate data associated with an address 315 indicated by the block 330 indicating that a corresponding memory segment of the repair array is replacing a faulty memory segment of the memory array. Additionally or alternatively, a disabled block 330 may indicate that a corresponding segment or element of the repair array 120 is not replacing a faulty segment or element of the memory array. The enable output 320 may be collectively indicated by the antifuses 310-a, 310-b and a logic gate 325 (e.g., an XOR gate 325). Here, if both antifuses 310 are disconnected, the outputs of the two antifuses 310 may be low, and the output of the XOR gate 325 (e.g., the enable output 320) may also be low. Additionally, if both antifuses 310 are closed, the outputs of both antifuses 310 may be high and the output of XOR gate 325 (e.g., enable output 320) may be low. Thus, block 330 may be enabled with one of antifuses 310 closed and one of antifuses 310 open.

[0042] In the initial or default state, each of the antifuses 305 and 310 may be in an open state. Therefore, the address 315 may indicate an eight-bit address of a single logic state (e.g., eight logic values ​​'0') and both inputs of the XOR gate 325 may be low, so the enable output 320 may also be low. The low enable output 320 may correspond to the disabled block 330. When the address 315 is programmed into the antifuse 305 and the antifuse 310-a, if the antifuse 310-a is programmed to a closed state, the enable output 320 may remain high. That is, the closed state of the antifuse 310-a (when the antifuse 310-b is still disconnected) may cause the XOR gate 325 to receive a high voltage input from the antifuse 310-a and a low voltage input from the antifuse 310-b, which may generate a high enable output 320. Therefore, the block 330 may be enabled. Alternatively, if antifuse 310-a remains in an open state after address 315 is programmed, antifuse 310-b may be programmed to a closed state. Thus, XOR gate 325 may receive one high voltage input from antifuse 310-b and one low voltage input from antifuse 310-a, which may produce a high enabled output 320. In some cases, the purpose of using this configuration of XOR gates is to reduce the number of antifuses in block 330 (e.g., the block may not use dedicated disable antifuses).

[0043] In some cases, it may be necessary to subsequently disable block 330 after programming address 315 into antifuse 305 and antifuse 310-a. For example, address 315 may be different from the expected address. In order to disable block 330, one of antifuse 310 may be programmed to be closed. That is, to enable block 330, one of antifuse 310 may be programmed to be closed and one of antifuse 310 may be maintained in an open state. To disable block 330, antifuse 310 maintained in an open state may be programmed to be closed. Therefore, XOR gate 325 may receive two high voltage inputs and thus output a low enable output 320 indicating that block 330 has been disabled.

[0044] The antifuse 310 for disabling block 330 can be in a higher reliability configuration compared to other antifuses (e.g., antifuse 305) in block 330. To ensure the correct operation of the memory device, the memory device should be able to reliably disable block 330. Antifuse is a read-only one-time programmable device. Therefore, when block 330 is programmed, the ability to reprogram block 330 is limited. If an error occurs in one of the antifuse associated with address 315 or the antifuse associated with the enable signal, the way to solve the error is to disable the entire block 330 and write the address to a new block. Meaning, if an error occurs in a block, the block is permanently discarded. However, if an error occurs in the disable signal, block 330 can remain enabled and errors can be introduced into the access operation. Therefore, the antifuse associated with disabling block 330 can be in a higher reliability configuration compared to other antifuses that ensure that block 330 can be disabled. Antifuse array 300 may include antifuses having different configurations in a manner that conserves the area occupied by the antifuses because higher reliability antifuses may use more area than lower reliability antifuses.

[0045] When the memory device receives an access command including an address, the controller of the memory device may compare the address from the access command with the address indicated within the enabled block 330 of the antifuse array 300. For example, the controller may apply a voltage to each of the antifuses 310 and monitor the enable output 320 to determine whether the enable output 320 indicates a high voltage (e.g., indicating that the block 330 is enabled) or a low voltage (e.g., indicating that the block 330 is disabled or not enabled). If the controller determines that the block 330 is enabled, the controller may apply a voltage to each of the antifuses 305 and 310 configured to indicate the address 315. The controller may compare each of the output bits (bit '0' to bit '7') with the address included within the access command. If the controller determines that the address 315 is the same as the address within the access command, the controller may access the section or element associated with the block 330 within the repair array. Alternatively, if the controller determines that none of the addresses 315 indicated by the blocks 330 within the antifuse array 300 is identical to the address included within the access command, the controller may access a sector or element within the memory array.

[0046] Antifuse 310-a may be configured to indicate the last bit of address 315 (e.g., bit 7 of address 315) and to indicate (in conjunction with antifuse 310-b and XOR gate 325) that output 320 is enabled. That is, block 330 may include antifuses 305 and 310-a that are configured to indicate address 315 and one additional antifuse 310-b. This configuration may reduce the number of antifuses 305 and 310 within block 330 when compared to a configuration in which each antifuse 305 or 310 within block 330 is configured to indicate address 315 or to enable output 320.

[0047] In some cases, antifuse 305 can be a different configuration than antifuse 310. For example, antifuse 310 can be a higher reliability configuration than antifuse 305. In some cases, antifuse 310 can be larger than antifuse 305, thereby increasing the reliability of antifuse 310 compared to antifuse 305. In some other cases (e.g., see FIG. 1 ), antifuse 310 can be a higher reliability configuration than antifuse 305. Figure 2 In the case described above, antifuses 310 - a and 310 - b may each include more than one antifuse and a logic element (eg, an OR gate). A higher reliability configuration of antifuse 310 may increase the reliability of enable output 320 .

[0048] Figure 4 An antifuse array 400 is illustrated that supports apparatus and techniques for programming antifuses to repair memory devices according to examples disclosed herein. The antifuse array 400 may be a reference Figure 1 The antifuse array 400 may include the antifuse arrays 125 described herein. Figure 1 and2 For example, the antifuse array 400 may include a block 430, which may be a reference Figure 1 The example of block 130 described; and anti-fuses 405 and 410 may be referenced Figure 2 An example of an antifuse 205 or antifuse configuration 200 is depicted.

[0049] The antifuse array 400 may include one or more blocks 430. Each block 430 may correspond to a repair array (eg, reference Figure 1 Each block 430 may include antifuse sets 405 and 410. Antifuse 405 may be configured to store an indication of address 415. For example, a memory array (e.g., reference Figure 1 A segment or element within the memory array 115 described herein may fail. Therefore, data associated with the address of the failed segment or element may be stored in the repair array instead. Block 430 may include an indication of address 415 associated with the data stored at the repair array. That is, if address 415 is an eight-bit address 415, then block 430 may include eight antifuses 405, each of which is configured to indicate one bit of address 415. In some other case, address 415 may include more or fewer bits (e.g., twelve bits, sixteen bits). Here, the block may include a corresponding number of antifuses 405.

[0050] Each of the antifuses 405 can be programmed to indicate an address 415. For example, the antifuses 405 can be maintained in a default open state to indicate a logic value of '0' and programmed to be in a closed state to indicate a logic value of '1'. In this way, each of the outputs 0 to 7 from the antifuses 405-a, 405-b, 405-c, 405-d, 405-e, 405-f, 405-g, and 405-h can be configured to indicate an eight-bit address 415.

[0051] Each block 430 may include one or more antifuses 405-i and 410 configured to indicate the enablement or disablement of the block 430 by an enable output 420 or a disable signal 435. That is, the block 430 may be enabled or disabled. The enabled block 430 may indicate data associated with the address indicated by the block 430, which indicates that the corresponding memory segment of the repair array 120 is replacing the faulty memory segment of the memory array. Additionally or alternatively, the disabled block 430 may indicate that the corresponding memory segment of the repair array is not replacing the faulty segment of the memory array. The memory block 430 may include antifuses 405-i and 410 configured to collectively indicate an enable signal 420 and a disable signal 425. Here, the enable signal 420 may indicate that the block 430 is enabled when the antifuse 405-i is closed, and the disable signal 425 may indicate that the block 430 is disabled when the antifuse 410 is closed.

[0052] In the initial or default state, each of the antifuses 405-i and 410 may be in an open state. Therefore, both the enable signal 420 and the disable signal 425 may output a low voltage indicating that the block 430 is disabled. To enable the block 430, the antifuse 405-i may be programmed (e.g., to generate a closed circuit). To determine whether to enable the block 430, the controller of the memory device may check the output of the enable signal 420. To disable the block 430, the antifuse 410 may be programmed (in a higher reliability configuration) (e.g., to generate a closed circuit). To determine whether to disable the block 430, the controller of the memory device may check the output of the disable signal 425. The determined output of the disable signal 425 may overwrite any output of the enable signal 420. Alternatively, an XOR gate may be used with the antifuse 405-i and the antifuse 410. When the XOR gate is used with the antifuse 405-i and the antifuse 410, the antifuse 405-i may be in a higher reliability configuration. In such embodiments, to enable block 430, antifuse 405-i may be programmed (e.g., closed). Here, antifuse 405-i may output a high voltage and antifuse 410 may output a low voltage, and the output of the XOR gate may be high. In some cases, it may be necessary to subsequently disable block 430. For example, address 415 may be different from the expected address. To disable block 430, antifuse 410 may be programmed (e.g., closed). Thus, the XOR gate may receive two high voltage inputs and thus output a low output indicating that block 430 has been disabled. Because each fuse 405-i and 410 is a higher reliability antifuse, the output of the XOR gate (e.g., indicating the enabling of block 430) may be a higher reliability output when compared to an output that relies on one or more lower reliability antifuses.

[0053] When the memory device receives an access command including an address, the controller of the memory device may compare the address from the access command with the address indicated within the enabled block 430 of the antifuse array 400. For example, the controller may apply a voltage to the antifuse 410 and monitor the disable signal 425 to determine whether the disable signal 425 indicates a high voltage (e.g., indicating that the block 430 is enabled) or a low voltage (e.g., indicating that the block 430 is disabled or not enabled). If the controller determines that the block 430 is enabled, the controller may apply a voltage to each of the antifuses 405 and 410 configured to indicate the address 415. The controller may compare each of the output bits (bit '0' to bit '7') with the address included within the access command. If the controller determines that the address 415 is the same as the address within the access command, the controller may access the section or element associated with the block 430 within the repair array. Alternatively, if the controller determines that none of the addresses 415 indicated by the blocks 430 within the antifuse array 400 are identical to the addresses included within the access command, the controller may access a sector or element within the memory array.

[0054] In some cases, antifuse 405 can be a different configuration than antifuse 410. For example, antifuse 410 can be a higher reliability configuration than antifuse 405. In some cases, antifuse 410 can be larger than antifuse 405, thereby increasing the reliability of antifuse 410 compared to antifuse 405. In some other cases (e.g., see FIG. 1 ), antifuse 410 can be a higher reliability configuration than antifuse 405. Figure 2 In the case described above, the antifuses 410 may each include more than one antifuse and a logic component (e.g., an OR gate). The higher reliability configuration of the antifuse 410 may increase the reliability of the disable signal 425. The increased reliability of the antifuse 410 configured to output the disable signal 425 may allow the block 430 to be disabled with high reliability. This may protect the reliability of the memory device including the antifuse array 400.

[0055] Figure 5 Block diagram 500 of a memory device 505 supporting apparatus and techniques for programming antifuses to repair memory devices according to examples disclosed herein is shown. The memory device 505 may be a memory device such as the one described in reference Figures 1 to 4 An example of aspects of the described memory device. The memory device 505 may include a command interface 510, a comparison manager 515, a replacement manager 520, an access operation manager 525, and an enabling component 530. Each of these modules may communicate with each other (eg, via one or more buses) directly or indirectly.

[0056] The command interface 510 may receive commands from a host system to perform access operations using the memory device, the commands including addresses.

[0057] The comparison manager 515 may compare the address of the command with an address stored in an antifuse array, the antifuse array including a set of blocks indicating whether to replace a second element of the memory array with a first element of the repair array, each block of the antifuse array including a first antifuse set having a lower reliability configuration and a second antifuse set having a higher reliability configuration operable to provide a higher reliability as compared to the lower reliability configuration. In some examples, the comparison manager 515 may use the first antifuse in the higher reliability configuration and the other antifuse sets in the lower reliability configuration to identify a second address of the second element of the memory array being replaced by the first element of the repair array, wherein the comparison of the address of the command with the address stored in the antifuse array is based on identifying the second address.

[0058] Replacement manager 520 may determine, based on the comparison, that the element indicated by the address of the command is replaced with the first element of the repair array.

[0059] The access operation manager 525 may perform an access operation on the first element of the repair array based on determining that the element indicated by the address of the command is replaced with the first element of the repair array.

[0060] The enabling component 530 can determine that one and only one of a first antifuse in a higher reliability configuration and a second antifuse in a higher reliability configuration is activated, wherein a comparison of an address of a command with an address stored in the antifuse array is based on the determination. In some cases, the first antifuse is part of a second address for indicating a second element of the memory array being replaced. Additionally or alternatively, the second antifuse is for indicating whether to enable the first element of the repair array.

[0061] Figure 6 A flowchart illustrating one or more methods 600 supporting apparatus and techniques for programming antifuses to repair memory devices according to examples disclosed herein is shown. The operations of the method 600 may be implemented by a memory device or components thereof as described herein. For example, the operations of the method 600 may be implemented by a memory device or components thereof as described herein. Figure 5 The described memory device performs. In some examples, a memory controller may execute an instruction set to control functional elements of the memory device to perform the described functions. Additionally or alternatively, the memory device may use dedicated hardware to perform aspects of the described functions.

[0062] At 605, the memory device may receive a command from a host system to perform an access operation using the memory device, the command including an address. The operation of 605 may be performed according to the methods described herein. In some examples, aspects of the operation of 605 may be described in detail with reference to Figure 5 The command interface described is implemented.

[0063] At 610, the memory device may compare the address of the command with an address stored in an antifuse array, the antifuse array including a set of blocks indicating whether to replace a second element of the memory array with a first element of the repair array, each block of the antifuse array including a first antifuse set having a lower reliability configuration and a second antifuse set having a higher reliability configuration operable to provide a higher reliability than the lower reliability configuration. The operation of 610 may be performed according to the methods described herein. In some examples, the antifuse array may be configured as described in reference to FIG. Figure 5 Aspects of the operations of the comparison manager execution 610 are described.

[0064] At 615, the memory device may determine, based on the comparison, that the element indicated by the address of the command is replaced with the first element of the repair array. The operation of 615 may be performed according to the methods described herein. In some examples, the operation may be performed as described in reference to Figure 5 Aspects of the operations of replacement manager execution 615 are described.

[0065] At 620, the memory device may perform an access operation on the first element of the repair array based on determining that the element indicated by the address of the command is replaced with the first element of the repair array. The operation of 620 may be performed according to the methods described herein. In some examples, the operation may be performed as described in reference to Figure 5 Aspects of the operations of the access operation manager execution 620 are described.

[0066] In some examples, an apparatus as described herein may perform one or more methods such as method 600. The apparatus may include features, means, or instructions (e.g., a non-transitory computer-readable medium storing instructions executable by a processor) for receiving a command from a host system to perform an access operation using a memory device, the command including an address. The apparatus may further include features, means, or instructions for comparing the address of the command with an address stored in an antifuse array, the antifuse array including a set of blocks indicating whether to replace a second element of a memory array with a first element of a repair array, each block of the antifuse array including a first antifuse set having a lower reliability configuration and a second antifuse set having a higher reliability configuration operable to provide a higher reliability than the lower reliability configuration. The apparatus may further include features, means, or instructions for determining, based on the comparison, that the element indicated by the address of the command is replaced with the first element of the repair array, and based on determining that the element indicated by the address of the command is replaced with the first element of the repair array, performing an access operation on the first element of the repair array.

[0067] Some instances of the method 600 and apparatus described herein may further include operations, features, means, or instructions for determining that one and only one of a first antifuse in a higher reliability configuration and a second antifuse in a higher reliability configuration can be activated, wherein a comparison of an address of a command with an address stored in an antifuse array can be based on the determination.

[0068] In some examples of the methods 600 and apparatus described herein, a first antifuse may be used to indicate a portion of a second address of a second element of a memory array that may be replaced, and a second antifuse may be used to indicate whether repair of the first element of the array may be enabled.

[0069] Some examples of the method 600 and apparatus described herein may further include operations, features, means, or instructions for identifying a second address of a second element of a memory array that is being replaced by a first element of the repair array using a first antifuse in a higher reliability configuration and other sets of antifuses in a lower reliability configuration, wherein a comparison of an address of the command with an address stored in the antifuse array may be based on identifying the second address.

[0070] It should be noted that the methods described herein are possible embodiments, and that the operations and steps may be rearranged or otherwise modified, and that other embodiments are possible. In addition, parts of two or more of the methods may be combined.

[0071] An apparatus is described. The apparatus may include a memory array for storing data associated with a host system; a repair array including elements for replacing faulty elements of the memory array; and an antifuse array including a set of blocks indicating whether a first element of the repair array replaces a second element of the memory array. Each block of the antifuse array may include: a first antifuse set having a lower reliability, each antifuse in the first antifuse set being in a first configuration; and a second antifuse set having a higher reliability, each antifuse in the second antifuse set being in a second configuration operable to provide a higher reliability than the first configuration.

[0072] In some examples, the antifuse array may further include a third antifuse set for indicating an address of the second element of the memory array being replaced by the first element of the repair array, at least one antifuse in the third set being in the first configuration and at least one antifuse in the third set being in the second configuration; and a fourth antifuse set for indicating whether the first element of the repair array can be enabled, at least one antifuse in the fourth set being in the second configuration.

[0073] Some examples of the apparatus may include a logic component coupled to the first antifuse in the third set and the second antifuse in the fourth set, the logic component outputting a signal under circumstances where one and only one of the first antifuse or the second antifuse may be activated. In some cases, the logic component includes an XOR gate. Some instances of the apparatus may include a controller that may determine to enable the first element of the repair array based on the output of the logic component.

[0074] In some cases, the antifuse array may further include a third antifuse set for indicating an address of the second element of the memory array that is being replaced by the first element of the repair array, each antifuse in the third set being in the first configuration; and a fourth antifuse set for indicating whether the first element of the repair array can be enabled, the fourth antifuse set including a first antifuse in the first configuration for enabling the first element and a second antifuse in the second configuration for disabling the first element.

[0075] In some examples, the antifuse in the second configuration may include two or more antifuses in a parallel configuration; and a logic component that outputs a signal when any one of the two or more antifuses can be activated. In some cases, the logic component includes an OR gate.

[0076] In some cases, the antifuse in the first configuration includes a single antifuse. In some examples, the antifuse in the second configuration includes a single antifuse having a higher probability of being activated after receiving an activation pulse than the single antifuse of the first configuration. In some cases, the higher reliability of the antifuse in the second configuration includes a higher probability that the antifuse transitions from a high resistance state to a low resistance state to create a conductive path after receiving an activation pulse.

[0077] Some instances of the apparatus may include a component that compares an address for an access operation received from the host system with an address stored in the antifuse array, wherein a determination of whether to use the first element of the repair array or the second element of the memory array for the access operation may be based on the comparison of the address for the access operation with the address stored in the antifuse array.

[0078] A device is described. The device may include a memory array for storing data associated with a host system; a repair array including elements for replacing faulty elements of the memory array; and an antifuse array including a set of blocks operable to indicate whether a first element of the repair array replaces a second element of the memory array. Each block of the antifuse array may include a first set of antifuses for indicating an address of the second element of the memory array being replaced by the first element of the repair array, the antifuses in the first set being in a lower reliability configuration and the first antifuses in the first set being in a higher reliability configuration operable to provide a higher reliability than the lower reliability configuration; and a second set of antifuses for indicating whether the first element of the repair array is enabled, the second set including second antifuses in the higher reliability configuration.

[0079] Some instances of the apparatus may include a logic component coupled to the first antifuse in the first set and the second antifuse in the second set and operable to output a signal if one and only one of the first antifuse or the second antifuse is activated.

[0080] In some cases, the first element of the repair array is enabled to replace the second element of the repair array while the logic component may be outputting the signal. In some cases, the antifuse in the higher reliability configuration includes two or more antifuses in a parallel configuration; and a second logic component that outputs a second signal if any one of the two or more antifuses is activated. The antifuse in the lower reliability configuration may include a single antifuse.

[0081] The information and signals described herein may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof. Some diagrams may show a signal as a single signal; however, one of ordinary skill in the art will understand that the signal may represent a signal bus, where the bus may have a variety of bit widths.

[0082] As used herein, the term "virtual ground" refers to a circuit node that is maintained at a voltage of approximately zero volts (0V) without being directly coupled to ground. Therefore, the voltage of the virtual ground may temporarily fluctuate and return to approximately 0V in a stable state. Virtual grounding can be implemented using various electronic circuit elements such as a voltage divider consisting of an operational amplifier and a resistor. Other embodiments are also possible. "Virtual ground" or "virtual ground" refers to connecting to approximately 0V.

[0083] The devices discussed herein, including memory arrays, may be formed on semiconductor substrates such as silicon, germanium, silicon-germanium alloys, gallium arsenide, gallium nitride, etc. In some cases, the substrate is a semiconductor wafer. In other cases, the substrate may be a silicon-on-insulator (SOI) substrate, such as silicon-on-glass (SOG) or silicon-on-sapphire (SOP), or an epitaxial layer of semiconductor material on another substrate. The conductivity of the substrate or a sub-region of the substrate may be controlled by doping using various chemical species including, but not limited to, phosphorus, boron, or arsenic. Doping may be performed during the initial formation or growth of the substrate, by ion implantation, or by any other doping method.

[0084] The switch component or transistor discussed herein may represent a field effect transistor (FET) and include a three-terminal device including a source, a drain, and a gate. The terminals may be connected to other electronic components by a conductive material such as a metal. The source and drain may be conductive and may include a heavily doped (e.g., degenerate) semiconductor region. The source and drain may be separated by a lightly doped semiconductor region or channel. If the channel is n-type (i.e., most carriers are signals), the FET may be referred to as an n-type FET. If the channel is p-type (i.e., most carriers are holes), the FET may be referred to as a p-type FET. The channel may be terminated by an insulating gate oxide. Channel conductivity may be controlled by applying a voltage to the gate. For example, applying a positive voltage or a negative voltage to an n-type FET or a p-type FET, respectively, may cause the channel to become conductive. When a voltage greater than or equal to the threshold voltage of the transistor is applied to the transistor gate, the transistor may be "turned on" or "activated". When a voltage less than the threshold voltage of the transistor is applied to the transistor gate, the transistor may be "turned off" or "deactivated".

[0085] The description set forth herein in conjunction with the accompanying drawings describes example configurations and does not represent all examples that may be implemented or within the scope of the claims. The term "exemplary" as used herein means "serving as an example, instance, or illustration" and is not "preferred to" or "superior to" other examples. The specific implementation includes specific details that provide an understanding of the described technology. However, these technologies may be practiced without these specific details. In some cases, well-known structures and devices are shown in block diagram form to avoid obscuring the concepts of the described examples.

[0086] In the drawings, similar components or features may have the same reference label. In addition, various components of the same type may be distinguished by following the reference label with a dashed line and a second label that distinguishes among similar components. If only the first reference label is used in the specification, the description applies to any of the similar components having the same first reference label regardless of the second reference label.

[0087] The various illustrative logical blocks and modules described herein in conjunction with the present disclosure may be implemented or executed using a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).

[0088] The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored as one or more instructions or codes on a computer-readable medium or transmitted via a computer-readable medium. Other examples and embodiments are within the scope of the present disclosure and the appended claims. For example, due to the nature of the software, the functions described herein may be implemented using software, hardware, firmware, hard wiring, or any combination of these executed by a processor. The features of the implementation functions may also be physically located at various locations, including being distributed so that the various parts of the functions are implemented at different physical locations. In addition, as used herein (included in the claims), as used in a list of items (e.g., a list of items with a phrase such as "at least one of" or "one or more of"), "or" indicates a list containing endpoints, such that a list of at least one of A, B, or C means A or B or C or AB or AC or BC or ABC (i.e., A and B and C). In addition, as used herein, the phrase "based on" should not be understood as referring to a closed conditional set. For example, without departing from the scope of the present disclosure, an exemplary step described as "based on condition A" may be based on both condition A and condition B. In other words, as used herein, the phrase "based on" should be equally interpreted as the phrase "based at least in part on."

[0089] The description herein is provided to enable those skilled in the art to make or use the present disclosure. Various modifications to the present disclosure will be apparent to those skilled in the art, and the general principles defined herein may be applied to other variations without departing from the scope of the present disclosure. Therefore, the present disclosure is not limited to the examples and designs described herein, but is given the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A device comprising: a memory array for storing data associated with a host system; a repair array comprising elements for replacing faulty elements of said memory array; and An antifuse array comprising a plurality of blocks operable to indicate whether a first element of the repair array replaces a second element of the memory array, each block of the antifuse array comprising: a first set of antifuses having a lower reliability, each antifuse in the first set of antifuses being in a first configuration; a second set of antifuses having a higher reliability, each antifuse in the second set of antifuses being in a second configuration operable to provide a higher reliability as compared to the first configuration; a third set of antifuses for indicating an address of the second element of the memory array being replaced by the first element of the repair array, at least one antifuse in the third set of antifuses being in the first configuration and at least one antifuse in the third set of antifuses being in the second configuration; and A fourth antifuse set is used to indicate whether the first element of the repair array is enabled, at least one antifuse in the fourth antifuse set being in the second configuration.

2. The apparatus according to claim 1, further comprising: A logic component is coupled to the first antifuse in the third antifuse set and the second antifuse in the fourth antifuse set, the logic component being operable to output a signal if one and only one of the first antifuse or the second antifuse is activated.

3. The apparatus of claim 2 , wherein the logic component comprises an XOR gate.

4. The apparatus according to claim 2, further comprising: A controller determines to enable the first element of the repair array based at least in part on the output of the logic component.

5. A device comprising: a memory array for storing data associated with a host system; a repair array comprising elements for replacing faulty elements of said memory array; and An antifuse array comprising a plurality of blocks operable to indicate whether a first element of the repair array replaces a second element of the memory array, each block of the antifuse array comprising: a first set of antifuses having a lower reliability, each antifuse in the first set of antifuses being in a first configuration; a second set of antifuses having a higher reliability, each antifuse in the second set of antifuses being in a second configuration operable to provide a higher reliability as compared to the first configuration; a third set of antifuses for indicating an address of the second element of the memory array being replaced by the first element of the repair array, each antifuse in the third set of antifuses being in the first configuration; and A fourth antifuse set is used to indicate whether the first element of the repair array is enabled, the fourth antifuse set comprising a first antifuse in the first configuration for enabling the first element and a second antifuse in the second configuration for disabling the first element.

6. The apparatus of claim 5, wherein the antifuse in the second configuration comprises: two or more antifuses in a parallel configuration; and A logic component that outputs a signal if any one of the two or more antifuses is activated.

7. The apparatus of claim 6, wherein the logic component comprises an OR gate.

8. The apparatus of claim 5, wherein the antifuse in the first configuration comprises a single antifuse.

9. The apparatus of claim 5, wherein the antifuses in the second configuration include a single antifuse having a higher probability of being activated after receiving an activation pulse than the single antifuse in the first configuration.

10. The apparatus of claim 5, wherein the higher reliability of the antifuse in the second configuration comprises a higher probability that the antifuse transitions from a high resistance state to a low resistance state to create a conductive path after receiving an activation pulse.

11. The apparatus of claim 5, further comprising: A component that compares an address for an access operation received from the host system with an address stored in the antifuse array, wherein a determination of whether to use the first element of the repair array or the second element of the memory array for the access operation is based at least in part on the comparison of the address for the access operation with the address stored in the antifuse array.

12. A method comprising: receiving a command from a host system to perform an access operation using a memory device, the command including an address; determining that one and only one of a first antifuse in a higher reliability configuration and a second antifuse in the higher reliability configuration is activated; comparing the address of the command to an address stored in an antifuse array, the antifuse array comprising a plurality of blocks indicating whether to replace a second element of a memory array with a first element of a repair array, each block of the antifuse array comprising a first set of antifuses having a lower reliability configuration and a second set of antifuses having a higher reliability configuration operable to provide a higher reliability than the lower reliability configuration, wherein the comparison of the address of the command to the address stored in the antifuse array is based at least in part on the determination, and wherein the first antifuse is a portion of a second address indicating the second element of the memory array being replaced and the second antifuse is a portion of a second address indicating whether the first element of the repair array is enabled; determining, based at least in part on the comparison, that an element indicated by the address of the command is to be replaced with the first element of the repair array; and Based at least in part on determining that the element indicated by the address of the command is replaced with the first element of the repair array, the access operation is performed on the first element of the repair array.

13. The method according to claim 12, further comprising: The second address of the second element of the memory array being replaced by the first element of the repair array is identified using the first antifuse in the higher reliability configuration and the plurality of other antifuses in the lower reliability configuration, wherein a comparison of the address of the command with the addresses stored in the antifuse array is based at least in part on identifying the second address.

14. An apparatus comprising: a memory array for storing data associated with a host system; a repair array comprising elements for replacing faulty elements of said memory array; and An antifuse array comprising a plurality of blocks operable to indicate whether a first element of the repair array replaces a second element of the memory array, each block of the antifuse array comprising: a first antifuse set for indicating an address of the second element of the memory array being replaced by the first element of the repair array, a plurality of antifuses in the first antifuse set being in a lower reliability configuration and a first antifuse in the first antifuse set being in a higher reliability configuration operable to provide a higher reliability than the lower reliability configuration; and A second antifuse set is used to indicate whether the first element of the repair array is enabled, the second antifuse set including second antifuses in the higher reliability configuration.

15. The apparatus of claim 14, further comprising: A logic component is coupled to the first antifuse in the first antifuse set and the second antifuse in the second antifuse set and is operable to output a signal if one and only one of the first antifuse or the second antifuse is activated.

16. The apparatus of claim 15, wherein when the logic component is outputting the signal, the first element of the repair array is enabled to replace the second element of the repair array.

17. The apparatus of claim 15, wherein: The antifuse in the higher reliability configuration includes: two or more antifuses in a parallel configuration; and a second logic component that outputs a second signal if any one of the two or more antifuses is activated; and The antifuse in the lower reliability configuration includes a single antifuse.

Citation Information

Patent Citations

  • Anti-fuse circuit of semiconductor integrated circuit

    KR1020120011148A

  • Post package repairing method, method of preventing multiple activation of spare word lines, and semiconductor memory device including fuse programming circuit

    US20140078842A1