I. Field
The present disclosure relates generally to electronics, and more specifically to a memory device.
II. Background
Memory devices are commonly used in many electronics devices such as computers, wireless communication devices, personal digital assistants (PDAs), and so on. Continuous improvements in integrated circuit (IC) fabrication technology have resulted in higher operating speed and more processing power for many electronic devices. The improved speed and processing power enable the electronic devices to support more complicated applications, many of which require larger and faster memories.
The manufacturing process for memory devices is complex and challenging, especially as the number of memory cells increases and the size of the memory cells decreases. It is difficult to manufacture a memory device without any defective memory cell. Hence, some defective memory cells are typically present in any given manufactured memory device. For costs and other considerations, it is impractical to reject an entire memory device if only a few memory cells are actually defective. Thus, to improve production yields, redundant memory cells are typically fabricated on each memory device. During production and/or testing phase, the cells in the memory device are tested and cells identified as defective are replaced with redundant cells.
Various techniques may be used to replace defective memory cells with redundant cells. In one common technique, an address comparator is used to disable a defective row of memory cells and to enable a redundant row of memory cells. Unfortunately, the address comparator introduces additional delay that reduces the operating speed of the memory device.
There is therefore a need in the art for a memory device capable of replacing defective memory cells with little degradation in operating speed.
A memory device with row shifting for defective row repair is described herein. This memory device is capable of replacing defective rows of memory cells with little impact to operating speed.
In an embodiment, the memory device includes multiple (N) regular rows of memory cells, at least two (L) redundant rows of memory cells, and a shift circuit. Multiple (N) word lines are used to enable and disable N active rows among the N+L total rows of memory cells. Each word line Wx is associated with a designated row of memory cells (e.g., regular row x) and an alternate row of memory cells that is L rows away from the designated row.
The shift circuit receives the N word lines and couples each word line to either the designated row of memory cells or the alternate row of memory cells for that word line. For example, if L is two, then the shift circuit couples even-numbered word lines to even-numbered rows of memory cells and odd-numbered word lines to odd-numbered rows of memory cells. The shift circuit may couple each word line to (1) the designated row if this row is non-defective and if a preceding word line is not shifted down or (2) the alternate row otherwise. The detection for a defective row and the coupling of the word lines to non-defective rows may be performed in various manners, as described below.
The memory device described herein is capable of repairing up to L adjacent defective rows. The memory device may also be used for various types of memories and may be fabricated as a stand-alone memory IC or as an embedded memory.
Various aspects and embodiments of the invention are described in further detail below.
The features and nature of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
Memory array 150 includes N regular rows of memory cells 152 and L redundant/spare rows of memory cells 152, where in general N>1 and L>1. For example, memory array 150 may include 256 (or 512) regular rows and two (or four) redundant rows. The N+L rows of memory cells are coupled to N+L row lines R1 through RN+L. Only N rows among the N+L total rows in memory array 150 are actually used and are called active rows. The remaining L rows are not used. The specific rows to use as the active rows are dependent on which rows are non-defective and which rows are defective. For example, regular rows 1 through N may be used as N active rows if all of these regular rows are non-defective. If any one of regular rows 1 through N is defective, then the N−1 non-defective regular rows plus one redundant row may be used as the N active rows. The L redundant rows may be used in place of up to L defective regular rows.
Each row within memory array 150 includes K memory cells, where K>1. The memory cells in the N+L rows are arranged into K columns. The K columns of memory cells are coupled to K bit lines B1 through BK.
One row line and one or more bit lines may be asserted at any given moment. The asserted row line enables all of the memory cells coupled to that row line. Each asserted bit line couples an enabled memory cell in the asserted row to I/O circuitry 170 so that the memory cell can be accessed, e.g., read from or written to.
Control unit 110 receives an address for a memory cell or a block of memory cells to be accessed and generates a row address for row address pre-decoder 120 and a column address for column address pre-decoder 160 based on the received address. Control unit 110 also generates internal clocks and command signals used to control the operation of memory device 100.
Row address pre-decoder 120 performs pre-decoding on the row address from control unit 120. For example, memory array 150 may include 256 rows, and each row may be identified by an 8-bit row address b7b6b5b4b3b2b1b0, where b7 is the most significant bit and b0 is the least significant bit. Pre-decoder 120 may organize the 8-bit row address into a 2-bit upper segment containing the two most significant bits b7b6, a 3-bit middle segment containing the next three most significant bits b5b4b3, and a 3-bit lower segment containing the three least significant bits b2b1b0. Pre-decoder 120 may then decode the 3-bit lower segment into eight pre-decoded lines d7 through d0, the 3-bit middle segment into another eight pre-decoded lines d15 through d8, and the 2-bit upper segment into four pre-decoded lines d19 through d16. Pre-decoder 120 would then provide the 20 pre-decoded lines d0 through d19 to row decoder 130. Pre-decoder 120 may also perform the pre-decoding in other manners.
Row decoder and word line driver 130 receives the pre-decoded lines for the row address, determines the proper word line to assert based on these pre-decoded lines, and drives the asserted word line so that the desired row of memory cells can be accessed. N word lines W1 through WN are provided for the N active rows in memory array 150, one word line for each active row. Row shifter 140 receives the N word lines W1 through WN and couples or maps these word lines to N row lines for the N active rows. Control unit 110, row address pre-decoder 120, and row decoder and word line driver 130 operate in the same manner regardless of which rows within memory array 150 are defective. The N word lines may be viewed as logical control lines for the N active rows. Row shifter 140 performs the mapping of the logical word lines to the physical row lines for the rows that are actually used. Row shifter 140 hides the details of the defective row replacement so that memory array 150 appears to function in the same manner to control unit 110, row address pre-decoder 120, and row decoder and word line driver 130 regardless of which rows, if any, are defective.
Column address pre-decoder 160 receives the column address from control unit and generates pre-decoded lines for the column address, e.g., in a manner similar to the manner described above for row address pre-decoder 120. Column decoder and I/O circuitry 170 receives the pre-decoded lines for the column address, determines the proper bit line(s) to assert based on the pre-decoded lines, and asserts these bit line(s) to enable access of the desired memory cells. I/O circuitry 170 includes various circuits such as amplifiers, buffers, comparators, and so on used for reading data from and writing data to the memory cells within memory array 150. For a data read operation, I/O circuitry 170 amplifies the signals on the asserted bit lines, detects the data values of the amplified signals (e.g., logic low or logic high), and provides output data via I/O lines. For a data write operation, I/O circuitry 170 receives input data via the I/O lines and drives the asserted bit lines to store the data in the enabled memory cells.
Each shift unit 210 includes a shift control unit 220 and two switches 230 and 232. Within shift unit 210a for the first word line W1, switch 230a has one end coupled to word line W1 and the other end coupled to row line R1, and switch 232a has one end coupled to word line W1 and the other end coupled to row line RL+1. Shift control unit 220a receives an indication as to whether row 1 is defective and generates a control signal S1 for switches 230a and 232a. If row 1 is not defective, then switch 230a is enabled and couples word line W1 to row line R1, and switch 232a is disabled. Conversely, if row 1 is defective, then switch 230a is disabled, and switch 232a is enabled and couples word line W1 to row line RL+1. The control signal S1 may also be used as a 1-bit status that indicates whether word line W1 is coupled to row line R1 or RL+1.
Shift unit 210 for each of word lines W2 through WL is coupled in the same manner as shift unit 210a for the first word line W1. For word lines W1 through WL, the shift unit for each word line Wx (where x ∈ {1, . . . , L}) couples word line Wx to row line Rx if regular row x is not defective and to row line RL+x if regular row x is defective.
Within shift unit 210i for word line WL+1, shift control unit 220i receives an indication as to whether row L+1 is defective and the control signal S1 from shift control unit 220a for word line W1. Shift control unit 220i generates a control signal SL+1 for switches 230i and 232i based on the two inputs. If row L+1 is not defective and if word line W1 is coupled to row line R1, then switch 230i is enabled and couples word line WL+1 to row line RL+1, and switch 232i is disabled. Conversely, if row L+1 is defective or if word line W1 is coupled to row line RL+1, then switch 230i is disabled, and switch 232i is enabled and couples word line WL+1 to row line R2L+1.
Shift unit 210 for each of word lines WL+2 through WN is coupled in the same manner as shift unit 210i for word line WL+1. For word lines WL+1 through WN, the shift unit for each word line Wy (where y Å {L+1, . . . , N}) couples word line Wy to row line Ry if regular row y is not defective and if word line Wy−L is not coupled to row line Ry. The shift unit couples word line WY to row line Ry+L if regular row y is defective or if word line Wy−L is coupled to row line Ry.
Each word line Wz (where z ∈ {1, . . . , N}) is thus associated with a designated row line Rz and an alternative row line Rz+L. For the embodiment shown in
Each shift unit 310 includes a shift control unit 320 and two switches 330 and 332. Within shift unit 310a for the first word line W, switch 330a has one end coupled to word line W1 and the other end coupled to row line R1, and switch 332a has one end coupled to word line W1 and the other end coupled to row line R3. Shift control unit 320a receives an indication as to whether row 1 is defective and generates a different control signal S1 and {overscore (S)}1 for switches 330a and 332a. Shift control unit 320a is described in detail below. If row 1 is not defective, then switch 330a is enabled and couples word line W1 to row line R1, and switch 332a is disabled. Conversely, if row 1 is defective, then switch 330a is disabled, and switch 332a is enabled and couples word line W1 to row line R3.
Within shift unit 310b for the second word line W2, shift control unit 320b receives an indication as to whether row 2 is defective and the control signal S1 from shift control unit 320a for the first word line W1. Shift control unit 320b generates a differential control signal S2 and {overscore (S)}2 for switches 330b and 332b based on the two inputs. If row 2 is not defective and if word line W1 has been coupled to row line R1, then switch 330b is enabled and couples word line W2 to row line R2, and switch 332b is disabled. Conversely, if row 2 is defective or if word line W1 has been coupled to row line R3, then switch 330b is disabled, and switch 332b is enabled and couples word line W2 to row line R4.
Shift unit 310 for each of word lines W3 through WN is coupled in similar manner as shift unit 310b for word line W2. For word lines W3 through WN, the shift unit for each word line Wy (where y ∈ {3, . . . , N}) couples word line Wy to row line Ry if regular row y is not defective and if word line Wy−1 is not coupled to row line Ry+1. The shift unit couples word line Wy to row line Ry+2 if regular row y is defective or if word line Wy−1 is coupled to row line Ry+1.
Shift control unit 320 within each shift unit 310 includes a NAND gate 322, an AND gate 324, and an inverter 326. Shift control units 320 for all N shift units 310 are coupled in similar manner, except that AND gate 324a within shift control unit 320a for the first word line W1 has one input coupled directly to logic high (“H”) instead of the control signal from the shift control unit for a preceding word line.
Within shift control unit 320b for the second word line W2, the inputs of NAND gate 322b are coupled to a bus 308 that carries pre-decoded lines for an address of a defective row. For example, if memory array 150 includes 256 rows, then bus 308 may include 20 pre-decoded lines for a defective row address, as described above for row address pre-decoder 120 in
Shift control unit 320 for each of the other word lines is coupled and operated in a manner similar to shift control unit 320b for word line W2. The inputs of NAND gate 322 for each word line are coupled to a different set of pre-decoded lines selected from among all of the pre-decoded lines in bus 308. Table 1 summarizes the outputs of NAND gate 322 and AND gate 324 within shift control unit 320 for word line Wx.
For the embodiment shown in
For the embodiment shown in
When the control signal Sx is at logic high, N-FET 440 is turned on by the logic high on the control signal Sx, and P-FET 430 is also turned on by the logic low on the complementary control signal {overscore (S)}x. P-FET 432 is turned off by the logic high on the control signal Sx, and N-FET 442 is also turned off by the logic low on the complementary control signal {overscore (S)}x. Word line Wx is then coupled to row line Rx when the control signal Sx is at logic high. Conversely, when the control signal Sx is at logic low, P-FET 432 is turned on by the logic low on the control signal Sx, and N-FET 442 is also turned on by the logic high on the complementary control signal {overscore (S)}x. N-FET 440 is turned off by the logic low on the control signal Sx, and P-FET 430 is also turned off by the logic high on the complementary control signal {overscore (S)}x. Word line Wx is thus coupled to row line Rx+L when the control signal Sx is at logic low.
Row shifters 140a and 140b can provide various advantages. First, up to L adjacent defective rows may be repaired regardless of where these adjacent defective rows are located within the memory array, which can improve yield. Second, operating speed for the memory device is minimally degraded since the switches coupling the word lines to the row lines introduce only a small delay. Third, the row shifter is relatively simple in design.
The memory device described herein may be used for a stand-alone memory IC. The memory device may also be used for an embedded memory within an application specific integrated circuit (ASIC), a digital signal processor (DSP), a reduced instruction set computer (RISC), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a processor, a controller, a micro-controller, a microprocessor, and so on. The memory device may also be used for various types of memories such as random access memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), video RAM (VRAM), synchronous graphic RAM (SGRAM), read only memory (ROM), Flash memory, and so. Different types of memories generally use different types of memory cells to store data.
The memory device described herein may be used for various applications such as communication, networking, computing, consumer electronics, and so on. The memory device may also be used in various electronics devices such as wireless communication devices, cellular phones, wireless PDAs, wireless modem modules, laptop computers, and other digital circuits that use memories. The use of the memory device for a wireless device is described below.
Wireless device 500 provides bi-directional communication via a receive path and a transmit path. For the receive path, forward link signals transmitted by base stations are received by an antenna 512, routed through a duplexer (D) 514, and provided to a receiver unit (RCVR) 516. Receiver unit 516 conditions and digitizes the received signal and provides input samples to a digital section 520 for further processing. For the transmit path, a transmitter unit (TMTR) 518 receives from digital section 520 data to be transmitted, processes and conditions the data, and generates a reverse link signal, which is routed through duplexer 514 and transmitted via antenna 512 to the base stations.
Digital section 520 includes various processing units and support circuitry such as, for example, a DSP 522, a RISC 524, a controller 526, and an internal memory 528. DSP 522 and/or RISC 524 may implement (1) a modem processor that performs processing for data transmission and reception (e.g., encoding, modulation, demodulation, decoding, and so on), (2) a video processor that performs processing on still images, moving videos, moving texts, and so on, (3) a graphics processor that performs processing on graphics for video games, 3-D avatars, and so on, and/or (4) other processors for other applications. Internal memory 528 stores program codes and/or data used by the various units within digital section 520.
A main memory 532 provides mass storage for wireless device 500 and may be a RAM, an SRAM, a DRAM, an SDRAM, and so on. A non-volatile memory 534 provides non-volatile storage and may be a Flash memory, a ROM, and so on. The memory device described herein may be used for internal memory 528, main memory 532, and/or non-volatile memory 534. The memory device may also be used for embedded memories within DSP 522, RISC 524, and controller 526.
The memory device described herein may be fabricated in various IC process technologies such as CMOS, N-MOS, P-MOS, bipolar-CMOS (Bi-CMOS), and so on. CMOS technology can fabricate both N-FET and P-FET devices on the same die, whereas N-MOS technology can only fabricate N-FET devices and P-MOS technology can only fabricate P-FET devices. The memory device may be fabricated using any device size technology (e.g., 130 nanometer (run), 65 nm, 30 nm, and so on). The memory device described herein is generally more advantageous as IC process technology scales to smaller geometry and defects are more likely to be localized.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.