High-density flash memory device and method of manufacturing the same
Granted 14 Jan 2020 · 2 office actions
Assignee: Macronix International
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Hang-Ting Lue, Chih-Wei Hu, Teng-Hao Yeh · Examiner: Vanthu T Nguyen · AU 2824 · TC 2800
Life of the application
13 dated eventsAbstract
A memory device that includes: a memory controller; a control unit; and a memory cell array that includes memory blocks, each memory block comprising: memory cells, word lines respectively coupled to the memory cells, signal lines to transfer signals to perform programming operations to one or more memory cells of the memory cells, a first metal layer coupled to a first group of lines and configured to route the first group of the lines to the control unit, the lines comprising the word lines and the signal lines, and a second metal layer coupled to a second group of the lines and configured to route the second group of the lines to the control unit, wherein the memory controller is configured to: control the control unit to (i) select particular memory cells and (ii) program data to the particular memory cells is disclosed.
Description
14 parts›TECHNICAL FIELD
The present application relates to a memory device. In particular, the present application relates to various structures of a memory device.
›BACKGROUND
A memory device, e.g., a high-density NAND flash memory device, can have various structures to increase the density of memory cells and lines on a chip. In particular, 3D NAND structures have been used to implement high-density NAND flash memory devices.
›SUMMARY · 1 of 2
The present application describes techniques related to a structure of a memory device. In particular, the structure of the memory device enables reduction of the number of programming sessions by reducing the number of string select lines in one memory block. As a result, the memory device can prevent the tail-bit problem, which in turn can reduce programming errors.
In addition, the memory device includes two separate metal layers to route various lines to and/or from control units such as a row decoder, a column decoder, or a voltage supplier. Thus, the memory device can have satisfactory word line pitch even if the number of the string select lines in one memory block is reduced. This enables reduction of the likelihood of dielectric breakdown in a memory cell caused by a low word line pitch, improving the reliability and the accuracy of the memory device.
In general, one innovative aspect of the subject matter described in this specification can be implemented in a memory device that includes: a memory controller; one or more control units; and a memory cell array that includes one or more memory blocks, each of the one or more memory block comprising: a plurality of memory cells, a plurality of word lines that are respectively coupled to the plurality of memory cells, a plurality of signal lines to transfer signals to perform programming operations to one or more memory cells of the plurality of memory cells, a first metal layer that is coupled to a first group of lines and that is configured to route the first group of the lines to at least one of the one or more control units, the lines comprising the plurality of word lines and the plurality of signal lines, and a second metal layer that is coupled to a second group of the lines and that is configured to route the second group of the lines to at least one of the one or more control units, wherein the memory controller is configured to: control at least one of the one or more control units to (i) select one or more particular memory cells and (ii) program one or more data to the one or more particular memory cells.
The foregoing and other implementations can each optionally include one or more of the following features, alone or in combination. In particular, one implementation includes all the following features in combination. The plurality of signal lines include string select lines, common source lines, dummy word lines, ground select lines, and inversion word lines. The first metal layer includes a first routing line that is coupled to at least one of the one or more control units and the second metal layer includes a second routing line that is coupled to at least one of the one or more control units. A pitch for the first routing line is the same as a pitch for the second routing line. The first routing line is aligned with the second routing line. The second metal layer is discontinuous between a first portion and a second portion, and wherein the first portion of the second metal layer is coupled to the second portion of the second metal layer through a detouring portion of the second metal layer. The memory device further includes: a first conductive layer that is adjacent to the second metal layer, wherein the second metal layer is discontinuous between a first portion and a second portion, and wherein the first portion of the second metal layer is coupled to the first conductive layer and the second portion of the second metal layer is coupled to the first conductive layer such that a signal is transferred between the first portion and the second portion through the first conductive layer. The memory device further includes: a first conductive layer that is adjacent to the second metal layer, wherein the second metal layer is discontinuous between a first portion and a second portion, wherein the first conductive layer is discontinuous between a third portion and a fourth portion, and wherein (i) the first portion of the second metal layer is coupled to the third portion of the first conductive layer, (ii) the second portion of the second metal layer is coupled to the fourth portion of the first conductive layer, and (iii) the third portion of the first conductive layer is coupled to the fourth portion of the first conductive layer through a detouring portion of the first conductive layer such that a signal is transferred between the first portion and the second portion through the third portion, the detouring portion, and the fourth portion of the first conductive layer. An average pitch for the lines is more than 0.1 um. The second metal layer is further from the lines than the first metal layer.
In general, another innovative aspect of the subject matter described in this specification can be implemented in a method for programming one or more data to one or more memory cells of a memory device, the method comprising: receiving addresses for one or more memory cells to program; selecting, based on the addresses, the one or more memory to program through a plurality of word lines that are respectively coupled to a plurality of memory cells in the memory device and a plurality of signal lines that are configured to transfer signals to perform programming operations to the one or more memory cells; and applying, by a memory controller, one or more voltages to the one or more memory cells to program the one or more memory cells through the plurality of word lines and the plurality of signal lines, wherein a first metal layer is coupled to a first group of lines and is configured to route the first group of the lines to at least one of one or more control units, the lines comprising the plurality of word lines and the plurality of signal lines, and wherein a second metal layer is coupled to a second group of the lines and is configured to route the second group of the lines to at least one of the one or more control units.
The foregoing and other implementations can each optionally include one or more of the following features, alone or in combination. In particular, one implementation includes all the following features in combination. The plurality of signal lines include string select lines, common source lines, dummy word lines, ground select lines, and inversion word lines. The first metal layer includes a first routing line that is coupled to at least one of the one or more control units and the second metal layer includes a second routing line that is coupled to at least one of the one or more control units. A pitch for the first routing line is the same as a pitch for the second routing line. The first routing line is aligned with the second routing line in a particular direction. The second metal layer is discontinuous between a first portion and a second portion, and wherein the first portion of the second metal layer is coupled to the second portion of the second metal layer through a detouring portion of the second metal layer. The method further includes: a first conductive layer that is adjacent to the second metal layer, wherein the second metal layer is discontinuous between a first portion and a second portion, and wherein the first portion of the second metal layer is coupled to the first conductive layer and the second portion of the second metal layer is coupled to the first conductive layer such that a signal is transferred between the first portion and the second portion through the first conductive layer. The memory device further comprises a first conductive layer that is adjacent to the second metal layer, wherein the second metal layer is discontinuous between a first portion and a second portion, wherein the first conductive layer is discontinuous between a third portion and a fourth portion, and wherein (i) the first portion of the second metal layer is coupled to the third portion of the first conductive layer, (ii) the second portion of the second metal layer is coupled to the fourth portion of the first conductive layer, and (iii) the third portion of the first conductive layer is coupled to the fourth portion of the first conductive layer through a detouring portion of the first conductive layer such that a signal is transferred between the first portion and the second portion through the third portion, the detouring portion, and the fourth portion of the first conductive layer. An average pitch for the lines is more than 0.1 um. The second metal layer is further from the lines than the first metal layer.
›SUMMARY · 2 of 2
The details of one or more examples of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other potential features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claim.
›BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an example memory device.
FIG. 2 illustrates an example circuit diagram for a memory cell string of a memory cell array.
FIG. 3A illustrates a perspective view of an example structure of a memory cell array.
FIG. 3B illustrates a top view of an example memory block of a memory cell array.
FIG. 3C illustrates an example graph to show multiple level programming for a memory cell.
FIG. 4A illustrates a top view of another example memory block in a memory cell array.
FIG. 4B illustrates a cross-sectional view of an example memory block corresponding to A-A′ illustrated in FIG. 4A .
FIG. 4C illustrates a cross-sectional view of an example memory block corresponding to B-B′ illustrated in FIG. 4A .
FIG. 4D illustrates an example second word line pad of a memory block.
FIG. 4E illustrates an example second word line pad of a memory block in a 3D view.
Like reference numbers and designations in the various drawings indicate like elements. It is also to be understood that the various exemplary implementations shown in the figures are merely illustrative representations and are not necessarily drawn to scale.
›DETAILED DESCRIPTION · 1 of 9
FIG. 1 illustrates an example memory device 100 . The memory device 100 includes a memory controller 102 and a memory cell array 104 . The memory controller 102 includes hardware and software logic to perform various operations, which include programming the memory array 104 , e.g., writing to, reading from, or erasing from the memory array 104 . In some implementations, the memory controller 102 includes one or more processors to program memory cells in the memory cell array 104 . For example, the memory controller 102 can execute operations to program the memory array 104 . The operations can be stored in a storage accessible by the memory controller 102 . In some implementations, the operations can be stored at a flash memory or a hard disk. In some implementations, the operations can be stored at a temporary storage. In some implementations, the operations can be stored in a dedicated portion of the memory array 104 that is distinct from the memory cells that are to be programmed.
The memory array 104 includes one or more memory blocks. In some implementations, each of the memory blocks may include a plurality of memory cell strings. A string can include a plurality of memory cells. The memory cells can be single-level cells or multi-level cells. In some implementations, the memory array 104 includes nonvolatile memory cells, e.g., a flash memory cells. However, the memory array 104 can include any type of memory cells including, but not limited to, 2D NAND flash memory cells, 3D NAND flash memory cells comprising U-shaped strings, and 3D NAND flash memory cells comprising non-U-shaped strings. In some implementations, each of the memory blocks may include a single string.
The memory device 100 includes a row decoder 103 and a column decoder 105 . In some implementations, the row decoder is coupled to a plurality of word lines that are arranged in a first direction in the memory array 104 and the column decoder 105 is coupled to a plurality of bit lines that are arranged in a second direction in the memory array 104 . In some other implementations, the row decoder is coupled to a plurality of bit lines that are arranged in a first direction in the memory array 104 and the column decoder 105 is coupled to a plurality of word lines that are arranged in a second direction in the memory array 104 .
The memory controller 102 can control reading or programming operations to one or more memory cells in the memory cell array 104 using the row decoder 103 or the column decoder 105 . In some implementations, the memory controller 102 provides addresses to the row decoder 103 and the column decoder 105 to perform reading or programming operations to one or more particular memory cells in the memory cell array 104 . In some other implementations, addresses can be provided from an external device or an external circuit to the row decoder 103 and the column decoder 105 to perform reading or programming operations to one or more particular memory cells in the memory cell array 104 .
In some implementations, the memory device 100 includes a voltage supply 107 . The memory controller 102 controls the voltages supply 107 to provide power for the memory cell array 104 . The memory controller 102 can perform read and programming operations using power provided from the voltage supply 107 .
In some implementations, the memory device 100 can further include a temporary storage 106 to store information for programming memory cells in the memory cell array 104 . The information can include different voltages levels, and timing data to define the times during which the different voltage levels are applied to the memory cell array. A variety of formats are possible for the timing data for the different voltage level to be applied to the memory cell array, e.g., a start time and an end time for a particular voltage level, or a start time and a duration for the particular voltage level. The temporary storage 106 can be any type of suitable storage. For example, the temporary storage 106 can be static random access memory (SRAM), NAND flash memory, or a set of registers. In some implementations, the temporary storage 106 can be implemented as a portion of the memory array 104 , which can be distinct from the memory cells that are to be programmed.
FIG. 2 illustrates an example circuit diagram for a memory cell string of a memory cell array. In particular, FIG. 2 illustrates a circuit diagram for the memory cell string 200 in the Y-Z plane (the surface of the wafer on which the cell is fabricated would provide the X-Y plane). The memory cell array including the memory cell string 200 can be the memory cell array 104 illustrated in FIG. 1 . The memory cell array can include multiple signal lines. For example, the signal lines can include string select lines, common source lines, dummy word lines, ground select lines, and inversion word lines. However, examples of the signal lines are not limited to the lines described here. Any suitable lines that are configured to transfer one or more signals can be signal lines. In FIG. 2 , the memory cell string 200 includes a common source line CSL that extends in a first direction, e.g., in an X-X direction, and a bit line BL that extends in a second direction, e.g., in an Y-Y direction. In some implementations, the first direction can be perpendicular to the second direction. In some implementations, the first direction can be parallel to the second direction. In other implementations, the first direction can extend at an angle greater than 0 and less than 90 degrees relative to the second direction. The common source line CSL is connected to a plurality of memory cells along the X-X direction, and the bit line BL is connected to a plurality of memory cells along the Y-Y direction.
The bit line BL is coupled to a plurality of transistors. For example, the bit line BL is coupled to the transistors T 1 -T 21 . The transistors T 1 -T 21 can be implemented with various types of transistors including, but not limited to, a bipolar junction transistor, a p-channel Metal Oxide Semiconductor (PMOS) transistor, an n-channel Metal Oxide Semiconductor (NMOS) transistor, a complementary Metal Oxide Semiconductor (CMOS) transistor, or other types of transistors and memory cells. In some implementations, the transistors T 1 -T 21 can be the same type of transistors. In some implementations, the transistor T 1 coupled to the string select line SSL, the transistors T 2 -T 4 coupled to the dummy word lines DWLS 0 -DWLS 2 , the transistors T 5 -T 20 coupled to the word lines WL 31 -WL 16 , and the transistor T 21 coupled to the inversion word line IWLS can be implemented using two or more types of transistors.
›DETAILED DESCRIPTION · 2 of 9
The transistor T 1 is coupled to the string select line SSL. The source of the transistor T 1 is coupled to the bit line BL, the gate of the transistor T 1 is coupled to the string select line SSL, and the drain of the transistor T 1 is coupled to the transistor T 2 . The transistor T 1 is turned on or off based on the voltage provided through the string select line SSL. For example, when a voltage over a threshold level is provided to the gate of the transistor T 1 through the string select line SSL, the transistor T 1 is turned on so that current flows from the bit line BL to the transistor T 2 .
The transistors T 2 -T 4 are coupled to dummy word lines DWLS 2 -DWLS 0 . The source of the transistor T 2 is coupled to the drain of the transistor T 1 , the gate of the transistor T 2 is coupled to the dummy word line DWLS 2 , and the drain of the transistor T 2 is coupled to the transistor T 3 . The transistor T 2 is turned on or off based on the voltage provided through the dummy word line DWLS 2 . For example, when a voltage over a threshold level is provided to the gate of the transistor T 2 through the dummy word line DWLS 2 , the transistor T 2 is turned on so that current flows from the transistor T 1 to the transistor T 3 .
The source of the transistor T 3 is coupled to the drain of the transistor T 2 , the gate of the transistor T 3 is coupled to the dummy word line DWLS 1 , and the drain of the transistor T 3 is coupled to the transistor T 4 . The transistor T 3 is turned on or off based on the voltage provided through the dummy word line DWLS 1 . For example, when a voltage over a threshold level is provided to the gate of the transistor T 3 through the dummy word line DWLS 1 , the transistor T 3 is turned on so that current flows from the transistor T 2 to the transistor T 4 . In some implementations, the transistors T 2 , T 3 have a common gate. That is, the dummy word line DWLS 2 and the dummy word line DWLS 1 are connected to each other. In these implementations, the transistors T 2 , T 3 can be simultaneously turned on or off based on the voltage applied to the common gate. In some implementations, the transistors T 2 , T 3 can be inversely turned on or off, based on the voltage applied to the common gate, using one or more inverters coupled to the common gate.
The source of the transistor T 4 is coupled to the drain of the transistor T 3 , the gate of the transistor T 4 is coupled to the dummy word line DWLS 0 , and the drain of the transistor T 4 is coupled to the transistor T 5 . The transistor T 4 is turned on or off based on the voltage provided through the dummy word line DWLS 0 . For example, when a voltage over a threshold level is provided to the gate of the transistor T 4 through the dummy word line DWLS 0 , the transistor T 4 is turned on so that current flows from the transistor T 3 to the transistor T 5 .
The transistors T 5 -T 20 are respectively coupled to the word lines WL 31 -WL 16 . The gate of each transistor of the transistors T 5 -T 20 is coupled to a respective word line of the word lines WL 31 -WL 16 . Each transistor of the transistors T 5 -T 20 is turned on or off based on the voltage provided through the respective word line of the word lines WL 31 -WL 16 . For example, when a voltage over a threshold level is provided to the gate of the transistor of the transistors T 5 -T 20 through the respective word line, the transistor is turned on so that current flows through the transistor. Each of the word lines WL 31 - 16 is coupled to a plurality of memory cells.
The transistor T 21 is coupled to the inversion word line IWLS. The gate of the transistor T 21 is coupled to the inversion word line IWLS. The transistor T 21 is turned on or off based on the voltage provided through the inversion word line IWLS. For example, when a voltage over a threshold level is provided to the gate of the transistor T 21 through the inversion word line IWLS, the transistor T 21 is turned on so that current flows from the transistor T 20 to the transistor T 22 .
The source of the transistor T 22 is coupled to the drain of the transistor T 21 . In addition, the transistor T 22 is coupled to the inversion word line IWLG. The gate of the transistor T 22 is coupled to the inversion word line IWLG. The transistor T 22 is turned on or off based on the voltage provided through the inversion word line IWLG. For example, when a voltage over a threshold level is provided to the gate of the transistor T 22 through the inversion word line IWLG, the transistor T 22 is turned on so that current flows from the transistor T 21 to the transistor T 23 .
In some implementations, the transistors T 21 , T 22 are driven by a common driver. That is, the same voltage is applied to the gates of the transistors T 21 , T 22 through the inversion word line IWLS and the inversion word line IWLG. In these implementations, the transistors T 21 , T 22 can be simultaneously turned on or off based on the voltage applied to the gates of the transistors T 21 , T 22 . For example, when a voltage over a threshold is provided by the common driver to the gates of the transistors T 21 , T 22 , the transistors T 21 , T 22 can be turned on together at the same time so that current can flow from the transistor T 20 coupled to the word line WL 16 to the transistor T 23 coupled to the word line WL 15 . In some implementations, the transistors T 21 , T 22 can be inversely turned on or off based on the voltage applied to the gates of the transistors T 21 , T 22 using one or more inverters coupled to the gates.
The transistors T 23 -T 38 are respectively coupled to the word lines WL 15 -WL 0 . In particular, the gate of each transistor of the transistors T 23 -T 38 is coupled to a respective word line of the word lines WL 15 -WL 0 . Each transistor of the transistors T 23 -T 38 is turned on or off based on the voltage provided through the respective word line of the word lines WL 15 -WL 0 . For example, when a voltage over a threshold level is provided to the gate of the transistor of the transistors T 23 -T 38 through the respective word line, the transistor is turned on so that current flows through the transistor. Each of the word lines WL 15 -WL 0 is coupled to a plurality of memory cells.
›DETAILED DESCRIPTION · 3 of 9
The transistors T 39 -T 41 are respectively coupled to dummy word lines DWLG 2 -DWLG 0 . The source of the transistor T 39 is coupled to the drain of the transistor T 38 , the gate of the transistor T 39 is coupled to the dummy word line DWLG 2 , and the drain of the transistor T 39 is coupled to the transistor T 40 . The transistor T 39 is turned on or off based on the voltage provided through the dummy word line DWLG 2 . For example, when a voltage over a threshold level is provided to the gate of the transistor T 39 through the dummy word line DWLG 2 , the transistor T 39 is turned on so that current flows from the transistor T 38 to the transistor T 40 .
In some implementations, the transistors T 39 , T 4 have a common gate. That is, the dummy word line DWLG 2 and the dummy word line DWLS 0 are connected to each other. In these implementations, the transistors T 39 , T 4 can be simultaneously turned on or off based on the voltage applied to the common gate. In some implementations, the transistors T 39 , T 4 can be inversely turned on or off based on the voltage applied to the common gate using one or more inverters coupled to the common gate.
The source of the transistor T 40 is coupled to the drain of the transistor T 39 , the gate of the transistor T 40 is coupled to the dummy word line DWLG 1 , and the drain of the transistor T 40 is coupled to the transistor T 41 . The transistor T 40 is turned on or off based on the voltage provided through the dummy word line DWLG 1 . For example, when a voltage over a threshold level is provided to the gate of the transistor T 40 through the dummy word line DWLG 1 , the transistor T 40 is turned on so that current flows from the transistor T 39 to the transistor T 41 .
The source of the transistor T 41 is coupled to the drain of the transistor T 40 , the gate of the transistor T 41 is coupled to the dummy word line DWLG 0 , and the drain of the transistor T 41 is coupled to the transistor T 42 . The transistor T 41 is turned on or off based on the voltage provided through the dummy word line DWLG 0 . For example, when a voltage over a threshold level is provided to the gate of the transistor T 41 through the dummy word line DWLG 0 , the transistor T 41 is turned on so that current flows from the transistor T 40 to the transistor T 42 . In some implementations, the transistors T 40 , T 41 have a common gate. That is, the dummy word line DWLG 1 and the dummy word line DWLG 0 are connected to each other. In these implementations, the transistors T 40 , T 41 can be simultaneously turned on or off based on the voltage applied to the common gate. In some implementations, the transistors T 40 , T 41 can be inversely turned on or off, based on the voltage applied to the common gate, using one or more inverters coupled to the common gate.
The transistor T 42 is coupled to the ground select line GSL. The source of the transistor T 42 is coupled to the drain of the transistor T 41 , the gate of the transistor T 42 is coupled to the ground select line GSL, and the drain of the transistor T 42 is coupled to the common source line CSL. The transistor T 42 is turned on or off based on the voltage provided through the ground select line GSL. For example, when a voltage over a threshold level is provided to the gate of the transistor T 42 through the ground select line GSL, the transistor T 42 is turned on so that current flows from the transistor T 41 to the common source line CSL.
The common source line CSL is coupled to a plurality of transistors T 22 -T 42 as described above. The transistors T 22 -T 42 can be implemented with various kinds of transistors including, but not limited to, a bipolar junction transistor, a PMOS transistor, a NMOS transistor, a CMOS transistor, or other types of transistors and memory cells. In some implementations, the transistors T 22 -T 42 can be the same type of transistors. In some implementations, the transistor T 42 coupled to the ground select line GSL, the transistors T 39 -T 41 coupled to the dummy word lines DWLG 2 -DWLG 0 , the transistors T 23 -T 38 coupled to the word lines WL 15 -WL 0 , and the transistor T 22 coupled to the inversion word line IWLG can be implemented using two or more types of transistors.
FIG. 3A illustrates an example structure of a memory cell array. In particular, FIG. 3A illustrates a memory cell string 310 of the memory cell array. In this example, the memory cell string has a 3D NAND structure. However, the structure of the memory cell string is not limited to a 3D NAND structure, but can be any suitable structure including a 2D NAND structure. In some implementations, the memory cell array including the memory cell string can be the memory cell array 104 described with reference to FIG. 1 . In addition, the structure of the memory cell string illustrated in FIG. 3A can be a structure to implement the circuit of the memory cell string illustrated in FIG. 2 . The memory cell string includes a multilayer lamination of conductive layers, e.g., metal layers or polysilicon layers. For example, the memory cell array includes M (where M is an integer >0) layers of circuitry, with each layer of circuitry provided by a different conductive layer. The memory cell string 310 can include array layers and peripheral layers.
In some implementations, the array layers include conductive layers. For example, the array layers can include twenty-one conductive layers CL 1 -CL 21 , of circuitry. The conductive layer CL 1 includes a string select line SSL and a ground select line GSL, the conductive layers CL 2 -CL 4 respectively include a plurality of dummy word lines DWL 0 -DWL 2 , the conductive layers CL 5 -CL 20 respectively include a plurality of word lines WL 0 - 31 , and the conductive layer CL 21 includes a plurality of inversion word lines IWL 0 -IWL 1 .
In some implementations, the peripheral layers include metal layers. For example, the peripheral layers can include two metal layers, ML 1 , ML 2 , of circuitry. The first metal layer ML 1 can include one or more common source lines, e.g., the common source line CSL. The common source line CSL can be coupled to a control unit, e.g., a row decoder, a column decoder, or a voltage supplier, through the first metal layer ML 1 . The second metal layer ML 2 can include one or more bit lines, e.g., the bit lines BL 0 -BL 4 . The bit lines BL 0 -BL 4 can be coupled to a control unit, e.g., a row decoder, a column decoder, or a voltage supplier, through the second metal layer ML 2 .
›DETAILED DESCRIPTION · 4 of 9
A memory controller, e.g., the memory controller 102 in FIG. 1 , can perform reading or programming operations by providing signals, e.g., applying suitable voltages, through the bit lines and the common source lines in the metal layers. In some implementations, where a particular voltage is applied to the bit lines BL 0 , the voltage is provided to the channel CN of the memory cell string 310 through a via VIA, a post P 1 , a first contact CON 1 , and a first plug PLG 1 of the memory cell string 310 . By controlling the channel potential of the channel CN, the memory controller can perform reading or programming operations. In some implementations, where carriers are transferred from one or more memory cells to the channel CN through respective word lines of the word lines WL 0 -WL 31 , the carriers change the channel potential of the channel CN. A particular voltage based on the channel potential of the channel CN is provided to a control unit, e.g., a row decoder, a column decoder, or voltage supplier, through a second plug PLG 2 and a second contact CON 2 .
In some implementations, one or more dielectric layers are provided between two adjacent conductive layers of the multilayer lamination to electrically insulate those conductive layers each other. For example, in FIG. 3A , a dielectric layer DL is provided between the conductive layer CL 1 and the conductive layer CL 2 . In these implementations, any suitable technique can be used to insulate two adjacent conductive layers of the multilayer lamination each other.
In this example structure of the memory cell string illustrated in FIG. 3A , the number of layers of circuitry and the number of the various lines including bit lines, string select lines, word lines, common source lines, dummy word lines, ground select lines, and inversion word lines, are not limited to a particular number. The memory cell array can include any suitable number of layers of circuitry and lines in various implementations.
FIG. 3B illustrates an example memory block of a memory cell array. In particular, FIG. 3B illustrates the memory block 301 of the memory cell array viewed in the X-Y plane. For example, the memory cell string 310 in FIG. 3A can be a memory cell string included in the memory block 301 .
The memory block 301 includes a cell array area 320 , a first word line pad 330 and a second word line pad 350 . The cell array area 320 includes multiple memory cell strings. Each of the memory cell strings is coupled to the first word line pad 330 through a respective string select line of string select lines SSL 1 -SSL 8 . Each of the memory cell strings is coupled to the second word line pad 350 through a respective ground select line of ground select lines GSL 0 -GSL 8 . That is, for each memory cell string, one end of the memory cell string is coupled to the first word line pad 330 through a respective string select line and the other end of the memory cell string is coupled to the second word line 350 through a respective ground select line. As shown in FIG. 3B , the string select lines and the ground select lines can be arranged in an alternating interdigitated pattern. The string select lines and the ground select lines can extend in parallel along the X-axis, and can alternate along the Y-axis.
When programming the memory cells in the memory cell array, a memory controller can program memory cells by selecting a particular string select line. Once the memory controller selects a particular string select line, the memory controller programs one or more memory cells coupled to the particular string select line. In some implementations, while the memory controller programs memory cells coupled to a particular string select line, the memory controller inhibit programming memory cells coupled to other string select lines in the same memory block to prevent interference between one group of memory cells coupled to one string select line and another group of memory cells coupled to another string select line. For example, the memory controller can program memory cells coupled to the string select line SSL 1 first, and then program other memory cells coupled to other string select lines SSL 2 -SSL 8 one by one. In this example, while the memory controller programs memory cells coupled the string select line SSL 1 , the memory controller can inhibit programming memory cells coupled to other string select lines SSL 2 -SSL 8 . Then, while the memory controller programs memory cells coupled the string select line SSL 2 , the memory controller can inhibit programming memory cells coupled to other string select lines SSL 1 , SSL 3 -SSL 8 . Thus, to program memory cells in one memory block, the memory controller should program multiple times, e.g., eight times. This multiple programming can cause the tail-bit problem. The tail bit problem will be described in greater detail below with reference to FIG. 3C .
FIG. 3C illustrates an example graph to show error rates when programming a memory cell. The X-axis represents a threshold voltage, e.g., the threshold voltage V t , at a memory cell and the Y-axis represents cell bit count. For example, a memory controller can erase/inhibit or program two bits data by applying two different levels of a voltage, e.g., a first voltage level V 1 and a second voltage level V 2 , to a memory cell. When the memory controller provides the first voltage level V 1 to a memory cell, a datum programmed to the memory cell is erased or inhibited. When the memory controller provides the second voltage level V 2 to a memory cell, a datum is programmed to the memory cell. In FIG. 3C , the curve Erase/Inhibit shows a threshold voltage V t distribution curve when a voltage to erase or inhibit a datum to a memory cell is applied and the curve Program shows a threshold voltage V t distribution curve when a voltage to program a datum to a memory cell is applied. When a voltage greater than the first voltage level V 1 and smaller than a first reference voltage V R is applied, a datum programmed in the memory cell is erased or inhibited. When a voltage greater than the first reference voltage V R and smaller than the second voltage level V 2 is applied, a datum is programmed to the memory cell. Thus, a width of a window to program the second datum can be a first width W 1 .
›DETAILED DESCRIPTION · 5 of 9
However, as programming sessions are repeated, the tail gate problem occurs. That is, as programming sessions are repeated, some inhibited cells have higher voltage levels of the threshold voltage V t at the high bound of the threshold voltage V t distribution, and results in the higher RBER (Residue Bit Error Rate). The curve Program 4 shows that voltage levels of the threshold voltage V t at the high bound of the threshold voltage V t distribution becomes higher at the first reference voltage V R than the curve Program 1 and the curve Program 8 shows that voltage levels of the threshold voltage V t at the high bound of the threshold voltage V t distribution becomes higher at the first reference voltage V R than the curve Program 4. Based on the curve Program 8 and the curve 2 nd Datum, when a voltage greater than the first voltage level V 1 and smaller than a second reference voltage V R ′ is applied, a datum programmed in the memory cell is erased or inhibited. When a voltage greater than the second reference voltage V R ′ and smaller than the second voltage level V 2 is applied, a datum is programmed to the memory cell. Thus, a width of a window to program the second datum can be a second width W 2 such that the window to program the second datum is reduced by the difference between the first width W 1 and the second width W 2 .
FIG. 4A illustrates another example memory block of a memory cell array. In particular, FIG. 4A illustrates the memory block 401 of the memory cell array viewed in the X-Y plane. For example, the memory cell string 200 in FIG. 2 can be a memory cell string included in the memory block 401 .
The memory block 401 includes a cell array area 420 , a first word line pad 430 and a second word line pad 450 . The cell array area 420 includes multiple memory cell strings. The structure of the memory string cell in the cell array area 420 can be the same or similar to the structure of the memory string cell 310 in FIG. 3A . Each of the memory cell strings is coupled to the first word line pad 430 through a respective string select line of string select lines SSL 9 -SSL 12 . Each of the memory cell strings is coupled to the second word line pad 450 through a respective ground select line of ground select lines GSL 9 -GSL 13 . That is, for each memory cell string, one end of the memory cell string is coupled to the first word line pad 430 through a respective string select line and the other end of the memory cell string is coupled to the second word line 450 through a respective ground select line. The string select lines and ground select lines can be arranged in an alternating interdigitated pattern. The string select lines and ground select lines can extend in parallel along the X-axis, and can alternate along the Y-axis.
Comparing to the memory block 301 in FIG. 3A , the memory block 401 includes a smaller number of string select lines. In this example, for convenience, the memory block 401 includes four string select lines while the memory block 301 includes eight string select lines. As described above, when programming memory cells, a memory controller can program by a memory cell string. That is, the memory controller programs memory cells in one memory cell string and, after completing programming memory cells in the memory cell string, the memory controller programs the next memory cell string. Since the memory block 401 includes four string select lines, the memory controller programs four times to program memory cells in the memory block 401 . Thus, comparing to a case in which the memory controller programs memory cells in the memory block 301 , the memory controller can reduce the number of programming sessions from eight to four. Since the number of programming is reduced, the tail-bit problem can be prevented or reduced, reducing programming errors.
However, since both the memory block 401 and the memory block 301 includes 32 word lines, the word line sharing rate, i.e., how many string select lines are shared by one word line, is reduced from 50% (16 string select lines per 32 word lines) to 25% (8 string select lines per 32 word lines). The low word line sharing rate represents that word line pitch becomes small. In the memory device, if a word line pitch becomes less than a threshold value, e.g., 0.1 um, high electric-field is generated between two adjacent word lines, causing dielectric breakdown in the memory cell. Thus, to prevent the dielectric breakdown in the memory cell, the word line pitch should not become small in the memory block 401 even if the memory block 401 includes less string select lines than the memory block 301 to reduce the number of programming.
FIGS. 4B to 4E illustrate an example structure of a memory block in a memory cell array. In particular, FIG. 4B illustrates a cross-sectional view of a memory block 401 corresponding to A-A′ illustrated in FIG. 4A in the X-Z plane, FIG. 4C illustrates a cross-sectional view of a memory block 401 corresponding to B-B′ illustrated in FIG. 4A in the X-Z plane, FIG. 4D illustrates a second word line pad 450 of the memory block 401 in the X-Y plane, and FIG. 4E illustrates the second word line pad 450 of the memory block 401 in a 3D view. In some implementations, the memory cell array including the memory block 401 can be the memory cell array 104 described with reference to FIG. 1 .
With reference to FIG. 4B , the memory block 401 includes a cell array area 420 , a first word line pad 430 , and a second word line pad 450 . The cell array area 420 includes multiple memory cell strings comprising respective memory cells. The cell array area 420 includes peripheral layers 422 and array layers 424 . The peripheral layers 422 can include two metal layers (e.g., metal layers ML 3 , ML 4 ) and a film layer 413 (e.g., a SSL/GSL film layer). In some implementations, the film layer 413 can be a conductive layer. In some implementations, multiple film layers can be formed. The metal layers ML 3 , ML 4 are extended to the first word line pad 430 and the second word line pad 450 for routing signals between memory cells in the cell array area 420 and a control unit, e.g., a row decoder, a column decoder, or a voltage supplier, through the first word line pad 430 or the second word line pad 450 . In some implementations, the structure of the array layers 424 can be the same or similar to the structure of the array layers described with reference to FIG. 3A .
›DETAILED DESCRIPTION · 6 of 9
In FIG. 4B , the array layer 424 includes multiple word lines 411 and a dielectric film layer 414 (e.g., a polysilicon oxide layer) that is formed over the word lines 411 . In some implementations, multiple dielectric film layers can be formed. In FIG. 4B , for convenience, elements other than the metal layers ML 3 , ML 4 , the film layer 413 , and the dielectric layer 414 are omitted. Like the peripheral layers 422 , one or more layers of the array layers 424 are extended to the first word line pad 430 and the second word line pad 450 for routing signals between memory cells in the cell array area 420 and a control unit, e.g., a row decoder, a column decoder, or a voltage supplier, through the first word line pad 430 or the second word line pad 450 . For example, the word lines 411 , the film layer 413 and the dielectric film layer 414 are extended to the first word line pad 430 . In this example, the word lines 411 , the film layer 413 , and the dielectric film layer 414 are disconnected at a border area between the cell array area 420 and the second word line pad 450 . The second word line pad 450 includes multiple word lines 411 ′, a film layer 413 ′, and a dielectric film layer 414 ′.
With reference to FIG. 4C , the peripheral layers 422 can include two metal layers (e.g., metal layers ML 3 , ML 4 ) and a film layer 417 (e.g., a SSL/GSL film layer). In some implementations, the film layer 417 can be a conductive layer. In some implementations, multiple film layers can be formed. The metal layers ML 3 , ML 4 are extended to the first word line pad 430 and the second word line pad 450 for routing signals between memory cells in the cell array area 420 and a control unit, e.g., a row decoder, a column decoder, or a voltage supplier, through the first word line pad 430 or the second word line pad 450 . In some implementations, the structure of the array layers 424 can be the same or similar to the structure of the array layers described with reference to FIG. 3A .
In FIG. 4C , the array layer 424 includes multiple word lines 412 and a dielectric film layer 418 (e.g., a polysilicon oxide layer) that is formed over the word lines 412 . In some implementations, multiple dielectric film layers can be formed. In FIG. 4C , for convenience, elements other than the metal layers ML 3 , ML 4 , the film layer 417 , and the dielectric layer 418 are omitted. Like the peripheral layers 422 , one or more layers of the array layers 424 are extended to the first word line pad 430 and the second word line pad 450 for routing signals between memory cells in the cell array area 420 and a control unit, e.g., a row decoder, a column decoder, or a voltage supplier, through the first word line pad 430 or the second word line pad 450 . For example, the word lines 412 , the film layer 417 and the dielectric film layer 418 are extended to the second word line pad 450 . In this example, the word lines 412 , the film layer 417 , and the dielectric film layer 418 are disconnected at a border area between the cell array area 420 and the first word line pad 430 . The first word line pad 430 includes multiple word lines 412 ′, a film layer 417 ′, and a dielectric film layer 418 ′.
One or more layers of the array layers 424 can respectively include word lines and signal lines. In some implementations, the signal lines can include string select lines, ground select lines, dummy word lines, and inversion word lines. In some implementations, These lines including the word lines and the signal lines can be grouped as a first group of lines and a second group of lines. The lines can be grouped as any suitable combinations. For example, referring to FIG. 2 , the first group of lines can include the string select line SSL, the dummy word lines DWLS 2 -DWLS 0 , the word lines WL 31 -WL 16 , and the inversion word line IWLS and the second group of lines can include the ground select line GSL, the dummy word lines DWLG 0 -DWLG 2 , the word lines WL 0 -WL 15 , and the inversion word line IWLG. As another example, the first group of lines can include the string select line SSL, the dummy word lines DWLS 1 , DWLG 0 , DWLG 2 , the word lines WL 31 , WL 29 , WL 27 , . . . , WL 17 , WL 15 , WL 13 , WL 11 , . . . , WL 1 , and inversion word line IWLG and the second group of lines can include the ground select line GSL, the dummy word lines DWLG 1 , DWLS 0 , DWLS 2 , the word lines WL 0 , WL 2 , WL 4 , . . . , WL 14 , WL 16 , WL 18 , WL 20 , . . . , WL 30 , and the inversion word line IWLS.
Referring back to FIG. 4B , the memory block 401 includes two metal routing layers ML 3 , ML 4 to route the first group of lines and the second group of lines respectively. For example, the two metal routing layers ML 3 , ML 4 can be used as global word lines that are coupled between a control unit (e.g., a row decoder, a column decoder, or a voltage supplier) and word lines. In some implementations, the metal layers ML 3 , ML 4 are coupled to word lines, string select lines, or global source lines to route signals from/to the word lines, the string select lines, or the global source lines. In some implementations, the first group of lines are coupled to word lines through word line pads, e.g., the word line pads 430 , 450 , that are coupled to one or more memory cells in the array area 420 . That is, the first group of lines are not directly coupled to memory cells in the array area 420 , but coupled to the memory cells through the word line pads 430 , 450 .
In some implementations, with reference to FIG. 4B , the first group of lines can route signals from a control unit, e.g., a row decoder, a column decoder, or a voltage supplier, to word lines through the first word line pad 430 . For example, the first route can include a metal line 449 that is formed in the third metal layer ML 3 , a first contact 476 , a first metal post 466 that is formed in the second metal layer ML 2 , a second contact 474 , a second metal post 456 that is formed in the first metal layer ML 1 , and a third contact 472 . In this example, when the control unit provides a signal, e.g., a voltage, the signal is transferred through the metal line 449 , the first contact 476 , the first metal post 466 , the second contact 474 , the second metal post 456 , and the third contact 472 to a word line of word lines 411 that is coupled to the third contact 472 . The signal is transferred through the word line to a gate of a transistor to which the word line is coupled. In some implementations, the word line that is coupled to the third contact 472 can be one of the first group of lines described above.
›DETAILED DESCRIPTION · 7 of 9
In this example, the signal is also transferred from the control unit through the metal line 449 , a fourth contact 497 , a first portion 462 of the second metal layer ML 2 , a detouring portion 463 of the second metal layer ML 2 , and a second portion 461 of the second metal layer ML 2 , a fifth contact 499 , and a metal line 441 that is formed in the third metal layer ML 3 . The metal line 441 that is formed in the third metal layer ML 3 (the other metal routing layer in the memory block 401 ) can be extended to another memory block that is adjacent to the memory block 401 . In some implementations, the contacts 476 , 474 , 472 , 497 , 499 can include one or more conductive materials, e.g., metal or polysilicon.
In some implementations, with reference to FIG. 4C , the second group of lines can route signals from a control unit, e.g., a row decoder, a column decoder, or a voltage supplier, to word lines 412 through the second word line pad 450 . For example, the second route can include a metal line 457 that is formed in the fourth metal layer ML 4 , a first contact 477 , a first metal post 445 that is formed in the third metal layer ML 3 , a second contact 475 , a second metal post 465 that is formed in a second metal layer ML 2 , a third contact 473 , a third metal post 455 that is formed in a first metal layer ML 1 , and a fourth contact 471 . In this example, when the control unit provides a signal, e.g., a voltage, the signal is transferred through the metal line 457 that is formed in the fourth metal layer ML 4 (one of the metal routing layers in the memory block 401 ), the first contact 477 , the first metal post 445 , the second contact 475 , the second metal post 465 , the third contact 473 , the third metal post 455 , and the fourth contact 471 to a word line of the word lines 412 that is coupled to the fourth contact 471 . The signal is transferred through the word line to a gate of a transistor to which the word line is coupled. In some implementations, the word line that is coupled to the fourth contact 471 can be one of the second group of lines described above. In some implementations, the contacts 477 , 475 , 473 , 471 can include one or more conductive materials, e.g., metal or polysilicon.
With reference to FIGS. 4B and 4C , the second metal layer ML 2 is further from the word lines 411 , 412 than the first metal layer ML 1 . However, a level of a metal layer is not limited to the examples illustrated in FIGS. 4B and 4C . The metal layers ML 1 , ML 2 can be located at any suitable level in the memory block 401 for various design purposes. In other words, the “first” and “second” can be labels for the different metal layers, and need not refer to their ordinal position within a stack of metal layers.
With reference to FIGS. 4B, 4D, and 4E , since a portion of the third metal layer ML 3 is used as the post 445 for the second route, the first route is discontinuous in the third metal layer ML 3 . Thus, the second metal layer ML 2 can be used to connect the discontinuous portion of the third metal layer ML 3 . That is, as descried above, the discontinuous portion of the metal line 449 is routed to the second metal layer ML 2 through the fourth contact 497 . Since a portion of the second metal layer ML 2 is used as the post 465 for the second route, the first route is discontinuous in the second metal layer ML 2 again. Thus, the detouring portion 463 that is formed in the second metal layer ML 2 is used to route the first portion 462 of the second metal layer ML 2 to the second portion 461 of the second metal layer ML 2 . The second portion 461 of the second metal layer ML 2 is routed back to the third metal layer ML 3 through the contact 499 . In this example, the detouring portion 463 is formed at the second metal layer ML 2 rather than the third metal layer ML 3 to reserve more room in the third metal layer ML 3 such that the third metal layer ML 3 can be used for other routing. In some implementations, a detouring portion can be formed at the third metal layer ML 3 . Thus, the detouring portion at the third metal layer ML 3 couples the discontinuous portion of the metal line 442 to the metal line 441 .
In some implementations, a different metal layer in the memory block 401 can be used for detouring. For example, to save back end of line (BEOL) layers, two metal routing layers ML 2 , ML 3 can used as global word lines that are coupled between a control unit (e.g., a row decoder, a column decoder, or a voltage supplier) and word lines. In this example, a first metal layer ML 1 can be used to connect the discontinuous portion of the third metal layer ML 3 . That is, the discontinuous portion of the metal line 449 in the third metal layer ML 3 is routed to the first metal layer ML 1 through a first post in the second metal layer ML 2 . The first post in the second metal layer ML 2 couples the discontinuous portion of the metal line 449 to a first portion of the first metal layer ML 1 . Since a portion 455 of the first metal layer ML 1 is used as the post 455 for the second route, the first route is discontinuous in the first metal layer ML 1 . Thus, a detouring portion similar to the detouring portion 463 can be used to route the first portion of the first metal layer ML 1 to a second portion of the first metal layer ML 1 . The second portion of the first metal layer ML 1 is routed back to the third metal layer ML 3 through a second post in the second metal layer ML 2 . That is, the second post in the second metal layer ML 2 couples the second portion of the first metal layer ML 1 to the metal line 441 in the third metal layer ML 3 .
In some other implementations, where two metal routing layers ML 2 , ML 3 are used as global word lines that are coupled between a control unit (e.g., a row decoder, a column decoder, or a voltage supplier) and word lines, a first metal layer ML 1 can be used to connect the discontinuous portion of the second metal layer ML 2 . In this example, the discontinuous portion of the metal line of the second metal layer ML 2 is routed to the first metal layer ML 1 . That is, the discontinuous portion of the second metal layer ML 2 is coupled to a first portion of the first metal layer ML 1 . As described above, since the portion 455 of the first metal layer ML 1 is used as the post 455 for the second route, the first route is discontinuous in the first metal layer ML 1 . Thus, a detouring portion similar to the detouring portion 463 can be used to route the first portion of the first metal layer ML 1 to a second portion of the first metal layer ML 1 . The second portion of the first metal layer ML 1 is routed back to the second metal layer ML 2 .
›DETAILED DESCRIPTION · 8 of 9
In some implementations, the layout of the fourth metal layer ML 4 can be physically aligned with the third metal layer ML 3 . In some implementations, the pitch of the metal line 457 can be the same as the pitch of the metal lines 441 , 449 . These features can simplify the manufacturing process. In addition, by matching the pitches, wire connection between two different metal layers can be easy.
In some implementations, the word lines 411 coupled to the control unit through the first pad 430 in FIG. 4B can be the word lines WL 31 -WL 16 in FIG. 2 and the word lines 412 coupled to the control unit through the second pad 450 in FIG. 4C can be the word lines WL 15 -WL 0 in FIG. 2 . In some implementations, the word lines 411 coupled to the control unit through the first pad 430 in FIG. 4B can be the word lines WL 0 -WL 15 in FIG. 2 and the word lines 412 coupled to the control unit through the second pad 450 in FIG. 4C can be the word lines WL 16 -WL 31 in FIG. 2 . However, the routing combination through the first pad 430 and the second pad 450 is not limited to the implantations described above, any suitable routing combinations can be used.
By implementing two metal layers ML 3 , ML 4 in the memory block 401 , the word line pitch for the memory block 401 does not become small even if the memory block 401 includes fewer string select lines than the memory block 301 . With reference to FIGS. 3A and 3B , the memory block 301 includes 8 string select lines, one ground select line (Although FIGS. 3A and 3B shows 9 ground select lines, they are counted once because all ground select lines are coupled to the same ground), one common source line, 32 word lines, three dummy word lines (in this example, the memory block 301 includes three pairs of dummy word lines where one pair of dummy word lines share a common gate. Thus, to calculate an average pitch, three word lines are counted. However, in some implementations, where dummy word lines do not share a common gate, different calculation methods can be used to calculate an average pitch), and two inversion word lines (in this example, the memory block 301 includes one pair of inversion word lines sharing a common gate. Thus, to calculate an average pitch, one word line is counted. However, in some implementations, where inversion word lines do not share a common gate, different calculation methods can be used to calculate an average pitch). Thus, the memory block 301 includes 47 lines. Assuming a length L 1 of the memory block 301 is 7.26 um, an average pitch is:
7.26/47=0.15 um.
With reference to FIG. 4A , the memory block 401 includes 4 string select lines, one ground select line, one common source line, 32 word lines, three dummy word lines, and two inversion word lines. Thus, the memory block 401 includes 43 lines. Assuming a length L 2 of the memory block 401 is 3.74 um, an average pitch is:
3.74×2/43=0.17 um.
In this formula, since the memory block 401 includes dual metal layers for routing as described above with reference to FIG. 4B , the length L 2 of the memory block 401 is doubled. As a result, by implementing two metal routing layers, the average pitch for the memory block 401 does not become small even if the memory block 401 includes less string select lines than the memory block 301 .
The disclosed and other examples can be implemented as one or more computer program products, for example, one or more modules of computer program operations encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The implementations can include single or distributed processing of algorithms. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A system may encompass all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. A system can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed for execution on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communications network.
The processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform the functions described herein. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
›DETAILED DESCRIPTION · 9 of 9
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive operations and data from a read only memory or a random access memory or both. The essential elements of a computer can include a processor for performing operations and one or more memory devices for storing operations and data. Generally, a computer can also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program operations and data can include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
While this document may describe many specifics, these should not be construed as limitations on the scope of an invention that is claimed or of what may be claimed, but rather as descriptions of features specific to particular embodiments. Certain features that are described in this document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination in some cases can be excised from the combination, and the claimed combination may be directed to a sub-combination or a variation of a sub-combination. Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results.
Only a few examples and implementations are disclosed. Variations, modifications, and enhancements to the described examples and implementations and other implementations can be made based on what is disclosed.
Claims as granted
18 claimsLog in to read the claims of this application.
Log in to unlockClassifications
10 codes- G11C16/10
- G11C11/56
- G11C16/04
- H10B43/35
- H10B43/27
- H10B43/10
- H10B41/35
- H10B41/10
- H10B41/27
- H10B10/00
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock