Detailed Description
Embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present invention are shown in the drawings, it should be understood that the present invention may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present invention. It should be understood that the drawings and the embodiments of the invention are for illustration purposes only and are not intended to limit the scope of the invention.
The term "including" and variations thereof as used herein is intended to be open-ended, i.e., "including but not limited to". The term "or" means "and/or" unless specifically stated otherwise. The term "based on" means "based at least in part on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first," "second," and the like may refer to different or the same object. Other explicit and implicit definitions are also possible below.
As briefly mentioned above, OPC is mainly used in the production process of semiconductor chips in order to ensure that the actual pattern obtained on the exposed silicon wafer conforms to the design pattern. If the graph obtained after the actual exposure without the OPC is carried out, the graph has a remarkable difference with the designed graph, such as the actual line width is narrower or wider than the designed graph, and the imaging can be compensated by changing the mask; other distortions, such as rounding, light intensity, are more difficult to compensate due to the resolution of the optical tool. These distortions, if not corrected, can greatly alter the electrical performance of the produced circuit. OPC optical proximity correction compensates for these distortions by moving the edges of the pattern on the reticle or adding additional polygons. Therefore, a series of optical effects and light resistance effects generated in a lithography machine need to be simulated in an OPC light resistance model, effect contributions of various types of effect signals are intuitively presented to a user, and the method is very beneficial for the user to analyze the behavior of the current model, iteratively obtain a more optimal model, or select the more optimal model among a plurality of different models and grasp related experiences of accumulating various effects.
According to an embodiment of the invention, there is provided a method for selecting a resist model based on an effect contribution ratio, the method comprising: collecting sampling positions of the photoresist model on the mask layout; acquiring the semaphore of various types of signals at a sampling position; for each type of signal, obtaining an effect signal according to the semaphore and the coordinates of the sampling position; calculating a total signal value for the type of signal based on the obtained effect signal; calculating an effect contribution ratio of each type of signal based on a total signal value of the type of signal; the photoresist model is selected based on the ratio of the effect contributions.
Signals at the sampling position of the mask layout generally comprise various types of signals which are optical signals ai and non-optical signals, and the occupation ratio of the optical signals and the non-optical signals in the whole effect signals is analyzed, so that the effect contribution occupation ratio condition of various types of signals can be visually and directly presented to a user, and the user can select a photoresist model suitable for a production process based on the analysis result of the occupation ratio condition.
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Referring to FIG. 1, a schematic diagram of an exemplary environment 100 is shown in which various embodiments of the present invention can be implemented. As shown in FIG. 1, the exemplary environment 100 includes a computing device 110 and a client 120.
In some embodiments, computing device 110 may receive input messages from clients 120 and output feedback messages to clients 120. In some embodiments, the photoresist model is input by the client 120. The computing device 110 may perform a simulation calculation on the input photoresist model to determine the effective contribution ratios of the various types of signals at the sampling locations, and output the analysis results to the individual clients 120.
In some embodiments, the computing device 110 may include, but is not limited to, a personal computer, server computer, hand-held or laptop device, mobile device (such as a mobile phone, personal Digital Assistant (PDA), media player, etc.), consumer electronics, minicomputer, mainframe computer, cloud computing resource, and the like.
It should be understood that the architecture and functionality of exemplary environment 100 as described for exemplary purposes only is not intended to limit the scope of the subject matter described herein. The subject matter described herein may be implemented in various structures and/or functions.
The technical solutions described above are only for example and do not limit the present invention. It should be understood that the exemplary environment 100 may have other various implementations. In order to explain the principle of the present invention more clearly, a specific technical solution of the present invention will be described in more detail below with reference to fig. 2.
FIG. 2 illustrates a flow diagram of a method for selecting a photoresist model according to some embodiments of the invention. For example, the method 200 may be implemented by the computing device 110 as shown in FIG. 1. It is to be understood that the method 200 may include additional blocks not shown and/or may omit certain blocks shown. The scope of the invention is not limited thereto.
At step 202, sample locations of a photoresist model on a mask layout are collected. In a specific exemplary embodiment, taking the IMP layer (implant layer) as an example, it typically has over 1000 sampling locations distributed throughout the mask layout, and the model specific behavior at each sampling location is uncertain. In the following embodiments of the present invention, 1865 sampling positions of the IMP layer are taken as an example, and in specific use, the present invention may be used in other layers, or may select other numbers of sampling positions, and the actual sampling positions of the present invention are not specifically limited. In an embodiment of the invention, all sample locations on the mask layout are collected. It should be noted here that the number of sampling positions is not fixed, and the number of sampling positions and the selection of layers can be selected according to practical situations, and this embodiment is only exemplary, and should not limit the present invention.
The sampling locations in the mask layout are described below in connection with fig. 3. FIG. 3 shows a top view of one region of a mask layout, which is merely exemplary. It is foreseen by the person skilled in the art that the mask layout may also comprise other regions not shown, wherein the arrangement, position, etc. of the mask elements in the mask layout are not limited to the pattern shown in fig. 3. In this embodiment, for clarity, only one of the sampling locations is labeled with Gauge _0, and the sampling locations are selected only for illustration purposes at both ends of the Critical Dimension (CD) locations of the sampling locations. The sampling position at this position is marked by a solid line, which has two end positions at the sampling position, the distance between which represents the critical dimension, as can be seen from the figure.
Turning now to fig. 2. At step 204, the semaphores of the multiple types of signals at the sample location are obtained. As mentioned above, the signals at the sampling position generally include various types of signals, such as optical type signals ai and non-optical type signals, for example, in the present embodiment, the signals are mainly classified into optical type signals ai and non-optical type signals, i.e., colloid physical continuous a signals, colloid physical continuous B signals, colloid physical continuous C signals, colloid physical edge a signals and colloid physical B signals, and colloid chemical acid-base car signals. The above list of non-optical type signals is for illustrative purposes only in the present embodiment, and other types of non-optical type signals may be included in addition to the above signals.
In some embodiments, the optical-type signal ai of these types of signals is taken as the target signal, wherein calculating the target semaphore for the target signal comprises: the mask diffraction and lens transfer functions calculate a target semaphore based on a fourier operation, depending at least on the light source type. In one particular embodiment, the target semaphore I (x, y) of the target signal can be calculated by the following equation (1).
Wherein x, y are coordinates of the sampling location in the mask, j (f, g) is a light source type, f, g are respectively an abscissa and an ordinate of the light source, M is mask diffraction, H is a lens transfer function, M and H are complex conjugates of the mask diffraction M and the lens transfer function H, f ', g' are respectively a first offset of the abscissa f and a first offset of the ordinate g of the light source, f ", g" are respectively a second offset of the abscissa f and a second offset of the ordinate g of the light source, and i is an imaginary unit in a fourier transform formula;
wherein
Obtained by the following formula (2).
Then, in an embodiment, step 206 further includes: for each type of signal, an effect signal is obtained from the semaphore and the coordinates of the sampling location. Specifically, for an optical-type signal as a target signal, obtaining the effect signal from the above-calculated semaphore and the coordinates of the sampling position includes: determining position coordinates of Critical Dimension (CD) positions at both ends of the sampling position; forming a three-dimensional semaphore matrix corresponding to each type of signal based on the determined position coordinates and the semaphore of the type of signal; and obtaining the effect signal of the type of signal corresponding to the sampling position based on each three-dimensional semaphore matrix. The three-dimensional semaphore matrix describes the coordinates of the sampling locations of the various types of signals in relation to their semaphores.
To form a three-dimensional semaphore matrix, the center position of the critical dimension of the sampling location needs to be obtained first. Then, with the center position as a center, a predetermined distance is extended in the vertical and horizontal directions orthogonal to each other. It should be noted that, the sampling position is confirmed by the position of the gauge _0, and then CDs at two ends of the gauge _0 respectively correspond to the coordinate positions, so that the coordinate of the center position can be obtained according to the coordinate positions at the two ends. In an exemplary embodiment, a distance of 50nm extends from the center position, thereby obtaining a matrix range of a square with a side length of 100 nm. Next, each side length is divided at a distance of 5nm, so as to obtain 400 reference points in the matrix range, and the reference point coordinates of the reference points in the mask layout are determined, so that the coordinates of the reference points in the mask layout and the coordinates in the three-dimensional semaphore matrix are in a one-to-one correspondence relationship, and when the coordinate positions (x, y) of the reference points are known, the semaphore of the target signal (optical signal ai) corresponding to the reference point coordinates can be calculated by the above formula, so that after the sampling position is measured, the corresponding reference point coordinates can be searched in the three-dimensional semaphore matrix by the position coordinates of the sampling position of the target signal, and the semaphore at both ends of the sampling position can be obtained. It should be noted that the above values are merely exemplary and are not meant to limit the present invention, and other suitable values may be selected to limit the range of the three-dimensional semaphore matrix in practical procedures.
In order to obtain the respective corresponding three-dimensional semaphore matrices for these classes of signals, it is necessary to base the reference point coordinates of the previously determined three-dimensional semaphore matrix for the target signal. Taking the colloidal chemical acid-base car signal as an example, in order to calculate the signal amount of this type of signal, it is necessary to calculate the signal amount at each reference point of the three-dimensional signal matrix in the following manner, so that the three-dimensional signal amount matrix of the car signal is formed based on the coordinates of the three-dimensional signal matrix of the optical type signal and each signal amount calculated in the following manner. It should be understood, however, that the method for calculating the semaphore shown here is for illustrative purposes only, and the semaphore for other types of signals can be calculated by any suitable method, and will not be described herein.
In the colloidal chemical acid-base car signal, exposure to light generates acid, but does not directly affect dissolution. The acid catalyzes a reaction during PEB (called amplification), which changes the solubility.
During the exposure phase, direct photon absorption by the photoacid generator PAG releases an acid in a first order reaction, which is calculated by the following equation (3):
wherein G is PAG concentration; g 0 Initial PAG concentration; q is the acid concentration; i is a target semaphore value (obtained by calculating a target semaphore I (x, y) formula); c is an exposure constant; and t is the exposure time.
During the amplification stage, the acid catalyzes a reaction that consumes a reactive site (protected/locked site) to produce a reacted site (deprotected/unlocked site) calculated by the following equation (4):
wherein, since the acid concentration Q is a locally constant value after being stabilized by the baking process, the acid concentration Q is a locally constant value
(4)
Wherein Z is the concentration of the locking site; z 0 Is the initial lock-up site concentration; k is a radical of formula 4 Is the magnification constant; t is t PEB Is the baking time.
The concentration may then be normalized to an initial value, which is given by the following equation (5):
wherein, I is a target signal magnitude; c is an exposure constant; t is exposure time, q is residual ratio of acid concentration, K
amp =G
0 K
4 In order to normalize the rate constant,
is the amplification factor. The amplification factor varies linearly with the baking time, which varies significantly with time T, and is calculated by the following arrhenius equation (6):
wherein A is γ Is an Arrhenius coefficient, E a R is a general other constant for activation energy.
From the above formula, the z value, which is the semaphore for the car signal, can be calculated.
Further description will now be made with reference to fig. 3. As mentioned above, fig. 3 only shows a partial region of the mask layout, wherein one of the sampling locations is labeled as Gauge _0, and the sampling location is located at the midpoint of the drawing (for illustrative purposes only, it is not limited to the midpoint, and other locations may be selected for illustration, and the sampling location may be selected according to the requirements of measurement in the process in a specific application). Further shown at the sampling location is a solid line representing the location of Critical Dimensions (CDs) at both ends of the sampling location. After the position is measured, position coordinates of two ends of the sampling position are obtained, then a semaphore corresponding to the position coordinates is searched in a three-dimensional semaphore matrix, an average value of the two signal values is used as an effect signal of the sampling position, the effect signal of a type of signal at one sampling position is represented by Rij, wherein i is the type of the signal, j is the sampling position, for example, the type of the signal is 10, and the value of i is 1-10.
However, in an actual sampling process, the position coordinates of the critical dimension positions at both ends of the sampling position do not necessarily correspond to the reference coordinates in the three-dimensional semaphore matrix exactly, and the critical dimension positions may fall between the reference points of the semaphore matrix. Therefore, in a preferred embodiment, it is further proposed that interpolation fitting is performed based on the reference point coordinates by an interpolation algorithm based on each sampling position to obtain the semaphore corresponding to each of the two ends of the sampling position.
In this embodiment, a BiCubic (BiCubic) algorithm is used for interpolation fitting. In a specific example, the corresponding position of the end position of the sampling position in the three-dimensional semaphore matrix is found, then 16 reference points closest to the end position are found in the three-dimensional semaphore matrix, the 16 reference points are used as parameters for calculating the signal value of the end position, the weights of the 16 reference points are obtained by using the BiCubic basis function, and the signal value of the end position is equal to the weighted superposition of the 16 reference points. The bicubic interpolation algorithm is the most common interpolation method in a two-dimensional space, and has high interpolation precision and low image loss quality. However, the present invention is not limited to the bicubic interpolation algorithm, and other interpolation algorithms, such as bilinear interpolation, nearest neighbor interpolation, etc., may be used.
As can be seen in fig. 3, after the signal quantities at both ends of the sampling position Gauge _0 are obtained from the three-dimensional signal quantity matrix by the above method, the average value Rij of the two signal quantities is taken as the effect signal of the sampling position, so that the effect signals of all the sampling positions can be obtained. Therefore, for a sampling position, two interpolation algorithms need to be respectively adopted at two ends of the Gauge _0 to obtain an effect signal of the sampling position.
Returning again to fig. 2, at step 208, based on the obtained effect signal, a total signal value for the class of signals is calculated. Specifically, for each type of signal, the sum of the effect signals of all the adopted positions is obtained, and the sum of the effect signals is taken as the total signal value of the effect signals. The average of the effect signal for each type of signal at all sample positions is first obtained. The total signal value Si for each type of signal at all sample positions is then obtained based on the average value of the effect signal according to equation (7).
At step 210, the effect contribution ratio of each type of signal is calculated based on the total signal value Si of that type of signal.
Specifically, the contribution value Ti of each type of signal is first calculated according to formula (8) based on the total signal value Si of each type of signal.
Wherein Ci is a fixed effect coefficient preset according to the photoresist model, that is, after the photoresist model is determined, the effect coefficients of the signals respectively corresponding to the photoresist model are uniquely determined, which is determined by the properties of the photoresist model.
Then, the total contribution value T of all the signals is calculated based on the contribution value Ti of each type of signal according to equation (9).
Finally, according to equation (10), the ratio of the contribution Ti to the total contribution T of each type of signal is taken as the effective contribution ratio NTi of the type of signal.
Based on the above results, at step 212, the photoresist model is selected according to the calculated contribution ratio NTi of the effect of the type of signal. The calculated contribution ratios of the effects of the various types of signals are exemplarily shown in fig. 4 and 6.
In a preferred embodiment of the invention, a target signal of the plurality of types of signals, i.e. the optical type signal ai, is determined, and the photoresist model is selected based on the ratio of the contribution of the effects of the target signal. Specifically, the photoresist model is selected when the ratio of the effect contribution of the target signal is greater than or equal to a first preset threshold. The threshold value is a value preset according to experience and the effect to be achieved by the mask layout. In this embodiment, the threshold value may be selected to be 70%, preferably 75%; further preferably 80%. In the present embodiment, the threshold is preset to 80%.
In another alternative embodiment, at step 212, a photoresist model is selected based on the effective contribution ratio of the target signal, including: calculating a function value of a preset function by taking the effect contribution ratio of the target signal as an input value based on the formulas (11) and (12); and when the function value is less than or equal to a second preset threshold value, selecting the photoresist model.
Wherein, rmse is the root mean square error and is the square root of the ratio of the square sum of the deviation of the critical dimension simulation value and the historical true value of the photoresist model at each sampling position to the sampling times; rmse _ weight is the root mean square error weight; NT1 is the contribution ratio of the effect of the target signal; da and Db are preset constants; f (NT 1) is an exponential function, and F (NT 1) _ weight is the weight of the exponential function. In the present embodiment, a root mean square error is cited, which can well reflect the accuracy of the measurement.
It should be noted that, for a photoresist model with the capability of simulating at a given reticle and sampling location, the CD value of the critical dimension at each sampling location, i.e. the simulated value of the CD, is obtained. Under the condition that the sampling times are n, n CD simulation values and n historical true values (the historical true values are values obtained by performing historical simulation on the model) of the photoresist model need to be obtained, so that differences, namely deviations, between the n simulation values and the historical true values are obtained, the n deviations are respectively squared, then n sums of squares are obtained, and root cutting is performed after the ratio of the n sums of squares to n, so that the root mean square error of the photoresist model is obtained.
In a specific example, if the rms error Rmse of a certain photoresist model is calculated to be 1.4, the weight Rmse _ weight thereof is 1 (fixed preset value), the exponential function F (NT 1) of the target signal is 1, and the weight F (NT 1) _ weight of the exponential function is 1, the Cost value is calculated to be 1.2. If the second predetermined threshold is 1.4, the Cost value of the photoresist model is less than the second predetermined threshold, and the photoresist model is selected.
As can be seen from the above equations (11) and (12), when the effective contribution ratio NT1 of the target signal exceeds a certain predetermined threshold, the exponential function F (NT 1) of the target signal is rapidly decreased as NT1 increases, so that the Cost value is rapidly decreased, and thus the current photoresist model becomes more selective. Conversely, when the effect contribution ratio NT1 of the target signal is lower than the predetermined threshold, the exponential function F (NT 1) of the target signal remains substantially unchanged, thus having substantially no effect on the Cost value.
It should be understood that the various thresholds described in this embodiment are preset values according to experience and the effect to be achieved by the mask layout. The invention is not limited to the above exemplary listed thresholds.
In some embodiments of the invention, fourier operations, arrhenius equations, and interpolation algorithms are applied. However, the above manner is merely illustrative, and the embodiments of the present invention are not limited to the above manner. One skilled in the art, based on the teachings of the present disclosure, will appreciate that the effect contribution ratio may also be determined by other suitable mathematical operations.
The respective signal duty cases are described below with reference to fig. 4 to 7.
The respective types of effect contribution ratio cases in the case of model a are shown in fig. 4. The model is exemplified by an IMP layer, which has 1865 sample locations. Fig. 4 shows the effect contribution ratio of each type of model a. As can be seen from the figure, the signals are mainly classified into an optical type signal ai and a plurality of non-optical type signals, i.e., a colloid physical continuous a signal, a colloid physical continuous B signal, a colloid physical continuous C signal, a colloid physical edge a signal and a colloid physical B signal, car signal. As can be seen from fig. 4, the contribution of the effect of the signal of the optical type signal ai is 61.3286%, while the sum of the contributions of the effect of the non-optical type signal is 38.6714%.
In the present exemplary embodiment, the predetermined threshold value is selected to be 80%, below which the contribution of the effect of the optical signal is significantly lower, so that model a should be discarded.
Fig. 5 shows a signal cross-sectional view of the sampling position Gauge _0 of the model a. Line a in the figure is the signal threshold for measuring Critical Dimension (CD) and line b is the simulated signal. As can be seen from the figure, the simulated signal is very close to the threshold (chosen to be 80% in this embodiment) and entanglement occurs above the threshold. In this case, if the simulated viewing window is shifted such that line b moves up while line a remains stationary, critical dimension cannot be measured, or such that line b moves down while line a remains stationary, critical dimension can be measured. In the illustrated figure, the critical dimension CD of only one sampling location is obtained to be 262.28nm because the simulated signal is entangled above the threshold, but if the line b is shifted up, the critical dimension increases, which would result in exceeding a preset range of the critical dimension, thereby failing to output the critical dimension. This is not allowed to happen and the model needs to be abandoned.
Fig. 6 shows the effect contribution ratio case in the case of model B. The model is also exemplified by an IMP layer at 14nm (and in particular applications, at 7nm,28nm,40nm,65nm, and other process nodes) (embodiments of the invention may be used in other layers in other process nodes, such as metal layer, CT contact layer, etc.), which also has 1865 sampling locations. As can be seen from the figure, the signals are mainly classified into an optical type signal ai and a plurality of non-optical type signals, i.e., a colloid physical continuous a signal, a colloid physical continuous B signal, a colloid physical continuous C signal, a colloid physical edge a signal and a colloid physical B signal, car signal. However, unlike model a shown in fig. 4, model B has an optical type signal ai with an effect contribution ratio of 81.9965%, and the sum of the effect contribution ratios of the other non-optical type signals is 18.0035%. The contribution of the effect of the optical type signal of model B is about 20% higher than that of model a compared to model a. The contribution of the effect of the optical type signal of model B is above the threshold 80% and therefore the model can be selected.
Referring to fig. 7, a signal cross-sectional view of the same sampling position Gauge _0 in the case of this model B is shown. As can be seen from the figure, the signal does not dwell (does not tangle) around the threshold, and is safely distributed on both sides of the threshold. In fact, in fig. 7, the critical dimensions CD of 5 sampling positions are obtained in total, which are CD =72.6329, CD =19.3748, CD =78.9942, CD =20.1299, and CD =72.0586, respectively, from left to right. The critical dimension can be measured with line B shifted up or down to some extent, which makes the signal more stable and reliable, so model B should be selected.
By selecting the model with high contribution ratio of optical effect, the proportion of selecting the unstable model can be obviously reduced, and the proportion of finding a more stable model can be improved. This greatly saves human cost and resource consumption, provides effective help for the user to select the model.
FIG. 8 shows a schematic block diagram of an example device 700 that may be used to implement an embodiment of the invention. For example, the electronic device of the invention may be implemented by the device 700. As shown, device 700 includes a Central Processing Unit (CPU) 701 that may perform various appropriate actions and processes in accordance with computer program instructions stored in a Read Only Memory (ROM) 702 or computer program instructions loaded from a storage unit 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The CPU 701, ROM 702, and RAM 703 are connected to each other via a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Various components in the device 700 are connected to the I/O interface 705, including: an input unit 706 such as a keyboard, a mouse, or the like; an output unit 707 such as various types of displays, speakers, and the like; a storage unit 708 such as a magnetic disk, optical disk, or the like; and a communication unit 709 such as a network card, modem, wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The processing unit 701 performs the various methods and processes described above, such as the method 200. For example, in some embodiments, the method 200 may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of a computer program may be loaded onto and/or installed onto device 700 via ROM 702 and/or communications unit 709. When the computer program is loaded into the RAM 703 and executed by the CPU 701, one or more steps of the method 200 described above may be performed. Alternatively, in other embodiments, the CPU 701 may be configured to perform the method 200 in any other suitable manner (e.g., by way of firmware).
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a load programmable logic device (CPLD), and the like.
Program code for implementing the methods of the present invention may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program codes, when executed by the processor or controller, cause the functions/operations specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, in components on the machine, as a stand-alone software package in components on the machine and in components on a remote machine or entirely on the remote machine or server.
In the context of the present invention, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
Further, while operations are depicted in a particular order, this should be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the invention. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination.
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.