Correcting a mask pattern by selectively updating the positions of specific segments

Correcting a mask pattern includes accessing the mask pattern segmented into segments. An attribute value is established for each segment, where the attribute value for a segment describes an attribute of the segment. The following is repeated for one or more of the attribute values to generate a corrected mask pattern: selecting segments using one or more attribute values; calculating a current correction value for each of the selected segments with respect to previously selected segments updated according to previously calculated correction values; and updating the selected segments according to the current correction values.

TECHNICAL FIELD

This invention relates generally to the field of integrated circuits and more specifically to correcting a mask pattern by selectively updating the positions of specific segments.

BACKGROUND

Masks such as photomasks are typically used in photolithographic systems to define patterns on objects such as integrated circuits. The pattern defined on the object, however, may sometimes differ from the pattern of the mask. For example, optical diffraction may cause the pattern defined on an integrated circuit to differ from the pattern of the mask.

A mask pattern may be corrected to compensate for these deviations. According to a known technique for correcting a mask pattern, a pattern may be divided into segments. A correction value may be determined for each segment of the pattern, and the segments may then be updating according to the correction values. The known technique, however, may not be efficient in certain situations. It is generally desirable to be efficient in certain situations.

SUMMARY OF THE DISCLOSURE

In accordance with the present invention, disadvantages and problems associated with previous techniques for correcting a mask pattern may be reduced or eliminated.

According to one embodiment of the present invention, correcting a mask pattern includes accessing the mask pattern segmented into segments. An attribute value is established for each segment, where the attribute value for a segment describes an attribute of the segment. The following is repeated for one or more of the attribute values to generate a corrected mask pattern: selecting segments using one or more attribute values; calculating a current correction value for each of the selected segments with respect to previously selected segments updated according to previously calculated correction values; and updating the selected segments according to the current correction values.

Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment may be that specific segments of a mask pattern may be selected for adjustment during an iteration of a correction procedure. The segments may be selected according to attribute values. Adjusting specific segments may provide for more targeted correction of a mask pattern. Another technical advantage of one embodiment may be that adjusting selected segments instead of all segments during an iteration may improve computational efficiency. Another technical advantage of one embodiment may be that certain segments may be adjusted during a first iteration, and different segments may be adjusted during a second iteration with respect to the segments adjusted during the first iteration.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1Aillustrates an example mask pattern10that includes a trim layer pattern20, a zero phase layer pattern22, and a pi phase layer pattern24. A mask may refer to a photomask typically used in a photolithographic system to define a desired pattern on an object such as an integrated circuit. Typically, a mask is placed between a light source and the object. The mask selectively blocks and modifies light from the light source to define a pattern on the object. A mask pattern may refer to a pattern of a mask or any suitable portion of a mask that defines the desired pattern on the object. For example, a mask pattern may refer to a pattern of a mask, a layer of a mask, or a region of a mask.

Mask pattern10may be corrected to compensate for deviations between mask pattern10and the pattern desired on the object. To perform the correction, mask pattern10may be divided into segments30. A segment30may have an attribute value for an attribute describing a feature of the segment30. For example, an attribute value may indicate that a segment30belongs to a specific layer of a multi-layer mask set. As another example, an attribute value may indicate that a segment30belongs to a type of polygon within a single layer mask or mask set. Segments30may be adjusted to compensate for deviations. According to one embodiment, specific segments30may be selected for adjustment using attribute values.

According to the illustrated embodiment, mask pattern10may comprise layer patterns such as trim layer pattern20, zero phase layer pattern22, and pi phase layer pattern24, which are described in more detail with reference toFIGS. 1B and 1C. Mask pattern10, however, may include any suitable number of patterns for any suitable mask layers. For example, mask pattern10may comprise a single pattern for a single layer.

