semi合集-English.pdf - 第2629页
SEMI E94-0705 © SEMI 2000, 2005 12 awaiting ma terial delivery, t he CJHOQ co mmand may be used to m ove a different j ob to the hea d of the queue position. The po tential dead lock is then broken by issuing the DE-SELE…

SEMI E94-0705 © SEMI 2000, 2005 11
Num Previous State Trigger New State Actions Comments
7 WAITING
FORSTART
User START command
received.
EXECUTING Same as for
transition 5.
Same as for transition 5.
8 EXECUTING Received “Pause” message
from host or operator through
operator console or a
ControlJob. PauseEvent has
occurred.
PAUSED Send a “Paused”
event to the host.
Process jobs which have not
started can be modified in
this state.
9 PAUSED Receive “Resume” message
from host or operator through
operator console.
EXECUTING Commence initiating
process jobs. Send a
“Resumed” event to
the host.
10 EXECUTING All the ProcessJobs specified
for the ControlJob have
completed.
COMPLETED Send a “Complete”
event to the host.
It may include post
processing completion.
11 ACTIVE Receive “CJStop” message
from host or operator through
operator console and all the
process jobs under the
ControlJob have been stopped
and material processing is
stopped.
COMPLETED Send a “Stopped”
event to the host.
12 ACTIVE Receive “CJAbort” command
from host or operator through
operator console and all the
process jobs under the
ControlJob have been aborted
and material processing is
aborted.
COMPLETED Send “Aborted”
message to the host.
13 COMPLETED The ControlJob is deleted. (No state) Equipment should perform
this function automatically
for COMPLETED jobs.
10 Control Job Queue Model
10.1 The Queuing mechanism for control jobs will generally operate under FIFO (First in- First Out) constraints.
The commands used to monitor queue status and prevent deadlock conditions are specified here.
10.2 Queue Integrity
10.2.1 To maintain queue integrity, only one operation shall be performed at any given time (e.g., the “Create”
request shall be rejected by the equipment if the CJHOQ service is being processed). The Queue is defined to be
“locked” while it is performing an operation (and refusing any further operation until completion of the current
operation).
10.3 Head of Queue Service
10.3.1 The Head of Queue service (CJHOQ) shall operate under the following rules:
1) All control jobs positioned between the specified control job and the head of the queue (including the job
currently positioned at the head) will be moved back one position. The specified control job will then be moved
into the head of queue position.
2) When the CJHOQ command is invoked, the queue will be “locked” to maintain integrity.
3) In the case where only one control job exists in the queue, the command will perform no action on the queue.
10.4 DeadLocks
10.4.1 The Head of Queue service (CJHOQ) requests a specific control job to be set as the next control job to be
run. In order to prevent deadlock when the job at Head of Queue and the job in the SELECTED state are both

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