The present disclosure of invention relates generally to the art of making photolithography masks for use in the fabrication of multilayered and monolithically-integrated devices such as integrated circuit semiconductor devices.
The disclosure relates more specifically to the steps of adding dummy fill features to digitized representations of photolithography masks for the purpose of assuring that the mask patterns are in compliance with fill uniformity specifications, and to the steps of checking the dummy-filled mask definitions and transmitting post-check mask definitions to mask manufacturing facilities.
A modern, monolithically-integrated circuit device (IC) is a technical marvel. It often represents the accumulated expertise of large numbers of technical professionals working in a wide variety of technical arts including that of miniaturization of very complex circuit layouts. Interlaced within this complex hierarchy of expertise are groups of people who carry out steps such as per-die design of functional circuitry, per-layer design of interconnect layout and/or design of layout of other functional features, mask set production and post-production mask inspection, per-layer planarization, photolithography, etching, and post-etch pattern inspection.
Buried among these more well known steps is the arcane art of dummy feature fill. It turns out that various processing operations in semiconductor manufacture are sensitive to average feature density across a layer area. Examples include CPM (chemical mechanical polishing), photolithography and pattern etch. It is sometimes desirable to provide a relatively uniform density of feature fill and of featureless, empty space to density-sensitive process steps. The functional parts of an IC layer layout are rarely of uniform fill density. Thus, featureless empty space between the functional parts are routinely filled with nonfunctional islands or dummy fill features.
Dimensions of, and spacings between dummy fill features and spacings away from functional elements are often application specific. Thus each layer of an integrated circuit (i.e., metal-1, metal-2, etc.) will generally have its own unique set of dummy-fill parameters. A conventional fill method drops individual fill objects in raster scan fashion across a functional layout and then automatically deletes those of the dropped dummy objects that overlap with functional objects or come too close to those functional objects. This provides a relatively good fill of empty spaces and conforms with rules regarding how far away dummy objects should be from functional objects. However, because each dummy fill object is individually defined (typically as a square having two corner coordinates), this raster fill approach consumes large amounts of memory storage space in that it is often used for individually defining thousands or millions of fill objects per layer. The file that contains such multitudes of individually-defined dummy-fill objects (as well as numerous and complex, functional features) can become cumbersome to manage because of its large size.
To overcome this problem, one prior approach tries to automatically tile the whole empty space of a given layer and to then fill the generated tiles with regular arrays of dummy fill objects. An array of regularly-spaced, fill objects can be defined with less data than needed for individually defining the same number of dummy objects once the number exceeds a small threshold value. For example, an array may be defined as an instance of a given, array-starting polygon (i.e., a rectangle having a diagonal with two corner coordinates), row and column repeat numbers and spacing numbers. When the number of polygons defined by the array exceeds a corresponding threshold, the array requires less data storage space than a flat definition wherein the same number of polygons is defined individually, with each individual polygon being specified by its own unique set of critical coordinates. While in the abstract, this tile-and-fill approach sounds like it should work well, there are subtleties to the tile-and-fill approach that tend to leave undesirable empty spaces in the final product. Reasons for why the undesirable empty spaces appear are explored in detail below.
Due to the shortcomings of the tile-and-fill approach, artisans often reluctantly return to the more reliable but storage-consuming, flat-fill technique. It is desirable to have a method whereby the full-fill characteristics of the older flat-fill technique can be had in combination with the data storage efficiencies of the tile-and-fill approach.
Structures and methods may be provided in accordance with the present disclosure of invention for improving over the above-summarized shortcomings of the prior flat-fill technique and the prior tile-and-fill approach.
More specifically, in accordance with one aspect of the present disclosure, an automated fill method is provided that comprises: (a) automatically flat-filling a device area with individually specified polygons; (b) automatically and uniformly increasing the dimensions of the individual polygons so that adjacent ones just touch each other and automatically merge to form wrinkle-free outlines of the merged dummy islands; (c) redefining the wrinkle-free outlines as corresponding empty space islands; (d) automatically tiling each of the empty space islands; and (e) filling the tiles with corresponding arrays of polygons. A database is then formed to include array-type descriptions of the tile-filling arrays of polygons.
Without wishing to be bound to any specific theory of operation, it is believed that the merge-and-tile technique works because of the placement and numbers of vertices in the merged dummy islands and the way that general purpose tiling techniques homes in on those vertices as it begins to define tile boundaries.
An integrated device layer in accordance with the disclosure comprises: (a) functional features and (b) dummy-fill features interspersed adjacent to the functional features where the dummy-fill features are defined by corresponding array specifications and the array specifications are products of a process comprised of: (b.1) automatically flat-filling empty parts of the device layer with individually specified polygons; (b.2) automatically generating conformal and substantially wrinkle-free outlines that surround contiguously adjacent ones of the flat-filled, dummy-objects; (b.3) redefining the outlines as corresponding empty space islands; (b.4) automatically tiling each of the empty space islands; and (b.5) generating said array specifications to fill the tiles with corresponding arrays of polygons.
Other aspects of the disclosure will become apparent from the below detailed description.
The below detailed description section makes reference to the accompanying drawings, in which:
This first blush recognition of the individual dice and scribe lines can be somewhat misleading. Actually, the wafer 50 is more accurately pictured as being divided into sections known as reticle fields, where each reticle field has two or more dice. An example of a reticle field is shown at 51. The illustrated field 51 contains six (6) dice, with the square denoted as 52 representing one of those dice. The six exemplary dice are arranged as a 3-by-2 rectangular array. Otherwise configured arrays can, of course, be formed. The dice array in field 51 has at least one horizontal scribe line 54 extending through roughly the middle of the reticle field and a number of vertical scribe lines extending through the reticle field in locations that are also spaced away from the edges of the reticle field 51. Associated with each reticle field 51 is a set of patterning masks that define how various layers of the on-wafer reticle field are patterned.
The reticle field 51 may be crudely thought of as an imprint that is left behind by an inked stamp which was sequentially stepped across the wafer so as to stamp out the series of dice and scribe lines shown at 50. That however is still not an accurate picture because the wafer 50 is comprised of a series of different layers stacked one on top of the other. This is better shown in the cross-section of
Referring again to
When practitioners wish to define a specific geometric shape (a functional or dummy fill feature) that is placed in a specific location within the compiled reticle field 51 (either when the field is located on-wafer or on-mask), they typically specify a code for the shape or type of data object (e.g., square, rectangle, N-sided polygon, array of polygons) and codes for locations of critical points and/or dimensions of critical distances in the specified shape or array. For example, a rectangle object may be defined as being located on-wafer or on-mask and having a diagonal with end points (x=x1, y=y1) and (x=x2, y=y2) where these x, y coordinates are provided relative to a prespecified grid and its origin. Thus, if a million individual squares are to be defined in flat-fill format (where each square is individually defined), the database will contain four million coordinate values; in other words 4 for each additional object that is so defined in flat-fill format.
For purpose of illustration,
Each physical 2D layer of the to-be-fabricated wafer can have its own unique composition and its own unique set of requirements for lithography, for patterning and for dummy fill of empty spaces. Accordingly, a different kind of photolithographic mask (or plurality of such masks) may be called for in the fabrication of each unique 2D layer (e.g., AA, P1, C1, P2, C2, etc.). In step 75 the respective on-mask layout designs for each respective photolithographic mask are prepared by the corresponding layer design groups. Part of the per-layer design effort is shown in step 76 as generating dummy fill definitions and incorporating them into the computer-readable definitions of functional layer parts. By way of example, box 76b shows how the functional features of box 56b (
In step 77, the dummy filled layer definitions are stored in a computer readable database (e.g., a storage disk farm). The amount of storage capacity needed will depend in part on how the dummy fill is defined (flat-fill versus array fill). In step 78, the database is subjected to various, automated rules checks. These may include LVS (Layout versus Schematic checks) and DRS (Design Rules compliance checks). The size of the layout-defining file for each layer may play an important in role in how quickly these checks can be performed, if at all. Sometimes a layout-defining file may be too big to be processed by a given computer system (i.e., due to system RAM limitations).
In test step 78a, a decision is made as to whether the current design passed all the checks or failed. If it failed, control is returned to step 75 or lower so that the appropriate design groups can try to make corrections. One of those corrections may include redefining how the dummy fill is generated in step 76. It may be appreciated that the dummy fill process 76 and the database storage process 77 may have to be rerun numerous times before a passing design is attained.
When the layout designs (75) for all the masks are finished, including successful dummy fill (76) and rules checking (78), the composed mask set is ready for a step known as “tape out” 79. The tape out process 79 may include transmission (79a) over a network (e.g., the internet) of database files to a mask-making facility. At the mask-making facility, the received data is first processed by error detecting and correcting software (ECC software) and after data integrity is confirmed, the database definitions are typically “flattened” (79b, arrays are reconverted to individual object definitions) and the corresponding photomasks 82 are manufactured and checked for conformance relative to the database specifications. Those skilled in the art will appreciate that database file size can affect how easily and correctly the layout data is transmitted (79a) to the mask houses, how easily or quickly it is verified by ECC methods and how easily resulting masks can be displayed on a computer screen or otherwise when conformance checking occurs.
The fully-designed wafer is now ready to enter the physical fabrication phase 80. After each of the 2D mask layout designs is digitally encoded as a respective computer data file and sent to a respective one of, or possibly more of, different mask-making houses for manufacturing of the masks, the masks are returned to the user for follow-up photolithography and other steps. Fabrication phase 80 includes a lithographic exposure state. In this state, a given wafer 85 (an in-process wafer) has been coated with a photosensitive layer (PSL) 86 and the upper surface 86a of the PSL has been planarized. Radiation 81 from a given light source or other kind of radiative source is passed through one of the manufactured photomasks 82 for projection onto PSL surface 86a. The mask image is typically transformed optically by a stepper optical system 83. By way of example, the projection transformation can include a 2D dimensional reduction of about 2 to 1 and more typically it will include a reduction amount of about 4:1 or about 5:1. The so-transformed mask image is projected into a first reticle area 84 within the larger surface area 86a of the photosensitive layer. Sufficient exposure time is provided for photochemically altering the exposed first reticle area 84. Then the stepper steps the projected mask image to a next reticle area adjacent to first area 84. The expose and step procedure is repeated until all desired reticle areas on surface 86a have been exposed. This is how the photomask 82, in essence, becomes a stamp which repeatedly imprints the reticle pattern across the wafer 85, one step after the next. Needless to say, if there is an error or defect in the way that dummy fill patterns were included into the photomask 82, that problem will be replicated many times across the entire wafer. It is important for the photomask 82 to be properly filled with dummy features when such are needed for consistent mass production results.
In step 90 of fabrication phase 80, the step-wise exposed photosensitive layer (PSL) 86 is developed and used to physically pattern the underlying layer material 87. The physical patterning may include plasma etching and/or other forms of physical patterning. In a subsequent step 92 it is determined whether step 90 was the last photolithographic patterning round for the in-process wafer. If the answer is NO, then a next mask is obtained in step 95 and the process is repeated by projecting further radiation through the next mask (95) and its associated optics. The associated exposure radiation (81) and/or optics (83) and/or PSL (86) of the next mask (95) can be substantially different from those used for the earlier mask 82 and as such the associated rules for dummy fill can be different. Steps 90 and 92 may be repeated many times before the answer at step 92 is YES. In each repetition, the respective material layer (87) can be substantially different as can be the respective development and patterning processes (91) as well as the resulting patterns. The completed wafer 50″ which emerges from the YES path of step 92 may subsequently be sent to a wafer sort, dice, and re-test facility.
Referring to
In terms of more specifics, the polygon definitions provided in the received layout specification 250 will generally be described relative to a predefined coordinate system (e.g., orthogonal x and y axes as shown). The entire die or reticle area may be defined as a bounding rectangle having diagonal corner points 250a and 250b, where each of the corner points is specified as two coordinate numbers (xj, yj) on the x versus y coordinate plane. Specific objects within the bounded layout area 250 may be defined as bounded polygons having two or more vertices (i.e., corner points, cusps, angle vertex points) each. By way of example, object 251 includes vertex points such as 251a, 251b, 251c, and 251d. In commercial practice, the layout will be far more complicated than what is shown at 250. The simplified illustration 250 is provided merely for easy understanding. An actual layout may have hundreds or thousands of functional objects and each of these may be represented by large numbers of respective vertex coordinates (i.e., 251a-251d, etc. for object 251).
In a subsequent process step 212, the received computer file that describes the layer layout 250 is inverted so as to thereby convert the functional objects (i.e., polygons 251 and 252) into voids or holes while the empty space 253 is redefined as solid landscape area that is to be filled with dummy-fill objects. An example of the inverted data is shown at 250′ where region 252′ represents a square hole through the otherwise mostly solid landscape area 253′ that is to be filled with dummy objects. Symbol 212′ represents the inversion process of step 212.
At next step 220, computer-readable rules for the dummy-fill process are received from the layer design group. Specific shapes of the dummy fill objects and their dimensions as well as pitch can vary from application to application. For example, the dummy-fill objects may be specified as regularly packed hexagons, circles or stars rather than the illustrated squares. The illustration at 260 is merely an example. The received dummy-fill rules will typically specify x and y dimensions for a sample dummy-fill object such as ones illustrated at 261x and 261y. The rules will further specify a first set of spacings 262x and 262y to be maintained between adjacent dummy-fill objects. The rules will further specify additional spacings 263x and 263y to be maintained between dummy fill objects and adjacent functional objects (i.e., object 252 of layout 250). It is often the case that spacing 263x is greater than 262x and spacing 263y is greater than 262y.
Given the computerized and inverted layout file 250′ and the dummy-fill rules 260, the process next proceeds to step 230 where a raster fill is initiated in the empty space 253″ for thereby filling the open areas with dummy-fill objects 265. A sample dummy-fill object specification is shown at 275. This computer-readable specification 275 includes a first data item indicating the shape or type of the dummy-object, in this case a square. The specification 275 further includes second and third data item indicating the respective coordinates for diagonal points Pt.1 and Pt.2. In this case, therefore, each individual dummy object specification 275 contains three data items for specifying the shape, orientation and location of the corresponding dummy-object, namely the type data and the corner coordinates data. In alternate embodiments, more complex dummy objects may be specified by specifications that have larger numbers of data items for specifying their respective shapes, locations and orientations. In one embodiment of process step 230, the raster fill of the individual dummy objects begins at the left bottom corner of the fill area 270 and proceeds left to right in accordance with the specified horizontal separation dimension 262x for the dummy-objects. Any temporarily-laid down dummy-object which violates the separation rules (i.e., 263x, 263y) required between dummy and functional objects is removed either during the raster fill or shortly thereafter. Following completion of each horizontal raster fill 271, the process steps up by vertical separation distance 262y and begins a fresh horizontal raster fill operation 271. This vertical stepping up along the layout area is represented by symbol 272. The process continues until the bounded fill area 253″ has been exhausted. A possible result is shown at 276b.
At next step 240 of the flat-fill process 200, the accumulated dummy-object specifications (275) that have been generated for specifying each of the individual dummy objects are appended to the functional layer layout data received at 210 to thereby generate the dummy-filled layout file (represented as 276b).
At step 245, the dummy-filled computer file (276b) is stored in an appropriate data storage medium (e.g., magnetic or optical disk farm) for later use. Referring briefly to
Since the set of individually-specified dummy-objects can be constituted by specifications for thousands or usually millions of individual flat-fill objects and since each object consumes plural data storage regions for its respective type specification and/or vertex coordinates, the flat fill approach can consume enormous amounts of data storage area in step 245. The large size of the post-flat-fill file (276b) makes it cumbersome for handling during rules checking (78) or even simply for opening the file to display its contents on a computer screen. Additionally, it becomes a problem to transmit (79a) the large computer file over a network to the mask house because large files are more prone to being damaged by in-transit error (noise). If a file is extremely large, it may be very time consuming and troublesome to transmit an error free version of it to the intended destination.
Given this, there has been a long felt desire in the industry to find a way of reducing the amount of storage data needed for generating dummy-fill specifications. One alternate and previously tried method is known as the tile-and-fill technique. Referring to
At next step 220″, the automated process receives dummy-fill rules from the design group. At subsequent step 230″ the automated process “tries” to fill the generated tiles of step 214″ with arrays of dummy objects in accordance with the received dummy-fill rules (220″). More specifically, referring to tile rectangle 254, the corresponding array that fills this rectangle 254 may be specified in accordance with the data structure shown at 285. Data structure 285 specifies itself as being of type, array. Data structure 285 further specifies an instance of the array as being a square having diagonal corner points Pt.i and Pt.j and respective separation pitches corresponding to 262x and 262y. Further the array data structure 285 will include repeat value specifications indicating the number of instances across each row (Nx) and the number of columns per row (Ny). Although an individual array structure 285 typically contains many more data items than an individual flat fill object 275 (
In step 240″ the generated and accumulated array data (285) is appended to the file data for the functional layer layout and in step 245″ the compiled data is stored.
While this tile-and-fill technique 202 appears to solve the problem of generating fill data while consuming less storage space, in actual practice its performance is sometimes far worst than that of the older flat-fill technique 200. Unaccounted-for “wrinkles” can confound the process. Note that step 230″ is characterized as “trying” to fill the generated tiles with the arrays of dummy objects. Not every try is successful. In some cases large numbers of tiles remain unfilled because the tile dimensions are too narrow to allow any dummy objects to be filled into such tiles. Large empty spaces may be left behind simply because the auto-tile program generated narrow elongated rectangles in places where it might have generated wider rectangles.
Exemplary layout 290″ shows how this can happen. Functional objects 291 and 292 have arbitrarily placed vertex points that locate relative to one another so as to encourage generation of narrow tiling boundaries. For example, interaction between slots and ribs in the randomly situated objects 291-292 can fool the automated tiling program into generating very closely-spaced initial tiling boundaries such as the pair shown at 293. These closely-spaced boundaries will produce narrow tiling rectangles which cannot be filled with dummy-fill objects. As a result, the entire large area between exemplary objects 291 and 292 may go unfilled. The interior slots and ribs of exemplary, functional features 291 and 292 may be deemed as part of a larger set of closely-spaced “wrinkles” that can plague the shape of a functional object in actual commercial practice. Such wrinkles need not be defined by rectangular slots or ribs. Any set of closely spaced vertices (where close spacing is relative to the dimensions of the dummy-fill rules), including minor kinks and bends in the border of each functional feature can fool the auto-tiling software into generating tiling boundaries that are too small to later accommodate the dummy-fill objects.
Referring to
In one embodiment, however, it has been found that the outlines may be generated in a very quick and simple way 335. Assuming all the dummy-objects (i.e., 365) are equally spaced apart squares, a command is issued to automatically enlarge all such objects symmetrically (from their respective geometric centers) by an amount (335x, 335y) that causes them to just touch each other. The computer program that performs this automated object-size expansion includes an auto-merge feature. It recognizes that when two polygons just touch or overlap one another, that those polygons should be merged into a singly defined polygon. Accordingly, as the dummy-objects are automatically enlarged (335x, 335y) so as to meet with one another at their mutual centerlines of spacing (e.g., 336y), they also auto-merge to thereby define one or more, conformably fitting outlines (e.g., including loosely fitting outlines like custom tailored and wrinkle-free clothing) of the areas that were filled by the flat dummy fill operation of step 330.
An important aspect to pay attention to is that vertices of each generated outline are blind to small wrinkles in adjoining functional features (i.e., 352″). More specifically, vertices 352v and 352u of adjoining functional object 352″″ do not affect how the vertical outline front 337y develops. The outline front 337y develops from the sides and dimensions of the pre-fitted flat-fill objects (365a, 365b) and it (337y) is thus not dependent on the potentially arbitrary placement of wrinkle-defining vertices such as 352v and 352u in an adjoining functional object. The resulting outlines (see 338A and 338B of
Returning to step 334 for a bit longer, it is to be observed that symmetrical enlargement of all dummy-objects is not the only way to generate such conformably-fitting (and optionally, loosely fitting) and substantially wrinkle-free outlines surrounding the pre-situated flat fills (365a, 365b, etc.). After reading the present disclosure, those skilled in the art will see a number of alternate ways in which the basic concept described herein can be carried out for thereby automatically generating wrinkle-free outlines between wrinkle-infected, functional objects. The various modifications are to be considered as being within the scope of disclosure here. Without wishing to be bound to only these possible variations, the variations may include the following and alternate ways of generating wrinkle-free outlines: (A) extend the position of each side of a first dummy object toward a counterfacing side of a second dummy object only if that counterfacing side is spaced away by less than or the same amount of distance as the fill-rule specified distance for inter-dummy spacing; and after all such inter-dummy spacings are re-colored as solid areas, optionally further extend the sides of the resulting outline (i.e., in the x or y direction) by a prespecified second distance so as to allow for comfortable placement of dummy arrays (where the members of the array do not touch the border of the outline and are thus adequately spaced apart for functional objects that lie outside the border of the outline); or (B) after flat-filling, locate linear arrays of adjacent dummy objects by testing their corner points for curve fitted match to regular placement along a linear position function (e.g., along a hypothetical horizontal or vertical line with some small amount of predefined error allowed) and then convert the found set of adjacent dummy objects into an encompassing polygon that will be part of the generated outline.
Referring next to
At step 347, the generated tiles are each filled with a corresponding array of dummy-objects, where the array of dummy-objects is specified with compact code in accordance with data structure 285 for example. Since one or more array specifications (i.e., 285) are used instead of individually-specified dummy-objects (i.e., 275), the dummy-fill data can be substantially more compact than that of a comparable flat-fill (i.e., 217, 272). However, since a flat-fill approach is used to layout (or at least estimate) the locations of the array specifications, the arrays will fill up empty space in the functional layout (e.g., 350) with substantially the same space-filling efficiency as does a conventional flat-fill technique (200).
At step 348, the automatically generated array definitions are appended to the functional layout definition. The resulting filed data is stored in step 349.
The array-containing file(s) that are stored by step 349 may thereafter be used in the associated steps of
The present disclosure is to be taken as illustrative rather than as limiting the scope, nature, or spirit of the subject matter claimed below. Numerous modifications and variations will become apparent to those skilled in the art after studying the disclosure, including use of equivalent functional and/or structural substitutes for elements described herein, use of equivalent functional couplings for couplings described herein, and/or use of equivalent functional steps for steps described herein. Such insubstantial variations are to be considered within the scope of what is contemplated here. Moreover, if plural examples are given for specific means, or steps, and extrapolation between and/or beyond such given examples is obvious in view of the present disclosure, then the disclosure is to be deemed as effectively disclosing and thus covering at least such extrapolations.
By way of example of such modifications, variations and/or extrapolations, it is understood that the configuring of a computer or other instructable machine to carry out automated dummy-fill operations in accordance with the disclosure is also within the contemplation of the present disclosure. A computer-readable medium or another form of conveyance for a software product or machine-instructing means (including but not limited to, a hard disk, a compact disk, a flash memory stick, or a downloading of manufactured instructing signals over a network) may be used for instructing an instructable machine to carry out one or more of the novel steps described herein, including the step of generating the substantially wrinkle-free outlines. The internet or another form of network may be used for transmitting database files whose included array definitions were formed from the substantially wrinkle-free outlines.
After this disclosure is lawfully published, the owner of the present patent application has no objection to the reproduction by others of textual and graphic materials contained herein provided such reproduction is for the limited purpose of understanding the present disclosure of invention and of thereby promoting the useful arts and sciences. The owner does not however disclaim any other rights that may be lawfully associated with the disclosed materials, including but not limited to, copyrights in any computer program listings or art works or other works provided herein, and to trademark or trade dress rights that may be associated with coined terms or art works provided herein and to other otherwise-protectable subject matter included herein or otherwise derivable herefrom.
If any disclosures are incorporated herein by reference and such incorporated disclosures conflict in part or whole with the present disclosure, then to the extent of conflict, and/or broader disclosure, and/or broader definition of terms, the present disclosure controls. If such incorporated disclosures conflict in part or whole with one another, then to the extent of conflict, the later-dated disclosure controls.
Unless expressly stated otherwise herein, ordinary terms have their corresponding ordinary meanings within the respective contexts of their presentations, and ordinary terms of art have their corresponding regular meanings within the relevant technical arts and within the respective contexts of their presentations herein.
Given the above disclosure of general concepts and specific embodiments, the scope of protection sought is to be defined by the claims appended hereto. The issued claims are not to be taken as limiting Applicant's right to claim disclosed, but not yet literally claimed subject matter by way of one or more further applications including those filed pursuant to 35 U.S.C. §120 and/or 35 U.S.C. §251.