Semiconductor devices, such as memories, field programmable gate arrays, central processing units, graphics processing units, application-specific integrated circuits, and other types of integrated circuits, are often manufactured on a semiconductor wafer (or other material). The various layers that constitute an integrated circuit are patterned using a photolithographic process. A reticle includes one or more copies of an image of an integrated circuit die (such as a memory die). For simplicity, an integrated circuit die will be referred to in the remaining discussion as a “die.”
The reticle is used to pattern a layer on a semiconductor wafer, which is typically mounted on a high-precision movable stage. The pattern on the reticle is transferred to the wafer using an optical printing system. The stage is then moved to the next position to be exposed, and this process repeats until the entire wafer is patterned. Each exposure of the reticle is called a “shot,” and the arrangement of shots on the wafer is called a “shot map.” A die typically has a rectangular shape, and the wafer typically is round. As a result, during the patterning process, some of die will have a portion of the die off the wafer edge. Such incomplete die are typically referred to as a partial die.
For example,
In the past, partial memory die such as partial die 102a, 102b, 102c and 102d of
Like-numbered elements refer to common components in the different figures.
Technology is described for increasing a number of partial die that can be successfully used as partially operable die. In particular, a reticle is provided that is configured to increase a number of partial die that can be successfully used as partially operable die.
In an embodiment, the reticle includes a first reticle portion and a second reticle portion. In an embodiment, each reticle portion includes a die that includes a first die region and a second die region. In an embodiment, a first type of partial die includes a partial first die region and a complete second die region, and a second type of partial die includes a complete first die region and a partial second die region. In an embodiment, the first type of partial die can be successfully used as a partially operable die, and the second type of partial die cannot be successfully used as a partially operable die.
In an embodiment, the first reticle portion and the second reticle portion are configured to increase a number of the first type of partial die and decrease a number of the second type of partial die. In an embodiment, the second reticle portion is a mirrored image of the first reticle portion. In another embodiment, the second reticle portion is a mirrored and inverted image of the first reticle portion. In yet another embodiment, the second reticle portion is a same image of the first reticle portion.
In an embodiment, the first die region includes multiple arrays of circuits and/or duplicate circuits, and second die region includes circuits connected to circuits in the first die region. In embodiments, each die includes one or more of a memory device, a field programmable gate array (FPGA), a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), or other type of integrated circuit that includes multiple arrays of circuits and/or duplicate circuits. For simplicity, the remaining discussion will describe the technology for die that include memory circuits. Persons of ordinary skill in the art will understand that the described technology also may be used with other type of circuit, such as described above.
In an embodiment, the first die region includes portions of a substrate, and memory blocks that include memory cells, NAND strings, bit lines, word lines, select lines and dielectric regions, and the second die region comprises support circuits connected to circuits in the first die region.
Memory array 204 is addressable by word lines via a row decoder 210 and by bit lines via a column decoder 212. Read/write circuits 208 include multiple sense blocks 214 including SB1, SB2, . . . , SBp (sensing circuitry) and allow a page of memory cells to be read or programmed in parallel.
In some memory systems, a controller 216 is included in the same memory device 200 (e.g., a removable storage card) as the one or more memory die 202. However, in other systems, controller 216 can be separated from memory die 202. In some embodiments controller 216 will be on a different die than memory die 202. In some embodiments, one controller 216 will communicate with multiple memory die 202. In other embodiments, each memory die 202 has its own controller. Commands and data are transferred between a host 218 and controller 216 via a data bus 220, and between controller 216 and the one or more memory die 202 via lines 222. In one embodiment, memory die 202 includes a set of input and/or output (I/O) pins that connect to lines 222.
Memory array 204 may include one or more arrays of non-volatile memory cells including a 3D array. Memory array 204 may include a monolithic three dimensional memory structure in which multiple memory levels are formed above (and not in) a single substrate, such as a wafer, with no intervening substrates. Memory array 204 may include any type of non-volatile memory that is monolithically formed in one or more physical levels of arrays of memory cells having an active area disposed above a silicon substrate. Memory array 204 may be in a non-volatile memory device having circuitry associated with the operation of the memory cells, whether the associated circuitry is above or within the substrate.
Control circuitry 206 cooperates with the read/write circuits 208 to perform memory operations (e.g., erase, program, read, and others) on memory array 204, and includes a state machine 224, an on-chip address decoder 226, and a power control module 228. State machine 224 provides die-level control of memory operations. In one embodiment, state machine 224 is programmable by software. In other embodiments, state machine 224 does not use software and is completely implemented in hardware (e.g., electrical circuits). In one embodiment, control circuitry 206 includes registers, ROM fuses and other storage devices for storing default values such as base voltages and other parameters.
On-chip address decoder 226 provides an address interface between addresses used by host 218 or controller 216 to the hardware address used by row decoder 210 and column decoder 212. Power control module 228 controls the power and voltages supplied to the word lines and bit lines during memory operations. Power control module 228 may include charge pumps for creating voltages. Sense blocks 214 include bit line drivers.
State machine 224 and/or controller 216, including various combinations of one or more of row decoder 210, column decoder 212, on-chip address decoder 226, power control module 228, sense blocks 214, and read/write circuits 208, can be considered one or more control circuits (or a managing circuit) that performs the functions described herein. The one or more control circuits can include hardware only or a combination of hardware and software (including firmware). For example, a controller programmed by firmware to perform the functions described herein is one example of a control circuit.
The (on-chip or off-chip) controller 216 (which in one embodiment is an electrical circuit) may include one or more ROM 230a, RAM 230b, processors 230c, a memory interface 230d and a host interface 230e, all of which are interconnected. One or more processors 230c are one example of a control circuit. Other embodiments can use state machines or other custom circuits designed to perform one or more functions.
The storage devices (ROM 230a, RAM 230b) stored code (software) such as a set of instructions (including firmware), and one or more processors 230c are operable to execute the set of instructions to provide the functionality described herein. Alternatively or additionally, one or more processors 230c can access code from a storage device in memory array 204, such as a reserved area of memory cells connected to one or more word lines.
RAM 230b can be used to store data for controller 216, including caching program data. Memory interface 230d, in communication with ROM 230a, RAM 230b and processor 230c, is an electrical circuit that provides an electrical interface between controller 216 and one or more memory die 202. For example, memory interface 230d can change the format or timing of signals, provide a buffer, isolate from surges, latch I/O, etc.
One or more processors 230c can issue commands to control circuitry 206 (or any other component of memory die 202) via memory interface 230d. In one embodiment, one or more processors 230c can access code from ROM 230a or RAM 230b to receive a request to read from host 218 that includes an operation limitation, perform a read process on the memory die 202 within the operation limitation and return data to host 218 from the read process that includes errors in response to the request to read. Host interface 230e provides an electrical interface with data bus 220 to receive commands, addresses and/or data from host 218 to provide data and/or status to host 218.
In one example memory system 200, memory array 204 includes a three dimensional memory structure that includes flash memory vertical NAND strings with charge-trapping material. However, other (2D and 3D) memory structures also can be used with the technology described herein. For example, floating gate memories (e.g., NAND-type and NOR-type flash memory), ReRAM cross-point memories, magnetoresistive memory (e.g., MRAM), and phase change memory (e.g., PCRAM) can also be used.
One example of a ReRAM cross point memory includes reversible resistance-switching elements arranged in cross point arrays accessed by X lines and Y lines (e.g., word lines and bit lines). In another embodiment, the memory cells may include conductive bridge memory elements. A conductive bridge memory element may also be referred to as a programmable metallization cell. A conductive bridge memory element may be used as a state change element based on the physical relocation of ions within a solid electrolyte. In some cases, a conductive bridge memory element may include two solid metal electrodes, one relatively inert (e.g., tungsten) and the other electrochemically active (e.g., silver or copper), with a thin film of the solid electrolyte between the two electrodes. As temperature increases, the mobility of the ions also increases causing the programming threshold for the conductive bridge memory cell to decrease. Thus, the conductive bridge memory element may have a wide range of programming thresholds over temperature.
Magnetoresistive memory (MRAM) stores data by magnetic storage elements. The elements are formed from two ferromagnetic plates, each of which can hold a magnetization, separated by a thin insulating layer. One of the two plates is a permanent magnet set to a particular polarity; the other plate's magnetization can be changed to match that of an external field to store memory. This configuration is known as a spin valve and is the simplest structure for an MRAM bit. A memory device is built from a grid of such memory cells. In one embodiment for programming, each memory cell lies between a pair of write lines arranged at right angles to each other, parallel to the cell, one above and one below the cell. When current is passed through them, an induced magnetic field is created.
Phase change memory (PCRAM) exploits the unique behavior of chalcogenide glass. One embodiment uses a GeTe—Sb2Te3 super lattice to achieve non-thermal phase changes by simply changing the co-ordination state of the Germanium atoms with a laser pulse (or light pulse from another source). Therefore, the doses of programming are laser pulses. The memory cells can be inhibited by blocking the memory cells from receiving the light. Note that the use of “pulse” in this document does not require a square pulse, but includes a (continuous or non-continuous) vibration or burst of sound, current, voltage light, or other wave.
A person of ordinary skill in the art will recognize that the technology described herein is not limited to a single specific memory structure, but covers many relevant memory structures within the spirit and scope of the technology as described herein and as understood by one of ordinary skill in the art.
A flash memory controller can have various functionality in addition to the specific functionality described herein. For example, the flash memory controller can manage the read and programming processes, format the flash memory to ensure the memory is operating properly, map out bad flash memory cells, and allocate spare memory cells to be substituted for future failed cells. Some part of the spare memory cells can be used to hold firmware to operate the flash memory controller and implement other features.
In operation, when a host needs to read data from or write data to the flash memory, the host will communicate with the flash memory controller. If the host provides a logical address to which data is to be read/written, the flash memory controller can convert the logical address received from the host to a physical address in the flash memory. (Alternatively, the host can provide the physical address).
The flash memory controller also can 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 controller 216 and non-volatile memory die 202 may be any suitable memory interface, such as Toggle Mode 200, 400, or 800. In one embodiment, memory system 200 may be a card based system, such as a secure digital (SD) or a micro secure digital (micro-SD) card that can be in or connected to cellular telephones, computers, servers, smart appliances, digital cameras, etc. In an alternate embodiment, memory system 200 may be part of an embedded memory system. In another example, memory system 200 may be in the form of a solid state disk (SSD) drive (having one or, more memory die 202) installed in or connected to a personal computer or server. Examples of hosts are cellular telephones, computers, servers, smart appliances, digital cameras, etc.
In some embodiments, non-volatile memory system 200 includes a single channel between controller 216 and non-volatile memory die 202, however, the subject matter described herein is not limited to having a single memory channel. For example, in some memory system architectures, 2, 4, 8 or more channels may exist between the controller and a memory die, depending on controller capabilities. In any of the embodiments described herein, more than a single channel may exist between the controller and the memory die, even if a single channel is shown in the drawings.
As depicted in
The components of controller 216 depicted in
For example, each module may include an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), a circuit, a digital logic circuit, an analog circuit, a combination of discrete circuits, gates, or any other type of hardware or combination thereof Alternatively or in addition, each module may include software stored in a processor readable device (e.g., memory) to program a processor or circuit for controller 216 to perform the functions described herein. The architecture depicted in
Referring again to modules of controller 216, a buffer manager/bus control 306 manages buffers in random access memory (RAM) 308 and controls the internal bus arbitration of controller 216. A read only memory (ROM) 310 stores system boot code. Although illustrated in
Front end module 302 includes a host interface 312 and a physical layer interface (PHY) 314 that provide the electrical interface with the host or next level storage controller. The choice of the type of host interface 312 can depend on the type of memory being used. Examples of host interfaces 312 include, but are not limited to, SATA, SATA Express, SAS, Fibre Channel, USB, PCIe, and NVMe. Host interface 312 typically facilitates transfer for data, control signals, and timing signals.
Back end module 304 includes an error correction code (ECC) engine 316 (electrical circuit, software or combination of circuit and software) that encodes the data bytes received from the host, and decodes and error corrects the data bytes read from the non-volatile memory. A command sequencer 318 generates command sequences, such as program/read/erase command sequences, to be transmitted to non-volatile memory die 202. A RAID (Redundant Array of Independent Dies) module 320 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 200. In some cases, RAID module 320 may be a part of ECC engine 316. Note that the RAID parity may be added as one or more extra die as implied by the common name, but it may also be added within the existing die, e.g. as an extra plane, or extra block, or extra word lines within a block.
A memory interface 322 provides the command sequences to non-volatile memory die 202 and receives status information from non-volatile memory die 202. In one embodiment, memory interface 322 may be a double data rate (DDR) interface, such as a Toggle Mode 200, 400, or 800 interface.
A flash control layer 324 (firmware and/or hardware, such as an electrical circuit) controls the overall operation of back end module 304. Flash control layer 324 includes a program manager that manages the programming processes described below. The program manager can be implemented as a dedicated electrical circuit or via software (e.g., firmware).
Additional components of memory system 200 illustrated in
In alternative embodiments, one or more of physical layer interface 314, RAID module 320, media management layer 326 and buffer management/bus controller 306 are optional components that are not necessary in controller 216.
Flash translation layer 330 manages the translation between logical addresses and physical addresses. Logical addresses are used to communicate with the host. Physical addresses are used to communicate with the memory die. Flash translation layer 330 can be a dedicated electrical circuit or firmware.
Controller 216 may interface with one or more memory die 202. In one embodiment, controller 216 and multiple memory die 202 (together comprising memory system 200) implement a SSD, which can emulate, replace or be used instead of a hard disk drive inside or connected to a host, as a NAS device, etc. Additionally, the SSD need not be made to emulate a hard drive.
In some embodiments, each plane is divided into a large number of blocks (e.g., blocks 0-1023, or another amount). Each block includes many memory cells. In one embodiment, the block is the unit of erase. That is, each block contains the minimum number of memory cells that are erased together. Other units of erase also can be used.
In one embodiment, a block contains a set of NAND strings which are accessed via bit lines (e.g., bit lines BL0-BL69,623) and word lines (WL0, WL1, WL2, WL3).
One terminal of the NAND string is connected to a corresponding bit line via a drain select gate (connected to select gate drain line SGD), and another terminal is connected to a source line via a source select gate (connected to select gate source line SGS). Although
Each block is typically divided into a number of pages. In one embodiment, a page is a unit of programming. Other units of programming also can be used. One or more pages of data are typically stored in one row of memory cells. For example, one or more pages of data may be stored in memory cells connected to a common word line. A page includes user data and overhead data (also called system data). Overhead data typically includes header information and Error Correction Codes (ECC) that have been calculated from the user data of the sector. The controller (or other component) calculates the ECC when data is being programmed into the array, and also checks it when data is being read from the array.
Missing portion 510 can include portions of the substrate, portions of memory blocks that include memory cells, portions or entire NAND strings, portions or entire bit lines, portions or entire word lines, portions or entire select lines and dielectric regions. In some embodiments, partial first die region 504′ includes multiple blocks. Some of the blocks in partial first die region 504′ are complete blocks, meaning that they are not missing any components.
Some of the blocks in partial first die region 504′ are incomplete blocks, meaning that they are missing components. The blocks missing components are physically partial memory blocks because they are missing silicon components corresponding to silicon components found in complete memory blocks. For example, the physically partial memory blocks (incomplete blocks) are missing non-volatile memory cells, bit lines, portions of bit lines, word lines, portions of word line and portions of substrate corresponding to respective memory cells, bit lines, portions of bit lines, word lines, portions of word line and portions of substrate found in complete memory blocks.
First partial memory die 508 includes a complete second die region 506 of
In an embodiment, partial second die region 506′ and missing portion 514 each include portions of support circuits connected to the circuits in first die region 504. In an embodiment, partial second die region 506′ and missing portion 514 each include portions of one or more control circuits for successfully erasing, programming and reading memory blocks. In an embodiment, partial second die region 506′ and missing portion 514 include portions of control circuits 206, read/write circuits 208, row decoder 210, and column decoder 212 of
First die region 504 in second partial memory die 512 includes portions of the substrate, and complete memory blocks that include memory cells, NAND strings, bit lines, word lines, select lines and dielectric regions. In an embodiment, the portions of support circuits in partial second die region 506′ cannot be used to successfully erase, program and read complete memory blocks in first die region 504. That is, without the portions of support circuits in missing portion 514, partial second die region 506′ cannot be used to successfully erase, program and read complete memory blocks in first die region 504. Thus, in contrast to first partial memory die 508 of
First partial memory die 610a and 610b each include a partial first die region 606′ and a complete second die region 608, and are each missing portions of first die region 606 that were not printed (or otherwise fabricated) on wafer 604. In an embodiment, first partial memory die 610a and 610b each can be successfully used as a partially operable memory die.
Second partial memory die 612a and 612b each include a complete first die region 606 and a partial second die region 608′, and are each missing portions of second die region 608 that were not printed (or otherwise fabricated) on wafer 604. In an embodiment, second partial memory die 612a and 612b cannot be successfully used as a partially operable memory die. As such, second partial memory die 608a and 608b typically are discarded.
Technology is described for increasing a number first partial die (such as first partial memory die 610a and 610b of
Each die 702 includes a first die region 708 and a second die region 710. The characters “a” and “b” shown in first die region 708 and second die region 710, respectively, are a simplified representation of an alignment of features in each region. In an embodiment, first die region 708 includes portions of the substrate, and memory blocks that include memory cells, NAND strings, bit lines, word lines, select lines and dielectric regions. In an embodiment, second die region 710 includes support circuits connected to the circuits in first die region 708. Support circuits can include one or more circuits that may be referred to as a control circuits for successfully erasing, programming and reading memory blocks. In an embodiment, the support circuits in second die region 710 include control circuits 206, read/write circuits 208, row decoder 210, and column decoder 212 of
First partial memory die 716a, 716b, 716c and 716d each include a partial first die region 708′ and a second die region 710, and are each missing portions of first die region 708 that were not printed (or otherwise fabricated) on wafer 714. In an embodiment, first partial memory die 716a, 716b, 716c and 716d each can be successfully used as a partially operable memory die. Wafer 714 includes no second partial memory die that include partial second die region 710. Thus, compared with wafer 604 of
Each die 802 includes a first die region 808 and a second die region 810. The characters “a” and “b” shown in first die region 808 and second die region 810, respectively, are a simplified representation of an alignment of features in each region. In an embodiment, first die region 808 includes portions of the substrate, and memory blocks that include memory cells, NAND strings, bit lines, word lines, select lines and dielectric regions. In an embodiment, second die region 810 includes support circuits connected to the circuits in first die region 808. Support circuits can include one or more circuits that may be referred to as a control circuits for successfully erasing, programming and reading memory blocks. In an embodiment, the support circuits in second die region 810 include control circuits 206, read/write circuits 208, row decoder 210, and column decoder 212 of
First partial memory die 816a, 816b, 816c and 816d each include a partial first die region 808′ and a second die region 810, and are each missing portions of first die region 808 that were not printed (or otherwise fabricated) on wafer 814. In an embodiment, first partial memory die 816a, 816b, 816c and 816d each can be successfully used as a partially operable memory die. Wafer 814 includes no second partial memory die that include partial second die region 810. Thus, compared with wafer 604 of
Each die 902 includes a first die region 908 and a second die region 910. The characters “a” and “b” shown in first die region 908 and second die region 910, respectively, are a simplified representation of an alignment of features in each region. In an embodiment, first die region 908 includes portions of the substrate, and memory blocks that include memory cells, NAND strings, bit lines, word lines, select lines and dielectric regions. In an embodiment, second die region 910 includes support circuits connected to the circuits in first die region 908. Support circuits can include one or more circuits that may be referred to as a control circuits for successfully erasing, programming and reading memory blocks. In an embodiment, the support circuits in second die region 910 include control circuits 206, read/write circuits 208, row decoder 210, and column decoder 212 of
First partial memory die 916a, 916b, 916c and 916d each include a partial first die region 908′ and a second die region 910, and are each missing portions of first die region 908 that were not printed (or otherwise fabricated) on wafer 914. In an embodiment, first partial memory die 916a, 916b, 916c and 916d each can be successfully used as a partially operable memory die. Wafer 914 includes no second partial memory die that include partial second die region 910. Thus, compared with wafer 604 of
Although the description above described die 702, 802 and 902 as memory die, persons of ordinary skill in the art will understand that die 702, 802 and 902 alternatively may be other types of integrated circuits that have a first die region 708, 808 and 908, respectively, that includes multiple arrays of circuits and/or duplicate circuits, such as FPGAs, CPUs, GPUs, ASICs, or other similar integrated circuit. For example, a partial die 4-core CPU may be used as a 3-core CPU, a partial die dual-core CPU may be used as a single-core CPU, and so on.
Thus, as described above, an apparatus is provided that includes a reticle including a die, the reticle configured to increase a number of partial die that can be successfully used as partially operable die.
One embodiment includes an apparatus is provided that includes a reticle including a die, the reticle configured to reduce a number of partial die that cannot be successfully used as partially operable die.
One embodiment includes a method including forming a reticle that includes a die having a first die region and a second die region, and forming a shot map that includes an arrangement of shots of the reticle on a wafer. The shot map includes a partial die. A portion of the first die region is cut off in the partial die and no portion of the second die region is cut off in the partial die.
For purposes of this document, each process associated with the disclosed technology may be performed continuously and by one or more computing devices. Each step in a process may be performed by the same or different computing devices as those used in other steps, and each step need not necessarily be performed by a single computing device.
For purposes of this document, reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” or “another embodiment” may be used to described different embodiments and do not necessarily refer to the same embodiment.
For purposes of this document, a connection can be a direct connection or an indirect connection (e.g., via another part).
For purposes of this document, the term “set” of objects may refer to a “set” of one or more of the objects.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.