FIG. 1Billustrates trim layer pattern20that includes a transparent region pattern26and an opaque region pattern27. Trim layer pattern20represents the pattern of a trim mask. A trim mask may comprise a binary mask or other suitable photomask. A trim mask may have a substrate comprising a substantially transparent material, such as quartz, operable to transmit light. An patterned opaque layer may be disposed outwardly from the substrate to yield a trim mask having a substantially opaque region and a substantially transparent region. Transparent region pattern26represents the pattern of the substantially transparent region, and opaque region pattern27represents the pattern of the substantially opaque region. The opaque layer may comprise a substantially opaque material, such as chromium, operable to block light.

FIG. 1Cillustrates zero phase layer pattern22, pi phase layer pattern24, and an opaque region pattern28. Zero phase layer pattern22and pi phase layer pattern24represents the pattern of an alternating phase shift mask or other suitable photomask. An alternating phase shift mask may have a substrate comprising a substantially transparent material, such as quartz, operable to transmit light. The substrate may be etched to form zero phase regions and pi phase regions. Zero phase layer pattern22represents the pattern of the zero phase regions, and pi phase layer pattern24represents the pattern of the pi phase regions. Light passing through a pi phase region may be 180° out of phase from light passing through a zero phase region. Accordingly, light passing through a zero phase region and an adjacent pi phase region may destructively interfere to form a sharper pattern line.

An opaque layer may be patterned outwardly from the substrate to yield a substantially opaque region. The opaque layer may comprise a substantially opaque material, such as chromium, operable to block light. Opaque region pattern28represents the pattern of the substantially opaque region.

Referring back toFIG. 1, mask pattern10may have portions designed to pattern specific features of an object such as an integrated circuit. For example, mask pattern10may have a portion40designed to pattern an interconnect region, and a portion42designed to pattern other types of regions such as a transistor gate.

Mask pattern10may be required to pattern features according to critical dimensions. A critical dimension is a dimension that may be required to be defined with a high degree of accuracy. For example, a mask pattern10that defines a transistor gate may have the channel length of the gate as a critical dimension. The channel length may be required to be defined with an accuracy of, for example, approximately one nanometer.

Mask pattern10may be corrected for deviations that may occur during the manufacturing process of an integrated circuit. Deviations may result from, for example, optical diffraction, etch effects, mask-making effects, resist effects, or other effects occurring during the manufacturing process. To compensate for these deviations, mask pattern10may be adjusted according to a proximity correction procedure such as an optical proximity correction (OPC). Proximity correction may be performed using, for example, optical proximity correction software such as PROTEUS software by SYNOPSYS INCORPORATED.

The mask layer patterns20,22, and24, may be divided into segments30to perform the proximity correction procedure. A segment may refer to a portion of a line of a pattern that may be individually updated during correction. A segment30may have an alignment that indicates whether the segment30is aligned horizontally or vertically with respect to a coordinate grid. A line of segments30may have a direction that indicates the order in which the segments30are to be corrected.

A segment30may have one or more attribute values for one or more attributes. An attribute represents a general feature of segments30, and an attribute value for a particular segment30describes the feature of the particular segment30. Typically, an attribute may represent a feature used to select segments30to update during the correction process. As an example, an attribute may represent layer patterns to which segments30of mask10may belong, and an attribute value for a segment30may denote the particular layer pattern20,22, or24to which the segment30belongs. According to one embodiment, segments30of the trim polygons of trim layer pattern20may be assigned a first attribute value, segments30of the zero phase polygons of zero phase layer pattern22may be assigned a second attribute value, and segments30of the pi phase polygons of pi phase layer pattern24may be assigned a third attribute value.

An attribute may represent any other suitable feature of a segment30. According to one embodiment, an attribute may describe whether a segment30requires high precision correction. For example, an attribute value may indicate whether a segment30is associated with a critical dimension region that may require higher precision correction, or an inactive region that may be patterned with lower precision. According to another embodiment, an attribute may indicate the length or position of a segment30. For example, an attribute value may indicate whether a segment30is at a corner, at an edge, or at an end of a region. According to another embodiment, an attribute may describe the direction or alignment of a segment30. For example, an attribute value may indicate whether a segment30is horizontal and has a right or left direction, or vertical and has an up or down direction.

According to one embodiment for performing correction, a representation of the pattern, including segments, is stored in a database, and a correction procedure operates on the representation. Correction values are calculated for selected segments30, and only the selected segments30are submitted to the portion of the correction procedure that updates the segments. The correction procedure does not operate on the segments30that are not selected. Updating only selected segments30may improve efficiency. Moreover, there is no need to set the correction values of non-selected segments30to zero, as may be required by some correction techniques.

For example, during an iteration, specific segments30may be selected according to one or more attribute values, and a correction value that effects a correction movement may be calculated for each selected segment30. A correction movement for a segment30may refer to a change in position of the segment30to correct a mask pattern10, and a correction value may be calculated using the proximity correction procedure. The change in position may be given with respect to a coordinate grid, the original position of the segment30, or the position of another segment30.

After calculating the correction values, only the selected segments30are submitted to the portion of the correction procedure that updates the segments according to the respective correction values. Updating segments30may refer to calculating the next position of the segments30, determining how to connect the segments30in their next positions, or both the steps of calculating and determining. Moving segments30may refer to determining how to represent the segments30in their next positions, actually representing the segments30in their next positions, outputting the representation, or any combination of the preceding. During a next iteration, segments30may be selected using the same attribute values, or segments30may be selected using different attribute values.

According to one embodiment, selecting specific segments30to be corrected during a first iteration allows for segments30of a second iteration to be adjusted with respect to the positions of segments30corrected during the first iteration. That is, during a first iteration, a first set of segments30may be adjusted, and during a second iteration, a second set of segments30may be adjusted with respect to the first set of segments30.

During each iteration, the embodiment submits a first set of two sets segments to the procedure for updating. The second set is not submitted. Accordingly, the procedure does not need to process the second set, so their correction values do not need to be set to zero, as may be required by some correction techniques. As an example, during a first iteration, a first set of segments30comprising segments30of trim layer pattern20is selected for updating, while a second set of segments30comprising segments30of zero phase layer pattern22and pi phase layer pattern24is not selected. The correction values of only the first set are calculated, and the only first set is updated. It is not necessary to enter zero for the correction values of the second set, as may be required by some correction techniques. During a second iteration, the second set is selected for updating. The correction values of only the second set are calculated, and only the second set is updated. During each iteration, the segments that are not selected are not updated.

As another example, during a first iteration, a first set of segments30comprising vertical segments30with an up direction and horizontal segments30with a right direction may be selected for updating. During a second iteration, a second set of segments30comprising vertical segments30having a down direction and horizontal segments30having a left direction may be selected for updating.

Adjusting a first set of segments30and then adjusting a second set of segments30with respect to the first set may provide for more efficient convergence to critical dimensions, which may in turn provide for more efficient convergence to a corrected mask pattern10. For example, a first segment30may be adjusted to define a portion of a feature having a critical dimension, and second segment30may be adjusted with respect to the first segment30to satisfy the critical dimension. For example, a first segment30may be adjusted to define one side of a gate having a critical width, and second segment30may be adjusted with respect to the first segment30to position the other side of the gate to satisfy the critical width.

According to one embodiment, selecting specific segments30to be corrected allows for certain segments30to be corrected more or fewer times than other segments30. Certain segments30may not require precise adjustment. For example, segments30used to define field regions may require less precise adjustment than segments30used to define a gate region. Segments30that require less precise adjustment may have fewer correction iterations than segments30that require more precise adjustment.

In summary, segments30are selected. Correction values for the selected segments are calculated. The selected segments are submitted to the portion of the correction procedure that updates the selected segments30.

Modifications, additions, or omissions may be made to mask pattern10without departing from the scope of the invention. For example, mask pattern10may include more, fewer, or other layer patterns. “Each” as used in this document refers to each member of a set or each member of a subset of a set.

FIG. 2is a block diagram illustrating one embodiment of a system110for correcting a mask pattern10. According to the illustrated embodiment, system110includes a client system120, a server system124, and a database128coupled as shown.

