The present technology relates to non-volatile memory.
Semiconductor memory has become increasingly popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices. Electrically Erasable Programmable Read Only Memory (EEPROM) and flash memory are among the most popular non-volatile semiconductor memories. With flash memory, also a type of EEPROM, the contents of the whole memory array, or of a portion of the memory, can be erased in one step, in contrast to the traditional, full-featured EEPROM.
Both the traditional EEPROM and the flash memory utilize a floating gate that is positioned above and insulated from a channel region in a semiconductor substrate. The floating gate is positioned between the source and drain regions. A control gate is provided over and insulated from the floating gate. The threshold voltage (Vth) of the transistor thus formed is controlled by the amount of charge that is retained on the floating gate. That is, the minimum amount of voltage that must be applied to the control gate before the transistor is turned on to permit conduction between its source and drain is controlled by the level of charge on the floating gate.
Typically, a program voltage Vpgm applied to the control gate during a program operation is applied as a series of pulses that increase in magnitude over time. The program voltage can be applied to a selected word line. In the periods between the program pulses, verify operations are carried out. That is, the programming level of each element of a group of storage elements being programmed in parallel is read between successive program pulses to determine whether it is equal to or greater than a verify level to which the element is being programmed. For arrays of multi-state flash memory elements, a verification step may be performed for each state of an element to determine whether the element has reached its data-associated verify level. For example, a multi-state memory element capable of storing data in four states may need to perform verify operations for three compare points.
However, one issue which continues to be problematic is data retention. The threshold voltages of storage elements which are programmed to respective target data states can subsequently change for various reasons. As a result, the data which is stored can become corrupted so that it cannot be accurately read back.
a depicts an example set of threshold voltage distributions for a set of four-state blocks of storage elements surrounded by erased blocks of storage elements in the pattern of
b depicts a pattern of randomly (R) programmed blocks surround by erased (E) state blocks.
a depicts an example set of threshold voltage distributions for a set of four-state blocks of storage elements surrounded by programmed blocks of storage elements in the pattern of
b depicts a pattern of randomly programmed blocks surround by quincunx (Q) pattern programmed blocks.
c depicts further details of a quincunx (Q) block in the pattern of
a depicts an example set of threshold voltage distributions for a set of eight-state blocks of storage elements surrounded by erased blocks of storage elements in the pattern of
b depicts an example set of threshold voltage distributions for a set of eight-state blocks of storage elements surrounded by programmed blocks of storage elements in the pattern of
a depicts a flip chip package which is surface mounted to a substrate using a solder reflow process.
b depicts a single die package which is surface mounted to a substrate using a solder reflow process.
c depicts a multiple die package which is surface mounted to a substrate using a solder reflow process.
a depicts threshold voltage distributions in an erased block of a four-state memory device in which the threshold voltage of erased storage elements is raised in preparation for a surface mounting process.
b depicts threshold voltage distributions in an erased block of an eight-state memory device in which the threshold voltage of erased storage elements is raised in preparation for a surface mounting process.
c depicts an example program pulse which is applied to erased storage elements to achieve the raised threshold voltage distributions of
A method and non-volatile storage system are provided in which the integrity of data which is preloaded into a non-volatile memory chip is maintained during a surface mounting process of the chip to a substrate.
It has been found that data retention in a non-volatile storage device is impacted by a surface mounting process in which the non-volatile storage device is mounted to a substrate such as a printed circuit board (PCB). Specifically, some blocks of the non-volatile storage device are commonly preloaded with data prior to the surface mounting process, while other blocks remain in an erased state. The threshold voltage of programmed storage elements can change during the surface mounting process and, in particular, during a solder reflow process in which heat is applied to the non-volatile storage device to solder it to the substrate. By temporarily programming the erased blocks to a higher state, in preparation for the surface mounting process, data retention is significantly improved. The temporarily programmed blocks are returned to the erased state following the surface mounting process, so that these blocks are available for use by an end user.
The techniques provided herein are suitable for use with non-volatile memory such as NAND flash memory, which connects multiple transistors in series between two select gates, in a NAND string.
The host 155 can be a controller of an electronic device, such as a cell phone or camera, in which the die 198 is installed, or of test equipment which is used during the surface mounting process, for instance.
The control circuitry 111 cooperates with the read/write circuits 165 to perform memory operations on the memory array 110. The control circuitry 110 includes a state machine 112, an on-chip address decoder 114, and a power control module 116. The state machine 112 provides chip-level control of memory operations. The on-chip address decoder 114 provides an address interface between that used by the host or a memory controller to the hardware address used by the decoders 130 and 160. The power control module 116 controls the power and voltages supplied to the word lines and bit lines during memory operations.
In some implementations, some of the components of
The controller 150 may include a storage location 152 which stores code which is executed to perform the functionality for preparing a non-volatile memory chip package for surface mounting to a substrate, as described herein. The storage location 152 may be considered to be an example of at least one processor readable storage device which has processor readable code embodied thereon for programming one or more processors, such as controller 150, to perform a computer implemented method for surface mounting a non-volatile memory chip package to a substrate as described herein. Alternatively, or additionally, the host 155 and/or control circuitry 111 may have a non-volatile storage location which stores code which is executed to perform the functionality described herein. For example, the host 155 may have a storage location 157 which stores code which is executed by a processor 158.
In another embodiment, a non-volatile memory system uses dual row/column decoders and read/write circuits. Access to the memory array 110 by the various peripheral circuits is implemented in a symmetric fashion, on opposite sides of the array, so that the densities of access lines and circuitry on each side are reduced by half. Thus, the row decoder is split into two row decoders and the column decoder into two column decoders. Similarly, the read/write circuits are split into read/write circuits connecting to bit lines from the bottom and read/write circuits connecting to bit lines from the top of the array 110. In this way, the density of the read/write modules is essentially reduced by one half.
In other possible embodiments, discussed further below, multiple die are arranged in a stacked manner in a common package. Typically, one controller such as controller 150 is provided for the set of die.
In the example provided, storage elements are connected in series to form a NAND string. One terminal of the NAND string is connected to a corresponding bit line via a drain select gate (connected to select gate drain lines SGD), and another terminal is connected to c-source via a source select gate (connected to select gate source line SGS).
In another embodiment, referred to as an odd-even architecture (architecture 200), the bit lines are divided into even bit lines (BLe) and odd bit lines (BLo). In the odd/even bit line architecture, storage elements along a common word line and connected to the odd bit lines are programmed at one time, while storage elements along a common word line and connected to even bit lines are programmed at another time. In each block, in this example, there are 8,512 columns that are divided into even columns and odd columns, and sixty-four storage elements are shown connected in series in a column to form a NAND string.
During one configuration of read and program operations, 4,256 storage elements are simultaneously selected. The storage elements selected have the same word line and the same kind of bit line (e.g., even or odd). Therefore, 532 bytes of data, which form a logical page, can be read or programmed simultaneously, and one block of the memory can store at least eight logical pages (four word lines, each with odd and even pages). For multi-state storage elements, when each storage element stores two bits of data, where each of these two bits are stored in a different page, one block stores sixteen logical pages. Other sized blocks and pages can also be used.
For either the ABL or the odd-even architecture, storage elements can be erased by raising the p-well to an erase voltage (e.g., 20 V) and grounding the word lines of a selected block. The source and bit lines are floating. Erasing can be performed on the entire memory array, separate blocks, or another unit of the storage elements which is a portion of the memory device. Electrons are transferred from the floating gates of the storage elements to the p-well region so that the Vth of the storage elements becomes negative.
a depicts an example set of threshold voltage distributions for a set of four-state blocks of storage elements surrounded by erased blocks of storage elements in the pattern of
The distribution represents eight blocks with a random pattern which were surrounded by 248 erased state blocks. A randomly programmed block, in this example, includes storage elements which are randomly programmed to the A, B, or C state, and is meant to represent preloaded content/data in the memory device.
Regarding the mechanism for Vth shifting, it is believed that groups of erased blocks create a channel which allows charges to move and affect user data. The programmed storage elements have highly positive states which can attract mobile electrons that move in the circuitry. The high temperatures of a surface mounting process cause the electrons to be channeled by these groups of erased blocks so that they affect the user data. User data near erased blocks is most affected.
Generally, a worst case shift in Vth occurs for one or more programmed blocks surrounded by a number of erased blocks. Typically, the presence of more than four erased blocks together can affect user data. The worst case is to have one programmed block surrounded by erased blocks on both sides in the same plane. A plane refers to a well in a memory chip. In some cases, more than one plane is used in a chip. Moreover, the problem will be worse for smaller, more scaled, devices since the blocks will be closer together.
a also depicts three read reference voltages, Vra, Vrb and Vrc, which are used for reading data from storage elements. By testing whether the threshold voltage of a given storage element is above or below each read level, the system can determine the state, e.g., programming condition, the storage element is in. Three verify reference voltages, Vva, Vvb and Vvc, are also provided. When programming storage elements to state A, B or C, the system will test whether those storage elements have a threshold voltage greater than or equal to Vva, Vvb or Vvc, respectively.
The problem of altered Vth distributions can occur in a single die package or on multiple stacked dice packages. In particular, the threshold voltage (Vth) distribution shift of a block is strongly dependent on the data state of multiple neighboring blocks. Blocks near multiple erased blocks showed a higher Vth distribution shift, believed to be caused by a global charge effect phenomenon. Shifting of the threshold voltage distribution of the A and B state storage elements was relatively minor compared to the shifting of the C state. This failure mode represents significant data retention issues for preloaded content, e.g., data which is loaded into the memory device prior to surface mounting. In many devices, the firmware architecture leaves all unused blocks in an erased state, which is the worst case for data retention failures during surface mounting. To overcome the Vth shift issue described above, the blocks which would otherwise be in an erased state on the memory device should be programmed to higher Vth levels prior to surface mounting. One possible approach is to program all or nearly all of the storage elements in each unused block. Another possible approach is to program some of the storage elements in a block in a pattern so that the remaining erased blocks are arranged in such a way that their effect on the preloaded data is minimized. This alignment is dependent on the memory technology and the firmware architecture, but may include: filling of all erased blocks, intelligent padding of the user data area, reducing the number of update blocks, control block position alignments, random update block selection, or others.
A straightforward and easily implemented solution is to temporarily raise the threshold voltages of storage elements in the erased blocks from an initial level such as the erase state level to higher levels before the surface mounting process. The higher levels can be at or near the highest data state, e.g., the state of highest potential. After heating occurs in the surface mounting process, and the device is cooled, the blocks whose threshold voltages were temporarily raised can be erased to allow normal operation. Because this solution operates at the physical level, it will work for all current technologies and firmware architectures, and is independent with regard to the formatting and the amount of content loaded to the memory device.
a depicts an example set of threshold voltage distributions for a set of four-state blocks of storage elements surrounded by programmed blocks of storage elements in the pattern of
c depicts further details of a quincunx (Q) block in the pattern of
a depicts an example set of threshold voltage distributions for a set of eight-state blocks of storage elements surrounded by erased blocks of storage elements in the pattern of
a also depicts seven read reference voltages, Vra, Vrb, Vrc, Vrd, Vre, Vrf and Vrg, which are used for reading data from storage elements. By testing whether the threshold voltage of a given storage element is above or below each read level, the system can determine the state, e.g., programming condition, the storage element is in. Seven verify reference voltages, Vva, Vvb, Vvc, Vvd, Vve, Vvf and Vvg are also provided. When programming storage elements to state A, B, C, D, E, F or G, the system will test whether those storage elements have a threshold voltage greater than or equal to Vva, Vvb, Vvc, Vvd, Vve, Vvf and Vvg, respectively.
b depicts an example set of threshold voltage distributions for a set of eight-state blocks of storage elements surrounded by programmed blocks of storage elements in the pattern of
The electronic device manufacture loads content, also referred to as data or software, into the memory chip, usually before the chip is mounted. The surface mounting process typically involves heating the PCB with the chip positioned on it, in a solder reflow process. For example, a ball grid array technique may be used in which the chip package has one face with solder balls in a grid pattern. These balls are used to conduct electrical signals from the integrated circuit to the PCB on which it is placed. The PCB carries copper pads in a pattern that matches the solder balls. The assembly is then heated, either in a reflow oven or by an infrared heater, causing the solder balls to melt. Surface tension causes the molten solder to hold the package in alignment with the circuit board, at the correct separation distance, while the solder cools and solidifies.
Another possible approach involves applying solder paste to specific locations on the PCB, positioning the chip on the solder paste deposits which will hold them in place on the board, and performing a solder reflow, which is a high-temperature process that melts the solder paste so that it can form the final solder connection between the chip and the PCB.
A solder reflow process uses a solder reflow oven, which exposes the board assembly to the necessary temperature profile by heating an environment into which the board assembly, including the chip package, is placed. For example, infrared (IR) Reflow and convection reflow, which are not necessarily exclusive of each other, can be used. Many modern ovens utilize both techniques. IR reflow involves the transfer of thermal energy from infrared lamps to the board assembly. The board assembly is heated by IR reflow primarily by line-of-sight surface heat absorption. Convection reflow transfers heat to the board assembly by blowing heated air around it. Another solder reflow technique is vapor phase reflow, which transfers heat to the board assembly by boiling inert fluorocarbon liquid and enveloping the board with its resulting vapors. A solder reflow process follows an optimized temperature profile to prevent the board from experiencing high thermal stresses while it is undergoing reflow. A temperature of about 260 C may be reached. Moreover, more than one reflow process can be performed. For example, device manufactures often have double-sided boards, in which case they will position components on one side of the board, perform a reflow to mount those components, flip the board over to position components on the opposite side of the board, and perform another reflow process to mount those components.
a depicts a flip chip package 700 which is surface mounted to a substrate using a solder reflow process. Various types of non-volatile memory chip packages are in use. One approach involves a flip chip in which a chip is connected to external circuitry with solder bumps that have been deposited onto chip pads. The solder bumps are deposited on the chip pads on the top side of the wafer during the final wafer processing step. To mount the chip to external circuitry (e.g., a circuit board or another chip or wafer), it is flipped over so that its top side faces down, and aligned so that its pads align with matching pads on the external circuit, and then the solder is flowed to complete the interconnect. This is in contrast to wire bonding, another approach which can be used, in which the chip is mounted upright and wires are used to interconnect the chip pads to external circuitry.
In this example, a chip package 700 includes a die 702 on which the non-volatile memory blocks are formed (see, e.g., die 198 in
A leader frame, usually made of copper, can be used to connect an integrated circuit chip to outside circuitry. Typically, the chip is attached to a bonding pad of a lead frame. Once the chip is attached, wires are bonded to input/output pads of the integrated circuit and to internal leads of the lead frame. This arrangement of a chip, a lead frame, and bonding wires is then encapsulated in a plastic casing leaving external leads of the lead frame exposed (outside of the plastic casing). The packaged integrated circuit can then be connected to other electronic components on a conventional circuit board by its external leads.
b depicts a single die package 730 which is surface mounted to a substrate using a solder reflow process. In another example, a die 732 is mounted to an interposer substrate 738 such as by using an adhesive epoxy tape or film. The die is then wirebonded to the interposer substrate 738 using gold or aluminum wires 736, and a plastic encapsulation 734 is used to protect the die and wires. The chip package 730 is attached to the substrate 720.
c depicts a multiple die package 750 which is surface mounted to a substrate using a solder reflow process. In this example, die 752 is attached to an interposer substrate 768, die 754 is attached to die 752, die 756 is attached to die 754 and die 758 is attached to die 756. A controller chip 760 may be provided to control input and output of the die 752-758. Wire bonding wires 764 are provided, along with a plastic encapsulation 762. The chip package 750 is attached to the substrate 720.
A stacked die configuration presents challenges such as the need to keep the stack thermally and mechanically stable on the interposer substrate, while keeping the resulting package as thin as possible. To this end, wafer thinning is commonly used. Wafer thinning involves wafer back grinding followed by a polishing step that relieves stresses imparted by the back grind process to the wafer. Wafers intended for die stacking can be thinned to about 3-6 mils, for instance depending on the use and the wafer size. This technique can also be used for single die packages as well. It is believed that after wafer back grinding is performed, gettering sites are created that can trap charges. However, after polishing, when the bottom of the chip is very smooth, the gettering sites are removed so that charges can move more easily into the floating gates of the non-volatile storage elements of the chip, causing Vth shifts as discussed.
The above chip package configurations and mounting schemes are examples only, as variations are possible. Regarding the use of a solder reflow process, this process has been associated with a problematic shift in Vth, a described previously. However, any process which applies a high temperature to a memory chip in connection with mounting the chip, or for other reasons related to the assembly of an electronic device after data has been loaded in the chip, would likely cause a similar problem, and the solutions provided herein would app to those situations as well.
The remaining blocks, which are not defective and not used for firmware, are in an erased state. At step 804, the chip package is shipped to the electronic device manufacturer, in one possible scenario. It is also possible for the chip manufacturer and the electronic device manufacturer to be the same party. However, due to the high cost of manufacturing chips, it is more common that a small number of chip manufacturers ship chips to a larger number of electronic device manufacturers. At step 806, the electronic device manufacturer loads in content to one or more blocks of the chip. This referred to a preloaded content because it is loaded in before the surface mounting of the chip.
As an example, for an electronic device such as a GPS device, the content which is loaded may include map data. For an automotive application, the content may be used for controlling an electronic system of a particular automobile. For a cell phone, the preloaded content could be the software image of an operating system such as MICROSOFT WINDOWS®. Typically, the electronic device manufacturer can load its data quickly through a USB system using a duplication system in which several chips are loaded in parallel.
At step 808, a record is provided by the firmware which identifies the blocks which have the preloaded content and the blocks which are still in the erased state. Generally, the chip manufacturer does not know ahead of time which blocks will be used to store the content of the electronic device manufacturer, as it depends on the amount of data and how the data is programmed. However, the firmware can maintain an appropriate record of which blocks have programmed data and which blocks are still erased, as mentioned, and update this record as additional content is loaded.
At step 810, the blocks which are erased are programmed to a higher threshold voltage. That is, some or all of the non-volatile storage elements in an erased block have their Vth raised from an initial level, such as a level which is associated with the erased state, to one or more higher levels, such as levels which are associated with one or more higher states. For example,
For example, the distribution 902 may extend above the C state, the highest state, and as low as the B state, above Vvb, the second highest of the four states. The duration and magnitude (Vpgm) of the program pulse 920 can be chosen accordingly to achieve the desired Vth distribution. Thus, when at least one block which is preloaded with data uses at least four data states (E, A, B, C) to store the data, the at least four data states include a highest data state (C) which has an associated verify level (Vvc), and a second highest data state (B) which has an associated verify level (Vvb). The higher Vth levels to which the erased storage elements are programmed can be at least as high as the associated verify level (Vvb) of the second highest data state (B), for at least one non-volatile storage element in the at least one block which is not preloaded with data.
Alternatively one or more cycles of a program pulse followed by a verify operation can be used to achieve a closely-controlled narrow Vth distribution, such as a distribution of a data state, e.g., the highest (C) or second highest (B) state. Note that data scrambling, in which the data states are used uniformly, should not be used, so that a C state element, for instance is actually programmed to the highest Vth and not remapped to a lower Vth.
b depicts threshold voltage distributions in an erased block of an eight-state memory device in which the threshold voltage of erased storage elements is raised in preparation for a surface mounting process. The Vth scales in
Alternatively one or more cycles of a program pulse followed by a verify operation can be used to achieve a closely-controlled narrow Vth distribution, such as a distribution of a data state, e.g., the highest (G), second highest (F) or third highest (E) state.
Referring again to
c depicts an example program pulse 920 which is applied to erased storage elements to achieve the raised threshold voltage distributions of
Generally, host commands can be issued to both enter and exit the reflow preparation stage. Because this will be a special operation, electronic device manufactures can adjust their timeout scenarios to allow for the completion of these commands. Both commands required for this operation can be implemented as vendor-specific commands that specifically put the parts into this state. In addition, because of the potential for long operation times associated with programming or erasing the necessary blocks, the unit should signal a busy state or return a busy status when polled until the operation is complete.
The host commands can be provided using any suitable technique. One approach is to use diagnostic commands which are specific to the chip manufacturer. Another approach is to use commands which are specific to the electronic device manufacturer. One example is Secure Digital (SD) non-volatile memory card format commands. For example, the SANDISK® iNAND™ eMMC (embedded multimedia card) and eSD (embedded secure digital) families of high capacity Embedded Flash Drives include options to have vendor specific commands. The host command can be provided by a host such as 155 in
At step 1102, a first chip is selected, when a multi-chip package is used. At decision step 1104, a determination is made as to whether the chip has content loaded in. For example, a record in firmware may be accessed to make this determination. It is not necessary to raise the Vth of erased block in a chip which has no preloaded content, as the Vth shift which is sought to be avoided for preloaded content in one chip is not believed to be affected by the presence of erased blocks in another chip in the same chip package. This approach saves times, as no further processing is needed for a chip which does not have preloaded content.
Similarly, a single die may have storage elements in more than one plane, where each plane is in a separate well. No processing is needed for a plane which has no content loaded in.
If the chip does not have content loaded in, the process continues at decision step 1116. If the chip does have content loaded in, step 1106 includes identifying the erased blocks of the chip from a record, e.g., in firmware. Step 1108 selects a first erased block in the chip, and step 1110 applies a program pulse to the erased block. Decision step 1112 determines if the current block is the last erased block on the chip. If it is not the last erased block, step 1114 selects the next erased block in the chip, and step 1110 applies a program pulse to the erased block.
If the current block is the last erased block on the chip, at decision step 1112, a determination is made at decision step 1116 as to whether the current chip is the last chip in the chip package. If the current chip is not the last chip, step 1118 selects the next chip and processing proceeds as discussed at decision step 1104. If the current chip is the last chip, the process ends at step 1120. Subsequently, the non-volatile memory chip package is positioned on the substrate and a solder reflow is performed to surface mount the chip package.
At decision step 1204, if the chip has content loaded in, step 1206 accesses a record to identify blocks with a raised Vth in the chip. Step 1208 selects a first block with a raised Vth, and step 1210 erases the block, thus returning it to its original condition. If the current block is the last block with a raised Vth in the chip, the processing proceeds at decision step 1216. If the current block is not the last block with a raised Vth in the chip, at decision step 1212, the next block in the chip with a raised Vth is selected at step 1214, and the control flow proceeds to step 1210.
In one embodiment of the technology described herein, a method is provided for preparing a non-volatile memory chip package for surface mounting to a substrate in a surface mounting process which heats the non-volatile memory chip package. The non-volatile memory chip package comprises at least one die, and the at least one die comprises a plurality of blocks of non-volatile storage elements. The method includes preloading at least one block of the plurality of blocks with data, identifying at least one block of the plurality of blocks which is not preloaded with data. The method further includes, responsive to the identifying, raising threshold voltages of non-volatile storage elements of the at least one block which is not preloaded with data, from an initial level to higher levels. The method further includes following the raising, performing a surface mounting process which surface mounts the non-volatile memory chip package to the substrate, where the surface mounting process heats an environment into which the non-volatile memory chip package and the substrate are placed.
In another embodiment, at least one processor readable storage device is provided which has processor readable code embodied thereon for programming one or more processors to perform a computer implemented method for preparing a non-volatile memory chip package for surface mounting to a substrate in a surface mounting process which heats the non-volatile memory chip package. The non-volatile memory chip package comprises at least one die, and the at least one die comprises a plurality of blocks of non-volatile storage elements. The method performed includes preloading at least one block of the plurality of blocks with data, identifying at least one block of the plurality of blocks which is not preloaded with data. The method further includes, responsive to the identifying, raising threshold voltages of non-volatile storage elements of the at least one block which is not preloaded with data, from an initial level to higher levels. The method further includes following the raising, performing a surface mounting process which surface mounts the non-volatile memory chip package to the substrate, where the surface mounting process heats an environment into which the non-volatile memory chip package and the substrate are placed.
In another embodiment, a method is provided for preparing a non-volatile memory chip package for surface mounting to a substrate in a surface mounting process which heats the non-volatile memory chip package. The non-volatile memory chip package comprises a plurality of die, and each die comprises a plurality of blocks of non-volatile storage elements. The method includes programming at least one block of at least one die of the plurality of die with data, identifying at least one block of the at least one die which is not programmed with data, and which is in an erased state, identifying at least one other die of the plurality of die which is not programmed with data, and which has blocks in the erased state, and raising threshold voltages of non-volatile storage elements of the at least one block which is not programmed with data above the erased state, where the blocks in the erased state of the at least one other die which is not programmed with data are kept in the erased state.
Corresponding methods, systems and computer- or processor-readable storage devices for performing the methods provided herein are provided.
The foregoing detailed description has been presented for purposes of illustration and description. It is not intended to be exhaustive or limited to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology and its practical application, to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto.
Number | Name | Date | Kind |
---|---|---|---|
6553510 | Pekny | Apr 2003 | B1 |
6642113 | Kuo et al. | Nov 2003 | B1 |
6819608 | Watanabe | Nov 2004 | B2 |
7015065 | Tsai | Mar 2006 | B2 |
7609561 | Cornwell et al. | Oct 2009 | B2 |
20080298128 | Kang et al. | Dec 2008 | A1 |
Number | Date | Country | |
---|---|---|---|
20110075482 A1 | Mar 2011 | US |