semi合集-English.pdf - 第3587页
SEMI E139-0705 © SEMI 2005 11 PDE • C he c ks um • P DE bo dy C h e c ks um PD E h ea d e r <<D o c u m e n t a t i o n P a r t >> • Na m e • I d e n tifie r • G r o up I D • De s c r i p t i o n • Au t h o r…

SEMI E139-0705 © SEMI 2005 10
7.12.1.1.3 The second part of the PDE contains the settings and executable instructions. The format of the
PDEbody is not specified and is allowed to be private (that is, proprietary and opaque). Note that during job
execution, the equipment relies upon the content of the PDEbody, not the PDEheader.
PDE
• Checksum
PDEheader
<<Documentation Part>>
• Name
• Identifier
• Group ID
• Description
• Author
PDEbody
<<Executable Part>>
Content is not specified
and may be ke pt private
• Target Equipment
• Antecedents
• PDE References
• Input Parameters
• . . .
PDE
• Checksum
PDEheader
<<Documentation Part>>
• Name
• Identifier
• Group ID
• Description
• Author
PDEbody
<<Executable Part>>
Content is not specified
and may be ke pt private
• Target Equipment
• Antecedents
• PDE References
• Input Parameters
• . . .
Figure 3
PDE Contents
7.12.1.2 Assuring Identity
7.12.1.2.1 An important aspect of the PDEheader information is that it can provide assurance that this PDE is
exactly the one that the factory expects it to be. This is done primarily with two data values: uid and checksum.
The uid is a universally unique identifier that contains a uuid value as defined in the referenced ISO standard (see
¶4.2). Each time a PDE is modified, the uid of that PDE is required to be changed. Therefore, if the uid is matched,
the PDE is guaranteed to be the expected one.
7.12.1.2.2 There are checksum values provided for the PDE as an additional assurance that no changes to the PDE
have occurred. The checksum for a given item is calculated using the MD5 technique defined by the IETF (see
§10). This computed value could be compared with the previously calculated value stored within the PDE to ensure
that no changes have been made.
7.12.1.3 Separate PDEbody
7.12.1.3.1 When the PDEbody is contained within the PDE, it is of the same format
5
as the PDEheader and its
contents are typically comprehensible to the user. When the PDEbody is opaque to the user or of a format that is not
compatible with the header information, that PDEbody is stored separately from the PDE. This is illustrated in
Figure 4. In this case, the separate PDEbody has its checksum stored in the PDE.
5 The definition of the format of the PDEheader is an implementation issue and will be defined in a subordinate specification to this one.

SEMI E139-0705 © SEMI 2005 11
PDE
•Checksum
•PDEbody Checksum
PDEheader
<<Documentation Part>>
• Name
• Identifier
• Group ID
• Description
• Author
PDEbody
<<Executable Part>>
• uuid
• Target Equipment
• Antecedents
• PDE References
• Input Parameters
• …
PDE
•Checksum
•PDEbody Checksum
PDEheader
<<Documentation Part>>
• Name
• Identifier
• Group ID
• Description
• Author
PDEbody
<<Executable Part>>
• uuid
• Target Equipment
• Antecedents
• PDE References
• Input Parameters
• …
Figure 4
PDE With Separate PDEbody
7.12.1.3.2 Tracking of separate PDEbodies requires some care by the FICS, because the identity cannot be obtained
from the PDEbody itself. Thus, a method for maintaining the relationship of the PDE to its body must be employed
by the FICS.
7.12.1.3.3 The Equipment and PDEeditor can interpret the PDEbody contents, and so are able to resolve the
relationship without such careful tracking. The PDEbody must include key information, such as the uid, that
enables the equipment and the PDEeditor to make the association between PDEheader and PDEbody (see ¶8.5.4.5
).
7.12.1.4 Input Parameters
7.12.1.4.1 The PDEbody may also define input parameters that can be set at run-time. The PDEheader documents
these PDEparameters. Parameterization is discussed further in ¶7.12.3.
7.12.1.5 Reference To Other PDEs
7.12.1.5.1 The PDE may need to access other PDEs during execution (for example, a subroutine call). The
PDEheader documents these references. There are two ways to reference a PDE. The first is by a unique identifier
(uid). The uid is a reference to a specific PDE. The second way to reference is by a group identifier (gid). PDEs in
a group can be substituted for one another and so must share the same set of input parameters. This type of
reference is resolved to a specific member of the group before execution. See ¶7.12.2.5 for more on how references
are resolved.
7.12.1.6 Transition To RaP
7.12.1.6.1 The approach for defining the PDE provides a good transition path from traditional proprietary recipes.
Old style recipes can become the PDEbody when RaP is applied. Since the “PDEbody
” can be a separate entity (in
the case of proprietary content), there should be many cases where little or no modification of the original recipes
will be needed. The PDE construct, including the PDEheader, acts as a wrapper.
7.12.1.6.2 There are two areas where RaP requirements may result in changes to an existing recipe structure. The
first area is the requirement that an EquipmentNode be able to match a PDEheader with its external PDEbody. This
would be done best by inserting the uid value into the PDEbody. However, there is a “bodyChecksum” value in the
PDEheader that can be used without changing the PDEbody. This would require recalculating the checksum of the
PDEbody, however. The second area is the requirement that the user be allowed to specify which PDEparameters
exist. The PDEbody must contain information about the user-specified PDEparameters. However, in the case of an
existing recipe with no user-specified PDEparameters, no change is necessary until the user edits the PDE to add
such parameters. For example, the implementer may choose to support the old recipe format for existing recipes,
but convert all new recipes to a new format that includes PDEparameter support.

