semi合集-English.pdf - 第2630页
SEMI E94-0705 © SEMI 2000, 2005 13 attributes that indicate the level to wh ich a carrier has been verified. T his section is reserved for further specification of this requ irement. 11.3 Carrier C o mpleti on for Contro…

SEMI E94-0705 © SEMI 2000, 2005 12
awaiting material delivery, the CJHOQ command may be used to move a different job to the head of the queue
position. The potential dead lock is then broken by issuing the DE-SELECT service request.
10.5 Utilization of Queue for Control Job Priority Management
10.5.1 Similar to Deadlock, certain cases may arise where a job at the head of the queue cannot be selected due to a
lack of processing resources. In this case, DE-SELECT command shall be rejected and consequently a series of DE-
SELECT and CJHOQ commands may be issued in an attempt to find a job which can transition to SELECTED
state.
10.5.2 To force a “hot job” to be the next job run, it could be necessary to send the CJStop message to the
SELECTED job. This case only happens when the job at the head of the queue (the hot job) does not yet have
resources available.
NOTE 2: Most equipment where this is possible can support parallel execution of Control Jobs. Management of the queue(s) in
this case is currently beyond the scope of this standard.
10.6 Space in the Queue
10.6.1 The QueueAvailableSpace variable data item is used to query the number of control job openings within the
queue. The QueueAvailableSpace shall function according to the following rules:
1) This variable can only be guaranteed valid when no other operations are being performed simultan-eously on
the queue. For example, don’t request this variable while a Create control job command is being processed by
the equipment.
2) This variable shall be incremented whenever a control job in the queue is de-queued. That is, when a “Cancel”,
“Abort”, or “Stop” command has been received and completed while the control job is queued. It should also
be incremented when the SELECTED state is entered by a control job. However, if this transition occurs as a
result of the “Deselect” command (at least one job in queue, and a control job in the SELECTED state), no
change should be made to the variable value.
3) This variable should be decremented whenever a control job joins the queue. That is, when a “Cre-ate”
command is received and accepted. It should also be decremented if a “Deselect” command is issued on a
control job in the SELECTED state and no other jobs currently reside in the queue.
4) The equipment should reject the “Create” command when this variable is equal to zero.
10.7 Getting a List of Queued Jobs
10.7.1 The QueuedCJobs Variable Data Item is used to query the names of the control jobs currently residing in the
queue. It lists items starting at the head of the queue.
10.7.2 The QueuedCJobs Variable Data Item shall function according to the following rules:
1) This variable can only be guaranteed valid when no other operations are being performed simultan-eously on
the queue.
2) This variable list will be modified whenever a suc-cessful “Create” command is received. Addition-ally,
“Cancel”, “Abort”, and “Stop” commands issued on control jobs residing in the queue will modify this variable
list. Any use of the “Deselect” command will also modify the variable list.
11 Properties for Carriers
11.1 Compliance to Control Job Management requires that the equipment track the status of individual carriers. In
particular, the factory needs to know the status of carriers with respect to control jobs. Carriers may have various
properties that are beyond the scope of this standard. However, there are specific properties that are needed for
Control Jobs.
11.2 Carrier Verification
11.2.1 The equipment needs to know when a carrier has been verified as proper. Only process jobs associated with
the carrier that has been verified shall be initiated by a control job. Depending on the equipment’s capabilities,
verification may include verification by an equipment read of the carrier’s ID (identification) and the reading of the
substrate (e.g., wafer) slot map. The ControlJob determines if the carrier is verified by checking the carrier’s

SEMI E94-0705 © SEMI 2000, 2005 13
attributes that indicate the level to which a carrier has been verified. This section is reserved for further
specification of this requirement.
11.3 Carrier Completion for Control Jobs
11.3.1 A carrier that has been loaded onto the equipment may go through three stages: first, it is in the “not
accessed” stage until it is accessed by a control job. When the carrier is at the substrate port and unloading of the
substrates within the carrier begins, the carrier enters the “in access” stage. Once it enters this stage, it remains in
this stage until all material has been returned to the carrier, no active control job exists that is using it and no control
jobs in the queue exist that reference it. The equipment shall provide a property of the carrier that shows the current
stage of all carriers. The equipment shall provide a “CarrierComplete” or “CarrierStopped” event for each change in
stage. The event when the carrier enters the “in access” stage informs the host that the carrier may not be removed
from the equipment. The event when the carrier enters the “completed” stage informs the host that the carrier may
be removed.
12 Requirements - Service Definitions
12.1 Service Definitions
Table 4 Service Definitions Table
Message Service Name Type Description
CJStart R To start a ControlJob.
CJPause R To request a ControlJob to pause.
CJResume R To request a PAUSED ControlJob to go to the EXECUTING state.
CJCancel R To request a ControlJob to be removed from the queue.
CJDeselect R To request a ControlJob to be deselected; it will no longer be the next job to run.
CJStop R To request a ControlJob to stop. Used to discontinue a job without risk to the material.
CJAbort R To request a ControlJob to abort. Used to discontinue a job on equipment that may be
malfunctioning. Material is at risk when this command is issued.
CJHOQ R To request a particular ControlJob to be set as the next control job to be SELECT’ed.
12.2 Parameter Definitions
Table 5 Parameter Definitions Table
Parameter Name Description Format: Possible Value
ACKcode To return indication of result of service call. Enumeration:
SUCCESS, FAILURE
Action See ¶12.2.1 Enumeration:
SAVEJOBS
REMOVEJOBS
CtrlJobID ObjID (object identifier) of a control job. Text

SEMI E94-0705 © SEMI 2000, 2005 14
Parameter Name Description Format: Possible Value
ErrorCode Contains the code for the specific error found. Enumerated (ACKcode must equal
FAILURE):
All services:
Unknown object instance
Parameters improperly specified
Insufficient parameters specified
CJStart:
Command not valid for current state
CJPause:
Command not valid for current state
CJResume:
Command not valid for current state
CJCancel:
Job cancelled
Command not valid for current state
CJDeselect:
Command not valid for current state
Busy (when queue empty or resources
for HOQ job would not be available)
CJStop:
Job stopped
CJAbort:
Job aborted
CJHOQ:
Command not valid for current state
ErrorInfo The parameter may be null or excluded on a SUCCESS. (List of)
ErrorCode
ErrorText
ErrorText Description of the error. Text
Status Information returned by service provider which indicates
the result of the service call.
Structure:
ACKcode
ErrorInfo
12.2.1 Action Parameter — The Control Job services CJCancel, CJStop, and CJAbort can all cause Process Jobs to
be terminated, as specified in SEMI E40. In these Control Job services, the parameter “Action” specifies the
disposition of the Process Job objects for the terminated Process Jobs. “Action” specifies one of the following
enumerated values: SAVEJOBS and REMOVEJOBS. This Action parameter only affects Process Jobs that are in
the QUEUED/POOLED state.
12.3 Message Details
12.3.1 This section specifies parameter usage by the service messages.
12.3.2 Creating ControlJobs — ControlJobs shall be created by using the OSS (SEMI E39) Object Create message.
The following table defines the use of the AttrSetting arguments to the Object Create service. Note: ObjType is a
required argument of Object Create and therefore should not be reset by including it as an AttrSetting argument. In
the table M indicates mandatory, O indicates optional, and R specifies restricted (shall be ignored if used).
12.3.3 The process jobs specified for a control job must exist prior to calling this message. If a process job does not
exist, the Create service shall fail and the ObjStatus shall return a list of any PRJob identifiers that were not present.
The Create request shall be rejected if the ControlJob queue is full. Newly created control jobs will be put at the end
of the queue.