Memory column redundancy and localized column redundancy control signals

Abstract: A memory (20) has a plurality of columns of memory cells and has a plurality of redundant columns of memory cells. A comparator (45) detects an access to a defective column. A redundant write generator (31) and write fuses (32) are provided for each write portion (30A, 30B, 30C, and 30D) to replace the defective column with a redundant column by replacing a write global data line (37) with a redundant write global data line (39). Redundant read generators (60 and 61) and read fuses (59) are provided for each read portion (50A, 50B, 50C, and 50D) to replace a defective column by deselecting a read global data line (29) and replacing it with a redundant read global data line (44). The fuses and redundant generators are located close to their global data lines, thus reducing the routing of control signals and improving the access time of redundant columns.

Description: Field of the Invention This invention relates generally to integrated circuit memories, and more particularly, to integrated circuit memories which have column redundancy. Background of the Invention An integrated circuit memory is generally implemented as an array of memory cells in a plurality of rows and columns. Memory cells are addressable through row and column decoders. Data is then written into, or read from, the addressed memory cells. Also, an integrated circuit memory may be subdivided into blocks of memory cells which are addressed by block decoding. A plurality of blocks may be grouped into arrays of blocks with a memory containing one or more arrays. As the memory storage capacity of integrated circuit memories increases, the possibility of having manufacturing defects in the rows and columns increases. And this results in a decrease in production yields. One way to increase production yields in large integrated circuit memories is column and row redundancy. In an integrated circuit memory with redundancy, a manufacturing defect in a particular row can be cured by using a redundant row in place of the defective row. Likewise, a defect in a particular column can be cured by using a redundant column to replace the defective column. To implement column and row redundancy, redundant control logic and redundant read/write data paths are also required. In order to repair a defective row or column, the defective row or column is deselected and a redundant row or column is assigned in its place by blowing a fusible link. The fusible link may be blown using a high-energy laser, or may be blown electrically at probe test. The ability to repair a memory that has only a few defective rows or columns can result in substantially increased manufacturing yields. Some integrated circuit memories which use a technique known as the revolutionary pinout has input/output circuitry on both sides of the array of the memory cells allowing for shorter data paths and faster access times. Also, integrated circuit memories using the revolutionary pinout technique have power and ground pins on the sides of the package, whereas integrated circuit memories using the conventional pinout technique have power and ground pins on the corners. A problem that has arisen with redundancy in memories that use the revolutionary pinout is that the access time of the redundant memory array may be slower than the access time of the main memory. This is because the redundant read/write control logic is centralized, thus requiring global redundant control signals to travel longer distances to reach the separated input/output circuitry. This problem becomes worse as the number of memory cells on an integrated circuit memory becomes very large. Another problem associated with redundancy is increased die width due to the redundant read/write control signals crossing the array area. In order for the die to fit into the standard SOJ/FLAT package, the die width must not exceed a maximum value. Thus the die width of larger memories may become a critical factor. From U. S. patent no. 4,807,191 there is known a block architecture memory having two stacks of memory blocks, with a redundant block of columns of memory cells being located at the bottom of each stack of memory blocks. Summary of the Invention Accordingly, there is provided, a memory as claimed in claim 1. Brief Description of the Drawings FIG. 1 shows a block diagram of a memory with column redundancy in accordance with one embodiment of the present invention; FIG. 2 depicts a block diagram of a portion of the redundant write path of the memory in FIG. 1; FIG. 3 depicts a block diagram of the bottom portions of the redundant read path of the memory in FIG. 1; FIG. 4 illustrates a block diagram of the write fuses of the bottom left write portion of FIG. 2; FIG. 5 illustrates a block diagram of the read fuses of the bottom left read portion of FIG. 3; FIG. 6 illustrates in partial schematic form and partial logic diagram form a write fuse circuit of the write fuses of FIG. 4; and FIG. 7 shows a block diagram of a programmable comparator block. Description of the Preferred Embodiment FIG. 1 shows a block diagram of a memory 20 with column redundancy in accordance with one embodiment of the present invention. Some of the input/output circuitry and control signals have been omitted from FIG. 1 and will be illustrated later. Also, address buffers and predecoders are not shown. Memory 20 includes a left array of memory cells 21, a right array of memory cells 22, a left redundant array of memory cells 23 at the bottom of the left array 21, and a right redundant array of memory cells 24 at the bottom of right array 22. Memory 20 also includes a bottom left write portion 30A, a top left write portion 30B, a top right write portion 30C, a bottom right write portion 30D, a bottom left read portion 50A, a top left read portion 50B, a top right read portion 50C, and a bottom right read portion 50D. Finally, memory 20 has write JDEC fuses 32, 25, 87, and 88, and read JDEC fuses 59, 85, 86, and 80. Left array 21 and right array 22 are each divided into 16 sub-arrays or blocks. Bottom left write portion 30A receives a plurality of predecoded column address signals labelled "COLUMN ADDRESS", and receives input data corresponding to external data provided as differential signal pairs labelled "DATA IN A". In response, write portion 30A provides four differential signal pairs to left array 21 via four write global data line pairs 37 and two differential signal pairs to left redundant array 23 via two redundant write global data line pairs 39. Top left write portion 30B receives COLUMN ADDRESS and input data provided as differential signal pairs corresponding to external data labelled "DATA IN B". In response, write portion 30B provides four differential signal pairs to left array 21 via four write global data line pairs 41 and two differential signal pairs to left redundant array 23 via two redundant write global data line pairs 26. Top right write portion 30C receives COLUMN ADDRESS and input data provided as differential signal pairs corresponding to external data labelled "DATA IN B". In response, write portion 30C provides four differential signal pairs to right array 22 via four write global data line pairs 42 and two differential signal pairs to right redundant array 24 via two redundant write global data line pairs 27. Bottom right write portion 30D receives COLUMN ADDRESS and input data provided as differential signal pairs corresponding to external data labelled "DATA IN A". In response, write portion 30D provides four differential signal pairs to right array 22 via four write global data line pairs 43 and to differential signal pairs to right redundant array 24 via two redundant write global data line pairs 28. Bottom left read portion 50A receives COLUMN ADDRESS and receives two differential signal pairs corresponding to data from left array 21 or right array 22 via two of the read global data line pairs 29. Read portion 50A also receives data from left redundant array 23 and right redundant array 24 via redundant read global data line pairs 44. In response, read portion 50A provides two corresponding data signals labelled "DATA OUT A". Top left read portion 50B receives COLUMN ADDRESS and receives a two differential signal pairs corresponding to data from left array 21 or right array 22 via two of the read global data line pairs 29. Read portion 50B also receives data from left redundant array 23 and right redundant array 24 via redundant read global data line pairs 44. In response, read portion 50B provides two corresponding logic signals labelled "DATA OUT B". Top right read portion 50C receives COLUMN ADDRESS and receives two differential signal pairs corresponding to data from left array 21 or right array 22 via two of the read global data line pairs 29. Read portion 50C also receives data from left redundant array 23 and right redundant array 24 via redundant read global data line pairs 44. In response, read portion 50C provides two corresponding logic signals labelled "DATA OUT C". Bottom right read portion 50D receives COLUMN ADDRESS and receives four differential signal pairs corresponding to data from left array 21 or right array 22 via two of the read global data line pairs 29. Read portion 50D also receives data left redundant array 23 and right redundant array 24 via redundant read global data line pairs 44. In response, read portion 50D provides two corresponding logic signals labelled "DATA OUT D". Note that DATA IN A, DATA IN B, DATA OUT A, DATA OUT B, DATA OUT C, AND DATA OUT D connect to output buffers and bonding pads (not shown). The redundant read/write operation of memory 20 will be discussed below. Memory 20 is configurable for a data organization, or word width of X1, X4, or X8, and has separate data paths for reading data from memory and for writing data into memory. Each write portion 30A, 30B, 30C, and 30D is capable of writing four bits of data into memory 20 during a single write cycle, also called write mode. However, only two of the write portions are selected during a single write cycle. Each read portion 50A, 50B, 50C, and 50D may read two bits of data from memory 20 during a single read cycle, or read mode. All four read portions may be selected to read data during a single read cycle. As an example, if the data organization of memory 20 is X8, write portions 30A and 30B may write data into left array 21 or write portions 30C and 30D may write data into right array 22 during a single write cycle, depending on which write portions are selected. All four read portions 50A, 50B, 50C, and 50D may be used to read data from left array 21 or from right array 22 during a single read cycle. If the data organization of memory 20 is X4, two write portions and all four read portions are used during a single write or read cycle as described for the X8 data organization, but only two bits of data are written into each of the selected write portions and only one bit is read from a read portion. If the data organization of memory 20 is X1, only one bit of data is received or provided at a time. Therefore, for a X1 data organization, only one write portion is required and only one read portion is required for a single write or read cycle. Note that FIG. 1 depicts the relative physical locations of write portions 30A, 30B, 30C, and 30D and read portions 50A, 50B, 50C, and 50D in relation to left array 21 and right array 22. Write global data line pairs 37 and 41 are routed down the left side of left array 21 and write global data line pairs 42 and 43 are routed down the right side of right array 22. Read global data line pairs 29 are routed between left array 21 and right array 22. Memory 20 uses the revolutionary pinout technique with this arrangement to reduce the length of the data paths and to improve access time. If the data organization of memory 20 is X8, write portions 30A and 30D both receive four data signals DATA IN A corresponding to external data from the same four pins. Read portion 50A provides two data signals DATA OUT A and read portion 50D provides two data signals DATA OUT D, which can be provided to the same four pins as DATA IN A, or they can be provided to separate pins. The same is true for write portions 30B and 30C and read portions 50B and 50C. A X4 data organization would have the same data in/data out arrangement as the X8, except that half of the number of data signals are used. A X1 data organization has one pin for receiving external data and a separate pin for providing data. FIG. 2 depicts a block diagram of bottom left write portion 30A of memory 20. The structure of top left write portion 30B, top right write portion 30C, and bottom right write portion 30D are identical to bottom left write portion 30A. Bottom left write portion 30A includes redundant write generator 31, data multiplexer 34, redundant data multiplexer 35, write drivers 36, redundant write drivers 38, write global data line pairs 37, and redundant write global data line pairs 39. Write global data line pairs 37 include write global data line pairs 37A, 37B, 37C, and 37D. Redundant write global data line pairs 39 include redundant write global data line pairs 39A and 39B. Write JDEC fuses 32 is connected to redundant data multiplexer 35 and redundant write generator 31. Each of the four write global data line pairs 37A, 37B, 37C, and 37D is connected to a plurality of columns in left array 21. Redundant write global data line pair 39A is connected to redundant column set 53 in left redundant array 23. Redundant write global data line pair 39B is connected to redundant column set 54 in left redundant array 23. Therefore, in the illustrated embodiment, only two sets of redundant columns 23 are connected to bottom left write portion 30A. Redundant column sets 51 and 52 are connected to top left write portion 30B via redundant global data line pairs 26. In other embodiments, a different number of sets of redundant columns can be included in redundant arrays 23 and 24. Write drivers 36 receive column address signals COLUMN ADDRESS. Data multiplexer 34 and redundant data multiplexer 35 both receive DATA IN A. Redundant write generator 31 receives eight DC logic signals from write JDEC fuses 32 and receives control signals CGRZ 53 and CGRZ 54 . Redundant write generator 31 provides a redundant write enable signal labelled " WGR " to deselect a write driver of write drivers 36 when data is to be written into redundant column set 53 or 54. Write JDEC fuses 32 provide static, DC logic signals because they provide for more relaxed timing for control signals CGRZ 53 and CGRZ 54 during a write cycle. FIG. 3 depicts a block diagram of bottom left read portion 50A and bottom right read portion 50D of memory 20. The structures of read portions 50B and 50C are identical to read portions 50A and 50D. Bottom left read portion 50A includes redundant read generator 60, redundant read generator 61, output data multiplexer 62 labelled "OUTPUT MUX", and output data multiplexer 63 labelled "OUTPUT MUX". Bottom right read portion 50D includes redundant read generator 81, redundant read generator 82, output data multiplexer 83 labelled "OUTPUT MUX", and output data multiplexer 84 labelled "OUTPUT MUX". Redundant array 23 includes redundant column sets 51, 52, 53, and 54, as previously illustrated, and local column decoders 66, 67, 68, and 69. Redundant array 24 includes redundant column sets 55, 56, 57, and 58, and local column decoders 70, 71, 72, and 73. Read JDEC fuses 59 is connected to redundant read generators 60 and 61. Read JDEC fuses 80 is connected to redundant read generators 81 and 82. Read global data line pairs 29 connects read portions 50A, 50B, 50C, and 50D to both left array 21 and right array 22. Redundant read global data line pairs 44 includes connectors 78 and 79. Redundant read global data line pairs 44 connects left redundant array 23 and right redundant array 24 to read portions 50A, 50B, 50C, and 50D. Each set of redundant columns 51 - 58 is arranged in groups of four contiguous columns. Any of the sets of redundant columns 51, 52, 53, or 54 in left redundant array 23 can replace four contiguous columns in left array 21. And any of the sets of redundant columns 55, 56, 57, or 58 in right redundant array 24 can replace four contiguous columns in right array 22. When any defective column is to be replaced, three other adjacent columns are replaced as well as the identified defective column. This results in four contiguous columns in left array 21 or right array 22 being replaced by four contiguous columns in redundant column array 23 or 24. In other embodiments, a set of redundant columns can include more or less than four contiguous columns. Local column decoder 66 is connected between redundant column set 51 and redundant sense amplifier 65 and receives a control signal labelled "CGRT 51 ". Local column decoder 67 is coupled between redundant column set 52 and redundant sense amplifier 65 and receives control signal CGRT 52 . Local column decoder 68 is coupled between redundant column set 53 and redundant sense amplifier 64 and receives control signal CGRZ 53 . Local column decoder 69 is coupled between redundant column set 54 and redundant sense amplifier 64 and receives control signal CGRZ 54 . Local column decoder 70 is coupled between redundant column set 55 and redundant sense amplifier 65 and receives control signal CGRT 55 . Local column decoder 71 is coupled between redundant column set 56 and redundant sense amplifier 65 and receives control signal CGRT 56 . Local column decoder 72 is coupled between redundant columns 57 and redundant sense amplifier 64 and receives control signal CGRZ 57 . Local column decoder 73 is coupled between redundant column set 58 and redundant sense amplifier 64 and receives control signal CGRZ 58 . Note that the letter "T" in the control signal name simply means that the control signal goes to the top read and write portions, and the letter "Z" simply means that the control signal goes to the bottom read and write portions. Memory 20 may be designed to include additional redundant sense amplifiers and sets of redundant columns. Local column decoders 66 - 73 function to selectively couple a set of redundant columns 51 - 58 to redundant sense amplifier 64 or 65. Redundant sense amplifiers 64 and 65 couple data provided by a selected set of redundant columns to redundant read global data line pairs 44. Redundant read global data line pairs 44 carry data from redundant sense amplifiers 64 and 65 to data output multiplexers 62, 63, 83, and 84 of bottom read portions 50A and 50D, respectively. Data output multiplexers 62, 63, 83, and 84 receive data from both read global data line pairs 29 and redundant read global data line pairs 44. Data output multiplexers 62 and 63 provide DATA OUT A. Data output multiplexers 83 and 84 provide DATA OUT D. Redundant read generators 60 and 61 receive one of the control signals CGRZ 52 , CGRZ 54 , CGRZ 57 , or CGRZ 58 . Redundant read generators 60 and 61 also receive DC logic signals from read JDEC fuses 59 and provide enable signals labelled "\X\TO(RGR) 62 " and" RGR 63 " to data output multiplexers 62 and 63, respectively. When enable signal RGR 62 is received by data output multiplexer 62, data is read from one of redundant column sets 53, 54, 57, or 58 instead of from a defective column during a read cycle of memory 20. For example, to read data from redundant column set 53, local column decoder 68 receives control signal CGRZ 53 . This causes data to be received by redundant sense amplifier 64, which then directs the data to redundant read global data line pairs 44. Redundant read generator 60 receives control signal CGRZ 53 and also DC logic signals from read JDEC fuses 59. As a result, enable signal RGR 62 is provided to data output multiplexer 62 which causes data output multiplexer 62 to read data from redundant read global data line pairs 44 instead of from read global data line pairs 29. Either connector 78 or 79 is installed during the manufacturing process when the last metal layer is deposited in order to configure the data organization of memory 20. Connector 79 is used to provide a connection between redundant sense amplifier 65 and read portions 50B and 50C when configuring memory 20 for a X8 or X4 data organization. Connector 78 is not installed for a X8 or X4 data organization in order to separate redundant sense amplifier 64 from read portions 50B and 50C. Read portions 50A and 50D will only read data from redundant column sets 53, 54, 57, and 58, and read portions 50B and 50C will only read from redundant column sets 51, 52, 55, and 56. If the desired data organization of memory 20 is X1, connector 78 is installed instead of connector 79 to allow a read portion 50A or 50D to read data from any of the redundant columns, since only one read portion is needed for a X1 data organization. By separating the redundant read/write control logic into individual units and locating these units close to their respective read and write portions, the need to route redundant control signals across the integrated circuit memory is reduced. This allows for smaller transistor sizes and shorter propagation delays, thereby improving access time of the redundant columns and reducing the amount of surface area on the integrated circuit used for column redundancy. FIG. 4 illustrates a block diagram of write JDEC fuses 32 of bottom left write portion 30A of FIG. 2. Write JDEC fuses 32 includes eight fuse circuits 90, 91, 92, 93, 94, 95, 96, and 97. Fuse circuit 90 provides a DC logic signal labelled "WJ 53 M 37A ". Fuse circuit 91 provides a DC logic signal labelled "WJ 54 M 37A ". Fuse circuit 92 provides a DC logic signal labelled "WJ 53 M 37B ". Fuse circuit 93 provides a DC logic signal labelled "WJ 54 M 37B ". Fuse circuit 94 provides a DC logic signal labelled "WJ 53 M 37C ". Fuse circuit 95 provides a DC logic signal labelled "WJ 54 M 37C ". Fuse circuit 96 provides a DC logic signal labelled "WJ 53 M 37D ". Fuse circuit 97 provides a DC logic signal labelled "WJ 54 M 37D ". Redundant write generator 31, and redundant data multiplexer 35 (shown in FIG. 2) each receive all eight of these DC logic signals from write JDEC fuses 32. Each fuse circuit 90 - 97 has a fusible link that can be blown with a laser. As an example, if the fusible link of fuse circuit 90 is blown, then WJ 53 M 37A will be a logic high DC signal. If the fusible link of fuse circuit 90 is not blown, then WJ 53 M 37A will be a logic low. Write JDEC fuses 32 can therefore be used to permanently store which redundant column is to replace a defective column. Each fuse circuit of write JDEC fuses 32 is used to assign a particular redundant column to a particular set of write global data line pairs. In the embodiment shown in FIG. 2, write JDEC fuses 32 are used to link redundant column sets 53 and 54 to write global data line pairs 37A, 37B, 37C, and 37D. Referring now to both FIG. 2 and FIG. 4, if redundant write generator 31 receives both control signal CGRZ 53 and a logic high DC signal WJ 53 M 37A from write JDEC fuses 32, redundant write generator 31 will provide enable signal WGR to a write driver of write drivers 36 indicating that the addressed column from left array 21 is defective. Control signal CGRZ 53 is also received by redundant write drivers 38 and data intended for a defective column on write global data line pair 37A would instead be written on redundant column set 53 via redundant global data line 39A. Likewise, if there is a defective column in left array 21 that is coupled to write global data line 37B, redundant column set 54 may be substituted for the defective column and adjacent columns by blowing the fusible link in fuse circuit 93 to cause DC signal WJ 54 M 37B to be a logic high. Write JDEC fuses are used to write data into redundant column sets and read JDEC fuses are used to retrieve data from redundant column sets. Since there are two redundant column sets 53 and 54 associated with bottom left write portion 30A, and four write global data line pairs 37A -37D, eight fuse circuits are required in write JDEC fuses 32 to include all of the possible combinations of redundant write global date line pairs 39 with write global data line pairs 37. FIG. 5 illustrates a block diagram of read JDEC fuses 59 of bottom left read portion 50A. Read JDEC fuses 59 includes eight fuse circuits 110, 111, 112, 113, 114, 115, 116, and 117. Read JDEC fuses 59 provides eight DC signals to redundant read generator 60 and 61. Fuse circuit 110 provides a DC logic signal labelled "RJ 53 M 62 ". Fuse circuit 111 provides a DC logic signal labelled "RJ 54 M 62 ". Fuse circuit 112 provides a DC logic signal labelled "RJ 57 M 62 ". Fuse circuit 113 provides a DC logic signal labelled "RJ 58 M 62 ". Fuse circuit 114 provides a DC logic signal labelled "RJ 53 M 63 ". Fuse circuit 115 provides a DC logic signal labelled "RJ 54 M 63 ". Fuse circuit 116 provides a DC logic signal labelled "RJ 57 M 63 ". Fuse circuit 117 provides a DC logic signal labelled "RJ 58 M 63 ". DC logic signals from fuse circuits 110, 111, 112, and 113 are received by redundant read generator 60 and DC logic signals from fuse circuits 114, 115, 116, and 117 are received by redundant read generator 61. Each fuse circuit 110 - 117 has a fusible link that can be blown with a high energy laser. Read JDEC fuses 59 function in the same way as write JDEC fuses 32. If the fusible link of fuse circuit 110 is blown, then DC signal RJ 53 M 62 will be provided as a logic high. If the fusible link of fuse circuit 110 is not blown, then DC signal RJ 53 M 62 will be a logic low. Read JDEC fuses 59 can therefore be used to permanently store information as to which redundant column is to replace a defective column during a read cycle. For example, in the embodiment shown in FIG. 3, read JDEC fuses 59 are used to link a redundant column set 53, 54, 57, or 58 to either of data output multiplexers 62 or 63. Referring now to both FIG. 3 and FIG. 5, if while memory 20 is in read mode, redundant read generator 60 receives a logic high DC signal RJ 53 M 62 from read JDEC fuses 59, and also receives control signal CGRZ 53 , then enable signal RGR 62 will be provided by redundant read generator 60 to output multiplexer 62, preventing output multiplexer 62 from receiving data from read global data line pairs 29. At the same time, control signal CGRZ 53 is also received by local column decoder 68 allowing data to be received by redundant sense amplifier 64 from redundant column set 53. Output multiplexer 62 then receives the data from redundant read global data line pairs 44. If a read portion is not used because of the particular data organization, then the read JDEC fuses that are associated with those portions are not used. For example, if the word width is X8, then all fuse circuits of the read JDEC fuses are used because all of the read portions are used. But if the word width is X4, only half of each read portion is used. All write JDEC fuses may be used independent of the data organization. This feature makes the column redundancy easily configurable for different word widths during fabrication of memory 20. FIG. 6 illustrates in partial schematic form and partial logic diagram form a fuse circuit 90 of write JDEC fuses 32. Fuse circuits 110 - 117 of read JDEC fuses 59 are identical to fuse circuit 90. Fuse circuit 90 includes fusible link 101, N-channel transistors 102, 103, and 104, and inverter 105. Fusible link 101 has a first terminal coupled to a first power supply voltage terminal labelled "V DD " and a second terminal connected to a node labelled "N1". Transistor 102 has a first current electrode coupled to the second terminal of fusible link 101, a second current electrode connected to N1, and a control electrode for receiving a control signal labelled "N BIAS ". Transistor 103 has a first current electrode coupled to the second current electrode of transistor 102, a second current electrode coupled to a second power supply voltage terminal labelled "V SS ", and a control electrode coupled to the control electrode of transistor 102 and for receiving N BIAS . Transistor 104 has a first current electrode coupled to the second terminal of fusible link 101 at node N1, a second terminal coupled to V SS , and a control electrode. Inverter 105 has a first terminal coupled to the second terminal of fusible link 101 at node N1 and a second terminal coupled to the control electrode of transistor 104 and providing DC signal WJ 53 M 37A . In the present embodiment, V DD is approximately 5.0 volts above V SS and N BIAS is approximately 2.0 volts above V SS . Before fusible link 101 is blown, a current path exists between V DD and node N1. Transistors 102 and 103 are both driven into saturation by N BIAS , thereby providing constant current sources which cause a constant DC current to flow through fusible link 101 and transistors 102 and 103. Transistors 102 and 103 are sized very small and are much more resistive then fusible link 101, causing the voltage at node N1 to be substantially V DD . Since N1 is being held at a logic high, DC signal WJ 53 M 37A is at a logic low. N-channel transistor 104 is nonconductive because the voltage at the control electrode of transistor 104 is a logic low. When fusible link 101 is blown, the current path through fusible link 101 and transistors 102 and 103 is broken. Transistors 102 and 103 pull the voltage at N1 down to substantially V SS , and inverter 105 causes WJ 53 M 37A to become a logic high. Transistor 104 becomes conductive and is sized to be a strong pulldown, thereby latching inverter 105 at a logic high and insuring that DC signal WJ 53 M 37A stays at a logic high. In another embodiment, fuse circuit 90 can be changed by replacing series transistors 102 and 103 with a single transistor to serve as the constant current source. Shown in FIG. 7 is a block diagram of programmable comparator block 45. Programmable comparator block 45 includes comparators 200, 201, 202, 203, 204, 205, 206, and 207, and address fuses 300, 301, 302, 303, 304, 305, 306, and 307. If memory 20 has a data organization of X1, comparator 200 is coupled to address fuses 300, receives column address signals A12, A13, A14, A15, A16, A17, A18, A19, and A3, and provides control signal CGRT 51 . Comparator 201 is coupled to address fuses 301, receives address signals A12, A13, A14, A15, A16, A17, A18, A19, and A3, and provides control signal CGRT 52 . Comparator 202 is coupled to address fuses 302, receives address signals A12, A13, A14, A15, A16, A17, A18, A19, and A3, and provides control signal CGRT 55 . Comparator 203 is coupled to address fuses 303, receives address signals A12, A13, A14, A15, A16, A17, A18, A19, and A3, and provides control signal CGRT 56 . Comparator 204 is coupled to address fuses 304, receives address signals A12, A13, A14, A15, A16, A17, A18, A19, and A3, and provides control signal CGRZ 53 . Comparator 205 is coupled to address fuses 305, receives address signals A12, A13, A14, A15, A16, A17, A18, A19, and A3, and provides control signal CGRZ 54 . Comparator 206 is coupled to address fuses 306, receives address signals A12, A13, A14, A15, A16, A17, A18, A19, and A3, and provides control signal CGRZ 57 . Comparator 207 is coupled to address fuses 307, receives address signals A12, A13, A14, A15, A16, A17, A18, A19, and A3, and provides control signal CGRZ 58 . The particular address signals received by programmable comparator block 45 have no special significance and may be different in other embodiments. Also, for data organizations of X4 or X8, fewer address signals will be required. There is a comparator 200 - 207 for each redundant column set 51 - 58. Because there are eight redundant column sets in the illustrated embodiment, there are likewise eight comparators and eight address fuses. Each of address fuses 300 - 307 has a plurality of fuses for permanently storing the column address of a defective column. A validity fuse is also provided for each of address fuses 300 - 307. When a defective column is found during the manufacturing process of memory 20, and the defective column is determined to be repairable by replacing it with a redundant column set, the address of the defective column is stored by blowing the proper fusible links of one of address fuses 300 - 307. The validity fuse is also blown to indicate that the address of a defective column has been stored. The comparator then compares the incoming column address signals it receives to the address that is stored in the address fuse, and provides a control signal when the address signal matches the address stored in the address fuse. As an example, if the address of a defective column is stored by address fuse 304, then comparator 204 will compare the external addresses it receives to the stored address in address fuse 304. When the addresses match, comparator 204 provides control signal CGRZ 53 to redundant write generator 31 and redundant write driver 38 during a write cycle, and to redundant read generator 60, 61, 81, and 82 during a read cycle. Referring again to FIG. 2, in a write mode of memory 20, DATA IN A is received by data multiplexer 34 of bottom left write portion 30A, COLUMN ADDRESS is received by write drivers 36. COLUMN ADDRESS selects which of write drivers 36 is to be driven to a state representative of the logic state of signal DATA IN A. Write global data line pairs 37 then carries the data to the selected address in left array 21 where it is written into memory cells. If a defective column in left array 21 has been replaced, comparator 204 of FIG. 7 will have address fuses 304 blown to correspond to the address of the defective column. The validity fuse of address fuses 304 will also be blown. If the defective column is one that is coupled to write global data line pairs 37A, and has been replaced by a redundant column set 53 from left redundant array 23, fuse circuit 90 of write JDEC fuses 32 will be blown. Fuse circuit 90 of write JDEC fuses 32 (FIG.4) provides DC signal WJ 53 M 37A to redundant write generator 31 and to redundant data multiplexer 35. DC signal WJ 53 M 37A is used to identify which redundant column set 53 of redundant columns 23 is to replace the defective column in left array 21 that is coupled to write global data line pairs 37A. Programmable comparator 204 provides an control signal CGRZ 53 to redundant write generator 31 and to redundant write drivers 38. Redundant write generator 31 provides enable signal WGR to disable a write driver of write drivers 36 to prevent data corresponding to DATA IN A from being written onto the defective column. Redundant write drivers 38 are enabled by control signal CGRZ 53 to allow DATA IN A to be written onto redundant column set 53 via redundant write global data line pairs 39A. Referring again to FIG. 3, in a read mode of memory 20, data is provided from left array 21 via read global data line pairs 29 to data output multiplexer 62, 63, 83, or 84. If a defective column in left array 21 has been replaced by redundant column set 53 from left redundant array 23, programmable comparator 204 provides a control signal CGRZ 53 to redundant read generators 60 and 61 and local column decoder 68. Fuse circuit 110 of read JDEC fuses 59 provides logic high DC signal RJ 53 M 62 to redundant read generator 60. When control signal CGRZ 53 is received by redundant read generator 60 during a read cycle, enable signal RGR 62 is provided to output multiplexer 62. Receiving enable signal RGR 62 causes output multiplexer 62 to receive data from redundant read global data line pairs 44 instead of from read global data line pairs 29. Control signal CGRZ 53 is also provided to local column decoder 68 which causes redundant column set 53 to provide data to redundant sense amplifier 64. Redundant sense amplifier 64 provides corresponding data to redundant read global data line pairs 44. The data is provided to all of data output multiplexers 62, 63, 83, and 84. But only data output multiplexer 60, which received enable signal RGR 62 , will provide a DATA OUT A which corresponds to data on redundant read global data line pairs 44. While the invention has been described in the context of a preferred embodiment, it will be apparent to those skilled in the art that the present invention may be modified in numerous ways and may assume many embodiments other than that specifically set out and described above. For example, there can be a different number of sets of redundant columns, and the sets of redundant columns can be located somewhere other than the bottom of the arrays of memory cells. Also, there can be a different number of contiguous columns in a set of redundant columns. Additionally, another type of non-volatile memory can be used in place of read and write fuses to store information as to which redundant column set is to replace a defective column. In addition, data organizations different from X1, X4, or X8 may be used.

