This disclosure relates generally to packaging of devices and more particularly to glass via bars for interconnecting multiple layers, substrates or components of a package.
Microelectronic devices can include multiple components including and electromechanical systems (EMS) dies. For example, EMS dies can be electrically connected to driver integrated circuit (IC) dies in an electronic device. Electromechanical systems include devices having electrical and mechanical elements, actuators, transducers, sensors, optical components (including mirrors) and electronics. Electromechanical systems can be manufactured at a variety of scales including, but not limited to, microscales and nanoscales. Microelectromechanical systems (MEMS) devices can include structures having sizes ranging from about a micron to hundreds of microns or more. Nanoelectromechanical systems (NEMS) devices can include structures having sizes smaller than a micron including, for example, sizes smaller than several hundred nanometers.
Packaging in a system can protect the functional units of the system from the environment, provide mechanical support for the system components, and provide an interface for electrical interconnections. Three-dimensional (3-D) packaging having multiple stacked dies can reduce package sizes in microelectronic systems.
The systems, methods and devices of the disclosure each have several innovative aspects, no single one of which is solely responsible for the desirable attributes disclosed herein.
One innovative aspect of the subject matter described in this disclosure can be implemented in an apparatus including a glass bar having one or more through-glass vias. Example thicknesses of the glass bar can between about 300 and 700 microns and example lengths and widths of the glass bar can be between about 1 and 15 millimeters. Example through-glass via densities can range from 6 vias per millimeter square to 200 vias per millimeter square. Example via diameters can be between about 30 microns and 50 microns. Examples of glass bar materials include photo-patternable glass. Examples of through-glass via materials include plated copper.
In some implementations, the glass bar can include one or more passive devices. Examples of passive devices include inductors, capacitors and resistors. In some implementations, a passive device can be connected to one or more through-glass vias. In some implementations, the glass bar can include two or more through-glass vias connected to form an inductor. In some implementations, the glass bar can include one or more configurable passive devices. For example, in some implementations, a passive device can be configured during an embedded wafer-level process.
Another innovative aspect of the subject matter described in this disclosure can be implemented in a package including a glass bar that includes one or more through-glass vias and a mold embedding the glass bar. In some implementations, the package can further include a semiconductor die embedded in the mold and in electrical communication with the one or more through-glass vias. For example, a package can include a single semiconductor die and a plurality of glass bars embedded in the mold. In another example, a package can include a plurality of semiconductor dies and associated glass bars embedded in the mold. In some implementations, the glass bar can include one or more passive devices.
Another innovative aspect of the subject matter described in this disclosure can be implemented in a method including forming a plurality of passive components on a glass substrate, forming a plurality of through-glass via holes in the glass substrate, metallizing the through-glass via holes, and singulating the glass substrate to form a plurality of glass via bars each having a thickness between about 300 and 700 microns and a length between about 1 and 15 millimeters.
In some implementations, the glass substrate is a photo-patternable glass substrate and forming the plurality of through-glass via holes includes patterning and etching the photo-patternable glass substrate. In some implementations, forming the plurality of through-glass via holes includes laser ablation of the glass substrate. In some implementations, metallizing the through-glass via holes includes electroplating.
The method can further include connecting one or more of the plurality of passive devices to at least one of the plurality of metallized through-glass via holes. In some implementations, the method further includes connecting two or more of the plurality of metallized through-glass via holes to form an inductor.
Another innovative aspect of the subject matter described in this disclosure can be implemented in a method including placing a plurality of semiconductor dies and a plurality of glass via bars on a carrier substrate, embedding the plurality of semiconductor dies and the plurality of glass via bars in a mold compound to form a mold structure, forming one or more redistribution layers on the mold structure, forming inter-level interconnects, and singulating the mold structure to form a plurality of molded dies each including at least one semiconductor, at least one glass via bar, and a plurality of inter-level interconnects. In some implementations, the plurality of glass via bars can include integrated passive components.
Details of one or more implementations of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages will become apparent from the description, the drawings, and the claims. Note that the relative dimensions of the following figures may not be drawn to scale.
Like reference numbers and designations in the various drawings indicate like elements.
The following description is directed to certain implementations for the purposes of describing the innovative aspects of this disclosure. However, a person having ordinary skill in the art will readily recognize that the teachings herein can be applied in a multitude of different ways. Thus, the teachings are not intended to be limited to the implementations depicted solely in the Figures, but instead have wide applicability as will be readily apparent to one having ordinary skill in the art.
Some implementations described herein relate to glass via bars that include through-glass vias. The glass via bars can be used, for example, to provide inter-level connections in stacked three-dimensional (3-D) packages. In some implementations, the glass via bars can be part of an embedded wafer level package. In some implementations, the glass via bars can include high density arrays of through-glass vias. In some implementations, the glass via bars can include one or more passive components on a surface of and/or embedded within the glass via bars. In some implementations, a glass via bar can be configurable, including banks of unconnected through-glass vias and/or passive components that can be configured for particular applications, for example, during packaging.
Some implementations described herein relate to packages including glass via bars. The packages can include one or more semiconductor dies and one or more glass via bars embedded within a mold structure. The glass via bars can have one or more passive components on or within the glass via bars. The packages can further include inter-level interconnects such as solder balls. In some implementations, the packages can further include one or more components such as a surface mount technology (SMT) components, filters, and MEMS dies.
Some implementations described herein relate to methods of fabricating glass via bars. Methods of fabricating glass via bars can include forming and filling through-glass via holes of a large-area glass substrate and singulating the substrate to form multiple glass via bars. In some implementations, passive components can be formed on the glass substrate prior to singulation. In some implementations, forming through-glass via holes can include patterning and etching photo-patternable glass. Some implementations described herein relate to methods of fabricating packages including glass via bars. Methods of fabricating packages including glass via bars can include forming a mold structure embedding one or more semiconductor dies and one or more glass via bars.
Particular implementations of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some implementations, the glass via bars can provide the ability to scale the via pitch from 500 microns to 50 microns and the via diameter from 200 microns to 30 microns. Advantages of scaling the pitch and diameter include fabricating smaller packages and increasing capacity and flexibility in package design.
In some implementations, passive components can be co-fabricated with and incorporated into the glass via bar. Advantages of incorporating passive components into the glass via bar include the ability to place the passive components closer to semiconductor dies in a package, reducing the electrical path length, increasing performance, reducing the number of components, simplifying assembly, and reducing cost. Further, for certain applications such as RF applications, incorporating passive components on or in a glass bar can reduce loss tangent in these passive components, which can in turn reduce power consumption, increase the quality factor, and reduce interference with other devices. In some implementations, incorporating a solenoid-type inductor into a glass bar can allow confinement of electromagnetic field lines horizontally with the low loss glass bar. Advantages of confining electromagnetic field lines horizontally include reducing interference with devices packaged above or below the glass bar.
In some implementations, the glass via bars can include configurable passive components. Advantages of providing configurable passive components include the ability to tailor the glass via bars during packaging for particular applications, providing a standard template for a variety of applications, simplified manufacturing, reduced design time, faster development time, and lower cost. In some implementations, the glass via bars can be tested prior to incorporation into a package. The ability to test vias and passive components can provide high yields. In some implementations, the glass via bars can facilitate fabrication of stacked die packages.
Packaging of devices, including EMS devices and integrated circuit devices, can protect the functional units of the devices from the environment, provide mechanical support for the devices, and provide a high-density interface for electrical interconnections between devices and substrates.
Implementations described herein relate to glass via bars that include through-glass vias. The glass via bars can be used, for example, to provide inter-level connections in stacked three-dimensional (3-D) packages. In some implementations, the glass via bars can be part of an embedded wafer level package. Embedded wafer level packaging (eWLP), also referred to as extended wafer level packaging, leverages wafer level processing to package singulated dies, such as semiconductor dies. The dies are placed on a carrier substrate, and a curable compound is used to fill gaps between the dies and the edges around the dies. The cured compound forms a mold frame around the dies. The dies and molding form an artificial wafer, also referred to as a reconfigured wafer, which can then undergo wafer level processing including addition of a redistribution layer and solder balls, followed by package singulation. eWLP can also be referred to as embedded or extended wafer level ball grid array (eWLB), fan out wafer level chip scale packaging (fan out WLCSP), fan out wafer level packaging (fan out WLP) and advanced wafer level packaging (aWLP). eWLP packages including glass via bars are described further below with respect to
The through-glass vias 106 extend through the glass via bar 100, providing conductive pathways between opposing faces. Example diameters of the glass vias 106 can range from about 30 microns and 100 microns. The through-glass vias 100 can also have any appropriate shape. For example, in certain implementations, via openings for through-glass vias 100 can be circular, semi-circular, oval, rectangular, polygonal, rectangular with rounded edges, polygonal sharp edges, or otherwise shaped. Also according to various implementations, the through-glass vias 100 can have linear or curved sidewall contours. The glass via bar 100 can include any number of through-glass vias placed or arrayed in any regular or irregular arrangement. For example, the glass via bar 100 may have between about 1 and 24 through-glass vias 106. Example pitches (center-to-center distances) of the through-glass vias 106 in the glass via bar can range from about 40 microns to about 200 microns.
In some implementations, the glass via bar 100 may include unfilled through-glass via holes.
In some implementations, the glass via bar 100 is provided with conductive routing on one or more of its faces. In some implementations, the glass via bar 100 is provided with one or more integrated passive components. An integrated passive component is a passive component provided on one or more of faces or embedded within the glass via bar 100.
Manufacturing processes for fabricating glass via bars are described below with respect to
The glass substrate may be or include, for example, a borosilicate glass, a soda lime glass, quartz, Pyrex, or other suitable glass material. In some implementations, the glass substrate is a borosilicate glass substrate that can be ablated by laser radiation. In some implementations, the glass substrate can have a coefficient of thermal expansion (CTE) matched to the CTE of another component of a package, or between the CTEs of two or more components of a package. For example, a glass substrate can have a relatively low CTE of about 3.4 ppm/° C. matched to silicon, a relatively high CTE of about 10 ppm/° C. matched close a printed circuit board or mold compound, or a CTE between these components. In some implementations, the glass substrate is a photo-patternable glass substrate. Photo-patternable glasses are discussed further below with respect to
Forming passive components on one or more surfaces of the glass substrate can include one or more thin film deposition and etching operations. For example, one or more metal, dielectric and passivation layers can be deposited and patterned to form the passive components. Examples of deposition techniques can include PVD, CVD, atomic layer deposition (ALD), electrolytic plating, and electroless plating. In some implementations, the passive components include one or more capacitors, inductors, and/or resistors. In some implementations, the passive components can include a variable capacitor, a varactor, a filter, a transformer, a coupler, a directional coupler, a power splitter, a transmission line, a waveguide and/or an antenna.
The process 200 continues at block 204 with formation of through-glass via holes for a plurality of glass via bars in the glass substrate. Block 204 can involve a sandblasting process, laser ablation process, or photo-patterning process. The process 200 continues at block 206 with metallization of the through-glass via holes to form through-glass vias. Block 206 can include, for example, a plating process such as electroless or electroplating. In some implementations, the through-glass vias can be filled with a metal. In some other implementations, the interior surfaces of the through-glass via holes can be coated with a metal, with the remaining portions of the through-glass via holes left unfilled or filled with a conductive material, such as a metal, or a non-conductive material, such as a dielectric. Block 206 also can include forming one or more routing lines on one or more surfaces of the glass substrate, for example, to electrically connect multiple through-glass vias.
In some implementations, the through-glass vias can be connected to one or more surface passive components and/or interconnected to each other to form, for example, one or more solenoid-type inductors after block 204. In some implementations, some or all of the through-glass vias formed in block 206 and the surface passive components formed in block 202 can be left unconnected after block 206. In some such implementations, the through-glass vias and the passive components can be connected in subsequent processing, for example, during an eWLP process.
The process 200 continues at block 208 with singulating the glass substrate to form a plurality of glass via bars, each including through-glass vias and, if formed, surface passive components. Dicing can include forming dicing streets along which the glass substrate will be cut and cutting along the dicing streets with a dicing saw or laser. According to various implementations, the lateral dimensions of the glass via bars formed in block 208 can be between about 1 mm and 15 mm, for example between about 1 and 6 mm.
The above-described process is one example of patterning a photo-patternable glass, with other processes possible. In some implementations, for example, the glass may include Al, Cu, boron (B), potassium (K), sodium (Na), zinc (Zn), calcium (Ca), antimonium (Sb), arsenic (As), gold (Au), magnesium (Mg), barium (Ba), lead (Pb), or other additives in addition to or instead of the above-described components. In some implementations, the photo-patternable glass may include various additives to modify melting point, increase chemical resistance, lower thermal expansion, modify elasticity, modify refractive index or other optical properties, or otherwise modify the characteristics of the glass. For example, potassium oxide (K2O) and/or sodium oxide (Na2O) may be used to lower the melting point and/or increase chemical resistance of the photo-patternable glass and zinc oxide (ZnO) or calcium oxide (CaO) may be used to improve chemical resistance or reduce thermal expansion. In some implementations, one or more other electron donors may be used in addition to or instead of Ce. In some implementations, the photo-patternable glass may include one or more oxygen donors.
Example UV dosages can range from 0.1 J/cm2 to over 50 J/cm2. The UV wavelength and dosage can vary according to the composition and size of the photo-patternable glass. The UV-induced chemical reactions can also vary depending on the chemical composition of the photo-patternable glass, as can the subsequent thermal-induced reactions. Moreover, in some implementations, these reactions may be driven by energy sources other than UV radiation and thermal energy, including but not limited to other types of electromagnetic radiation. In general, treating the unmasked areas of the photo-patternable glass with one or more types of energy produces can produce crystalline composition such as polycrystalline ceramic. The conversion to a crystalline ceramic allows the photo-patternable glass to be etched.
Returning to
Returning to
The process 250 continues at block 258 with filling the through-glass via holes 132. In some implementations, block 258 can include forming a seed layer on an interior surface of the through-glass via holes, followed by plating to fill the through-glass via holes. A seed layer may be deposited by a process such as PVD, CVD, ALD, or an electroless plating process. In some implementations, the seed layer may include titanium nitride (TiN), ruthenium-titanium nitride (Ru—TiN), platinum (Pt), palladium (Pd), Au, Ag, Cu, nickel (Ni), Mo, or tungsten (W). In some implementations, the through-glass via holes are filled by electroplating. Examples of plated metals can include Cu, Ni, Au, and Pd, and alloys and combinations thereof. In some implementations, block 250 can further include patterning one or more of the top and bottom surfaces of the glass to electrically isolate the through-glass vias and/or passive components, form routing and contacts to the through-glass vias and/or passive components, interconnect multiple through-glass vias to form solenoid-type inductors, and the like.
In some implementations, a configurable glass via bar can be provided. A configurable glass via bar can have one or more “banks” of components, i.e., one or more groups of components available for use. For example, a configurable glass via bar can have a bank of through-glass vias or a bank of passive components available for connection. In some implementations, a configurable glass via bar can have a bank of through-glass vias and a bank of one or more types of passive components available for connection.
As indicated above, in some implementations, the glass via bars described herein can be part of a can be part of eWLP packages. An eWLP package includes one or more components embedded in a singulated mold compound.
In some implementations, an eWLP package includes one or more redistribution layers (RDLs) on one or both sides of a mold structure.
An eWLP package can further include inter-level interconnects configured to connect the mold structure to one or more underlying or overlying substrates, dies, devices or other components.
The top-side components 116a and 116b can each be any appropriate component including any WLCSP die or surface mount technology (SMT) component. In one example, embedded die 102 can be a radio frequency integrated circuit (RF IC) die, top-side component 116a can be a surface acoustic wave (SAW) die, and top-side component 116b can be a radio frequency (RF) MEMS die.
Returning to
Returning to
If the glass via bars are configurable glass via bars that have not yet been configured, block 406 can include configuration of the configurable glass via bars. For example, routing lines can be plated to configure one or more configurable glass via bars.
The process 400 continues at block 406 with the formation of inter-level interconnects. Block 406 can include placement of solder balls on one or both sides of the package.
Examples of passives on glass via bars and semiconductor dies that can be packaged together as described above with respect to
In some implementations, the glass via bars described herein can be included in a package-on-package (PoP). PoP methods involve packaging multiple dies in separate packages and then packaging the separate packages together by stacking package on package. In some implementations, each packaged die can be tested prior to stacking to find known good dies. According to various implementations, the PoP's described herein can include multiple discrete packages of any type, including one or more logic, memory or EMS packages. One or more packages in the PoPs described herein can include one or more glass via bars.
The logic package 442 includes a mold structure 432 and a logic package substrate 448. The mold structure 432 has a top surface 464a and a bottom surface 464b and includes a mold compound 454 as well as components embedded within the mold compound 454; in the example of
The memory package 444 includes a mold structure 482 and a memory package substrate 488. The mold structure 482 includes a mold compound 494 and components embedded within the mold compound 494; in the example of
It should be noted that the size, pitch, and placement of the inter-level interconnects 118 and the inter-level interconnects 120, as well as of the flip-chip attachments of the memory die stack 445, the logic die 446, and the through-glass via bars 100 can be varied as appropriate. For example, the size and/or pitch of solder balls that connect the through-glass vias 106 to the logic package substrate 448 may be the same as the inter-level interconnects 118.
In some implementations, the glass via bars 100 can include one or more integrated capacitors (not shown) as described above with reference to
In some implementations, the glass via bar can be included as part of a display device, or in a package including a display device.
The display device 40 includes a housing 41, a display 30, an antenna 43, a speaker 45, an input device 48 and a microphone 46. The housing 41 can be formed from any of a variety of manufacturing processes, including injection molding, and vacuum forming. In addition, the housing 41 may be made from any of a variety of materials, including, but not limited to: plastic, metal, glass, rubber and ceramic, or a combination thereof. The housing 41 can include removable portions (not shown) that may be interchanged with other removable portions of different color, or containing different logos, pictures, or symbols.
The display 30 may be any of a variety of displays, including a bi-stable or analog display, as described herein. The display 30 also can be configured to include a flat-panel display, such as plasma, EL, OLED, STN LCD, or TFT LCD, or a non-flat-panel display, such as a CRT or other tube device. In addition, the display 30 can include an interferometric modulator display, as described herein.
The components of the display device 40 are schematically illustrated in
The network interface 27 includes the antenna 43 and the transceiver 47 so that the display device 40 can communicate with one or more devices over a network. The network interface 27 also may have some processing capabilities to relieve, for example, data processing requirements of the processor 21. The antenna 43 can transmit and receive signals. In some implementations, the antenna 43 transmits and receives RF signals according to the IEEE 16.11 standard, including IEEE 16.11(a), (b), or (g), or the IEEE 802.11 standard, including IEEE 802.11 a, b, g, n, and further implementations thereof. In some other implementations, the antenna 43 transmits and receives RF signals according to the BLUETOOTH standard. In the case of a cellular telephone, the antenna 43 is designed to receive code division multiple access (CDMA), frequency division multiple access (FDMA), time division multiple access (TDMA), Global System for Mobile communications (GSM), GSM/General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Terrestrial Trunked Radio (TETRA), Wideband-CDMA (W-CDMA), Evolution Data Optimized (EV-DO), 1xEV-DO, EV-DO Rev A, EV-DO Rev B, High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolved High Speed Packet Access (HSPA+), Long Term Evolution (LTE), AMPS, or other known signals that are used to communicate within a wireless network, such as a system utilizing 3G or 4G technology. The transceiver 47 can pre-process the signals received from the antenna 43 so that they may be received by and further manipulated by the processor 21. The transceiver 47 also can process signals received from the processor 21 so that they may be transmitted from the display device 40 via the antenna 43.
In some implementations, the transceiver 47 can be replaced by a receiver. In addition, in some implementations, the network interface 27 can be replaced by an image source, which can store or generate image data to be sent to the processor 21. The processor 21 can control the overall operation of the display device 40. The processor 21 receives data, such as compressed image data from the network interface 27 or an image source, and processes the data into raw image data or into a format that is readily processed into raw image data. The processor 21 can send the processed data to the driver controller 29 or to the frame buffer 28 for storage. Raw data typically refers to the information that identifies the image characteristics at each location within an image. For example, such image characteristics can include color, saturation and gray-scale level.
The processor 21 can include a microcontroller, CPU, or logic unit to control operation of the display device 40. The conditioning hardware 52 may include amplifiers and filters for transmitting signals to the speaker 45, and for receiving signals from the microphone 46. The conditioning hardware 52 may be discrete components within the display device 40, or may be incorporated within the processor 21 or other components.
The driver controller 29 can take the raw image data generated by the processor 21 either directly from the processor 21 or from the frame buffer 28 and can re-format the raw image data appropriately for high speed transmission to the array driver 22. In some implementations, the driver controller 29 can re-format the raw image data into a data flow having a raster-like format, such that it has a time order suitable for scanning across the display array 30. Then the driver controller 29 sends the formatted information to the array driver 22. Although a driver controller 29, such as an LCD controller, is often associated with the system processor 21 as a stand-alone Integrated Circuit (IC), such controllers may be implemented in many ways. For example, controllers may be embedded in the processor 21 as hardware, embedded in the processor 21 as software, or fully integrated in hardware with the array driver 22.
The array driver 22 can receive the formatted information from the driver controller 29 and can re-format the video data into a parallel set of waveforms that are applied many times per second to the hundreds, and sometimes thousands (or more), of leads coming from the display's x-y matrix of pixels.
In some implementations, the driver controller 29, the array driver 22, and the display array 30 are appropriate for any of the types of displays described herein. For example, the driver controller 29 can be a conventional display controller or a bi-stable display controller (such as an IMOD controller). Additionally, the array driver 22 can be a conventional driver or a bi-stable display driver (such as an IMOD display driver). Moreover, the display array 30 can be a conventional display array or a bi-stable display array (such as a display including an array of IMODs). In some implementations, the driver controller 29 can be integrated with the array driver 22. Such an implementation can be useful in highly integrated systems, for example, mobile phones, portable-electronic devices, watches or small-area displays.
In some implementations, the input device 48 can be configured to allow, for example, a user to control the operation of the display device 40. The input device 48 can include a keypad, such as a QWERTY keyboard or a telephone keypad, a button, a switch, a rocker, a touch-sensitive screen, a touch-sensitive screen integrated with display array 30, or a pressure- or heat-sensitive membrane. The microphone 46 can be configured as an input device for the display device 40. In some implementations, voice commands through the microphone 46 can be used for controlling operations of the display device 40.
The power supply 50 can include a variety of energy storage devices. For example, the power supply 50 can be a rechargeable battery, such as a nickel-cadmium battery or a lithium-ion battery. In implementations using a rechargeable battery, the rechargeable battery may be chargeable using power coming from, for example, a wall socket or a photovoltaic device or array. Alternatively, the rechargeable battery can be wirelessly chargeable. The power supply 50 also can be a renewable energy source, a capacitor, or a solar cell, including a plastic solar cell or solar-cell paint. The power supply 50 also can be configured to receive power from a wall outlet.
In some implementations, control programmability resides in the driver controller 29 which can be located in several places in the electronic display system. In some other implementations, control programmability resides in the array driver 22. The above-described optimization may be implemented in any number of hardware and/or software components and in various configurations.
In various implementations of the display device 40, one or more of the antenna 43, transceiver 47, processor 21, driver controller 29, frame buffer 28, speaker 45, microphone 46, array driver 22, power supply 50, and input device 48 can include a package with a semiconductor die embedded in a molded die with a glass via bar or a package in which a semiconductor die and a glass via bar are both bonded to the same substrate. For example, the processor 29 may include an eWLP or PoP package that includes a semiconductor processor die and a glass via bar. As another example, power supply 50 can include a glass via bar configured as a solenoid-type inductor.
The various illustrative logics, logical blocks, modules, circuits and algorithm steps described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. The interchangeability of hardware and software has been described generally, in terms of functionality, and illustrated in the various illustrative components, blocks, modules, circuits and steps described above. Whether such functionality is implemented in hardware or software depends upon the particular application and design constraints imposed on the overall system.
The hardware and data processing apparatus used to implement the various illustrative logics, logical blocks, modules and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or, any conventional processor, controller, microcontroller, or state machine. A processor also may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, particular steps and methods may be performed by circuitry that is specific to a given function.
In one or more aspects, the functions described may be implemented in hardware, digital electronic circuitry, computer software, firmware, including the structures disclosed in this specification and their structural equivalents thereof, or in any combination thereof. Implementations of the subject matter described in this specification also can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on a computer storage media for execution by, or to control the operation of, data processing apparatus. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The steps of a method or algorithm disclosed herein may be implemented in a processor-executable software module which may reside on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that can be enabled to transfer a computer program from one place to another. A storage media may be any available media that may be accessed by a computer. By way of example, and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection can be properly termed a computer-readable medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blue-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above also may be included within the scope of computer-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and instructions on a machine readable medium and computer-readable medium, which may be incorporated into a computer program product.
Various modifications to the implementations described in this disclosure may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other implementations without departing from the spirit or scope of this disclosure. Thus, the claims are not intended to be limited to the implementations shown herein, but are to be accorded the widest scope consistent with this disclosure, the principles and the novel features disclosed herein. The word “exemplary” is used exclusively herein to mean “serving as an example, instance, or illustration.” Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other possibilities or implementations. Additionally, a person having ordinary skill in the art will readily appreciate, the terms “upper” and “lower” are sometimes used for ease of describing the figures, and indicate relative positions corresponding to the orientation of the figure on a properly oriented page, and may not reflect the proper orientation of an IMOD as implemented.
Certain features that are described in this specification in the context of separate implementations also can be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also can be implemented in multiple implementations separately or in any suitable subcombination. 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 can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, a person having ordinary skill in the art will readily recognize that such operations need not be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Further, the drawings may schematically depict one more example processes in the form of a flow diagram. However, other operations that are not depicted can be incorporated in the example processes that are schematically illustrated. For example, one or more additional operations can be performed before, after, simultaneously, or between any of the illustrated operations. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products. Additionally, other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results.