According to one embodiment, client system120allows a user to communicate with a server system124to correct mask pattern10. Server system124manages applications that correct mask pattern10such as a correction module130. Correction module130performs a correction procedure on mask pattern10. An example of a method that may be performed by correction module130is presented with reference toFIG. 3. Database128stores data used by server system124.

Client system120, server system124, and database128may each operate on one or more computers and may include appropriate input devices, output devices, mass storage media, processors, memory, or other components for receiving, processing, storing, and communicating information according to the operation of system110. For example, the present invention contemplates the functions of any combination of client system120, server system124, and database128being provided using a single computer system, for example, a single personal computer. As used in this document, the term “computer” refers to any suitable device operable to execute instructions and manipulate data to perform operations, for example, a personal computer, work station, network computer, wireless telephone, personal digital assistant, one or more microprocessors within these or other devices, or any other suitable processing device.

Client system120, server system124, and database128may be integrated or separated according to particular needs. If any of client system120, server system124, and database128are separated, the separated component may be coupled to the other components using a bus, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), a global computer network such as the Internet, or any other appropriate wire line, wireless, or other link.

Modifications, additions, or omissions may be made to system110without departing from the scope of the invention. Moreover, the operations of system110may be performed by more, fewer, or other modules. For example, the operations of correction module130may be performed by more than one module. Additionally, operations of system110may be performed using any suitable logic comprising software, hardware, other logic, or any suitable combination of the preceding.

FIG. 3is a flowchart illustrating one embodiment of a method for correcting a mask pattern10. Mask pattern10may be corrected to generate a mask that defines a desired pattern on an object. The method begins at step200, where mask pattern10is accessed. Correction module130may access mask pattern10stored at database128. Mask pattern10may be divided into segments30at step204. A segment30may be updated and moved according to a calculated correction value in order to correct mask pattern10.

Attribute values of segments30are established at step208. A segment30may have an attribute value that describes an attribute of the segment30. For example, an attribute may represent a layer pattern to which a segment30belongs, and an attribute value may indicate whether a segment30belongs to trim layer pattern20, zero phase layer pattern22, or pi phase layer pattern24.

Specific segments30are selected at step212using one or more attribute values. For example, the one or more attribute values may indicate any of or any combination of trim layer pattern20, zero phase layer pattern22, or pi phase layer pattern24. A correction value is calculated for the selected segments30at step216. The correction value may be calculated by, for example, an optical proximity correction technique.

The selected segments30are updated according to the correction values at step220. The selected segments30may be updated by calculating the next positions of the selected segments30, determining how to connect the segments30in their next positions, or both the steps of calculating and determining. If there is a next iteration at step224, the method returns to step212to select the next segments30using one or more attribute values. If there is no next iteration at step224, the method proceeds to step228, where corrected mask pattern10is reported. After reporting corrected mask pattern10, the method terminates.

Any suitable segments30may be selected for adjustment during a particular iteration. According to one example, segments30belonging to the trim, zero phase, and pi phase layer patterns20,22, and24are selected for adjustment during the first and second iterations. During the third iteration, segments30of the trim layer pattern20are selected, and during the fourth iteration, segments30of the phase and zero phase layer patterns22and24are selected. Segments30of the pi phase layer pattern24are selected during a fifth iteration, and segments30of the zero phase layer pattern22are selected during a sixth iteration.

Modifications, additions, or omissions may be made to the method without departing from the scope of the invention. The method may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order without departing from the scope of the invention.

Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment may be that specific segments of a mask pattern may be selected for adjustment during an iteration of a correction procedure. The segments may be selected according to attribute values. Adjusting specific segments may provide for more targeted correction of a mask pattern. Another technical advantage of one embodiment may be that adjusting selected segments instead of all segments during an iteration may improve computational efficiency. Another technical advantage of one embodiment may be that certain segments may be adjusted during a first iteration, and different segments may be adjusted during a second iteration with respect to the segments adjusted during the first iteration.

While this disclosure has been described in terms of certain embodiments and generally associated methods, alterations and permutations of the embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.