Claims: A memory with column redundancy and localized column redundancy control signals (20), comprising: an array of memory elements (21) organized in rows and columns; a redundant array of redundant columns (23); an address comparator (200) including address fuse means (300) for providing a plurality of defective address signals in response to an input address and a corresponding plurality of fuse signals; characterised by further comprising : pluralities of read global data lines (29) and write global data lines (37) coupled to said array (21); pluralities of redundant read global data lines (44) and write global data lines (39) coupled to said redundant array (23); a write portion (30A) coupled to write fuse means (32) for providing an input/output data signal to a selected one of said redundant write global data lines (39) in response to said defective address signals during a write cycle; and a read portion (50A) coupled to read fuse means (59) for receiving said input/output data signal and for providing said input/output data signal to a selected one of said redundant read global data lines (44) in response to said defective address signals during a read cycle. The memory (20) of claim 1, wherein the array of memory elements (21) comprises: a left array (21) having a top and a bottom; a right array (22) having a top and a bottom; the redundant array of redundant columns (23) comprises: a left array of redundant columns (23) below said left array (21); a right array of redundant columns (24) below said right array (22); a read global data line (29) of the plurality of read global data lines is coupled to said left array (21) and to said right array (22) and disposed therebetween, for reading data from said left and right arrays (21 and 22); a redundant read global data (44) line of the pluralities of redundant read global data lines is coupled to said left and right arrays of redundant columns and disposed therebetween, for reading data from said left array of redundant columns (23) and said right array of redundant columns (24); a top read portion (50B) of the read portion is coupled to said read global data line (29) and to said redundant read global data line (44) and disposed above said left and right arrays (21 and 22), for providing a first data signal conducted by either, said read global data line (29) or said redundant read global data line (44), in response to a first fuse (85) operation; and a bottom read portion (50A) of the read portion is coupled to said read global data line (29) and to said redundant read global data line (44) and disposed below said left and said right redundant arrays (21 and 22), for selectively coupling a second data signal from either, said read global data line (29) or said redundant read global data line (44), in response to a second fuse (59) operation. The memory (20) of claim 1, wherein the array of memory elements (21) comprises: a left array (21) having a top and a bottom; a right array (22) having a top and a bottom; the redundant array of redundant columns (23) comprises: a left array of redundant columns (23) below said left array; a right array of redundant columns (24) below said right array; a left write global data line (37) of the plurality of write global data lines is disposed left of and coupled to said left array (21); a right write global data (43) of the plurality of write global data lines is disposed right of and coupled to said right array (22); a left redundant write global data line (39) of the plurality of redundant write global data lines is disposed left of and coupled to said left array of redundant columns (23); a right redundant write global data line (28) of the plurality of redundant write global data lines is disposed right of coupled to said right array of redundant columns (24); a left write portion (30A) of the write portion is for selectively coupling a first data input signal to either said left write global data line (37) or to said left redundant write global data line (39) in response to a first fuse (32) operation; and a right write portion (30D) of the write portion is for selectively coupling a second data input signal to either said right global data line (43) or to said right redundant global data line (28) in response to a second fuse (88) operation. The memory (20) of claim 3, further comprising: a read global data line (29) coupled to said left array (21) and to said right array (22) and disposed therebetween, for reading data from said left and right arrays (21 and 22); a redundant read global data line (44) coupled to said left and right arrays of redundant columns (23 and 24) and disposed therebetween, for reading data from said left array of redundant columns (23) and said right array of redundant columns (24); a top read portion (50B) coupled to said read global data line (29) and to said redundant read global data line (44) and disposed above said left and right arrays (21 and 22), for providing a first data signal conducted by either, said read global data line (29) or said redundant read global data line (44), in response to a third fuse (85) operation; and a bottom read portion (50A) coupled to said read global data line (29) and to said redundant read global data line (44) and disposed below said left and said right redundant arrays (23 and 24), for selectively coupling a second data signal from either, said read global data line (29) or said redundant read global data line (44), in response to a fourth fuse (59) operation. The memory of Claim 4, wherein each write fuse (25, 32, 87, and 88) provides a DC logic signal to a write portion (30A, 30B, 30C, and 30D) corresponding thereto when a fusible link (101) in said write fuse (25, 32, 87, and 88) is blown to indicate which redundant column is to replace a defective column. The memory of Claim 5, further comprising a plurality of redundant write generators (31), each coupled to a corresponding one of said write portions (30A, 30B, 30C, and 30D) and to said comparator means (45), for receiving said DC logic signal and providing a control signal to deselect a defective column to prevent data from being written onto the defective column when the memory (20) is in the write mode. The memory of Claim 6, wherein each read fuse (59, 80, 85, and 86) provides a DC logic signal to a read portion (50A, 50B, 50C, and 50D) corresponding thereto when a fusible link (101) in said read fuse (59, 80, 85, and 86) is blown to indicate which redundant column is to replace a defective column. The memory of Claim 7, further comprising a plurality of redundant read generators (60, 61, 81, and 82), each coupled to a corresponding one of said read portions (50A, 50B, 50C, and 50D) and to said comparator means (45), for receiving said DC logic signal and providing a control signal to deselect a defective column to prevent data from being read from the defective column when the memory is in read the mode.

Inventors: FENG TAISHENG, FLANNAGAN STEPHEN, PORTER JOHN DAVID, FENG, TAISHENG, FLANNAGAN, STEPHEN, PORTER, JOHN DAVID
Applicants: MOTOROLA INC, MOTOROLA, INC.
Application year: 1993
Main classification: G06F11
IPC codes: G11C29