SEMI E139-0705 © SEMI 2005 12
7.12.2 Recipe Structure
7.12.2.1 When a recipe has multiple components, RaP documents the relationships among these components (see
¶7.12.1.5). This results in a hierarchical recipe structure as illustrated in Figure 5.
7.12.2.2 The recipe hierarchy must have a single PDE at the apex. This PDE is called the “Master PDE”. It is this
PDE that will be referenced when a job is specified. So, for example, in SEMI E40/Processing Management, the
RecID (or RCPSPEC) will contain the uid of the Master PDE. See Related Information §R2-2 for more discussion
of RaP support for SEMI E40 and SEMI E30. As an alternative, a gid may be supplied and later resolved to a uid.
MasterPDE
Referenced
PDE’s
PDE
PDE PDE
PDE PDE PDE
PDE PDE
ProcessJob
{
PDE’s referenced
by
either
UID or GID
RCPSPEC/PPID = UID or GID
VariableParameters
o GIDUID Map
o PDEparam1
o PDEparam2
o etc…
MasterPDE
Referenced
PDE’s
PDE
PDE PDE
PDE PDE PDE
PDE PDE
ProcessJob
PDE
PDE PDE
PDE PDE PDE
PDE PDE
ProcessJob
{
PDE’s referenced
by
either
UID or GID
RCPSPEC/PPID = UID or GID
VariableParameters
o GIDUID Map
o PDEparam1
o PDEparam2
o etc…
Figure 5
Recipe Structure Illustration
7.12.2.3 The recipe structure implies that the Master PDE is the first PDE to be executed. Beyond the Master PDE,
the recipe structure does not document the order of execution of PDEs or the flow path of wafers through
equipment. It is recommended that the equipment supplier provide a PDE that contains this flow information in an
open format (human readable) PDEbody.
7.12.2.3.1 Here are a few other items of note:
The Master PDE is a designation, not a type of PDE. A Master PDE must be marked as “executable” (see
Table 5).
There is no restriction on multiple references to the same PDE.
The number of levels in the recipe hierarchy is not limited. However, it is to be expected that two to three
levels would be sufficient in most cases. In the case where the Master PDE contains the entire recipe, only one
level is needed.
A PDE may appear in the hierarchy of multiple recipes. Such reuse of recipe components is expected and
encouraged.
7.12.2.4 Recipe Maintenance Considerations
7.12.2.4.1 Group IDs (gids) exist to make it easier to maintain multi-part recipes. It is possible to create recipes
where all PDE references are done with uids. However, this can lead to problems when a change is made to one of
the components.
7.12.2.4.2 Remember that when any change is made to a PDE, it must become a new PDE with a new uid. In order
to begin using this “new version” of the old PDE, some (or all) PDEs that referenced the original PDE must now
reference the new one. When the referencing PDEs are changed to refer to the new version, each of them becomes a
new PDE. And these have the same problem with any PDEs that reference them. The problem cascades to every
level above the first PDE.