This application relates to non-volatile memory apparatuses and the operation of non-volatile memory apparatuses.
This section provides background information related to the technology associated with the present disclosure and, as such, is not necessarily prior art.
Semiconductor memory apparatuses have become more popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices.
As storage devices continue to be fabricated with increased storage density and decreased physical size, the time needed to reliably complete programming or read operations in the non-volatile memory cells of those storage devices can vary greatly. The variance in read and/or program operation time can vary on a lot-by-lot, die-by-die and/or on a smaller scale within a die due to process variations at the manufacturing stage. Separately or in addition to manufacturing variations, the read and program operation times of higher density memory devices can be affected by data pattern variations. For example, the differing combinations of high or low voltages applied to a particular block of non-volatile memory can lead to capacitive coupling between adjacent bit lines or word lines that can influence programming and read operation times. Similarly, operating temperature variations can lead to different read or program operation times between particular die, bit lines or word lines.
This section provides a general summary of the present disclosure and is not a comprehensive disclosure of its full scope or all of its features and advantages.
An object of the present disclosure is to provide a memory apparatus and a method of operating the memory apparatus that address and overcome the above-noted shortcomings.
Accordingly, it is an aspect of the present disclosure to provide an apparatus including a plurality of selected memory cells coupled to a selected word line and each storing a threshold voltage representative of a selected cell data programmed in a program-verify operation. The apparatus also includes a plurality of unselected memory cells coupled to a neighbor word line disposed adjacent the selected word line. In addition, the apparatus includes a control circuit coupled to the plurality of selected and the plurality of unselected memory cells and configured to ramp from at least one initial voltage applied to the neighbor word line directly to a target neighbor verify voltage without exceeding or falling below the target neighbor verify voltage thereby assisting the selected word line reach at least one verify reference voltage used in verifying the threshold voltage of each of the plurality of selected memory cells during at least one verify stage of the program-verify operation following a program stage of the program-verify operation.
According to another aspect of the disclosure a controller in communication with a memory apparatus including a plurality of selected memory cells coupled to a selected word line is provided. Each of plurality of selected memory cells storing a threshold voltage representative of a selected cell data programmed in a program-verify operation. The memory apparatus also includes a plurality of unselected memory cells coupled to a neighbor word line disposed adjacent the selected word line. The controller is configured to instruct the memory apparatus to ramp from at least one initial voltage applied to the neighbor word line directly to a target neighbor verify voltage without exceeding or falling below the target neighbor verify voltage thereby assisting the selected word line reach at least one verify reference voltage used in verifying the threshold voltage of each of the plurality of selected memory cells during at least one verify stage of the program-verify operation following a program stage of the program-verify operation.
According to an additional aspect of the disclosure a method of operating a memory apparatus including a plurality of selected memory cells coupled to a selected word line is also provided. Each of plurality of selected memory cells storing a threshold voltage representative of a selected cell data programmed in a program-verify operation. The memory apparatus also includes a plurality of unselected memory cells coupled to a neighbor word line disposed adjacent the selected word line. The method includes the step of ramping from at least one initial voltage applied to the neighbor word line directly to a target neighbor verify voltage without exceeding or falling below the target neighbor verify voltage during at least one verify stage of the program-verify operation following a program stage of the program-verify operation. The method also includes the step of assisting the selected word line reach at least one verify reference voltage used in verifying the threshold voltage of each of the plurality of selected memory cells.
Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.
In the following description, details are set forth to provide an understanding of the present disclosure. In some instances, certain circuits, structures and techniques have not been described or shown in detail in order not to obscure the disclosure.
In general, the present disclosure relates to non-volatile memory apparatuses of the type well-suited for use in many applications. The non-volatile memory apparatus and associated methods of forming of this disclosure will be described in conjunction with one or more example embodiments. However, the specific example embodiments disclosed are merely provided to describe the inventive concepts, features, advantages and objectives with sufficient clarity to permit those skilled in this art to understand and practice the disclosure. Specifically, the example embodiments are provided so that this disclosure will be thorough, and will fully convey the scope to those who are skilled in the art. Numerous specific details are set forth such as examples of specific components, devices, and methods, to provide a thorough understanding of embodiments of the present disclosure. It will be apparent to those skilled in the art that specific details need not be employed, that example embodiments may be embodied in many different forms and that neither should be construed to limit the scope of the disclosure. In some example embodiments, well-known processes, well-known device structures, and well-known technologies are not described in detail.
In some memory devices or apparatuses, memory cells are joined to one another such as in NAND strings in a block or sub-block. Each NAND string comprises a number of memory cells connected in series between one or more drain-side SG transistors (SGD transistors), on a drain-side of the NAND string which is connected to a bit line, and one or more source-side SG transistors (SGS transistors), on a source-side of the NAND string which is connected to a source line. Further, the memory cells can be arranged with a common control gate line (e.g., word line) which acts a control gate. A set of word lines extends from the source side of a block to the drain side of a block. Memory cells can be connected in other types of strings and in other ways as well.
In a 3D memory structure, the memory cells may be arranged in vertical strings in a stack, where the stack comprises alternating conductive and dielectric layers. The conductive layers act as word lines which are connected to the memory cells. The memory cells can include data memory cells, which are eligible to store user data, and dummy or non-data memory cells which are ineligible to store user data.
During a program operation, the memory cells are programmed according to a word line programming order. For example, the programming may start at the word line at the source side of the block and proceed to the word line at the drain side of the block. In one approach, each word line is completely programmed before programming a next word line. For example, a first word line, WL0, is programmed using one or more programming pulses until the programming is completed. Next, a second word line, WL1, is programmed using one or more programming pulses until the programming is completed, and so forth. A programming pulse may include a set of increasing program voltages which are applied to the word line in respective program loops or program-verify iterations. Verify operations or stages may be performed after each program voltage to determine whether the memory cells have completed programming. When programming is completed for a memory cell, it can be locked out from further programming while programming continues for other memory cells in subsequent program loops.
Each memory cell may be associated with a data state according to write data in a program command. Based on its data state, a memory cell will either remain in the erased state or be programmed to a programmed data state. For example, in a one bit per cell memory device, there are two data states including the erased state and the programmed state. In a two-bit per cell memory device, there are four data states including the erased state and three higher data states referred to as the A, B and C data states (see
After the memory cells are programmed, the data can be read back in a read operation. A read operation can involve applying a series of read voltages to a word line while sensing circuitry determines whether cells connected to the word line are in a conductive or non-conductive state. If a cell is in a non-conductive state, the threshold voltage Vt or Vth of the memory cell exceeds the read voltage. The read voltages are set at levels which are expected to be between the threshold voltage levels of adjacent data states.
It is desirable to increase programming speed of a memory apparatus. One way to improve programming performance or speed is to reduce verify time during or after programming. However, such reductions in verify time can sometimes lead to degradation in Vt margins (i.e., spacing between Vt distributions of data states).
The controller 102 (which may be a flash memory controller) can take the form of processing circuitry, a microprocessor or processor, and a computer-readable medium that stores computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, for example. The controller 102 can be configured with hardware and/or firmware to perform the various functions described below and shown in the flow diagrams. Also, some of the components shown as being internal to the controller can also be stored external to the controller, and other components can be used. Additionally, the phrase “operatively in communication with” could mean directly in communication with or indirectly (wired or wireless) in communication with through one or more components, which may or may not be shown or described herein.
As used herein, the controller 102 is a device that manages data stored in the memory die(s) and communicates with a host, such as a computer or electronic device. The controller 102 can have various functionality in addition to the specific functionality described herein. For example, the controller 102 can format the memory dies 104 to ensure that they are operating properly, map out bad flash memory cells, and allocate spare cells to be substituted for future failed cells. Some part of the spare cells can be used to hold firmware to operate the controller 102 and implement other features. In operation, when a host needs to read data from or write data to the memory die(s) 104, the host will communicate with the controller 102. If the host provides a logical address to which data is to be read/written, the controller 102 can convert the logical address received from the host to a physical address in the memory die(s) 104. (Alternatively, the host can provide the physical address). The controller 102 can also perform various memory management functions, such as, but not limited to, wear leveling (distributing writes to avoid wearing out specific blocks of memory that would otherwise be repeatedly written to) and garbage collection (after a block is full, moving only the valid pages of data to a new block, so the full block can be erased and reused).
The interface between the controller 102 and the non-volatile memory die(s) 104 may be any suitable interface, such as flash interface, including those configured for Toggle Mode 200, 400, 800, 1000 or higher. For some example embodiments, the memory system 100 may be a card based system, such as a secure digital (SD) or a micro secure digital (micro-SD) card. In alternate example embodiments, the memory system 100 may be part of an embedded memory system.
In the example illustrated in
The controller 102 may include a buffer manager/bus controller module 114 that manages buffers in random access memory (RAM) 116 and controls the internal bus arbitration for communication on an internal communications bus 117 of the controller 102. A read only memory (ROM) 118 may store and/or access system boot code. Although illustrated in
Additionally, the front end module 108 may include a host interface 120 and a physical layer interface (PHY) 122 that provide the electrical interface with the host or next level storage controller. The choice of the type of the host interface 120 can depend on the type of memory being used. Example types of the host interface 120 may include, but are not limited to, SATA, SATA Express, SAS, Fibre Channel, USB, PCIe, and NVMe. The host interface 120 may typically facilitate transfer for data, control signals, and timing signals.
The back end module 110 may include an error correction code (ECC) engine or module 124 that encodes the data bytes received from the host, and decodes and error corrects the data bytes read from the non-volatile memory die(s) 104. The back end module 110 may also include a command sequencer 126 that generates command sequences, such as program, read, and erase command sequences, to be transmitted to the non-volatile memory die(s) 104. Additionally, the back end module 110 may include a RAID (Redundant Array of Independent Drives) module 128 that manages generation of RAID parity and recovery of failed data. The RAID parity may be used as an additional level of integrity protection for the data being written into the non-volatile memory system 100. In some cases, the RAID module 128 may be a part of the ECC engine 124. A memory interface 130 provides the command sequences to the non-volatile memory die(s) 104 and receives status information from the non-volatile memory die(s) 104. Along with the command sequences and status information, data to be programmed into and read from the non-volatile memory die(s) 104 may be communicated through the memory interface 130. In one embodiment, the memory interface 130 may be a double data rate (DDR) interface and/or a Toggle Mode 200, 400, 800, or higher interface. A control layer 132 may control the overall operation of back end module 110.
Additional modules of the non-volatile memory system 100 illustrated in
The memory can be formed from passive and/or active elements, in any combinations. By way of non-limiting example, passive semiconductor memory elements include ReRAM device elements, which in some embodiments include a resistivity switching storage element, such as an anti-fuse, phase change material, etc., and optionally a steering element, such as a diode, etc. Further by way of non-limiting example, active semiconductor memory elements include EEPROM and flash memory device elements, which in some embodiments include elements containing a charge storage region, such as a floating gate, conductive nanoparticles, or a charge storage dielectric material.
Multiple memory elements may be configured so that they are connected in series or so that each element is individually accessible. By way of non-limiting example, flash memory devices in a NAND configuration (NAND memory) typically contain memory elements connected in series. A NAND memory array may be configured so that the array is composed of multiple strings of memory in which a string is composed of multiple memory elements sharing a single bit line and accessed as a group. Alternatively, memory elements may be configured so that each element is individually accessible, e.g., a NOR memory array. NAND and NOR memory configurations are exemplary, and memory elements may be otherwise configured.
The semiconductor memory elements located within and/or over a substrate may be arranged in two or three dimensions, such as a two dimensional memory structure or a three dimensional memory structure.
In a two dimensional memory structure, the semiconductor memory elements are arranged in a single plane or a single memory device level. Typically, in a two dimensional memory structure, memory elements are arranged in a plane (e.g., in an x-z direction plane) which extends substantially parallel to a major surface of a substrate that supports the memory elements. The substrate may be a wafer over or in which the layer of the memory elements are formed or it may be a carrier substrate which is attached to the memory elements after they are formed. As a non-limiting example, the substrate may include a semiconductor such as silicon.
The memory elements may be arranged in the single memory device level in an ordered array, such as in a plurality of rows and/or columns. However, the memory elements may be arrayed in non-regular or non-orthogonal configurations. The memory elements may each have two or more electrodes or contact lines, such as bit lines and word lines.
A three dimensional memory array is arranged so that memory elements occupy multiple planes or multiple memory device levels, thereby forming a structure in three dimensions (i.e., in the x, y and z directions, where the y direction is substantially perpendicular and the x and z directions are substantially parallel to the major surface of the substrate).
As a non-limiting example, a three dimensional memory structure may be vertically arranged as a stack of multiple two dimensional memory device levels. As another non-limiting example, a three dimensional memory array may be arranged as multiple vertical columns (e.g., columns extending substantially perpendicular to the major surface of the substrate, i.e., in the y direction) with each column having multiple memory elements in each column. The columns may be arranged in a two dimensional configuration, e.g., in an x-z plane, resulting in a three dimensional arrangement of memory elements with elements on multiple vertically stacked memory planes. Other configurations of memory elements in three dimensions can also constitute a three dimensional memory array.
For some memory configurations, such as flash memory, a memory cell of the plurality of memory cells 142 may be a floating gate transistor (FGT).
Referring to
For configurations where the memory cells are organized into a two-dimensional array, the memory cells may be configured in a matrix-like structure of rows and columns in each of the blocks. At the intersection of a row and a column is a memory cell. A column of memory cells is a referred to as a string, and memory cells in a string are electrically connected in series. A row of memory cells is referred to as a page. Where the memory cells are FGTs, control gates of FGTs in a page or row may be electrically connected together.
Additionally, each of the blocks includes word lines and bit lines connected to the memory cells. Each page of memory cells is coupled to a word line. Where the memory cells are FGTs, each word line may be coupled to the control gates of the FGTs in a page. In addition, each string of memory cells is coupled to a bit line. Further, a single string may span across multiple word lines, and the number of memory cells in a string may be equal to the number of pages in a block.
Within each block 602, each string is connected at one end to an associated drain select gate transistor 606, and each string is coupled to its associated bit line BL via the associated drain select gate transistor 606. Switching of the drain select gate transistors 606 0 to 606 P−1 may be controlled using a drain select gate bias line SGD that supplies a drain select gate bias voltage VSGD to turn on and off the drain select transistors 606 0 to 606 P−1. In addition, within each block 602, each string is connected at its other end to an associated source select gate transistor 608, and each string is coupled to a common source line SL via the associated source select gate transistor 608. Switching of the source select gate transistors 608 0 to 608 P−1 may be controlled using a source select gate bias line SGS that supplies a source select gate bias voltage VSGS to turn on and off the source select transistors 608 0 to 608 P−1. Also, although not shown, in some cases, dummy word lines, which contain no user data, can also be used in the memory array 600 adjacent to the source select gate transistors 608 0 to 608 P−1. The dummy word lines may be used to shield edge word lines and FGTs from certain edge effects.
An alternative arrangement to a conventional two-dimensional (2-D) NAND array is a three-dimensional (3-D) array. In contrast to 2-D NAND arrays, which are formed along a planar surface of a semiconductor wafer, 3-D arrays extend up from the wafer surface and generally include stacks, or columns, of memory cells extending upwards. Various 3-D arrangements are possible. In one arrangement a NAND string is formed vertically with one end (e.g. source) at the wafer surface and the other end (e.g. drain) on top. In another arrangement a NAND string is formed in a U-shape so that both ends of the NAND string are accessible on top, thus facilitating connections between such strings.
As with two-dimensional (planar) NAND strings, select gates 705, 707, are located at either end of the string to allow the NAND string to be selectively connected to, or isolated from, external elements 709, 711. Such external elements are generally conductive lines such as common source lines or bit lines that serve large numbers of NAND strings. Vertical NAND strings may be operated in a similar manner to planar NAND strings and both Single Level Cell (SLC) and Multi Level Cell (MLC) operation is possible. While
Referring back to
The memory die 104 may also include a row address decoder 148 and a column address decoder 150. The row address decoder 148 may decode a row address and select a particular word line in the memory array 142 when reading or writing data to/from the memory cells 142. The column address decoder 150 may decode a column address to select a particular group of bit lines in the memory array 142 to read/write circuits 144.
In addition, the non-volatile memory die 104 may include peripheral circuitry 152. The peripheral circuitry 152 may include control logic circuitry 154, which may be implemented as a state machine, that provides on-chip control of memory operations as well as status information to the controller 102. The peripheral circuitry 152 may also include an on-chip address decoder 156 that provides an address interface between addressing used by the controller 102 and/or a host and the hardware addressing used by the row and column decoders 148, 150. In addition, the peripheral circuitry 152 may also include volatile memory 158. An example configuration of the volatile memory 158 may include latches, although other configurations are possible.
In addition, the peripheral circuitry 152 may include power control circuitry 160 that is configured to generate and supply voltages to the memory array 142, including voltages (including program voltage pulses) to the word lines, erase voltages (including erase voltage pulses), the source select gate bias voltage VSSG to the source select gate bias line SSG, the drain select gate bias voltage VDSG to the drain select gate bias line DSG, a cell source voltage Vcelsrc on the source lines SL, as well as other voltages that may be supplied to the memory array 142, the read/write circuits 144, including the sense blocks 146, and/or other circuit components on the memory die 104. The various voltages that are supplied by the power control circuitry 160 are described in further detail below. The power control circuitry 160 may include any of various circuit topologies or configurations to supply the voltages at appropriate levels to perform the read, write, and erase operations, such as driver circuits, charge pumps, reference voltage generators, and pulse generation circuits, or a combination thereof. Other types of circuits to generate the voltages may be possible. In addition, the power control circuitry 160 may communicate with and/or be controlled by the control logic circuitry 154, the read/write circuits 144, and/or the sense blocks 146 in order to supply the voltages at appropriate levels and appropriate times to carry out the memory operations.
In order to program a target memory cell, and in particular a FGT, the power control circuitry 160 applies a program voltage to the control gate of the memory cell, and the bit line that is connected to the target memory cell is grounded, which in turn causes electrons from the channel to be injected into the floating gate. During a program operation, the bit line that is connected to the target memory cell is referred to as a selected bit line. Conversely, a bit line that is not connected to a target memory cell during a program operation is referred to as an unselected bit line. In this context, a state of the bit line may refer to whether the bit line is selected or unselected. Otherwise stated, a bit line can be in one of two states, selected or unselected. When electrons accumulate in the floating gate, the floating gate becomes negatively charged and the threshold voltage Vth of the memory cell is raised. The power control circuitry 160 applies the program voltage VPGM on the word line that is connected to the target memory cell in order for the control gate of the target memory cell to receive the program voltage VPGM and for the memory cell to be programmed. As previously described, in a block, one memory cell in each of the NAND strings share the same word line. During a program operation, the word line that is connected to a target memory cell is referred to as a selected word line. Conversely, a word line that is not connected to a target memory cell during a program operation is referred to as an unselected word line.
At a given point in time, each memory cell may be a particular one of a plurality of memory states (otherwise referred to as a data state). The memory states may include an erased stated and a plurality of programmed or data states. Accordingly, at a given point in time, each memory cell may be in the erased state or one of the plurality of programmed states. The number of programmed states corresponds to the number of bits the memory cells are programmed to store. With reference to
Additionally, each threshold voltage distribution curve defines and/or is associated with a distinct threshold voltage range that, in turn, defines, is assigned, or is associated with a distinct one of a plurality of predetermined n-bit binary values. As such, determining what threshold voltage Vth a memory cell has allows the data (i.e., the logic values of the bits) that the memory cell is storing to be determined. The specific relationship between the data programmed into the memory cells and the threshold voltage levels of the memory cell depends on the data encoding scheme used for programming the memory cells. In one example, as shown in
Prior to performance of a program operation that programs a plurality or group of target memory cells, all of the memory cells of the group subjected to and/or selected to be programmed in the program operation may be in the erased state. During the program operation, the power control circuitry 160 may apply the program voltage to a selected word line and in turn the control gates of the target memory cells as a series of program voltage pulses. The target memory cells being programmed concurrently are connected to the same, selected word line. In many program operations, the power control circuitry 160 increases the magnitude of the program pulses with each successive pulse by a predetermined step size. Also, as described in further detail below, the power control circuitry 160 may apply one or more verify pulses to the control gate of the target memory cell in between program pulses as part of a program loop or a program-verify operation. Additionally, during a program operation, the power control circuitry 160 may apply one or more boosting voltages to the unselected word lines.
The target memory cells connected to the selected word line will concurrently have their threshold voltage change, unless they have been locked out from programming. When the program operation is complete for one of the target memory cells, the target memory cell is locked out from further programming while the program operation continues for the other target memory cells in subsequent program loops. As described in greater detail below, the locking out of a target memory cell that has reached its desired memory state may be accomplished in different ways. For example, a bit line may be locked out via the control logic circuitry by applying an inhibit voltage to the bit line on which the target cell resides to prevent a current flow through the target cell that would disturb the current memory state when a next programming pulse on the word line for the target memory cell is received. Also, for some example program operations, the control logic circuitry 154 may maintain a counter that counts the program pulses.
During a program operation to program a group of target memory cells, each target memory cell is assigned to one of the plurality of memory states according to write data that is to be programmed into the target memory cells during the program operation. Based on its assigned memory state, a given target memory cell will either remain the erased state or be programmed to a programmed state different from the erased state. When the control logic 154 receives a program command from the controller 102, or otherwise determines to perform a program operation, the write data is stored in latches included in the read/write circuitry 144. During the program operation, the read/write circuitry 144 can read the write data to determine the respective memory state to which each of the target memory cells is to be programmed.
As described in further detail below, and as illustrated in
In general, in a program operation, the power control circuitry 160 will apply multiple or several program pulses to the selected word line in order to program all of the target memory cells into their assigned memory or data states. The application of the multiple program pulses applied to the selected memory cell during a program operation is divided into multiple program stages. During each program stage, the power control circuitry 160 applies at least one of the program pulse of the plurality of pulses on the selected word line in order to increase the threshold voltages Vth of those target memory cells that are selected or not locked out at that point in time of the program operation.
As previously mentioned, target memory cells subject to a program operation may also be subject to a verify operation that determines when programming is complete for each of the target memory cells. The verify operation is divided into a plurality of verify stages. A verify stage is a sub-operation of a program operation (also known as a program-verify operation) during which circuitry performs a sense operation on a subset of memory cells assigned to the same memory state to determine which of the memory cells of the subset are sufficiently programed into the assigned memory state. Each verify stage is associated with one of a plurality of different memory states into which different target memory cells are to be programmed in a program operation. Each verify stage is performed to verify whether those target memory cells assigned to be programmed in the associated memory state are programmed in the associated memory state. As described in further detail below, in a given verify stage, a sense operation is performed on selected memory cells of a plurality of target memory cells while the power control circuitry 160 applies one or more verify pulses on the selected word line in order to verify whether the selected memory cells are programmed to an assigned memory state. To do so, a sense operation performed in a verify stage determines whether the selected memory cells' threshold voltages have increased to above the verify voltage level Vv associated with the memory state and the verify stage. Those target memory cells assigned to memory states different than the associated memory state are not verified during the given verify stage.
Herein, a program-verify operation is an operation performed by circuitry on a memory die during which the circuitry applies a program pulse on a word line and then verifies which of a plurality of memory cells coupled to the word line are programmed in their assigned memory states in response to the program pulse. A program-verify operation includes a combination of a program stage and at least one verify stage that follows the program stage. Additionally, in at least some example configurations, the program-verify operation may include a pre-charge stage at the beginning of the program-verify operation (i.e., before the program stage begins).
Herein, a pre-charge stage is a stage of a program-verify operation that occurs before the program stage. During the pre-charge stage, bit line biasing circuitry selectively biases bit lines to cause memory cells connected to the bit lines and the selected word line that are not yet programmed into their assigned memory states to increase their threshold voltages in response to a program pulse provided in the program stage. Furthermore, during the pre-charge stage, the bit line biasing circuitry may selectively bias, or otherwise control, the voltage or current levels of bit lines connected to other memory cells that are programmed into their assigned memory states such that the memory cells are inhibited from changing their threshold voltages in response to a subsequent program pulse.
A program-verify operation may also include a discharge stage at the end of the program-verify operation (i.e., after a last verify stage of the program-verify operation), during the discharge stage the bit line voltage is discharged down to the initial voltage level (e.g., the cell source voltage level Vcelsrc). Accordingly, an example program-verify operation includes, in sequential order, a pre-charge stage, a program stage, one or more verify stages, and a discharge stage. As each program stage is generally intended to avoid overshooting a desired programming state by injecting small amounts of charge into the cell being programmed followed by one or more verify stages measuring what the resulting programming state is, the program-verify operation may be repeated until the target memory cells have been programmed to respective desired memory states. Otherwise stated, a single program operation to program target memory cells coupled to a selected word line into assigned memory states may include multiple program-verify operations, with each program-verify operation including a program stage followed by one or more verify stages. In this context, within a program operation, one or more verify stages are performed in between consecutive program stages. An example program-verify operation that includes a program stage followed by one or more verify stages is described in further detail below.
In addition, a program stage of a program-verify operation includes the power control circuitry 160 supplying one or more program pulses to the selected word line for that program stage, and a single verify stage of a program-verify operation includes the power control circuitry 160 supplying one or more verify pulses to the selected word line for that single program stage. Accordingly, a program-verify operation may include the power control circuitry 160 supplying a pulse train or a series of voltage pulses to the selected word line, where the pulse train includes one or more program pulses followed by one or more verify pulses. After a last verify pulse of the program-verify operation, the power control circuitry 160 may transition into a next program-verify operation by supplying one or more program pulses, followed by one or more verify pulses. The power control circuitry 160 may proceed in this manner until the program operation concludes. Accordingly, a program operation is complete or concludes when the verify operation portion of the program operation identifies that all of the target memory cells coupled to the selected word line have been programmed to their assigned threshold voltages Vth. As mentioned, the verification operation portion of the program operation verifies or determines that a given target memory cell is finished being programmed when a given verify stage determines that the target memory cell's threshold voltage Vth has increased to above the verify voltage level Vv associated with the memory state to which the target cell is to be programmed.
For some example program-verify operations, all of the target memory cells subject to a program operation are not subject to the same verify stage at the same time. Alternatively, for a single verify stage, only those target memory cells that are assigned to the same memory state are subject to a verify stage. For a single verify stage, target memory cells that are subject to the single verify stage are called selected memory cells or selected target memory cells, and target memory cells that are not subject to the single verify stage are called unselected memory cells or unselected target memory cells. Likewise, for a group of bit lines connected to the target memory cells of a program-verify operation, bit lines connected to the selected memory cells for a single verify stage are called selected bit lines, and bit lines connected to the unselected memory cells for a single verify stage are called unselected bit lines. In this context, a state of the bit line may refer to whether the bit line is selected or unselected. Otherwise stated, a bit line connected to a target memory cell can be in one of two states, selected or unselected.
For each of the verify stages, the power control circuitry 160, or some combination of the power control circuitry 160, the read/write circuitry 144, and the sense blocks 146, may supply voltages at appropriate levels to the selected and unselected word lines and the selected and unselected bit lines in order for a verify stage to be performed for the selected memory cells of the target memory cells subject to the program-verify operation. For clarity, and unless otherwise specified, the combination of the power control circuitry 160, the read/write circuitry 144, and the sense blocks 146 used to bias the selected and unselected word lines and bit lines at appropriate levels during a given memory operation (e.g., a program operation, a verify operation, a program-verify operation, a read operation, a sense operation, or an erase operation) is herein referred to collectively as voltage supply circuitry. Voltage supply circuitry may refer to the power control circuitry 160, the sense block circuitry 146, other circuit components of the read/write circuitry 144, or any combination thereof.
For performance of a verify stage in a block, the voltage supply circuitry may supply a drain select gate bias voltage VSGD on the drain select gate bias line SGD to the control gates of the drain select gate transistors (such as those shown in
Additionally, the voltage supply circuitry supplies a source line voltage at a cell source voltage level Vcelsrc, otherwise referred to as the cell source voltage Vcelsrc, on the common source line SL. Further, the voltage supply circuitry biases the drain side of the selected bit lines with a high supply voltage VBLC that is higher in magnitude than the cell source voltage Vcelsrc. The difference between the high supply voltage VBLC and the cell source voltage level Vcelsrc may be great enough to allow current to flow from the drain side to the source side of a string that includes a selected target memory cell in the event that the selected target memory cell has a threshold voltage Vth that allows it to conduct a current. During a verify stage, a selected memory cell can be generally characterized as fully conducting, marginally conducting, or non-conducting, depending on the threshold voltage Vth of the selected memory cell. Also, the voltage supply circuitry biases the drain side of the unselected bit lines to the cell source voltage Vcelsrc. By biasing the drain side and the source side of unselected bit lines to the cell source voltage Vcelsrc, the voltage difference between the drain side and source side voltages will not allow current to flow through the NAND string connected to the unselected bit line. Further, the voltage supply circuitry biases the unselected word lines, and in turn the control gates of FGTs coupled to the unselected word lines, to a read voltage Vread. The read voltage is high enough to cause the FGTs coupled to unselected word lines to conduct a current regardless of its threshold voltage Vth. In addition, the voltage supply circuitry biases the selected word line with a control gate reference voltage VCGRV, which may be in the form of one or more verify pulses as previously described. The control gate reference voltage VCGRV may be different for verification of target memory cells of different memory states. For example, the voltage supply circuitry may supply a different control gate reference voltage VCGRV (or a control gate reference voltage VCGRV at different level) when verifying target memory cells programmed to state A than when verifying target memory cells programmed to state B, and so on.
Once the voltage supply circuitry supplies the voltages to the selected and unselected word lines and bit lines, and to the drain select gate transistors, source select gate transistors, drain select gate bias line SGD, and source select gate bias line SGS, a sense block can perform a sense operation that identifies whether a selected target memory cell is conducting, and in turn sufficiently programmed. Further details of a sense operation performed during an associated verify stage are described in further detail below.
A read operation is an operation that identifies the memory states of target memory cells of a page coupled to a selected word line. As previously described, the threshold voltage Vth of a memory cell may identify the data value of the data it is storing. Accordingly, in order to determine the memory stages, the read operation determines whether the target memory cells conduct at a specific threshold voltages Vth applied to the selected word line. To determine the memory states during a read operation, the sense blocks 146 may be configured to perform a sense operation that senses whether current is flowing through the bit lines connected to the target memory cells of the page. The voltage supply circuitry may supply voltages on the selected and unselected word lines at appropriate levels that cause current to flow or not to flow based on the threshold voltage Vth of the target memory cells. The level of the voltage supplied to the selected word lines may vary depending on the memory states of the target memory cells.
The voltage supply circuitry may also bias the bit lines so that the high supply voltage VBLC is applied to the drain side of the bit lines and the cell source voltage Vcelsrc is applied to the source side of the bit lines to allow for the current flow, provided that the threshold voltage Vth of the selected memory cell allows for it. For some example read configurations, the sense block 146 can perform a sense operation for fewer than all of the memory cells of a page. For such configurations, the target memory cells of the page that are subject to and/or that are selected for a given sense operation are referred to as selected memory cells or selected target memory cells. Conversely, the target memory cells of the page that are not subject to and/or that are not selected for the sense operation are referred to as unselected memory cells. Accordingly, bit lines connected to selected target memory cells are referred to as selected bit lines, and bit lines connected to unselected target memory cells are referred to as unselected bit lines. In this context, a state of the bit line may refer to whether the bit line is selected or unselected. Otherwise stated, a bit line can be in one of two states, selected or unselected. The voltage supply circuitry can supply the voltages to the selected and unselected word lines and the selected and unselected bit lines at levels in various combinations, in various sequences, and/or over various sense operations in order determine the threshold voltages of the target memory cells so that the data values of the data that the target memory cells are storing can be determined.
In addition, as described in further detail below, a read operation to read data from a plurality of target memory cells coupled to a selected word line may include a plurality of stages, including one or more read stages and a discharge stage at the end of a last read stage. A read stage is a stage of a read operation that identifies which of the target memory cells coupled to the selected word line are programmed in a memory state associated with the read stage. Circuitry involved in the read operation performs a sense operation in each of the read stages to determine the memory states, and in turn the logic or data values of the plurality of target memory cells. As the target memory cells may be programmed in different memory states, each read stage is associated with a different one of the memory states in which the target memory cells may be programmed. During a read operation, a given read stage is performed to determine which of the target memory cells are programmed in the memory state associated with the given read stage.
As previously discussed, it is desirable to improve programming performance or speed by reducing verify time during or after programming. Yet, it is still important to minimize any penalty from threshold voltage Vth margin degradation resulting from such a reduction in verify time. Referring to
Still referring to
As discussed, the apparatus includes a plurality of selected memory cells coupled to a selected word line WLn and each storing a threshold voltage representative of a selected cell data programmed in a program-verify operation. The apparatus also includes a plurality of unselected memory cells coupled to a neighbor word line disposed adjacent the selected word line WLn. Certain “bad” aspects of the implementation of the tracking mode may be the reason that the state B is worse when the tracking mode is enabled. Also, certain “good” aspects from state A verify could be enhanced. Thus, it can be advantageous to modify the tracking mode in order to avoid the overshoot\undershoot during ramping, align the ramping directions of the voltages of the selected word line WLn and the neighbor word line, and improve programming time without much (if any) penalty from Vt-margin loss (e.g., width of threshold voltage Vth distributions).
Consequently, the apparatus (e.g., memory system 100) disclosed herein includes a control circuit (e.g., controller 102, peripheral circuitry 152) coupled to the plurality of selected and the plurality of unselected memory cells and configured to ramp from at least one initial voltage applied to the neighbor word line (e.g., WLn+1) directly to a target neighbor verify voltage (e.g., AV+DVCGV, BV+DVCGV, etc.) without exceeding or falling below the target neighbor verify voltage. Therefore, with the first modified control gate reference voltage tracking mode, such ramping by the control circuit assists the selected word line WLn reach at least one verify reference voltage (e.g., Vv discussed herein, such as AV for state A) used in verifying the threshold voltage Vth of each of the plurality of selected memory cells during at least one verify stage of the program-verify operation following a program stage of the program-verify operation.
Again, the threshold voltage Vth of each of the plurality of selected memory cells is within a common range of threshold voltages Vth defining a plurality of data states associated with threshold voltage Vth distributions of the threshold voltage Vth. For the VCGRV tracking or tracking mode, the at least one verify reference voltage includes a plurality of verify reference voltages each corresponding to one of the plurality of data states (e.g., AV for state A, BV for state B, etc. as shown in
According to an aspect, the at least one initial voltage applied to the neighbor word line includes a pass voltage VPASS causing the plurality of unselected memory cells to conduct electricity during the program stage. Again, each of the plurality of verify stages includes a plurality of predetermined time periods (R1, R2, R3, R4, R5, etc.). So, as best shown in
Thus, according to an aspect and shown in
The plurality of data states includes a plurality of lower states (e.g., state A, state B, state C) associated with lower threshold voltages Vth of the common range of threshold voltages Vth and a plurality of upper states (state D, state E, etc.) associated with upper threshold voltages Vth of the common range of threshold voltages Vth that are larger in magnitude than the lower threshold voltages Vth. Thus, the control circuit is further configured to apply at least one of the first ramped voltage waveform and the second ramped voltage waveform to the neighbor word line in response to one or more of the plurality of lower states of the plurality of data states being verified during one of the plurality of verify stages. The control circuit is also configured to apply the default read pass voltage Vreadk to the neighbor word line (e.g., the drain side neighbor word line WLn+1 disposed on a drain side of the selected word line WLn) in response to one or more of the plurality of upper states of the plurality of data states being verified during one of the plurality of verify stages.
As discussed above, the plurality of data states can, for example, include an erased state (state Er) and a first data state (state A) and a second data state (state B) and a third data state (state C) and a fourth data state (state D) and a fifth data state (state E) and a sixth data state (state F) and a seventh data state (state G) each associated with different increasing threshold voltage Vth distributions of the threshold voltage Vth in the common range of threshold voltages Vth. So, as shown in
Even without the VCGRV tracking mode, a standard or default verify operation can also benefit from the use of the first and second voltage waveforms. The at least one initial voltage applied to the neighbor word line is a pass voltage VPASS causing the plurality of unselected memory cells to conduct electricity during the program stage. So, the control circuit is further configured to select and apply one of the plurality of verify reference voltages to the selected word line WLn based on which of the plurality of data states is being verified during each of the plurality of verify stages. The control circuit is also configured to simultaneously ramp the pass voltage VPASS applied to the neighbor word line beginning before a first period R1 of the plurality of predetermined time periods directly to a default read pass voltage Vreadk over a second period R2 and a third period R3 and a fourth period R4 of the plurality of predetermined time periods without exceeding or falling below the default read pass voltage Vreadk. Again, the default read pass voltage Vreadk causes the plurality of unselected memory cells to conduct electricity during each of the plurality of verify stages.
As best shown in
As discussed, the threshold voltage Vth of each of the plurality of selected memory cells can be within a common range of threshold voltages Vth defining a plurality of data states associated with threshold voltage Vth distributions of the threshold voltage Vth. Also, the at least one verify reference voltage includes a plurality of verify reference voltages each corresponding to one of the plurality of data states and the at least one verify stage includes a sequence of a plurality of verify stages. So, the method further includes the step of selecting and applying one of the plurality of verify reference voltages to the selected word line WLn based on which of the plurality of data states is being verified during each of the plurality of verify stages. The method also includes the step of simultaneously adjusting the target neighbor verify voltage applied to the neighbor word line according to the one of the plurality of verify reference voltages applied to the selected word line WLn for each of the plurality of verify stages.
According to an aspect and as discussed above, the at least one initial voltage applied to the neighbor word can be a pass voltage VPASS causing the plurality of unselected memory cells to conduct electricity during the program stage. In addition, each of the plurality of verify stages includes a plurality of predetermined time periods (e.g., R1, R2, R3, R4, R5, etc.). Thus, the method further includes the step of applying the pass voltage VPASS to the neighbor word line while applying a program voltage VPGM to the selected word line WLn during the program operation before a first period R1 of the plurality of predetermined time periods. The next step of the method is ramping the pass voltage VPASS applied to the neighbor word line beginning before the first period R1 of the plurality of predetermined time periods directly to the target neighbor verify voltage (e.g., AV+DVCGV, BV+DVCGV, etc.) over a second period R2 and a third period R3 and a fourth period R4 of the plurality of predetermined time periods without exceeding or falling below the target neighbor verify voltage to define a first ramped voltage waveform (Proposal 1).
According to another aspect and as discussed above, the at least one initial voltage applied to the neighbor word line can be a default read pass voltage Vreadk causing the plurality of unselected memory cells to conduct electricity during the plurality of verify stages. Each of the plurality of verify stages includes the plurality of predetermined time periods. Therefore, the method further includes the step of applying the default read pass voltage Vreadk to the neighbor word line after the program operation after the first period R1 and the second period R2 of the plurality of predetermined time periods. Next, ramping the pass voltage VPASS applied to the neighbor word line beginning after the first period R1 and the second period R2 of the plurality of predetermined time periods directly to the target neighbor verify voltage over the third period R3 and the fourth period R4 and into a fifth period R5 of the plurality of predetermined time periods without exceeding or falling below the target neighbor verify voltage to define a second ramped voltage waveform (Proposal 2).
In addition, the plurality of data states includes a plurality of lower states associated with lower threshold voltages Vth of the common range of threshold voltages Vth and a plurality of upper states associated with upper threshold voltages of the common range of threshold voltages Vth being larger in magnitude than the lower threshold voltages Vth. So, the method further includes the step of applying at least one of the first ramped voltage waveform (Proposal 1) and the second ramped voltage waveform (Proposal 2) to the neighbor word line (e.g., WLn+1) in response to one or more of the plurality of lower states of the plurality of data states being verified during one of the plurality of verify stages. The method continues by applying the default read pass voltage Vreadk to the neighbor word line in response to one or more of the plurality of upper states of the plurality of data states being verified during one of the plurality of verify stages. In more detail, the plurality of data states includes an erased state (e.g., state Er) and a first data state (e.g., state A) and a second data state (e.g., state B) and a third data state (e.g., state C) and a fourth data state (e.g., state D) and a fifth data state (e.g., state E) and a sixth data state (e.g., state F) and a seventh data state (e.g., state G) each associated with different increasing threshold voltage Vth distributions of the threshold voltage Vth in the common range of threshold voltages Vth. Consequently, the method further includes the step of applying at least one of the first ramped voltage waveform and the second ramped voltage waveform to the neighbor word line in response to at least one of the first data state and the second data state and the third data state of the plurality of data states being verified during one of the plurality of verify stages. The next step of the method is applying the default read pass voltage Vreadk to the neighbor word line in response to at least one of the third data state and the fourth data state and the fifth data state and the sixth data state and the seventh data state of the plurality of data states being verified during one of the plurality of verify stages.
Again, the threshold voltage Vth of each of the plurality of selected memory cells is within a common range of threshold voltages Vth defining a plurality of data states associated with threshold voltage Vth distributions of the threshold voltage Vth. The at least one verify reference voltage includes a plurality of verify reference voltages each corresponding to one of the plurality of data states. The at least one verify stage includes a sequence of a plurality of verify stages. The at least one initial voltage applied to the neighbor word line is a pass voltage VPASS causing the plurality of unselected memory cells to conduct electricity during the program operation. Each of the plurality of verify stages includes a plurality of predetermined time periods (e.g., R1, R2, R3, R4, R5, etc.). The method further includes the step of selecting and applying one of the plurality of verify reference voltages to the selected word line WLn based on which of the plurality of data states is being verified during each of the plurality of verify stages. The method also includes the step of simultaneously ramping the pass voltage VPASS applied to the neighbor word line beginning before a first period R1 of the plurality of predetermined time periods directly to a default read pass voltage Vreadk over a second period R2 and a third period R3 and a fourth period R4 of the plurality of predetermined time periods without exceeding or falling below the default read pass voltage Vreadk (the default read pass voltage Vreadk causes the plurality of unselected memory cells to conduct electricity during the verify operation).
Additional testing data is shown in
Referring to
Clearly, changes may be made to what is described and illustrated herein without, however, departing from the scope defined in the accompanying claims. The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms “comprises,” “comprising,” “including,” and “having,” are inclusive and therefore specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.
When an element or layer is referred to as being “on,” “engaged to,” “connected to,” or “coupled to” another element or layer, it may be directly on, engaged, connected or coupled to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as being “directly on,” “directly engaged to,” “directly connected to,” or “directly coupled to” another element or layer, there may be no intervening elements or layers present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.). As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
Although the terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as “first,” “second,” and other numerical terms when used herein do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments.
Spatially relative terms, such as “inner,” “outer,” “beneath,” “below,” “lower,” “above,” “upper,” “top”, “bottom”, and the like, may be used herein for ease of description to describe one element's or feature's relationship to another element(s) or feature(s) as illustrated in the figures. Spatially relative terms may be intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the example term “below” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptions used herein interpreted accordingly.