US20010048613A1 - Dual-ported cams for a simultaneous operation flash memory - Google Patents

Dual-ported cams for a simultaneous operation flash memory Download PDF

Info

Publication number
US20010048613A1
US20010048613A1 US09/829,657 US82965701A US2001048613A1 US 20010048613 A1 US20010048613 A1 US 20010048613A1 US 82965701 A US82965701 A US 82965701A US 2001048613 A1 US2001048613 A1 US 2001048613A1
Authority
US
United States
Prior art keywords
cam
memory
cell
memory cell
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US09/829,657
Other versions
US6396749B2 (en
Inventor
Ali Al-Shamma
Lee Cleveland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cypress Semiconductor Corp
Morgan Stanley Senior Funding Inc
Spansion Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Assigned to ADVANCED MICRO DEVICES, INC. reassignment ADVANCED MICRO DEVICES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CLEVELAND, LEE, SHAMMA, ALI AL
Priority to US09/829,657 priority Critical patent/US6396749B2/en
Priority to CNB018102298A priority patent/CN1204497C/en
Priority to BR0111245-7A priority patent/BR0111245A/en
Priority to KR1020027016341A priority patent/KR100915450B1/en
Priority to JP2002501181A priority patent/JP4606694B2/en
Priority to PCT/US2001/016393 priority patent/WO2001093034A2/en
Priority to AU2001264757A priority patent/AU2001264757A1/en
Priority to AT01939217T priority patent/ATE262700T1/en
Priority to EP01939217A priority patent/EP1290559B1/en
Priority to DE60102466T priority patent/DE60102466T2/en
Priority to TW090113005A priority patent/TW587255B/en
Publication of US20010048613A1 publication Critical patent/US20010048613A1/en
Publication of US6396749B2 publication Critical patent/US6396749B2/en
Application granted granted Critical
Assigned to SPANSION INC. reassignment SPANSION INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ADVANCED MICRO DEVICES, INC.
Assigned to SPANSION LLC reassignment SPANSION LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SPANSION INC.
Assigned to BARCLAYS BANK PLC reassignment BARCLAYS BANK PLC SECURITY AGREEMENT Assignors: SPANSION INC., SPANSION LLC, SPANSION TECHNOLOGY INC., SPANSION TECHNOLOGY LLC
Assigned to SPANSION TECHNOLOGY LLC, SPANSION LLC, SPANSION INC. reassignment SPANSION TECHNOLOGY LLC RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: BARCLAYS BANK PLC
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. reassignment MORGAN STANLEY SENIOR FUNDING, INC. SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CYPRESS SEMICONDUCTOR CORPORATION, SPANSION LLC
Assigned to CYPRESS SEMICONDUCTOR CORPORATION reassignment CYPRESS SEMICONDUCTOR CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SPANSION, LLC
Assigned to MUFG UNION BANK, N.A. reassignment MUFG UNION BANK, N.A. ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Assignors: MORGAN STANLEY SENIOR FUNDING, INC.
Assigned to MORGAN STANLEY SENIOR FUNDING, INC. reassignment MORGAN STANLEY SENIOR FUNDING, INC. CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST. Assignors: CYPRESS SEMICONDUCTOR CORPORATION, SPANSION LLC
Anticipated expiration legal-status Critical
Assigned to CYPRESS SEMICONDUCTOR CORPORATION, SPANSION LLC reassignment CYPRESS SEMICONDUCTOR CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: MUFG UNION BANK, N.A.
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
    • G11C29/789Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
    • G11C15/046Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Definitions

  • the present invention relates generally to semiconductor memory devices. More particularly, the present invention relates to dual-ported content addressable memories for a simultaneous operation flash memory.
  • Flash random access memory is a form of non-volatile storage that uses a memory cell design with a floating gate. High voltages are applied to the memory cell inputs to program or store charge on the floating gate or to erase or remove charge from the floating gate. Programming occurs by hot electron transfer to place charge on the floating gate while erasure makes use of Fowler-Nordheim tunneling in which electrons pierce a thin dielectric material, reducing the amount of electronic charge on the floating gate. Erasing a cell sets the logical value of the cell to “1” while programming the cell sets the logical value to “0”. Aside from programming or erasing operations, a flash memory operates similarly to a randomly accessible read only memory (ROM).
  • ROM read only memory
  • a flash memory chip including the flash memory storage cells and support logic/circuitry, is made by fabricating layers of semiconductor material and interconnect layers of polysilicon and first and second metal layers onto a substrate. It will be appreciated that there are numerous integrated circuit fabrication techniques, involving more or fewer layers, which are applicable herein.
  • Redundant core cell arrays are utilized to substitute for inoperative memory core cells of primary or regular arrays.
  • Content addressable memory (CAM) circuitry may be utilized to assist in redundancy substitution.
  • Redundancy CAM cells store information regarding the locations of inoperative memory cells so that redundant arrays of memory cells may be used to substitute for the inoperative memory cells of the primary arrays.
  • the arrays of memory cells are tested by the manufacturer for performance and accuracy prior to utilization by a customer or user.
  • the redundancy CAM cells are erased and programmed with the locations of inoperative memory cells as appropriate following the testing stage.
  • Newer technologies such as simultaneous read and write operation flash memories, present opportunities for the redesign of CAM circuitries and architectures to meet increasing standards of system performance, and device density. It would be desirable to implement a more efficient redundancy CAM circuitry and architecture in a flash memory.
  • FIG. 1 is a block diagram of a memory according to a presently preferred embodiment
  • FIG. 2 is an exemplary core cell array including primary arrays and redundant arrays according to the memory of FIG. 1;
  • FIG. 3 is a circuit diagram of an exemplary CAM stage and accompanying output circuitry according to the memory of FIG. 1;
  • FIG. 4 is a block diagram illustrating an exemplary CAM stage array and accompanying output circuitry according to the memory of FIG. 1 and the exemplary core cell array of FIG. 2;
  • FIG. 5 is a block diagram illustrating an exemplary group of CAM stages associated with one vertical array of the exemplary core cell array of FIG. 2;
  • FIG. 6 is a circuit diagram of an exemplary group of CAM stages with shared output circuitry according to the memory of FIG. 2.
  • Redundant core cell arrays are utilized to substitute for inoperative memory core cells of primary or regular arrays.
  • Content addressable memory (CAM) circuitry may be utilized to assist in redundancy substitution.
  • Redundancy CAM cells store information regarding the locations of inoperative memory cells so that redundant arrays of memory cells may be used to substitute for the inoperative memory cells of the primary arrays.
  • the arrays of memory cells are tested by the manufacturer for performance and accuracy prior to utilization by a customer or user.
  • the redundancy CAM cells are erased and programmed with the locations of inoperative memory cells as appropriate following the testing stage.
  • Core cells in memory may be byte or word addressable. If a particular operation is to be performed at a primary array, an address for the operation is supplied. Before the memory cell location for the primary array is accessed, the address is compared with address information relating to the location of the inoperative memory cells. If the address matches a location of a group of inoperative memory cells, the address is redirected to the redundant array. The operation is then performed at the redundant array. If the address does not match a location of a group of inoperative memory cells, the address is applied to the primary array, and the operation is performed at the primary array. Typically, this substitution of primary array memory cells with redundant array memory cells is seamless and transparent to the user of the memory.
  • Newer technologies such as simultaneous read and write operation flash memories, present opportunities for the redesign of CAM circuitries and architectures to meet increasing standards of system performance, and device density.
  • the presently preferred embodiments described herein implement a more efficient redundancy CAM circuitry and architecture in a memory such as a flash memory.
  • a CAM cell is configured to store information regarding a location of an inoperative memory cell in a primary core cell array.
  • the inoperative memory cell requires a substitution with a memory cell in a redundant array.
  • the information stored in the CAM cell may also relate to whether a memory cell, as addressed by an operation address of the primary core cell array requires a substitution with a memory cell of a redundant array. Since an individual CAM cell or group of CAM cells can store information to determine whether an operation address refers to a location of an inoperative memory cell in a core cell array, and since the operation address might be used for a read or a write operation, then in general it would be expected that an individual CAM or group of CAM cells would be required to store information separately for each operation in a particular area.
  • one individual dual-ported CAM cell or one group of CAM cells storing information regarding the location of an inoperative memory cell of the core cell array may be accessed during a read operation and during a write operation. Due to the restrictions on simultaneous read and write operation, the CAM cell or cells may be accessed with no concern of simultaneous access of the one individual CAM cell or one group of CAM cells. Depending on the design, the dual nature of the CAM cell can exploit simultaneous operation to improve efficiency of CAM cell layout and reduce the number of devices and peripheral circuitry.
  • FIG. 1 it is a block diagram of a memory 100 according to a presently preferred embodiment.
  • the memory 100 is configured as a flash memory formed as a complementary metal-oxide-semiconductor (CMOS) integrated circuit for storing digital data.
  • CMOS complementary metal-oxide-semiconductor
  • the memory 100 may take any other suitable form and in fact the principles described herein may be applied in any other suitable circuit in which simultaneous operation permits a dual-ported CAM architecture.
  • the memory 100 includes a core cell array 102 , a decoder 104 , address buffer circuitry 108 , redundancy CAM circuitry 106 , a control logic circuit 110 , and sense amplifier and output circuitry 112 .
  • the control logic circuit 110 is coupled to the decoder 104 , the address buffer circuitry 108 , and the sense amplifier and output circuitry 112 .
  • the control logic circuit 110 produces a series of read and write select operation signals RSEL, WSEL and distributes the signals to the decoder 104 and the redundancy CAM circuitry 106 .
  • the control logic circuit 110 distributes timing and other control signals for the memory 100 .
  • the core cell array 102 includes a plurality of memory cells, each configured to store data.
  • each memory cell may store a single bit of data; in other applications, each memory cell may store two or more bits of data.
  • the memory cells of the core cell array 102 may be byte or word addressable and are accessed by a corresponding address at the address buffer circuitry 108 .
  • the memory cells are accessed as data words, and the addresses correspond to unique data words.
  • each memory cell has a unique address, which is decoded by the decoder 104 .
  • the decoder 104 includes row or x-address decoding logic and bit line or y-address decoding logic.
  • the x-address decoding logic of the decoder 104 responds to an address signal ADD provided from the address buffer circuitry 108 by activating one word line of a plurality of word lines, each word line being associated with one row of the core cell array 102 .
  • memory cells associated with that word line turn on and begin sinking current.
  • the word line must be varied by a substantial potential difference, such as 3.0 to 4.0 V, for example.
  • the y-address decoding logic of the decoder 104 couples the appropriate bit line of the core cell array 102 to the sense amplifier and output circuitry 114 .
  • the y-address decoding logic responds to an address ADD from the address buffer circuitry 108 to decode the selected bit line from among a plurality of bit lines of the core cell array 102 .
  • the sense amplifier and output circuitry 114 senses the current in the selected memory cell of the core cell array 102 and determines the binary state of the one or more bits of data stored in the selected memory cell.
  • the circuitry 112 produces the memory cell data that are sensed, preferably as data words, by the sense amplifier circuitry 114 at the output of the memory 100 for use external to the memory 100 .
  • Other circuitry not shown in FIG. 1, provides for programming, reading, verifying, erasing, and performing other operations as necessary on the individual memory cells of the core cell array 102 .
  • the memory 100 operates in response to a supply voltage, labeled V CC in FIG. 1.
  • V CC a supply voltage
  • the potential difference between V CC and ground is the supply voltage and may be in the range 0.8 to 3.3 volts, for example.
  • the suitability of the supply voltage V CC will depend on a variety of factors, including the technology with which the memory 100 is fabricated. In general, in advanced CMOS processes, the supply voltage will nominally be 1.8 volts. In absolute terms, this voltage is greater than the magnitude of the turn-on, or threshold, voltage V tp for p-channel transistors of ⁇ 0.9 volts and the turn-on or threshold voltage V tn for n-channel transistors of +1.0 volts.
  • the core cell array 102 preferably includes a series of primary arrays and redundant arrays.
  • the redundancy CAM circuitry 106 of FIG. 1 further includes CAM cells that store information regarding the location of an inoperative memory cell or of an inoperative bit line of one of the primary arrays of the core cell array 102 .
  • a bit line of an associated redundant array is used as a substitute for an inoperative bit line.
  • the CAM cells of the redundancy CAM circuitry 106 are programmed and erased at the PROG/ERASE input shown in FIG. 1.
  • the CAM cells are programmed and erased during a testing stage that takes place prior to use of the chip by an end-user or customer.
  • the operation address is applied to the redundancy CAM circuitry 106 to compare the operation address with the information stored in the CAM cells.
  • the operation address matches the location information stored in the CAM cells, then at least one of the memory cells locations to which the operation address refers is inoperative and requires a redundancy substitution.
  • a read address that corresponds to a series of memory cells preferably making up a data word is compared with the information in the redundancy CAM cells. If an inoperative bit line happens to include one of the series of memory cells that the read address would access with no redundancy substitution, then the redundancy CAM circuitry will indicate a read match for the read address.
  • decoding logic ensures that a bit line of the redundant array is substituted for the inoperative bit line and the inoperative memory cell that the read address would access with no redundancy substitution. A similar substitution would occur if an inoperative bit line happens to include one of the series of memory cells that the write address would access with no redundancy substitution.
  • FIG. 2 it is a diagram illustrating an exemplary core cell array 102 including primary arrays and redundant arrays according to the memory 100 of FIG. 1.
  • the exemplary core cell array 102 of FIG. 2 is divided into an upper bank 114 and a lower bank 116 .
  • the array 102 is divided into four vertical arrays VERT 0 , VERT 1 , VERT 2 , VERT 3 , each vertical array including a primary array and an associated redundant array.
  • the upper bank 114 includes upper primary arrays 118 , 120 , 122 , 124 and upper redundant arrays 126 , 128 , 130 , 132 .
  • the lower bank 116 includes lower primary arrays 134 , 136 , 138 , 140 and lower redundant arrays 142 , 144 , 146 , 148 .
  • the vertical array VERT 0 includes the primary arrays 118 , 134 and the redundant arrays 126 , 142 .
  • the vertical array VERT 1 includes the primary arrays 120 , 136 and the redundant arrays 128 , 144 .
  • the vertical array VERT 2 includes the primary arrays 122 , 138 and the redundant arrays 130 , 146 .
  • the vertical array VERT 3 includes the primary arrays 124 , 140 and the redundant arrays 132 , 148 .
  • the memory 100 is a simultaneous operation memory.
  • simultaneous operation for example, of simultaneous read and write operation, memories is that a read and a write operation may be performed simultaneously, but into different banks.
  • one additional limitation with respect to the core cell array 102 of FIG. 2 is that a read and a write operation may only be performed simultaneously into different banks not located within the same vertical array. That is, if a write operation is performed into the upper primary array 118 of the vertical array VERT 0 , then a read operation may be performed into any one of the lower primary arrays 136 , 138 , 140 of the vertical arrays VERT 1 , VERT 2 , VERT 3 , respectively.
  • a read operation may not be performed into any of the upper primary arrays 118 , 120 , 122 , 124 of the vertical arrays VERT 0 , VERT 1 , VERT 2 , VERT 3 , respectively, or into the lower primary array 134 of the vertical array VERT 0 .
  • each vertical array is divided into nine sectors of memory cells (not shown in FIG. 2).
  • each sector is preferably divided into a series of column areas within the primary array.
  • Each column area includes a number of memory cells.
  • Each memory cell of the column area preferably corresponds to a unique bit line for the primary array.
  • a bit line spanning the upper and lower redundant array portions of the vertical array substitutes for the entire bit line of the primary array that corresponds to the inoperative memory cell.
  • bit line Preferably, if one memory cell of a bit line is inoperative, the entire bit line will be substituted for by a redundant bit line, so that an inoperative bit line by definition includes at least one inoperative memory cell.
  • an inoperative bit line by definition includes at least one inoperative memory cell.
  • a limited number of inoperative bit lines of a primary array may be substituted for with an associated redundant array.
  • the memory cells are accessed as data words, with a column area of memory cells storing a unique data word.
  • a read operation is performed where two 16 bit data words are read at a time internally while one 16 bit data word is produced at a time from the output circuitry 112 .
  • two column areas would be accessed together in a read operation.
  • a write operation is performed with one 16 bit data word at a time, and one column area would be accessed at a time.
  • these data word lengths are exemplary and other word lengths may be used as suitable.
  • FIG. 3 it is a circuit diagram of an exemplary dual-ported CAM stage 200 and accompanying output circuitry according to the memory of FIG. 1.
  • the dual-ported CAM stage 200 may be utilized without the accompanying output circuitry to indicate the necessity of redundancy substitution.
  • the exemplary CAM stage 200 includes a dual-ported CAM cell 202 , a write data bus 204 , and a read data bus 206 .
  • the CAM cell 202 is a transistor, preferably an n-channel metal-oxide-semiconductor field effect transistor (MOSFET).
  • MOSFET metal-oxide-semiconductor field effect transistor
  • the CAM cell 202 is preferably a MOSFET transistor utilized as a nonvolatile memory cell, any suitable active data storage element may be used for the CAM cell 202 .
  • the write data bus 204 has an output port coupled to a node 212 and an input coupled to the drain of the CAM cell 202 at a node 216 .
  • the read data bus 206 has an output port coupled to a node 214 and an input coupled to the drain of the CAM cell 202 at the node 216 .
  • the write data bus 204 and the read data bus 205 are transistors, preferably n-channel MOSFETs. Of course, any suitable data bus may be used for the data buses 204 , 205 .
  • a write select signal WSELm is applied to the gate of the write data bus 204 , while a read select signal RSELm is applied to the gate of the read data bus 205 .
  • a voltage V G is applied to the gate input of the CAM cell 202
  • a voltage V S is applied to the source input of the CAM cell 202 .
  • the voltage V S will be at ground potential.
  • a shorthand designation for the exemplary dual-ported CAM stage 200 is also presented in FIG. 3.
  • a generic CAM stage 200 can be referred to as CAMn/VERTm, where m refers to any one of M vertical arrays VERT 0 , VERT 1 , . . . , VERTM, where n refers to any one of N CAM stages 200 CAM 0 , CAM 1 , . . . , CAMN associated with a vertical array VERTm.
  • M 4 vertical arrays VERT 0 , VERT 1 , VERT 2 , VERT 3 .
  • the core cell array 102 is scalable and may be designed, sized, arranged, or separated differently from the exemplary core cell array 102 shown in FIG. 2.
  • the number of redundancy CAM cells 202 and stages 200 associated with each vertical may also vary depending on the embodiment and the particular design and layout of the core cell array 102 . That is, more redundancy arrays may be provided or additional CAM cells may be used to particularly identify the location of an inoperative memory cell, the location of the inoperative bit line that includes the inoperative memory cell, or the column area in which the inoperative bit line is located.
  • the CAM cell 202 is a non-volatile memory cell that is capable of being erased of information or of being programmed with information. If the CAM cell 202 is an n-channel MOSFET transistor, this is accomplished via modification of the threshold voltage of the transistor.
  • the signal cell program/erase and the accompanying arrow are intended to indicate the program/erase operation performed on the CAM cell 202 .
  • the CAM cell 202 will respond differently to an applied gate voltage depending on whether the CAM cell 202 is programmed or erased.
  • regulated voltages are preferably applied to the drain and the gate of the transistor cell 202 .
  • the regulated voltages are relatively high, compared with the supply voltage V CC .
  • a voltage V D of approximately 5.0 volts is applied to the drain, while a voltage V G of around 8.5 volts is applied to the gate input of transistor CAM cell 202 .
  • the combined effect of the programming operation on the CAM cell 202 is to increase the threshold voltage higher than any applied voltage at the gate of the CAM cell 202 during regular operation of the redundancy CAM circuitry 106 , that is, higher than the supply voltage V CC .
  • all of the CAMs including the dual-ported CAM cells 202 in the memory 100 , are preprogrammed prior to erasure, and are erased together.
  • the CAM cells 202 may be erased with an ultra-violet erase procedure as is known to those skilled in the art. Of course, other erase techniques may be used.
  • the effect of the erase operation on the CAM cell 202 is to lower the threshold voltage from its value when the cell 202 is programmed to a regular value consistent with a regular transistor.
  • the threshold voltage is set so that the cell 202 will behave like an n-channel transistor, i.e., when a gate voltage V G equivalent to the supply voltage V CC is applied, the transistor will turn on and conduct.
  • FIG. 3 Also illustrated in FIG. 3 are two p-channel bias transistors 208 , 210 , preferably utilized as accompanying output circuitry for the exemplary CAM stage 200 .
  • the transistors 208 , 210 are designed and sized as weak pull-up transistors relative to the CAM cell 202 .
  • the p-channel transistors 208 , 210 are preferably low threshold voltage transistors in FIG. 3.
  • the transistors 208 , 210 each have a nominal threshold voltage approximately in the range of ⁇ 0.5 volts to ⁇ 0.8 volts. A threshold voltage falling within this range is smaller than a threshold voltage of a conventional p-channel transistor, which is typically around ⁇ 1.2 volts.
  • threshold voltages of transistors such as MOSFETs are controlled during fabrication.
  • the device fabrication process allows some flexibility in selecting the threshold voltage.
  • normal values prevail and are in common usage for MOSFETs in particular processes.
  • transistor design parameters such as threshold voltages and device sizes, other circuit configurations, or other applicable design techniques available to those skilled in the art may be used or substituted where suitable.
  • the p-channel transistors 208 , 210 may be referred to with regard to their connection with the write and read data buses 204 , 206 .
  • the write p-channel bias transistor 208 is coupled to the output port of the write data bus 204 at the node 212 .
  • the generic CAM stage 200 which may be referred to as CAMn/VERTm, and the write p-channel bias transistor 208 produce a signal CAMnW at the node 212 , where, as above, n refers to any one of N CAM stages 200 CAM 0 , CAM 1 , . . . , CAMN associated with a vertical array VERTm.
  • the W identifies the signal CAMnW at the node 212 as a write operation CAM signal.
  • the read p-channel bias transistor 210 is coupled to the output port of the read data bus 206 at the node 214 .
  • the generic CAM stage 200 which may be referred to as CAMn/VERTm, and the read p-channel bias transistor 210 produce a signal CAMnR at the node 214 , where, as above, n refers to any one of N CAM stages 200 CAM 0 , CAM 1 , . . . , CAMN associated with a vertical array VERTm.
  • the R identifies the signal CAMnR at the node 214 as a read operation CAM signal.
  • the gate inputs of the read and the write p-channel bias transistors 210 , 208 are connected to ground potential, while the source inputs are at the supply voltage VCC. Therefore, since the transistors 210 , 208 are low threshold voltage transistors as described above, the transistors 210 , 208 will conduct and the respective nodes 212 , 214 will be at V CC in the absence of pull-down action from the CAM stage 200 .
  • the operation of the CAM stage 200 in conjunction with the transistors 208 , 210 proceeds as follows.
  • the CAM cells 202 of the redundancy CAM circuitry 106 are accessed.
  • the source voltage V S of every CAM cell 202 is at ground potential and the gate voltage V G of every CAM cell 202 is brought up to the supply voltage V CC .
  • a CAM cell 202 will respond differently to an applied gate voltage depending on whether or not the CAM cell 202 is program or erased. If a write operation is being performed at a vertical array VERTm, then the write select signal WSELm will be high and the write data bus 204 will be on. A programmed CAM cell 202 will remain off and will not turn on or conduct in response to an applied gate voltage V G , preferably the supply voltage V CC . The write pull-up transistor 208 will conduct and the node 212 will be at V CC in the absence of pull-down action from the CAM stage 200 . Therefore, if the CAM cell 202 is programmed and the write data bus 204 is on, the node 212 remains high or at V CC .
  • the write select signal WSELm will be high and the write data bus 204 will be on.
  • An erased CAM cell 202 will behave like an n-channel transistor and will turn on and conduct in response to an applied gate voltage V G , preferably the supply voltage V CC .
  • the CAM cell 202 will pull the node 216 to ground potential.
  • the CAM cell 202 is designed to be stronger than the write pull-up transistor 208 and therefore, if the CAM cell 202 is erased and the write data bus 204 is on, the node 212 will be pulled to ground potential.
  • the signals CAM 0 W . . . CAMNW will specify the location of the bit line where a redundancy substitution is to be made, if one exists and if one was programmed in the CAM stages 200 CAM 0 /VERTm . . . CAMN/VERTm.
  • one or more of the signals CAM 0 W . . . CAMNW will be compared with the write address to determine whether there is a write match. If there is a write match for an inoperative bit line, a bit line from the redundant array substitutes for the inoperative bit line. That is, the redundant bit line is utilized instead of the inoperative bit line if a match is indicated between the write address and the CAM stages 200 associated with the primary array at which the write operation otherwise occurs.
  • the read select signal RSELm will be high and the read data bus 206 will be on.
  • a programmed CAM cell 202 will remain off and will not turn on or conduct in response to an applied gate voltage V G , preferably the supply voltage V CC .
  • the read pull-up transistor 210 will conduct and the node 214 will be at V CC in the absence of pull-down action from the CAM stage 200 . Therefore, if the CAM cell 202 is programmed and the read data bus 206 is on, the node 214 remains high or at V CC .
  • the read select signal RSELm will be high and the read data bus 206 will be on.
  • An erased CAM cell 202 will behave like an n-channel transistor and will turn on and conduct in response to an applied gate voltage V G , preferably the supply voltage V CC .
  • the CAM cell 202 will pull the node 216 to ground potential.
  • the CAM cell 202 is designed to be stronger than the read pull-up transistor 210 and therefore, if the CAM cell 202 is erased and the read data bus 204 is on, the node 214 will be pulled to ground potential.
  • the signals CAM 0 R . . . CAMNR will specify the location of the bit line where a redundancy substitution is to be made, if one exists and one was programmed in the CAM stages 200 CAM 0 /VERTm . . . CAMN/VERTm.
  • one or more of the signals CAM 0 R . . . CAMNR will be compared with the read address to determine whether there is a read match. If there is a read match for an inoperative bit line, a bit line from the redundant array substitutes for the inoperative bit line. That is, the redundant bit line is utilized instead of the inoperative bit line if a match is indicated between the read address and the CAM stages 200 associated with the primary array at which the read operation otherwise occurs.
  • FIG. 4 is a block diagram illustrating an exemplary CAM stage array 300 and accompanying output circuitry according to the memory of FIG. 1 and the exemplary core cell array 102 of FIG. 2.
  • the redundancy CAM circuitry 106 of FIG. 1 includes the exemplary CAM stage array 300 .
  • the CAM stage array 300 includes the following CAM stages 200 :
  • CAM 0 /VERT 2 334 CAM 1 /VERT 2 336 , CAM 2 /VERT 2 338 , CAM 3 /VERT 2 340 , CAM 4 /VERT 2 342 , CAM 5 /VERT 2 344 , CAM 6 /VERT 2 346 , and CAM 7 /VERT 2 348 ;
  • CAM 0 /VERT 3 350 CAM 1 /VERT 3 352 , CAM 2 /VERT 3 354 , CAM 3 /VERT 3 356 , CAM 4 /VERT 3 358 , CAM 5 /VERT 3 360 , CAM 6 /VERT 3 362 , and CAM 7 /VERT 3 364 .
  • the CAM stage array 300 further includes read p-channel pull-up low-threshold voltage transistors 366 , 368 , 370 , 372 , 374 , 376 , 378 , 380 , write p-channel pull-up low threshold voltage transistors 382 , 384 , 386 , 388 , 390 , 392 , 394 , 396 .
  • All of the CAM stages 200 of the CAM stage array 300 associated with the vertical array VERT 0 receive the write and read select signals WSEL 0 , RSEL 0 .
  • All of the CAM stages 200 of the CAM stage array 300 associated with the vertical array VERT 1 receive the write and read select signals WSEL 1 , RSEL 1 .
  • All of the CAM stages 200 of the CAM stage array 300 associated with the vertical array VERT 2 receive the write and read select signals WSEL 2 , RSEL 2 .
  • All of the CAM stages 200 of the CAM stage array 300 associated with the vertical array VERT 3 receive the write and read select signals WSEL 3 , RSEL 3 .
  • the CAM stages CAM 0 /VERT 0 302 , CAM 0 /VERT 1 318 , CAM 0 /VERT 2 334 , and CAM 0 /VERT 3 350 are all coupled to the read pull-up transistor 366 at a shared output having a signal CAM 0 R and are all coupled to the write pull-up transistor 382 at a shared output having a signal CAM 0 W.
  • the CAM stages CAM 1 /VERT 0 304 , CAM 1 /VERT 1 320 , CAM 1 /VERT 2 336 , and CAM 1 /VERT 3 352 are all coupled to the read pull-up transistor 368 at a shared output having a signal CAM 1 R and are all coupled to the write pull-up transistor 384 at a shared output having a signal CAM 1 W.
  • the CAM stages CAM 2 /VERT 0 306 , CAM 2 /VERT 1 322 , CAM 2 /VERT 2 338 , and CAM 2 /VERT 3 354 are all coupled to the read pull-up transistor 370 at a shared output having a signal CAM 2 R and are all coupled to the write pull-up transistor 386 at a shared output having a signal CAM 2 W.
  • the CAM stages CAM 3 /VERT 0 308 , CAM 3 /VERT 1 324 , CAM 3 /VERT 2 340 , and CAM 3 /VERT 3 356 are all coupled to the read pull-up transistor 372 at a shared output having a signal CAM 3 R and are all coupled to the write pull-up transistor 388 at a shared output having a signal CAM 3 W.
  • the CAM stages CAM 4 /VERT 0 310 , CAM 4 /VERT 1 326 , CAM 4 /VERT 2 342 , and CAM 4 /VERT 3 358 are all coupled to the read pull-up transistor 374 at a shared output having a signal CAM 4 R and are all coupled to the write pull-up transistor 390 at a shared output having a signal CAM 4 W.
  • the CAM stages CAM 5 /VERT 0 312 , CAM 5 /VERT 1 328 , CAM 5 /VERT 2 344 , and CAM 5 /VERT 3 360 are all coupled to the read pull-up transistor 376 at a shared output having a signal CAM 5 R and are all coupled to the write pull-up transistor 392 at a shared output having a signal CAM 5 W.
  • the CAM stages CAM 6 /VERT 0 314 , CAM 6 /VERT 1 330 , CAM 6 /VERT 2 346 , and CAM 6 /VERT 3 362 are all coupled to the read pull-up transistor 378 at a shared output having a signal CAM 6 R and are all coupled to the write pull-up transistor 394 at a shared output having a signal CAM 6 W.
  • the CAM stages CAM 7 /VERT 0 316 , CAM 7 /VERT 1 332 , CAM 7 /VERT 2 348 , and CAM 7 /VERT 3 364 are all coupled to the read pull-up transistor 380 at a shared output having a signal CAM 7 R and are all coupled to the write pull-up transistor 396 at a shared output having a signal CAM 7 W.
  • FIG. 5 is a block diagram illustrating an exemplary group 400 of CAM stages 200 associated with one vertical array VERTm of the exemplary core cell array 102 of FIG. 2.
  • the exemplary CAM stage group 400 includes the following CAM stages 200 : CAM 0 /VERTm 402 , CAM 1 /VERTm 404 , CAM 2 /VERTm 406 , CAM 3 /VERTm 408 , CAM 4 /VERTm 410 , CAM 5 /VERTm 412 , CAM 6 /VERTm 414 , and CAM 7 /VERTm 416 , all associated with a vertical array VERTm. All of the CAM stages 200 of the CAM stage group 400 receive a write select signal WSELm and a read select signal RSELm corresponding to the vertical array VERTm.
  • the redundancy CAM circuitry 106 is preferably capable of keeping track of two separate operations taking place, such as a read operation and a write operation.
  • the memory cells are accessed as data words, with a column area of memory cells storing a unique data word.
  • a read operation is performed where two 16 bit data words are read at a time internally while one 16 bit data word is produced at a time from the output circuitry 112 of FIG. 1. In this way, two column areas would be accessed together in a read operation.
  • a write operation is performed with one 16 bit data word at a time, and one column area would be accessed at a time.
  • these data word lengths are exemplary and other word lengths may be used as suitable.
  • a horizontal row in the primary array of a vertical array VERTm will include p column areas, each including q bit lines.
  • these values are exemplary and intended to explain rather than limit the presently preferred embodiments.
  • the exemplary CAM stage group 400 of eight CAM stages 402 , 404 , 406 , 408 , 410 , 412 , 414 , 416 specifies the location of an inoperative bit line with a column area of the primary array of the vertical array VERTm.
  • a redundant bit line of the redundant array substitutes for the inoperative bit line that would otherwise be accessed by a write or read operation.
  • the location of an inoperative bit line BL i is identified first by identifying the column area of the p column areas that includes the inoperative bit line. Next, the bit line of the q bit lines of the column area that corresponds to the inoperative bit line is identified. Accordingly, the exemplary CAM stage group 400 of eight CAM stages 402 , 404 , 406 , 408 , 410 , 412 , 414 , 416 preferably stores two pieces of information to indicate that the location of the inoperative bit line BL i .
  • the column area preferably stores a data word.
  • the values for f and g will in general depend on the values for p and q.
  • the write address is compared against the write address CAM signals WRITEADD 0 , WRITEADD 1 , WRITE ADD 2 , and WRITE ADD 3 of the address CAM stages CAM 4 /VERTm 410 , CAM 5 /VERTm 412 , CAM 6 /VERTm 414 , and CAM 7 /VERTm 416 , respectively (with address matching circuitry not illustrated in FIG. 5 or FIG. 1.). If the write address and the write address CAM signals match, the I/O CAM stages 402 , 404 , 406 , 408 indicate which bit line of the 16 bit lines is the inoperative bit line BL i .
  • the two column areas preferably store two data words.
  • the values for h and j will in general depend on the values for p and q.
  • two 16 bit data words are read at a time internally while one 16 bit data word is produced at a time from the output circuitry 112 of FIG. 1.
  • I/O CAM stages 402 , 404 , 406 , 408 , 410 store the location of the inoperative bit line BL i of the 32 bit lines within two column areas.
  • the read address is compared against the read address CAM signals READADD 0 , READADD 1 , and READADD 2 of the address CAM stages CAM 5 /VERTm 412 , CAM 6 /VERTm 414 , and CAM 7 /VERTm 416 , respectively (with address matching circuitry not illustrated in FIG. 5 or FIG. 1.). If the read address and the read address CAM signals match, the I/O CAM stages 402 , 404 , 406 , 408 , 410 indicate which bit line of the 32 bit lines of the two column areas is the inoperative bit line BL i .
  • the CAM stages together provide the same information regarding the location of the same inoperative bit line in a primary array that requires a substitution with a bit line in a redundant array. For example, referring to FIG. 5, assume that the output of the dual-ported CAM stages 402 , 404 , 406 , 408 , 410 , 412 , 414 , 416 is 00010001 respectively.
  • FIG. 6 is a circuit diagram of an exemplary group 500 of CAM stages 200 with shared output circuitry according to the memory of FIG. 2.
  • the exemplary CAM stage group 500 includes the following CAM stages 200 : CAMn/VERT 0 502 , CAMn/VERT 1 504 , CAMn/VERT 2 506 , and CAMn/VERT 3 508 .
  • the CAM stage CAMn/VERT 0 502 receives the write and read select signals WSEL 0 and RSEL 0 for VERT 0 .
  • the CAM stage CAMn/VERT 1 504 receives the write and read select signals WSEL 1 and RSEL 1 for VERT 1 .
  • the CAM stage CAMn/VERT 2 506 receives the write and read select signals WSEL 2 and RSEL 2 for VERT 2 .
  • the CAM stage CAMn/VERT 3 508 receives the write and read select signals WSEL 3 and RSEL 3 for VERT 3 .
  • a CAM stage 200 CAMn is located at each vertical array and each CAMn 502 , 504 , 506 , 508 stores a respective bit of information regarding the location of an inoperative bit line within each respective primary array.
  • the CAMn stages 502 , 504 , 506 , 508 are all coupled to a write pull-up transistor 510 , preferably a p-channel transistor, at a shared output 512 having a signal CAMnW and are all coupled to a read pull-up transistor 514 , preferably a p-channel transistor, at a shared output 516 having a signal CAMnR.
  • a write pull-up transistor 510 preferably a p-channel transistor
  • a read pull-up transistor 514 preferably a p-channel transistor
  • the write select signal WSEL 0 When a write operation is performed at VERT 0 , for example, the write select signal WSEL 0 will be active and the contents of the CAM cell within the dual-ported CAM stage CAMn/VERT 0 502 will be checked. Since a read operation may not be performed at VERT 0 while a write operation is being performed there, the read select signal RSEL 0 will not be active. In addition, the other write select signals WSEL 1 , WSEL 2 , and WSEL 3 will not be active, and the signal CAMnW at the shared output 512 will be low or high depending on the contents of the CAM cell within CAMn/VERT 0 502 .
  • the write select signal RSEL 2 when a read operation is performed at VERT 2 , for example, the write select signal RSEL 2 will be active and the contents of the CAM cell within the dual-ported CAM stage CAMn/VERT 2 506 will be checked. Since a write operation may not be performed at VERT 2 while a read operation is being performed there, the write select signal WSEL 2 will not be active. In addition, the other read select signals RSEL 0 , RSEL 1 , and RSEL 3 will not be active, and the signal CAMnR at the shared output 516 will be low or high depending on the contents of the CAM cell within CAMn/VERT 2 506 .
  • FIG. 1 all of the components of FIG. 1 are contained on a single integrated circuit chip. Note that address and control inputs for the exemplary flash memory chips are dependent on memory density and interface implementations. It will be appreciated that the disclosed embodiments can work with different memory densities and alternate interface implementations with their accompanying alternate address and control input configurations.
  • address is intended broadly to refer to any location identifier that uniquely corresponds to, or to the location of, one or more memory cells.
  • the presently preferred embodiments described herein present a redundancy CAM circuitry including dual-ported CAM stages. However, aspects of the embodiments can be applied with respect to operations other than redundancy substitutions of inoperative memory cells.
  • a coupled with B is defined to mean A directly connected to B, or A indirectly connected with B through one or more intermediate components.
  • the term user is intended to refer to a processor or other component or entity seeking access to memory.
  • the term inoperative when used in conjunction with a storage element or a group of storage elements, refers broadly to any condition or state that may require the substitution of one more storage elements for the inoperative storage element.
  • the storage element may include one or more memory cells, or bit lines, or interface circuitry to memory cells, for example.
  • an inoperative memory cell refers broadly to a memory cell with or without accompanying circuitry, such as a bit line that is coupled to the memory cell, or a bit line that includes the memory cell.
  • a lack of functionality of the storage element will require a substitution for the storage element. The lack of functionality may be due to damage or to a defect in the storage element or in an interface to the storage element.
  • the presently preferred embodiments provide a memory capable of substituting a second memory cell for an inoperative memory cell.
  • the memory includes a primary array of memory cells, a redundant array of memory cells, and redundancy content addressable memory (CAM) circuitry.
  • the redundancy CAM circuitry includes a plurality of dual-ported CAM stages. Each CAM stage includes a CAM cell, a write data bus coupled to the CAM cell, and a read data bus coupled to the CAM cell.
  • the CAM cell stores information regarding a location of an inoperative memory cell in the primary array.
  • the inoperative memory cell requires a substitution with a second memory cell in the redundant array.
  • the write data bus produces the information from the CAM cell responsively to a write select signal.
  • the write select signal is indicative of a write operation to be performed at memory cell locations in the primary array.
  • the read data bus produces the information from the CAM cell responsively to a read select signal.
  • the read select signal is indicative of a read operation to be performed at memory cell locations in the primary array.
  • the write operation and the read operation are performed at different times at memory cell locations in the primary array.
  • the memory is capable of comparing an operation address that refers to a location of a third memory cell in the primary array with the information of the CAM cell to determine whether the third memory cell in the primary array requires a substitution with the second memory cell in the redundant array.
  • the dual-ported CAM stage includes the dual-ported CAM stage 200 of FIG. 2.
  • the dual-ported CAM stages may be used other than the exemplary CAM stage 200 as suitable.
  • the presently preferred embodiments provide a dual-ported content addressable memory (CAM) stage in a memory.
  • the CAM stage includes a CAM cell, a write data bus coupled to the CAM cell, and a read data bus coupled to the CAM cell.
  • the CAM cell stores information regarding the location of an inoperative memory cell in a primary array of the memory.
  • the inoperative memory cell requires a substitution with a second memory cell in a redundant array of the memory.
  • the write data bus produces the information from the CAM cell responsively to a write select signal.
  • the write select signal is indicative of a write operation to be performed at memory cell locations in the primary array.
  • the read data bus produces the information from the CAM cell responsively to a read select signal.
  • the read select signal is indicative of a read operation to be performed at memory cell locations in the primary array.
  • the write operation and the read operation are performed at different times at memory cell locations in the primary array.
  • the memory is capable of comparing an operation address that refers to a location of a third memory cell in the primary array with the information of the CAM cell to determine whether the third memory cell in the primary array requires a substitution with the second memory cell in the redundant array.
  • the dual-ported CAM stage includes the dual-ported CAM stage 200 of FIG. 2.
  • the dual-ported CAM stages may be used other than the exemplary CAM stage 200 as suitable.
  • the presently preferred embodiments provide a memory capable of substituting a second memory cell for a first memory cell.
  • the memory includes a memory cell array, one or more redundant arrays of memory cells, and a CAM cell.
  • the memory cell array is capable of being operated on by a first task and a second task.
  • the memory cell array includes the one or more redundant arrays of memory cells.
  • the tasks are optionally performed concurrently with one another.
  • the memory cell array includes a first primary array of memory cells, and a second primary array of memory cells. If the first task is performed at the first primary array, the second task cannot be performed concurrently at the first primary array. If the second task is performed at the second primary array, the first task cannot be performed concurrently at the second primary array.
  • the CAM cell stores information regarding whether a first memory cell of the memory cell array requires a substitution with a second memory cell of one of the one or more redundant arrays. The CAM cell is capable of being accessed during the first task and during the second task.
  • the CAM cell stores the location of an inoperative memory cell of the memory cell array.
  • the inoperative memory cell requires a substitution with the second memory cell of the one or more redundant arrays.
  • the presently preferred embodiments provide a memory capable of substituting a third memory cell for a first memory cell, and capable of substituting a fourth memory cell for a second memory cell.
  • the memory includes a first primary array of memory cells, a first redundant array of memory cells associated with the first primary array of memory cells, a second primary array of memory cells, a second redundant array of memory cells associated with the first primary array of memory cells, and redundancy content addressable memory (CAM) circuitry.
  • the first primary array includes a first memory cell
  • the second primary array includes a second memory cell.
  • the redundancy CAM circuitry includes a first group of dual-ported CAM stages and a second group of dual-ported CAM stages.
  • the first group of dual-ported CAM stages stores first location information of the first memory cell.
  • the first memory cell requires a substitution with a third memory cell in the first redundant array.
  • the first memory cell may be damaged, or may be otherwise inoperative.
  • the second group of dual-ported CAM stages stores second location information of the second memory cell.
  • the second memory cell requires a substitution with a fourth memory cell in the second redundant array.
  • the second memory cell may be damaged, or may be otherwise inoperative.
  • a first initial CAM stage of the first group of CAM stages includes a first CAM cell, a first write data bus, and a first read data bus. The first write data bus and the first read data bus are respectively coupled to the CAM cell.
  • a second initial CAM stage of the second group of CAM stages includes a second CAM cell, a second write data bus, and a second read data bus.
  • the second write data bus and the second read data bus are respectively coupled to the CAM cell.
  • the second write data bus and the first write data bus share a first write output.
  • the second read data bus and the first read data bus share a first read output.
  • the first write data bus produces a first portion of the first location information from the first group of CAM stages at the first write output responsively to a first write select signal.
  • the first portion of the first location information includes one bit of information.
  • the first write select signal is indicative of a write operation to be performed on memory cell locations in the first primary array.
  • the second write data bus produces a second portion of the second location information from the second group of CAM stages at the first write output responsively to a second write select signal.
  • the second portion of the second location information includes one bit of information.
  • the second write select signal is indicative of a write operation to be performed on memory cell locations in the second primary array.
  • the memory further includes a write bias transistor coupled to the first write output to bias the first write output to a first value.
  • a write bias transistor coupled to the first write output to bias the first write output to a first value.
  • the first CAM cell is erased.
  • the second CAM cell is erased.
  • the second CAM cell is programmed.
  • the first read data bus produces a first portion of the first location information from the first group of CAM stages at the first read output responsively to a first read select signal.
  • the first portion of the first location information includes one bit of information.
  • the first read select signal is indicative of a read operation to be performed on memory cell locations in the first primary array.
  • the second read data bus produces a second portion of the second location information from the second group of CAM stages at the first read output responsively to a second read select signals.
  • the second portion of the second location information includes one bit of information.
  • the second read select signal is indicative of a read operation to be performed on memory cell locations in the second primary array.
  • the memory further includes a read bias transistor coupled to the first read output to bias the first read output to a first value.
  • a read operation is performed at the first primary array and the first read output is pulled to a second value
  • the first CAM cell is erased.
  • the first CAM cell is programmed.
  • the second CAM cell is erased.
  • the second CAM cell is programmed.
  • the presently preferred embodiments provide a method of substituting a second memory cell in a redundant array of memory cells for an inoperative memory cell in a primary array of memory cells.
  • Information is stored in a series of dual-ported CAM stages. The information is regarding a location of the inoperative memory cell.
  • An operation address, corresponding to one or more location of memory cells in the primary array, is compared with the information in the series of dual-ported CAM stages to determine whether the one or more locations of memory cells comprise the location of the inoperative memory cell. If the one or more locations of memory cells include the location of the inoperative memory cell, then the location of the second memory cell is accessed with the operation address. If the one or more locations of memory cells do not include the location of the inoperative memory cell, the one or more locations of memory cells are accessed with the operation address.
  • the operation address is a write address. In one preferred embodiment the operation address is a read address.

Abstract

A flash memory having redundancy content addressable memory (CAM) circuitry is described. The flash memory is capable of substituting a second memory cell for an inoperative memory cell. The flash memory includes a primary array of memory cells, a redundant array of memory cells, and the redundancy CAM circuitry. The redundancy CAM circuitry includes a plurality of dual-ported CAM stages. Each CAM stage includes a CAM cell, a write data bus coupled to the CAM cell, and a read data bus coupled to the CAM cell. The CAM cell stores information regarding a location of an inoperative memory cell in the primary array. The inoperative memory cell requires a substitution with a second memory cell in the redundant array. The write data bus produces the information from the CAM cell responsively to a write select signal. The write select signal is indicative of a write operation to be performed at memory cell locations in the primary array. The read data bus produces the information from the CAM cell responsively to a read select signal. The read select signal is indicative of a read operation to be performed at memory cell locations in the primary array.

Description

    BACKGROUND
  • The present invention relates generally to semiconductor memory devices. More particularly, the present invention relates to dual-ported content addressable memories for a simultaneous operation flash memory. [0001]
  • Flash random access memory (RAM), more commonly known as flash memory, is a form of non-volatile storage that uses a memory cell design with a floating gate. High voltages are applied to the memory cell inputs to program or store charge on the floating gate or to erase or remove charge from the floating gate. Programming occurs by hot electron transfer to place charge on the floating gate while erasure makes use of Fowler-Nordheim tunneling in which electrons pierce a thin dielectric material, reducing the amount of electronic charge on the floating gate. Erasing a cell sets the logical value of the cell to “1” while programming the cell sets the logical value to “0”. Aside from programming or erasing operations, a flash memory operates similarly to a randomly accessible read only memory (ROM). Conventionally, a flash memory chip, including the flash memory storage cells and support logic/circuitry, is made by fabricating layers of semiconductor material and interconnect layers of polysilicon and first and second metal layers onto a substrate. It will be appreciated that there are numerous integrated circuit fabrication techniques, involving more or fewer layers, which are applicable herein. [0002]
  • Redundant core cell arrays are utilized to substitute for inoperative memory core cells of primary or regular arrays. Content addressable memory (CAM) circuitry may be utilized to assist in redundancy substitution. Redundancy CAM cells store information regarding the locations of inoperative memory cells so that redundant arrays of memory cells may be used to substitute for the inoperative memory cells of the primary arrays. [0003]
  • Typically, the arrays of memory cells are tested by the manufacturer for performance and accuracy prior to utilization by a customer or user. The redundancy CAM cells are erased and programmed with the locations of inoperative memory cells as appropriate following the testing stage. [0004]
  • Newer technologies, such as simultaneous read and write operation flash memories, present opportunities for the redesign of CAM circuitries and architectures to meet increasing standards of system performance, and device density. It would be desirable to implement a more efficient redundancy CAM circuitry and architecture in a flash memory.[0005]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a memory according to a presently preferred embodiment; [0006]
  • FIG. 2 is an exemplary core cell array including primary arrays and redundant arrays according to the memory of FIG. 1; [0007]
  • FIG. 3 is a circuit diagram of an exemplary CAM stage and accompanying output circuitry according to the memory of FIG. 1; [0008]
  • FIG. 4 is a block diagram illustrating an exemplary CAM stage array and accompanying output circuitry according to the memory of FIG. 1 and the exemplary core cell array of FIG. 2; [0009]
  • FIG. 5 is a block diagram illustrating an exemplary group of CAM stages associated with one vertical array of the exemplary core cell array of FIG. 2; and [0010]
  • FIG. 6 is a circuit diagram of an exemplary group of CAM stages with shared output circuitry according to the memory of FIG. 2.[0011]
  • DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS
  • Redundant core cell arrays are utilized to substitute for inoperative memory core cells of primary or regular arrays. Content addressable memory (CAM) circuitry may be utilized to assist in redundancy substitution. Redundancy CAM cells store information regarding the locations of inoperative memory cells so that redundant arrays of memory cells may be used to substitute for the inoperative memory cells of the primary arrays. [0012]
  • Typically, the arrays of memory cells are tested by the manufacturer for performance and accuracy prior to utilization by a customer or user. The redundancy CAM cells are erased and programmed with the locations of inoperative memory cells as appropriate following the testing stage. [0013]
  • Core cells in memory may be byte or word addressable. If a particular operation is to be performed at a primary array, an address for the operation is supplied. Before the memory cell location for the primary array is accessed, the address is compared with address information relating to the location of the inoperative memory cells. If the address matches a location of a group of inoperative memory cells, the address is redirected to the redundant array. The operation is then performed at the redundant array. If the address does not match a location of a group of inoperative memory cells, the address is applied to the primary array, and the operation is performed at the primary array. Typically, this substitution of primary array memory cells with redundant array memory cells is seamless and transparent to the user of the memory. [0014]
  • Newer technologies, such as simultaneous read and write operation flash memories, present opportunities for the redesign of CAM circuitries and architectures to meet increasing standards of system performance, and device density. The presently preferred embodiments described herein implement a more efficient redundancy CAM circuitry and architecture in a memory such as a flash memory. [0015]
  • A CAM cell is configured to store information regarding a location of an inoperative memory cell in a primary core cell array. Typically, the inoperative memory cell requires a substitution with a memory cell in a redundant array. The information stored in the CAM cell may also relate to whether a memory cell, as addressed by an operation address of the primary core cell array requires a substitution with a memory cell of a redundant array. Since an individual CAM cell or group of CAM cells can store information to determine whether an operation address refers to a location of an inoperative memory cell in a core cell array, and since the operation address might be used for a read or a write operation, then in general it would be expected that an individual CAM or group of CAM cells would be required to store information separately for each operation in a particular area. [0016]
  • With simultaneous operation, however, a read and a write operation are restricted from being performed simultaneously within the same bank. Additionally restrictive criteria on simultaneous read and write operation may apply. Therefore, according to the presently preferred embodiments, one individual dual-ported CAM cell or one group of CAM cells storing information regarding the location of an inoperative memory cell of the core cell array may be accessed during a read operation and during a write operation. Due to the restrictions on simultaneous read and write operation, the CAM cell or cells may be accessed with no concern of simultaneous access of the one individual CAM cell or one group of CAM cells. Depending on the design, the dual nature of the CAM cell can exploit simultaneous operation to improve efficiency of CAM cell layout and reduce the number of devices and peripheral circuitry. [0017]
  • Referring now to FIG. 1, it is a block diagram of a memory [0018] 100 according to a presently preferred embodiment. In the illustrated embodiment, the memory 100 is configured as a flash memory formed as a complementary metal-oxide-semiconductor (CMOS) integrated circuit for storing digital data. However, the memory 100 may take any other suitable form and in fact the principles described herein may be applied in any other suitable circuit in which simultaneous operation permits a dual-ported CAM architecture. The memory 100 includes a core cell array 102, a decoder 104, address buffer circuitry 108, redundancy CAM circuitry 106, a control logic circuit 110, and sense amplifier and output circuitry 112. The control logic circuit 110 is coupled to the decoder 104, the address buffer circuitry 108, and the sense amplifier and output circuitry 112. The control logic circuit 110 produces a series of read and write select operation signals RSEL, WSEL and distributes the signals to the decoder 104 and the redundancy CAM circuitry 106. Preferably, the control logic circuit 110 distributes timing and other control signals for the memory 100.
  • The [0019] core cell array 102 includes a plurality of memory cells, each configured to store data. In some applications, each memory cell may store a single bit of data; in other applications, each memory cell may store two or more bits of data. The memory cells of the core cell array 102 may be byte or word addressable and are accessed by a corresponding address at the address buffer circuitry 108. In a presently preferred embodiment, the memory cells are accessed as data words, and the addresses correspond to unique data words. In other embodiments, each memory cell has a unique address, which is decoded by the decoder 104.
  • Preferably, the [0020] decoder 104 includes row or x-address decoding logic and bit line or y-address decoding logic. Preferably, the x-address decoding logic of the decoder 104 responds to an address signal ADD provided from the address buffer circuitry 108 by activating one word line of a plurality of word lines, each word line being associated with one row of the core cell array 102. In response to activation of the word line, memory cells associated with that word line turn on and begin sinking current. To adequately turn on the memory cells, the word line must be varied by a substantial potential difference, such as 3.0 to 4.0 V, for example.
  • Preferably, the y-address decoding logic of the [0021] decoder 104 couples the appropriate bit line of the core cell array 102 to the sense amplifier and output circuitry 114. The y-address decoding logic responds to an address ADD from the address buffer circuitry 108 to decode the selected bit line from among a plurality of bit lines of the core cell array 102. The sense amplifier and output circuitry 114 senses the current in the selected memory cell of the core cell array 102 and determines the binary state of the one or more bits of data stored in the selected memory cell. The circuitry 112 produces the memory cell data that are sensed, preferably as data words, by the sense amplifier circuitry 114 at the output of the memory 100 for use external to the memory 100. Other circuitry, not shown in FIG. 1, provides for programming, reading, verifying, erasing, and performing other operations as necessary on the individual memory cells of the core cell array 102.
  • The memory [0022] 100 operates in response to a supply voltage, labeled VCC in FIG. 1. The potential difference between VCC and ground is the supply voltage and may be in the range 0.8 to 3.3 volts, for example. The suitability of the supply voltage VCC will depend on a variety of factors, including the technology with which the memory 100 is fabricated. In general, in advanced CMOS processes, the supply voltage will nominally be 1.8 volts. In absolute terms, this voltage is greater than the magnitude of the turn-on, or threshold, voltage Vtp for p-channel transistors of −0.9 volts and the turn-on or threshold voltage Vtn for n-channel transistors of +1.0 volts.
  • The [0023] core cell array 102 preferably includes a series of primary arrays and redundant arrays. The redundancy CAM circuitry 106 of FIG. 1 further includes CAM cells that store information regarding the location of an inoperative memory cell or of an inoperative bit line of one of the primary arrays of the core cell array 102. Preferably, a bit line of an associated redundant array is used as a substitute for an inoperative bit line. The CAM cells of the redundancy CAM circuitry 106 are programmed and erased at the PROG/ERASE input shown in FIG. 1. Preferably, the CAM cells are programmed and erased during a testing stage that takes place prior to use of the chip by an end-user or customer.
  • Preferably, whenever an operation such as a read or write is performed at the [0024] core cell array 102, the operation address is applied to the redundancy CAM circuitry 106 to compare the operation address with the information stored in the CAM cells. Preferably, if the operation address matches the location information stored in the CAM cells, then at least one of the memory cells locations to which the operation address refers is inoperative and requires a redundancy substitution.
  • For example, if a read operation is performed into the regular array, a read address that corresponds to a series of memory cells preferably making up a data word is compared with the information in the redundancy CAM cells. If an inoperative bit line happens to include one of the series of memory cells that the read address would access with no redundancy substitution, then the redundancy CAM circuitry will indicate a read match for the read address. Preferably, decoding logic ensures that a bit line of the redundant array is substituted for the inoperative bit line and the inoperative memory cell that the read address would access with no redundancy substitution. A similar substitution would occur if an inoperative bit line happens to include one of the series of memory cells that the write address would access with no redundancy substitution. [0025]
  • Referring now to FIG. 2, it is a diagram illustrating an exemplary [0026] core cell array 102 including primary arrays and redundant arrays according to the memory 100 of FIG. 1. Horizontally, the exemplary core cell array 102 of FIG. 2 is divided into an upper bank 114 and a lower bank 116. Vertically, the array 102 is divided into four vertical arrays VERT0, VERT1, VERT2, VERT3, each vertical array including a primary array and an associated redundant array. The upper bank 114 includes upper primary arrays 118, 120, 122, 124 and upper redundant arrays 126, 128, 130, 132. The lower bank 116 includes lower primary arrays 134, 136, 138, 140 and lower redundant arrays 142, 144, 146, 148. The vertical array VERT0 includes the primary arrays 118, 134 and the redundant arrays 126, 142. The vertical array VERT1 includes the primary arrays 120, 136 and the redundant arrays 128, 144. The vertical array VERT2 includes the primary arrays 122, 138 and the redundant arrays 130, 146. The vertical array VERT3 includes the primary arrays 124, 140 and the redundant arrays 132, 148.
  • Preferably, the memory [0027] 100 is a simultaneous operation memory. One of the limitations of simultaneous operation, for example, of simultaneous read and write operation, memories is that a read and a write operation may be performed simultaneously, but into different banks. Preferably, one additional limitation with respect to the core cell array 102 of FIG. 2 is that a read and a write operation may only be performed simultaneously into different banks not located within the same vertical array. That is, if a write operation is performed into the upper primary array 118 of the vertical array VERT0, then a read operation may be performed into any one of the lower primary arrays 136, 138, 140 of the vertical arrays VERT1, VERT2, VERT3, respectively. However, in this instance a read operation may not be performed into any of the upper primary arrays 118, 120, 122, 124 of the vertical arrays VERT0, VERT1, VERT2, VERT3, respectively, or into the lower primary array 134 of the vertical array VERT0.
  • In a presently preferred embodiment, each vertical array is divided into nine sectors of memory cells (not shown in FIG. 2). Horizontally, each sector is preferably divided into a series of column areas within the primary array. Each column area, in turn, includes a number of memory cells. Each memory cell of the column area preferably corresponds to a unique bit line for the primary array. As discussed above, in the event of an inoperative memory cell in the primary arrays, the location of the inoperative memory cell is identified. Preferably, a bit line spanning the upper and lower redundant array portions of the vertical array substitutes for the entire bit line of the primary array that corresponds to the inoperative memory cell. Preferably, if one memory cell of a bit line is inoperative, the entire bit line will be substituted for by a redundant bit line, so that an inoperative bit line by definition includes at least one inoperative memory cell. Typically, and depending on the design of the [0028] core cell array 102, a limited number of inoperative bit lines of a primary array may be substituted for with an associated redundant array.
  • In a presently preferred embodiment, the memory cells are accessed as data words, with a column area of memory cells storing a unique data word. For example, in one embodiment according to the memory [0029] 100, a read operation is performed where two 16 bit data words are read at a time internally while one 16 bit data word is produced at a time from the output circuitry 112. In this way, two column areas would be accessed together in a read operation. By contrast, a write operation is performed with one 16 bit data word at a time, and one column area would be accessed at a time. Of course, these data word lengths are exemplary and other word lengths may be used as suitable.
  • Referring now to FIG. 3, it is a circuit diagram of an exemplary dual-ported [0030] CAM stage 200 and accompanying output circuitry according to the memory of FIG. 1. In other embodiments, the dual-ported CAM stage 200 may be utilized without the accompanying output circuitry to indicate the necessity of redundancy substitution. The exemplary CAM stage 200 includes a dual-ported CAM cell 202, a write data bus 204, and a read data bus 206. The CAM cell 202 is a transistor, preferably an n-channel metal-oxide-semiconductor field effect transistor (MOSFET). While the CAM cell 202 is preferably a MOSFET transistor utilized as a nonvolatile memory cell, any suitable active data storage element may be used for the CAM cell 202. The write data bus 204 has an output port coupled to a node 212 and an input coupled to the drain of the CAM cell 202 at a node 216. The read data bus 206 has an output port coupled to a node 214 and an input coupled to the drain of the CAM cell 202 at the node 216. The write data bus 204 and the read data bus 205 are transistors, preferably n-channel MOSFETs. Of course, any suitable data bus may be used for the data buses 204, 205. A write select signal WSELm is applied to the gate of the write data bus 204, while a read select signal RSELm is applied to the gate of the read data bus 205. A voltage VG is applied to the gate input of the CAM cell 202, while a voltage VS is applied to the source input of the CAM cell 202. Preferably, during regular operation of the CAM cell 202, such as when the CAM cell 202 is checked or accessed, the voltage VS will be at ground potential.
  • A shorthand designation for the exemplary dual-ported [0031] CAM stage 200 is also presented in FIG. 3. A generic CAM stage 200 can be referred to as CAMn/VERTm, where m refers to any one of M vertical arrays VERT0, VERT1, . . . , VERTM, where n refers to any one of N CAM stages 200 CAM0, CAM1, . . . , CAMN associated with a vertical array VERTm. Preferably, in the exemplary core cell array 102 shown in FIG. 2, there are M=4 vertical arrays VERT0, VERT1, VERT2, VERT3. Preferably, each vertical array VERTm has N=8 associated and unique redundancy dual-ported CAM stages CAM0, CAM1, CAM2, CAM3, CAM4, CAM5, CAM6, CAM7. Of course, the core cell array 102 is scalable and may be designed, sized, arranged, or separated differently from the exemplary core cell array 102 shown in FIG. 2. The number of redundancy CAM cells 202 and stages 200 associated with each vertical may also vary depending on the embodiment and the particular design and layout of the core cell array 102. That is, more redundancy arrays may be provided or additional CAM cells may be used to particularly identify the location of an inoperative memory cell, the location of the inoperative bit line that includes the inoperative memory cell, or the column area in which the inoperative bit line is located.
  • Preferably, the [0032] CAM cell 202 is a non-volatile memory cell that is capable of being erased of information or of being programmed with information. If the CAM cell 202 is an n-channel MOSFET transistor, this is accomplished via modification of the threshold voltage of the transistor. The signal cell program/erase and the accompanying arrow are intended to indicate the program/erase operation performed on the CAM cell 202. The CAM cell 202 will respond differently to an applied gate voltage depending on whether the CAM cell 202 is programmed or erased.
  • When the [0033] CAM cell 202 is programmed, regulated voltages are preferably applied to the drain and the gate of the transistor cell 202. The regulated voltages are relatively high, compared with the supply voltage VCC. For example, in a preferred embodiment, a voltage VD of approximately 5.0 volts is applied to the drain, while a voltage VG of around 8.5 volts is applied to the gate input of transistor CAM cell 202. Regardless of the voltages utilized, the combined effect of the programming operation on the CAM cell 202 is to increase the threshold voltage higher than any applied voltage at the gate of the CAM cell 202 during regular operation of the redundancy CAM circuitry 106, that is, higher than the supply voltage VCC.
  • During regular operation, once the [0034] CAM cell 202 is programmed and the drain of the cell 202 is at ground potential, when a gate voltage VG, preferably the supply voltage VCC, is applied nothing will happen, i.e. the CAM cell will not turn on or conduct.
  • Typically, all of the CAMs, including the dual-ported [0035] CAM cells 202 in the memory 100, are preprogrammed prior to erasure, and are erased together. The CAM cells 202 may be erased with an ultra-violet erase procedure as is known to those skilled in the art. Of course, other erase techniques may be used. The effect of the erase operation on the CAM cell 202 is to lower the threshold voltage from its value when the cell 202 is programmed to a regular value consistent with a regular transistor. Preferably, when the CAM cell 202 is erased, the threshold voltage is set so that the cell 202 will behave like an n-channel transistor, i.e., when a gate voltage VG equivalent to the supply voltage VCC is applied, the transistor will turn on and conduct.
  • Also illustrated in FIG. 3 are two p-[0036] channel bias transistors 208, 210, preferably utilized as accompanying output circuitry for the exemplary CAM stage 200. Preferably, the transistors 208, 210 are designed and sized as weak pull-up transistors relative to the CAM cell 202. The p- channel transistors 208, 210 are preferably low threshold voltage transistors in FIG. 3. In an exemplary embodiment, the transistors 208, 210 each have a nominal threshold voltage approximately in the range of −0.5 volts to −0.8 volts. A threshold voltage falling within this range is smaller than a threshold voltage of a conventional p-channel transistor, which is typically around −1.2 volts. It is well known to those skilled in the art that the threshold voltages of transistors such as MOSFETs are controlled during fabrication. The device fabrication process allows some flexibility in selecting the threshold voltage. However, normal values prevail and are in common usage for MOSFETs in particular processes. It should be understood that these threshold voltages are exemplary only. Generally, transistor design parameters, such as threshold voltages and device sizes, other circuit configurations, or other applicable design techniques available to those skilled in the art may be used or substituted where suitable.
  • The p-[0037] channel transistors 208, 210 may be referred to with regard to their connection with the write and read data buses 204, 206. The write p-channel bias transistor 208 is coupled to the output port of the write data bus 204 at the node 212. The generic CAM stage 200, which may be referred to as CAMn/VERTm, and the write p-channel bias transistor 208 produce a signal CAMnW at the node 212, where, as above, n refers to any one of N CAM stages 200 CAM0, CAM1, . . . , CAMN associated with a vertical array VERTm. The W identifies the signal CAMnW at the node 212 as a write operation CAM signal.
  • Similarly, the read p-[0038] channel bias transistor 210 is coupled to the output port of the read data bus 206 at the node 214. The generic CAM stage 200, which may be referred to as CAMn/VERTm, and the read p-channel bias transistor 210 produce a signal CAMnR at the node 214, where, as above, n refers to any one of N CAM stages 200 CAM0, CAM1, . . . , CAMN associated with a vertical array VERTm. The R identifies the signal CAMnR at the node 214 as a read operation CAM signal.
  • The gate inputs of the read and the write p-[0039] channel bias transistors 210, 208 are connected to ground potential, while the source inputs are at the supply voltage VCC. Therefore, since the transistors 210, 208 are low threshold voltage transistors as described above, the transistors 210, 208 will conduct and the respective nodes 212, 214 will be at VCC in the absence of pull-down action from the CAM stage 200.
  • The operation of the [0040] CAM stage 200 in conjunction with the transistors 208, 210 proceeds as follows. Preferably, whenever an operation to access the core cell array 102 occurs, regardless of whether the operation is a read or a write, the CAM cells 202 of the redundancy CAM circuitry 106 are accessed. A determination is made whether the address in question (a read address or a write address) includes an inoperative memory cell location where a redundancy substitution is needed. The information regarding this location was programmed into the CAM cells 202 preferably prior to the operation. Preferably, whenever a read or write operation or both occurs, the source voltage VS of every CAM cell 202 is at ground potential and the gate voltage VG of every CAM cell 202 is brought up to the supply voltage VCC.
  • A [0041] CAM cell 202 will respond differently to an applied gate voltage depending on whether or not the CAM cell 202 is program or erased. If a write operation is being performed at a vertical array VERTm, then the write select signal WSELm will be high and the write data bus 204 will be on. A programmed CAM cell 202 will remain off and will not turn on or conduct in response to an applied gate voltage VG, preferably the supply voltage VCC. The write pull-up transistor 208 will conduct and the node 212 will be at VCC in the absence of pull-down action from the CAM stage 200. Therefore, if the CAM cell 202 is programmed and the write data bus 204 is on, the node 212 remains high or at VCC.
  • If a write operation is being performed at a vertical array VERTm, then the write select signal WSELm will be high and the [0042] write data bus 204 will be on. An erased CAM cell 202 will behave like an n-channel transistor and will turn on and conduct in response to an applied gate voltage VG, preferably the supply voltage VCC. The CAM cell 202 will pull the node 216 to ground potential. Preferably, the CAM cell 202 is designed to be stronger than the write pull-up transistor 208 and therefore, if the CAM cell 202 is erased and the write data bus 204 is on, the node 212 will be pulled to ground potential.
  • If a write operation is not being performed at a vertical array VERTm, then the [0043] write data bus 204 will be off, and the CAM cell 202 will not be checked. Whether the CAM cell 202 is programmed or erased will not affect the value of the signal CAMnW at the node 212.
  • Generally, if a write operation is being performed at a vertical array VERTm, the signals CAM[0044] 0W . . . CAMNW will specify the location of the bit line where a redundancy substitution is to be made, if one exists and if one was programmed in the CAM stages 200 CAM0/VERTm . . . CAMN/VERTm. Preferably, one or more of the signals CAM0W . . . CAMNW will be compared with the write address to determine whether there is a write match. If there is a write match for an inoperative bit line, a bit line from the redundant array substitutes for the inoperative bit line. That is, the redundant bit line is utilized instead of the inoperative bit line if a match is indicated between the write address and the CAM stages 200 associated with the primary array at which the write operation otherwise occurs.
  • Similarly, if a read operation is being performed at a vertical array VERTm, then the read select signal RSELm will be high and the read data bus [0045] 206 will be on. A programmed CAM cell 202 will remain off and will not turn on or conduct in response to an applied gate voltage VG, preferably the supply voltage VCC. The read pull-up transistor 210 will conduct and the node 214 will be at VCC in the absence of pull-down action from the CAM stage 200. Therefore, if the CAM cell 202 is programmed and the read data bus 206 is on, the node 214 remains high or at VCC.
  • If a read operation is being performed at a vertical array VERTm, then the read select signal RSELm will be high and the read data bus [0046] 206 will be on. An erased CAM cell 202 will behave like an n-channel transistor and will turn on and conduct in response to an applied gate voltage VG, preferably the supply voltage VCC. The CAM cell 202 will pull the node 216 to ground potential. Preferably, the CAM cell 202 is designed to be stronger than the read pull-up transistor 210 and therefore, if the CAM cell 202 is erased and the read data bus 204 is on, the node 214 will be pulled to ground potential.
  • If a read operation is not being performed at a vertical array VERTm, then the read data bus [0047] 206 will be off, and the CAM cell 202 will not be checked. Whether the CAM cell 202 is programmed or erased will not affect the value of the signal CAMnR at the node 214.
  • Generally, if a read operation is being performed at a vertical array VERTm, the signals CAM[0048] 0R . . . CAMNR will specify the location of the bit line where a redundancy substitution is to be made, if one exists and one was programmed in the CAM stages 200 CAM0/VERTm . . . CAMN/VERTm. Preferably, one or more of the signals CAM0R . . . CAMNR will be compared with the read address to determine whether there is a read match. If there is a read match for an inoperative bit line, a bit line from the redundant array substitutes for the inoperative bit line. That is, the redundant bit line is utilized instead of the inoperative bit line if a match is indicated between the read address and the CAM stages 200 associated with the primary array at which the read operation otherwise occurs.
  • FIG. 4 is a block diagram illustrating an exemplary [0049] CAM stage array 300 and accompanying output circuitry according to the memory of FIG. 1 and the exemplary core cell array 102 of FIG. 2. Preferably, the redundancy CAM circuitry 106 of FIG. 1 includes the exemplary CAM stage array 300. The CAM stage array 300 includes the following CAM stages 200:
  • associated with the vertical array VERT[0050] 0:
  • CAM[0051] 0/VERT0 302, CAM1/VERT0 304, CAM2/VERT0 306, CAM3/VERT0 308, CAM4/VERT0 310, CAM5/VERT0 312, CAM6/VERT0 314, and CAM7/VERT0 316;
  • associated with the vertical array VERT[0052] 1:
  • CAM[0053] 0/VERT1 318, CAM1/VERT1 320, CAM2/VERT1 322, CAM3/VERT1 324, CAM4/VERT1 326, CAM5/VERT1 328, CAM6/VERT1 330, and CAM7/VERT1 332;
  • associated with the vertical array VERT[0054] 2:
  • CAM[0055] 0/VERT2 334, CAM1/VERT2 336, CAM2/VERT2 338, CAM3/VERT2 340, CAM4/VERT2 342, CAM5/VERT2 344, CAM6/VERT2 346, and CAM7/VERT2 348;
  • associated with the vertical array VERT[0056] 3:
  • CAM[0057] 0/VERT3 350, CAM1/VERT3 352, CAM2/VERT3 354, CAM3/VERT3 356, CAM4/VERT3 358, CAM5/VERT3 360, CAM6/VERT3 362, and CAM7/VERT3 364.
  • The [0058] CAM stage array 300 further includes read p-channel pull-up low- threshold voltage transistors 366, 368, 370, 372, 374, 376, 378, 380, write p-channel pull-up low threshold voltage transistors 382, 384, 386, 388, 390, 392, 394, 396.
  • All of the CAM stages [0059] 200 of the CAM stage array 300 associated with the vertical array VERT0 receive the write and read select signals WSEL0, RSEL0. All of the CAM stages 200 of the CAM stage array 300 associated with the vertical array VERT1 receive the write and read select signals WSEL1, RSEL1. All of the CAM stages 200 of the CAM stage array 300 associated with the vertical array VERT2 receive the write and read select signals WSEL2, RSEL2. All of the CAM stages 200 of the CAM stage array 300 associated with the vertical array VERT3 receive the write and read select signals WSEL3, RSEL3.
  • The CAM stages CAM[0060] 0/VERT0 302, CAM0/VERT1 318, CAM0/VERT2 334, and CAM0/VERT3 350 are all coupled to the read pull-up transistor 366 at a shared output having a signal CAM0R and are all coupled to the write pull-up transistor 382 at a shared output having a signal CAM0W.
  • The CAM stages CAM[0061] 1/VERT0 304, CAM1/VERT1 320, CAM1/VERT2 336, and CAM1/VERT3 352 are all coupled to the read pull-up transistor 368 at a shared output having a signal CAM1R and are all coupled to the write pull-up transistor 384 at a shared output having a signal CAM1W.
  • The CAM stages CAM[0062] 2/VERT0 306, CAM2/VERT1 322, CAM2/VERT2 338, and CAM2/VERT3 354 are all coupled to the read pull-up transistor 370 at a shared output having a signal CAM2R and are all coupled to the write pull-up transistor 386 at a shared output having a signal CAM2W.
  • The CAM stages CAM[0063] 3/VERT0 308, CAM3/VERT1 324, CAM3/VERT2 340, and CAM3/VERT3 356 are all coupled to the read pull-up transistor 372 at a shared output having a signal CAM3R and are all coupled to the write pull-up transistor 388 at a shared output having a signal CAM3W.
  • The CAM stages CAM[0064] 4/VERT0 310, CAM4/VERT1 326, CAM4/VERT2 342, and CAM4/VERT3 358 are all coupled to the read pull-up transistor 374 at a shared output having a signal CAM4R and are all coupled to the write pull-up transistor 390 at a shared output having a signal CAM4W.
  • The CAM stages CAM[0065] 5/VERT0 312, CAM5/VERT1 328, CAM5/VERT2 344, and CAM5/VERT3 360 are all coupled to the read pull-up transistor 376 at a shared output having a signal CAM5R and are all coupled to the write pull-up transistor 392 at a shared output having a signal CAM5W.
  • The CAM stages CAM[0066] 6/VERT0 314, CAM6/VERT1 330, CAM6/VERT2 346, and CAM6/VERT3 362 are all coupled to the read pull-up transistor 378 at a shared output having a signal CAM6R and are all coupled to the write pull-up transistor 394 at a shared output having a signal CAM6W.
  • The CAM stages CAM[0067] 7/VERT0 316, CAM7/VERT1 332, CAM7/VERT2 348, and CAM7/VERT3 364 are all coupled to the read pull-up transistor 380 at a shared output having a signal CAM7R and are all coupled to the write pull-up transistor 396 at a shared output having a signal CAM7W.
  • FIG. 5 is a block diagram illustrating an [0068] exemplary group 400 of CAM stages 200 associated with one vertical array VERTm of the exemplary core cell array 102 of FIG. 2. The exemplary CAM stage group 400 includes the following CAM stages 200: CAM0/VERTm 402, CAM1/VERTm 404, CAM2/VERTm 406, CAM3/VERTm 408, CAM4/VERTm 410, CAM5/VERTm 412, CAM6/VERTm 414, and CAM7/VERTm 416, all associated with a vertical array VERTm. All of the CAM stages 200 of the CAM stage group 400 receive a write select signal WSELm and a read select signal RSELm corresponding to the vertical array VERTm.
  • As discussed above, since the memory [0069] 100 supports simultaneous operation, the redundancy CAM circuitry 106 is preferably capable of keeping track of two separate operations taking place, such as a read operation and a write operation. In addition, in a presently preferred embodiment, the memory cells are accessed as data words, with a column area of memory cells storing a unique data word. For example, in one embodiment according to the memory 100, a read operation is performed where two 16 bit data words are read at a time internally while one 16 bit data word is produced at a time from the output circuitry 112 of FIG. 1. In this way, two column areas would be accessed together in a read operation. By contrast, a write operation is performed with one 16 bit data word at a time, and one column area would be accessed at a time. Of course, these data word lengths are exemplary and other word lengths may be used as suitable.
  • According to presently preferred embodiment, a horizontal row in the primary array of a vertical array VERTm will include p column areas, each including q bit lines. For example, the row may include p=16 column areas with each of the 16 column areas including q=16 bit lines, for a total of 256 bit lines in a horizontal row. Of course, these values are exemplary and intended to explain rather than limit the presently preferred embodiments. [0070]
  • The exemplary [0071] CAM stage group 400 of eight CAM stages 402, 404, 406, 408, 410, 412, 414, 416 specifies the location of an inoperative bit line with a column area of the primary array of the vertical array VERTm. Preferably, a redundant bit line of the redundant array substitutes for the inoperative bit line that would otherwise be accessed by a write or read operation.
  • The location of an inoperative bit line BL[0072] i is identified first by identifying the column area of the p column areas that includes the inoperative bit line. Next, the bit line of the q bit lines of the column area that corresponds to the inoperative bit line is identified. Accordingly, the exemplary CAM stage group 400 of eight CAM stages 402, 404, 406, 408, 410, 412, 414, 416 preferably stores two pieces of information to indicate that the location of the inoperative bit line BLi.
  • For a write operation, the f-bit (2[0073] f=p) write address that corresponds to a column area having q bit lines is compared to the f-bit (2f=p) address stored in a group of f address CAM stages. The column area preferably stores a data word. In particular, the f address CAM stages specify the f-bit (2f=p) address of the column area that includes the inoperative bit line BLi. If there is a match between the f-bit write address and the f-bit address stored in the f address CAM stages, then the location of the inoperative bit line BLi is identified by g (2g=q) I/O CAM stages. The values for f and g will in general depend on the values for p and q.
  • For example, according to a presently preferred embodiment, the write operation is performed with one 16 bit data word at a time, and one of p=16 column areas, each column area including q=16 bit lines, is accessed at a time. According to FIG. 5, f=4 (2[0074] 4=16) address CAM stages 410, 412, 414, 416 store the 4-bit address of a column area that includes an inoperative bit line BLi, and g=4 (24=16) I/O CAM stages 402, 404, 406, 408 store the location of the inoperative bit line BLi of the 16 bit lines within the column area. When a write operation is performed the write address is compared against the write address CAM signals WRITEADD0, WRITEADD1, WRITE ADD2, and WRITE ADD3 of the address CAM stages CAM4/VERTm 410, CAM5/VERTm 412, CAM6/VERTm 414, and CAM7/VERTm 416, respectively (with address matching circuitry not illustrated in FIG. 5 or FIG. 1.). If the write address and the write address CAM signals match, the I/O CAM stages 402, 404, 406, 408 indicate which bit line of the 16 bit lines is the inoperative bit line BLi.
  • For a read operation, the h-bit (2[0075] h=p/2) read address that corresponds to two column areas, having a total of 2q bit lines, is compared to the h-bit (2h=p/2) address stored in a group of h address CAM stages. The two column areas preferably store two data words. In particular, the h address CAM stages specify the h-bit (2h=p/2) address of the two column areas, one of which includes the inoperative bit line BLi. If there is a match between the h-bit read address and the h-bit address stored in the h address CAM stages, then the location of the inoperative bit line BLi is identified by j (2j=2q) I/O CAM stages. The values for h and j will in general depend on the values for p and q.
  • For example, according to a read operation in a presently preferred embodiment, two 16 bit data words are read at a time internally while one 16 bit data word is produced at a time from the [0076] output circuitry 112 of FIG. 1. In this way, two of the p=16 column areas, each column area including q=16 bit lines, are accessed at a time. According to FIG. 5, h=3 (23=8) address CAM stages 412, 414, 416 store the 3-bit address of two column areas, one of which includes include an inoperative bit line BLi, and j=5 (25=32) I/O CAM stages 402, 404, 406, 408, 410 store the location of the inoperative bit line BLi of the 32 bit lines within two column areas. When a read operation is performed the read address is compared against the read address CAM signals READADD0, READADD1, and READADD2 of the address CAM stages CAM5/VERTm 412, CAM6/VERTm 414, and CAM7/VERTm 416, respectively (with address matching circuitry not illustrated in FIG. 5 or FIG. 1.). If the read address and the read address CAM signals match, the I/O CAM stages 402, 404, 406, 408, 410 indicate which bit line of the 32 bit lines of the two column areas is the inoperative bit line BLi.
  • Even though the address CAM stages and the I/O CAM stages are used in different ways during read and write operations, the CAM stages together provide the same information regarding the location of the same inoperative bit line in a primary array that requires a substitution with a bit line in a redundant array. For example, referring to FIG. 5, assume that the output of the dual-ported CAM stages [0077] 402, 404, 406, 408, 410, 412, 414, 416 is 00010001 respectively.
  • If a write operation is to be performed at the column area having a write address of 0001, then these four bits are compared with the following signals: [0078]
  • WRITEADD[0079] 3=CAM7W=0 from (address) CAM stage 416;
  • WRITEADD[0080] 2=CAM6W=0 from (address) CAM stage 414;
  • WRITEADD[0081] 1=CAM5W=0 from (address) CAM stage 412; and
  • WRITE ADD[0082] 0=CAM4W=1 from (address) CAM stage 410.
  • There is a write address match, so the contents of the I/O CAM stages are checked to determine the location of the inoperative bit line BL[0083] i within the column area having an address of 0001, as shown by the following signals:
  • WRITEIO[0084] 3=CAM3W=0 from (I/O) CAM stage 408;
  • WRITEIO[0085] 2=CAM2W=0 from (I/O) CAM stage 406,
  • WRITEIO[0086] 1=CAM1W=0 from (I/O) CAM stage 404; and
  • WRITEIO[0087] 0=CAM0W=1 from (I/O) CAM stage 402.
  • If a read operation is to be performed at the two column areas together having a read address of 000, then these three bits are compared with the following signals: [0088]
  • READADD[0089] 2=CAM7R=0 from (address) CAM stage 416;
  • READADD[0090] 1=CAM6R=0 from (address) CAM stage 414; and
  • READADD[0091] 0=CAM5R=0 from (address) CAM stage 412.
  • There is a read address match, so the contents of the I/O CAM stages are checked to determine the location of the inoperative bit line BL[0092] i within the two column areas together having an address of 000, as shown by the following signals:
  • READIO[0093] 4=CAM4R=1 from (I/O) CAM stage 410;
  • READIO[0094] 3=CAM3R=0 from (I/O) CAM stage 408;
  • READIO[0095] 2=CAM2R=0 from (I/O) CAM stage 406;
  • READIO[0096] 1=CAM1R=0 from (I/O) CAM stage 404; and
  • READIO[0097] 0=CAM0R=1 from (I/O) CAM stage 402.
  • FIG. 6 is a circuit diagram of an [0098] exemplary group 500 of CAM stages 200 with shared output circuitry according to the memory of FIG. 2. The exemplary CAM stage group 500 includes the following CAM stages 200: CAMn/VERT0 502, CAMn/VERT1 504, CAMn/VERT2 506, and CAMn/VERT3 508. The CAM stage CAMn/VERT0 502 receives the write and read select signals WSEL0 and RSEL0 for VERT0. The CAM stage CAMn/VERT1 504 receives the write and read select signals WSEL1 and RSEL1 for VERT1. The CAM stage CAMn/VERT2 506 receives the write and read select signals WSEL2 and RSEL2 for VERT2. The CAM stage CAMn/VERT3 508 receives the write and read select signals WSEL3 and RSEL3 for VERT3. A CAM stage 200 CAMn is located at each vertical array and each CAMn 502, 504, 506, 508 stores a respective bit of information regarding the location of an inoperative bit line within each respective primary array.
  • As illustrated in FIG. 6, the CAMn stages [0099] 502, 504, 506, 508 are all coupled to a write pull-up transistor 510, preferably a p-channel transistor, at a shared output 512 having a signal CAMnW and are all coupled to a read pull-up transistor 514, preferably a p-channel transistor, at a shared output 516 having a signal CAMnR.
  • When a write operation is performed at VERT[0100] 0, for example, the write select signal WSEL0 will be active and the contents of the CAM cell within the dual-ported CAM stage CAMn/VERT0 502 will be checked. Since a read operation may not be performed at VERT0 while a write operation is being performed there, the read select signal RSEL0 will not be active. In addition, the other write select signals WSEL1, WSEL2, and WSEL3 will not be active, and the signal CAMnW at the shared output 512 will be low or high depending on the contents of the CAM cell within CAMn/VERT0 502.
  • Similarly, when a read operation is performed at VERT[0101] 2, for example, the write select signal RSEL2 will be active and the contents of the CAM cell within the dual-ported CAM stage CAMn/VERT2 506 will be checked. Since a write operation may not be performed at VERT2 while a read operation is being performed there, the write select signal WSEL2 will not be active. In addition, the other read select signals RSEL0, RSEL1, and RSEL3 will not be active, and the signal CAMnR at the shared output 516 will be low or high depending on the contents of the CAM cell within CAMn/VERT2 506.
  • In one embodiment, all of the components of FIG. 1 are contained on a single integrated circuit chip. Note that address and control inputs for the exemplary flash memory chips are dependent on memory density and interface implementations. It will be appreciated that the disclosed embodiments can work with different memory densities and alternate interface implementations with their accompanying alternate address and control input configurations. [0102]
  • As used herein, the term address is intended broadly to refer to any location identifier that uniquely corresponds to, or to the location of, one or more memory cells. The presently preferred embodiments described herein present a redundancy CAM circuitry including dual-ported CAM stages. However, aspects of the embodiments can be applied with respect to operations other than redundancy substitutions of inoperative memory cells. [0103]
  • As used herein, the terms and phrases low, logic low, not asserted, not active, and inactive are intended broadly to refer to logic low values of a digital signal, generally understood to represent a binary zero (0). [0104]
  • As used herein, the terms and phrases high, logic high, asserted, and active are intended broadly to refer to logic high values of a digital signal, generally understood to represent a binary one (1). [0105]
  • As used herein, the phrase “A coupled with B” is defined to mean A directly connected to B, or A indirectly connected with B through one or more intermediate components. [0106]
  • As used herein, the term user is intended to refer to a processor or other component or entity seeking access to memory. [0107]
  • As used herein, the term inoperative, when used in conjunction with a storage element or a group of storage elements, refers broadly to any condition or state that may require the substitution of one more storage elements for the inoperative storage element. The storage element may include one or more memory cells, or bit lines, or interface circuitry to memory cells, for example. In particular, as used herein, an inoperative memory cell refers broadly to a memory cell with or without accompanying circuitry, such as a bit line that is coupled to the memory cell, or a bit line that includes the memory cell. Typically, a lack of functionality of the storage element will require a substitution for the storage element. The lack of functionality may be due to damage or to a defect in the storage element or in an interface to the storage element. [0108]
  • It should be understood that, as used herein, the term signal refers broadly to an analog or digital signal and encompasses both types of signals. [0109]
  • From the foregoing, it can be seen that the presently preferred embodiments provide a memory capable of substituting a second memory cell for an inoperative memory cell. The memory includes a primary array of memory cells, a redundant array of memory cells, and redundancy content addressable memory (CAM) circuitry. The redundancy CAM circuitry includes a plurality of dual-ported CAM stages. Each CAM stage includes a CAM cell, a write data bus coupled to the CAM cell, and a read data bus coupled to the CAM cell. The CAM cell stores information regarding a location of an inoperative memory cell in the primary array. Preferably, the inoperative memory cell requires a substitution with a second memory cell in the redundant array. The write data bus produces the information from the CAM cell responsively to a write select signal. The write select signal is indicative of a write operation to be performed at memory cell locations in the primary array. The read data bus produces the information from the CAM cell responsively to a read select signal. The read select signal is indicative of a read operation to be performed at memory cell locations in the primary array. [0110]
  • Preferably, the write operation and the read operation are performed at different times at memory cell locations in the primary array. [0111]
  • Preferably, the memory is capable of comparing an operation address that refers to a location of a third memory cell in the primary array with the information of the CAM cell to determine whether the third memory cell in the primary array requires a substitution with the second memory cell in the redundant array. [0112]
  • In a preferred embodiment, the dual-ported CAM stage includes the dual-ported [0113] CAM stage 200 of FIG. 2. Of course, other dual-ported CAM stages according to the presently preferred embodiments may be used other than the exemplary CAM stage 200 as suitable.
  • In addition, the presently preferred embodiments provide a dual-ported content addressable memory (CAM) stage in a memory. The CAM stage includes a CAM cell, a write data bus coupled to the CAM cell, and a read data bus coupled to the CAM cell. The CAM cell stores information regarding the location of an inoperative memory cell in a primary array of the memory. Preferably, the inoperative memory cell requires a substitution with a second memory cell in a redundant array of the memory. The write data bus produces the information from the CAM cell responsively to a write select signal. The write select signal is indicative of a write operation to be performed at memory cell locations in the primary array. The read data bus produces the information from the CAM cell responsively to a read select signal. The read select signal is indicative of a read operation to be performed at memory cell locations in the primary array. [0114]
  • Preferably, the write operation and the read operation are performed at different times at memory cell locations in the primary array. [0115]
  • Preferably, the memory is capable of comparing an operation address that refers to a location of a third memory cell in the primary array with the information of the CAM cell to determine whether the third memory cell in the primary array requires a substitution with the second memory cell in the redundant array. [0116]
  • In a preferred embodiment, the dual-ported CAM stage includes the dual-ported [0117] CAM stage 200 of FIG. 2. Of course, other dual-ported CAM stages according to the presently preferred embodiments may be used other than the exemplary CAM stage 200 as suitable.
  • Further, the presently preferred embodiments provide a memory capable of substituting a second memory cell for a first memory cell. The memory includes a memory cell array, one or more redundant arrays of memory cells, and a CAM cell. The memory cell array is capable of being operated on by a first task and a second task. In other embodiments, the memory cell array includes the one or more redundant arrays of memory cells. The tasks are optionally performed concurrently with one another. The memory cell array includes a first primary array of memory cells, and a second primary array of memory cells. If the first task is performed at the first primary array, the second task cannot be performed concurrently at the first primary array. If the second task is performed at the second primary array, the first task cannot be performed concurrently at the second primary array. The CAM cell stores information regarding whether a first memory cell of the memory cell array requires a substitution with a second memory cell of one of the one or more redundant arrays. The CAM cell is capable of being accessed during the first task and during the second task. [0118]
  • Preferably, the CAM cell stores the location of an inoperative memory cell of the memory cell array. Preferably, the inoperative memory cell requires a substitution with the second memory cell of the one or more redundant arrays. [0119]
  • In addition, the presently preferred embodiments provide a memory capable of substituting a third memory cell for a first memory cell, and capable of substituting a fourth memory cell for a second memory cell. The memory includes a first primary array of memory cells, a first redundant array of memory cells associated with the first primary array of memory cells, a second primary array of memory cells, a second redundant array of memory cells associated with the first primary array of memory cells, and redundancy content addressable memory (CAM) circuitry. The first primary array includes a first memory cell, and the second primary array includes a second memory cell. The redundancy CAM circuitry includes a first group of dual-ported CAM stages and a second group of dual-ported CAM stages. The first group of dual-ported CAM stages stores first location information of the first memory cell. Preferably, the first memory cell requires a substitution with a third memory cell in the first redundant array. For example, the first memory cell may be damaged, or may be otherwise inoperative. The second group of dual-ported CAM stages stores second location information of the second memory cell. Preferably, the second memory cell requires a substitution with a fourth memory cell in the second redundant array. For example, the second memory cell may be damaged, or may be otherwise inoperative. A first initial CAM stage of the first group of CAM stages includes a first CAM cell, a first write data bus, and a first read data bus. The first write data bus and the first read data bus are respectively coupled to the CAM cell. A second initial CAM stage of the second group of CAM stages includes a second CAM cell, a second write data bus, and a second read data bus. The second write data bus and the second read data bus are respectively coupled to the CAM cell. The second write data bus and the first write data bus share a first write output. The second read data bus and the first read data bus share a first read output. [0120]
  • Preferably, the first write data bus produces a first portion of the first location information from the first group of CAM stages at the first write output responsively to a first write select signal. Preferably, the first portion of the first location information includes one bit of information. The first write select signal is indicative of a write operation to be performed on memory cell locations in the first primary array. Preferably, the second write data bus produces a second portion of the second location information from the second group of CAM stages at the first write output responsively to a second write select signal. Preferably, the second portion of the second location information includes one bit of information. The second write select signal is indicative of a write operation to be performed on memory cell locations in the second primary array. Preferably, the memory further includes a write bias transistor coupled to the first write output to bias the first write output to a first value. Preferably, if a write operation is performed at the first primary array and the first write output is pulled to a second value, the first CAM cell is erased. Preferably, if a write operation is performed at the first primary array and the first write output remains at the first value, the first CAM cell is programmed. Preferably, if a write operation is performed at the second primary array and the first write output is pulled to the second value, the second CAM cell is erased. Preferably, if a write operation is performed at the second primary array and the first write output remains at the first value, the second CAM cell is programmed. [0121]
  • Preferably, the first read data bus produces a first portion of the first location information from the first group of CAM stages at the first read output responsively to a first read select signal. Preferably, the first portion of the first location information includes one bit of information. The first read select signal is indicative of a read operation to be performed on memory cell locations in the first primary array. Preferably, the second read data bus produces a second portion of the second location information from the second group of CAM stages at the first read output responsively to a second read select signals. Preferably, the second portion of the second location information includes one bit of information. The second read select signal is indicative of a read operation to be performed on memory cell locations in the second primary array. Preferably, the memory further includes a read bias transistor coupled to the first read output to bias the first read output to a first value. Preferably, if a read operation is performed at the first primary array and the first read output is pulled to a second value, the first CAM cell is erased. Preferably, if a read operation is performed at the first primary array and the first read output remains at the first value, the first CAM cell is programmed. Preferably, if a read operation is performed at the second primary array and the first read output is pulled to the second value, the second CAM cell is erased. Preferably, if a read operation is performed at the second primary array and the first read output remains at the first value, the second CAM cell is programmed. [0122]
  • Further, the presently preferred embodiments provide a method of substituting a second memory cell in a redundant array of memory cells for an inoperative memory cell in a primary array of memory cells. Information is stored in a series of dual-ported CAM stages. The information is regarding a location of the inoperative memory cell. An operation address, corresponding to one or more location of memory cells in the primary array, is compared with the information in the series of dual-ported CAM stages to determine whether the one or more locations of memory cells comprise the location of the inoperative memory cell. If the one or more locations of memory cells include the location of the inoperative memory cell, then the location of the second memory cell is accessed with the operation address. If the one or more locations of memory cells do not include the location of the inoperative memory cell, the one or more locations of memory cells are accessed with the operation address. In one preferred embodiment the operation address is a write address. In one preferred embodiment the operation address is a read address. [0123]
  • It should be understood that the steps of the methods recited herein can be performed in any order consistent with the recited acts. [0124]
  • While particular embodiments of the present invention have been shown and described, modifications may be made. For example, the senses of the individual transistors, p-channel and n-channel, may be reversed in suitable applications. It is to be noted that suitable transistor sizes specifying channel width to length ratios (measured in micrometers or microns) for the transistors that make up the depicted circuits have been omitted from the figures. It will be appreciated that suitable ratios may be chosen depending on the design requirements and the capabilities and limitations of the particular integrated circuit fabrication process used for implementation of the circuit as well as the performance requirements of the specific embodiment. Further, the inventive concepts described herein may be applied to circuits other than memory devices. [0125]
  • The foregoing detailed description has described only a few of the many forms that this invention can take. It is therefore intended that the foregoing detailed description be regarded as illustrative rather than limiting, and that it be understood that it is the following claims, including all equivalents, which are intended to define the spirit and scope of this invention. It is therefore intended in the appended claims to cover all such changes and modifications which fall within the true spirit and scope of the invention. [0126]

Claims (30)

We claim:
1. A memory capable of substituting a second memory cell for an inoperative memory cell, the memory comprising:
a primary array of memory cells;
a redundant array of memory cells; and
redundancy content addressable memory (CAM) circuitry, the circuitry comprising a plurality of dual-ported CAM stages, each CAM stage comprising:
a CAM cell to store information regarding a location of an inoperative memory cell in the primary array, the inoperative memory cell requiring a substitution with a second memory cell in the redundant array;
a write data bus, coupled to the CAM cell, to produce the information from the CAM cell responsively to a write select signal, the write select signal indicative of a write operation to be performed at memory cell locations in the primary array; and
a read data bus, coupled to the CAM cell, to produce the information from the CAM cell responsively to a read select signal, the read select signal indicative of a read operation to be performed at memory cell locations in the primary array.
2. The memory of
claim 1
, wherein the write operation and the read operation are performed at different times at memory cell locations in the primary array.
3. The memory of
claim 1
, wherein the memory is capable of comparing an operation address that refers to a location of a third memory cell in the primary array with the information of the CAM cell to determine whether the third memory cell in the primary array requires a substitution with the second memory cell in the redundant array.
4. A dual-ported content addressable memory (CAM) stage in a memory, the CAM stage comprising:
a CAM cell to store information regarding the location of an inoperative memory cell in a primary array of the memory, the inoperative memory cell requiring a substitution with a second memory cell in a redundant array of the memory;
a write data bus, coupled to the CAM cell, to produce the information from the CAM cell responsively to a write select signal, the write select signal indicative of a write operation to be performed at memory cell locations in the primary array; and
a read data bus, coupled to the CAM cell, to produce the information from the CAM cell responsively to a read select signal, the read select signal indicative of a read operation to be performed at memory cell locations in the primary array.
5. The dual-ported CAM stage of
claim 4
, wherein the write operation and the read operation are performed at different times at memory cell locations in the primary array.
6. The memory of
claim 4
, wherein the memory is capable of comparing an operation address that refers to a location of a third memory cell in the primary array with the information of the CAM cell to determine whether the third memory cell in the primary array requires a substitution with the second memory cell in the redundant array.
7. A memory capable of substituting a second memory cell for a first memory cell, the memory comprising:
a memory cell array, wherein the memory cell array is capable of being operated on by a first task and a second task, the tasks optionally performed concurrently with one another, and wherein the memory cell array comprises:
a first primary array of memory cells, wherein if the first task is performed at the first primary array, the second task cannot be performed concurrently at the first primary array;
a second primary array of memory cells, wherein if the second task is performed at the second primary array, the first task cannot be performed concurrently at the second primary array;
one or more redundant arrays of memory cells; and
a CAM cell to store information regarding whether a first memory cell of the memory cell array requires a substitution with a second memory cell of one of the one or more redundant arrays, the CAM cell capable of being accessed during the first task and during the second task.
8. The memory of
claim 7
, wherein the CAM cell stores the location of an inoperative memory cell of the memory cell array, the inoperative memory cell requiring a substitution with the second memory cell of the one or more redundant arrays.
9. A memory capable of substituting a third memory cell for a first memory cell, and capable of substituting a fourth memory cell for a second memory cell, the memory comprising:
a first primary array of memory cells including a first memory cell;
a first redundant array of memory cells associated with the first primary array of memory cells;
a second primary array of memory cells including a second memory cell;
a second redundant array of memory cells associated with the second primary array of memory cells; and
redundancy content addressable memory (CAM) circuitry, the circuitry comprising:
a first group of dual-ported CAM stages to store first location information of the first memory cell, the first memory cell requiring a substitution with a third memory cell in the first redundant array, a first initial CAM stage of the first group of CAM stages comprising:
a first CAM cell, a first write data bus, and a first read data bus, the first write data bus and the first read data bus respectively coupled to the CAM cell; and
a second group of dual-ported CAM stages to store second location information of the second memory cell, the second memory cell requiring a substitution with a fourth memory cell in the second redundant array, a second initial CAM stage of the second group of CAM stages comprising:
a second CAM cell, a second write data bus, and a second read data bus, the second write data bus and the second read data bus respectively coupled to the CAM cell, the second write data bus and the first write data bus sharing a first write output, and the second read data bus and the first read data bus share a first read output.
10. The memory of
claim 9
, wherein the first memory cell is inoperative.
11. The memory of
claim 9
, wherein the second memory cell is inoperative.
12. The memory of
claim 9
, wherein the first write data bus produces a first portion of the first location information from the first group of CAM stages and the second write data bus produces a second portion of the second location information from the second group of CAM stages, at the first write output, responsively to respective first and second write select signals, the first and second write select signals being indicative of a write operation to be performed on memory cell locations in the first and the second primary arrays, respectively.
13. The memory of
claim 12
, wherein the first portion of the first location information comprises one bit of information.
14. The memory of
claim 12
, wherein the second portion of the second location information comprises one bit of information.
15. The memory of
claim 12
, further comprising:
a write bias transistor coupled to the first write output to bias the first write output to a first value.
16. The memory of
claim 15
, wherein if a write operation is performed at the first primary array and the first write output is pulled to a second value, the first CAM cell is erased.
17. The memory of
claim 15
, wherein if a write operation is performed at the first primary array and the first write output remains at the first value, the first CAM cell is programmed.
18. The memory of
claim 15
, wherein if a write operation is performed at the second primary array and the first write output is pulled to the second value, the second CAM cell is erased.
19. The memory of
claim 15
, wherein if a write operation is performed at the second primary array and the first write output remains at the first value, the second CAM cell is programmed.
20. The memory of
claim 9
, wherein the first read data bus produces a first portion of the first location information from the first group of CAM stages and the second read data bus produces a second portion of the second location information from the second group of CAM stages, at the first read output, responsively to respective first and second read select signals, the first and second read select signals being indicative of a read operation to be performed on memory cell locations in the first and the second primary arrays, respectively.
21. The memory of
claim 20
, wherein the first portion of the first location information comprises one bit of information.
22. The memory of
claim 20
, wherein the second portion of the second location information comprises one bit of information.
23. The memory of
claim 20
, further comprising:
a read bias transistor coupled to the first read output to bias the first read output to a first value.
24. The memory of
claim 23
, wherein if a read operation is performed at the first primary array and the first read output is pulled to a second value, the first CAM cell is erased.
25. The memory of
claim 23
, wherein if a read operation is performed at the first primary array and the first read output remains at the first value, the first CAM cell is programmed.
26. The memory of
claim 23
, wherein if a read operation is performed at the second primary array and the first read output is pulled to the second value, the second CAM cell is erased.
27. The memory of
claim 23
, wherein if a read operation is performed at the second primary array and the first read output remains at the first value, the second CAM cell is programmed.
28. In a memory, a method of substituting a second memory cell in a redundant array of memory cells for an inoperative memory cell in a primary array of memory cells, the method comprising:
storing information in a series of dual-ported CAM stages, the information regarding a location of the inoperative memory cell;
comparing an operation address, the operation address corresponding to one or more locations of memory cells in the primary array, with the information in the series of dual-ported CAM stages to determine whether the one or more locations of memory cells include the location of the inoperative memory cell;
if the one or more locations of memory cells include the location of the inoperative memory cell, then
accessing the location of the second memory cell with the operation address; and
if the one or more locations of memory cells do not include the location of the inoperative memory cell, then
accessing the one or more locations of memory cells with the operation address.
29. The method of
claim 28
, wherein the operation address is a write address.
30. The method of
claim 28
, wherein the operation address is a read address.
US09/829,657 2000-05-31 2001-04-10 Dual-ported CAMs for a simultaneous operation flash memory Expired - Lifetime US6396749B2 (en)

Priority Applications (11)

Application Number Priority Date Filing Date Title
US09/829,657 US6396749B2 (en) 2000-05-31 2001-04-10 Dual-ported CAMs for a simultaneous operation flash memory
CNB018102298A CN1204497C (en) 2000-05-31 2001-05-21 Dual-ported cams for simultaneous operation flash memory
BR0111245-7A BR0111245A (en) 2000-05-31 2001-05-21 Dual-port cams for instant non-volatile memory
KR1020027016341A KR100915450B1 (en) 2000-05-31 2001-05-21 Dual-ported cams for a simultaneous operation flash memory
JP2002501181A JP4606694B2 (en) 2000-05-31 2001-05-21 Dual port CAM for simultaneous operation flash memory
PCT/US2001/016393 WO2001093034A2 (en) 2000-05-31 2001-05-21 Dual-ported cams for a simultaneous operation flash memory
AU2001264757A AU2001264757A1 (en) 2000-05-31 2001-05-21 Dual-ported cams for a simultaneous operation flash memory
AT01939217T ATE262700T1 (en) 2000-05-31 2001-05-21 TWO-PORT CAM MEMORY FOR SIMULTANEOUS FLASH MEMORY OPERATION
EP01939217A EP1290559B1 (en) 2000-05-31 2001-05-21 Dual-ported cams for a simultaneous operation flash memory
DE60102466T DE60102466T2 (en) 2000-05-31 2001-05-21 TWO-TOR CAM MEMORY FOR SIMULTANEOUS FLASH MEMORY OPERATION
TW090113005A TW587255B (en) 2000-05-31 2001-05-30 Dual-ported CAMs for a simultaneous operation flash memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US20844900P 2000-05-31 2000-05-31
US09/829,657 US6396749B2 (en) 2000-05-31 2001-04-10 Dual-ported CAMs for a simultaneous operation flash memory

Publications (2)

Publication Number Publication Date
US20010048613A1 true US20010048613A1 (en) 2001-12-06
US6396749B2 US6396749B2 (en) 2002-05-28

Family

ID=26903205

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/829,657 Expired - Lifetime US6396749B2 (en) 2000-05-31 2001-04-10 Dual-ported CAMs for a simultaneous operation flash memory

Country Status (11)

Country Link
US (1) US6396749B2 (en)
EP (1) EP1290559B1 (en)
JP (1) JP4606694B2 (en)
KR (1) KR100915450B1 (en)
CN (1) CN1204497C (en)
AT (1) ATE262700T1 (en)
AU (1) AU2001264757A1 (en)
BR (1) BR0111245A (en)
DE (1) DE60102466T2 (en)
TW (1) TW587255B (en)
WO (1) WO2001093034A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973003B1 (en) 2003-10-01 2005-12-06 Advanced Micro Devices, Inc. Memory device and method
US20090157989A1 (en) * 2007-12-14 2009-06-18 Virident Systems Inc. Distributing Metadata Across Multiple Different Disruption Regions Within an Asymmetric Memory System
US20140115422A1 (en) * 2012-10-24 2014-04-24 Laurence H. Cooke Non-volatile memory error correction

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6492881B2 (en) * 2001-01-31 2002-12-10 Compaq Information Technologies Group, L.P. Single to differential logic level interface for computer systems
US6711720B2 (en) * 2002-03-14 2004-03-23 Hewlett-Packard Development Company, L.P. Method of optimizing high performance CMOS integrated circuit designs for power consumption and speed through genetic optimization
US6745371B2 (en) * 2002-03-15 2004-06-01 Sun Microsystems, Inc. Low Vt transistor substitution in a semiconductor device
US6845025B1 (en) 2003-03-21 2005-01-18 Netlogic Microsystems, Inc. Word line driver circuit for a content addressable memory
US7032200B1 (en) 2003-09-09 2006-04-18 Sun Microsystems, Inc. Low threshold voltage transistor displacement in a semiconductor device
US7200693B2 (en) 2004-08-27 2007-04-03 Micron Technology, Inc. Memory system and method having unidirectional data buses
US7209405B2 (en) 2005-02-23 2007-04-24 Micron Technology, Inc. Memory device and method having multiple internal data buses and memory bank interleaving
US20070028027A1 (en) * 2005-07-26 2007-02-01 Micron Technology, Inc. Memory device and method having separate write data and read data buses
US7301832B2 (en) * 2005-11-03 2007-11-27 Atmel Corporation Compact column redundancy CAM architecture for concurrent read and write operations in multi-segment memory arrays
US7567448B2 (en) * 2007-01-05 2009-07-28 Atmel Corporation Content addressable memory cell having a single floating gate transistor
JP2008234806A (en) * 2007-03-23 2008-10-02 Toshiba Corp Semiconductor memory device and its redundancy method
US7996736B2 (en) * 2008-10-26 2011-08-09 Sandisk 3D Llc Bad page marking strategy for fast readout in memory
US7911818B2 (en) * 2009-03-16 2011-03-22 Netlogic Microsystems, Inc. Content addressable memory having bidirectional lines that support passing read/write data and search data

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02282999A (en) * 1989-04-25 1990-11-20 Oki Micro Design Miyazaki:Kk Semiconductor memory device
US5245572A (en) * 1991-07-30 1993-09-14 Intel Corporation Floating gate nonvolatile memory with reading while writing capability
FR2716743B1 (en) * 1994-02-28 1996-09-27 Sgs Thomson Microelectronics Memory redundancy circuit.
JP3059076B2 (en) * 1995-06-19 2000-07-04 シャープ株式会社 Nonvolatile semiconductor memory device
US6317349B1 (en) * 1999-04-16 2001-11-13 Sandisk Corporation Non-volatile content addressable memory
US6484271B1 (en) * 1999-09-16 2002-11-19 Koninklijke Philips Electronics N.V. Memory redundancy techniques
US6307787B1 (en) * 2000-07-25 2001-10-23 Advanced Micro Devices, Inc. Burst read incorporating output based redundancy

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973003B1 (en) 2003-10-01 2005-12-06 Advanced Micro Devices, Inc. Memory device and method
US20090157989A1 (en) * 2007-12-14 2009-06-18 Virident Systems Inc. Distributing Metadata Across Multiple Different Disruption Regions Within an Asymmetric Memory System
US9727452B2 (en) * 2007-12-14 2017-08-08 Virident Systems, Llc Distributing metadata across multiple different disruption regions within an asymmetric memory system
US20140115422A1 (en) * 2012-10-24 2014-04-24 Laurence H. Cooke Non-volatile memory error correction
US9130597B2 (en) 2012-10-24 2015-09-08 Laurence H. Cooke Non-volatile memory error correction

Also Published As

Publication number Publication date
AU2001264757A1 (en) 2001-12-11
DE60102466D1 (en) 2004-04-29
TW587255B (en) 2004-05-11
EP1290559B1 (en) 2004-03-24
KR100915450B1 (en) 2009-09-04
WO2001093034A3 (en) 2002-05-02
US6396749B2 (en) 2002-05-28
WO2001093034A2 (en) 2001-12-06
CN1432153A (en) 2003-07-23
CN1204497C (en) 2005-06-01
JP2003535430A (en) 2003-11-25
JP4606694B2 (en) 2011-01-05
DE60102466T2 (en) 2005-02-24
EP1290559A2 (en) 2003-03-12
KR20030007812A (en) 2003-01-23
ATE262700T1 (en) 2004-04-15
BR0111245A (en) 2003-06-03

Similar Documents

Publication Publication Date Title
JP5937888B2 (en) Semiconductor memory device
US6545910B2 (en) Non-volatile semiconductor memory device having word line defect check circuit
US6166938A (en) Data encoding for content addressable memories
US6510082B1 (en) Drain side sensing scheme for virtual ground flash EPROM array with adjacent bit charge and hold
US7277311B2 (en) Flash cell fuse circuit
US6396749B2 (en) Dual-ported CAMs for a simultaneous operation flash memory
US20060215470A1 (en) Data compression read mode for memory testing
US7439782B2 (en) Semiconductor integrated circuit device with power-on reset circuit for detecting the operating state of an analog circuit
JP2007133996A (en) Semiconductor memory and its control method
US5847995A (en) Nonvolatile semiconductor memory device having a plurality of blocks provided on a plurality of electrically isolated wells
US6504768B1 (en) Redundancy selection in memory devices with concurrent read and write
US6347052B1 (en) Word line decoding architecture in a flash memory
JP4316743B2 (en) Circuit equipment
US20040252558A1 (en) Semiconductor memory device including MOS transistor having a floating gate and a control gate
JP2585227B2 (en) Semiconductor memory device
US6707733B2 (en) Semiconductor memory device
JP4832691B2 (en) Flash memory architecture using three layers of metal wiring
US6515902B1 (en) Method and apparatus for boosting bitlines for low VCC read
US6813735B1 (en) I/O based column redundancy for virtual ground with 2-bit cell flash memory
JP3400135B2 (en) Semiconductor storage device
US11710531B2 (en) Memory redundancy repair
JPH02192099A (en) Semiconductor memory
JP2004110883A (en) Nonvolatile memory circuit and nonvolatile semiconductor storage device
JP2007257837A (en) Nonvolatile memory circuit and nonvolatile semiconductor storage device

Legal Events

Date Code Title Description
AS Assignment

Owner name: ADVANCED MICRO DEVICES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHAMMA, ALI AL;CLEVELAND, LEE;REEL/FRAME:011716/0025

Effective date: 20010409

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: SPANSION INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ADVANCED MICRO DEVICES, INC.;REEL/FRAME:019047/0532

Effective date: 20070131

AS Assignment

Owner name: SPANSION LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPANSION INC.;REEL/FRAME:019069/0301

Effective date: 20070131

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: BARCLAYS BANK PLC,NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:SPANSION LLC;SPANSION INC.;SPANSION TECHNOLOGY INC.;AND OTHERS;REEL/FRAME:024522/0338

Effective date: 20100510

Owner name: BARCLAYS BANK PLC, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:SPANSION LLC;SPANSION INC.;SPANSION TECHNOLOGY INC.;AND OTHERS;REEL/FRAME:024522/0338

Effective date: 20100510

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: SPANSION INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:035201/0159

Effective date: 20150312

Owner name: SPANSION TECHNOLOGY LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:035201/0159

Effective date: 20150312

Owner name: SPANSION LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:BARCLAYS BANK PLC;REEL/FRAME:035201/0159

Effective date: 20150312

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., NEW YORK

Free format text: SECURITY INTEREST;ASSIGNORS:CYPRESS SEMICONDUCTOR CORPORATION;SPANSION LLC;REEL/FRAME:035240/0429

Effective date: 20150312

AS Assignment

Owner name: CYPRESS SEMICONDUCTOR CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPANSION, LLC;REEL/FRAME:036031/0001

Effective date: 20150601

AS Assignment

Owner name: MUFG UNION BANK, N.A., CALIFORNIA

Free format text: ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN INTELLECTUAL PROPERTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:050896/0366

Effective date: 20190731

AS Assignment

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., NEW YORK

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST;ASSIGNORS:CYPRESS SEMICONDUCTOR CORPORATION;SPANSION LLC;REEL/FRAME:058002/0470

Effective date: 20150312

AS Assignment

Owner name: SPANSION LLC, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MUFG UNION BANK, N.A.;REEL/FRAME:059410/0438

Effective date: 20200416

Owner name: CYPRESS SEMICONDUCTOR CORPORATION, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MUFG UNION BANK, N.A.;REEL/FRAME:059410/0438

Effective date: 20200416