WO2005066975A1 - Flexible and area efficient column redundancy for non-volatile memories - Google Patents
Flexible and area efficient column redundancy for non-volatile memories Download PDFInfo
- Publication number
- WO2005066975A1 WO2005066975A1 PCT/US2004/042990 US2004042990W WO2005066975A1 WO 2005066975 A1 WO2005066975 A1 WO 2005066975A1 US 2004042990 W US2004042990 W US 2004042990W WO 2005066975 A1 WO2005066975 A1 WO 2005066975A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- memory
- shift register
- circuits
- storage units
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1036—Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/84—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
- G11C29/848—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by adjacent switching
Definitions
- This invention relates generally to non-volatile memories and their operation, and, more specifically, to techniques for avoiding bad portions of these memories when reading and writing data.
- a number of architectures are used for non-volatile memories.
- a NOR array of one design has its memory cells connected between adjacent bit (column) lines and control gates connected to word (row) lines.
- the individual cells contain either one floating gate transistor, with or without a select transistor formed in series with it, or two floating gate transistors separated by a single select transistor. Examples of such arrays and their use in storage systems are given in the following U.S. patents and pending applications of SanDisk Corporation that are incorporated herein in their entirety by this reference: Patent Nos. 5,095,344, 5,172,338, 5,602,987, 5,663,901, 5,430,859, 5,657,332, 5,712,180, 5,890,192, 6,151,248, 6,426,893, and 6,512,263.
- a NAND array of one design has a number of memory cells, such as 8, 16 or even 32, connected in series string between a bit line and a reference potential through select transistors at either end. Word lines are connected with control gates of cells in different series strings. Relevant examples of such arrays and their operation are given in the U.S. patent application 6,522,580, that is also hereby incorporated by reference, and references contained therein.
- a memory will often have defective portions, either from the manufacturing process or that arise during the operation of the device.
- a number of techniques exist for managing these defects including error correction coding or remapping portions of the memory, such as described in U.S. patent number 5,602,987, that was incorporated by reference above, or U.S.
- a device is generally thoroughly tested before being shipped. The testing may find a defective portion of the memory that needs to be eliminated. Before shipping the device, the information on these defects is stored on the device, for example in a ROM area of the memory array or in a separate ROM, and at power up it is read by a controller and then used so that the controller can substitute a good portion of the memory for the bad. When reading or writing, the controller will then need to refer to a pointer structure in the controller's memory for this remapping.
- the present invention presents a non- volatile memory wherein bad columns in the array of memory cells can be removed. According to another aspect of the present invention, substitute redundant columns can replace the removed columns. Both of these processes are performed on the memory in a manner that is externally transparent and, consequently, need not be managed externally by the host or controller to which the memory is attached.
- the invention provides a technique of accessing selecting circuits assigned to blocks of columns of an array of non-volatile storage units to hold data read or to be written into the memory cells.
- the memory cells are multi-state memory with a shift register, which supplies a column select signal, having a stage for each column block of the array. A strobe pulse is shifted through this shift register, enabling a different column block with each clock. The particular selecting circuit that has been enabled by the strobe will then perform a certain operation. In a read mode, the selected selecting circuit will transfer the stored information through an output line to the output buffer for output from the memory circuit.
- the selected selecting circuit will receive data from an input buffer and put the data into the data latch for each column. This data will be written into a memory cell.
- Each stage of the shift register will have a circuit whereby it can be fused out of shift register mode, in which case it will not assert the column select signal and will pass the strobe on to the subsequent byte without waiting for the next clock signal.
- An inventory of the bad columns can be maintained on the memory.
- this inventory of bad column addresses can be compiled when the memory is tested and stored in a designated ROM block on the memory.
- the ROM block is read first and the list of bad column addresses will be loaded into an address register. Shift registers will then be scanned through with strobe pulses.
- the column isolation latch in the shift register will be set at a SKIP state.
- the memory may also contain a number of redundant columns that can be used to replace the bad columns. These columns are not addressed as replacement columns from outside of the memory, but instead the shift register stages of the redundant columns are connected to those of the normal columns and the strobe pulse continues on to enable the appropriate number of substitute columns.
- the main array is divided into Left and Right sub- arrays sized to accommodate a small page size (512 user bytes plus a small number of additional overhead bytes) with the redundancy columns arranged in the middle of the two sub-arrays. That is, the two sub-arrays will share the redundancy columns.
- a bi-directional shift register is implemented, where the strobe will migrate from Left to Right in the Left sub-array, and the strobe will migrate from Right to Left in the Right sub-array.
- Figure 1 is a block diagram of a non- volatile memory system in which the various aspects of the present invention are described to be implemented.
- Figures 2a and 2b illustrates aspects of the present invention in a circuit and organization of the memory array of Figure 1 when a NAND type.
- Figures 3a-c show integrated circuits with latches for holding data to be read and written into the memory.
- Figure 4 shows an implementation of a latch.
- Figure 5 shows connecting a first data latch to an I/O line by placing a 1 in a first stage of a shift register.
- Figure 6 shows connecting a second data latch to the I/O line by placing a 1 in a second stage of a shift register.
- Figures 7a and 7b are block diagrams of an embodiment of the column select circuits and various control signals used in their operation.
- Figure 8 is a block diagram of some elements of the data input/output circuits of Figure 7A.
- Figure 9 is an exemplary embodiment of a Y-select block.
- Figure 10 is a schematic of an exemplary embodiment for the master latch.
- Figure 11 is a schematic of an exemplary embodiment for the slave latch.
- Figure 12 is a timing diagram showing the operation of the exemplary embodiment of Figures 8-11.
- Figures 13a and 13b are a schematic representation on the redundant column substitution process. DESCRIPTION OF EXEMPLARY EMBODIMENTS
- Figure 1 is a block diagram of a flash memory system such as that described in U.S. patent 6,522,580, incorporated by reference above.
- Memory cell array such as that described in U.S. patent 6,522,580, incorporated by reference above.
- the column control circuit 2 is connected to bit lines (BL) of the memory cell array 1 for reading data stored in the memory cells (M), for determining a state of the memory cells (M) during a program operation, and for controlling potential levels of the bit lines (BL) to promote the programming or to inhibit the programming.
- the row control circuit 3 is connected to word lines (WL) to select one of the word lines (WL), to apply read voltages, to apply program voltages combined with the bit line potential levels controlled by the column control circuit 2, and to apply an erase voltage coupled with a voltage of a p-type region (labeled as "WELL R” or “WELL L” in Figure 2b) on which the memory cells (M) are formed.
- the c-source control circuit 4 controls one or more common source lines (labeled as "c-source L” and "c-source R” in Figure 2b) connected to the memory cells (M).
- the c-p-well control circuit 5 controls the voltage of the c-p- wells. In some embodiments there may be a single p-well (rather than the two shown in Figure 2b) and there may be a single c-source comiection (rather than separate c-source L and c-source R).
- Program data to be stored in the memory cells are input to the data input/output buffer 6 via the external I/O lines, and transferred to the column control circuit 2.
- the external I/O lines are connected to a controller 20.
- Command data for controlling the flash memory device are input to a command interface connected to external control lines which are connected with the controller 20.
- the command data informs the flash memory of what operation is requested.
- the input command is transferred to a state machine 8 that controls the column control circuit 2, the row control circuit 3, the c-source control circuit 4, the c-p-well control circuit 5 and the data input/output buffer 6.
- the state machine 8 can output a status data of the flash memory such as READY/BUSY or PASS/FAIL.
- the controller 20 is connected or connectable with a host system such as a personal computer, a digital camera, or a personal digital assistant. It is the host that initiates commands, such as to store or read data to or from the memory array 1, and provides or receives such data, respectively.
- the controller converts such commands into command signals that can be interpreted and executed by the command circuits 7.
- the controller also typically contains buffer memory for the user data being written to or read from the memory array.
- a typical memory system includes one integrated circuit chip 21 that includes the controller 20, and one or more integrated circuit chips 22 that each contain a memory array and associated control, input/output and state machine circuits. The trend, of course, is to integrate the memory array and controller circuits of a system together on one or more integrated circuit chips.
- the memory system may be embedded as part of the host system, or may be included in a memory card that is removably insertable into a mating socket of host systems.
- a memory card may include the entire memory system, or the controller and memory array, with associated peripheral circuits, may be provided in separate cards.
- a flash EEPROM of a NAND type is described as an example.
- the memory cells (M) are partitioned into 1,024 blocks, in a specific example.
- the data stored in each block are simultaneously erased, the block being the minimum unit of a number of cells that are simultaneously erasable.
- bit lines are also divided into left bit lines (BLL) and right bit lines (BLR).
- BLL left bit lines
- BLR right bit lines
- NAND cell unit Sixteen memory cells connected to the word lines (WL0 to WL15) at each gate electrode are connected in series to form a NAND cell unit.
- One terminal of the NAND cell unit is connected to corresponding bit line (BL) via a first select transistor whose gate electrode is coupled to a first select gate line (SGDL or SGDR), and another terminal is connected to the c-source via a second select transistor whose gate electrode is coupled to a second select gate line (SGSL or SGSR).
- BL bit line
- SGDL or SGDR first select gate line
- second select transistor whose gate electrode is coupled to a second select gate line
- sixteen floating gate transistors are shown to be included in each cell unit, for simplicity, other numbers of transistors, such as 4, 8, or even 32, are used.
- the controller 20 would read the list of bad columns into a pointer structure. During a read or write process, the controller would consult this pointer structure and, when a logical address from the host corresponds to a bad column, substitute the address of a replacement column that is then sent along the address lines to the column control circuits 2.
- One prior art system managing defective columns on the memory chip itself uses a binary decoding scheme to manage bad column replacement.
- the address from the host is first latched into a register and the column address is incremented by a 10-bit adder to manage the columns from 0 to 540 bytes.
- the column address (10 bits) is then pre- decoded into 15 to 20 lines which run through the column decoder area. Three signals are chosen from among these 15 to 20 lines to form a column select.
- Bad columns in this binary decoding system are managed by comparing an incoming column address with a list of bad column addresses. If a match is found, the incoming column address is reassigned to another, good column address. If the incoming address does not match the bad column addresses, the incoming column address is not changed.
- FIGS 3-6 show examples of a circuit architecture in which the present invention could be applied and are adapted from U.S. patent 6,560,146 which is hereby incorporated by reference.
- Figures 3a-c show examples of a circuit for reading and writing data to memory cells 301 of an integrated circuit.
- the integrated circuit may be a memory such as a Flash chip or may be an integrated circuit with an embedded memory portion, such as an ASIC or microprocessor with memory.
- Read-write (SA) circuits 303 are coupled to columns of one or more bit lines of memory cells.
- the read- write circuits are used to read the states of the memory cells.
- the read-write circuits may be also be used to write or store data into the memory cells.
- the read-write circuitry may include sense amplifier circuits, as discussed further below with respect to the embodiment of Figure 8.
- a number of arrangements can be used for the latches and column select circuits.
- the embodiments of Figures 3a-c present different arrangements of the read-write circuit for the columns of memory cells.
- One arrangement is a "flat" structure, with each bit line having its own set of latches that can be directly accessed, either to load or output data, for transferring data to an input/output line in response to an enable signal from a column select circuit.
- one read-write circuit may be shared among two or more columns of memory cells.
- the storage units are multi-state, capable of storing multiple bits of data per cell.
- memory cells 301 of Figures 3a-c are dual-bit Flash EEPROM memory cells, so that the collection of memory cells selected by one word line can store either one page of user plus overhead data or two pages of such data, referred to as an upper and lower page. More generally, the concepts readily extend to either binary memory cells or multi-state memory cells that can store more than two bits of data.
- the discussion extends to non- volatile memories with other forms of storage units as the principle aspects of the present invention relate to how the storage units are accessed and arranged, and are not particular to how the data is written to, stored on, or read from the storage units.
- the temporary storage circuits may be any circuitry used to hold data for the memory cells.
- the temporary storage circuits are latches; however, other types of logic may also be used.
- Each latch is connected to one of two input/output (I/O) lines, 333 and 336, used to input and output data into the latches.
- I/O input/output
- the latches and lines serve both the input and output function, although separate lines can also be used.
- data is loaded bit-by-bit or more commonly byte-by- byte into the data latches.
- the Y-select circuits such as 346, are used to manage which byte is selected at a specific WE (write enable) clock.
- Data is loaded into a particular latch based on a WE signal input of each latch (not shown in Figure 3). When the WE signal is asserted (active low or active high signal) for a particular latch, then that latch is loaded.
- the Y-select circuit 346 will select a particular data set on the I/O bus (lines 333, 336, 338, 340) that will then be connected to the selected data latches (306, 309, 314 and 322), which can be similar to those in Fig.4.
- the data can be read out serially from a column of registers at a time.
- the Y-select will select a byte at a specific RE (Read Enable) clock.
- the data will transfer from the data latch to the I/O bus and from there the data will be transferred to the output buffer.
- each input/output circuit 303 has four associated data latches, 306, 309, 314, and 322, with the first two respectively corresponding to the lower and upper bits for programming and the second two respectively corresponding to the lower and upper bits for reading.
- FIG. 3c In a folded structure, such as Figure 3c (or Figure 8, below), multiple input/output circuits such as 303 a and 303b are stacked on top of each other.
- one of the input/output circuits belongs to an odd bit line and the other belonging to an even bit line.
- the same latch is used for both the read and program data, although in a variation separate data latches for program and read can be used.
- the strobe pulse of the shift register will travel first in one direction, say from right to left, to access one of the bit lines, and when it meets the (counter defined) boundary, the strobe will turn around to go from left to right to access the other of the bit lines.
- the I/O connections can have several options. In one case where the two bits stored in one physical cell belong logically to the same page and are written at the same time, it may be convenient to use two I/O lines, 333 & 336, to load the corresponding data latches 306 and 309 simultaneously ( Figure 3a). In the case of separate data latches for program and read as in Figure 3b, the data latches 306 and 309 for program may be connected to DIN lines (Data In lines from input buffer), and the data latches 314 and 322 used for reading may be connected through I/O lines to output buffers.
- DIN lines Data In lines from input buffer
- FIG. 4 An example of a specific circuit implementation of a latch is shown in Figure 4.
- An input I/O is the data input to the latch, such as 306, and will be connected to an input line, such as 333.
- the column select signal CSL is connected to a pass transistor or pass gate 402 that allows data to be connected to or disconnected from the input.
- the signal CSL is supplied from the Y or column select circuit YSEL that corresponds to one stage of the shift register 346 of Figures 3a-c.
- This example of a latch circuit includes cross- coupled inverters to hold data and also connects to the read-write circuit so that data may be passed between the circuits.
- Other circuit implementations for a latch may also be used, such as NAND, NOR, XOR, AND, and OR gates, and combinations of these.
- a read enable signal RE and write enable signal WE will be the clock to control the YSEL.
- a strobe will be propagate along the YSEL stages of the shift register. In the case of a folded structure, when the pulse reaches the last stage, it will propagate back in the other direction.
- CSL is high, the data latch will be selected.
- the I/O line will then get the data from or put the data into the data latch.
- I/O input/output
- the exemplary embodiment of Figure 4 shows an NMOS or n-channel pass transistor.
- a pass gate There are many ways to form a pass gate and any of these techniques may be used.
- a CMOS pass gate that includes NMOS and PMOS transistors connected in parallel, may be used.
- a high voltage pass gate may be used.
- a high-voltage NMOS pass gate is enabled or turned on (or placed in an on state) by placing a high voltage, above VCC, at its gate or control electrode.
- An NMOS pass gate is turned off or put in an off state by placing its control electrode at VSS or ground.
- each read- write circuit is connected to and has two latches associated with it that serve as both input and output latches.
- two of these latches can be used to hold the data to be written into the memory cell, and two latches are used to hold the data read out of the memory cell.
- the write data is input into the latches via the appropriate input lines and then written using the appropriate read-write circuit into the memory cells.
- Data from the memory cells is read out using the sense amplifier and stored into the latches.
- the read data is output from the latches using the appropriate output lines.
- the communication line between the latch and the read-write circuit is not shown.
- Data is input from the latches one at a time using the input lines. This is done by using a column select signal (CSL), as described above, so that the latches associated with a read-write circuit or column in the array are connected to the input lines one at a time.
- CSL column select signal
- the CSL signal for the latches comes from the shift registers.
- the shift registers are loaded with a pattern (for active high logic) which is all 0s, except for one 1 (e.g., 0001000000). This bit may be referred to as a strobe bit. For example, shift register associated with the first column has a 1, and the rest of the shift register bits contain 0.
- This 1 is connected to the ENABLE input of the latches for the first column, which connects one or more of these latches to the I/O lines 333, 336, 338, and 340. Data can be read or written to this column.
- the input to the shift register is connected to 0 and the shift register is clocked.
- the 1 propagates to the next shift register stage.
- This 1 is connected to the ENABLE input of the latches for the second column, which connects these latches to the I/O lines. This operation continues until the desired data is read or written from the latches.
- Figures 5 and 6 show more clearly the operation of latches and shift register.
- the first shift register has a 1; the data latch associated with that shift register and column is connected to the I/O line.
- the shift register has been clocked, and the next shift register bit has the 1 ; the data latch associated with that shift register and column is connected to the I/O line.
- the circuitry may also be designed for an active low LOAD signal. Then, the shift register will contain all Is and a 0 for the particular latches to be enabled (e.g., 1110111111).
- each single BL line would consist of 8 bit lines
- Sense Amp 303 would read from and write to each of the 8 bit lines
- each Data Latch 306 and 309 would hold 8 bits of data
- the upper bit and lower bit lines 333 and 336 would each be 8 bits wide. This allows a byte of data to be entered or read from each column block simultaneously.
- Figure 7A presents these and other aspects of the invention in a more general context.
- the shift registers are replaced by the Y-select blocks YSEL 900-z ' , corresponding to the column control circuits of Figure 1, and the data input/output circuits YBLOCK 800-z * that compose part of the data input/output circuits 6 of Figure 1.
- Figure 7A shows the relation of these elements and various control signals used in their operation.
- series of M+l Y-select blocks YSEL0 900-0 to YSELM 900-M receive a common clock signal CLK.
- the output OUT of each Y-select block 900-z * is connected to the YSEL block on either side through a right input RLN and a left input LL .
- Which of the two inputs RLN and LIN is active is determined by the left-to-right signal LTR: when LTR is high, LIN is active and each of the Y-select blocks 900-z " shift the pulse to its neighbor on the right; when LTR is low, RLN is active and the pulse travels to the left.
- LTR left-to-right signal
- Each Y-select block 900-z * has a distinct input FUSE that indicates whether the column is bad and needs to be skipped.
- FUSE When FUSE is set for a given Y-select circuit, CSL is not asserted and the shift register acts as a buffer to pass the pulse to the next stage so that the pulse passes through to the next Y-select block without waiting for the next clock cycle.
- the values for FUSE-z can be stored in a ROM portion of the memory 22 and read out at power up to set the FUSE signals to the Y-select blocks.
- the list of bad columns can be established when the memory is tested and written into the ROM.
- Figure 7B shows an example of how the YSEL 900 and YBLOCK 800 circuits can be arranged with respect to the memory array.
- the memory array 1 is again divided into a left and right potion as in Figure 2B.
- each side has an independent set of Y-select circuits 900 and input/output circuits YBLOCK 800 that would have their own input pulse IN into the first shift register in the chain of, here, 4 YSEL blocks.
- half of the YSEL/YBLOCK circuits in each side can be placed above the array 1, with the other half placed below, as shown in Figure 7B.
- each shift register was comiected to only a single set of read/write circuits, but in general there can be more.
- Figure 7A shows two YBLOCKs, 800-z ' a and 800-tb, associated with each YSEL 900-z * .
- Figure 8 is a block diagram of some elements of the data input/output circuits YBLOCK 800-i of Figure 7A, and illustrates an additional embodiment of the invention in which multiple data latches can be incorporated into a column block.
- This can be useful for performing certain functions directly on the memory chip and requiring minimal data transfer between the memory chip and the controller, thus improving performance.
- it is useful to have multiple data latches for receiving next page data during a sequential programming operation. While one set of latches contain the current data being programmed, a second set of latches can be loaded with new data for the next programming operation, allowing overlapped programming and data transfer.
- a second use for additional data latches occurs when data needs to be copied from one page to another page within the memory 22, or when each memory cell contains data from two different logical pages as described in US patent 6,522,580.
- Y-Block 800 consists of multiple data latches 802a, 802b, through 802n that can store data to be used by the Sense Amps 803a through 803n for either reading or writing.
- a central control unit labeled Input/Output & Control 801 is used to control access to the global I/O Data Lines 805 when selected by input signal CSL from the associated YSEL circuitry.
- Each of the sense Amps 803a through 803n is associated with one or more bit lines (BL). In some NAND architectures it is common to associate two bit lines (odd and even) with each sense amp and read them at different times. In other NAND architectures it is desirable to read all bit lines simultaneously, requiring one Sense Amp for each bit line.
- each Data Latch There may also be one or more dedicated data latches included within each Sense Amp.
- the fact that multiple Sense Amps are shown in this block is an indication that typically at least one or more bytes of data would be accessed by this block, though this is not a requirement.
- the data width of each Data Latch is typically as wide as the number of I/O Data Lines. For example, if there are 8 I/O Lines (or 8 Input Lines and 8 Output Lines) crossing the central control unit, each Data Latch would typically hold 8 bits.
- both the Sense Amps and the central control unit 801 can access the data latches at random and in any desired order.
- bus 804 carries both data and control information.
- the Data Latches may be accessed in series such that data is shifted from the central control unit 801 to Data Latch 802a, then from Data Latch 802a to Data Latch 802b, and so forth to Data Latch 802n.
- the control signal DACLK 806 (described below in conjunction with Figure 12) would be routed to each of the Data Latches to effect that transfer.
- the data is received from the I/O Data Lines 804 under control of CSL, from which it is supplied to one of the data latches. If the Data Latches are connected in series, it would be applied to Data Latch 802a and subsequently shifted through all the Data Latches to the Sense Amp and written into the memory.
- a read process is essentially the reverse in which data is read from the Sense Amps and placed in Data Latch 802n and shifted up through the other Data Latches to the I/O Data Lines 805.
- the I/O Data Lines consist of two sets of lines: Input Lines loading Data Latch 802a and Output Data Lines driven from Data Latch 802n.
- FIG 9 is a schematic for an exemplary embodiment of the Y-select block 900.
- This particular embodiment is formed from a master latch MSTR 1000 and a slave latch 1100. Both latches are connected to the clock CLK, receive an input signal INP and its complement INV, and supply an output OUT and complement BAR.
- the signals OUT and BAR of the master latch 1000 are respectively connected to INP and INN of the slave 1100.
- the output of the slave latch is the OUT signal of block 900 in Figure 7A, the inverse signals being suppressed in, that figure.
- the input I ⁇ P of the master 1000 is connected to the left input LL and right input RLN through switch 931, that also connects the inverse input L ⁇ N of the master to the inverses of LI ⁇ and RT ⁇ , LIB and RIB respectively.
- LEST When the left-to-right signal LTR is asserted, LEST is connected to I ⁇ P and LIB to I ⁇ V; when the right-to-left signal RTL, the inverse of LTR, is asserted, RT ⁇ and RIB are respectively connected to L ⁇ P and L ⁇ N.
- the output OUT of the slave SLVE 1100 is also supplied to ⁇ A ⁇ D gate 910. Consequently, when the output OUT is high (and FSB, as explained below, is also high) and the clock pulse arrives, the ⁇ A ⁇ D output goes low and is inverted by 911 to assert the column select signal CSL of the Y-select block.
- ⁇ the ⁇ A ⁇ D gate 910 also receives an input labeled SRO to indicate the serial readout mode is enabled: in other embodiments, the SRO signal may be absent or replaced with other control signal to enable/disable the CSL signal.
- CSL is not clocked directly by applying CLK as an input of 910, as OUT is a clocked signal, CSL is clocked indirectly through this input.
- the value of FSE is held in the latch composed of the inverters 923 and 924.
- FSE is also supplied to master latch 1000 and its inverse FSB is supplied to slave latch 1100. These signals convert the latches into a pair of un-clocked buffers by essentially overriding the clock signal and passing the input of the Y-select block directly to the output.
- Many possible embodiments can be used for the master register 1000 and slave register 1100, with one particular example given in Figures 10 and 11.
- FSE is set through the signals PURB, SET, 112 and 134, which were collectively indicated as FUSE in Figure 7A.
- This signals 112 and 134 are respectively connected to the transistors 929 and 927 and indicate whether the column block is bad.
- 112 corresponds to the first and second bit lines ⁇ of the column and 134 the third and fourth.
- each bit line could have its own indicating transistor in parallel or all four could share a single transistor.
- the bad column values are read from the memory ROM and the values of 112 and 134 are set.
- Transistor 921 is then turned on to charge up node X by PURB, after which the charge is trapped, setting node X high.
- the bad column information can be saved in a designated ROM block for transfer to update the shift register latch (or column isolation latch) in Figure 9. h an embodiment based on Figure 9, a certain data pattern saved in a first word line of the
- ROM memory with "1" indicating a bad column, "0" indicating a good column.
- the reversed data will be saved in a second wordline.
- the purpose in storing both the data and its inverse is to insure the integrity of the stored data. If a bit line (in the metal) is physically open or shorted or has another fault, then both the bad column data and its inverse can not read out correctly. In that case, the column can be automatically discarded.
- a two read sequence is to be executed to read the data from the first ROM word line first and compare this with the data read from the second wordline.
- the list of bad columns is stored in more than one location.
- This method will be more robust in memory systems more prone to disturbs and can be used in memories with a "plane" structure, such as described in U.S. Patent 6,426,893, which is hereby incorporated by reference.
- the bad column addresses can be stored in the designated ROM blocks, with both the information and its inverse stored on the same page. In this embodiment, the address information is also duplicated in the ROM block of the other planes.
- the bad column addresses are saved in 4 pages in the ROM blocks on the same WL.
- the data is saved on the same WL for instant read-out upon power up. In this way, four copies of same data will be readout in one read, and the data will be compared to eliminate the bad data.
- the column address data can then be temporarily loaded into a register.
- the Shift Register will toggle through every column, if the column address matches the bad column address, the SET signal will go high to set node X in Figure 9 low.
- only one of the pull down transistors 927 and 929 are needed, and the signal to the gate of the remaining transistor changed.
- Figure 9 would be modified so that transistor 929 can be deleted and the input to the gate of transistor 927 will now be the signal CSL instead of 134.
- Figure 10 is a schematic of an exemplary embodiment of the master latch 1000.
- the cross-coupled left hand side of Figure 10 operates in a complementary manner to the right side using INP as the input and providing BAR as the output.
- FIG 11 is a schematic of an exemplary embodiment of a slave latch 1100 constructed in a complementary manner to the master latch 1000 of Figure 10.
- the circuit becomes functionally equivalent to a buffer.
- the series combination of MSTR 1000 and SLNE 1100 provides its input, either LT ⁇ or RI ⁇ depending on the how switch 931 is set, directly to the output of Y-select block 900 for the next Y-select block in Figure 8 to receive.
- Figure 12 is a timing diagram showing, the operation of the exemplary embodiment of Figures 8-11.
- the top line is the signal LTR (RTL in Figure 9) and will be low when the pulse is passed to the right in the Y-select circuits 900-z * of Figure 7A, and high when it flows back to the left.
- the initial pulse or strobe IN that is applied to the input LIN of 900-0 is shown on the second line.
- the signal LAST indicates when the last Y-select circuit (either the YSELM 900-M on the right or YSELO on the left of
- Figure 7A is reached by going low.
- DACLK is the signal applied to the Y blocks 800-f of Figure 7 to load data into the Data Latches or shift the data between them for the next time CSL is asserted.
- the pulse only shifts through the Y-select circuits once and the signals RTL, LAST , and DACLK are not needed; this simplified case is the area to the left of the broken line 1201.
- the waveforms below DACLK, CSL0-CSL11 show the control signals CSL from the Y-select circuits.
- Figure 12 shows the operation of the circuit after it has been initialized and the bad columns, in this example columns 2 and 8, have been fused out.
- This initialization consists of reading the list of bad bit lines, for example from the memories ROM at powerup, and supplying this information to the Y-select circuits, such as by the signals 112 and 134 in Figure 9.
- the signal PURB is then taken low, followed by SET going high to set the value of FSE of Figure 9 for each of the Y-select circuits 900-z * of Figure 7 A.
- LTR goes high to activate the RLN inputs of the Y-select circuits and DACLK goes low to reset the Y blocks 800-z.
- the signal LAST is taken low when the pulse reaches the end of the line (YSELM or YSELO) to hold the pulse in the end registers for an additional clock cycle and assert CSL longer while DACLK and LTR change. (The connection of the signal LAST to the end YSEL blocks is not shown in Figure 7A.)
- CSL0 is held high for two cycles by LAST , during which time LTR is taken back to low and the Data Latches are set up to receive new data. The process then continues as before to load the additional Data Latches and the process is complete.
- the array effectively has 10 good columns, with column 3 perceived as the (now removed) column 2, and so on for the rest of the columns. Consequently, the number of accessible "standard" columns is the actual number of these standard columns less the number of removed bad columns.
- the number of accessible standard columns in a block is less than the expected number as the removal of the bad columns is transparent to the controller and the host. As long as the controller/host does not request more than this accessible number of standard columns, this presents no difficulty; however, if the number of requested columns exceeds the number of accessible standard columns, these will be used up before the number of requested columns have been found. Therefore, according to another aspect of the present invention, a set of redundant columns is provided in each sector to replace the removed bad columns.
- Figures 13a and 13b are a schematic representation of the redundant column substitution process in an exemplary embodiment.
- Figure 13a shows one possible architecture of a memory array, consisting of a left and right plane, each of which holds 528 Bytes of data on each word line.
- Figure 13b shows how the column block substitution process proceeds as data is written into the array. The basic assumption is that in order to program all cells on one word line, data will be written into four separate Data Latches (802a - 802d in Figure 8) in each column block.
- the two bad column blocks are replaced by two redundant column blocks.
- the non-used blocks are indicated by an x.
- the pulse begins at the left side and is propagated until it reaches the first bad column block, which is then skipped.
- the pulse then continues through the rest of the normal section, again skipping the second bad column block.
- the pulse continues on and picks up two extra column blocks in the redundancy area.
- the remaining portion of the redundancy area is ignored and not accessed, as shown by the x's, and the process continues with a second pass toward the left.
- each column block holds data from widely separated logical bytes of the input data stream.
- the first column block holds data from bytes 1, 264, 265, and 528.
- the boundary in the redundancy area at which the pulse turns around is not a fixed boundary, but determined by the number of blocks needing to be replaced.
- This is illustrated schematically in Figure 13b where the left and right sides of the array structure share the redundancy columns to make the replacement process more flexible.
- each sub-array is structured to hold 528 bytes of data along each word line.
- the redundancy blocks In the middle are placed the redundancy blocks. Both the right and left sides will access the number of redundant columns needed to replace their corresponding number of bad columns.
- the left array has two bad column blocks (as again shown by the x's) and will consequently appropriate two of the redundant column blocks with the pulse extending in to access these extra blocks before propagating back to the left.
- the pulse begins on the right and will travel in to access one replacement block from the redundant area before travelling back to the right.
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04815107A EP1700314A1 (en) | 2003-12-31 | 2004-12-20 | Flexible and area efficient column redundancy for non-volatile memories |
JP2006547280A JP2007517353A (en) | 2003-12-31 | 2004-12-20 | Flexible and area efficient column redundancy for non-volatile memory |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/751,097 US7170802B2 (en) | 2003-12-31 | 2003-12-31 | Flexible and area efficient column redundancy for non-volatile memories |
US10/751,097 | 2003-12-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2005066975A1 true WO2005066975A1 (en) | 2005-07-21 |
Family
ID=34701266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2004/042990 WO2005066975A1 (en) | 2003-12-31 | 2004-12-20 | Flexible and area efficient column redundancy for non-volatile memories |
Country Status (7)
Country | Link |
---|---|
US (2) | US7170802B2 (en) |
EP (1) | EP1700314A1 (en) |
JP (1) | JP2007517353A (en) |
KR (1) | KR20060127014A (en) |
CN (1) | CN1902713A (en) |
TW (1) | TWI264015B (en) |
WO (1) | WO2005066975A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7405985B2 (en) | 2003-12-31 | 2008-07-29 | Sandisk Corporation | Flexible and area efficient column redundancy for non-volatile memories |
US8842473B2 (en) | 2012-03-15 | 2014-09-23 | Sandisk Technologies Inc. | Techniques for accessing column selecting shift register with skipped entries in non-volatile memories |
Families Citing this family (158)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6985388B2 (en) * | 2001-09-17 | 2006-01-10 | Sandisk Corporation | Dynamic column block selection |
US7251173B2 (en) * | 2005-08-02 | 2007-07-31 | Micron Technology, Inc. | Combination column redundancy system for a memory array |
US7447066B2 (en) * | 2005-11-08 | 2008-11-04 | Sandisk Corporation | Memory with retargetable memory cell redundancy |
WO2007105812A1 (en) * | 2006-03-14 | 2007-09-20 | Ricoh Company, Ltd. | Memory card and memory card control changeover method |
US7324389B2 (en) * | 2006-03-24 | 2008-01-29 | Sandisk Corporation | Non-volatile memory with redundancy data buffered in remote buffer circuits |
US7394690B2 (en) | 2006-03-24 | 2008-07-01 | Sandisk Corporation | Method for column redundancy using data latches in solid-state memories |
EP2008283B1 (en) | 2006-03-24 | 2013-08-07 | SanDisk Technologies Inc. | Non-volatile memory and method with redundancy data buffered in data latches for defective locations |
JP4499827B2 (en) * | 2006-03-24 | 2010-07-07 | サンディスク コーポレイション | Nonvolatile memory and method in which redundant data is buffered in a remote buffer circuit |
US7352635B2 (en) | 2006-03-24 | 2008-04-01 | Sandisk Corporation | Method for remote redundancy for non-volatile memory |
US7224605B1 (en) | 2006-03-24 | 2007-05-29 | Sandisk Corporation | Non-volatile memory with redundancy data buffered in data latches for defective locations |
WO2007132456A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Memory device with adaptive capacity |
WO2007132457A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
CN103258572B (en) | 2006-05-12 | 2016-12-07 | 苹果公司 | Distortion estimation in storage device and elimination |
WO2007132452A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies | Reducing programming error in memory devices |
US8060806B2 (en) | 2006-08-27 | 2011-11-15 | Anobit Technologies Ltd. | Estimation of non-linear distortion in memory devices |
CN101601094B (en) | 2006-10-30 | 2013-03-27 | 苹果公司 | Reading memory cells using multiple thresholds |
WO2008053472A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US8151163B2 (en) * | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US7593263B2 (en) * | 2006-12-17 | 2009-09-22 | Anobit Technologies Ltd. | Memory device with reduced reading latency |
US7900102B2 (en) * | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
JP4982173B2 (en) * | 2006-12-27 | 2012-07-25 | 株式会社東芝 | Semiconductor memory device |
US8151166B2 (en) * | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US7751240B2 (en) * | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
KR100850270B1 (en) * | 2007-02-08 | 2008-08-04 | 삼성전자주식회사 | Semiconductor memory device with fail bit latch |
JP2008198310A (en) * | 2007-02-15 | 2008-08-28 | Megachips Lsi Solutions Inc | Method for repairing bit error and information processing system |
JP5032155B2 (en) * | 2007-03-02 | 2012-09-26 | 株式会社東芝 | Nonvolatile semiconductor memory device and nonvolatile semiconductor memory system |
CN101715595A (en) * | 2007-03-12 | 2010-05-26 | 爱诺彼得技术有限责任公司 | Adaptive estimation of memory cell read thresholds |
US8001320B2 (en) * | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US7856576B2 (en) * | 2007-04-25 | 2010-12-21 | Hewlett-Packard Development Company, L.P. | Method and system for managing memory transactions for memory repair |
KR100914265B1 (en) * | 2007-05-10 | 2009-08-27 | 삼성전자주식회사 | Nonvolatile memory device, memory system thereof, and reading method thereof |
WO2008139441A2 (en) | 2007-05-12 | 2008-11-20 | Anobit Technologies Ltd. | Memory device with internal signal processing unit |
US8234545B2 (en) * | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8174905B2 (en) * | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US8248848B1 (en) | 2007-10-01 | 2012-08-21 | Marvell International Ltd. | System and methods for multi-level nonvolatile memory read, program and erase |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
WO2009050703A2 (en) * | 2007-10-19 | 2009-04-23 | Anobit Technologies | Data storage in analog memory cell arrays having erase failures |
US8068360B2 (en) * | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
WO2009063450A2 (en) * | 2007-11-13 | 2009-05-22 | Anobit Technologies | Optimized selection of memory units in multi-unit memory devices |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US8209588B2 (en) * | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US8085586B2 (en) * | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US8156398B2 (en) * | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US7924587B2 (en) * | 2008-02-21 | 2011-04-12 | Anobit Technologies Ltd. | Programming of analog memory cells using a single programming pulse per state transition |
US7864573B2 (en) | 2008-02-24 | 2011-01-04 | Anobit Technologies Ltd. | Programming analog memory cells for reduced variance after retention |
US8230300B2 (en) * | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8059457B2 (en) * | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
US8208304B2 (en) * | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
US8248831B2 (en) * | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8397131B1 (en) | 2008-12-31 | 2013-03-12 | Apple Inc. | Efficient readout schemes for analog memory cell devices |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US7940546B2 (en) * | 2009-01-30 | 2011-05-10 | Arm Limited | ROM array |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) * | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
JP2010277672A (en) * | 2009-06-01 | 2010-12-09 | Toshiba Corp | Multi-value nand flash memory |
US8027195B2 (en) * | 2009-06-05 | 2011-09-27 | SanDisk Technologies, Inc. | Folding data stored in binary format into multi-state format within non-volatile memory devices |
US8102705B2 (en) * | 2009-06-05 | 2012-01-24 | Sandisk Technologies Inc. | Structure and method for shuffling data within non-volatile memory devices |
US7974124B2 (en) | 2009-06-24 | 2011-07-05 | Sandisk Corporation | Pointer based column selection techniques in non-volatile memories |
US20110002169A1 (en) * | 2009-07-06 | 2011-01-06 | Yan Li | Bad Column Management with Bit Information in Non-Volatile Memory Systems |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8661315B2 (en) * | 2009-10-07 | 2014-02-25 | Mediatek Inc. | Efuse devices, correction methods thereof, and methods for operating efuse devices |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
JP2011129176A (en) * | 2009-12-15 | 2011-06-30 | Toshiba Corp | Nonvolatile semiconductor memory device |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US8468294B2 (en) * | 2009-12-18 | 2013-06-18 | Sandisk Technologies Inc. | Non-volatile memory with multi-gear control using on-chip folding of data |
US8725935B2 (en) | 2009-12-18 | 2014-05-13 | Sandisk Technologies Inc. | Balanced performance for on-chip folding of non-volatile memories |
US8144512B2 (en) | 2009-12-18 | 2012-03-27 | Sandisk Technologies Inc. | Data transfer flows for on-chip folding |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
JP2011181131A (en) | 2010-02-26 | 2011-09-15 | Toshiba Corp | Semiconductor memory device |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
TWI467592B (en) * | 2010-05-28 | 2015-01-01 | Mstar Semiconductor Inc | Memory apparatus and associated method |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8514630B2 (en) | 2010-07-09 | 2013-08-20 | Sandisk Technologies Inc. | Detection of word-line leakage in memory arrays: current based approach |
US8305807B2 (en) | 2010-07-09 | 2012-11-06 | Sandisk Technologies Inc. | Detection of broken word-lines in memory arrays |
US8432732B2 (en) | 2010-07-09 | 2013-04-30 | Sandisk Technologies Inc. | Detection of word-line leakage in memory arrays |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8767459B1 (en) | 2010-07-31 | 2014-07-01 | Apple Inc. | Data storage in analog memory cells across word lines using a non-integer number of bits per cell |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
KR101113790B1 (en) * | 2010-10-15 | 2012-02-27 | 주식회사 하이닉스반도체 | Fuse circuit and memory device including the same |
US9342446B2 (en) | 2011-03-29 | 2016-05-17 | SanDisk Technologies, Inc. | Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache |
JP5380483B2 (en) * | 2011-03-31 | 2014-01-08 | 株式会社東芝 | Semiconductor memory device |
US8379454B2 (en) | 2011-05-05 | 2013-02-19 | Sandisk Technologies Inc. | Detection of broken word-lines in memory arrays |
US8726104B2 (en) | 2011-07-28 | 2014-05-13 | Sandisk Technologies Inc. | Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages |
US8775901B2 (en) | 2011-07-28 | 2014-07-08 | SanDisk Technologies, Inc. | Data recovery for defective word lines during programming of non-volatile memory arrays |
US8750042B2 (en) | 2011-07-28 | 2014-06-10 | Sandisk Technologies Inc. | Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures |
US8775722B2 (en) | 2011-12-30 | 2014-07-08 | Sandisk Technologies Inc. | Storing data in parallel in a flash storage device using on chip page shifting between planes |
US8730722B2 (en) | 2012-03-02 | 2014-05-20 | Sandisk Technologies Inc. | Saving of data in cases of word-line to word-line short in memory arrays |
US8681548B2 (en) | 2012-05-03 | 2014-03-25 | Sandisk Technologies Inc. | Column redundancy circuitry for non-volatile memory |
US8885425B2 (en) | 2012-05-28 | 2014-11-11 | Kabushiki Kaisha Toshiba | Semiconductor memory and method of controlling the same |
KR20140031554A (en) * | 2012-09-04 | 2014-03-13 | 에스케이하이닉스 주식회사 | Nonvolatile memory device and operating method thereof |
US9164526B2 (en) | 2012-09-27 | 2015-10-20 | Sandisk Technologies Inc. | Sigma delta over-sampling charge pump analog-to-digital converter |
US9810723B2 (en) | 2012-09-27 | 2017-11-07 | Sandisk Technologies Llc | Charge pump based over-sampling ADC for current detection |
US8897080B2 (en) | 2012-09-28 | 2014-11-25 | Sandisk Technologies Inc. | Variable rate serial to parallel shift register |
US9076506B2 (en) | 2012-09-28 | 2015-07-07 | Sandisk Technologies Inc. | Variable rate parallel to serial shift register |
US9490035B2 (en) | 2012-09-28 | 2016-11-08 | SanDisk Technologies, Inc. | Centralized variable rate serializer and deserializer for bad column management |
US8634248B1 (en) | 2012-11-09 | 2014-01-21 | Sandisk Technologies Inc. | On-device data analytics using NAND flash based intelligent memory |
WO2014074496A2 (en) | 2012-11-09 | 2014-05-15 | Sandisk Technologies Inc. | Cam nand with or function and full chip search capability |
US8780633B2 (en) | 2012-11-09 | 2014-07-15 | SanDisk Technologies, Inc. | De-duplication system using NAND flash based content addressable memory |
US8811085B2 (en) | 2012-11-09 | 2014-08-19 | Sandisk Technologies Inc. | On-device data analytics using NAND flash based intelligent memory |
US8780632B2 (en) | 2012-11-09 | 2014-07-15 | Sandisk Technologies Inc. | De-duplication techniques using NAND flash based content addressable memory |
US8792279B2 (en) | 2012-11-09 | 2014-07-29 | Sandisk Technologies Inc. | Architectures for data analytics using computational NAND memory |
US8780634B2 (en) | 2012-11-09 | 2014-07-15 | Sandisk Technologies Inc. | CAM NAND with OR function and full chip search capability |
US8773909B2 (en) | 2012-11-09 | 2014-07-08 | Sandisk Technologies Inc. | CAM NAND with or function and full chip search capability |
US8817541B2 (en) | 2012-11-09 | 2014-08-26 | Sandisk Technologies Inc. | Data search using bloom filters and NAND based content addressable memory |
US8780635B2 (en) | 2012-11-09 | 2014-07-15 | Sandisk Technologies Inc. | Use of bloom filter and improved program algorithm for increased data protection in CAM NAND memory |
WO2014074483A2 (en) | 2012-11-09 | 2014-05-15 | Sandisk Technologies Inc. | On-device data analytics using nand flash based intelligent memory |
US9104551B2 (en) | 2012-11-09 | 2015-08-11 | Sandisk Technologies Inc. | NAND flash based content addressable memory |
US9146807B2 (en) | 2012-12-04 | 2015-09-29 | Sandisk Technologies Inc. | Bad column handling in flash memory |
US9075424B2 (en) | 2013-03-06 | 2015-07-07 | Sandisk Technologies Inc. | Compensation scheme to improve the stability of the operational amplifiers |
US9343185B2 (en) | 2013-09-26 | 2016-05-17 | International Business Machines Corporation | Electronic circuit for fitting a virtual address range to a physical memory containing faulty address |
US9779784B2 (en) * | 2014-10-29 | 2017-10-03 | Micron Technology, Inc. | Apparatuses and methods for performing logical operations using sensing circuitry |
US9934872B2 (en) | 2014-10-30 | 2018-04-03 | Sandisk Technologies Llc | Erase stress and delta erase loop count methods for various fail modes in non-volatile memory |
KR102239755B1 (en) * | 2014-12-05 | 2021-04-14 | 에스케이하이닉스 주식회사 | Repair information storage circuit and semiconductor apparatus including the same |
US9224502B1 (en) | 2015-01-14 | 2015-12-29 | Sandisk Technologies Inc. | Techniques for detection and treating memory hole to local interconnect marginality defects |
US10032524B2 (en) | 2015-02-09 | 2018-07-24 | Sandisk Technologies Llc | Techniques for determining local interconnect defects |
US9269446B1 (en) | 2015-04-08 | 2016-02-23 | Sandisk Technologies Inc. | Methods to improve programming of slow cells |
US9564219B2 (en) | 2015-04-08 | 2017-02-07 | Sandisk Technologies Llc | Current based detection and recording of memory hole-interconnect spacing defects |
US9792175B2 (en) | 2015-10-21 | 2017-10-17 | Sandisk Technologies Llc | Bad column management in nonvolatile memory |
US9698676B1 (en) | 2016-03-11 | 2017-07-04 | Sandisk Technologies Llc | Charge pump based over-sampling with uniform step size for current detection |
US9779796B1 (en) | 2016-09-07 | 2017-10-03 | Micron Technology, Inc. | Redundancy array column decoder for memory |
US9666307B1 (en) * | 2016-09-14 | 2017-05-30 | Micron Technology, Inc. | Apparatuses and methods for flexible fuse transmission |
KR102633031B1 (en) * | 2016-11-04 | 2024-02-05 | 에스케이하이닉스 주식회사 | Semiconductor memory device |
US10443531B2 (en) | 2017-08-18 | 2019-10-15 | Micron Technology, Inc. | Apparatuses and methods for storing redundancy repair information for memories |
US10381103B2 (en) | 2017-08-18 | 2019-08-13 | Micron Technology, Inc. | Apparatuses and methods for latching redundancy repair addresses to avoid address bits overwritten at a repair block |
US10726922B2 (en) * | 2018-06-05 | 2020-07-28 | Sandisk Technologies Llc | Memory device with connected word lines for fast programming |
US11568229B2 (en) * | 2018-07-11 | 2023-01-31 | Silicon Storage Technology, Inc. | Redundant memory access for rows or columns containing faulty memory cells in analog neural memory in deep learning artificial neural network |
US10726940B2 (en) | 2018-09-08 | 2020-07-28 | Sandisk Technologies Llc | Column skip inconsistency correction |
US10908838B2 (en) | 2018-09-25 | 2021-02-02 | Sandisk Technologies Llc | Column replacement with non-dedicated replacement columns |
US10838726B1 (en) | 2019-11-05 | 2020-11-17 | Sandisk Technologies Llc | Asynchronous FIFO buffer for redundant columns in memory device |
US11004535B1 (en) | 2019-12-17 | 2021-05-11 | Sandisk Technologies Llc | Robust storage of bad column data and parity bits on word line |
TW202133177A (en) | 2020-02-24 | 2021-09-01 | 聯華電子股份有限公司 | Non-volatile memory and operation method thereof |
US11354209B2 (en) * | 2020-04-13 | 2022-06-07 | Sandisk Technologies Llc | Column redundancy data architecture for yield improvement |
US10971202B1 (en) | 2020-04-15 | 2021-04-06 | Sandisk Technologies Llc | Low latency data transfer |
KR20210156985A (en) | 2020-06-19 | 2021-12-28 | 삼성전자주식회사 | Semiconductor devices including work function layers |
KR20210158607A (en) | 2020-06-24 | 2021-12-31 | 삼성전자주식회사 | Semiconductor device including capping layer |
KR20210158615A (en) | 2020-06-24 | 2021-12-31 | 삼성전자주식회사 | Integrate circuit device including gate line |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
US11810636B2 (en) * | 2022-01-12 | 2023-11-07 | Qualcomm Incorporated | Latch array with mask-write functionality |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01128297A (en) * | 1987-11-12 | 1989-05-19 | Sharp Corp | Semiconductor integrated circuit device |
US5479370A (en) * | 1992-02-20 | 1995-12-26 | Kabushiki Kaisha Toshiba | Semiconductor memory with bypass circuit |
WO2003025939A2 (en) * | 2001-09-17 | 2003-03-27 | Sandisk Corporation | Dynamic column block selection |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1268283A (en) | 1970-04-02 | 1972-03-29 | Ibm | Connect module |
US3895360A (en) * | 1974-01-29 | 1975-07-15 | Westinghouse Electric Corp | Block oriented random access memory |
US4034356A (en) | 1975-12-03 | 1977-07-05 | Ibm Corporation | Reconfigurable logic array |
JPS61265798A (en) * | 1985-05-20 | 1986-11-25 | Fujitsu Ltd | Semiconductor memory device |
JPS61292747A (en) | 1985-06-20 | 1986-12-23 | Nec Corp | Buffer register |
JPS62287497A (en) * | 1986-06-06 | 1987-12-14 | Fujitsu Ltd | Semiconductor memory unit |
US5095344A (en) * | 1988-06-08 | 1992-03-10 | Eliyahou Harari | Highly compact eprom and flash eeprom devices |
US5268870A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
DE69034191T2 (en) * | 1989-04-13 | 2005-11-24 | Sandisk Corp., Sunnyvale | EEPROM system with multi-chip block erasure |
US5172338B1 (en) * | 1989-04-13 | 1997-07-08 | Sandisk Corp | Multi-state eeprom read and write circuits and techniques |
US5200959A (en) * | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
US5343063A (en) * | 1990-12-18 | 1994-08-30 | Sundisk Corporation | Dense vertical programmable read only memory cell structure and processes for making them |
JPH0831279B2 (en) * | 1990-12-20 | 1996-03-27 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Redundant system |
US5270979A (en) * | 1991-03-15 | 1993-12-14 | Sundisk Corporation | Method for optimum erasing of EEPROM |
US5663901A (en) * | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
US5430859A (en) * | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5297029A (en) | 1991-12-19 | 1994-03-22 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US6222762B1 (en) * | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
US5712180A (en) * | 1992-01-14 | 1998-01-27 | Sundisk Corporation | EEPROM with split gate source side injection |
JP2741825B2 (en) * | 1992-04-28 | 1998-04-22 | 三菱電機株式会社 | Semiconductor storage device |
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
JPH0620494A (en) | 1992-06-30 | 1994-01-28 | Hitachi Ltd | Semiconductor memory |
US5315541A (en) * | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
US5428621A (en) * | 1992-09-21 | 1995-06-27 | Sundisk Corporation | Latent defect handling in EEPROM devices |
JPH06150666A (en) | 1992-11-12 | 1994-05-31 | Sanyo Electric Co Ltd | Input circuit |
US5442748A (en) * | 1993-10-29 | 1995-08-15 | Sun Microsystems, Inc. | Architecture of output switching circuitry for frame buffer |
US5432741A (en) | 1994-03-17 | 1995-07-11 | Texas Instruments Incorporated | Circuit for permanently disabling EEPROM programming |
US5889698A (en) | 1995-01-31 | 1999-03-30 | Hitachi, Ltd. | Nonvolatile memory device and refreshing method |
JP3780011B2 (en) | 1995-07-14 | 2006-05-31 | 株式会社ルネサステクノロジ | Semiconductor memory device |
US5783958A (en) * | 1996-01-19 | 1998-07-21 | Sgs-Thomson Microelectronics, Inc. | Switching master slave circuit |
US6091666A (en) * | 1996-10-04 | 2000-07-18 | Sony Corporation | Nonvolatile flash memory with fast data programming operation |
KR100205006B1 (en) | 1996-10-08 | 1999-06-15 | 윤종용 | Semiconductor memory device having an automatic falut block mapping function |
US5890192A (en) * | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
JP3317187B2 (en) * | 1997-04-25 | 2002-08-26 | 日本電気株式会社 | Semiconductor storage device |
US6295231B1 (en) * | 1998-07-17 | 2001-09-25 | Kabushiki Kaisha Toshiba | High-speed cycle clock-synchronous memory device |
JP3730423B2 (en) * | 1998-11-24 | 2006-01-05 | 富士通株式会社 | Semiconductor memory device |
US6151248A (en) * | 1999-06-30 | 2000-11-21 | Sandisk Corporation | Dual floating gate EEPROM cell array with steering gates shared by adjacent cells |
DE19957621C2 (en) * | 1999-11-30 | 2001-11-29 | Schleifring Und Appbau Gmbh | Arrangement for the transmission of electrical signals between moving parts with a reduced number of paths |
US6426893B1 (en) * | 2000-02-17 | 2002-07-30 | Sandisk Corporation | Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
US6512263B1 (en) * | 2000-09-22 | 2003-01-28 | Sandisk Corporation | Non-volatile memory cell array having discontinuous source and drain diffusions contacted by continuous bit line conductors and methods of forming |
US6522580B2 (en) * | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6594177B2 (en) | 2001-08-02 | 2003-07-15 | Stmicroelectronics, Inc. | Redundancy circuit and method for replacing defective memory cells in a flash memory device |
US7170802B2 (en) | 2003-12-31 | 2007-01-30 | Sandisk Corporation | Flexible and area efficient column redundancy for non-volatile memories |
KR100437461B1 (en) * | 2002-01-12 | 2004-06-23 | 삼성전자주식회사 | Nand-type flash memory device and erase, program, and copy-back program methods thereof |
US6771536B2 (en) * | 2002-02-27 | 2004-08-03 | Sandisk Corporation | Operating techniques for reducing program and read disturbs of a non-volatile memory |
JP4175852B2 (en) | 2002-09-13 | 2008-11-05 | スパンション エルエルシー | Semiconductor memory that replaces redundant cell array normally |
JP4040405B2 (en) * | 2002-09-20 | 2008-01-30 | 富士通株式会社 | Nonvolatile semiconductor memory cell control method and nonvolatile semiconductor memory device |
US6983428B2 (en) * | 2002-09-24 | 2006-01-03 | Sandisk Corporation | Highly compact non-volatile memory and method thereof |
US7196931B2 (en) * | 2002-09-24 | 2007-03-27 | Sandisk Corporation | Non-volatile memory and method with reduced source line bias errors |
US6891753B2 (en) | 2002-09-24 | 2005-05-10 | Sandisk Corporation | Highly compact non-volatile memory and method therefor with internal serial buses |
JP4314057B2 (en) | 2003-04-18 | 2009-08-12 | サンディスク コーポレイション | Nonvolatile semiconductor memory device and electronic device |
US7057939B2 (en) | 2004-04-23 | 2006-06-06 | Sandisk Corporation | Non-volatile memory and control with improved partial page program capability |
KR100530930B1 (en) | 2004-05-11 | 2005-11-23 | 주식회사 하이닉스반도체 | A method for multi-i/o repair of nand flash memory device and a nand flash memory device thereof |
JP4102338B2 (en) | 2004-07-20 | 2008-06-18 | 株式会社東芝 | Semiconductor memory device |
-
2003
- 2003-12-31 US US10/751,097 patent/US7170802B2/en active Active
-
2004
- 2004-12-20 KR KR1020067012948A patent/KR20060127014A/en not_active Application Discontinuation
- 2004-12-20 WO PCT/US2004/042990 patent/WO2005066975A1/en not_active Application Discontinuation
- 2004-12-20 JP JP2006547280A patent/JP2007517353A/en active Pending
- 2004-12-20 CN CNA2004800392996A patent/CN1902713A/en active Pending
- 2004-12-20 EP EP04815107A patent/EP1700314A1/en not_active Withdrawn
- 2004-12-30 TW TW093141374A patent/TWI264015B/en not_active IP Right Cessation
-
2007
- 2007-01-03 US US11/619,524 patent/US7405985B2/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01128297A (en) * | 1987-11-12 | 1989-05-19 | Sharp Corp | Semiconductor integrated circuit device |
US5479370A (en) * | 1992-02-20 | 1995-12-26 | Kabushiki Kaisha Toshiba | Semiconductor memory with bypass circuit |
WO2003025939A2 (en) * | 2001-09-17 | 2003-03-27 | Sandisk Corporation | Dynamic column block selection |
Non-Patent Citations (1)
Title |
---|
PATENT ABSTRACTS OF JAPAN vol. 013, no. 375 (P - 921) 21 August 1989 (1989-08-21) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7405985B2 (en) | 2003-12-31 | 2008-07-29 | Sandisk Corporation | Flexible and area efficient column redundancy for non-volatile memories |
US8842473B2 (en) | 2012-03-15 | 2014-09-23 | Sandisk Technologies Inc. | Techniques for accessing column selecting shift register with skipped entries in non-volatile memories |
Also Published As
Publication number | Publication date |
---|---|
US7405985B2 (en) | 2008-07-29 |
US20070103976A1 (en) | 2007-05-10 |
KR20060127014A (en) | 2006-12-11 |
US7170802B2 (en) | 2007-01-30 |
TW200601349A (en) | 2006-01-01 |
CN1902713A (en) | 2007-01-24 |
JP2007517353A (en) | 2007-06-28 |
US20050141387A1 (en) | 2005-06-30 |
TWI264015B (en) | 2006-10-11 |
EP1700314A1 (en) | 2006-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7170802B2 (en) | Flexible and area efficient column redundancy for non-volatile memories | |
US8842473B2 (en) | Techniques for accessing column selecting shift register with skipped entries in non-volatile memories | |
US7663950B2 (en) | Method for column redundancy using data latches in solid-state memories | |
US7567466B2 (en) | Non-volatile memory with redundancy data buffered in remote buffer circuits | |
US7224605B1 (en) | Non-volatile memory with redundancy data buffered in data latches for defective locations | |
US9748001B2 (en) | Bad column management with bit information in non-volatile memory systems | |
US7352635B2 (en) | Method for remote redundancy for non-volatile memory | |
US9490035B2 (en) | Centralized variable rate serializer and deserializer for bad column management | |
US6072719A (en) | Semiconductor memory device | |
JP2000163988A (en) | Semiconductor storage device | |
US20130294162A1 (en) | Column Redundancy Circuitry for Non-Volatile Memory | |
US8897080B2 (en) | Variable rate serial to parallel shift register | |
EP2002447B1 (en) | Non-volatile memory and method with redundancy data buffered in remote buffer circuits | |
JP2006024342A (en) | Nonvolatile semiconductor memory device, writing method for the same, memory card, and ic card | |
EP2008283B1 (en) | Non-volatile memory and method with redundancy data buffered in data latches for defective locations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200480039299.6 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2004815107 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020067012948 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006547280 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: DE |
|
WWP | Wipo information: published in national office |
Ref document number: 2004815107 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1020067012948 Country of ref document: KR |